[make-initrd] [devel] syslinux

Michael A. Kangin mak at complife.ru
Mon Apr 22 21:00:34 MSK 2019


On 04/22/2019 02:04 AM, Alexey Gladkov wrote:

> Дело в том, что для самого себя писать документацию сложно. А заставить
> себя в такой ситуации ещё сложнее. Также вы же понимаете что когда один
> разрабатываешь что-то, то многие вещи кажутся самоочевидными.

Полностью понимаю и разделяю, сам такой.

Пожалуй, тут потребуется некоторое время на осознание новой информации.
Спасибо!



> Пожалуйста сделайте пример конфига, где это можно воспроизвести. Это очень
> странно.

Знаете, а сегодня он вдруг стал добавляться... С тем же конфигом...
я уж совсем было подумал, что кукушечкой поехал, но всё же удалось найти 
и формализовать это интересное поведение:

[root at Sisyphus 1]# make-initrd |grep ^Packed |cut -f-8 -d' '
Packed modules: 8139cp 8390 9pnet 9pnet_virtio af_packet ahci

[root at Sisyphus 1]# touch 8139cp 8390 9pnet 9pnet_virtio af_packet ahci

[root at Sisyphus 1]# make-initrd |grep ^Packed |cut -f-8 -d' '
Packed modules: 8390 9pnet 9pnet_virtio ata_generic ata_piix autofs4


[root at Sisyphus 1]# rpm -V make-initrd
S.5....T.  c /etc/initrd.mk
[root at Sisyphus 1]# rpm -q make-initrd
make-initrd-2.3.0-alt1.x86_64
[root at Sisyphus 1]#

А у меня там директория вчера была, nfs называлась...

конфиг наверное уже не интересен, но он был вот такой например:
[root at Sisyphus 1]# cat /etc/initrd.mk
# trying to detect modules and features to access to root volume
AUTODETECT = all
MODULES_PRELOAD += autofs4
FEATURES += nfsroot
DISABLE_GUESS += ucode



>> Если в рантайме нужно делать какие-то мелкие действия, обязательно ли
>> оформлять для этого init.d/сервис, или есть какой-то аналог rc.local?
> 
> Не понял вопроса.

Проблема в основном связана с загрузкой дополнительных initramfs.

Если я гружу дополнительный дебаг-образ с башем, то мне хочется сразу 
менять шелл для рута на bash.
(кстати, попробуйте: http://mak.complife.ru/MI2/debug.cpio - с башем, 
мышью, dropbear&scp, и прочие lspci)

Если я гружу какие-то дополнительные модули, мне нужно будет выполнить 
"depmod -a" перед запуском сервиса modules.

Сейчас я на каждое такое действие делаю init-файл и заботливо руками 
раскладываю ссылки по rcN.d, но мне кажется, это немного overhead.

С systemd вопросов бы не возникнуло, там это очень хорошо делается через 
name.type.d/some.conf - и pre, и post к любому юниту-таргету.

> Я очень долго просил откликнуться тех у кого есть фичи, чтобы помочь в
> адаптации. Всем кто откликнулся я помог.

Пардон, как-то мимо пролетело, не заметил..

> P.S. Уф. У вас длинное письмо. Я постарался ответить на всё. Извините,
> если получилось слишком много.

MOAAARR! :)


> P.P.S. Если вы найдёте время помочь мне с документацией того, что мы тут
> обсуждаем, то вы мне очень поможете сделать всё понятнее.

Присоединюсь к ребятам по мере возможностей. Наверное, с таким 
коллективным творчеством лучше будет на вики пару технических страничек 
завести.


>> - фразой "Optionally set <macaddr> on the <interface>" на самом деле 
>> описывается поведение "переименование сетевого интерфейса, имеющего 
>> MAC-адрес <macaddr> в новое имя <interface>, (если оно свободно, иначе 
>> ошибка)".
> 
> Да, а вы ожидали другого ?

Само поведение норм, но прочёв эту фразу, я подумал об "ip link set eth0 
address 02:01:02:03:04:08"


>> Не знаю, являются ли ошибкой следующие поведения:
>> - при конфигурации "ip=dhcp nameserver=8.8.8.8" в /etc/resolv.conf 
>> попадают сервера, как указанные вручную, так и добытые с помощью DHCP. Я 
>> могу представить ситуацию, когда хотелось бы избавиться от автоматически 
>> предлагаемых серверов вообще (кроме того, был бы нелишний параметр для 
>> search - для подстановки домена)
> 
> Вы предполагаете, что параметры nameserver перетрут значения из DHCP ? Я
> старался сделать как в RH в этом месте.

Тут я не очень уверен. Возможно, стоит опросить общественность.
Иногда можно напороться на кривой DNS, настроенный на каком-нибудь 
Длинке, и бывают ситуации, когда по DHCP хочется взять только адрес, но 
ничего более.
Не думаю, что это будет применимо к сценариям сетевой загрузки хостов.

В любом случае, кажется указанные руками сервера прописываются первыми, 
и, значит, будут иметь приоритет.


More information about the Make-initrd mailing list