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=ya.ru; s=mail; t=1583338176; bh=W4FHZBFi6BGRpU1IqKEc4dVorKVS5CwM+bIrUbhivik=; h=In-Reply-To:From:Date:References:To:Subject:Message-ID; b=KxP/vBc1nQ0laiTVss1Yo05dWwJS8F5W9v6nmwTpXauW9ZQIDqHh7nlC7yqAaqu+/ YEq4mmKpVz0QwRdKJMNQz/lWwu+EIa/0FfdxtNnY841BerKFQtWZJvieCfJ1UVb+Sp prGa550CxzQ69lHhFFDj4N1ClzfV30JCtOxI6+xI= Authentication-Results: mxback5q.mail.yandex.net; dkim=pass header.i=@ya.ru 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> <20200227130437.3c32bac7@boyarsh.office.basealt.ru> <20200227145023.2ca3891b@boyarsh.office.basealt.ru> <152b81f5-9106-be83-494b-e99510c206c5@gmail.com> <27217b42-be86-5378-72d5-d00d7ac27a30@ya.ru> <4b1dbac3-3b18-671d-3b10-e947ca72adcf@gmail.com> <0cd6dbe7-ea5e-54d2-4820-2f34395abd9b@ya.ru> <502e55e8-2529-d830-e053-94ceb3d7d4c9@basealt.ru> <333c3a5a-91f7-d495-2d77-8ef42c749dbe@ya.ru> <5e14acf1-dd7b-7a68-dcf3-a2c9717d0cfe@gmail.com> From: =?UTF-8?B?0JDQvdGC0L7QvSDQnNC40LTRjtC60L7Qsg==?= Message-ID: <97d5a3d2-a3fe-cfdc-e01c-fe8ee3aac499@ya.ru> Date: Wed, 4 Mar 2020 23:09:34 +0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 MIME-Version: 1.0 In-Reply-To: <5e14acf1-dd7b-7a68-dcf3-a2c9717d0cfe@gmail.com> Content-Type: multipart/mixed; boundary="------------06E346EE013123DEE309E4A9" 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: Wed, 04 Mar 2020 16:09:52 -0000 Archived-At: List-Archive: This is a multi-part message in MIME format. --------------06E346EE013123DEE309E4A9 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit 28.02.2020 17:32, Leonid Krivoshein пишет: > 28.02.2020 6:57, Антон Мидюков пишет: >> 28.02.2020 10:50, Anton Farygin пишет: >>> [...] >>> А если учесть то, что от refind надо уходить, то остаётся только grub. >> Надо, но не прямо сейчас. Так что прямо сейчас актуален именно >> rEFInd. И это прямо сейчас продлится неопределённо долго > > Наш .efi.img (в ElTorrito) вырос за последние годы почти вдвое и на > каком-то железе это уже проблема загрузки. Теперь мы добавим туда ещё > одно ядро с initrd и число совместимых машин по EFI-загрузке резко > упадёт. Уж лучше перейти на grub на без графики, чем вот так. Но раз с > grub'ом получилось, раз SecureBoot уже есть, осталось только сборку > темы в ISO добавить -- сама тема для grub тоже есть. > Я сделал подменю для grub: одно для выбора языка, другое - для выбора flavour ядра. Прикладываю патчи для m-p. По выбору языка. Пока графическую тему не прикрутили, язык самого grub не меняется, так как не ASCII символы не поддерживаются в текстовом режиме. По выбору flavour ядра. Придётся серьёзно поработать над mkimage. Сейчас есть две проблемы: 1. ядра сортируются как и другие пакеты в алфавитном порядке. Таким образом происходит коллизия, имя дефолтного flavour может не совпадать, так как зависит от порядка в переменной KFLAVOURS. Я думаю, нужно исправлять mkimage, чтобы он не упорядочивал пакеты ядер в алфавитном порядке. 2. Если мы не делаем для syslinux выбор ядер, то получаем проблему. Как ядра в efiboot передавать? В efiboot они копируются из syslinux/alt0 И наконец, если не делать выбор ядер для rEFInd, то надо в efiboot дополнительные условия вводить, чтобы не копировать для него ядра. Так что, думается, надо вообще сделать grubefiboot какой-нибудь, чтобы ещё и grubaa64boot нужен не был. grubx86boot ты больше не занимался? Или таки править efiboot и вызывать его также дважды как и другие загрузчики. -- С уважением, Антон Мидюков --------------06E346EE013123DEE309E4A9 Content-Type: text/x-patch; charset=UTF-8; name="0001-grub-Added-submenu-for-languages-change.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-grub-Added-submenu-for-languages-change.patch" >>From be9cfcf212fd923ac476233463d83f75f1ee5a9d Mon Sep 17 00:00:00 2001 From: Anton Midyukov Date: Tue, 3 Mar 2020 20:50:43 +0700 Subject: [PATCH 1/4] grub: Added submenu for languages change --- features.in/grub/cfg.in/00defaults.cfg | 1 + features.in/grub/cfg.in/20install2.cfg | 2 +- features.in/grub/cfg.in/25install-vnc-connect.cfg | 2 +- features.in/grub/cfg.in/25install-vnc-listen.cfg | 2 +- features.in/grub/cfg.in/30live.cfg | 2 +- features.in/grub/cfg.in/32live_rw.cfg | 2 +- features.in/grub/cfg.in/40lang.cfg | 14 ++++++++++++++ features.in/grub/generate.mk | 10 ++++++++++ 8 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 features.in/grub/cfg.in/40lang.cfg diff --git a/features.in/grub/cfg.in/00defaults.cfg b/features.in/grub/cfg.in/00defaults.cfg index 88b56d9873..cad492cd73 100644 --- a/features.in/grub/cfg.in/00defaults.cfg +++ b/features.in/grub/cfg.in/00defaults.cfg @@ -4,3 +4,4 @@ insmod minicmd insmod normal insmod test set timeout=@timeout@ +if [ ! "$language" ]; then language=@LOCALE@; fi diff --git a/features.in/grub/cfg.in/20install2.cfg b/features.in/grub/cfg.in/20install2.cfg index 9cf86bbed0..b88f44ae01 100644 --- a/features.in/grub/cfg.in/20install2.cfg +++ b/features.in/grub/cfg.in/20install2.cfg @@ -1,6 +1,6 @@ default='linux' menuentry 'Install @relname@' --hotkey 'i' --id 'linux' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ vga=@bootvga@ @bootargs@ + linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ vga=@bootvga@ @bootargs@ lang=$language initrd@linux_suffix@ @boot_path@/full.cz } diff --git a/features.in/grub/cfg.in/25install-vnc-connect.cfg b/features.in/grub/cfg.in/25install-vnc-connect.cfg index b4a435dc58..7a1ce36d25 100644 --- a/features.in/grub/cfg.in/25install-vnc-connect.cfg +++ b/features.in/grub/cfg.in/25install-vnc-connect.cfg @@ -1,5 +1,5 @@ menuentry '^VNC install @relname@ (edit to set server IP address)' --id 'vncconnect' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncconnect=IP + linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncconnect=IP lang=$language initrd@linux_suffix@ @boot_path@/full.cz } diff --git a/features.in/grub/cfg.in/25install-vnc-listen.cfg b/features.in/grub/cfg.in/25install-vnc-listen.cfg index 7b6146ad0c..90a285fdda 100644 --- a/features.in/grub/cfg.in/25install-vnc-listen.cfg +++ b/features.in/grub/cfg.in/25install-vnc-listen.cfg @@ -1,6 +1,6 @@ menuentry 'VNC install @relname@ (, set password and connect here)' --id 'vncpasswd' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncpassword=VNCPWD + linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncpassword=VNCPWD lang=$language initrd@linux_suffix@ @boot_path@/full.cz } diff --git a/features.in/grub/cfg.in/30live.cfg b/features.in/grub/cfg.in/30live.cfg index 5e4b85ada6..be62b59a79 100644 --- a/features.in/grub/cfg.in/30live.cfg +++ b/features.in/grub/cfg.in/30live.cfg @@ -1,5 +1,5 @@ menuentry 'LiveCD (no hard disk needed)' --id 'live' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts lowmem vga=@bootvga@ @bootargs@ + linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts lowmem vga=@bootvga@ @bootargs@ lang=$language initrd@linux_suffix@ @boot_path@/full.cz } diff --git a/features.in/grub/cfg.in/32live_rw.cfg b/features.in/grub/cfg.in/32live_rw.cfg index 4bac28aa65..240b6a4e12 100644 --- a/features.in/grub/cfg.in/32live_rw.cfg +++ b/features.in/grub/cfg.in/32live_rw.cfg @@ -1,4 +1,4 @@ menuentry 'LiveCD with sessions support' --id 'session' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts live_rw vga=@bootvga@ @bootargs@ + linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts live_rw vga=@bootvga@ @bootargs@ lang=$language initrd@linux_suffix@ @boot_path@/full.cz } diff --git a/features.in/grub/cfg.in/40lang.cfg b/features.in/grub/cfg.in/40lang.cfg new file mode 100644 index 0000000000..85cc9241a1 --- /dev/null +++ b/features.in/grub/cfg.in/40lang.cfg @@ -0,0 +1,14 @@ +submenu "Change Language" { + insmod regexp + for langstr in "ru_RU=Russian" "en_US=English" "pt_BR=Portuguese" "kk_KZ=Kazakh" "uk_UA=Ukrainian"; do + regexp -s 2:langname -s 1:langcode '(.*)=(.*)' "$langstr" + menuentry "${langname}" "$langcode" { + language="$2" + export language + configfile ${prefix}/grub.cfg + } + done + menuentry "Return to the Main menu" { + configfile ${prefix}/grub.cfg + } +} diff --git a/features.in/grub/generate.mk b/features.in/grub/generate.mk index 3a9f332fd7..f6bdd586e2 100644 --- a/features.in/grub/generate.mk +++ b/features.in/grub/generate.mk @@ -19,6 +19,10 @@ ifndef GRUB_DIRECT GRUB_CFG := $(GRUB_CFG) $(SUBPROFILE_DIRS) defaults fwsetup_efi endif +ifdef LOCALE +GRUB_CFG := $(GRUB_CFG) lang +endif + DSTDIR := $(BUILDDIR)/stage1/files/boot/grub/.in DSTCFGS := $(DSTDIR)/*.cfg @@ -77,6 +81,12 @@ bootargs: clean sed -i "s,@bootvga@,$(BOOTVGA)," $(DSTCFGS); \ fi; \ sed -i "s,@bootvga@,,;s,vga= ,," $(DSTCFGS) + @if [ -n "$(LOCALE)" ]; then \ + sed -i "s,@LOCALE@,$(LOCALE),g" $(DSTCFGS); \ + else \ + sed -i "s, lang=.language,,g" $(DSTCFGS); \ + fi; \ + sed -i "/language=@LOCALE@/d" $(DSTCFGS) clean: copy @if [ "$(GRUB_UI)" = gfxboot ]; then \ -- 2.24.1 --------------06E346EE013123DEE309E4A9 Content-Type: text/x-patch; charset=UTF-8; name="0004-grub-Added-submenu-for-kernel-flavour-change.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0004-grub-Added-submenu-for-kernel-flavour-change.patch" >>From 4f12576d3fa806e482ff6e16db25e2f21385d616 Mon Sep 17 00:00:00 2001 From: Anton Midyukov Date: Wed, 4 Mar 2020 14:26:38 +0700 Subject: [PATCH 4/4] grub: Added submenu for kernel flavour change --- features.in/grub/cfg.in/20install2.cfg | 4 ++-- .../grub/cfg.in/25install-vnc-connect.cfg | 4 ++-- .../grub/cfg.in/25install-vnc-listen.cfg | 4 ++-- features.in/grub/cfg.in/30live.cfg | 4 ++-- features.in/grub/cfg.in/32live_rw.cfg | 4 ++-- features.in/grub/cfg.in/80rescue.cfg | 4 ++-- features.in/grub/cfg.in/82rescue_rw.cfg | 4 ++-- features.in/grub/cfg.in/84rescue_remote.cfg | 4 ++-- features.in/grub/cfg.in/90kernel.cfg | 19 +++++++++++++++++++ features.in/grub/generate.mk | 7 +++++++ 10 files changed, 42 insertions(+), 16 deletions(-) create mode 100644 features.in/grub/cfg.in/90kernel.cfg diff --git a/features.in/grub/cfg.in/20install2.cfg b/features.in/grub/cfg.in/20install2.cfg index b88f44ae01..f6e3995550 100644 --- a/features.in/grub/cfg.in/20install2.cfg +++ b/features.in/grub/cfg.in/20install2.cfg @@ -1,6 +1,6 @@ default='linux' menuentry 'Install @relname@' --hotkey 'i' --id 'linux' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ vga=@bootvga@ @bootargs@ lang=$language - initrd@linux_suffix@ @boot_path@/full.cz + linux@linux_suffix@ @boot_path@/vmlinuz$KFLAVOUR changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ vga=@bootvga@ @bootargs@ lang=$language + initrd@linux_suffix@ @boot_path@/full$KFLAVOUR.cz } diff --git a/features.in/grub/cfg.in/25install-vnc-connect.cfg b/features.in/grub/cfg.in/25install-vnc-connect.cfg index 7a1ce36d25..805435cb20 100644 --- a/features.in/grub/cfg.in/25install-vnc-connect.cfg +++ b/features.in/grub/cfg.in/25install-vnc-connect.cfg @@ -1,5 +1,5 @@ menuentry '^VNC install @relname@ (edit to set server IP address)' --id 'vncconnect' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncconnect=IP lang=$language - initrd@linux_suffix@ @boot_path@/full.cz + linux@linux_suffix@ @boot_path@/vmlinuz$KFLAVOUR changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncconnect=IP lang=$language + initrd@linux_suffix@ @boot_path@/full$KFLAVOUR.cz } diff --git a/features.in/grub/cfg.in/25install-vnc-listen.cfg b/features.in/grub/cfg.in/25install-vnc-listen.cfg index 90a285fdda..0aef0dc4d0 100644 --- a/features.in/grub/cfg.in/25install-vnc-listen.cfg +++ b/features.in/grub/cfg.in/25install-vnc-listen.cfg @@ -1,6 +1,6 @@ menuentry 'VNC install @relname@ (, set password and connect here)' --id 'vncpasswd' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncpassword=VNCPWD lang=$language - initrd@linux_suffix@ @boot_path@/full.cz + linux@linux_suffix@ @boot_path@/vmlinuz$KFLAVOUR changedisk fastboot automatic=method:cdrom ramdisk_size=@altinst_size@ showopts @bootargs@ headless no_alt_virt_keyboard vncpassword=VNCPWD lang=$language + initrd@linux_suffix@ @boot_path@/full$KFLAVOUR.cz } diff --git a/features.in/grub/cfg.in/30live.cfg b/features.in/grub/cfg.in/30live.cfg index be62b59a79..f750dd0780 100644 --- a/features.in/grub/cfg.in/30live.cfg +++ b/features.in/grub/cfg.in/30live.cfg @@ -1,6 +1,6 @@ menuentry 'LiveCD (no hard disk needed)' --id 'live' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts lowmem vga=@bootvga@ @bootargs@ lang=$language - initrd@linux_suffix@ @boot_path@/full.cz + linux@linux_suffix@ @boot_path@/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts lowmem vga=@bootvga@ @bootargs@ lang=$language + initrd@linux_suffix@ @boot_path@/full$KFLAVOUR.cz } diff --git a/features.in/grub/cfg.in/32live_rw.cfg b/features.in/grub/cfg.in/32live_rw.cfg index 240b6a4e12..b487f9417a 100644 --- a/features.in/grub/cfg.in/32live_rw.cfg +++ b/features.in/grub/cfg.in/32live_rw.cfg @@ -1,4 +1,4 @@ menuentry 'LiveCD with sessions support' --id 'session' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts live_rw vga=@bootvga@ @bootargs@ lang=$language - initrd@linux_suffix@ @boot_path@/full.cz + linux@linux_suffix@ @boot_path@/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom ramdisk_size=@live_size@ stagename=live showopts live_rw vga=@bootvga@ @bootargs@ lang=$language + initrd@linux_suffix@ @boot_path@/full$KFLAVOUR.cz } diff --git a/features.in/grub/cfg.in/80rescue.cfg b/features.in/grub/cfg.in/80rescue.cfg index a9d2575cfb..e06a63afe2 100644 --- a/features.in/grub/cfg.in/80rescue.cfg +++ b/features.in/grub/cfg.in/80rescue.cfg @@ -1,4 +1,4 @@ menuentry 'Rescue LiveCD' --id 'rescue' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ stagename=rescue splash=0 showopts @rescue_bootargs@ - initrd@linux_suffix@ @boot_path@/full.cz + linux@linux_suffix@ @boot_path@/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ stagename=rescue splash=0 showopts @rescue_bootargs@ + initrd@linux_suffix@ @boot_path@/full$KFLAVOUR.cz } diff --git a/features.in/grub/cfg.in/82rescue_rw.cfg b/features.in/grub/cfg.in/82rescue_rw.cfg index 753c642bc3..45dcb0007a 100644 --- a/features.in/grub/cfg.in/82rescue_rw.cfg +++ b/features.in/grub/cfg.in/82rescue_rw.cfg @@ -1,4 +1,4 @@ menuentry 'Rescue with sessions support' --id 'rescue_session' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot live automatic=method:cdrom,label:ALT* ramdisk_size=@rescue_size@ stagename=rescue splash=0 showopts @rescue_bootargs@ live_rw - initrd@linux_suffix@ @boot_path@/full.cz + linux@linux_suffix@ @boot_path@/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom,label:ALT* ramdisk_size=@rescue_size@ stagename=rescue splash=0 showopts @rescue_bootargs@ live_rw + initrd@linux_suffix@ @boot_path@/full$KFLAVOUR.cz } diff --git a/features.in/grub/cfg.in/84rescue_remote.cfg b/features.in/grub/cfg.in/84rescue_remote.cfg index 738abd79ad..0b483f95c0 100644 --- a/features.in/grub/cfg.in/84rescue_remote.cfg +++ b/features.in/grub/cfg.in/84rescue_remote.cfg @@ -1,4 +1,4 @@ menuentry 'Rescue with remote SSH access (DHCP)' --id 'rescue_remote' { - linux@linux_suffix@ @boot_path@/vmlinuz changedisk fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ splash=0 showopts stagename=rescue @rescue_bootargs@ max_loop=16 ip=dhcp port=22 rootpw=AUTO hash=@rescue_hash@ - initrd@linux_suffix@ @boot_path@/full.cz + linux@linux_suffix@ @boot_path@/vmlinuz$KFLAVOUR changedisk fastboot live automatic=method:cdrom ramdisk_size=@rescue_size@ splash=0 showopts stagename=rescue @rescue_bootargs@ max_loop=16 ip=dhcp port=22 rootpw=AUTO hash=@rescue_hash@ + initrd@linux_suffix@ @boot_path@/full$KFLAVOUR.cz } diff --git a/features.in/grub/cfg.in/90kernel.cfg b/features.in/grub/cfg.in/90kernel.cfg new file mode 100644 index 0000000000..2c355f3cbc --- /dev/null +++ b/features.in/grub/cfg.in/90kernel.cfg @@ -0,0 +1,19 @@ +submenu "Change Kernel Flavour" { + insmod regexp + regexp -s 1:kflavours -s 2:kflavourstr '(.*) (.*)' "@KFLAVOUR@" + menuentry "${kflavourstr}" { + KFLAVOUR= + export KFLAVOUR + configfile ${prefix}/grub.cfg + } + for kflavourstr in ${kflavours}; do + menuentry "${kflavourstr}" { + KFLAVOUR="-$1" + export KFLAVOUR + configfile ${prefix}/grub.cfg + } + done + menuentry "Return to the Main menu" { + configfile ${prefix}/grub.cfg + } +} diff --git a/features.in/grub/generate.mk b/features.in/grub/generate.mk index f6bdd586e2..a5a7dd087a 100644 --- a/features.in/grub/generate.mk +++ b/features.in/grub/generate.mk @@ -23,6 +23,10 @@ ifdef LOCALE GRUB_CFG := $(GRUB_CFG) lang endif +ifneq ($(words $(KFLAVOURS)),1) +GRUB_CFG := $(GRUB_CFG) kernel +endif + DSTDIR := $(BUILDDIR)/stage1/files/boot/grub/.in DSTCFGS := $(DSTDIR)/*.cfg @@ -87,6 +91,9 @@ bootargs: clean sed -i "s, lang=.language,,g" $(DSTCFGS); \ fi; \ sed -i "/language=@LOCALE@/d" $(DSTCFGS) + @if [ $$(echo $(KFLAVOURS) | wc -w) -gt 1 ]; then \ + sed -i "s,@KFLAVOUR@,$(KFLAVOURS),g" $(DSTCFGS); \ + fi clean: copy @if [ "$(GRUB_UI)" = gfxboot ]; then \ -- 2.24.1 --------------06E346EE013123DEE309E4A9--