ฉันดาวน์โหลดซอร์ส Ubuntu โดย โคลนคอมไพล์ git://kernel.ubuntu.com/ubuntu/ubuntu-focal.git
. และเนื่องจากฉันต้องการใช้เวอร์ชันเฉพาะ ฉันจึง git ชำระเงิน Ubuntu-5.4.0-42.46 (เวอร์ชันนี้เป็นเวอร์ชันที่ใช้ในการติดตั้ง ubuntu .iso ดูคำถามที่เกี่ยวข้องที่นี่ : ฉันควรใช้เวอร์ชันต้นทางของอูบุนตูใดเพื่อเพิ่มการแก้ไขจุดบกพร่อง (สำหรับการดีบักการบูต Ubuntu) )
หลังจาก git-checkout, the บันทึกคอมไพล์
แสดงผลนี้:
กระทำ 98c4545e2d65ed35c31056f72c4da20f6b5ea0d0 (HEAD, แท็ก: Ubuntu-5.4.0-42.46)
ผู้เขียน: Khalid Elmously <[email protected]>
วันที่: พฤ. 9 ก.ค. 19:50:26 น. 2563 -0400
อูบุนตู: Ubuntu-5.4.0-42.46
ลงนามโดย: Khalid Elmously <[email protected]>
เพื่อสร้างเคอร์เนล ฉันทำ ARCH=arm64 CROSS_COMPILE=aarch64-none-elf- ทำให้ defconfig
และ ARCH=arm64 CROSS_COMPILE=aarch64-none-elf- ทำ -j24 ภาพ
. แต่นี่ทำให้ฉันมีข้อผิดพลาดในการรวบรวมด้านล่าง อะไรจะผิด?
.
.
CC mm/interval_tree.o
ไดรเวอร์ CC/base/regmap/regcache.o
เคอร์เนล CC/time/posix-cpu-timers.o
CC mm/list_lru.o
บล็อก CC/blk-mq.o
AS arch/arm64/lib/memchr.o
CC fs/ext4/migrate.o
security/security.c: ในฟังก์ชัน 'security_add_hooks':
security/security.c:477:25: ข้อผิดพลาด: 'struct security_hook_heads' ไม่มีสมาชิกชื่อ 'socket_getpeersec_stream'
477 | &security_hook_heads.socket_getpeersec_stream)
| ^
เคอร์เนล CC/time/posix-clock.o
AS arch/arm64/lib/memcmp.o
security/security.c: ในฟังก์ชัน 'security_setprocattr':
CC arch/arm64/kvm/../../../virt/kvm/arm/vgic/vgic-v2.o
security/security.c:2058:27: ข้อผิดพลาด: 'union security_list_options' ไม่มีสมาชิกชื่อ 'socket_getpeersec_stream'
2058 | socket_getpeersec_stream.socket_getpeersec_stream = NULL;
| ^
ในไฟล์รวมจาก ./include/linux/timer.h:5,
จาก ./include/linux/workqueue.h:9,
จาก ./include/linux/bpf.h:9,
จาก security/security.c:13:
security/security.c:2060:25: ข้อผิดพลาด: 'struct security_hook_heads' ไม่มีสมาชิกชื่อ 'socket_getpeersec_stream'
2060 | &security_hook_heads.socket_getpeersec_stream,
| ^
./include/linux/list.h:857:12: หมายเหตุ: ในคำจำกัดความของมาโคร 'hlist_entry_safe'
857 | ({ ประเภท (ptr) ____ptr = (ptr); \
| ^~~
security/security.c:2059:3: หมายเหตุ: ในการขยายมาโคร 'hlist_for_each_entry'
2059 | hlist_for_each_entry(เอชพี,
| ^~~~~~~~~~~~~~~~~~~~~~
security/security.c:2060:25: ข้อผิดพลาด: 'struct security_hook_heads' ไม่มีสมาชิกชื่อ 'socket_getpeersec_stream'
2060 | &security_hook_heads.socket_getpeersec_stream,
| ^
./include/linux/list.h:857:28: หมายเหตุ: ในคำจำกัดความของมาโคร 'hlist_entry_safe'
857 | ({ ประเภท (ptr) ____ptr = (ptr); \
| ^~~
security/security.c:2059:3: หมายเหตุ: ในการขยายมาโคร 'hlist_for_each_entry'
2059 | hlist_for_each_entry(เอชพี,
| ^~~~~~~~~~~~~~~~~~~~~~
ในไฟล์รวมจาก ./include/linux/list.h:9
จาก ./include/linux/timer.h:5,
จาก ./include/linux/workqueue.h:9,
จาก ./include/linux/bpf.h:9,
จาก security/security.c:13:
./include/linux/kernel.h:993:17: คำเตือน: ส่งไปยังตัวชี้จากจำนวนเต็มที่มีขนาดต่างกัน [-Wint-to-pointer-cast]
993 | โมฆะ *__mptr = (โมฆะ *)(ptr); \
| ^
./include/linux/list.h:847:40: หมายเหตุ: ในการขยายมาโคร 'container_of'
847 | #กำหนด hlist_entry (ptr, ประเภท, สมาชิก) container_of (ptr, ประเภท, สมาชิก)
| ^~~~~~~~~~~~~
.
.
เมื่อฉันทำเช่นเดียวกันกับซอร์ส linux-5.4.21 มันก็คอมไพล์ได้