[devel-distro] Несколько ядер в stage1 и stage2

Антон Мидюков midyukov-anton at ya.ru
Wed Feb 26 14:01:33 MSK 2020


26.02.2020 02:31, Leonid Krivoshein пишет:
>
> 25.02.2020 21:58, Антон Мидюков пишет:
>> 26.02.2020 01:31, Leonid Krivoshein пишет:
[...]
>> Я застрял на том, что надо как-то ядро выбирать в syslinux, grub и 
>> rEFInd. Подумай, как можно реализовать выбор ядер в них. В syslinux 
>> же и поправить название ядра нельзя интерактивно?
>
> Интерактивно не нужно. 

Нужно для проверки, работает вообще или нет :-) Я собрал 
regular-jeos-sysv.iso с grub-efi. Интерактивно поменял имя ядра и 
propagator. Загрузился удачно. Установился тоже удачно. Установились оба 
ядра. Инcталлятор править не нужно, если такое поведение устраивает, то 
только livecd-install нужно исправить.

Так что осталось только выбор ядер организовать при загрузке в syslinux, 
grub и rEFInd.

> То есть, кажется, в syslinux это было уже реализовано генерацией 
> отдельных пунктов и завязано на какую-то клавишу, типа F3, F4, F5. 
По F5 можно выбрать опции загрузки ядра: Default, Safe Settings, No 
ACPI, No Local APIC. Не уверен, что это то место, где нужно сделать 
выбор ядер.
> В grub'е тоже возможна завязка на горячие клавиши, но там структура 
> меню всё равно другой будет.
Можешь ссылками какими-нибудь поделиться? Я ничего нужного не нашёл.
> Там ещё нет локализации и брэндинга, так что на grub я бы пока не 
> ориентировался, хотя все очень ратуют ЗА него, ещё лучше к 9.1.

Да, можно и нужно сделать. Но на aarch64 похоже этого не сделать.

> В случае refind используется конгломерат загрузчиков, как там делать 
> -- лучше спросить у Николая Костригина и Михаила Шигорина, вроде эту 
> мешанину собирались упорядочить и перетащить в m-p из mkimage. Если не 
> изменяет память, второй уровень из текстовых строк в refind строить 
> можно (типа подменю), а на первый уровень места для значков может не 
> хватить.
>
Подменю нормальный вариант, что для rEFInd, что для grub.
>
>>
>> Но и актуализировать надо патчи, сейчас они не наложатся. Я начну их 
>> воскрешать. Потом нужно ещё livecd-install поправить (знаю где).
>>
>> По инсталлятору вопрос, как он их будет ставить? Его тоже надо будет 
>> смотреть и править (в него не заглядывал).
>>
>
> Инсталлятор ставит всё одним-двумя apt-get'ами по выбранному профилю 
> (alterator-pkg). По-минимуму, здесь придётся поправить лишь одно: 
> чтобы автоматически в этот выбор попадало то ядро, на котором 
> загрузились. Иначе последующий make-initrd приведёт к не очень 
> красивому бутсплэшу, а может, и железо будет определяться не совсем 
> корректно, что приведёт машину к окирпичиванию. Лучше ставить все ядра 
> и класть более универсальные initrd (у нас такой только с пропагатором 
> идёт), а вот выбор дефолтного (симлинком в /boot) оставить 
> пост-установочному скрипту. Это в идеале, чтобы "работало везде", но 
> на initrd времени уйдёт больше, конечно.
>
1. Я считаю, что по дефолту должно ставиться только то ядро, с которым 
загрузились. Остальные должны удаляться до установки загрузчика. Можно 
какую-нибудь галочку сделать, чтобы изменить это поведение. Ядра то могу 
быть под какую-нибудь особую железку, которой другие ядра не подходят. 
Да и не нужны пользователю кучи ядер. Нужно одно, которое будет работать.

2. Универсальный initrd делается добавлением нужных фич. Нужно 
определиться какие нам фичи нужны, и сделать их платформо-независимыми. 
Но это другая задача.

>
>> Работы много, быстро не взлететь.
>
Первые испытания обнадёживают :-)

-- 
С уважением, Антон Мидюков <antohami �� altlinux.org>



More information about the devel-distro mailing list