Univention Bugzilla – Bug 39009
Customer reported that booting via UEFI was not possible
Last modified: 2018-07-10 09:28:53 CEST
Ticket #2015061121001123 A customer reported that booting via UEFI was not possible: The installation failed on a Lenovo Thinkserver TD200x with Serveraid BR10i SAS RAID-Hostadapter with LSI 1068i based chipset. The deactivation of UEFI was not successful so the customer created a bootable USB stick from our installation ISO without /efi/boot, so the legacy boot process was chosen by the server. UEFI problem reported by the customer: > Meldung: eine Prefix-Variable ist nicht gesetzt und 4 devices sind nicht vorhanden. The prefix error happens on (nearly) all systems and is usually no real problem. We do not have further information.
I experienced this again today with an IBM x3650 M2 7947-K1G. Boot with UCS_4.0-3-amd64.iso (23-Sep-2015 09:16), tried via DVD and USB pendrive, result was always: > Booting in insecure mode > error: variable 'prefix' isn't set. > error: no device connected. > error: no device connected. > error: no device connected. > error: no device connected. > error: no device connected. > error: no device connected. Then the installer was stuck, no grub rescue shell. We had to reset the system. A firmware update on the IBM server was successful, but did not resolve the problem. There was no possibility to deactivate the UEFI boot completely, only some additional legacy options that didn't help either. We then tried the UCS_3.2-6-UEFI-amd64.iso (26-May-2015 05:39), because that was the last one with a dedicated UEFI ISO I could find. This one worked immediately. The boot was no problem and the installer came up just fine. I didn't try the workaround from comment #0 yet. The bug status is NEEDMOREINFO - how can I provide additional information on this issue? I _might_ have some time with the IBM server tomorrow morning. Philipp had the same errors in #35918, maybe that's also a hint?
(In reply to Sönke Schwardt-Krummrich from comment #0) > The deactivation of UEFI was not successful so the customer created a > bootable USB stick from our installation ISO without /efi/boot, so the > legacy boot process was chosen by the server. That also helped with the server from comment #1: > dd if=UCS_4.0-3-amd64.iso of=/dev/sdb bs=4M; sync > mount /dev/sdb2 /mnt/usb_pendrive > cd /mnt/usb_pendrive > mv efi/boot efi/nothing_to_see_here > cd && umount /dev/sdb2 Then the legacy boot process was chosen by the server. I guess we should document this workaround somewhere more visible (SDB?).
The problem is reproducible on our IBM xSeries 3650M3 and does not occur with the UCS 3.2-4 DVD but with UCS 4.1-0. IIRC the same grub version is used on both DVDs. The initial grub boot step is unable to find the ISO image on any device. So far I tried to create a custom tmp-grub.cfg (see https://hutten.knut.univention.de/mediawiki/index.php/UEFI#GRUB_signieren) with additional debug output and a different "search" command (the same as in Ubuntu): cat > /root/tmp-grub.cfg <<EOF echo Loading step 1 search --file --hint=\$bootdrive --set=root /.disk/info echo "root=\${root}" echo "prefix=\${prefix}" set prefix=(\$root)/boot/grub echo "root=\${root}" echo "prefix=\${prefix}" sleep 10 source \$prefix/x86_64-efi/grub.cfg EOF grub-mkimage -d. -o /root/gcdx64.efi -O x86_64-efi -c /root/tmp-grub.cfg -p \ /efi/boot $(ls -1 *.mod | grep -v 'linux.mod' | sed -e 's/.mod$//g') No luck so far. search always replies with "no device connected" and the boot process hangs. Some forum entries suggested that maybe some grub modules (e.g. pata) may cause trouble.
On the test hardware GRUB hangs after printing those messages. Bisection leads to "ehci.mod" as one problem source. But there seem to be others as well, because it does not work with just ehci.mod removed. (It only works with a subset of modules until ehci.mod is added) Jessie GRUB prints the same messages but does not hang. Therefore grub2 was imported from jessie. The patches were migrated to the newer grub2 version. (r15652) The build failed because "video_checksum"-tests failed. Those were removed (r15653) There are still two failing tests: 1) iso9660_test Reason: xorriso 1.2.2 : RockRidge filesystem manipulator, libburnia project. xorriso : FAILURE : Not a known option: '--rockridge' xorriso : FAILURE : Not a known option: 'off' xorriso : aborting : -abort_on 'FAILURE' encountered 'FAILURE' 2) fddboot_test Reason: Killed The import of the new version fixes Bug #40280 too.
(In reply to Janek Walkenhorst from comment #4) > There are still two failing tests: > 1) iso9660_test > 2) fddboot_test These tests fail because of an older xorriso version, they were disabled. Build still fails due to Bug #40491 when building grub-xen.
(In reply to Janek Walkenhorst from comment #5) > Build still fails due to Bug #40491 when building grub-xen. Built with manual workaround in buildsystem. Advisories: grub-efi-amd64-signed.yaml grub2.yaml Test DVD booted successfully on the test hardware.
(In reply to Janek Walkenhorst from comment #6) > Test DVD booted successfully on the test hardware. This was a wrong test.
repo_admin.py --cherrypick -r 4.1 --releasedest 4.1 --dest errata4.1-0 -p debian-cd r15769 | Bug #39009 debian-cd: Fix size calculation Package: debian-cd Version: 3.1.13.15.201601271300 Branch: ucs_4.1-0 Scope: errata4.1-0 build-cd-ucs4 -r 4.1-0 -s errata4.1-0 -i ucs_4.1-0-errata4.1-0 --keep-installer ucs_4.1-0-20160127-133054-dvd-amd64.iso
(In reply to Philipp Hahn from comment #8) > ucs_4.1-0-20160127-133054-dvd-amd64.iso KVM installation: OK Test hardware UEFI: OK Advisories: grub-efi-amd64-signed.yaml grub2.yaml
During the dist-upgrade there are syntax error messages shown: grub-common (2.02~beta2-22+deb8u1.105.201601251600) wird eingerichtet ... Neue Version der Konfigurationsdatei /etc/grub.d/08_linux_xen wird installiert ... Neue Version der Konfigurationsdatei /etc/grub.d/30_uefi-firmware wird installiert ... Neue Version der Konfigurationsdatei /etc/grub.d/00_header wird installiert ... Neue Version der Konfigurationsdatei /etc/grub.d/30_os-prober wird installiert ... Neue Version der Konfigurationsdatei /etc/grub.d/10_linux wird installiert ... Neue Version der Konfigurationsdatei /etc/grub.d/05_debian_theme wird installiert ... Neue Version der Konfigurationsdatei /etc/bash_completion.d/grub wird installiert ... grub2-common (2.02~beta2-22+deb8u1.105.201601251600) wird eingerichtet ... grub-pc-bin (2.02~beta2-22+deb8u1.105.201601251600) wird eingerichtet ... grub-pc (2.02~beta2-22+deb8u1.105.201601251600) wird eingerichtet ... Removing update-grub hooks from /etc/kernel-img.conf in favour of /etc/kernel/ hooks. Replacing config file /etc/default/grub with new version Installing for i386-pc platform. installation beendet. Keine Fehler aufgetreten. Generating grub configuration file ... Found background image: uniboot.png Linux-Abbild gefunden: /boot/vmlinuz-4.1.0-ucs167-amd64 initrd-Abbild gefunden: /boot/initrd.img-4.1.0-ucs167-amd64 Linux-Abbild gefunden: /boot/vmlinuz-4.1.0-ucs163-amd64 initrd-Abbild gefunden: /boot/initrd.img-4.1.0-ucs163-amd64 Found memtest86+ image: /memtest86+.bin Fehler: syntax error. Fehler: Incorrect command. Fehler: syntax error. Syntaxfehler in Zeile 106 In der erzeugten GRUB-Konfigurationsdatei wurden Syntaxfehler entdeckt. Stellen Sie sicher, das die Dateien /etc/default/grub und /etc/grub.d/* fehlerfrei sind oder erstellen Sie einen Fehlerbericht mit /boot/grub/grub.cfg.new als Anhang. erledigt /boot/grub/grub.cfg.new → doesn't exists but the problem is reproducible when upgrading from the old grub version.
I had problems to set grub/default to the title. This feature was added through Bug #26763 and should work with the new grub version as well.
(In reply to Stefan Gohmann from comment #11) > I had problems to set grub/default to the title. This feature was added > through Bug #26763 and should work with the new grub version as well. Could not reproduce: ucr set grub/default='"Univention Corporate Server, mit Linux 4.1.0-ucs153-amd64"' works as expected. grub-common 2.02~beta2-22+deb8u1.105.201601251600 grub-pc 2.02~beta2-22+deb8u1.105.201601251600 grub-pc-bin 2.02~beta2-22+deb8u1.105.201601251600 grub2-common 2.02~beta2-22+deb8u1.105.201601251600 univention-grub 9.0.1-3.128.201602010915 (In reply to Florian Best from comment #10) > During the dist-upgrade there are syntax error messages shown: Could not reproduce, please send detailed instructions how to reproduce. I assume there is an artifact in "/etc/grub.d". There is currently an error in 53-install_create_grub.efi_too.patch whereby the "grub.efi" file is not created in the EFI partition during installation. Currently the menu entries are only half-translated: # grep -oE "menuentry '[^']+'" /boot/grub/grub.cfg menuentry 'Univention Corporate Server, mit Linux 4.1.0-ucs167-amd64' menuentry 'Univention Corporate Server, with Linux 4.1.0-ucs167-amd64 (recovery mode)'
(In reply to Janek Walkenhorst from comment #12) > There is currently an error in 53-install_create_grub.efi_too.patch whereby > the "grub.efi" file is not created in the EFI partition during installation. r15843 > Currently the menu entries are only half-translated: > # grep -oE "menuentry '[^']+'" /boot/grub/grub.cfg > menuentry 'Univention Corporate Server, mit Linux 4.1.0-ucs167-amd64' > menuentry 'Univention Corporate Server, with Linux 4.1.0-ucs167-amd64 > (recovery mode)' → Bug #40586
The new grub brought coreboot modules which halt the boot if added to the signed efi file, thus <https://hutten.knut.univention.de/mediawiki/index.php?diff=next&oldid=45211>
The config included in the efi image needs a workaround for booting: <https://hutten.knut.univention.de/mediawiki/index.php?diff=next&oldid=45238>
More debug output was added to the boot process: <https://hutten.knut.univention.de/mediawiki/index.php?diff=next&oldid=45238> 58-install_show_loading_message.patch r15867
The amount of modules in the grubx64.efi file was reduced: <https://hutten.knut.univention.de/mediawiki/index.php?diff=45618&oldid=45543> Resulting versions: grub2 2.02~beta2-22+deb8u1.107.201602051734 grub-efi-amd64-signed 2.0-7.27.201602091353 DVD ucs_4.1-0-20160209-135610-dvd-amd64.iso Tests: UEFI SecureBoot Boot from USB: OK Boot after installation: OK UEFI on test hardware Boot from USB: OK Boot after installation: OK BIOS on KVM Boot from DVD: OK Boot after installation: OK
Patches seem to be ok. No syntax errors observed during updates. Tested the following setups: Install via DVD and reboot * OK: IBM x3650 (insecure - UEFI) * OK: UEFI test hardware (secure - UEFI) * (OK): Schulungsraum: booted DVD in UEFI mode - no complete install (insecure - UEFI) * OK: KVM: legacy mode Install via USB stick and reboot * OK: IBM x3650 (insecure - UEFI) * OK: UEFI test hardware (secure - UEFI) * (OK): Schulungsraum: only booted DVD in UEFI mode - no reboot (insecure - UEFI) Update 4.1 latest to testing errata * OK: Schulungsraum: installed and updated in legacy mode * OK: KVM: legacy mode: updated and rebootet → VERIFIED
(In reply to Sönke Schwardt-Krummrich from comment #18) > No syntax errors observed during updates. Well, that's not true. I see them always! Bug #40628. I use plain apt-get dist-upgrade.
<http://errata.software-univention.de/ucs/4.1/101.html> <http://errata.software-univention.de/ucs/4.1/102.html>