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.
next prev parent 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