You are not logged in.

#1 2020-06-03 08:19:43

Tromzy
Member
Registered: 2015-02-15
Posts: 163

Linux 5.7 cannot boot with intel-ucode.img

I upgraded the linux package from 5.6 to 5.7  in  Testing and Refind gave me  this error :

EFI stub: ERROR: Failed to open file: /boot/intel-ucode.img
Error: Not Found returned from vmlinuz-linux

Reverting to Linux 5.6 from core solves the problem.

Last edited by V1del (2020-06-12 15:42:17)

Offline

#2 2020-06-03 14:56:17

C!HO
Member
Registered: 2007-10-02
Posts: 17

Re: Linux 5.7 cannot boot with intel-ucode.img

Works fine here with systemd-boot. Maybe a refind problem?

Offline

#3 2020-06-03 14:59:19

Scimmia
Bug Wrangler
Registered: 2012-09-01
Posts: 7,681

Re: Linux 5.7 cannot boot with intel-ucode.img

Or a config problem. Or a filesystem problem. Without knowing anything about the setup, we have no idea what's going on.

Offline

#4 2020-06-03 15:24:38

sabroad
Member
Registered: 2015-05-24
Posts: 146

Re: Linux 5.7 cannot boot with intel-ucode.img

Tromzy wrote:
EFI stub: ERROR: Failed to open file: /boot/intel-ucode.img

Looks suspiciously like the following warning for rEFInd:

Use backslashes (\) as path separators in all quoted initrd parameters, otherwise the kernel may fail to find the initramfs image(s): EFI stub: ERROR: Failed to open file: /boot/initramfs-linux.img.

Could also be related to efi/libstub: Make initrd file loader configurable

Last edited by sabroad (2020-06-03 15:42:08)


--
saint_abroad

Offline

#5 2020-06-06 10:47:05

loqs
Member
Registered: 2014-03-06
Posts: 10,970

Re: Linux 5.7 cannot boot with intel-ucode.img

sabroad wrote:

That commit is not in 5.7?

Offline

#6 2020-06-07 22:37:11

velemas
Member
Registered: 2018-05-27
Posts: 2

Re: Linux 5.7 cannot boot with intel-ucode.img

I had the same problem with initrd=/amd-ucode.img in refind. Removing slash "/" made it bootable again.

Offline

#7 2020-06-11 16:59:00

high1
Member
Registered: 2013-02-04
Posts: 6

Re: Linux 5.7 cannot boot with intel-ucode.img

Same thing happened to me with kernel-5.7.2 today. I was booting efistub with initrd=/amd-ucode.img just fine.

Offline

#8 2020-06-11 21:10:48

marekhwd
Member
Registered: 2018-02-22
Posts: 3

Re: Linux 5.7 cannot boot with intel-ucode.img

I'm using kernel with EFI stub without any additional boot loader aside from built-in ASUS EFI firmware. This is how I configured the EFI to boot Arch Linux:

# efibootmgr -v -u
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000
Boot0000* Arch	HD(1,GPT,3a3b7fbc-b778-3ea2-a8ce-bc091cb9ef4f,0x800,0x96000)/File(\EFI\arch\vmlinuz-linux)root=/dev/mapper/root rw initrd=/EFI/arch/intel-ucode.img initrd=/EFI/arch/initramfs-linux.img acpi_backlight=vendor

Note that I'm using forward slashes for initrd paths. This worked for 2 years until today after I updated my system and rebooted. When booting, after ASUS logo disappeared, some messages with "EFI" string in them flashed on the screen before BIOS user interface cleared the screen, too quick to read anything.

Find a USB flash drive with EFI shell installed on it and try to troubleshoot it.

Shell> fs0:

fs0:\> cd EFI\arch

fs0:\EFI\arch> vmlinuz-linux
'vmlinuz-linux' is not recognized as an internal or external command, operable program, or batch file

fs0:\EFI\arch>

EFI shell only runs files ending with .efi. Let's copy the image:

fs0:\EFI\arch> cp vmlinuz-linux vmlinuz-linux.efi

fs0:\EFI\arch> vmlinuz-linux.efi

No error this time, but no Linux either. So power off and try again. This time let's add arguments to the kernel excluding the microcode update image in case it's causing the problem.

fs0:\EFI\arch> vmlinuz-linux.efi root=/dev/mapper/root rw initrd=/EFI/arch/initramfs-linux.img
EFI stub: ERROR: Failed to open file: /EFI/arch/initramfs-linux.img

fs0:\EFI\arch>

Finally in kernel, at least for a while! Reading through https://wiki.archlinux.org/index.php/EFISTUB again it seems I should use backslashes for initrd paths.

fs0:\EFI\arch> vmlinuz-linux.efi root=/dev/mapper/root rw initrd=\EFI\arch\initramfs-linux.img

And this last command finally launches the system from which I'm writing this post. :-) I'm now going to update the EFI boot entry to use backslashes. With the last update something has changed so that they are now required for initrd paths on EFI partition.

Last edited by marekhwd (2020-06-11 21:14:39)

Offline

#9 2020-06-11 21:34:04

marekhwd
Member
Registered: 2018-02-22
Posts: 3

Re: Linux 5.7 cannot boot with intel-ucode.img

sabroad wrote:

Do you know or have any links to discussions about the reason for deprecation and what is the new method for loading initrd images from kernel booted from EFI stub?

EDIT: Related commits found at https://kernelnewbies.org/LinuxChanges# … management
- https://git.kernel.org/pub/scm/linux/ke … ad4b40735c
- https://git.kernel.org/pub/scm/linux/ke … ec111258d8

Last edited by marekhwd (2020-06-11 21:43:57)

Offline

#10 2020-06-11 23:30:26

high1
Member
Registered: 2013-02-04
Posts: 6

Re: Linux 5.7 cannot boot with intel-ucode.img

I was able to boot by removing the forward slash from /amd-ucode.img and /initramfs-linux.img - initrd=amd-ucode.img initrd=initramfs-linux.img. The EFI partition is mounted directly to /boot.

Offline

#11 2020-06-12 05:23:29

EdeWolf
Member
Registered: 2016-01-06
Posts: 51

Re: Linux 5.7 cannot boot with intel-ucode.img

Same here. Update to 5.7.2 using efibootmgr (and f2fs) drops me into EFI shell. However, currently I am not able to boot the kernel from that shell at all
Tried both:
\vmlinuz-linux ... as well as just vmlinuz-linux ...

Both times I do get an:

vmlinuz-linux is not recognized as an internal or external command, operable program, or batch file.

However "help" does not reveal any "boot" kind of command.

Any idea on how I may go on?

Offline

#12 2020-06-12 05:34:23

robinx99
Member
Registered: 2020-02-27
Posts: 3

Re: Linux 5.7 cannot boot with intel-ucode.img

EdeWolf wrote:

Same here. Update to 5.7.2 using efibootmgr (and f2fs) drops me into EFI shell. However, currently I am not able to boot the kernel from that shell at all
Tried both:
\vmlinuz-linux ... as well as just vmlinuz-linux ...

Both times I do get an:

vmlinuz-linux is not recognized as an internal or external command, operable program, or batch file.

However "help" does not reveal any "boot" kind of command.

Any idea on how I may go on?

I belive the efi shell only boots .efi files you might need to copy the kernel
also you might be able to boot the live system and enter the efibootmgr with backslashes (for initrd instead of slashes). The problem seems also to be that the german version of the wiki, not the english one still says slashes are the correct way also it worked https://wiki.archlinux.de/title/UEFI_In … on#EFISTUB have only checked german and english not sure about any other language

Offline

#13 2020-06-12 06:52:52

jim002
Member
Registered: 2020-02-17
Posts: 2

Re: Linux 5.7 cannot boot with intel-ucode.img

efistub boots 5.7.2 with backslashes for initrd paths.
initrd=\intel-ucode.img initrd=\initramfs-linux.img
new boot menu entry e.g.:

sudo efibootmgr -c -d /dev/sda -p X -l \vmlinuz-linux -L "archlinux" -u "initrd=\intel-ucode.img initrd=\initramfs-linux.img cryptdevice=/dev/sdaXX:root root=/dev/mapper/root rw quiet"

Offline

#14 2020-06-12 10:29:05

mastercaution
Member
Registered: 2020-03-29
Posts: 1

Re: Linux 5.7 cannot boot with intel-ucode.img

robinx99 wrote:

The problem seems also to be that the german version of the wiki, not the english one still says slashes are the correct way also it worked https://wiki.archlinux.de/title/UEFI_In … on#EFISTUB have only checked german and english not sure about any other language

After an upgrade to 5.7.2 my system didn't boot due to the forward-slashes. So the German wiki was wrong here, I've changed it.
After I corrected my boot entries accordingly it boots again. Thanks guys for your help!

Offline

#15 2020-06-12 15:38:37

sabroad
Member
Registered: 2015-05-24
Posts: 146

Re: Linux 5.7 cannot boot with intel-ucode.img

loqs wrote:
sabroad wrote:

That commit is not in 5.7?

Sorry- looks like it was efi/libstub: Rewrite file I/O routine.


--
saint_abroad

Offline

#16 2020-06-12 15:41:45

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 9,983

Re: Linux 5.7 cannot boot with intel-ucode.img

The kernel is not in [testing] any more, but the thread might still be useful to people, moving to Kernel & Hardware

Last edited by V1del (2020-06-12 15:43:10)

Offline

#17 2020-06-12 15:51:46

sakhnik
Member
From: Kyiv
Registered: 2011-07-09
Posts: 13
Website

Re: Linux 5.7 cannot boot with intel-ucode.img

Hey, I've also run into troubles after recent update of Intel microcode (Jun 11). Neither linux-5.7, nor 5.6, nor linux-lts boot unless I remove microcode update from the boot entry. The kernel is apparently loaded but doesn't print a single message. Could this be related with my hardware (skylake in HP Chromebook 13 G1)? Previous microcode version worked well.

Offline

#18 2020-06-12 15:58:37

Scimmia
Bug Wrangler
Registered: 2012-09-01
Posts: 7,681

Re: Linux 5.7 cannot boot with intel-ucode.img

sakhnik wrote:

Hey, I've also run into troubles after recent update of Intel microcode (Jun 11). Neither linux-5.7, nor 5.6, nor linux-lts boot unless I remove microcode update from the boot entry. The kernel is apparently loaded but doesn't print a single message. Could this be related with my hardware (skylake in HP Chromebook 13 G1)? Previous microcode version worked well.

That's a totally different issue, known regression in the intel ucode.

Offline

#19 2020-06-12 18:28:05

snigurmd
Member
Registered: 2020-05-11
Posts: 1

Re: Linux 5.7 cannot boot with intel-ucode.img

Same thing. I just can't boot linux-5.7 with that microcode. EFI loader thows me back in BIOS. VERY unpleasant, got me some time to figure that out.

Offline

#20 2020-06-12 18:43:49

loqs
Member
Registered: 2014-03-06
Posts: 10,970

Re: Linux 5.7 cannot boot with intel-ucode.img

snigurmd wrote:

Same thing. I just can't boot linux-5.7 with that microcode. EFI loader thows me back in BIOS. VERY unpleasant, got me some time to figure that out.

See https://bugs.archlinux.org/task/66978 please also read No_power-posting/empty_posts plus Thread_hijacking
Edit:
https://bbs.archlinux.org/viewtopic.php?id=256525

Last edited by loqs (2020-06-12 18:50:15)

Offline

#21 2020-06-12 19:02:26

high1
Member
Registered: 2013-02-04
Posts: 6

Re: Linux 5.7 cannot boot with intel-ucode.img

jim002 wrote:

efistub boots 5.7.2 with backslashes for initrd paths.
initrd=\intel-ucode.img initrd=\initramfs-linux.img
new boot menu entry e.g.:

sudo efibootmgr -c -d /dev/sda -p X -l \vmlinuz-linux -L "archlinux" -u "initrd=\intel-ucode.img initrd=\initramfs-linux.img cryptdevice=/dev/sdaXX:root root=/dev/mapper/root rw quiet"

Hm, I had something similar without cryptdevice - and while using backslashes is the recommended way for initramfs, this works for me also:

sudo efibootmgr --disk /dev/sdX --part Y --create --label "Arch Linux" --loader vmlinuz-linux --unicode 'root=PARTUUID=... rw quiet initrd=amd-ucode.img initrd=initramfs-linux.img' --verbose

Offline

#22 2020-06-12 21:02:54

zoidby
Member
From: UTC+1
Registered: 2009-04-25
Posts: 24

Re: Linux 5.7 cannot boot with intel-ucode.img

I can confirm that replacing the slashes in /boot/refind_linux.conf with backslashes and it boots again.

But why was this needed? It did work fine with slashes before. Every other month someone makes a small, seemingly unnecessary, change like that and linux wont boot anymore. Completely without any notice. And then i have to figure out whats the problem again. This really sucks.

Offline

#23 2020-06-12 23:41:19

high1
Member
Registered: 2013-02-04
Posts: 6

Re: Linux 5.7 cannot boot with intel-ucode.img

zoidby wrote:

I can confirm that replacing the slashes in /boot/refind_linux.conf with backslashes and it boots again.

But why was this needed? It did work fine with slashes before. Every other month someone makes a small, seemingly unnecessary, change like that and linux wont boot anymore. Completely without any notice. And then i have to figure out whats the problem again. This really sucks.

Paths in UEFI use backslashes, probably compliance with the specification.

Offline

#24 2020-06-13 01:00:53

zoidby
Member
From: UTC+1
Registered: 2009-04-25
Posts: 24

Re: Linux 5.7 cannot boot with intel-ucode.img

high1 wrote:

Paths in UEFI use backslashes, probably compliance with the specification.

But why does it have to be changed like that? You could comply with the spec while still allowing the old format and just show a message in the logs telling you to change your config. Or use mailing lists to inform people. I am subscribed to the arch-announce one. Pacman also has the ability to show a message after a package upgrade. This feels like a purposefully implemented bug.

Sorry for the rant, but this happens ever other week. I update one of my machines and it wont boot anymore. This has been going on for years. You can see that i am registered here for some time. I always hoped Linux or arch would mature at some point, but it seems like it never will.

Offline

#25 2020-06-13 08:33:50

high1
Member
Registered: 2013-02-04
Posts: 6

Re: Linux 5.7 cannot boot with intel-ucode.img

I'm not sure that anyone noticed this beforehand, EFISTUB users are a minority, I think. Wiki should be updated ASAP.

Offline

Board footer

Powered by FluxBB