Chroot na imagem baseada em ARM

1

Estou tentando fazer algum trabalho em uma imagem para um pi de framboesa, mas não tenho acesso ao pi em si, apenas o cartão SD que executa o sistema operacional.

Eu gostaria de chroot no cartão SD do pi (principalmente para executar alguns comandos pip), mas estou recebendo erros com o bash:

chroot: failed to run command ‘/bin/bash’: Exec format error

Eu assumo isso porque os programas são compilados para o processador do pi e não para o meu.

O único pensamento que tenho é de mudar o $PATH para apontar para o meu /bin , mas não consigo imaginar que seja uma boa prática ou seguro de alguma forma

Existe uma maneira de fazer isso funcionar?

    
por Brydon Gibson 16.02.2018 / 17:32

1 resposta

0

É possível.

Você precisa instalar o qemu-user-static no seu computador x86 / x86_64:

sudo apt-get install qemu-user-static

Vamos supor que o seu rootfs esteja montado em /mnt .

Em seguida, tente:

sudo cp /usr/bin/qemu-arm-static /mnt/usr/bin/
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf

cd /mnt
sudo mount --bind /dev dev/
sudo mount --bind /sys sys/
sudo mount --bind /proc proc/
sudo mount --bind /dev/pts dev/pts
#sudo rm /mnt/etc/ld.so.preload # not sure about this
sudo chroot .
    
por N0rbert 16.02.2018 / 17:37