#1000743 installation-reports: bootx64.efi didn't seem to get installed and no UEFI boot entry was created for Debian #1000743
- Package:
- installation-reports
- Source:
- installation-reports
- Submitter:
- Adam Baxter
- Date:
- 2021-11-28 23:33:02 UTC
- Severity:
- important
- Tags:
(Please provide enough information to help the Debian
maintainers evaluate the report efficiently - e.g., by filling
in the sections below.)
Boot method: USB
Image version: https://ftp.acc.umu.se/cdimage/weekly-builds/amd64/iso-dvd/debian-testing-amd64-DVD-1.iso 2021-11-22 05:56, SHA256 dc763772fb490b89262591186810bbd4030ee3015ddcbc21d328cc64830dc04c
Date: <Date and time of the install>
Machine: Dell XPS 9350
Partitions: <df -Tl will do; the raw partition table is preferred>
Base System Installation Checklist:
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it
Initial boot: [E]
Detect network card: [OE]
Configure network: [O]
Detect media: [O]
Load installer modules: [O]
Clock/timezone setup: [O]
User/password setup: [O]
Detect hard drives: [O]
Partition hard drives: [O]
Install base system: [O]
Install tasks: [O]
Install boot loader: [E]
Overall install: [O]
Comments/Problems:
Once the installer had finished and prompted me to reboot, the system came back up in Dell's hardware check mode and
some investigation revealed there was no UEFI boot entry for Debian.
/boot/efi
└── EFI
├── debian
│ ├── BOOTX64.CSV
│ ├── fbx64.efi
│ ├── grub.cfg
│ ├── grubx64.efi
│ ├── mmx64.efi
│ └── shimx64.efi
└── Dell
└── logs
├── diags_current.xml
└── diags_previous.xml
Shouldn't there normally be EFI/boot/bootx64.efi?
Additional issues:
This laptop has an upgraded AX201 wifi card - the installer detected that I needed non-free firmware and I was able
to load it from USB successfully. The message could be improved a bit with better instructions of where to
get the firmware and what structure is needed on the external drive.
I ended up grabbing https://saimei.ftp.acc.umu.se/cdimage/unofficial/non-free/firmware/testing/20211122/firmware.zip
and extracting the firmware files from firmware-iwlwifi_20210818-1_all.deb
Would the installer have coped if I'd just dropped that single deb file?
Maybe it'd be worth having an option to allow a user to tether a mobile phone via USB to grab the firmware online.
Also, a cdrom: entry was added to sources.list even though I installed from USB.
Please make sure that any installation logs that you think would
be useful are attached to this report. Please compress large
files using gzip.
I have the logs, but I am using the Debian provided SMTP server and reportbug currently has me in nano,
so I'm not sure how to do this.
Oops - adding the missed information Date of install was approximately 40 minutes before this bug report. Partition setup: Filesystem Type 1K-blocks Used Available Use% Mounted on udev devtmpfs 8087456 0 8087456 0% /dev tmpfs tmpfs 1623088 1536 1621552 1% /run /dev/nvme0n1p2 ext4 958802032 4711620 905312224 1% / tmpfs tmpfs 8115432 0 8115432 0% /dev/shm tmpfs tmpfs 5120 4 5116 1% /run/lock /dev/nvme0n1p1 vfat 523248 3500 519748 1% /boot/efi tmpfs tmpfs 1623084 64 1623020 1% /run/user/1000 voltagex@ninethreeshifty:/var/log$ sudo fdisk -l /dev/nvme0n1 /dev/nvme0n1 /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3 voltagex@ninethreeshifty:/var/log$ sudo fdisk -l /dev/nvme0n1 Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors Disk model: Samsung SSD 970 EVO Plus 1TB Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 512DACA5-C0F4-4BCE-86C4-27071AEF7696 Device Start End Sectors Size Type /dev/nvme0n1p1 2048 1050623 1048576 512M EFI System /dev/nvme0n1p2 1050624 1951522815 1950472192 930.1G Linux filesystem /dev/nvme0n1p3 1951522816 1953523711 2000896 977M Linux swap Logs attached.
Oops - adding the missed information Date of install was approximately 40 minutes before this bug report. Partition setup: Filesystem Type 1K-blocks Used Available Use% Mounted on udev devtmpfs 8087456 0 8087456 0% /dev tmpfs tmpfs 1623088 1536 1621552 1% /run /dev/nvme0n1p2 ext4 958802032 4711620 905312224 1% / tmpfs tmpfs 8115432 0 8115432 0% /dev/shm tmpfs tmpfs 5120 4 5116 1% /run/lock /dev/nvme0n1p1 vfat 523248 3500 519748 1% /boot/efi tmpfs tmpfs 1623084 64 1623020 1% /run/user/1000 voltagex@ninethreeshifty:/var/log$ sudo fdisk -l /dev/nvme0n1 /dev/nvme0n1 /dev/nvme0n1p1 /dev/nvme0n1p2 /dev/nvme0n1p3 voltagex@ninethreeshifty:/var/log$ sudo fdisk -l /dev/nvme0n1 Disk /dev/nvme0n1: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors Disk model: Samsung SSD 970 EVO Plus 1TB Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 512DACA5-C0F4-4BCE-86C4-27071AEF7696 Device Start End Sectors Size Type /dev/nvme0n1p1 2048 1050623 1048576 512M EFI System /dev/nvme0n1p2 1050624 1951522815 1950472192 930.1G Linux filesystem /dev/nvme0n1p3 1951522816 1953523711 2000896 977M Linux swap Logs attached.
Hello, Le 28/11/2021 à 12:28, Adam Baxter a écrit : Some UEFI firmwares are broken and do not handle EFI boot entries properly. At least GRUB itself was installed in the EFI partition. Not by default. It happens only if you choose to install a copy of the boot loader in the removable device path. The option is available only in expert install or after changing priority for questions to low. The installation manual provides all this information. Yes, as stated in the installation manual. This is automatic if the phone emulates a USB-ethernet adapter. Because both contain the same ISO image so have the same data structure.
I'm guessing this is similar to the firware bug we've seen before in https://bugs.debian.org/905319 , in fact. cause other OSes not to boot. We try to be more accommodating than Windows etc. :-/ Adam: if you boot the installer again in rescue mode, there is an automated way to install to the removable media path, and that's probably the easiest way to do this. The system will remember that you need to do this in future and also install there on any further grub package updates.
Le 28/11/2021 à 15:06, Steve McIntyre a écrit : This is too detrimental to Debian IMO, there are too many broken UEFI firmwares out there. As I suggested in a previous post, what about setting grub2/force_efi_extra_removable true by default when the file does not exist ?
Hi Unless I did something wrong in the partitioning setup, there were no other operating systems. The only other EFI entry I had created in the firmware setup manually was one for the USB drive. What do you mean by removable device in this case? /boot/EFI is on the same NVMe drive as the Debian install itself. Thanks, Adam
OK, this is fair, I wasn't thinking about the manual as I've installed Debian quite a few times and know how the installation goes. Perhaps the text could include a reminder to check the manual for more info on firmware loading, or even a QR code to take me to the correct place? Perhaps the prompt should say "We can download the firmware automatically if you are able to use an alternative connection, such as mobile tethering", although I wonder how this would work for non-free firmware. But Debian was looking for these files at /media/cdrom - would the installation USB be re-mounted at this location?
The *normal* way for UEFI boot is via vendor paths and boot variables. The alternate path is primarily designed for removable media, where you won't have boot variables set to point to the right files. Hopefully the docs I've written in https://wiki.debian.org/UEFI#Booting_a_UEFI_machine_normally and https://wiki.debian.org/UEFI#Booting_from_removable_media might help explain some more.
Le 28/11/2021 à 23:07, Adam Baxter a écrit : Sorry, there was a misunderstanding. I meant that a tethered phone can be used as a network interface to download packages during the installation, but not to download firmware for the installer itself. Not automatically (unless you create an appropriate udev rule or fstab entry), but you can do it manually.