@HighMan

Как переделать initrd (Altlinux 8 SP)?

Здравствуйте, коллеги!
После долгих и непонятных проблем мне удалось таки сделать 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. Возможно ли это?
  • Вопрос задан
  • 139 просмотров
Пригласить эксперта
Ответы на вопрос 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
нужно выкинуть все лишнее из /lib/modules/5.10.144-std-def-alt0.c9f.2

Это сравнительно легко сделать: нужно оставить только те модули, которые видны в lsmod после успешной загрузки.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы