- Package:
- debootstrap
- Source:
- debootstrap
- Submitter:
- Vagrant Cascadian
- Date:
- 2023-01-12 21:15:07 UTC
- Severity:
- normal
I tried installing an armel chroot on an arm64 machine: $ sudo debootstrap --variant=minbase --arch=armel --no-merged-usr --verbose sid /srv/chroots/armeltest http://deb.debian.org/debian/ E: Unable to execute target architecture This appears to be due to: #922728: arch-test: reports armel invalid on arm64 system https://bugs.debian.org/922728 If I remove arch-test, debootstrap works fine, installs the chroot, and I'm able to chroot into the armel environment just fine. Other than uninstalling arch-test, there appears to be no way to tell debootstrap to ignore, or at least downgrade arch-test results to a warning. I'm not sure if a commandlinne option and/or environment variable would be the preferred workaround. Obviously, the best thing to do is fix arch-test in this particular case, but if it's not possible, or it takes a long time, or some future bug in arch-test comes around, it'd be nice to be able to override it without uninstalling arch-test. live well, vagrant
I just pass --foreign in these case and then chroot into the target to run ./debootstrap/deboostrap --second-stage. Alternatively, use qemu-deboostrap. Adrian
Ok, I guess those are also workarounds, but --second-stage seems like a lot of extra hoops to jump through, and qemu-debootstrap + qemu-user-static seems resource inefficient on a system that should otherwise be able to support it "natively". live well, vagrant
It's a bug in arch-test -- one I don't quite understand: even if newer compilers could have dropped the use of SWP, I can't seem to reproduce this failure even on jessie. A Pine64 with CONFIG_ARMV8_DEPRECATED=n on kernel 5.0-rc6, yet any jessie programs other than ghc work -- I remember anything with thread support crashing immediately. No idea what could have changed. I've dropped the check (both for SIGILL and for whether SWP gets silently ignored) -- worst case, there'll be false positives where debootstrap installs something that doesn't work. In general, I don't think debootstrap should work around bugs elsewhere; the design principle for arch-test is to err on the false positive rather than false negative side, thus setups that fail the test should be nearly useless. For the record, here's the list of checks above basic syscall test: * armhf: dmb (ARMv7) * i386: cmovz (686) * powerpc: fsel (!SPE) * powerpcspe: efscfsi (SPE) * ppc64el: mtvsrd (POWER8) Meow!
Hello The workaround I found was to install the binfmt-support and qemu-user-static packages, when debootstrap'ing an arm64 chroot on a amd64 host. Thank you -- Sylvain