Program w c++ Bootowalny

0

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.

0

Stwórz własny system.

0

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

0

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??

0

Najprościej zrobić własną dystrybucje Linuksa i wsadzić tam swój program.

0

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.

0
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.

0

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).

0

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

0

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.

0

A jak zrobić tą bootowalną płytę z dosem i podpiąć tam mój program pod dos-a?

0

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
0

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?

1 użytkowników online, w tym zalogowanych: 0, gości: 1