Я пытаюсь скомпилировать ядро с поддержкой SATA_AHCI и MARVELL для Ubuntu 20.04lts для работы на вычислительном модуле Raspberry Pi 4.
Мне удалось сделать это с помощью RaspiOS. Моя карта SATA PCI с 4-дисковым пулом ZFS RaidZ2 работает нормально.
**lsblk**
НАИМЕНОВАНИЕ MAJ:MIN RM РАЗМЕР RO ТИП ТОЧКА КРЕПЛЕНИЯ
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 часть /boot
ââmmcblk0p2 179:2 0 28.7G 0 часть /
Я использую Gentoo уже добрых 20 лет, поэтому хорошо знаком с созданием ядер.
Я последовал за это отличный план.
Я включил CONFIG_ATA_GENERIC, CONFIG_SATA_AHCI, CONFIG_SATA_MV в конфигурации. Сборка завершается сбоем из-за отсутствующего модуля libahci:
Отладка: модуль-проверка-распи
II: Проверка модулей на rasp...
чтение новых модулей... чтение 4271 модуля.
чтение старых модулей...
МИСС: либахчи
прочитать 4272 модуля: новые (0) отсутствуют (1)
EE: Отсутствующие модули (начинайте просить пощады)
make: *** [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
Любые идеи высоко ценятся.
----------------------------- РЕДАКТИРОВАТЬ -------------------- -------------
Случайно я обнаружил, что последняя 64-битная версия RaspiOS имеет встроенную поддержку SATA. Это изображение 2021-05-07-raspios-buster-arm64-lite.
Поэтому я могу спасти свой пул ZFS и приступить к работе, не пытаясь компилировать ядра!