[sisyphus] make-initrd

Игорь Андросов blacester на gmail.com
Чт Июн 25 00:09:14 MSK 2020


В общем только сейчас дошли руки попробовать ваш сценарий.
Установить систему, без серьезных извращений, в субвол у меня не
получилось. Вариант ставить в корень (btrfs) делать снапшот и переключать
туда все, на мой взгляд требует очень много телодвижений и дает так
же много возможности ошибиться.
Попробовал простой вариант для вашего сценария, который я предполагал как
работающий.
1. Запускаем установку системы,
2. До момента разметки диска переключаемся в консоль и вручную создаем
btrfs монтируем куда-нибудь, создаем субвол, и назначем его субволом по
умолчанию, отмонтируем фс.
3. Продолжаем установку, вручную указываем точку монтирования / на нужном
разделе, снимаем флаг  форматировать ФС, доп опций не требуется.
4. Заканчиваем установку, перегружаемся.
Результат система и boot установлена в субвол, снапшоты можно делать на
уровень выше корня. Доп опции типа rootflags не требуются. Если же отделить
boot в отдельный раздел, то переключая субвол по умолчанию можно грузиться
с нужного снапшота, вообще без изменений конфигов и других доп действий,
boot в субволе меня напрягает так как не понятно какой из Boot
субволов сейчас активный для загрузчика (тот субвол на котором делался
последний раз grub-install?), откуда будут браться конфиг и ресерсы grub-а
и ядро,


чт, 18 июн. 2020 г. в 17:19, Михаил Новоселов <mikhailnov на dumalogiya.ru>:

> 18.06.2020 09:01, Игорь Андросов пишет:
>
>
>
> чт, 18 июн. 2020 г. в 00:48, Михаил Новоселов <mikhailnov на dumalogiya.ru>:
>
>> 17.06.2020 22:14, Игорь Андросов пишет:
>>
>> ср, 17 июн. 2020 г. в 21:53, Михаил Новоселов <mikhailnov на dumalogiya.ru>:
>>
>>> 17.06.2020 21:25, Alexey Gladkov пишет:
>>> > Учитывая, что я никогда не слышал жалоб про btrfs, то
>>> > это была единственная используемая конфигурация ))
>>> Давно не пробовал, но раньше, если система стояла не в корне раздела
>>> btrfs, а в подтоме, например, @, Альт был одним из немногих дистрибутивов,
>>> для которых требовалось создать /boot отдельным разделом, т.к. initrd иначе
>>> не работал.
>>>
>> Можно чуть детальней, то есть / не в дефолтном подтоме, или в дефолтном
>> но не 5 (основном)?
>>
>> Да. Есть раздел btrfs, внутри него btrfs subvolume create @ , далее в
>> папку @ поставить систему, опция монтирования subvol=@
>>
>> Так удобнее снапшотить систему, потому что:
>>
>> 1. все снапшоты недоступны даже на чтение, пока не примонтируешь корень
>> раздела в отдельную точку монтирования с subvol=/ или без subvol=xxx,
>> обычно это полезно
>>
>> 2. исходный подтом и его снапшоты находятся на одном уровне
>>
> Структуру я примерно так и представил, но вопрос немного в другом - для
> btrfs есть понятие дефолтный раздел, точка которая монтируется по
> умолчанию, если не указан конкретный, и тут возникает небольшой нюанс, если
> дефолт установлен на субвол с корнем, то при монтировании без доп
> параметров мы примонтируем этот субвол, и скорее всего так же поступит
> драйвер fs загрузчика (не факт, нужно смотреть), однако если дефолт
> установлен на 5 субвол (верхний в рамках фс), а в fstab прописан конкретный
> субвол для маунта - то без специальных танцев загрузчик скорее всего ничего
> не будет знать про то какой именно субвол содержит / и соотвтественно boot,
> когда он в нем.
> Поэтому и вопрос - дефолт раздел переключен на субвол с корнем системы,
> или нет.
>
> Проблема скорее в загрузчике или генерации параметров для него, но тут две
> ветви - либо загрузчик не корректно ловит дефолт субвол, если он
> переключен на нужный, либо загрузчику не переданы параметры (если это
> возможно) что нужно искать boot в конкретном субволе (это предположение, по
> возможности поиграюсь в свободное время)
> Я не сталкивался с таким, так как у меня всегда boot в отдельном
> разделе на ext2 чтобы по максимум не зависеть от поддержки фс и их
> особенностей в загрузчике.
>
> 1. в конфиге загрузчика должно быть "rootflags=subvol=@", в grub2 grub.cfg
> на многих дистрибутивах само попадает, как - не разбирался, но можно и
> вручную прописать в /etc/{sysconfig,default}/grub
> 2. путь к vmlinuz и initrd прописывается для корня системы,
> примонтированного без указания конкретного subvol:
> linux   /@/boot/vmlinuz-4.15.0-64-generic
> root=UUID=745b0c43-6a82-4bce-9821-7f5dd88a9246 ro rootflags=subvol=@
> resume=UUID=133b8284-7ef8-4010-b2ea-b524bddea7e0
> initrd  /@/boot/initrd.img-4.15.0-64-generic
> 3. initrd должен уметь работать с "rootflags=subvol=@" и включать эти
> параметры в параметры монтирования нового корня
>
> Что будет, если менять дефолтный subvol с помощью btrfs(8), не знаю,
> затрудняюсь прокручивать в голове такие схемы, поэтому не использую их
> _______________________________________________
> Sisyphus mailing list
> Sisyphus на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sisyphus



-- 
С уважением Игорь.
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/sisyphus/attachments/20200625/d9348848/attachment-0001.html>


Подробная информация о списке рассылки Sisyphus