Am descărcat sursa ubuntu de git clone git://kernel.ubuntu.com/ubuntu/ubuntu-focal.git
. și pentru că am vrut să folosesc o anumită versiune, am făcut git checkout Ubuntu-5.4.0-42.46 (această versiune este cea folosită într-o instalare ubuntu .iso. Vezi întrebarea legată aici: ce versiune sursă ubuntu ar trebui să folosesc pentru a adăuga câteva printuri de depanare? (pentru depanare la pornire ubuntu) )
După git-checkout, git log
arata acest rezultat:
commit 98c4545e2d65ed35c31056f72c4da20f6b5ea0d0 (HEAD, etichetă: Ubuntu-5.4.0-42.46)
Autor: Khalid Elmously <[email protected]>
Data: Joi 9 Iul 19:50:26 2020 -0400
UBUNTU: Ubuntu-5.4.0-42.46
Semnat de: Khalid Elmously <[email protected]>
Pentru a construi nucleul, am făcut-o ARCH=arm64 CROSS_COMPILE=aarch64-none-elf- make defconfig
și ARCH=arm64 CROSS_COMPILE=aarch64-none-elf- make -j24 Image
. Dar asta îmi dă o eroare de compilare mai jos. Ce poate fi greșit?
.
.
CC mm/interval_tree.o
Drivere CC/base/regmap/regcache.o
CC kernel/time/posix-cpu-timers.o
CC mm/list_lru.o
CC bloc/blk-mq.o
AS arch/arm64/lib/memchr.o
CC fs/ext4/migrate.o
security/security.c: În funcția „security_add_hooks”:
security/security.c:477:25: eroare: „struct security_hook_heads” nu are niciun membru numit „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: În funcția „security_setprocattr”:
CC arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-v2.o
security/security.c:2058:27: eroare: „union security_list_options” nu are niciun membru numit „socket_getpeersec_stream”
2058 | socket_getpeersec_stream.socket_getpeersec_stream = NULL;
| ^
În fișierul inclus din ./include/linux/timer.h:5,
din ./include/linux/workqueue.h:9,
de la ./include/linux/bpf.h:9,
de la securitate/securitate.c:13:
security/security.c:2060:25: eroare: „struct security_hook_heads” nu are niciun membru numit „socket_getpeersec_stream”
2060 | &security_hook_heads.socket_getpeersec_stream,
| ^
./include/linux/list.h:857:12: notă: în definiția macro-ului „hlist_entry_safe”
857 | ({ typeof(ptr) ____ptr = (ptr); \
| ^~~
security/security.c:2059:3: notă: în extinderea macrocomenzii „hlist_for_each_entry”
2059 | hlist_for_each_entry(hp,
| ^~~~~~~~~~~~~~~~~~~~
security/security.c:2060:25: eroare: „struct security_hook_heads” nu are niciun membru numit „socket_getpeersec_stream”
2060 | &security_hook_heads.socket_getpeersec_stream,
| ^
./include/linux/list.h:857:28: notă: în definiția macro-ului „hlist_entry_safe”
857 | ({ typeof(ptr) ____ptr = (ptr); \
| ^~~
security/security.c:2059:3: notă: în extinderea macrocomenzii „hlist_for_each_entry”
2059 | hlist_for_each_entry(hp,
| ^~~~~~~~~~~~~~~~~~~~
În fișierul inclus din ./include/linux/list.h:9,
de la ./include/linux/timer.h:5,
din ./include/linux/workqueue.h:9,
de la ./include/linux/bpf.h:9,
de la securitate/securitate.c:13:
./include/linux/kernel.h:993:17: avertisment: turnare la pointer de la un întreg de dimensiuni diferite [-Wint-to-pointer-cast]
993 | void *__mptr = (void *)(ptr); \
| ^
./include/linux/list.h:847:40: notă: în extinderea macro-ului „container_of”
847 | #define hlist_entry(ptr, type, member) container_of(ptr,type,member)
| ^~~~~~~~~~~~
.
.
Când fac același lucru cu sursa linux-5.4.21, se compilează ok.