Hello *,
currently having a bunch of kernel-related changes in the queue, I need to update the kernel configuration files and LFS rootfiles on all architectures we support. Only having an x86_64 system at hand, I thought "./make.sh shell --target=aarch64" would do the trick (qemu is installed), but apparently isn't:
# ./make.sh build --target=aarch64 [lots of output logs omitted] *** Build finished in 2:11:20 [ DONE ] # ls build ccache doc .gitignore ipfire-2.27.2gb-ext4.x86_64-full-core163.img.xz ipfire-2.27.x86_64-full-core163.iso langs log make.sh src cache config .git html ipfire-2.27.2gb-ext4.x86_64-full-core163.img.xz.md5 ipfire-2.27.x86_64-full-core163.iso.md5 lfs .mailmap packages tools
If you could give me a hint on what I'm doing wrong, I would be frightfully grateful. :-)
Thanks, and best regards, Peter Müller
Hello,
On 8 Jan 2022, at 14:05, Peter Müller peter.mueller@ipfire.org wrote:
Hello *,
currently having a bunch of kernel-related changes in the queue, I need to update the kernel configuration files and LFS rootfiles on all architectures we support. Only having an x86_64 system at hand, I thought "./make.sh shell --target=aarch64" would do the trick (qemu is installed), but apparently isn't:
# ./make.sh build --target=aarch64
You will need to have the —-target switch before the command:
./make.sh —-target=aarch64 build
Don’t forget to fetch the toolchain first and you might need to install a couple of packages that will emulate this architecture. An error message should let you know if anything is missing.
-Michael
[lots of output logs omitted] *** Build finished in 2:11:20 [ DONE ] # ls build ccache doc .gitignore ipfire-2.27.2gb-ext4.x86_64-full-core163.img.xz ipfire-2.27.x86_64-full-core163.iso langs log make.sh src cache config .git html ipfire-2.27.2gb-ext4.x86_64-full-core163.img.xz.md5 ipfire-2.27.x86_64-full-core163.iso.md5 lfs .mailmap packages tools
If you could give me a hint on what I'm doing wrong, I would be frightfully grateful. :-)
Thanks, and best regards, Peter Müller
Hello Michael,
thanks for your reply.
You will need to have the —-target switch before the command:
./make.sh —-target=aarch64 build
Don’t forget to fetch the toolchain first and you might need to install a couple of packages that will emulate this architecture. An error message should let you know if anything is missing.
I did so, installed some missing packages, ran "/usr/sbin/qemu-binfmt-conf.sh", downloaded the toolchain for aarch64, and tried to start the build. Sadly, it aborts without any (obvious) error message:
Packaged toolchain compilation Checking for necessary space on disk [ DONE ] Building LFS stage2 [ FAIL ]
Jan 9 13:31:47: Building stage2
ERROR: Building stage2 [ FAIL ] Check /home/pmu/devel/IPFire-development/ipfire-2.x/log/_build.base.log for errors if applicable [ FAIL ] machine:/home/pmu/devel/IPFire-development/ipfire-2.x # cat /home/pmu/devel/IPFire-development/ipfire-2.x/log/_build.base.log Jan 9 13:31:47: Building stage2
That's literally it. Since make.sh does not seem to support a debug/verbose switch, and the output of "bash -x ./make.sh --target=aarch64 build" does not gives any helpful information either, I'm afraid I have to ask for help again.
In case it helps:
# cat /proc/sys/fs/binfmt_misc/qemu-aarch64 enabled interpreter /usr/bin/qemu-aarch64-binfmt flags: P offset 0 magic 7f454c460201010000000000000000000200b700 mask ffffffffffffff00fffffffffffffffffeffffff
Thanks in advance, and best regards, Peter Müller
Hello,
What distribution is this?
On 9 Jan 2022, at 13:36, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
You will need to have the —-target switch before the command:
./make.sh —-target=aarch64 build
Don’t forget to fetch the toolchain first and you might need to install a couple of packages that will emulate this architecture. An error message should let you know if anything is missing.
I did so, installed some missing packages, ran "/usr/sbin/qemu-binfmt-conf.sh", downloaded the toolchain for aarch64, and tried to start the build. Sadly, it aborts without any (obvious) error message:
Packaged toolchain compilation Checking for necessary space on disk [ DONE ] Building LFS stage2 [ FAIL ]
Jan 9 13:31:47: Building stage2
ERROR: Building stage2 [ FAIL ] Check /home/pmu/devel/IPFire-development/ipfire-2.x/log/_build.base.log for errors if applicable [ FAIL ] machine:/home/pmu/devel/IPFire-development/ipfire-2.x # cat /home/pmu/devel/IPFire-development/ipfire-2.x/log/_build.base.log Jan 9 13:31:47: Building stage2
That's literally it. Since make.sh does not seem to support a debug/verbose switch, and the output of "bash -x ./make.sh --target=aarch64 build" does not gives any helpful information either, I'm afraid I have to ask for help again.
Well… where does it stop?
QEMU will definitely complain if something isn’t right. Can you see QEMU being executed at all?
-Michael
In case it helps:
# cat /proc/sys/fs/binfmt_misc/qemu-aarch64 enabled interpreter /usr/bin/qemu-aarch64-binfmt flags: P offset 0 magic 7f454c460201010000000000000000000200b700 mask ffffffffffffff00fffffffffffffffffeffffff
Thanks in advance, and best regards, Peter Müller
Hello Peter,
target must be the first parameter.
./make.sh --target=aarch64 gettoolchain ./make.sh --target=aarch64 downloadsrc ./make.sh --target=aarch64 build
should work but i have not used this since ages because it is sloooow. I think it is better Micheal creates a vm on the mustang for this.
Arne
Am 2022-01-08 15:05, schrieb Peter Müller:
Hello *,
currently having a bunch of kernel-related changes in the queue, I need to update the kernel configuration files and LFS rootfiles on all architectures we support. Only having an x86_64 system at hand, I thought "./make.sh shell --target=aarch64" would do the trick (qemu is installed), but apparently isn't:
# ./make.sh build --target=aarch64 [lots of output logs omitted] *** Build finished in 2:11:20
[ DONE ]
# ls build ccache doc .gitignore ipfire-2.27.2gb-ext4.x86_64-full-core163.img.xz ipfire-2.27.x86_64-full-core163.iso langs log make.sh src cache config .git html ipfire-2.27.2gb-ext4.x86_64-full-core163.img.xz.md5 ipfire-2.27.x86_64-full-core163.iso.md5 lfs .mailmap packages tools
If you could give me a hint on what I'm doing wrong, I would be frightfully grateful. :-)
Thanks, and best regards, Peter Müller