FS#39811 - [linux] Boot hangs after decompressing kernel 3.14 on Haswell chips
Attached to Project:
Arch Linux
Opened by Spyros Stathopoulos (Foucault) - Thursday, 10 April 2014, 20:55 GMT
Last edited by Tobias Powalowski (tpowa) - Sunday, 27 April 2014, 13:17 GMT
Opened by Spyros Stathopoulos (Foucault) - Thursday, 10 April 2014, 20:55 GMT
Last edited by Tobias Powalowski (tpowa) - Sunday, 27 April 2014, 13:17 GMT
|
Details
Description:
After update to kernel 3.14-4 system boot halts after decompressing kernel, right after displaying "Booting the kernel". There are other reports of users that are affected from the same problem both on syslinux and grub [1]. At the moment it is unknown if this problem is specific to the cpu or the chipset. Also impossible to debug since the kernel does not boot at all. System boots normally with kernel 3.13 or LTS. I have also tried to disable compression (using cat in mkinitcpio.conf) and rebuild the initramfs to no avail. Currently I am unsure if this is a kernel regression or an initramfs problem. Attached (pretty much stock) mkinitcpio.conf Additional info: linux: 3.14-4 Steps to reproduce: 1) Have a Haswell CPU and kernel 3.14 2) Boot the system 3) Boot procedure stops after kernel decompression [1] https://bbs.archlinux.org/viewtopic.php?id=179818 |
This task depends upon
Closed by Tobias Powalowski (tpowa)
Sunday, 27 April 2014, 13:17 GMT
Reason for closing: Fixed
Additional comments about closing: 3.14.2-1
Sunday, 27 April 2014, 13:17 GMT
Reason for closing: Fixed
Additional comments about closing: 3.14.2-1
Not related to mkinitcpio but 0007-Fix-the-use-of-code32_start-in-the-EFI-boot-stub.patch seems pretty much suspicious.
Unable to test right now (working PC is not affected), any test is welcomed.
It does not apply to 3.14, so I use a slightly different version (also provided by the same author). Anyway, as Spyros confirmed, this is unrelated to the boot problems of this bug report.
i5-4200M - Kernel 3.14.0-4-ARCH
All I can read in this report is "OMG OMG my system won't boot", "OMG, me too". There's nothing that anyone can do about it with this kind of information. All I can say is that neither the Haswell CPU nor the chipset have anything to do with it.
Probing EDD (edd=off to disable)... ok
early console in decompress_kernel
Decompressing Linux... Parsinf ELF... done.
Booting the Kernel
System specs:
* Kernel 3.14.0-4-Arch
* CPU: Intel i5 4570
* 24GB RAM
* Grub
* RAID0 with mdadm on /dev/md/0
* Mainbaord: Gigabyte Z87 HD3 (Intel® Z87 Express Chipset)
* Hooks: "base udev autodetect modconf block mdadm_udev filesystems keyboard fsck"
* Syslinux: "APPEND root=/dev/md/0 ro nomodeset ipv6.disable=1"
Instead, my Ultrabook with Intel i5-3337U CPU boots well with the new kernel.Instead, my Ultrabook with Intel i5-3337U CPU boots well with the new kernel.
@brain0: Could you please provide your syslinux.cfg and mkinitcpio.conf files of your working setup. Then I try it with your settings. It looks like we have a similar setup, though.
Kernel: 3.14-4-ARCH x86_64
CPU: Intel i3-4330
8GB RAM
RAID1 on boot/root partition
Gigabyte GA-B85M-D3H - Intel B85 Express Chipset
/etc/mkinitcpio.conf:
MODULES=""
BINARIES=""
FILES=""
HOOKS="base udev autodetect modconf block mdadm_udev filesystems resume keyboard fsck"
What can I do to give you guys more information?
Have tried adding verbose to kernel line to get some more info, but that doesn't give anymore info (probably because it hangs before kernel does anything?)
Is there anyway to increase verboseness in grub or something similar that could give more details?
linux /boot/vmlinuz-linux root=UUID=4dd972d0-4a16-43ce-b451-670df2a99460 rw ipv6.disable=1 resume=/dev/sda3
As mentioned above, I have two machines with Haswell CPUs that boot fine (using EFI on both).
Over the weekend, will try changing disk to GPT table and using EFI for boot to see if that fixes anything.
@maxrd2: Are you booting your /boot from an external/other disk than the one of / ? I have an external USB flash drive with a small /boot partition on it.
I unplugged all my internal drives and just used my USB /boot stick (with MBR) to start the system. I get exactly the same problem - yes, here on purpose :) Yet, the system also stops at "Booting the kernel", too.
I assume, the MBR doesn't find my other drives even with all drives pluged in as usual. Maybe it's syslinux related + RAID?
Maybe, the syslinux-install_update or mkinitcpio script does something wrong here?
@brain0: have tried loglevel=7, debug, etc... message doesnt change. After decompressing kernel, everything hangs and i can only turn off pc.
Have done a fresh arch install to external usb drive with EFI+MBR (not GPT) and it's same: 3.13.8-1 boots just fine, 3.14-4 hangs after decompressing kernel.
I could try converting to a GPT partition table, but don't think that will change anything.
So it hangs both on UEFI and BIOS.
If it was some issue with initrd.. There would be some (error) message not just a hang... right?
I mean kernel gets loaded, then scripts in initrd start executing... With loglevel=7 i would at least see some messages from the kernel if this was initrd issue?
CPU is Intel i5 4670, motherboard is Gigabyte Z87MX-D3H. The BIOS was updated from version F2 (May 2013) to F6 (Jan 2014).
http://www.gigabyte.com/products/product-page.aspx?pid=4567&m=n#bios
As upgrading the BIOS looks promising, I want to upgrade my BIOS, too. Before I do it, I would like to provide you all the information of my current BIOS. I'm thinking of 'dmidecode' and flashrom output pre and post BIOS update.
I already did the following steps:
$ dmidecode
$ dmidecode > pre_bios_dmi
$ dmidecode --dump > pre_bios_dmi_bin
$ flashrom --programmer internal -r pre_bios_rom
$ flashrom --programmer internal -c "MX25L6405(D)" -r pre_bios_rom_MX25L6405-D
$ flashrom --programmer internal -c "MX25L6406E/MX25L6436E" -r pre_bios_rom_MX25L6406E-MX25L6436E
$ flashrom --programmer internal -c "MX25L6445E" -r pre_bios_rom_MX25L6445E
Which additional information do you need, before I start my BIOS upgrade?
Multiple flash chip definitions match the detected chip(s): "MX25L6405(D)", "MX25L6406E/MX25L6436E", "MX25L6445E"?
Because my board has "ITE IT8728F superio chip", I had to use latest flashrom from trunk which has support for this chip, and instead of "--programmer internal" had to use "--programmer internal:dualbiosindex=0" for master bios, or "--programmer internal:dualbiosindex=1" for backup:
$ yaourt -S flashrom-svn
$ flashrom -p internal:dualbiosindex=0 -c MX25L6445E -V -w tmp/mb_bios_ga-b85m-d3h_f9/B85MD3H.F9
As expected kernel 3.14 boots now.
This is my flashrom output:
Calibrating delay loop... OK.
Found chipset "Intel Z87".
This chipset is marked as untested. If you are using an up-to-date version
of flashrom *and* were (not) able to successfully update your firmware with it,
then please email a report to flashrom@flashrom.org including a verbose (-V) log.
Thank you!
Enabling flash write... Warning: SPI Configuration Lockdown activated.
OK.
Found Macronix flash chip "MX25L6405(D)" (8192 kB, SPI) at physical address 0xff800000.
Found Macronix flash chip "MX25L6406E/MX25L6436E" (8192 kB, SPI) at physical address 0xff800000.
Found Macronix flash chip "MX25L6445E" (8192 kB, SPI) at physical address 0xff800000.
Multiple flash chip definitions match the detected chip(s): "MX25L6405(D)", "MX25L6406E/MX25L6436E", "MX25L6445E"
Maybe I have to use "--programmer internal:dualbiosindex=0", too. Seeing three different chips makes me unconscious of how to flash my setup the right way. Furthermore, viditing my mainboard's download page just offers me *.exe files. Do I have to unpack this file first? And on which chip install it?
@brain0: Do you need information to fix that problem? If yes, which infos should I provide before I flash my BIOS? I would like to help, yet I need help to help you :)
edit: the upgrade fixed the problem.
[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=671cc68dc61f029d44b43a681356078e02d8dab8
My 3.14+ kernel boots only with acpi=off or acpi=rsdt, otherwise i get black screen of death after selecting entry from gummiboot:
i7-4770
Gigabyte Z87-HD3
i7-4770
GA-Z87X-UD4H
3 Computers: 1 is affected
Specs:
MB: Supermicro X9SAE
CPU: Xeon E3 1275v2
Booting with:
Grub (EFI, latest beta from testing), mdadm RAID 1 (lvm hook also activated)
I've tried to debug. Kernel debug does nothing at all. Grub debug seems to load vmlinuz, the image and then freezes after running some free command. Very strange imho.
bug 73911, especially at the tests requested here:https://bugzilla.kernel.org/show_bug.cgi?id=73911#c8
https://bugzilla.kernel.org/show_bug.cgi?id=73911#c13
You should be able to see a panic message at boot using the option earlyprintk=vga,keep.
Gigabyte Z87-D3HP MB
BIOS F2
Core i5 4440
Kernel 3.14.0-5-ARCH on x86_64
Update from 3.13 to 3.14 led to hang loading initramfs.
FIXED - update BIOS from F2 to F6, all fine.
GA-Z87X-UD4H
Bios update from F5 to F7/F8 did resolve the issue.
Gigabyte Z87-HD3
Update from F4 to F7 solved the issue.
Thanks!
Applying the above patch (lv-xsdt2-3.14.patch) allows me to boot once again. Thanks.