bug-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #25008] grub2 cannot read soft-raid partitions


From: cengiz gunay
Subject: [bug #25008] grub2 cannot read soft-raid partitions
Date: Thu, 04 Dec 2008 05:30:48 +0000
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.11) Gecko/20071201 (Debian-1.8.1.11-1) Galeon/2.0.2 (Debian package 2.0.2-4)

URL:
  <http://savannah.gnu.org/bugs/?25008>

                 Summary: grub2 cannot read soft-raid partitions
                 Project: GNU GRUB
            Submitted by: cengique
            Submitted on: Thu 04 Dec 2008 05:30:45 AM GMT
                Category: Booting
                Severity: Major
                Priority: 5 - Normal
              Item Group: Software Error
                  Status: None
                 Privacy: Public
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: 1.96
         Reproducibility: Every Time
         Planned Release: 

    _______________________________________________________

Details:

Hi,

I have a striped soft-raid system with an Nvidia SATA controller. Legacy GRUB
didn't handle it too well, either, but at least it could boot into the first
linux partition. GRUB2 cannot even see the partitions in the disk. 

My current workaround is copying the kernel and initrd to a usb flash drive
and boot with grub2 from there. Once dmraid runs the kernel can find the
mapped raid volume.

To demonstrate the issue, when I open a grub console at boot time and fo
'ls', I get (hd0) (hd0,1) (hd1). I can list the files in (hd0) which points to
the USB drive. When I 'ls (hd1)' it says it's a 'partition table'. But
addressing partitions always results in something like 'invalid partition'. 

I have the following modules in core.img: 'linux raid ext2 gpt pc biosdisk'.
Am I missing something? The 'linux' module was missing somehow before and it
didn't allow me to run the linux and initrd commands. I don't know how the
setup scripts can make such a mistake. I hade to manually create the core.img,
craft my own manual grub.cfg and run grub-install and grub-setup manually,
too. I am really impressed with the promise of GRUB2, but unfortunately it's
been pretty rough for me with GRUB2 so far.

Finally, here's my configuration:

Debian unstable, with the grub-pc package from 2008-11-20.

# uname -a
Linux salon 2.6.23.9testing #2 SMP PREEMPT Thu Feb 7 10:39:46 EST 2008 i686
GNU/Linux

but running on an Intel Core 2 Duo processor (64 bit).

lspci output:
00:0e.0 RAID bus controller: nVidia Corporation MCP51 Serial ATA Controller
(rev a1)

contents of /dev/mapper created by dmraid:
# ls /dev/mapper/
nvidia_ceebaiib1  nvidia_ceebaiib5  nvidia_ceebaiib7
nvidia_ceebaiib  nvidia_ceebaiib2  nvidia_ceebaiib6

partition table for the striped raid volume nvidia_ceebaiib:
# fdisk -l /dev/mapper/nvidia_ceebaiib

Disk /dev/mapper/nvidia_ceebaiib: 500.1 GB, 500118585344 bytes
255 heads, 63 sectors/track, 60802 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x9df59df5

                      Device Boot      Start         End      Blocks   Id 
System
/dev/mapper/nvidia_ceebaiib1               1        1825    14659281   83 
Linux
/dev/mapper/nvidia_ceebaiib2   *        1826       16485   117756450    7 
HPFS/NTFS
/dev/mapper/nvidia_ceebaiib3           16486       60801   355968270    f 
W95 Ext'd (LBA)
/dev/mapper/nvidia_ceebaiib5           16486       19526    24426801    7 
HPFS/NTFS
/dev/mapper/nvidia_ceebaiib6           19527       21351    14659281   83 
Linux
/dev/mapper/nvidia_ceebaiib7           21352       60801   316882093+   7 
HPFS/NTFS

grub.cfg:
### BEGIN /etc/grub.d/00_header ###
insmod raid
set default=0
set timeout=5
insmod lvm
set root=(hd0,2)
search --fs-uuid --set 9370b0bb-092a-4a6f-b68d-c5f7b87390ef
if font /usr/share/grub/ascii.pff ; then
  #set gfxmode=640x480
  set gfxmode=800x600
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue

### BEGIN /etc/grub.d/10_linux ###
menuentry "Debian GNU/Linux, linux 2.6.23.9testing" {
        insmod lvm
        set root=(hd0,2)
        search --fs-uuid --set 9370b0bb-092a-4a6f-b68d-c5f7b87390ef
        linux   /boot/vmlinuz-2.6.23.9testing
root=/dev/mapper/nvidia_ceebaiib1 ro
        initrd  /boot/initrd.img-2.6.23.9testing
}
menuentry "Debian GNU/Linux, linux 2.6.23.9" {
        insmod lvm
        set root=(hd0,2)
        search --fs-uuid --set 9370b0bb-092a-4a6f-b68d-c5f7b87390ef
        linux   /boot/vmlinuz-2.6.23.9 root=/dev/mapper/nvidia_ceebaiibp1 ro
        initrd  /boot/initrd.img-2.6.23.9
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file is an example on how to add custom entries
### END /etc/grub.d/40_custom ###


grub commands ran (/mnt/tmp is where the usb stick is mounted):
grub-install --root-directory=/mnt/tmp /dev/sdg2
grub-setup -d /mnt/tmp/boot/grub/ -v -r '(hd2,2)' -m /boot/grub/device.map
'(hd2)'

The usb stick is currently (hd2), but during bootup it becomes (hd0). That's
why I used two different device.map files during the setup and install steps.

Please let me know if I missed something. Thanks.





    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?25008>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]