[Cin] qemu user mode

Andrew Randrianasulu randrianasulu at gmail.com
Sat Jan 8 18:31:16 CET 2022


On Saturday, January 8, 2022, Andrew Randrianasulu <randrianasulu at gmail.com>
wrote:

> also, there is additional mechanism used by Termux, it does not require
> root-level commands
>
> https://proot-me.github.io/
>
> but you probably can use it on debian/arch/ubuntu..
>


for fedora 34/35 (on x86_64) you can try this repo

 https://copr.fedorainfracloud.org/coprs/pgaskin/proot/

click on build and build number hyperlink to get into download dir, or add
repo via provided instructions..

note: there is already proot 5.3.0... but if 5.2.0 works for you - great..
I can't test those methods due to storage space limitations on my tablet..
just ~200 mb free!)

https://download.copr.fedorainfracloud.org/results/pgaskin/proot/fedora-35-x86_64/02689485-proot/



>
>

>
> On Saturday, January 8, 2022, Andrew Randrianasulu <
> randrianasulu at gmail.com> wrote:
>
>> should be faster than full VM for compiling, but might not work for
>> testing /proc/self pointing at wrong image? also ALSA still not work if
>> called under qemu-user, last I checked)
>>
>> https://wiki.debian.org/QemuUserEmulation
>>
>> Installing packages
>> The binfmt-support package contains a helper script to easily
>> register/unregister binary formats with the kernel using the binfmt_misc
>> module.
>>
>> Install qemu, binfmt-support, and qemu-user-static:
>>
>> # apt install qemu binfmt-support qemu-user-static
>> Check whether the binfmt entries were successfully registered:
>>
>> # update-binfmts --display
>> This command should print entries for each supported target user
>> emulator, except for the host system.
>>
>> ===
>>
>>
>> see appendix if you already have chroot folder with arm system
>>
>> or try to use Raspbian's one from
>>
>>
>> https://wiki.debian.org/RaspberryPi/qemu-user-static
>>
>> a bit involved when it comes to image resizing...
>>
>> ===
>>
>> Note: If the host system is Debian Buster and the chroot will be Debian
>> Bullseye, it is good to make sure the host has the version 5.2 of
>> qemu-user-static, available from buster-backports. Otherwise some binaries
>> may cause qemu-user-static to Seg Fault, see 987497. For example setting
>> locale(s) in chroot fails without the upgrade of qemu-user-static.
>>
>> {..}
>> sudo losetup -f -P --show 2020-08-20-raspios-buster-arm64.img
>>
>>
>> Mounting the image
>> Mount the image with root permissions:
>>
>> sudo mount /dev/loop0p2 -o rw /mnt
>> Optional: If you want to mount the RaspiOS /boot
>>
>> sudo mount /dev/loop0p1 -o rw /mnt/boot
>> Also mount necessary host directories.
>>
>> cd /mnt
>> sudo mount --bind /dev dev/
>> sudo mount --bind /sys sys/
>> sudo mount --bind /proc proc/
>> sudo mount --bind /dev/pts dev/pts
>> (not necessary/advised if you use systemd-nspawn)
>>
>> To get everything work (e.g., network) you need to comment out everything
>> in /mnt/etc/ld.so.preload before you chroot in. Take care of that now!
>>
>> (not sure if copying qemu binary into chroot still needed on latest
>> Debian?)
>> cp /usr/bin/qemu-aarch64-static /mnt/usr/bin
>>
>> or qemu-arm-static for armhf
>>
>> Now chroot in!
>>
>> cd /mnt
>> (not needed if we already in mnt?)
>> sudo chroot . bin/bash
>>
>> now you can try to get git sources and install usual deps for Cin-gg
>> compilation from inside arm/aarch64 chroot and see how far it comes!
>>
>> ===
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20220108/9effac86/attachment.htm>


More information about the Cin mailing list