Witam. Zrobiłem taki prosty programik (kalkulator) w c++. Chciałbym zrobić żeby boot ował się z płyty CD. dało by się jakoś??Co muszę zrobić aby boot ował z CD? W jak najprostrzy sposób. chciałbym jakoś testować bootowanie z pendirva żeby płyt dużo nie zmarnować podczas nieudanych prób.
Stwórz własny system.
Jak chcesz po prostu autorun to poczytaj o plikach ini, a jak to ma byc bootloader to jest zasada, ze ladujesz go pod 0x7C00, ma 512 bajtow i konczy sie sygnatura 0xAA55.
W C nie probowalem jeszcze napisac bootloader'a ale moze gdybys kompilowal kod bez standardowych bibliotek i skorzystal ze wstawek, a potem odpowiednio uzyl linkera to moze daloby rade.
Do ggc pomocne bylyby wtedy flagi:
nostdlib, nodefaultlibs, fno-stack-protector, mpreferred-stack-boundary=2, c
PS. Smierdzi mi troche power-team, w koncu mieli miec cos takiego :D
to ma być tak że wkładam płytę resetuje i program się uruchamia jak instalator windiows np.
Macie może jakieś poradniki jak to zrobić? w ogóle nie wiem co ugryźć aby to działało. Jak to mozna najprościej??
Najprościej zrobić własną dystrybucje Linuksa i wsadzić tam swój program.
Po co ma bootować ?
Sam program nie może bootować, musi mieć jakieś podwaliny(system).
Na płytkę nagraj sobie jakiś system live cd. Tylko musisz poszukać czy można przed instalacją w ingerować w system, żeby jakoś uruchamiać ten program podczas startu systemu.
tobix10 napisał(a)
Sam program nie może bootować, musi mieć jakieś podwaliny(system).
@up: Zalezy jaki, a podwalinami wytarczy, zeby byl bios.
@autor_tematu: od razu to nic nie zrobisz, zeby program wykorzystujacy jakies dodatkowe biblioteki sie uruchomil tak jak ty akurat chcesz, ale mozesz dluzej nad tym posiedziec i to ogarnac.
Proponuje zaczac od asemblera.
Pomysl, aby wykorzystac livecd dla mnie jest bez sensu skoro rownie dobrze moglby odpalic windows'a i wlaczyc program.
Pomysl, aby wykorzystac livecd dla mnie jest bez sensu skoro rownie dobrze moglby odpalic windows'a i wlaczyc program.
Ale nie na każdym komputerze może być windows, jak i w drugą stronę(nie każdy ma linuksa).
Zamiast nic nie wnoszących porad, proponuję zajrzeć na te dwie strony, w których opisane jest krok po kroku jak stworzyć własnego bootloadera:
http://www.viralpatel.net/taj/tutorial/hello_world_bootloader.php
oraz
http://www.viralpatel.net/taj/tutorial/booting.php
Skoro pytasz o najprostszy sposób, to Linux najprostszym nie będzie.
Łatwiej będzie napisać program pod DOS-a i przygotować bootowalną płytę z DOS-em.
A jak zrobić tą bootowalną płytę z dosem i podpiąć tam mój program pod dos-a?
Sciagasz dos'a z neta i wypalasz na plyte dodajac swoj program, jest taka fajna chinska wersja 7.1 mam gdzies na plycie, na pewno google Ci pomoze znalezc.
W sumie to napisze ci jeszcze szkielet bootloader'a, od ktorego moglbys zaczac piszac samemu podstawy pod ten swoj program:
[ORG 0x7C00]
cli
xor ax, ax
mov cs, ax
mov ds, ax
mov ss, ax
mov sp, 0x1000
sti
; a20, pm, call main i jazda :D
times 510-($-$$) db 0
dw 0xAA55
Ale jak podpiąć mój program? Ściagnąć tego dosa i normalnie mój program i dosa nagrać na płytę? jak to będzie działało? jaki może być dobry dos?
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.