GRUB 2-ből bootolva hogy kell vissza váltani Protected mode-ból Unreal vagy Real mode-ba?
Nos. Hobbiból évek óta programozok, és szeretem a hardver közeli programozást. OSDev wiki-ről nézem a dolgokat, hogy mi hogy megy. Na tehát adott a helyzet. Bootolok, és oda jutottam, hogy szeretnék ékezetes betűket kiíratni. Ehhez át kell váltanom a VGA-t valamilyen grafikus üzemmódba. Az általam választott üzemmód a 0x12-es (600*480*16) lenne, amit ugye BIOS hívással 0x10-es megszakítással simán elérhető lenne, mert onnantól már csak a memóriába kellene írogatni. Ehhez le kellene váltanom védett módból legalább Unreal módba.
Próbáltam outx asm parancsokkal programozni a vga-t, de nem igazán tudtam. Lehet valamit rosszul állítottam be, de na. Nem ment.
Próbáltam leváltani, de szép kis reset-eket kaptam csak. Úgy áll hogy nekem kellene megírni a bootloader-t is, mert nem tudok módot arra, hogy a GRUB Real üzemmódba rakjon be. Csak valahogy meg kellene oldani hogy GRUB-ból tudjak bootolni.
Na de valakinek valami ötlete van esetleg?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
"Ehhez le kellene váltanom védett módból legalább Unreal módba."
Ilyen (unreal) mód nem létezik (!).
Real (valós) mód van és protected (védett).
A valós mód csak a backward kompatibilitás fenntartása végett él még, amúgy már nem használja senki. Oprendszereket nincs olyan hülye, aki valós módban kivánna fejleszteni.
A legjobb amit tehetsz (legalábbis te), hogy az osdev.org-ról lehorgászol egy bootloadert, és abból kivágod a védett módba kapcsolást (a grub-ot meg elfelejted). Így bebootolsz valós módban (minden PC eleve így indul) és elérhető lesz a BIOS.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
"szeretem a hardver közeli programozást"
Akkor mindenképp nézz utána a driver-eknek, és azon keresztül próbáld elérni a kívánt eszközt. Ha nagyon mélyen bele akarod ásni magad, akkor később írhatsz saját driver-t is.
A bitvadász korszaknak már rég vége, a régi DOS alatt még meg lehetett csinálni, ma már nem, vagy csak kerülő úton, ld. pl. amit fentebb írtam.
Másik lehetőség, hogy felteszel egy DOS 6.22-es op.rendszert. Elvileg virtuális gépen is működnie kellene.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
"A bitvadász korszaknak már rég vége, "
Jaj ne..
#2 Igaz. Az unreal az nem tényleges mód, de a dos-nál volt olyan, gondoltam dos nélkül is működik a dolog. Amúgy meg a hosszú és a v8086-os módot. És írtam már boot bináris fájlt.
#3 virtual box-ban dos alatt már játszadoztam. Az assembly-t azzal tanúltam meg.
A végén az lett hogy a grub-ból memdisk segítségével elindítottam a boot bináris fájlomat.
Mindenkinek köszönöm.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!