I found from https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel, the correct method to build ubuntu is (for ARCH=arm64 case)
- LANG=C fakeroot debian/rules ARCH=arm64 clean
- # quicker build:
- LANG=C fakeroot debian/rules ARCH=arm64 binary-headers binary-generic binary-perarch
- # if you need linux-tools or lowlatency kernel, run instead:
- LANG=C fakeroot debian/rules ARCH=arm64 binary
But when I tried it, it went far longer but eventually it failed with error.
….
Creating symlink /home/ckim/prj1/QEMU/qemu_test/test_ubuntu-20.04-build/focal/ubuntu-focal/debian/build/builddkms/build/zfs/0.8.3/source ->
/home/ckim/prj1/QEMU/qemu_test/test_ubuntu-20.04-build/focal/ubuntu-focal/debian/build/builddkms/source/zfs-0.8.3
DKMS: add completed.
Running the pre_build script:
checking for gawk... gawk
checking metadata... META file
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether make supports nested variables... yes
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
…..
checking kernel source version... 5.4.0-42-generic
checking kernel file name for module symbols... Module.symvers
checking whether modules can be built... no
configure: error:
*** Unable to build an empty module.
Building module:
cleaning build area...(bad exit status: 2)
make -j28 KERNELRELEASE=5.4.0-42-generic...(bad exit status: 2)
ERROR (dkms apport): binary package for zfs: 0.8.3 not found
_______________________________________________Error! Bad return status for module build on kernel: 5.4.0-42-generic (x86_64)
Consult /home/ckim/prj1/QEMU/qemu_test/test_ubuntu-20.04-build/focal/ubuntu-focal/debian/build/builddkms/build/zfs/0.8.3/build/make.log for more information.
DKMS make.log for zfs-0.8.3 for kernel 5.4.0-42-generic (x86_64)
Tue Jun 29 11:43:02 KST 2021
make[1]: Entering directory '<<DKMSDIR>>/build/zfs/0.8.3/build'
make[1]: *** No targets specified and no makefile found. Stop.
make[1]: Leaving directory '<<DKMSDIR>>/build/zfs/0.8.3/build'
make: *** [debian/rules.d/2-binary-arch.mk:223: install-generic] Error 1
And according to the guide, I’m supposed to see in ../ directory two linux headers .deb files and a linux-image .deb file but I see only linux-headers-5.4.0-42_5.4.0-42.46_all.deb
Can anyone give me an advice? Any suggestion will be appreciated.
Thank you!
Chan Kim
From: ckim@xxxxxxxxxx <ckim@xxxxxxxxxx>
Sent: Tuesday, June 29, 2021 10:04 AM
To: kernelnewbies@xxxxxxxxxxxxxxxxx
Subject: kernel build error during ubuntu linux kernel build
Hello, all
I have a strange problem in building the linux kernel from ubuntu. (I want to replace the kernel in ubuntu to debug install failure on qemu virtual machine)
I downloaded ubuntu source by “git clone git://kernel.ubuntu.com/ubuntu/ubuntu-focal.git”. and because I wanted to use a specific version, I did “git checkout Ubuntu-5.4.0-42.46” (this version is the one used in a ubuntu installation .iso.
And you can see related askubuntu question here : https://askubuntu.com/questions/1347390/what-ubuntu-source-version-should-i-use-to-add-some-debug-prints-for-ubuntu-bo )
After git-checkout, the `git log` shows this result :
commit 98c4545e2d65ed35c31056f72c4da20f6b5ea0d0 (HEAD, tag: Ubuntu-5.4.0-42.46)
Author: Khalid Elmously <khalid.elmously@xxxxxxxxxxxxx>
Date: Thu Jul 9 19:50:26 2020 -0400
UBUNTU: Ubuntu-5.4.0-42.46
Signed-off-by: Khalid Elmously <khalid.elmously@xxxxxxxxxxxxx>
To build the kernel, I did `ARCH=arm64 CROSS_COMPILE=aarch64-none-elf- make defconfig` and `ARCH=arm64 CROSS_COMPILE=aarch64-none-elf- make -j24 Image`. But this gives me a compile error below. What can be wrong?
.
.
CC mm/interval_tree.o
CC drivers/base/regmap/regcache.o
CC kernel/time/posix-cpu-timers.o
CC mm/list_lru.o
CC block/blk-mq.o
AS arch/arm64/lib/memchr.o
CC fs/ext4/migrate.o
security/security.c: In function 'security_add_hooks':
security/security.c:477:25: error: 'struct security_hook_heads' has no member named 'socket_getpeersec_stream'
477 | &security_hook_heads.socket_getpeersec_stream)
| ^
CC kernel/time/posix-clock.o
AS arch/arm64/lib/memcmp.o
security/security.c: In function 'security_setprocattr':
CC arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-v2.o
security/security.c:2058:27: error: 'union security_list_options' has no member named 'socket_getpeersec_stream'
2058 | socket_getpeersec_stream.socket_getpeersec_stream = NULL;
| ^
In file included from ./include/linux/timer.h:5,
from ./include/linux/workqueue.h:9,
from ./include/linux/bpf.h:9,
from security/security.c:13:
security/security.c:2060:25: error: 'struct security_hook_heads' has no member named 'socket_getpeersec_stream'
2060 | &security_hook_heads.socket_getpeersec_stream,
| ^
./include/linux/list.h:857:12: note: in definition of macro 'hlist_entry_safe'
857 | ({ typeof(ptr) ____ptr = (ptr); \
| ^~~
security/security.c:2059:3: note: in expansion of macro 'hlist_for_each_entry'
2059 | hlist_for_each_entry(hp,
| ^~~~~~~~~~~~~~~~~~~~
security/security.c:2060:25: error: 'struct security_hook_heads' has no member named 'socket_getpeersec_stream'
2060 | &security_hook_heads.socket_getpeersec_stream,
| ^
./include/linux/list.h:857:28: note: in definition of macro 'hlist_entry_safe'
857 | ({ typeof(ptr) ____ptr = (ptr); \
| ^~~
security/security.c:2059:3: note: in expansion of macro 'hlist_for_each_entry'
2059 | hlist_for_each_entry(hp,
| ^~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/list.h:9,
from ./include/linux/timer.h:5,
from ./include/linux/workqueue.h:9,
from ./include/linux/bpf.h:9,
from security/security.c:13:
./include/linux/kernel.h:993:17: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
993 | void *__mptr = (void *)(ptr); \
| ^
./include/linux/list.h:847:40: note: in expansion of macro 'container_of'
847 | #define hlist_entry(ptr, type, member) container_of(ptr,type,member)
| ^~~~~~~~~~~~
.
.
BTW, when I do the same with linux-5.4.21 vanila source, it compiles ok.
Can anyone give me an advice? Could this Ubuntu-5.4.0-42.46 version have a bug and maybe I need a patch?
Thank you!
Chan Kim
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies