[make-initrd] [PATCH v1 03/41] fork pipeline: 10 new files added

Leonid Krivoshein klark.devel at gmail.com
Mon Sep 27 16:03:17 MSK 2021


27.09.2021 11:45, Alexey Gladkov пишет:
> On Sun, Sep 26, 2021 at 09:41:49PM +0300, Leonid Krivoshein wrote:
>> [...]
>>> Это же относится
>>> и к README.md. Там ни слова про то что это. Только название и параметры.
>> Вот тут я не очень понял. Исходный pipeline содержал README.md, я просто
>> скопировал отдельно описание getimage и waitdev, оставив на месте основной
>> исходник. Фича pipeline же тоже осталась. В новой версии описания я просто
>> добавил ссылку смотреть пока в README от pipeline.
> # Feature bootchain-getimage
>
> This is not a standalone feature. This is an add-on to the bootchain
> feature. It allows to get a remote image and mount it. This is useful for
> network boot.
>
> ## Boot parameters
>
> ...
>
> Что-нибудь такое или получше.

Понял, сделаю.


>> Второй момент заключается в том, что я не прочь потренироваться в написании
>> README и коммит-мессаджей, тем более, по плану до начала апстрима собирался
>> их написать. Но вот на один README для interactive у меня вся ночь ушла.
>>
>> Третий момент заключается в том, что ранее ты предлагал сам перевести
>> README, если я сделаю документацию на русском. Вот на родном могу написать
>> хорошо и быстро, но у тебя вроде пока нигде в фичах пока нет README.ru.md, а
>> так я уже думал на эту тему.
> Русской документации пока нет.

Мне всё равно нужен такой опыт, но сейчас главный вопрос времени. Нужно 
быстрее или чтобы было обязательно всё и на английском?


> [...]
>>> По сути всё тело функции можно заменить:
>>>
>>> find /sys/devices -mindepth 2 -maxdepth 3 -type f -path "/sys/devices/pci*/$glob/modalias" | sort |
>>> while read -r path; do
>>> 	read -r modalias < "$path"
>>> 	path="${path%/modalias}"
>>> 	printf '%s %s\n' "${path##*/}" "$modalias"
>>> done
> В приведённом выше коде я не уверен в необходимости первой колонки.
>
>> Давай переделаю, как ты предлагаешь. machine-info вместе с частью
>> OEM-установки драйверов это всё равно та часть, которую я сначала предлагал
>> написать полностью тебе, но потом всё же изобразил какое-то её подобие. Ты
>> сначала было даже хотел, а потом решил, что в твоих применениях проще
>> пересобрать initrd, но для уже выпущенных дистрибутивов это действительно
>> важно.
> Я помню, что был разговор про OEM, но плохо помню детали.
> И если нужен точный слепок машины, то почему например не использовать:
>
> dmidecode | sed -n -e '/^Table at /,/^End Of Table$/p' | sha256sum
>
> ?

Наверное, плохо тащить в initramfs целую тулзу, да ещё и полагаться на 
низменность её выходного потока, тогда как отсортированный вывод 
стандартных полей DMI INFO обычно неизменен. В начале 90-х, помнится, 
для решения подобных задач просто привязывались к какой-нибудь сигнатуре 
BIOS.


>> Предметным вопросом для обсуждения тут конечно является обсуждение
>> принадлежности machine-info к той или иной фиче. У меня она используется в
>> localdev (altboot), в части, отвечающей за пропагаторный параметр
>> UPDATEMODULES. Но она может пригодиться и для деплоя, и много где ещё.
>> Может, её вынести уровнем ещё выше, сделать частью самого make-initrd? К
>> bootchain-core она точно не имеет отношения.
> Я до сих пор не очень понимаю назначение machine-info. Когда ты
> рассказывал юскейс, то он мне тогда казался хакерством каким-то.

Задача вычислить уникальный хэш для типа компьютера и для конкретного 
экземпляра данного типа. И то, и другое, может быть полезно для 
автоматизации развёртывания, для определения набора необходимых 
драйверов, для привязки сценариев, для всяких бэкапов. Поскольку я 
полагал, что функционал будет использован не только в altboot/localdev, 
но и другими шагами для деплоя, убрал уровнем выше -- в bootchain-core. 
Но возможно правильней будет данную утилиту отдельно опакетить и тащить 
тем фичам, которым она действительно нужна. Хотя, если на определённые 
хэши вешать хуки make-initrd для решения известных проблем, она может 
пригодиться и в самом make-initrd. Ещё можно сделать отдельную фичу 
machine-info, чтобы она считала эти хэши и клала их в определённые 
места, например в /run/machine-info/.


-- 
Best regards,
Leonid Krivoshein.



More information about the Make-initrd mailing list