From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 5 Oct 2021 20:54:49 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20211005185449.d7bno32xduorf7wk@example.org> References: <20210331081712.hp2rhiggtrficn23@example.org> <20210412120723.klixkk5uipq56nrb@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: Tue, 05 Oct 2021 18:54:51 -0000 Archived-At: List-Archive: On Tue, Oct 05, 2021 at 11:20:48PM +0700, Антон Мидюков wrote: > 12.04.2021 19:07, Alexey Gladkov пишет: > > On Wed, Mar 31, 2021 at 10:17:12AM +0200, Alexey Gladkov wrote: > >> # Фича kickstarter > >> > >> Я нашёл у себя в архиве наброски kickstarter, который я делал ещё для > >> server4. Мне подумалось адаптировать этот код или скорее написать его с > >> нуля в качестве фичи. Синтаксис этого кикстартера была сильно похожа на > >> старый redhat kickstarter. Пока это только мысли так как пока непонятно > >> как это лучше интегрировать и вызывать. > > > > В целом, после выходных у меня получилось реализовать базовый функционал > > ignoredisk, clearpart, part, volgroup, logvol... на очереди raid и btrfs. > > Ну и потом всё это буду тестировать. Я также планирую реализовать liveimg. > > Возможно ещё какие-то, если понадобиться по ходу тестирования. > > > > Остальные команды я не планирую реализовывать (я же не инсталлер). > > > > Вариантов запуска kickstarter пока два: > > > > 1. Сервис в initrd будет дёргать сценарий по параметру в cmdline. > > 2. Будет отдельный шаг в pipeline. > > > > Алексей, я посмотрел README этой фичи. В ней есть то, что мне надо - возможность > расширить корневой раздел на всё свободное пространство: > > * `--grow` - Tells the partition to grow to fill available space (if any). > > команда, получается: > > part / --grow > > Я правильно понимаю? Т.е. для моей задачи скрипт будет состоять из одной строки? Если всё будет работать правильно, то да )) > Скрипт будет внутри initrd? Как его туда положить? Так: > > PUT_FILES += <путь до скрипта> > > ? Например: KICKSTART_CONFIGS += /path/to/ks.cfg Их можно положить несколько. > И затем добавить в cmdline ядра: > ksfile=<путь до скрипта> > > ? Нужно указать имя файла: ksfile=ks.cfg > Но фича может очень много всего. Отсюда вопрос, можно ли использовать условия в скрипте? Я много думал про это. С одной стороны это технически возможно так как парсер написан на шелле. Но я подумал, что будет лучше иметь совместимость с redhat kickstart [1]. Произвольный код вставлять в скрипт нельзя, но за счёт этого позволяется до некоторой степени указывать команды в произвольном порядке. Произвольный код можно указывать в специальных секциях %pre, %%post, %onerror. > Команды внешние? В сценарии нет. В секциях да [2]. > Например, посмотреть сколько свободного незанятого разделами места. Если больше такого-то значения, > то создаём дополнительно раздел /home. И в зависимости от количества оперативной памяти добавляем swap такого-то > размера. Решение похожих проблем есть в гугле для redhat kickstart. Также один из примеров [2]. Но если ты скажешь, что что-то делать очень неудобно, то можно расширить функционал. [1] https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html [2] https://pykickstart.readthedocs.io/en/latest/kickstart-docs.html#example -- Rgrds, legion