Pregunta

Estoy utilizando un tutorial barebones como base para un sistema operativo en el que estoy trabajando, y parece ser un tutorial más antiguo: ha estado compilando el kernel en una imagen de disquete y luego cargándolo con GRUB.

Básicamente, todavía quiero usar GRUB, pero me gustaría que mi sistema operativo se ejecute desde un CD. La razón principal es que en realidad no tengo una unidad de disquete real disponible (actualmente estoy probando en VirtualBox) y, por lo tanto, no tengo forma de probar mi sistema operativo en hardware real.

He estado hurgando en la red, y puedo encontrar muchas utilidades que crean un CD de arranque desde una imagen de disquete, pero todas parecen necesitar una unidad de disquete real, además no es realmente lo que estoy buscando para. Me gustaría poder terminar con un CD de arranque idealmente, sin necesidad de colocar primero la imagen en un disquete, lo que parece bastante inútil.

Supongo que es la manera fácil de responder esto: ¿Cómo configuro GRUB para leer la imagen de mi núcleo desde un CD? ¿Necesitaré una utilidad especial para hacer esto desde Windows? (El kernel no puede compilarse todavía, no es para un largo tiempo)

¡Gracias!

¿Fue útil?

Solución

Encontré la solución para mi proyecto por mi cuenta, con algunos consejos de la gente de OSdev. Hay una utilidad llamada mkisofs (que puede ejecutarse en Windows utilizando un dll cygwin) que toma un directorio y lo convierte en una imagen ISO que puede grabarse en un CD. Usando el indicador -b, puede especificar qué archivo debe residir en el sector de inicio del disco.

La solución es simplemente tener GRUB en el sector de arranque y usar GRUB para cargar la imagen del núcleo, que puedo compilar fácilmente en forma que no sea disquete.

Otros consejos

AFAIK un CD de arranque es casi lo mismo que un disquete de arranque. Debe colocar el cargador de arranque (GRUB) en el sector de arranque, etc., el BIOS se encargará de las cosas de bajo nivel hasta que cambie al modo protegido.

Probablemente tendrás que hacer tu imagen y luego ddla al disco físico real.

Aquí está la especificación del CD de arranque de El Torito: http: //www.phoenix. com / NR / rdonlyres / 98D3219C-9CC9-4DF5-B496-A286D893E36A / 0 / specscdrom.pdf

EDIT : una forma alternativa de probar su kernel sería una memoria USB de arranque. Una vez más, la BIOS se encargará de los dispositivos USB de bajo nivel hasta que enciendas A20 y saltes al modo protegido.

Si está interesado en mirar el código, entonces Moblin Image Creator es probablemente una buena aplicación para revisar. Está escrito en python y puede crear diferentes tipos de imágenes de arranque (CD, USB y NAND) para las configuraciones en vivo e instalables de Moblin Linux.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top