From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 6 Oct 2021 12:43:50 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20211006104350.6pfvmyfgdwdpwm3z@example.org> References: <20210331081712.hp2rhiggtrficn23@example.org> <20210412120723.klixkk5uipq56nrb@example.org> <20211005185449.d7bno32xduorf7wk@example.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [make-initrd] =?utf-8?b?0JrQsNC6INC/0L7Qu9GM0LfQvtCy0LDRgtGM0YE=?= =?utf-8?b?0Y8g0YTQuNGH0LXQuSBraWNrc3RhcnRlcj8=?= X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Oct 2021 10:43:51 -0000 Archived-At: List-Archive: On Wed, Oct 06, 2021 at 05:03:56PM +0700, Антон Мидюков wrote: > >> Алексей, я посмотрел README этой фичи. В ней есть то, что мне надо - возможность > >> расширить корневой раздел на всё свободное пространство: > >> > >> * `--grow` - Tells the partition to grow to fill available space (if any). > >> > >> команда, получается: > >> > >> part / --grow > >> > >> Я правильно понимаю? Т.е. для моей задачи скрипт будет состоять из одной строки? > > > > Если всё будет работать правильно, то да )) > > Работает не так, как я было подумал :) Создаётся новый раздел из свободного пространства. Сначала хотел возражать, но потом посмотрел в код )) Да, сейчас part делает новый раздел, который может занять всё свободное пространство. Нужно подумать как это лучше исправить. То ли я не так понял какое-то сочетание опций part, то ли я правильно всё понял и нужно сделать отдельную resize. > Не хватает возможности использовать в качестве корня раздел, указанный в cmdline, как root=<такой-то>. > Кажется логичным такое поведение: > Если указан root=<такой-то>, то именно он должен считаться '/'. И операции совершаем над разделом, а не > создаём новый. > Если не указан root=<такой-то>, то поведение как сейчас. А если захочется изменять размер не /, а /home ? Составление fstab это несколько отдельная задача. Я согласен, что при его составлении можно было бы учитывать root= в cmdline, если корень явно не переопределён в сценарии. > >> Но фича может очень много всего. Отсюда вопрос, можно ли использовать условия в скрипте? > > > > Я много думал про это. С одной стороны это технически возможно так как > > парсер написан на шелле. Но я подумал, что будет лучше иметь совместимость > > с redhat kickstart [1]. > > > > Произвольный код вставлять в скрипт нельзя, но за счёт этого позволяется > > до некоторой степени указывать команды в произвольном порядке. > > > > Произвольный код можно указывать в специальных секциях %pre, %%post, > > %onerror. > > > >> Команды внешние? > > > > В сценарии нет. В секциях да [2]. > > > > Ага, понятно. А как продолжить загрузку? Я так понимаю, что изначально рассчитано на то, что > производим манипуляции и прекращаем загрузку, перезагружаем или выключаем компьютер. > А мне нужно резайцнуть корневой раздел и продолжить загрузку. Если kickstart был активирован через ksfile= в cmdline, то при загрузке сервис kickstart поставит на паузу некоторые очереди (udev и md-raid-member) и остановит текущий метод загрузки. После выполнения сценария сервис снимет очереди с паузы и восстановит текущий метод. Таким образом, если в /mnt/root будет что-то смонтировано (все команды монтируют созданные разделы туда) и там будет init=, то должна начаться загрузка с этого корня. -- Rgrds, legion