Bug 47045 - Не добавляет в initrd phy-rockchip-emmc.ko
Summary: Не добавляет в initrd phy-rockchip-emmc.ko
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd (show other bugs)
Version: unstable
Hardware: aarch64 Linux
: P5 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-07-27 10:52 MSK by Антон Мидюков
Modified: 2023-08-17 16:43 MSK (History)
5 users (show)

See Also:


Attachments
make-initrd-bugreport (1.25 MB, application/x-bzip)
2023-07-27 10:52 MSK, Антон Мидюков
no flags Details
make-initrd -v (10.55 KB, text/plain)
2023-07-27 10:53 MSK, Антон Мидюков
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2023-07-27 10:52:03 MSK
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, перезагружаюсь успешно.
Возможно ли с этим что-то поделать?
Comment 1 Антон Мидюков 2023-07-27 10:53:39 MSK
Created attachment 13934 [details]
make-initrd -v
Comment 2 Alexey Gladkov 2023-07-28 11:59:50 MSK
Попробую что-нибудь придумать.
Comment 3 Alexey Gladkov 2023-08-16 12:47:21 MSK
А какой модуль добавляется через 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
Comment 4 Alexey Gladkov 2023-08-16 12:54:46 MSK
Вижу в исходниках ядра:

obj-$(CONFIG_PHY_ROCKCHIP_EMMC) += phy-rockchip-emmc.o

$ grep -c CONFIG_PHY_ROCKCHIP_EMMC config-6.4.10-un-def-alt1 
0
Comment 5 Антон Мидюков 2023-08-16 12:56:01 MSK
(Ответ для Alexey Gladkov на комментарий #3)
> А какой модуль добавляется через phy_rockchip_emmc, это алиас ?
> 
> Я не могу такой найти ничего подобного в un-def:
> 

На aarch64 у ядер std-def и un-def:
kernel/drivers/phy/rockchip/phy-rockchip-emmc.ko

Да, алиас получается. Смотрел вывод lsmod.
Comment 6 Alexey Gladkov 2023-08-16 13:23:52 MSK
Это не через какой-нибудь devicetree подгружается ?

Вопрос, возможно, глупый так как я не знаком devicetree, а в ядре упоминание phy_rockchip_emmc только в контексте devicetree.
Comment 7 Alexey Gladkov 2023-08-16 13:27:17 MSK
Посмотрел в kernel-image-un-def-6.4.10-alt1.aarch64.rpm и похоже на то.
Comment 8 Alexey Gladkov 2023-08-16 14:31:13 MSK
Видно, что phy-rockchip-emmc нужен для вот этого устройства:

/sys/devices/platform/ff770000.syscon/ff770000.syscon:phy@f780/uevent

но на него нет зависимостей для корня.
Comment 9 Alexey Gladkov 2023-08-16 14:49:09 MSK
ok. я нашёл связь, но пока непонятно можно ли так делать.
Comment 10 Alexey Gladkov 2023-08-16 17:16:24 MSK
В целом, реализация получилась не особо сложная:

https://github.com/osboot/make-initrd/commit/f82b8eb5060a6e5f4db2dd77fc5d110f77502112
Comment 11 Антон Мидюков 2023-08-16 17:32:24 MSK
(Ответ для Alexey Gladkov на комментарий #10)
> В целом, реализация получилась не особо сложная:
> 
> https://github.com/osboot/make-initrd/commit/
> f82b8eb5060a6e5f4db2dd77fc5d110f77502112

Проверил. Модуль добавился, система загрузилась. Спасибо!
Comment 12 Repository Robot 2023-08-17 16:43:11 MSK
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.