You are not logged in.

#1 2013-08-19 04:45:01

steveriley
Member
From: Seattle, WA, USA
Registered: 2010-11-27
Posts: 8

Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

Been using rEFInd for some time now. Current installed version is 0.7.1. Kernels 3.10.5 and earlier would boot without incident. Yesterday I upgraded to 3.10.6 and boot failed. As a workaround, I copied the Liquorix kernel and initramfs from my Kubuntu partition; to my mild surprise, this worked. My next test was to install the 3.10.7 Zen kernel from heftig's repository. This kernel boots fine (I added a version number string to the name of the kernel image and the initramfs so that rEFInd would automatically match them). After that, I enabled Arch testing and updated the Arch kernel to 3.10.7; this also fails to boot just like the 3.10.6 kernel did.

I'm a fan of boot text, so I've configured rEFInd in text mode only. Here's my refind.conf, with almost no changes from defaults:

timeout 20
textonly 1
use_graphics_for
scan_all_linux_kernels

And my /boot/refind_linux.conf:

"Boot to X"		"ro root=/dev/sda3 nox2apic nmi_watchdog=0 elevator=noop acpi_osi=Linux pcie_aspm=force raid=noautodetect systemd.unit=graphical.target"
"Boot to single user"	"ro root=/dev/sda3 nox2apic nmi_watchdog=0 elevator=noop acpi_osi=Linux pcie_aspm=force raid=noautodetect systemd.unit=multi-user.target"
# "Boot to recovery"	"ro root=/dev/sda3 nox2apic nomodeset systemd.unit=rescue.target"

Finally, details abot my laptop -- a ThinkPad T520:

steve@t520 ~ $ inxi -xxSMCGDp
System:    Host: t520 Kernel: 3.10.7-1-zen x86_64 (64 bit, gcc: 4.8.1) 
           Desktop: KDE 4.11.00 (Qt 4.8.5) dm: kdm Distro: Arch Linux
Machine:   System: LENOVO product: 423926U version: ThinkPad T520 Chassis: type: 10
           Mobo: LENOVO model: 423926U Bios: LENOVO version: 8AET63WW (1.43 ) date: 05/08/2013
CPU:       Dual core Intel Core i7-2620M CPU (-HT-MCP-) cache: 4096 KB flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 10769.3 
           Clock Speeds: 1: 1188.00 MHz 2: 1809.00 MHz 3: 1809.00 MHz 4: 1080.00 MHz
Graphics:  Card: NVIDIA GF119M [Quadro NVS 4200M] bus-ID: 01:00.0 chip-ID: 10de:1057 
           X.Org: 1.14.2 driver: nvidia Resolution: 1920x1080@60.0hz 
           GLX Renderer: NVS 4200M/PCIe/SSE2 GLX Version: 4.3.0 NVIDIA 325.15 Direct Rendering: Yes
Drives:    HDD Total Size: 1256.3GB (8.2% used)
           1: id: /dev/sda model: M4 size: 256.1GB serial: 000000001140031E608A temp: 0C 
           2: id: /dev/sdb model: HGST_HTS721010A9 size: 1000.2GB serial: JG40006PG61HKC temp: 43C 
Partition: ID: / size: 108G used: 37G (37%) fs: ext4
           ID: /boot/efi size: 511M used: 3.1M (1%) fs: vfat 
           ID: /mnt/kubuntu size: 118G used: 59G (53%) fs: ext4
           ID: swap-1 size: 9.64GB used: 0.00GB (0%) fs: swap

Last edited by steveriley (2013-08-19 05:27:15)

Offline

#2 2013-08-19 04:52:01

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

Steve, your picture is far too large for these forums.  You are going to want to put it in some kind of a picture sharing/hosting site and link back to it.  Otherwise it will end up disappeared (likely via black magic) from your post.  I don't think that it provides any useful information anyway.  If you want to post your kernel command line that is great.  But posting a picture of a frozen screen with no output... doesn't really do much good.

Efistub has been a bit shaky since 3.6 actually.  There is a monster thread about this already, the title of which references 3.6, but the content continues on through several kernel releases.  Still people continually report this as being an issue.  What I do is I keep a normal efi bootloader (one that doesn't rely on efistub) at the ready all the time.  My choice was elilo, but since [testing] started including syslinux-efi in the syslinxu package, I have started using that... though I still have elilo set up.

Can you boot with efistub from the UEFI Shell or gummiboot?  I prefer gummiboot, but I have had this problem in the past, and when I did, I was able to boot with rEFInd... which was strange.  Some people even report that simply having a direct efibootmgr entry in their firmware causes it to magically work.  Though there should be to reasonable explanation for this, it was confirmed by several people in the mentioned thread.

Offline

#3 2013-08-19 04:57:42

steveriley
Member
From: Seattle, WA, USA
Registered: 2010-11-27
Posts: 8

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

Thanks for the advice about the pic. Over at Kubuntu Forums, where I'm an admin, we have a habit of posting pics. Since that's not the way here, I removed it.

I saw that monster thread, but since the subject line was for the older kernel, it seemed like starting a new thread was the right thing to do. As for your suggested testing techniques, I'll experiment and report back here.

Offline

#4 2013-08-19 05:29:07

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

There are a fair number of pictuers posted around here as well.  But in support threads typically they are only included if they are particularly relevant to the topic at hand, and can provide additional information.  For example, kernel panics are a common ting to post a picture of... as there is just no other way.

I think you should try making a direct efibootmgr entry.  You don't have to use it, and I cannot confirm or deny whether it works, as I have not needed it.  But it is super simple to test.  Just use the '-u' option at the end and stick your kernel command line in double quotes.  So for example, I would use:

# efibootmgr -c -d /dev/sdb -p 1 -L "Arch Linux" -l '\EFI\arch\vmlinuz-linux.efi' -u "root=LABEL=btrfs-arch initrd=\EFI\arch\initramfs-linux.img rootflags=subvol=rootfs"

Offline

#5 2013-08-19 06:35:06

steveriley
Member
From: Seattle, WA, USA
Registered: 2010-11-27
Posts: 8

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

I used to use the direct boot method before I discovered rEFInd. I like rEFInd because it's almost maintenance-free: it auto-discovers bootable images and, with its file system driver support, eliminates the need to copy kernels and initrds to the EFI system partition.

Reporting my findings... neither the direct boot method nor Gummiboot worked. I can't test booting from the EFI shell because this ThinkPad won't work with the v2 shell, only the v1 shell. Unless I'm missing something, I don't see anything in the list of v1 commands that provides a way to load a kernel and initrd to boot from.

Offline

#6 2013-08-19 12:30:50

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

Just append ".efi" to the kernel and it becomes its very own efi application.  Then you should be able to simply launch it directly from that command line.  You can simply type out your kernel command line, and specify the initrd, root, etc.

Offline

#7 2013-08-19 13:39:48

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

Some users have reported that switching from rEFInd built with Tianocore to rEFInd built with GNU-EFI works around the problem -- but this doesn't work for everybody. See the rEFInd downloads page for links to packages built both ways. (Arch's rEFInd package is built independently of mine, and is built with Tianocore.) (I'm the maintainer of rEFInd.)

There is an EFI version 2 shell that works with pre-2.3.1 versions of EFI. The download link is:

http://dl.dropbox.com/u/17629062/Shell2.zip

Offline

#8 2013-08-20 13:32:07

ValdikSS
Member
Registered: 2011-03-30
Posts: 31

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

https://bugs.archlinux.org/task/36519
https://bugs.archlinux.org/task/33745

I don't know what to do, so I'm using GRUB2 in EFI mode now.

Offline

#9 2013-08-24 17:37:08

dhave
Arch Linux f@h Team Member
From: Outside the matrix.
Registered: 2005-05-15
Posts: 1,112

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

On my Thinkpad T420, using rEFInd to boot via uefi, I was unable to boot Arch kernels 3.10.6 through 3.10.8. For the past few months previous Arch kernel releases have worked fine with my setup.

It turn out that Arch kernel 3.10.9-1 is booting well, I'm happy to report.


Donate to Arch!

Tired? There's a nap for that. --anonymous

Offline

#10 2013-08-25 02:33:19

ValdikSS
Member
Registered: 2011-03-30
Posts: 31

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

Yep, 3.10.9 works.

Offline

#11 2013-09-15 02:45:53

steveriley
Member
From: Seattle, WA, USA
Registered: 2010-11-27
Posts: 8

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

srs5694 wrote:

Some users have reported that switching from rEFInd built with Tianocore to rEFInd built with GNU-EFI works around the problem -- but this doesn't work for everybody.

The current kernel, 3.11.0-1, is booting fine. Next time I encounter this problem, I'll try the GNU-EFI version of rEFInd. Right now I'm running the 0.7.1 binary directly from your site, not(*) the one in the Arch package.

srs5694 wrote:

There is an EFI version 2 shell that works with pre-2.3.1 versions of EFI.

Hey, thanks for this!

-----------------

(*) Edited to add the word "not" here.

Last edited by steveriley (2013-09-15 18:13:30)

Offline

#12 2013-09-15 14:55:49

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

steveriley wrote:

Next time I encounter this problem, I'll try the GNU-EFI version of rEFInd. Right now I'm running the 0.7.1 binary directly from your site, the one in the Arch package.

I don't distribute a version of rEFInd in an Arch package. If you're using rEFInd from an Arch package, then that means you're using a version packaged by the Arch maintainers. This version works fine for most people, but it is compiled with a different version of GCC and probably a different version of Tianocore than what I use. I've seen the occasional peculiar bug report that I suspect may be related to these differences. (There's a lot of variability between EFI implementations, and subtle differences like these can cause strange problems to crop up from time to time.)

Offline

#13 2013-09-15 18:26:42

steveriley
Member
From: Seattle, WA, USA
Registered: 2010-11-27
Posts: 8

Re: Kernels 3.10.6 and 3.10.7 fail to boot with EFI stub

srs5694 wrote:

I don't distribute a version of rEFInd in an Arch package. If you're using rEFInd from an Arch package, then that means you're using a version packaged by the Arch maintainers.

Ah, my fault for leaving out a word here. I meant to type "not the one in the Arch package." Sigh. (I corrected my earlier post.)

srs5694 wrote:

(There's a lot of variability between EFI implementations, and subtle differences like these can cause strange problems to crop up from time to time.)

Yes, I have noticed. Another weird bugaboo that occasionally crops up from kernel to kernel is the error "failed to allow lowmem for boot params," which stops the boot process very early. Google is of little assistance here, mostly showing kernel source code containing this text along with my report on the Liquorix forum and someone else's report here on the Arch forum.

Offline

Board footer

Powered by FluxBB