Instale o grub no disco rígido usado em outro sistema

3

Por isso, tenho um chip flash de 512 MB usado em um sistema embarcado com a seguinte tabela de partições:

p1: 32MB boot partition
p2: 200MB recovery partition
p3: 200MB normal partition

Estou usando buildroot na minha caixa do Ubuntu (desenvolvimento) para compilar a imagem de 200MB ext2 para a parição "normal". Neste ponto do meu dev caixa eu coloco a imagem criada a partir do buildroot para o chip flash (plugado com um ide para conector usb em / dev / sdd):

dd if=./output/images/rootfs.ext2 of=/dev/sdd3

OK, tudo bem isso funciona e eu posso montar / dev / sdd3 e ver todo o sistema de arquivos que o dispositivo embutido irá usar.

Agora, quero instalar o grub neste chip flash e estou perdido em como fazer isso. Eu tentei:

grub-install /dev/sdd

Mas quando eu conecto o chip flash no meu dispositivo embarcado e o ligo, o grub não carrega (apenas fica em uma tela preta com o cursor piscando - sem erros).

    
por Ryan 08.03.2011 / 22:46

2 respostas

3

Com muita pesquisa e muito palpite e checagem, encontrei a solução para o meu problema:

Primeira criação de imagem do rootfs dd cria:

sudo dd if=./output/images/rootfs.ext2 of=/dev/sdd3

Em seguida, copie / boot de sdd3 para sdd1, crie um arquivo menu.lst e copie sobre o bzImage.

Por fim, execute o grub:

sudo grub --device-map=/dev/null
> device (hd0) /dev/sdd
> root (hd0,0)
> setup (hd0)
> quit

Conecte a unidade ao sistema e tudo é carregado.

    
por 11.03.2011 / 19:33
1

Você precisa informar ao Grub que o seu disco será o disco rígido primário no novo sistema e informá-lo onde encontrar a parte do gerenciador de inicialização que não se encaixa no setor de inicialização. O Grub chama a correspondência entre as designações de disco de tempo de inicialização e as designações de disco no sistema operacional em execução como o mapa de dispositivos.

Acho que você terá um gerenciador de inicialização em funcionamento se editar /media/sdd3/boot/grub/device.map para conter

(hd0) /dev/sdd

execute grub-install --root-directory=/media/sdd3/boot/grub/device.map .

    
por 08.03.2011 / 23:04

Tags