<div dir="ltr">В общем только сейчас дошли руки попробовать ваш сценарий.<div>Установить систему, без серьезных извращений, в субвол у меня не получилось. Вариант ставить в корень (btrfs) делать снапшот и переключать туда все, на мой взгляд требует очень много телодвижений и дает так же много возможности ошибиться.</div><div>Попробовал простой вариант для вашего сценария, который я предполагал как работающий.</div><div>1. Запускаем установку системы, </div><div>2. До момента разметки диска переключаемся в консоль и вручную создаем btrfs монтируем куда-нибудь, создаем субвол, и назначем его субволом по умолчанию, отмонтируем фс.</div><div>3. Продолжаем установку, вручную указываем точку монтирования / на нужном разделе, снимаем флаг форматировать ФС, доп опций не требуется.</div><div>4. Заканчиваем установку, перегружаемся.</div><div>Результат система и boot установлена в субвол, снапшоты можно делать на уровень выше корня. Доп опции типа rootflags не требуются. Если же отделить boot в отдельный раздел, то переключая субвол по умолчанию можно грузиться с нужного снапшота, вообще без изменений конфигов и других доп действий, boot в субволе меня напрягает так как не понятно какой из Boot субволов сейчас активный для загрузчика (тот субвол на котором делался последний раз grub-install?), откуда будут браться конфиг и ресерсы grub-а и ядро, </div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">чт, 18 июн. 2020 г. в 17:19, Михаил Новоселов <<a href="mailto:mikhailnov@dumalogiya.ru">mikhailnov@dumalogiya.ru</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>18.06.2020 09:01, Игорь Андросов пишет:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr"><br>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">чт, 18 июн. 2020 г. в 00:48,
Михаил Новоселов <<a href="mailto:mikhailnov@dumalogiya.ru" target="_blank">mikhailnov@dumalogiya.ru</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div>
<div>17.06.2020 22:14, Игорь Андросов пишет:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">ср, 17 июн. 2020 г. в 21:53, Михаил
Новоселов <<a href="mailto:mikhailnov@dumalogiya.ru" target="_blank">mikhailnov@dumalogiya.ru</a>>:<br>
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">17.06.2020
21:25, Alexey Gladkov пишет:<br>
> Учитывая, что я никогда не слышал жалоб про
btrfs, то<br>
> это была единственная используемая
конфигурация ))<br>
Давно не пробовал, но раньше, если система
стояла не в корне раздела btrfs, а в подтоме,
например, @, Альт был одним из немногих
дистрибутивов, для которых требовалось создать
/boot отдельным разделом, т.к. initrd иначе не
работал.<br>
</blockquote>
<div>Можно чуть детальней, то есть / не в
дефолтном подтоме, или в дефолтном но не 5
(основном)? </div>
</div>
</div>
</div>
</blockquote>
<p>Да. Есть раздел btrfs, внутри него btrfs subvolume
create @ , далее в папку @ поставить систему, опция
монтирования subvol=@</p>
<p>Так удобнее снапшотить систему, потому что:</p>
<p>1. все снапшоты недоступны даже на чтение, пока не
примонтируешь корень раздела в отдельную точку
монтирования с subvol=/ или без subvol=xxx, обычно это
полезно</p>
<p>2. исходный подтом и его снапшоты находятся на одном
уровне<br>
</p>
</div>
</blockquote>
<div>Структуру я примерно так и представил, но вопрос немного
в другом - для btrfs есть понятие дефолтный раздел, точка
которая монтируется по умолчанию, если не указан конкретный,
и тут возникает небольшой нюанс, если дефолт установлен на
субвол с корнем, то при монтировании без доп параметров мы
примонтируем этот субвол, и скорее всего так же поступит
драйвер fs загрузчика (не факт, нужно смотреть), однако если
дефолт установлен на 5 субвол (верхний в рамках фс), а в
fstab прописан конкретный субвол для маунта - то без
специальных танцев загрузчик скорее всего ничего не будет
знать про то какой именно субвол содержит / и
соотвтественно boot, когда он в нем.</div>
<div>Поэтому и вопрос - дефолт раздел переключен на субвол с
корнем системы, или нет.</div>
<div><br>
</div>
<div>Проблема скорее в загрузчике или генерации параметров для
него, но тут две ветви - либо загрузчик не корректно ловит
дефолт субвол, если он переключен на нужный, либо загрузчику
не переданы параметры (если это возможно) что нужно искать
boot в конкретном субволе (это предположение, по возможности
поиграюсь в свободное время)</div>
<div>Я не сталкивался с таким, так как у меня всегда boot в
отдельном разделе на ext2 чтобы по максимум не зависеть от
поддержки фс и их особенностей в загрузчике.</div>
</div>
</div>
</blockquote>
<p>1. в конфиге загрузчика должно быть "rootflags=subvol=@", в grub2
grub.cfg на многих дистрибутивах само попадает, как - не
разбирался, но можно и вручную прописать в
/etc/{sysconfig,default}/grub<br>
2. путь к vmlinuz и initrd прописывается для корня системы,
примонтированного без указания конкретного subvol:<br>
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<br>
initrd /@/boot/initrd.img-4.15.0-64-generic<br>
3. initrd должен уметь работать с "rootflags=subvol=@" и включать
эти параметры в параметры монтирования нового корня</p>
<p>Что будет, если менять дефолтный subvol с помощью btrfs(8), не
знаю, затрудняюсь прокручивать в голове такие схемы, поэтому не
использую их<br>
</p>
</div>
_______________________________________________<br>
Sisyphus mailing list<br>
<a href="mailto:Sisyphus@lists.altlinux.org" target="_blank">Sisyphus@lists.altlinux.org</a><br>
<a href="https://lists.altlinux.org/mailman/listinfo/sisyphus" rel="noreferrer" target="_blank">https://lists.altlinux.org/mailman/listinfo/sisyphus</a></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>С уважением Игорь.<br></div></div></div>