[devel-distro] grub-efi в инсталяторе

Aleksey Novodvorsky aen at basealt.ru
Wed Jan 8 23:07:48 MSK 2020


Антон, коллеги, добрый день!



ср, 8 янв. 2020 г., 22:29 Антон Мидюков <midyukov-anton at ya.ru>:

> 01.11.2019 21:18, Alexey Shabalin пишет:
> > Всем привет.
> > Я для Server-V добавил поддержку grub-efi в инстляторе.
> > Прошу посмотреть/проверить. Делал только самое необходимое для себя. В
> > дальнейшем можно наращивать функционал. Например, сейчас нет поддержки
> > тем для grub, потому что мне не надо было :), мне достаточно
> > текстового grub.
> >
> > 1) поддержка grub-efi в efiboot mkimage
> >
> http://git.altlinux.org/people/shaba/packages/mkimage.git?p=mkimage.git;a=commitdiff;h=932c2e80d41c8ace7bbb5da52a48bab49fde575f
> >
> > 2) добавил фичу grub для генерации кофигов grub из кусочков, по
> > аналогии с syslinux.
> > Пока жесткая завязка на местоположение vmlinuz и full.cz в EFI/BOOT
> > для grub-efi.
> > Не уверен, что можно использовать для aarch64, это буду смотреть дальше.
> >
> http://git.altlinux.org/people/shaba/packages/mkimage-profiles.git?p=mkimage-profiles.git;a=commitdiff;h=7b9d60d6661cad6e6f02b93e646a42bd07645c51
> >
> > 3) использование конфигов для grub наравне с syslinux
> >
> http://git.altlinux.org/people/shaba/packages/mkimage-profiles.git?p=mkimage-profiles.git;a=commitdiff;h=23a460dd3de2147cc9a0db5de52234ececb0b5ef
> >
> > 4) переключил server-v с refind на grub-efi
> > Вместо (+efi use/efi/refind) использую use/efi/grub use/efi/signed
> >
> http://git.altlinux.org/people/shaba/packages/mkimage-profiles.git?p=mkimage-profiles.git;a=commitdiff;h=5577800554b2e240146b7cfb039c7a97d13e74d7
> >
> > 5) собираю командой (потому что искать, где это переопределяется, кто
> > мне помогает и потом определяет эти переменные подругому, тяжело и
> > муторно)
> > make ARCH=x86_64 BUILDDIR=~/build-mkimage
> > APTCONF=~/etc/p9.x86_64-apt.conf DEBUG=1 REPORT=1 IMAGE_PACKTYPE=boot
> > BOOT_TYPE="isolinux efiboot" EFI_BOOTLOADER=grub-efi server-v.iso
> >
> > Спасибо за внимание. Буду рад исправлениям.
>
> Доброго времени суток
>
> За каникулы серьёзно поработал над mkimage и mkimage-profiles.
>

Здорово! Спасибо.
mike@ как раз хотел в январе-феврале заняться mkimage-profiles, но Вы
опередили! :)
Было бы здорово обсудить дальнейшую работу, в частности интеграцию
многочисленных патчей к весенним релизам.


Rgrds, Алексей




> В задании [#243937] [test-only] EPERM mkimage.git=0.2.30-alt1 сделал
> следующее:
>
> 1. в grubaa64boot сделал структуру файлов как в образе собираемом с
> efiboot. Так что прошу обратить пристальное внимание на это.
>
> 2. в grubaa64boot убрал генерацию grub.cfg из syslinux.cfg, так как она
> больше не нужна (да и работала некорректно)
>
> 3. Добавил новую цель mki-copy-kernel, которую предлагаю вызывать из
> mkimage-profiles вместо mki-copy-$BOOTLOADER.
>
> Мне не нравится, что у нас сейчас mki-copy-$BOOTLOADER вызывается
> дважды: из mkimage-profiles, чтобы скопировать ядро с образом
> пропагатора, и второй раз уже в mkimage-profiles, чтобы установить
> загрузчик. При первом вызове есть ядро, но не готов syslinux.cfg, при
> втором готов syslinux.cfg, но уже нет ядра. Кроме того, это изменение
> упростит процесс перехода на использование в образе нескольких ядер.
>
> 4. В mki-copy-efiboot для grub-efi ядро копировать в boot, если его ещё
> там нет. Аналогично для других EFI_BOOTLOADER проверять, есть ли уже
> ядро в EFI/BOOT, и если есть не копировать.
>
> Но основные изменения в mkimage-profiles:
>
> 1. Исправил определение default-ного пункта, если не задан (см 0001).
>
> 2. Сделал фильтр конфигов по названиям. Например, пункты меню
> специфичные для EFI должны оканчиваться на _efi.cfg (см 0005)
>
> 3. Может генерироваться два конфига grub.cfg, для EFI и всех остальных.
> Два сразу могут быть только при использовании grub для legacy (не
> реализован) и grub-efi (см 0005)
>
> 4. Исправил $linux_suffix. То условие не работает и генерит при загрузке
> grub ошибки про не найденные команды (см 0008)
>
> 5. Интегрировал по аналогии с syslinux генерацию конфигов grub для
> install2 и live (см 0012). Для того, чтобы это никому не помешало, в
> зависимости от выбранных загрузчиков следы grub подчищаются (см 0004 и
> 0005)
>
> 6. Для syslinux тоже сделал такую проверку (см 0015, 0016) Это позволит
> задать загрузчик grub legacy, не убирая отовсюду syslinux.
>
> 7 Вызываю copy-kernel вместо copy-$BOOTLOADER (см 0020)
>
> 8 Остальное мелочи.
>
> Также я отправил в Сизиф livecd-install, который может восстанавливать
> ядро не только из syslinux/alt0, но и boot:
>
> [#243884] DONE (try 2) livecd-install.git=0.9.12-alt1
>
> Итого, для полного счастья не хватает только выбора языка и графической
> темы.
>
> --
> С уважением, Антон Мидюков <antohami at altlinux.org>
>
> _______________________________________________
> devel-distro mailing list
> devel-distro at lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel-distro
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.altlinux.org/pipermail/devel-distro/attachments/20200108/c80a26f7/attachment.html>


More information about the devel-distro mailing list