From: Leonid Krivoshein <klark.devel@gmail.com> To: devel-distro@lists.altlinux.org Subject: Re: [devel-distro] Несколько ядер в stage1 и stage2 Date: Thu, 27 Feb 2020 04:46:07 +0300 Message-ID: <a57e7088-3345-efd0-efdb-daae9e04fafa@gmail.com> (raw) In-Reply-To: <fe02e2ba-8302-549e-29c1-ad75c1fb4fa8@ya.ru> 26.02.2020 14:01, Антон Мидюков пишет: > 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. Интерактивно, в смысле -- в его редакторе? > Загрузился удачно. Установился тоже удачно. Установились оба ядра. А initrd? Он в инсталляторе только один создаётся. И что в меню после установки? Тоже только одно ядро? Уверен, в установленной системе со вторым ядром не загрузишься, хоть пакет и стоит. И даже, если запускать второй раз make-initrd -k ... , будет искажённый plymouth, проверено ни один раз. > Ин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.
next prev parent reply other threads:[~2020-02-27 1:46 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 [this message] 2020-02-27 10:04 ` Anton V. Boyarshinov 2020-02-27 11:42 ` Leonid Krivoshein 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=a57e7088-3345-efd0-efdb-daae9e04fafa@gmail.com \ --to=klark.devel@gmail.com \ --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