Điểm:0

Xây dựng kernel cho Raspberry Pi Compute Module 4 với Hỗ trợ SATA không thành công

lá cờ cn

Tôi đang cố gắng biên dịch Kernel với Hỗ trợ SATA_AHCI và MARVELL cho Ubuntu 20.04lts để chạy trên Mô-đun điện toán Raspberry Pi 4. Tôi đã thành công trong việc này bằng RaspiOS. Thẻ SATA PCI của tôi với Nhóm ZFS RaidZ2 4 đĩa hoạt động tốt.

**lsblk**
TÊN MAJ:KÍCH THƯỚC RM TỐI THIỂU RO LOẠI NÚI
đĩa sda 8:0 1 1.8T 0 
ââsda1 8:1 1 1.8T 0 phần 
ââsda9 8:9 1 8M 0 phần 
sdb 8:16 1 đĩa 1.8T 0 
ââsdb1 8:17 1 1.8T 0 phần 
ââsdb9 8:25 1 8M 0 phần 
sdc 8:32 1 đĩa 1.8T 0 
ââsdc1 8:33 1 1.8T 0 phần 
ââsdc9 8:41 1 8M 0 phần 
sdd 8:48 1 đĩa 1.8T 0 
ââsdd1 8:49 1 1.8T 0 phần 
ââsdd9 8:57 1 8M 0 phần 
mmcblk0 179:0 0 29G 0 đĩa 
ââmmcblk0p1 179:1 0 256M 0 phần /boot
ââmmcblk0p2 179:2 0 28.7G 0 phần /

Tôi đã sử dụng Gentoo được 20 năm nên rất quen thuộc với việc xây dựng Kernel. tôi đã theo dõi cái này kế hoạch xuất sắc. Tôi đã kích hoạt CONFIG_ATA_GENERIC, CONFIG_SATA_AHCI, CONFIG_SATA_MV trong cấu hình. Quá trình xây dựng không thành công với mô-đun libahci bị thiếu:

Gỡ lỗi: mô-đun-kiểm tra-raspi
II: Kiểm tra các mô-đun cho raspi...
   đọc các mô-đun mới...đọc 4271 mô-đun.
   đọc các mô-đun cũ ...
      BỎ LỠ: libahci
      đọc 4272 mô-đun : mới(0) thiếu(1)
EE: Thiếu các mô-đun (bắt đầu cầu xin sự thương xót)
thực hiện: *** [debian/rules.d/4-checks.mk:10: module-check-raspi] Lỗi 1

Tôi không thể tìm thấy lý do tại sao điều này đã thất bại. Các trình điều khiển dường như ở đó như được hiển thị bởi điều này:

**tìm ~/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

Bất kỳ ý tưởng nhiều đánh giá cao.

----------------------------- CHỈNH SỬA -------------------- -------------

Tình cờ tôi phát hiện ra rằng RaspiOS 64 bit mới nhất đã tích hợp hỗ trợ SATA. Đây là hình ảnh 2021-05-07-raspios-buster-arm64-lite. Do đó, tôi có thể giải cứu Nhóm ZFS của mình và tiếp tục mà không gặp rắc rối về việc cố gắng biên dịch hạt nhân!

Điểm:0
lá cờ 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.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.