Score:0

การสร้างเคอร์เนลสำหรับ Raspberry Pi Compute Module 4 พร้อมการรองรับ SATA ล้มเหลว

ธง cn

ฉันกำลังพยายามรวบรวมเคอร์เนลด้วย SATA_AHCI และ MARVELL Support สำหรับ Ubuntu 20.04lts เพื่อทำงานบน Raspberry Pi Compute Module 4 ฉันทำสิ่งนี้สำเร็จโดยใช้ RaspiOS การ์ด SATA PCI ของฉันที่มี 4 ดิสก์ ZFS RaidZ2 Pool ทำงานได้ดี

**lsblk**
ชื่อ MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 1 1.8T 0 ดิสก์ 
ââsda1 8:1 1 1.8T 0 ส่วน 
ââsda9 8:9 1 8M 0 ส่วน 
sdb 8:16 1 1.8T 0 ดิสก์ 
ââsdb1 8:17 1 1.8T 0 ส่วน 
ââsdb9 8:25 1 8M 0 ส่วน 
sdc 8:32 1 1.8T 0 ดิสก์ 
ââsdc1 8:33 1 1.8T 0 ส่วน 
ââsdc9 8:41 1 8M 0 ส่วน 
sdd 8:48 1 1.8T 0 ดิสก์ 
ââsdd1 8:49 1 1.8T 0 ส่วน 
ââsdd9 8:57 1 8M 0 ส่วน 
mmcblk0 179:0 0 29G 0 ดิสก์ 
ââmmcblk0p1 179:1 0 256M 0 ส่วน /บูต
ââmmcblk0p2 179:2 0 28.7G 0 ส่วน /

ฉันใช้ Gentoo มาเป็นเวลา 20 ปีแล้ว จึงคุ้นเคยกับการสร้างเมล็ดพืชเป็นอย่างดี ฉันตาม นี้ แผนการที่ยอดเยี่ยม ฉันได้เปิดใช้งาน CONFIG_ATA_GENERIC, CONFIG_SATA_AHCI, CONFIG_SATA_MV ในการกำหนดค่า การสร้างล้มเหลวด้วยโมดูล libahci ที่ขาดหายไป:

ดีบัก: module-check-raspi
II: การตรวจสอบโมดูลสำหรับ raspi...
   กำลังอ่านโมดูลใหม่...อ่าน 4271 โมดูล
   อ่านโมดูลเก่า...
      นางสาว: libahci
      อ่าน 4272 โมดูล: ใหม่ (0) หายไป (1)
EE: โมดูลหายไป (เริ่มร้องขอความเมตตา)
ทำ: *** [debian/rules.d/4-checks.mk:10: module-check-raspi] ข้อผิดพลาด 1

ฉันไม่สามารถหาสาเหตุที่ล้มเหลว ดูเหมือนว่าไดรเวอร์จะอยู่ที่นั่นตามที่แสดง:

** ค้นหา ~/kbuild/ -iname libahci***

    /root/kbuild/focal/debian/linux-modules-5.4.0-1041-raspi/lib/modules/5.4.0-1041-raspi/kernel/drivers/ata/libahci_platform.ko
    /root/kbuild/focal/debian/build/build-raspi/drivers/ata/libahci_platform.mod
    /root/kbuild/focal/debian/build/build-raspi/drivers/ata/libahci_platform.ko
    /root/kbuild/focal/debian/build/build-raspi/drivers/ata/libahci_platform.mod.c
    /root/kbuild/focal/debian/build/build-raspi/drivers/ata/libahci_platform.o
    /root/kbuild/focal/debian/build/build-raspi/drivers/ata/libahci_platform.mod.o
    /root/kbuild/focal/debian/build/build-raspi/drivers/ata/libahci.o
    /root/kbuild/focal/drivers/ata/libahci_platform.c
    /root/kbuild/focal/drivers/ata/libahci.c

ความคิดใด ๆ ที่ชื่นชมมาก

----------------------------- แก้ไข -------------------- -------------

โดยบังเอิญฉันได้ค้นพบว่า RaspiOS 64 บิตล่าสุดนั้นรองรับ SATA ในตัว นี่คือภาพ 2021-05-07-raspios-buster-arm64-lite ดังนั้นฉันจึงสามารถช่วยเหลือ ZFS Pool ของฉันและไปต่อได้โดยไม่ยุ่งกับการพยายามคอมไพล์เคอร์เนล!

Score:0
ธง cn

I had this same problem and after a lot of trial and error I think I know what fixed it for me. I was following the ubuntu Build Your Own Kernel wiki that made use of the fakeroot debian/rules editconfigs command which brings up a GUI for editing the config. I used this to enable CONFIG_SATA_AHCI but what I didn't know was that there are different methods for "enabling" it. I initially picked Y to "include" the module and during compile I had the same error: MISS: libahci.

When I compared my config changes to the PR that enabled SATA in the raspberry pi kernel I noticed that they used M to "modularize" include it. I started over and picked M in the GUI and then my kernel compiled without errors.

I believe it's possible to edit the configs without using the editconfigs GUI and if that's the case just make sure you use m instead of y.

I noticed the OP didn't mention what value they picked for their configs, just that they "have enabled ... CONFIG_SATA_AHCI ... in the config" so maybe this was also the issue.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา