bugGNU GRUB - Bugs: bug #46817, GRUB2 can't boot on HP dv6 notebook

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #46817: GRUB2 can't boot on HP dv6 notebook

Submitted by:  Henry <kxishwosk>
Submitted on:  Tue 05 Jan 2016 09:56:33 AM UTC  
 
Category: BootingSeverity: Major
Priority: 6Item Group: Hardware-specific
Status: NonePrivacy: Public
Assigned to: NoneOriginator Name: 
Open/Closed: OpenRelease: 
Release: 2.00Reproducibility: Every Time
Planned Release: 2.02

(Jump to the original submission Jump to the original submission)

Sat 05 Mar 2016 07:13:02 AM UTC, comment #16:

HP hasn't replied and I think they don't care about an old notebook in 2011. Thank you for your workaround.

Henry <kxishwosk>
Wed 02 Mar 2016 01:32:35 PM UTC, comment #15:

Obviously it's HP bug but we may be able to workaround it by not using memory above 2G mark.

Vladimir Serbinenko <phcoder>
Project Administrator
Tue 12 Jan 2016 08:55:06 AM UTC, comment #14:

My bug report on HP's website: http://h30434.www3.hp.com/t5/Notebook-Boot-and-Lockup/Can-t-use-GRUB2/td-p/5444316

Henry <kxishwosk>
Tue 12 Jan 2016 08:25:21 AM UTC, comment #13:

I attach my code for debugging and dump for reference.
GRUB2 always allocates 20M buffer to 0x9ba3f000. If I use 0x812da8 as size of erasing, GRUB2 works; If I increase this size, GRUB2 hangs.
0x9ba3f000 + 0x812da8 = 0x9c251da8. I have checked this in GRUB2's command line:

"write_word 0x9c251da6 0; ls /" Works.
"write_byte 0x9c251da8 0; ls /" Hangs.

Henry <kxishwosk>
Tue 12 Jan 2016 08:12:55 AM UTC, comment #12:

I think it's a bug in BIOS. I tried to allocate 20MB buffer after grub_machine_init() and now GRUB2 works. So I zero-filled part of this buffer to get the exact address which can't be clobbered. That address is 0x9c251da8 which is declared as available by BIOS. I have dumped 160 bytes after that address and disassembled it, it's x86-64 code.

My memory map from Linux's dmesg (Result from GRUB's lsmmap matches with this.):
[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable
[ 0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000009ce3efff] usable
[ 0.000000] BIOS-e820: [mem 0x000000009ce3f000-0x000000009cebefff] reserved
[ 0.000000] BIOS-e820: [mem 0x000000009cebf000-0x000000009cfbefff] ACPI NVS
[ 0.000000] BIOS-e820: [mem 0x000000009cfbf000-0x000000009cffefff] ACPI data
[ 0.000000] BIOS-e820: [mem 0x000000009cfff000-0x000000009cffffff] usable
[ 0.000000] BIOS-e820: [mem 0x000000009d000000-0x000000009f9fffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000feb00000-0x00000000feb03fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed19fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[ 0.000000] BIOS-e820: [mem 0x00000000ffd80000-0x00000000ffffffff] reserved
[ 0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000035fdfffff] usable

Henry <kxishwosk>
Sun 10 Jan 2016 09:20:31 AM UTC, comment #11:

As I am out of ideas for the moment, here is summary of current state.

- GRUB works with HDD and CD. It hangs when accessing USB device via biosdisk. GRUB legacy works with USB

- GRUB can access USB HDD using native drivers (boot mkrescue image from CD and run nativedisk)

- via biosdisk GRUB hangs in grub_bios_interrupt

- it does not happen immediately. It successfully reads normal.mod and hangs on the first disk access when loading next module (terminal.mod in this case)

- I tried to mimic GRUB legacy logic by always reading full track, it did not help

- I attach dmesg from this system for reference.

(file #35965)

Andrei Borzenkov <arvidjaar>
Project Member
Wed 06 Jan 2016 02:06:55 PM UTC, comment #10:

Message of GRUB on screen (/dev/sdc1 for GRUB partiton):

kern/disk.c:196: Opening 'hd0,msdos1'...
partmap/msdos.c:188: partition 0: flag 0x0, type 0x83, start 0x800, len 0x80000
kern/fs.c:56: Detecting ext2...
kern/disk.c:295: Closing 'hd0'.
kern/dl.c:596: module at 0x9cde0160, size 0x1a280
kern/dl.c:620: relocating to 0x9ce3a530
kern/disk.c:196: Opening 'hd0,msdos1'...
partmap/msdos.c:188: partition 0: flag 0x0, type 0x83, start 0x800, len 0x80000
kern/fs.c:56: Detecting ext2...

Henry <kxishwosk>
Wed 06 Jan 2016 01:36:29 PM UTC, comment #9:

Well ... GRUB files are at the end of this stick, around 32GB. It could cause problems. Could you make sure GRUB is installed at the very beginning (and send me BIS output once more)? 8GB was common boot partition limit.

Andrei Borzenkov <arvidjaar>
Project Member
Wed 06 Jan 2016 01:23:43 PM UTC, comment #8:

I forget to tell you that I use an empty USB stick (/dev/sdc) to test GRUB2 cloned from git repository.

Henry <kxishwosk>
Wed 06 Jan 2016 01:21:13 PM UTC, comment #7:

I've sent output of bootinfoscript to you by email and prepared a PL2302 USB-RS232 adapter, but I don't know how to enable usbserial and debug GRUB. I made a rescue image and it can boot to command line of GRUB. My harddisk's model is Toshiba MK7575GSX with 512 byte sector.

Henry <kxishwosk>
Tue 05 Jan 2016 05:00:54 PM UTC, comment #6:

Please attach output of https://github.com/arvidjaar/bootinfoscript.

Does your system have serial RS232 port? Do you have possibility to attach it from other system to capture output?

Do you have CD drive? Can you boot GRUB rescue image?

Does your system use 4Kn disks by any chance?

Andrei Borzenkov <arvidjaar>
Project Member
Tue 05 Jan 2016 04:40:22 PM UTC, comment #5:

HP dv6-6100tx is very strange, it has an UEFI bios, but there's no option for EFI boot. It can only boot from MBR.

Build: autogen.sh; ./configure --prefix=...; make; make install.
Install: grub-install --boot-directory=... --debug-image=all /dev/sdX

Now more and more Linux distributions adopt to GRUB2. I had tried to install Ubuntu 14.04LTS and openSUSE Leap 42.1 and no one succeed.
Check this link: http://h30434.www3.hp.com/t5/Notebook-Operating-System-and-Recovery/Grub2-hang-on-in-quot-GRUB-LOADING-quot-text-booting-from/td-p/2978475
It seems to be the same issue and hasn't solved.

Henry <kxishwosk>
Tue 05 Jan 2016 04:11:26 PM UTC, comment #4:

Do you use BIOS or EFI boot? How exactly did you build and install GRUB (show exact commands)?

Andrei Borzenkov <arvidjaar>
Project Member
Tue 05 Jan 2016 03:40:53 PM UTC, comment #3:

Yes, I've just cloned GRUB from git repository. Here's message on screen:

kern/disk.c:196: Opening 'hd0,msdos2'...
partmap/msdos.c:188: partition 0: flag 0x0, type 0x7, start 0x800, len 0x3b226b0
partmap/msdos.c:188: partition 1: flag 0x0, type 0x83, start 0x3b22eb0, len 0x80000
kern/fs.c:56: Detecting ext2...

Henry <kxishwosk>
Tue 05 Jan 2016 12:22:47 PM UTC, comment #2:

Do you still observe it with current GIT master?

Andrei Borzenkov <arvidjaar>
Project Member
Tue 05 Jan 2016 10:04:12 AM UTC, comment #1:

Can't upload attachment, so I post message on screen here:

GRUB loading.
Welcome to GRUB!

kern/disk.c:230: Opening 'hd0,msdos2'...
partmap/msdos.c:181: partition 0: flag 0x0, type 0x7, start 0x800, len 0x3b226b0
partmap/msdos.c:181: partition 1: flag 0x0, type 0x83, start 0x3b22eb0, len 0x80000
kern/fs.c:55: Detecting ext2...
kern/disk.c:326: Closing 'hd0'.
kern/dl.c:602: module at 0x9cde1b00, size 0x18c40
kern/dl.c:626: relocating to 0x9ce3ab00
kern/disk.c:230: Opening 'hd0,msdos2'...
partmap/msdos.c:181: partition 0: flag 0x0, type 0x7, start 0x800, len 0x3b226b0
partmap/msdos.c:181: partition 1: flag 0x0, type 0x83, start 0x3b22eb0, len 0x80000
kern/fs.c:55: Detecting ext2...

Henry <kxishwosk>
Tue 05 Jan 2016 09:56:33 AM UTC, original submission:

GRUB2 can't boot from usb stick on my HP dv6-6100tx. It displays "Welcome to GRUB!" and hangs. But GRUB-Legacy can.
I attach a screenshot with set debug='all' in load.cfg.

Henry <kxishwosk>

 

Attached Files
file #35996:  buffer.patch added by kxishwosk (1KiB - text/x-patch)
file #35997:  dump.asm added by kxishwosk (2KiB - application/octet-stream)
file #35965:  dmesg.txt added by arvidjaar (65KiB - text/plain)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by phcoder (Posted a comment)
  • -unavailable- added by arvidjaar (Posted a comment)
  • -unavailable- added by kxishwosk (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 6 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 11 Oct 2016 12:35:00 PM UTCphcoderPriority5 - Normal=>6
    Wed 02 Mar 2016 01:32:35 PM UTCphcoderItem GroupSoftware Error=>Hardware-specific
      Planned ReleaseNone=>2.02
    Tue 12 Jan 2016 08:14:37 AM UTCkxishwoskAttached File-=>Added buffer.patch, #35996
      Attached File-=>Added dump.asm, #35997
    Sun 10 Jan 2016 09:20:31 AM UTCarvidjaarAttached File-=>Added dmesg.txt, #35965

    Back to the top


    Powered by Savane 3.1-cleanup1