<br><br>On Saturday, January 8, 2022, Andrew Randrianasulu <<a href="mailto:randrianasulu@gmail.com">randrianasulu@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">also, there is additional mechanism used by Termux, it does not require root-level commands<div><br></div><div><a href="https://proot-me.github.io/" target="_blank">https://proot-me.github.io/</a></div><div><br></div><div>but you probably can use it on debian/arch/ubuntu.. </div></blockquote><div><br></div><div><br></div><div>for fedora 34/35 (on x86_64) you can try this repo</div><div><br></div><div> <a href="https://copr.fedorainfracloud.org/coprs/pgaskin/proot/">https://copr.fedorainfracloud.org/coprs/pgaskin/proot/</a></div><div><br></div><div>click on build and build number hyperlink to get into download dir, or add repo via provided instructions.. </div><div><br></div><div>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!) </div><div><br></div><div><a href="https://download.copr.fedorainfracloud.org/results/pgaskin/proot/fedora-35-x86_64/02689485-proot/">https://download.copr.fedorainfracloud.org/results/pgaskin/proot/fedora-35-x86_64/02689485-proot/</a></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br></div><div> </div></blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br><br>On Saturday, January 8, 2022, Andrew Randrianasulu <<a href="mailto:randrianasulu@gmail.com" target="_blank">randrianasulu@gmail.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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)<div><br></div><div><a href="https://wiki.debian.org/QemuUserEmulation" target="_blank">https://wiki.debian.org/QemuUs<wbr>erEmulation</a></div><div><br></div><div>Installing packages</div><div>The binfmt-support package contains a helper script to easily register/unregister binary formats with the kernel using the binfmt_misc module.</div><div><br></div><div>Install qemu, binfmt-support, and qemu-user-static:</div><div><br></div><div># apt install qemu binfmt-support qemu-user-static</div><div>Check whether the binfmt entries were successfully registered:</div><div><br></div><div># update-binfmts --display</div><div>This command should print entries for each supported target user emulator, except for the host system.</div><div><br></div><div>===</div><div><br></div><div><br></div><div>see appendix if you already have chroot folder with arm system</div><div><br></div><div>or try to use Raspbian's one from</div><div><br></div><div><br></div><div><a href="https://wiki.debian.org/RaspberryPi/qemu-user-static" target="_blank">https://wiki.debian.org/Raspbe<wbr>rryPi/qemu-user-static</a></div><div><br></div><div>a bit involved when it comes to image resizing... </div><div><br></div><div>===</div><div><br></div><div>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.</div><div><br></div><div>{..} </div><div>sudo losetup -f -P --show 2020-08-20-raspios-buster-arm6<wbr>4.img</div><div><br></div><div><br></div><div>Mounting the image</div><div>Mount the image with root permissions:</div><div><br></div><div>sudo mount /dev/loop0p2 -o rw /mnt</div><div>Optional: If you want to mount the RaspiOS /boot</div><div><br></div><div>sudo mount /dev/loop0p1 -o rw /mnt/boot</div><div>Also mount necessary host directories.</div><div><br></div><div>cd /mnt</div><div>sudo mount --bind /dev dev/</div><div>sudo mount --bind /sys sys/</div><div>sudo mount --bind /proc proc/</div><div>sudo mount --bind /dev/pts dev/pts</div><div>(not necessary/advised if you use systemd-nspawn)</div><div><br></div><div>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!</div><div><br></div><div>(not sure if copying qemu binary into chroot still needed on latest Debian?) </div><div>cp /usr/bin/qemu-aarch64-static /mnt/usr/bin</div><div><br></div><div>or qemu-arm-static for armhf</div><div><br></div><div>Now chroot in!</div><div><br></div><div>cd /mnt</div><div>(not needed if we already in mnt?) </div><div>sudo chroot . bin/bash</div><div><br></div><div>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! </div><div><br></div><div>===</div>
</blockquote></div></blockquote><div><br></div><div><br></div><div> </div>