ALT Linux Distributions development
 help / color / mirror / Atom feed
From: Leonid Krivoshein <klark.devel@gmail.com>
To: "Anton V. Boyarshinov" <boyarsh@altlinux.org>
Cc: Distributions development <devel-distro@lists.altlinux.org>
Subject: Re: [devel-distro] Несколько ядер в stage1 и stage2
Date: Thu, 27 Feb 2020 14:42:25 +0300
Message-ID: <f9e0dfd0-e83a-c706-4c5a-3f0a339d9e59@gmail.com> (raw)
In-Reply-To: <20200227130437.3c32bac7@boyarsh.office.basealt.ru>



27.02.2020 13:04, Anton V. Boyarshinov пишет:
>> А initrd? Он в инсталляторе только один создаётся.
>> И что в меню после установки? Тоже только одно ядро?
>> Уверен, в установленной системе со вторым ядром не загрузишься, хоть
>> пакет и стоит.
>> И даже, если запускать второй раз make-initrd -k ... , будет искажённый
>> plymouth, проверено ни один раз.
> Ничто не мешает сделать initrd, в котором будут модули для двух ядер. Тем более, что в установщике они всё равно в отдельном cpio chank, а не в том, который делается make-initrd
>   

Для этого нужно править make-initrd и скрипт в установщике, который его 
вызывает. По дефолту без параметров сейчас создаётся initrd для текущего 
ядра, а с -k flavour для указанного. Нужна ручка типа -a | --all, чтобы 
создавалось для всех ядер. Или разрешить несколько -k... Или делать 
перепаковку cpio?


>>> Инcталлятор править не нужно, если такое поведение устраивает, то
>>> только livecd-install нужно исправить.
>>>
>>> Так что осталось только выбор ядер организовать при загрузке в
>>> syslinux, grub и rEFInd.
>>>   
>> Пока начал с syslinux. Самое простое -- текстовое меню. В m-p оно
>> собирается из кусочков. Действия по изменению в целевом
>> /syslinux/isolinux.cfg тривиальные:
>>
>> label linux
>>     kernel alt0/vmlinuz
>>     append initrd=alt0/full.cz ...
>>
>> Обращаем внимание на /syslinux/gfxboot.cfg (mainmenu.entries=8) и тут же
>> bootlogo, ru.hlp, ru.tr.
>>
>> bootlogo -- это cpio-архив с бинарём и дублем файла languages из
>> /syslinux. В ru.hlp и ru.tr -- выводимое на экран. По клавише F5
>> выбирается архитектура ядра -- 32 бит или 64 бит на Альт Workstation 9,
>> т.е два ядра в меню syslinux поддерживалось издревле, этот 4-й syslinux
>> -- та ещё поросль мха.))
>>
>> Содержимое этих файлов к пакету syslinux не имеют отношения. Полагаю,
>> отрыть источник можно где-то в брэндинге.
>>
>>
>>>> То есть, кажется, в syslinux это было уже реализовано генерацией
>>>> отдельных пунктов и завязано на какую-то клавишу, типа F3, F4, F5.
>>> По F5 можно выбрать опции загрузки ядра: Default, Safe Settings, No
>>> ACPI, No Local APIC. Не уверен, что это то место, где нужно сделать
>>> выбор ядер.
>> Выгрыз из /syslinux/ru.hlp
>>
>> F5 Ядро: выбор профиля параметров ядра.
>> bits
>> Выбор архитектуры
>> Вы должны выбрать, устанавливать 32-разрядную или 64-разрядную версию
>> ALT Workstation 9.0.
>>
>> Есть гипотеза: в /syslinux/isolinux.cfg после gfxboot указывается
>> message, скорее всего, он тоже с брэндингом приезжает (тема "ALTLinux")
>> и вероятно не стыкуется с данным хэлпом по клавише F5. Нужно
>> поковыряться в истории гита на предмет изменений того, что этот файл
>> генерирует.
>>
>>
>>
>>>> В grub'е тоже возможна завязка на горячие клавиши, но там структура
>>>> меню всё равно другой будет.
>>> Можешь ссылками какими-нибудь поделиться? Я ничего нужного не нашёл.
>> https://www.gnu.org/software/grub/manual/grub/html_node/menuentry.html#menuentry
>> https://www.gnu.org/software/grub/manual/grub/html_node/submenu.html#submenu
>>
>> menuentry 'ALT Workstation 9' --hotkey=i ...
>>
>> Гоша говорил... но вот оказывается это всё. Ещё есть vendors keys, но
>> это немного о другом. Возможно, заработает на скрытых пунктах подменю, а
>> там и целые скрипты писать можно.
>>
>>
>>>> Там ещё нет локализации и брэндинга, так что на grub я бы пока не
>>>> ориентировался, хотя все очень ратуют ЗА него, ещё лучше к 9.1.
>>> Да, можно и нужно сделать. Но на aarch64 похоже этого не сделать.
>> На aarch64 пока не нужно. Хотя с брэндингом начать никогда не поздно,
>> только графика для aarch64 д.б. опцией в m-p. Согласен с shaba@, что
>> язык тут не нужен. Нет клиентов у этого интерфейса. Сейчас выбор языка
>> всё равно делается на других шагах.
>>
>>
>>>   
>>>> В случае refind используется конгломерат загрузчиков, как там делать
>>>> -- лучше спросить у Николая Костригина и Михаила Шигорина, вроде эту
>>>> мешанину собирались упорядочить и перетащить в m-p из mkimage. Если
>>>> не изменяет память, второй уровень из текстовых строк в refind
>>>> строить можно (типа подменю), а на первый уровень места для значков
>>>> может не хватить.
>>>>   
>>> Подменю нормальный вариант, что для rEFInd, что для grub.
>> Для grub -- да. В refind'е там странная конструкция сейчас, что-то типа
>> языков руками захардкорено, но языки тут и не нужны. И есть что-то про
>> iMac'и, но боюсь давно не проверялось и может не работать. По крайней
>> мере, недавно жалоба была, а это субменю всё равно никто не видит.
>>
>>
>>>>   
>>>>> Но и актуализировать надо патчи, сейчас они не наложатся. Я начну их
>>>>> воскрешать. Потом нужно ещё livecd-install поправить (знаю где).
>>>>>
>>>>> По инсталлятору вопрос, как он их будет ставить? Его тоже надо будет
>>>>> смотреть и править (в него не заглядывал).
>>>>>   
>>>> Инсталлятор ставит всё одним-двумя apt-get'ами по выбранному профилю
>>>> (alterator-pkg). По-минимуму, здесь придётся поправить лишь одно:
>>>> чтобы автоматически в этот выбор попадало то ядро, на котором
>>>> загрузились. Иначе последующий make-initrd приведёт к не очень
>>>> красивому бутсплэшу, а может, и железо будет определяться не совсем
>>>> корректно, что приведёт машину к окирпичиванию. Лучше ставить все
>>>> ядра и класть более универсальные initrd (у нас такой только с
>>>> пропагатором идёт), а вот выбор дефолтного (симлинком в /boot)
>>>> оставить пост-установочному скрипту. Это в идеале, чтобы "работало
>>>> везде", но на initrd времени уйдёт больше, конечно.
>>>>   
>>> 1. Я считаю, что по дефолту должно ставиться только то ядро, с которым
>>> загрузились. Остальные должны удаляться до установки загрузчика. Можно
>>> какую-нибудь галочку сделать, чтобы изменить это поведение. Ядра то
>>> могу быть под какую-нибудь особую железку, которой другие ядра не
>>> подходят. Да и не нужны пользователю кучи ядер. Нужно одно, которое
>>> будет работать.
>>>   
>> Одна задача: не взлетели с std-def, ребутаемся и пробуем с un-def.
>> Вторая задача: запихиваем на один ISO-диск несколько загрузочных систем
>> или даже архитектур (mike@ такое делал для Эльбрусов, кстати, но m-p не
>> заточен под такое сейчас, только через ISO-data или переупаковкой
>> руками). Хотя, сейчас он вернётся, и скажет своё веское...))
>>
>>
>>> 2. Универсальный initrd делается добавлением нужных фич. Нужно
>>> определиться какие нам фичи нужны, и сделать их
>>> платформо-независимыми. Но это другая задача.
>> Платформо-зависимого там тоже немало. Мы же конкретными модулями должны
>> забить его и скрипт как раз в mkimage это умеет делать, и список модулей
>> там же вроде рядышком. Только пропагатор туда, если не пихать, получится
>> вполне штатный initrd.
>>
>>
>>>>> Работы много, быстро не взлететь.
>>>>   
>>> Первые испытания обнадёживают :-)
>>>   
>> Твоими стараниями! Спасибо!!!

-- 
Best regards,
Leonid Krivoshein.



  reply	other threads:[~2020-02-27 11:42 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-04 18:02 [devel-distro] Возвращаем возможность задания порядка загрузки ядер Антон Мидюков
2020-02-25 18:31 ` Leonid Krivoshein
2020-02-25 18:58   ` [devel-distro] Несколько ядер в stage1 и stage2 Антон Мидюков
2020-02-25 19:31     ` Leonid Krivoshein
2020-02-26  6:02       ` Nikolai Kostrigin
2020-02-26 10:43         ` Leonid Krivoshein
2020-02-26 10:55           ` Anton V. Boyarshinov
2020-02-26 11:01       ` Антон Мидюков
2020-02-26 12:02         ` Sergey V Turchin
2020-02-27  1:53           ` Leonid Krivoshein
2020-02-27  6:01             ` Sergey V Turchin
2020-02-27 10:06             ` Anton V. Boyarshinov
2020-02-27  1:46         ` Leonid Krivoshein
2020-02-27 10:04           ` Anton V. Boyarshinov
2020-02-27 11:42             ` Leonid Krivoshein [this message]
2020-02-27 11:50               ` Anton V. Boyarshinov
2020-02-27 12:31                 ` Leonid Krivoshein
2020-02-27 12:51                     ` Антон Мидюков
2020-02-27 13:02                       ` Leonid Krivoshein
2020-02-28  3:21                           ` Leonid Krivoshein
2020-02-28  3:35                             ` Антон Мидюков
2020-02-28  3:50                               ` Anton Farygin
2020-02-28  3:52                                 ` Leonid Krivoshein
2020-02-28  3:57                                 ` Антон Мидюков
2020-02-28  4:02                                   ` Anton Farygin
2020-02-28  4:11                                     ` Антон Мидюков
2020-02-28  8:33                                       ` Anton Farygin
2020-02-28 10:32                                   ` Leonid Krivoshein
2020-03-04 16:09                                     ` Антон Мидюков
2020-03-04 17:50                                       ` Leonid Krivoshein
2020-03-04 18:00                                         ` Антон Мидюков
2020-03-04 18:03                                           ` Leonid Krivoshein
2020-03-05  7:50                                         ` Sergey V Turchin
2020-03-11 19:49                                       ` Антон Мидюков
2020-02-27 11:58               ` Антон Мидюков
2020-02-27 12:39                 ` Leonid Krivoshein
2020-02-27 12:48                   ` Антон Мидюков
2020-02-27 13:09                 ` Leonid Krivoshein

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f9e0dfd0-e83a-c706-4c5a-3f0a339d9e59@gmail.com \
    --to=klark.devel@gmail.com \
    --cc=boyarsh@altlinux.org \
    --cc=devel-distro@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Distributions development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-distro/0 devel-distro/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel-distro devel-distro/ http://lore.altlinux.org/devel-distro \
		devel-distro@lists.altlinux.org devel-distro@lists.altlinux.ru devel-distro@lists.altlinux.com
	public-inbox-index devel-distro

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-distro


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git