Escrevendo um bootloader

14 views
Skip to first unread message

Fabricio Akio

unread,
Sep 4, 2008, 2:16:36 PM9/4/08
to Grupo de estudos de SO - CEFET-PI
Tutorial de como escrever um bootloader para um disquete:
http://joelgompert.com/OS/TableOfContents.htm

Eu ainda vou tentar fazer a parte de carregar um arquivo do sistema de arquivos e executa-lo

Documento sobre o FAT12, é um dos primeiros resultados da busca do google..
http://www.it.lth.se/ssoa/Project1/FAT12Description.pdf

É bom ter conhecimento sobre assembly, BIOS (processo de boot, interrupcoes), memoria (enderecamento, segmentacao, paginacao, MMIO)

Boa sorte!

Lucas Simão da Costa e Silva

unread,
Sep 4, 2008, 3:36:26 PM9/4/08
to grupo-de-estudos...@googlegroups.com
vlw pelo link, agora vou à prática

2008/9/4, Fabricio Akio <fabric...@gmail.com>:



--
Bacharelando em Ciências da Computação - UFPI
Estudante de Análise e Desenvolvimento de Sistemas - CEFET-PI

-- http://blog4d.blogspot.com/ --
-- http://lsimao.blogspot.com --

Fabricio Akio

unread,
Sep 4, 2008, 3:45:50 PM9/4/08
to grupo-de-estudos...@googlegroups.com
eu vou ter q reciclar um pouco meu assembly..

qualquer progresso eu posto por aqui, vcs tb..


2008/9/4 Lucas Simão da Costa e Silva <lsima...@gmail.com>

Fabricio Akio

unread,
Sep 5, 2008, 4:12:02 PM9/5/08
to grupo-de-estudos...@googlegroups.com
so para complementar, aqui vai um scriptzinho q eu uso para criar o bootloader e executa-lo:

nasm bootloader.asm -o bootloader.bin # monta o bootloader com o nasm gerando o bootloader.bin com 512 bytes
dd if=/dev/zero of=floppy.img bs=512 count=2880 # cria um arquivo em branco (todos os bits zerados) para servir como imagem do diquete
mkdosfs floppy.img # formata a imagem e cria o sistema de arquivos
bootsector bootloader.bin floppy.img # chama um programa pra escrever o bootloder nos primeiros 512 bytes da imagem
bochs -qf bochsrc # chama o bochs passando seu arquivo de configuracao como parametro

eu estou utilizando o nasm como assembler e o bochs como emulador
o programa pra gravar eu escrevi em C, é um programa simplesinho q so le o bootloader e o grava no inicio da imagem
tem q configurar o bochs para apontar para a imagem gerada

pro sistema de arquivos continuar "funcionando", nao pode sobrescrever ele, q é aquela parte do inicio com os dados, ele vai ser necessario pra carregar os arquivos armazenados, como o kernel, a nao ser q vc escreva seu proprio sistema arquivos ou algo do tipo. Mas pra fazer apenas um hello world vc pode tratar o bootsector todo como seu e fazer oq bem entender com ele..


2008/9/4 Fabricio Akio <fabric...@gmail.com>
Reply all
Reply to author
Forward
0 new messages