Re: Cross compiler
On 4/22/21 3:27 PM, John Paul Adrian Glaubitz wrote:
On 4/22/21 12:07 PM, Helge Deller wrote:
Set up the chroot, e.g.:
debootstrap --arch=hppa --no-check-gpg unstable /srv/test http://ftp.debian-ports.org/debian/
You will need to use qemu-debootstrap as otherwise the command will fail
without the "--foreign" flag.
It didn't failed for me, but using qemu-debootstrap is probably better.
You need to install the debian qemu-user-static package.
I suggest to use my pre-built qemu-hppa-static binary from:
which you should copy to /usr/bin/qemu-hppa-static and inside the chroot in the /usr/bin directory.
Important: Restart the binfmt-support so that the new binary will be used.
run: "service binfmt-support restart"
Installing the qemu-user-static package on Debian testing or newer
is already sufficient. It is not necessary to copy the qemu binary
into the chroot and also not recommended as the proper binary is
already correctly invoked through binfmt-support.
Since Debian's qemu-user package also contains a tweak to fix the argv
thrashing issue in QEMU, I would actually advise against using your
custom qemu-user binary unless it is really necessary. But I assume
Debian testing/unstable should have a QEMU version recent enough for
proper hppa supprt.
As far as I know, some of my latest hppa-related patches aren't yet in debian's unstable/testing qemu package.
Even worse, on Debian AMD64 buster you get qemu 3.1 packages which lack much of the hppa support.
This is why I (for now) suggested to use my binary.
But in general everyone should prefer to the debian rebuilt qemu packages.
mount the directories, replace $i by your chroot directory:
mount -t proc proc /srv/$i/proc/
mount -t sysfs sysfs /srv/$i/sys/
mount -t tmpfs tmpfs /srv/$i/dev/shm/
mount -t devpts devpts /srv/$i/dev/pts
and finally chroot into your chroot-directory.
This can also be avoided when setting up schroot which always mounts
the necessary paths automatically.