4 ms·
One very cool thing that you can do with it is to use binfmt_misc to tell the kernel to use `qemu-arm` to run ARM binaries, then you can chroot in to an ARM dev
by LukeShu 7y ago
One very cool thing that you can do with it is to use binfmt_misc to tell the kernel to use `qemu-arm` to run ARM binaries, then you can chroot in to an ARM device's filesystem from your x86 workstation, and all of the ARM binaries just work.
- bscphil 7y agoI've used this to `apt-get upgrade` a netboot Raspberry Pi installation from the server way faster than you can do it on the Pi itself.
- leetrout 7y agoI was just dealing with this today. QEMU was too slow on my MacBook Air though. Do you have a link to a comprehensive guide on doing this by chance? I was thinking tomorrow I’d just launch an arm instance in AWS and figure it out but I have a dual Xeon workstation at work (windows) that I might try as well.
- bscphil 7y agoI don't have a guide that documents everything I did, but the process is described in pretty good detail here: https://wiki.debian.org/RaspberryPi/qemu-user-static https://wiki.debian.org/RaspberryPi/qemu-user-static You can skip the first part about creating the image, since presumably you already have one. So the process for me is something like: apt-get install qemu qemu-user-static binfmt-support cp /usr/bin/qemu-arm-static ~/rpi_mnt/usr/bin systemd-nspawn -D ~/rpi_mnt bin/bash (Some additional steps needed if you want to use regular chroot instead of nspawn.) Sometimes qemu shows an error saying some operation isn't supported, but this hasn't broken anything yet for me, even after I did a whole Raspbian Stretch -> Buster upgrade this way.