Автор Тема: Сборка дистрибутива. проблема с EFI  (Прочитано 29202 раз)

Оффлайн Anton Shevtsov

  • Начинающий
  • *
  • Сообщений: 47
Добрый день.
Для своих личнорабочих нужд, средствами m-p, собрал дистрибутив на базе 8 платформы.
Все хорошо, кроме того что не ставится efi загрузчик после установки из live.. хотя сам инсталлятор видит что загружен в efi, предлагает поставить загрузчик efi, но перегружаешься и получаешь лишь вывод efi shell (см. аттач)

сам конфиг для сборки (там мой личный брендинг adm72 и список citto - это по сути не важно).. что еще вписать?

distro/citto-mate-live-klark: distro/alt-p8-mate use/live/ru use/branding \
        use/vmguest/complete use/vmguest/vbox/x11 use/vmguest/vmware/x11 \
        use/fonts/otf/adobe use/fonts/ttf/google use/fonts/ttf/redhat use/fonts/otf/mozilla \
        use/sound use/efi/refind use/efi use/efi/signed use/rescue \
        use/x11/nvidia use/x11/xorg \
        use/browser/firefox/esr use/browser/firefox/i18n  \
        use/syslinux/ui/gfxboot \
        use/browser/chromium  \
        use/live/x11 use/live/repo  \
        use/control use/services use/net-usershares use/memtest use/adm72 \
        use/isohybrid \
        +efi +systemd +power +pulse +vmguest +wireless +nm +net-eth \
        +plymouth +systemd
        @$(call add,BASE_PACKAGES,os-prober)
        @$(call add,COMMON_PACKAGES,vim-console)
        @$(call add,BRANDING,alt-adm72)
        @$(call add,THE_BRANDING,mate-settings)
        @$(call add,RESCUE_BOOTARGS,nomodeset vga=0)
        @$(call add,EFI_BOOTARGS,lang=ru_RU)
        @$(call add,THE_LISTS,$(call tags,citto))
        @$(call add,LIVE_LISTS,$(call tags,base+efi smartcard))
        @$(call add,THE_PACKAGES,livecd-install)
        @$(call add,LIVE_KMODULES,staging kvm virtualbox)
        @$(call add,SERVICES_ENABLE,sshd cups smb nmb)
        @$(call add,LIVE_PACKAGES,gpm livecd-install-apt-cache)
        @$(call add,INSTALL2_PACKAGES,dosfstools fatresize)
        @$(call add,THE_PACKAGES,$(EFI_SHELL))
        @$(call add,EFI_BOOTARGS,$(STAGE2_BOOTARGS))
        @$(call add,STAGE1_KCONFIG,EFI EFI_PARTITION EFI_VARS FB_EFI)
        @$(call add,COMMON_PACKAGES,shim-signed)
        @$(call add,EFI_BOOTARGS,$(STAGE2_BOOTARGS))
« Последнее редактирование: 30.08.2018 15:35:19 от Anton Shevtsov »

Оффлайн Anton Shevtsov

  • Начинающий
  • *
  • Сообщений: 47
Re: Сборка дистрибутива. проблема с EFI
« Ответ #1 : 31.08.2018 11:10:29 »
Когда ставлю опцию
        @$(call add,EFI_BOOTLOADER,refind)

образ не собирается, и получаю вот такое (конец лога сборки build.log)

hsh-install: Packages installation complete.
Preparing packages for installation...
hsh-install: RPM database updated.
mki-run: has started executing.
hsh-run: changed working directory to `/home/ADM72.LOCAL/shevtsovay/hasher/mkimage-profiles.build.zaS6Z3T/.work'
hsh-run: Locked working directory `/home/ADM72.LOCAL/shevtsovay/hasher/mkimage-profiles.build.zaS6Z3T/.work'
hsh-run: Acquiring lock for config file `/etc/hasher-priv/user.d/shevtsovay'...
hsh-run: Locked config file `/etc/hasher-priv/user.d/shevtsovay'
+ cd /.image
+ stage2=
+ for i in altinst live rescue
+ '[' -f altinst ']'
+ for i in altinst live rescue
+ '[' -f live ']'
+ stage2=live
+ for i in altinst live rescue
+ '[' -f rescue ']'
+ stage2='live rescue'
+ '[' -n 'live rescue' ']'
+ efi=EFI
+ boot=EFI/BOOT
+ cert=EFI/enroll
+ tools=EFI/tools
+ shell=shellx64.efi
+ mkdir -v -p -- EFI/BOOT
mkdir: created directory 'EFI'
mkdir: created directory 'EFI/BOOT'
+ '[' -n altlinux ']'
+ shim_path=EFI/BOOT/bootx64.efi
+ bin_path=EFI/BOOT/grubx64.efi
+ efi_bindir=/usr/lib64/efi
+ kargs='fastboot live lowmem showopts automatic=method:cdrom quiet splash live_rw lang=ru_RU'
+ gfxprefix=/usr/share/gfxboot
+ refind_aux=EFI/refind
+ refind_boot=EFI/refind/refind_x64.efi
+ refind_icons=EFI/refind/icons
+ scan_icon=os_unknown.icns
+ blacklist='shim.efi shim-fedora.efi PreLoader.efi TextMode.efi ebounce.efi GraphicsConsole.efi MokManager.efi HashTool.efi HashTool-signed.efi elilo.efi'
+ '[' -z altlinux ']'
+ copy_shim
+ '[' -n EFI/BOOT/bootx64.efi ']'
+ copy_cert
+ '[' -n altlinux ']'
+ local keyfile=/etc/pki/uefi/altlinux.cer
+ '[' -s /etc/pki/uefi/altlinux.cer ']'
+ mkdir -v -p EFI/enroll
mkdir: created directory 'EFI/enroll'
+ cp -v -pLft EFI/enroll -- /etc/pki/uefi/altlinux.cer
'/etc/pki/uefi/altlinux.cer' -> 'EFI/enroll/altlinux.cer'
+ cp -v -pLf /usr/lib64/efi/shim.efi EFI/BOOT/bootx64.efi
'/usr/lib64/efi/shim.efi' -> 'EFI/BOOT/bootx64.efi'
+ cp -v -pLf /usr/lib64/efi/MokManager.efi EFI/BOOT
'/usr/lib64/efi/MokManager.efi' -> 'EFI/BOOT/MokManager.efi'
+ case "refind refind" in
+ fatal 'Unable to handle '\''refind refind'\''.'
+ echo
+ exit 1

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Сборка дистрибутива. проблема с EFI
« Ответ #2 : 31.08.2018 13:31:14 »
Все хорошо, кроме того что не ставится efi загрузчик после установки из live.. хотя сам инсталлятор видит что загружен в efi, предлагает поставить загрузчик efi, но перегружаешься и получаешь лишь вывод efi shell (см. аттач)

На реальном железе или в virtualbox?

Оффлайн Anton Shevtsov

  • Начинающий
  • *
  • Сообщений: 47
Re: Сборка дистрибутива. проблема с EFI
« Ответ #3 : 31.08.2018 13:35:26 »
Все хорошо, кроме того что не ставится efi загрузчик после установки из live.. хотя сам инсталлятор видит что загружен в efi, предлагает поставить загрузчик efi, но перегружаешься и получаешь лишь вывод efi shell (см. аттач)

На реальном железе или в virtualbox?

реального нет. virtualbox, qemu-kvm..

c         @$(call add,EFI_BOOTLOADER,refind) разобрался. Просто не надо его указывать, а то дублируются значения.. и сборка падает

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Сборка дистрибутива. проблема с EFI
« Ответ #4 : 31.08.2018 14:10:37 »
реального нет. virtualbox, qemu-kvm..

В virtualbox, пока не выключишь виртуалку, а просто перезагружаешь, всё работает. Это особенность virtualbox. Похоже, что EFI запись ни где не сохраняется. Если загрузиться с лайва в режиме EFI можно при помощи refind найти установленную систему.

Оффлайн Anton Shevtsov

  • Начинающий
  • *
  • Сообщений: 47
Re: Сборка дистрибутива. проблема с EFI
« Ответ #5 : 31.08.2018 14:32:26 »
реального нет. virtualbox, qemu-kvm..

В virtualbox, пока не выключишь виртуалку, а просто перезагружаешь, всё работает. Это особенность virtualbox. Похоже, что EFI запись ни где не сохраняется. Если загрузиться с лайва в режиме EFI можно при помощи refind найти установленную систему.

да) так и есть.. т.е. это баг? вот блин.. я две недели парюсь))))

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Сборка дистрибутива. проблема с EFI
« Ответ #6 : 31.08.2018 14:48:02 »
да) так и есть.. т.е. это баг? вот блин.. я две недели парюсь))))

Особенность. Попробуй баг на virtualbox повешать, меня в копию поставь.

Оффлайн gvy

  • alt linux team
  • ***
  • Сообщений: 1 008
    • Альт на Эльбрусе
    • Email
Re: Сборка дистрибутива. проблема с EFI
« Ответ #7 : 19.09.2018 09:47:50 »
Разве что в апстрим, на пакет незачем.
--
Michael Shigorin | ALT Linux Team | ANNA-News | Сделано у нас | altlinux.org/эльбрус

dango

  • Гость
Re: Сборка дистрибутива. проблема с EFI
« Ответ #8 : 19.09.2018 10:34:35 »
В virtualbox, пока не выключишь виртуалку, а просто перезагружаешь, всё работает. Это особенность virtualbox. Похоже, что EFI запись ни где не сохраняется. Если загрузиться с лайва в режиме EFI можно при помощи refind найти установленную систему.
Подтверждаю. На винде в VB то же самое.

Оффлайн klark973

  • Завсегдатай
  • *
  • Сообщений: 662
  • Неспящий саппорт
Re: Сборка дистрибутива. проблема с EFI
« Ответ #9 : 19.10.2018 01:15:43 »
В virtualbox, пока не выключишь виртуалку, а просто перезагружаешь, всё работает. Это особенность virtualbox. Похоже, что EFI запись ни где не сохраняется. Если загрузиться с лайва в режиме EFI можно при помощи refind найти установленную систему.
В интернетах пишут что, решение есть. Проверять не пробовал. Надо в разделе ESP создать файл startup.nsh, в котором будет указан команда запуска нужного EFI-загрузчика. В консоли EFI выполните команды:
fs0:
edit startup.nsh
В открывшемся редакторе введите строчку: \EFI\altlinux\shim.efi (или что-то другое). F2, Enter -- для сохранения файла, затем F3для выхода, reboot. Легко сделать пост-установочный патчик для m-p, который это автоматизирует, если по информации из DMI увидит работу под VirtualBox'ом.
To moan or to solve -- that is the question!

Оффлайн Rider

  • /usr/sbin/control
  • *******
  • Сообщений: 1 136
Re: Сборка дистрибутива. проблема с EFI
« Ответ #10 : 19.10.2018 08:43:56 »
Не надо в VirtualBox использовать EFI, т.к. он официально в нём объявлен unstable.