problema EC2 usando o PV-Grub e kernel personalizado: erro 21 disco selecionado não existe

3

No EC2, estou tentando configurar o AMI para o PLD-Linux, que usa os novos recursos que permitem a execução de kernels personalizados de dentro do AMI usando o PV-Grub. Eu configurei o AMI personalizado muitas vezes antes, mas não consigo fazer o kernel funcionar.

Basicamente eu tenho um disco de ebs com um arquivo de menu grub e um kernel xenU personalizado nele. Registrar isso e iniciá-lo como uma instância inicia o pv-grub a partir do host xen e o pv-grub localiza meu arquivo de menu e tenta inicializar a configuração encontrada lá. No entanto, não importa como eu configure os itens do menu grub ou as partições do disco, o grub sempre gera o erro "Erro 21: Disco selecionado não existe".

Eu tentei muitas permutações dos seguintes itens:

  • Volume bruto como disco com sistema de arquivos
  • 1 partição em volume com sistema de arquivos
  • hd0 e hdi AKI (hd0 encontra o arquivo de menu para a versão do disco bruto, hd00 para a versão de uma partição)
  • usando nenhum comando root no menu grub
  • usando raiz (hd0)
  • usando raiz (hd0,0)
  • usando vários rootnoverify () 's

Estou usando o ext3 em todos os casos. Não tenho arquivos de mapa de sistema / dispositivo para atrapalhar. Qualquer combinação incorreta de layout de partição e AKI hd0 / hd00 leva a um erro diferente, mas se eu usar o caminho certo e ele encontrar o arquivo de menu, ele invariavelmente gera o erro acima.

O que estou perdendo?

( Cross postado do Fórum do EC2 porque não há resposta lá, eu vou tome cuidado para garantir que a solução também seja publicada de forma cruzada)

    
por Caleb 02.10.2010 / 14:57

1 resposta

4

Isso é embaraçoso, mas depois de dois dias batendo minha cabeça nisso, eu acho que resolvi isso sozinho.

Meu arquivo de menu do grub tinha comandos como root(hd0,0) em vez de root (hd0,0) . O espaço é essencial , e todas as minhas tentativas deixaram de fora! Descobri isso descobrindo que deixar a linha raiz fora e especificando o caminho completo como kernel (hd0,0)/boot/vmlinuz.... funcionou. A falta de espaço não causou nenhum tipo de erro de análise, mas parece ter sido ignorado. Como resultado, realmente não importava quais valores eu dava, era apenas usar os padrões de qualquer maneira, daí o mesmo resultado com a linha deixada de lado.

Eu ainda não tenho um sistema de inicialização, mas passei do problema com o grub agora e sobre os problemas do kernel. Espero que qualquer outra pessoa que tenha o mesmo problema considere esta solução útil!

    
por 02.10.2010 / 20:38