Domanda

Sto usando un tutorial barebone come base per un sistema operativo su cui sto lavorando, e sembra essere un tutorial più vecchio: ha compilato il kernel in un'immagine floppy, quindi lo sta caricando con GRUB.

Fondamentalmente, voglio ancora usare GRUB, ma mi piacerebbe invece far funzionare il mio sistema operativo da un CD. Il motivo principale è che in realtà non ho una vera unità floppy disponibile (attualmente sto testando su VirtualBox) e quindi non ho modo di testare il mio sistema operativo su hardware reale.

Ho cercato in rete, e posso trovare molte utility che creano un CD avviabile da un'immagine floppy, ma tutte queste sembrano richiedere un vero floppy drive, inoltre non è proprio quello che sto cercando per. Mi piacerebbe poter finire con un CD avviabile durante il mio passaggio di creazione idealmente, senza dover prima posizionare l'immagine su un floppy, che sembra piuttosto inutile.

Immagino che il modo più semplice per rispondere a questa domanda: come posso configurare GRUB per leggere l'immagine del mio kernel da un CD? Avrò bisogno di un'utilità speciale per farlo da Windows? (Il kernel non è ancora in grado di compilare se stesso, non è da un pò di tempo)

Grazie!

È stato utile?

Soluzione

Ho trovato la soluzione per il mio progetto da solo, con alcuni consigli della gente di OSdev. Esiste un'utilità chiamata mkisofs (che può essere eseguita su Windows usando una cygwin dll) che accetta una directory e la trasforma in un'immagine ISO che può essere masterizzata su un CD. Usando il flag -b, puoi specificare quale file deve risiedere nel settore di avvio del disco.

La soluzione è solo avere GRUB nel bootsector e usare GRUB per caricare l'immagine del kernel, che posso compilare facilmente in forma non floppy.

Altri suggerimenti

AFAIK un CD avviabile è praticamente lo stesso di un floppy avviabile. È necessario inserire il boot loader (GRUB) nel settore di avvio, ecc., Il BIOS si occuperà delle cose di basso livello fino a quando non si passa alla modalità protetta.

Probabilmente dovrai creare la tua immagine e poi dd sul disco fisico effettivo.

Ecco le specifiche del CD di avvio El Torito: http: //www.phoenix. com / NR / RdOnlyRes / 98D3219C-9CC9-4DF5-B496-A286D893E36A / 0 / specscdrom.pdf

MODIFICA : un modo alternativo per testare il kernel sarebbe una chiavetta USB avviabile. Ancora una volta, il BIOS si occuperà delle cose USB di basso livello fino a quando non accendi A20 e passi alla modalità protetta.

Se sei interessato a guardare il codice, allora Moblin Image Creator è probabilmente una buona applicazione da verificare. È scritto in Python e può creare diversi tipi di immagini di avvio (CD, USB e NAND) per configurazioni sia Live che installabili di Moblin Linux.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top