[make-initrd] udhcpc script в фиче network

Leonid Krivoshein klark.devel at gmail.com
Fri Sep 24 21:35:33 MSK 2021


24.09.2021 20:31, Leonid Krivoshein пишет:
>> Также я уже говорил, что я думаю про дёргание 
>> /lib/initrd/cmdline.d/network.
>>
>> http://git.altlinux.org/tasks/index/sisyphus/tested/285722/gears/100/git?p=git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=9f555ab3a44c83e2c54c949f2d9401d6f6995ed2;hb=0b2522e81ea6279295bae02a8aa77e84c86d3918#l56 
>>
>>
>> Этот шаг можно выполнить лишь один раз.
>
> Не согласен! :-) И waitnet демонстрирует это без чистки предыдущей 
> конфигурации. Объясню почему. Сейчас waitnet смотрит, была ли 
> выполнена конфигурация. И если конфигурировался только lo, то 
> повторный запуск без чистки ни на что не повлияет. Он же не создаст 
> дублирующего правила udev, т.к. перед дёрганием явно задаётся IFNAME="0".
>
>
>> Это не вяжется у меня с
>>
>> "Can't bridge up network interface. Try with other network settings, 
>> wired
>> connection and/or cable."
>>
>> Если пользователь попробует тот же интерфейс с другими настройками, то
>> второй раз проверки не будет ???
>
> На этом диалоге ранее выполнялся перезапуск машины, в версии 
> 0.1.5-alt3 решил в этом месте перезапустить altboot -- сейчас тут 
> возврат в начальное меню, где можно выбрать другой метод загрузки, не 
> по сети. Т.е., прошло 16 секунд, сеть так и не поднялась. Если этого 
> мало, пользователь дойдёт сюда снова. Но может и другой путь выбрать 
> для загрузки. 

Кажется, я только сейчас понял вопрос и замечание.

С одной стороны, в коде сейчас проверяется IP=0: если да, и другие тоже, 
значит конфигурирование через /proc/cmdline не выполнено. И в 
/.initrd/initenv сохраняется IP=1, после чего разово дёргается 
/lib/initrd/cmdline.d/network, которая до этого для именно 
конфигурирования настоящих интерфейсов толком не использовалась. И далее 
стоит ожидание поднятия какой-нибудь сети, также обёрнутое в проверку 
наличия файла -- если он создан, в нём имя поднятого интерфейса. Так что 
в диалогах можно повторять этот квест многократно, к повторным дёрганиям 
фичи network это не приведёт и лишний раз не будет проверяться наличие 
сети, если оно было выполнено ранее.

Но, т.к. waitnet -- времянка и proof of concept, назвать всё её нынешнее 
поведение правильным нельзя и потенциально при доводке данного шага до 
задуманного netconfig/netsetup непременно возникнет та проблема, о 
которой ты говоришь, и без договорённости её конечно не решить. Так что 
обсуждать эти тонкие моменты более тесной интеграции всё равно придётся. 
Разумеется, если шаг/диалог будет предусматривать возможность 
неоднократно настраивать сеть, её и опускать надо аккуратно, и 
конфигурацию очищать, и network должен быть готов к тому, чтобы его 
можно было повторно дёргать.


-- 
Best regards,
Leonid Krivoshein.



More information about the Make-initrd mailing list