Eu estava seguindo as instruções deste tutorial HOWTO: Limpar e reinstalar o Grub 2 a partir do Live CD , quando encontrei um erro na etapa 1, quando iniciei o comando
sudo chroot /mnt/temp
O erro foi o seguinte:
chroot: failed to run command `/bin/bash': Exec format error
Onde é que isso veio? Como faço para passar?
Eu tive o mesmo problema ao criar uma imagem para o arco armhf. Eu tive que instalar
qemu-user-static
e copiá-lo para a pasta chroot bin.fonte
O erro significa que sua prisão (
/mnt/temp
) não contém um shell bash ou as bibliotecas necessárias para executar o shell bash.Se você criou sua prisão usando algo parecido com isto:
Você provavelmente pretendia fazer isso:
No entanto, como resposta técnica para o seu problema, tente:
Isso deve permitir que você faça chroot com êxito, quando você pode fazer outras coisas.
No entanto, existem cerca de um milhão de coisas erradas ao fazer isso, e quase certamente você não deseja fazer isso. Use minbase ao criar sua prisão ou instale o ubuntu em um alvo em branco (por exemplo, uma máquina virtual) e crie um arquivo tar de todo o sistema no qual você descompactará
/mnt/temp
.fonte
Na verdade, essa é uma incompatibilidade de 64 bits e 32 bits.
Embora com
(copia o exec de 32 bits para a nova raiz no
tmp
diretóriochroot
está bom, todos os comandos ainda falham. Você teria que copiá-los por toda parte.fonte
No meu caso, eu estava tentando criar uma versão chroot do Linux de 64 bits, mas meu Linux atual era de 32 bits.
Eu havia montado uma imagem de disco (imagem principal, para replicação em várias máquinas).
fonte
Eu acho que é um erro.
`/ bin / bash '
mas não
'bin / bash'
fonte