[sisyphus] make-initrd

Михаил Новоселов mikhailnov на dumalogiya.ru
Чт Июн 18 17:19:20 MSK 2020


18.06.2020 09:01, Игорь Андросов пишет:
>
>
> чт, 18 июн. 2020 г. в 00:48, Михаил Новоселов <mikhailnov на dumalogiya.ru <mailto:mikhailnov на dumalogiya.ru>>:
>
>     17.06.2020 22:14, Игорь Андросов пишет:
>>     ср, 17 июн. 2020 г. в 21:53, Михаил Новоселов <mikhailnov на dumalogiya.ru <mailto: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), не знаю, затрудняюсь прокручивать в голове такие схемы, поэтому не использую их

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


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