Created attachment 13933 [details] make-initrd-bugreport Имеется одноплатный компьютер NanoPC-T4 на SoC Rockchip RK3399. Система находится на eMMC. Выполняю make-initrd, модуль kernel/drivers/phy/rockchip/phy-rockchip-emmc.ko в initrd не попадает. Загрузка останавливается на initrd, /dev/mmcblk2 нет. Добавляю в /etc/initrd.mk: MODULES_TRY_ADD += phy_rockchip_emmc выполняю make-initrd, перезагружаюсь успешно. Возможно ли с этим что-то поделать?
Created attachment 13934 [details] make-initrd -v
Попробую что-нибудь придумать.
А какой модуль добавляется через phy_rockchip_emmc, это алиас ? Я не могу такой найти ничего подобного в un-def: $ modinfo -k 6.4.10-un-def-alt1 phy_rockchip_emmc modinfo: ERROR: Module phy_rockchip_emmc not found. Я и в репозитории не могу найти emmc для rockchip: $ grep emmc /ALT/Sisyphus/{x86_64,noarch}/base/contents_index |grep '\.ko' /ALT/Sisyphus/x86_64/base/contents_index:/lib/modules/6.1.38-rt-alt1.rt12/kernel/drivers/phy/intel/phy-intel-lgm-emmc.ko kernel-image-rt /ALT/Sisyphus/x86_64/base/contents_index:/lib/modules/6.1.45-std-def-alt1/kernel/drivers/phy/intel/phy-intel-lgm-emmc.ko kernel-image-std-def /ALT/Sisyphus/x86_64/base/contents_index:/lib/modules/6.4.10-un-def-alt1/kernel/drivers/phy/intel/phy-intel-lgm-emmc.ko kernel-image-un-def Всё что удалось найти похожее: $ grep phy.rockchip.emmc /ALT/Sisyphus/{x86_64,noarch}/base/contents_index /ALT/Sisyphus/noarch/base/contents_index:/usr/share/doc/kernel-doc-rbs-5.15.106/devicetree/bindings/phy/rockchip-emmc-phy.txt kernel-doc-rbs /ALT/Sisyphus/noarch/base/contents_index:/usr/share/doc/kernel-doc-std-6.1.45/devicetree/bindings/phy/rockchip-emmc-phy.txt kernel-doc-std /ALT/Sisyphus/noarch/base/contents_index:/usr/share/doc/kernel-doc-un-6.4.10/devicetree/bindings/phy/rockchip-emmc-phy.txt kernel-doc-un
Вижу в исходниках ядра: obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o $ grep -c CONFIG_PHY_ROCKCHIP_EMMC config-6.4.10-un-def-alt1 0
(Ответ для Alexey Gladkov на комментарий #3) > А какой модуль добавляется через phy_rockchip_emmc, это алиас ? > > Я не могу такой найти ничего подобного в un-def: > На aarch64 у ядер std-def и un-def: kernel/drivers/phy/rockchip/phy-rockchip-emmc.ko Да, алиас получается. Смотрел вывод lsmod.
Это не через какой-нибудь devicetree подгружается ? Вопрос, возможно, глупый так как я не знаком devicetree, а в ядре упоминание phy_rockchip_emmc только в контексте devicetree.
Посмотрел в kernel-image-un-def-6.4.10-alt1.aarch64.rpm и похоже на то.
Видно, что phy-rockchip-emmc нужен для вот этого устройства: /sys/devices/platform/ff770000.syscon/ff770000.syscon:phy@f780/uevent но на него нет зависимостей для корня.
ok. я нашёл связь, но пока непонятно можно ли так делать.
В целом, реализация получилась не особо сложная: https://github.com/osboot/make-initrd/commit/f82b8eb5060a6e5f4db2dd77fc5d110f77502112
(Ответ для Alexey Gladkov на комментарий #10) > В целом, реализация получилась не особо сложная: > > https://github.com/osboot/make-initrd/commit/ > f82b8eb5060a6e5f4db2dd77fc5d110f77502112 Проверил. Модуль добавился, система загрузилась. Спасибо!
make-initrd-2.38.0-alt1 -> sisyphus: Thu Aug 17 2023 Alexey Gladkov <legion@altlinux.ru> 2.38.0-alt1 - New version (2.38.0). - Runtime: + Rename monotonic-timestamp -> timestamp. + Use boottime instead of monotonic time (ALT#47188). - Feature dropbear: + Mount devpts if not mounted (ALT#47216). - Guess subsystem: + Add device suppliers to initrd (ALT#47045). - Remove unsupported bootloader feature.