grub-devel
[Top][All Lists]
Advanced

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

Re: grub2 and Linux software RAID devices


From: Robert Millan
Subject: Re: grub2 and Linux software RAID devices
Date: Mon, 4 Feb 2008 23:43:38 +0100
User-agent: Mutt/1.5.13 (2006-08-11)

On Mon, Feb 04, 2008 at 09:36:45PM +0000, Sam Morris wrote:
> Hi there,
> 
> A while ago, I tried grub2 on my Debian system, which has my root
> filesystem on a Linux software RAID-1 array. I ran into some problems,
> and while they were raised here, nothing really came of them. Robert
> Millan suggested I post my problem again to see if anything can be done
> to fix it.
> 
> I think my problems stem from the Promise IDE controller that my second
> disk is connected to. It does not support 48-bit LBA addressing, and so
> any attempt to read the end of the disk using BIOS calls will fail. Of
> course, once an operating system has loaded its own driver for the
> controller, the disk can be read correctly.
> 
> Here's what the two disks look like:
> 
>         Model: Maxtor 6L300R0 (ide)
>         Disk /dev/hdb: 300GB
>         Sector size (logical/physical): 512B/512B
>         Partition Table: msdos
>         
>         Number  Start   End    Size   Type     File system  Flags
>          1      32.3kB  543MB  543MB  primary                    
>          2      543MB   300GB  300GB  primary  ext3         raid 
> 
> The first partition is swap, the second is the root filesystem.
> 
> The first problem is the operation of the grub-probe partition. Debian's
> post-install script runs the following command to determine which
> modules to include in the generated core.img file:
> 
>         grub-probe --target=partmap --device-map=/boot/grub/device.map 
> /boot/grub
> 
> Which fails with the error:
> 
>         grub-probe: error: Cannot detect partition map for md0
> 
> It appears that grub-probe expects to find a partition table inside the
> RAID device, when of course, it is really in its containing
> device, /dev/hdb.

This is a known problem, and I roughly have a solution in mind, but I haven't
been able to reproduce it.  When I try to install Debian with /boot inside an
LVM, the installer hangs.  This option doesn't seem to be supported at all.

Furthermore, how do you boot that system with GRUB Legacy?

If you give me some details on how to reproduce the scheme in which /boot is
behind a lvm/raid abstraction, I could try to get this fixed.

> Debian's post-install script has actually been written to substitute 'pc
> gpt' if the partmap probing fails,

Actually, this was reverted a while ago.

> manually. However, I now hit the second problem: the menu that grub
> presents has no text! It seems to have an entry, however, as there is a
> highlighted line.

Which version did you try?  Is it more recent than 1.96 ?  We fixed bugs
producing this result recently.

> The third problem is that if I press enter, or wait for the timeout to
> finish, or the screen blanks, and I get the message "Booting '". The
> system then freezes and I have to use the hardware reset switch to
> continue (ctrl+alt+del does not work). Pressing 'e', or the up or down
> keys also freeze the system, without the "Booting '" message.

Where does GRUB get its grub.cfg from?  What are its contents? (from the POV
of GRUB;  use 'cat' to determine).

> Jeroen Dekkers previously suggested a patch to suppress the 'out of
> disk' error, at
> <http://www.mail-archive.com/address@hidden/msg02873.html> but no
> one ever committed it.

Ah, I see.  The patch looks correct to me;  only the description you gave
before isn't.

Any objection if I check that in ?  ChangeLog:

        Patch from Jeroen Dekkers.
        * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
        failure, since succesfuly reading all array members might not be
        required.

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call… if you are unable to speak?
(as seen on /.)




reply via email to

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