
Fiquei interessado em aprender como criar um sistema operacional do zero e encontrei este guia:http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf.
Na página 4 é explicado como criar um setor de boot simples, e na página 6 como emular uma CPU inicializando a partir dele, usando Bochs. Eu tentei isso e tudo funcionou bem.
Agora quero tentar o mesmo em um PC real ou em um software de máquina virtual, como o VirtualBox. Pensei que poderia criar um CD inicializável com meu setor de inicialização, mas até agora não consegui. Tentei criar uma imagem ISO de um CD contendo meu setor de inicialização, mas, como esperado, recebo um erro ao fazer isso (o VirtualBox mostra o erro "FATAL: Nenhuma mídia inicializável encontrada! Sistema interrompido.").
O que devo fazer para criar corretamente um CD inicializável com meu setor de inicialização? Agradeço antecipadamente.
Responder1
Dê uma olhada:http://wiki.osdev.org/El-Torito
Writing an El-Torito Boot Sector
At the start of your El-Torito boot sector, you simply need to set segment registers to known values (as usual) and use the BIOS to load files from the CD as per ISO 9660. As with a normal floppy or hard disk, DL contains the BIOS drive number.
Using Mkisofs, you can write your boot sector to a CD image (.iso) as follows:
mkisofs -R -b path/to/loader.sys -no-emul-boot -boot-load-size 4 -o [IsoFile.iso] [IsoDirectory]
Simples, use seus próprios Loader.sys e Mkisofs (http://wiki.osdev.org/Mkisofs).