Pergunta

Eu estou usando um tutorial barebones como base para um sistema operacional que estou trabalhando, e parece ser um tutorial mais velhos: tem ser compilar o kernel até uma imagem de disquete e, em seguida, carregá-lo com o GRUB.

Basicamente, eu ainda quiser usar o GRUB, mas eu gostaria de ter minha corrida OS a partir de um CD em vez disso. A principal razão é que eu realmente não têm uma unidade real de disquete disponível (estou testando no VirtualBox atualmente) e eu, portanto, não têm nenhuma maneira de testar o meu sistema operacional em hardware real.

Eu fui fuçar na net, e eu posso encontrar muitas utilidades que criam um CD inicializável a partir de uma imagem de disquete, mas todos estes parecem exigir uma unidade de disquete real, além de que não é realmente o que eu estou procurando para. Eu gostaria de ser capaz de acabar com um CD de boot durante a minha make passo idealmente, sem a necessidade de primeiro lugar a imagem em um disquete, que parece sem sentido.

Eu acho que a maneira mais fácil de responder a esta: Como faço para configurar o GRUB para ler a minha imagem do kernel a partir de um CD? Vou precisar de um utilitário especial para fazer isso a partir do Windows? (O kernel não pode compilar-se, no entanto, isso não é por um tempo looong)

Obrigado!

Foi útil?

Solução

Eu encontrei a solução para o meu projeto em meu próprio, com alguns conselhos dos povos em cima da OSdev. Existe um utilitário chamado mkisofs (que pode ser executado em Windows usando uma dll cygwin) que leva um diretório, e faz com que esse diretório em uma imagem ISO que pode ser gravado em um CD. Usando o parâmetro -b, você pode especificar qual arquivo deve residir no setor de inicialização do disco.

A solução é apenas para ter o GRUB no setor de inicialização e uso GRUB para carregar a imagem do kernel, que pode compilar em forma não-floppy facilmente.

Outras dicas

AFAIK um CD é praticamente o mesmo que um disquete de boot. Você precisa colocar o carregador de boot (GRUB) para o setor de inicialização etc., o BIOS vai cuidar das coisas de baixo nível até que você alternar para o modo protegido.

Você provavelmente terá que fazer a sua imagem e, em seguida, dd-lo para o disco físico real.

Aqui está a especificação El Torito Bootable CD: http: //www.phoenix. com / NR / rdonlyres / 98D3219C-9CC9-4DF5-B496-A286D893E36A / 0 / specscdrom.pdf

Editar : Uma forma alternativa para testar o seu kernel seria um stick USB inicializável. Mais uma vez, o BIOS vai cuidar das coisas de baixo nível USB até que você ligue A20 e saltar para o modo protegido.

Se você está interessado em olhar para o código, então o Moblin Image Creator é provavelmente uma boa aplicação para check-out. Ele é escrito em python e pode criar diferentes tipos de imagens de arranque (CD, USB e NAND) para ambas as configurações ao vivo e instaláveis ??de Moblin Linux.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top