#922729 debootstrap: unable to override arch-test

#922729#5
Date:
2019-02-19 22:56:23 UTC
From:
To:
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

#922729#10
Date:
2019-02-19 23:15:05 UTC
From:
To:
I just pass --foreign in these case and then chroot into the target to
run ./debootstrap/deboostrap --second-stage.

Alternatively, use qemu-deboostrap.

Adrian

#922729#15
Date:
2019-02-19 23:27:34 UTC
From:
To:
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

#922729#20
Date:
2019-02-27 13:53:26 UTC
From:
To:
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!

#922729#25
Date:
2023-01-12 21:13:49 UTC
From:
To:
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