I am cross-building the Linux kernel in the Docker container because I want to run BusyBox with the kernel I built myself in qemu as shown in the link below, but there is no kernel image in arch/arm64/boot
after the build is finished.
Why?
The Docker container uses archlinux:base-devel.
Build is
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make defconfig
make Image dtbs-j8
You are about to build Linux 6.1.8.
Reference Links
https://www.honamium.net/post/run_linux_arm64/
I tried to follow the link, but it didn't work.
Image did not exist
$makeARCH=arm64defconfig
$ make ARCH=arm64CROSS_COMPILE=aarch64-linux-gnu-Image dtbs-j`nproc`
apt
, but you should read the Preparing for Linux for Arm64 section carefully.Downloading the kernel source code and make ARCH=arm64defconfig
are no major issues.
Running the following command results in an error stating "aarch64-linux-gnu-gcc not found" in the cross compiler:
#makeARCH=arm64CROSS_COMPILE=aarch64-linux-gnu-Image dtbs-j`nproc`
arch/arm64/Makefile:36—Detected assembler with broken.inst;disassembly will be unreliable
SYNC include/config/auto.conf
scripts/Kconfig.include:39:C compiler'aarch64-linux-gnu-gcc'not found
make[2]:*** [scripts/kconfig/Makefile:77:synconfig] Error 1
make[1]:*** [Makefile:708:syncconfig] Error 2
make:*** [Makefile:809:include/config/auto.conf] Error 2
make:***[include/config/auto.conf]Deleting file 'include/generated/rustc_cfg'
make:***[include/config/auto.conf]Deleting file 'include/generated/autoconf.h'
Install additional packages
#pacman-Sarch64-linux-gnu-gcc
If you try to make again, you will not see any errors at first glance, but if you look at ls./arch/arm64/boot/
, you will see dtbs
, but Image
has not been generated.
"This time, when I tried to set the target only to ""Image"" when I made it, I got an error saying ""I couldn't find the bc command."""
#makeARCH=arm64CROSS_COMPILE=aarch64-linux-gnu-Image-j`nproc`
CC kernel/bounds.s
/bin/sh:line1:bc:command not found
/bin/sh:line1:echo:write error:Broken pipe
CHKSHA1 include/linux/atomic/atomic-arch-fallback.h
make[1]:*** [Kbuild:24: include/generated/timeconst.h] Error 127
make[1]:*** Waiting for unfinished jobs....
CHKSHA1 include/linux/atomic/atomic-instrumented.h
make:*** [Makefile:1298:prepare0] Error 2
Install additional packages again.
$pacman-Sbc
We have confirmed that making again after adding the package will also generate an image.
#makeARCH=arm64CROSS_COMPILE=aarch64-linux-gnu-Image-j`nproc`
© 2024 OneMinuteCode. All rights reserved.