From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=s5JHc119cR4cJ+DRA/SCXrYejzhNtjT9Jybk2GynpJQ=; b=rhDh8IAvROKiTj4CZi300hJL0sCyuHrYBRrtJ+divHhXNve2OfnUlgxN8ITyouCDXI D8w/ROyrNR+16evHPBA/LpxmnS+VflzpyyEeVM5UYe43Cs/MklMAmI6oXS2TK8DM6Nf2 spbo6t6zuoqzIDSmTTpj2hgSDUkjOSN5PS5IG4FLP70RRn/5uiP2EHTJrbXKm6oWXagq WAbzvNZItSNeT6+vjCDwtoO+1aRbG4ofhZKTDvLCJfTjQLphL/dhfmTxKmNuwFPIBE+D bj5sT7lphf5Oohbh0pqlPfpGUY9SlaGbWDCQrg7GZCHR52xwxrhMEJlvFuiTAwutQBQf VbsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=s5JHc119cR4cJ+DRA/SCXrYejzhNtjT9Jybk2GynpJQ=; b=TY/eSsBLfIqXi1Cca8Mqr2nCLK7bPhhBkhra6E/k+BFB7hDT8zehaBYuX3Ej8oFMGN AzUtD3hcjsMvFQhNeDNzmmxsE1w2o2udmsQ0sPsdO5HUK7cPIJ3mv79k1LzTfhRbLWPI xQy9gD8fnwqo7xi7LyLtoFVMNRQkXcIuY9wwvD04K58Ku0gXV/XcYO/iKx4ebP4ARr4x PBUg4KpL/nFJGdHFTXBWZNhaiJV8RMW+qBdTjcsLH60AbFFv9JMknXQUQemV+ObvBaSp +9unIwagWAGUUEwrbd6QvbeozDjE/FBUQCbCKkRLSJ/IzhjNOlpXlQ7uHoGuQuqOmTRs Dk2A== X-Gm-Message-State: ANhLgQ1vlpCS4s0HycjgaQDKwsmWY6hFLgOwLEnRok8ro2JR5/JXnsJJ YEAub2jXAM7sZe70aScT33diBWbZ X-Google-Smtp-Source: ADFU+vuWT7TpkFNMlOIGWLA8GZ80tQBHKZ1qz+bFLghZWuNgZ4LpkNkNNabtMZOqOUTScpp2BxYBUA== X-Received: by 2002:a2e:9596:: with SMTP id w22mr1082247ljh.21.1582768273877; Wed, 26 Feb 2020 17:51:13 -0800 (PST) To: devel-distro@lists.altlinux.org References: <820a9927-782a-81f6-2858-602c12027655@ya.ru> <5c82f10e-11bc-45ca-8c57-c9599d4ae42f@ya.ru> <5f70c521-dfe0-c2ea-98a5-7d7725af9e33@gmail.com> From: Leonid Krivoshein Message-ID: Date: Thu, 27 Feb 2020 04:46:07 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [devel-distro] =?utf-8?b?0J3QtdGB0LrQvtC70YzQutC+INGP0LTQtdGAINCy?= =?utf-8?q?_stage1_=D0=B8_stage2?= X-BeenThere: devel-distro@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Distributions development List-Id: Distributions development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Feb 2020 01:51:18 -0000 Archived-At: List-Archive: 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.