[make-initrd] [devel] syslinux

Alexey Gladkov legion at altlinux.ru
Mon Apr 22 22:14:35 MSK 2019


On Mon, Apr 22, 2019 at 08:00:34PM +0200, Michael A. Kangin 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

Бага. Очень здорово, что вы её нашли!

> Проблема в основном связана с загрузкой дополнительных 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 к любому юниту-таргету.

При запаковке образа легче lsb-хэдер написать и ссылки будут созданы сами.
Не думал, что кто-то будет делать их руками.

> > 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 хочется взять только адрес, но 
> ничего более.
> Не думаю, что это будет применимо к сценариям сетевой загрузки хостов.
> 
> В любом случае, кажется указанные руками сервера прописываются первыми, 
> и, значит, будут иметь приоритет.
 
Я попробую что-нибудь тут сделать.

-- 
Rgrds, legion



More information about the Make-initrd mailing list