[Bug 581644] New: kernel /does not boot/ when on battery power
http://bugzilla.novell.com/show_bug.cgi?id=581644 http://bugzilla.novell.com/show_bug.cgi?id=581644#c0 Summary: kernel /does not boot/ when on battery power Classification: openSUSE Product: openSUSE 11.2 Version: Final Platform: x86-64 OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: Kernel AssignedTo: kernel-maintainers@forge.provo.novell.com ReportedBy: jnelson-suse@jamponi.net QAContact: qa@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.7) Gecko/20091222 SUSE/3.5.7-1.1.1 Firefox/3.5.7 I was at a conference without my battery adapter handy, and wanted to boot my computer. Try as I might, the kernel hung very early in the boot process. I could only get a screenshot, attached. Plugging in my adapter (w/power) and it boots perfectly. Reproducible: Always Steps to Reproduce: 1. 2. 3. -- Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c1
--- Comment #1 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c
Jeff Mahoney
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c2
--- Comment #2 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c3
--- Comment #3 from Alexey Starikovskiy
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c4
--- Comment #4 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c5
--- Comment #5 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c6
--- Comment #6 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c7
--- Comment #7 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c8
Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c9
--- Comment #9 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c10
Thomas Renninger
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c11
--- Comment #11 from Thomas Renninger
From the logs:
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c12
--- Comment #12 from Henrique de Moraes Holschuh
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c13
--- Comment #13 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c14
--- Comment #14 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c15
--- Comment #15 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c16
--- Comment #16 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c17
--- Comment #17 from Thomas Renninger
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c18
--- Comment #18 from Thomas Renninger
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c19
--- Comment #19 from Thomas Renninger
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c20
Thomas Renninger
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c21
Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c22
Thomas Renninger
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c23
Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c24
Thomas Renninger
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c25
Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c26
--- Comment #26 from Jon Nelson
http://bugzilla.novell.com/show_bug.cgi?id=581644
http://bugzilla.novell.com/show_bug.cgi?id=581644#c27
--- Comment #27 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c28
--- Comment #28 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c
Thomas Renninger
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c29
--- Comment #29 from Thomas Renninger
From dmesg: <5>[ 0.000000] ACPI: DMI detected: Lenovo ThinkPad T61 <5>[ 0.000000] ACPI: Added _OSI(Linux) That means acpi_osi=Linux should already be the default. acpi_osi=!Linux should make a difference (and there should be stated something in dmesg (dmesg |grep -i osi), that it got applied. Sorry, for not looking deeper earlier. Possibly you find a ACPI related BIOS option which makes a difference (ACPI version or similar). The gpe block declaration and the corresponding warning still looks very suspicious if I find the time I have another look at it. You may want to try above meanwhile or googling for the problem might be worth it, the T61p is a very common machine.
-- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c30
--- Comment #30 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c32
Thomas Renninger
Despite being "powered", it would still not boot (and, interestingly, the backlight did not reset to "bright" when I plugged in the brick). Backlight is a good hint. Iirc someone else had problems booting recently and suspected it happens when the backlight is adjusted. Most likely it's the video.ko driver (together with the Intel graphics cards i915 driver if you have such a card) causing this. Possibly it may be the thinkpad-acpi driver doing backlight switching.
You could try to blacklist them in /etc/modprobe.conf.local: blacklist video blacklist thinkpad-acpi not sure whether this is enough for the video driver or whether it gets loaded due to dependencies to the graphics driver. You could try to move it away then from: mv /lib/modules/`uname -r`/kernel/drivers/acpi/video.ko /tmp and move it back later if you finished tests: mv /tmp/video.ko /lib/modules/`uname -r`/kernel/drivers/acpi -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c
Thomas Renninger
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c33
--- Comment #33 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c34
Thomas Renninger
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c35
Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c36
Len Brown
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c37
--- Comment #37 from Len Brown
nvidia: module license 'NVIDIA' taints kernel.
does it still fail with this tainting removed? I have a t61 with i915 graphics, and it works fine. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c38
--- Comment #38 from Jon Nelson
A bunch of comments above refer to the charging level of the battery.
Does the system boot on DC if the battery is 100% charged?
Yes (at least, it has never failed when fully charged - even "mostly" charged)
This looks like some sort of timing/race issue. Can you reproduce the issue when you boot uni-processor with "maxcpus=1"?
I haven't tried that. I'll give it a go!
Do you have the capability to compile a kernel.org kernel from scratch? If yes, and you can reproduce this issue with 3.0, perhaps you can file a bug at bugzilla.kernel.org against Product: ACPI catetory: battery
The first thing I'll ask is if this happens with CONFIG_ACPI_DEBUG=n -- since all the suse kernel's you tested have it enabled.
I have compiled a great many kernels over the years. I can also try with the 'debug' kernel, if I get a chance. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c39
--- Comment #39 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c40
Len Brown
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c41
--- Comment #41 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c42
--- Comment #42 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c43
--- Comment #43 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c44
--- Comment #44 from Thomas Renninger
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c45
--- Comment #45 from Thomas Renninger
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c46
--- Comment #46 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c47
Len Brown
I gave 'max_cpus=1'. No change.
Do you mean the cmdline parameter "maxcpus=1"? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c48
Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c49
Thomas Renninger
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c50
--- Comment #50 from Thomas Renninger
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c51
--- Comment #51 from Robert Moore
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c52
--- Comment #52 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c53
--- Comment #53 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c54
Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c55
--- Comment #55 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c56
--- Comment #56 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c57
--- Comment #57 from Thomas Renninger
I've added Yes, perfect. Sorry for the early code, I plan to clean this up and will repost (the patch was initially marked as RFC, but "should" work). But I don't have time cleaning up and reposting right now.
You should see a "FACP" or "FADT" overridden really early (with your "addon"). It now should also find the initrd again where the disk/lvm drivers are in. If not the override may still have been successful and unpacking the initrd and trying to load the disk driver should come after the boot hang. So, if the machine does not hang anymore that early and you see the "override message", the overriding worked and it was the GPE1 block not being defined in the 32 bit address declarations... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c58
--- Comment #58 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c59
--- Comment #59 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c60
--- Comment #60 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c61
--- Comment #61 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c62
--- Comment #62 from Thomas Renninger
I'll be modifying the patches a bit more. Would you be interested in the changes I've made? Definitely!
One idea I had is to copy the table data away from initrd (and get the fully initrd memory released). My idea for a cleaned up version was to: - memblock_find_in_range() - memblock_x86_reserve_range() - copy the ACPI table(s) in there - increase initrd_start pointer to the starting address of the real initrd/cpio - make sure initrd including (already copied away) ACPI tables are freed here: /arch/x86/mm/init.c:free_initrd_mem() There is a acpi=copy_dsdt boot param, I wanted to have a look what they are doing there... Hope this helps. I hope to be able to spend some time on this next week. Your efforts are very much appreciated! -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c63
--- Comment #63 from Jon Nelson
I'll be modifying the patches a bit more. Would you be interested in the changes I've made? Definitely!
The patches are currently a bit rough, and I have tried several different approaches. Please allow me some time to clean them up a bit, but would you prefer to collaborate out-of-band (ie, email) on this for now? It might be easier.
One idea I had is to copy the table data away from initrd (and get the fully initrd memory released). My idea for a cleaned up version was to: - memblock_find_in_range() - memblock_x86_reserve_range() - copy the ACPI table(s) in there - increase initrd_start pointer to the starting address of the real initrd/cpio - make sure initrd including (already copied away) ACPI tables are freed here: /arch/x86/mm/init.c:free_initrd_mem()
There is a acpi=copy_dsdt boot param, I wanted to have a look what they are doing there...
Ahh. Nice. I'll look at that, as well as the above approach. I also tried alloc_bootmem, kalloc, and a few others.
Hope this helps. I hope to be able to spend some time on this next week.
Your efforts are very much appreciated!
No, Sir, *your* efforts are very much appreciated! -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c64
--- Comment #64 from Thomas Renninger
but would you prefer to collaborate out-of-band (ie, email) on this for now? Sure, that's probably best.
I also tried alloc_bootmem, kalloc kalloc won't work that early not sure about alloc_bootmem, but this one sounds as if it should get used during boot only (afaik gets freed later automatically?) I expect the way to go is to use memblock_x86_reserve_range or a friend.
Some tables (e.g. DSDT) have to be kept. As this is a debug option only, any ACPI table info coming through initrd should be copied to a reserved/alloc'ed region and be kept reserved/alloc'ed all the time. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c65
--- Comment #65 from Rafael Wysocki
2) Fix values in FACP1
Iirc the 32 bit values are prefered over the 64 bit ones because we expect Windows is (afaik was) doing it, but Linux ACPI code still double checks whether they are equal. That's were the warnings are coming from you mentioned in comment #46: The GPE1 block is defined in the 64 bit structures, but not in the 32. Iirc this will result in ignoring the GPE1 block.
It shouldn't. The code in tbfadt.c only uses 32-bit values if they are nonzero. However, they are preferred over 64-bit values if both are nonzero. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c66
Rafael Wysocki
If I use the initrd /without/ the facp pre-pended, it boots fine.
Does your kernel with the patches from comment #65 applied boot correctly with a normal initrd? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c67
Jon Nelson
(In reply to comment #55)
If I use the initrd /without/ the facp pre-pended, it boots fine.
Does your kernel with the patches from comment #65 applied boot correctly with a normal initrd?
No. relocate_initrd - in 918402.patch - hangs because (at least in my case) the kernel is /already/ in lowmem (there might also be something funky with relocate_initrd -- in any case, it's not being used here). As I noted earlier, I've extensively re-worked the patches. I have something working now. One thing to note: I seem to be able to successfully override most (if not all) of the acpi tables, *except* FACP. If I override FACP, even with the un-recompiled table, it hangs at boot. The last thing I see is the EDD... ok message. The other tables I am able to override, so far. Why might I not be able to override FACP? I hope to clean up what I've got and make it available. I resorted to using an older trick -- a "magic string" *appended* to the initrd marks the (potential) start of ACPI override tables -- this makes it easier to duplicate the tables in lowmem without causing problems freeing the initrd later. Everything seems to work except FACP. :-( Thoughts or suggestions? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c68
--- Comment #68 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c69
--- Comment #69 from Jon Nelson
https://bugzilla.novell.com/show_bug.cgi?id=581644
https://bugzilla.novell.com/show_bug.cgi?id=581644#c70
Jeff Mahoney
participants (1)
-
bugzilla_noreply@novell.com