[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