Здравствуйте, коллеги!
После долгих и непонятных проблем мне удалось таки сделать initrd образ, который хотя бы видит физические диски.
Правда мне пришлось посткпить весьма варварски.
С рабочей машины с Altlinux SP я полностью перенес /lib/modules/5.10.144-std-def-alt0.c9f.2 в initrd.
Лишь после этого udev увидел диски, но размер initrd вырос аж до 350Мб.
Многова-то не правда ли?)
Я пока не развлекался с уменьшение размера подбором архивации, тем не менее я понимаю, что перетащив целиком /lib/modules/5.10.144-std-def-alt0.c9f.2 я получил много чего не нужного.
Это все не нужное, хотелось бы выбросить. А как???
Ситуация, вообще, забавная: с родным initrd я отредактировал /init до следующего состояния:
#!/bin/bash -efu
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devtmpfs none /dev
mkdir /dev/pts
mount -t devpts none /dev/pts
udevd --daemon --resolve-names=never
udevadm trigger --type=subsystems --action=add >/dev/null 2>&1
udevadm trigger --type=devices --action=add >/dev/null 2>&1
/bin/bash
udev отрабатывает молча. Ни каких изменений в /dev не происходит.
Ни какие моды не подгружаются.
Если же я делаю все то же самое, но с замененным на полный /lib/modules/5.10.144-std-def-alt0.c9f.2 то скрипт выдает несколько десятков строк и обнаруживает диски, даже сеть можно настроить. Кроме того, lsmod выдает много всякой всячены:
Module Size Used by
ext2 94208 1
cirrus 16384 0
sr_mod 28672 0
cdrom 40960 1 sr_mod
sd_mod 61440 2
ppdev 20480 0
joydev 24576 0
drm_kms_helper 274432 3 cirrus
ata_generic 16384 0
cec 61440 1 drm_kms_helper
pata_acpi 16384 0
rc_core 53248 1 cec
ata_piix 36864 1
libata 290816 3 ata_piix,pata_acpi,ata_generic
drm 622592 3 drm_kms_helper,cirrus
scsi_mod 270336 3 sd_mod,libata,sr_mod
pcspkr 16384 0
psmouse 159744 0
input_leds 16384 0
serio_raw 16384 0
e1000 126976 0
i2c_piix4 24576 0
intel_agp 24576 0
intel_gtt 24576 1 intel_agp
evdev 24576 0
floppy 90112 0
tiny_power_button 16384 0
parport_pc 53248 0
parport 57344 2 parport_pc,ppdev
button 20480 0
Можно двигаться дальше! Только нужно выкинуть все лишнее из /lib/modules/5.10.144-std-def-alt0.c9f.2 а как это сделать я пока не придумал.
Есть и еще маленькая хотелка: хотелось бы отказаться от udev в initrd. Возможно ли это?