grub-devel
[Top][All Lists]
Advanced

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

Re: Bug#632048: segfault in grub-setup


From: Vladimir 'φ-coder/phcoder' Serbinenko
Subject: Re: Bug#632048: segfault in grub-setup
Date: Tue, 06 Sep 2011 22:50:39 +0400
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.20) Gecko/20110820 Iceowl/1.0b2 Icedove/3.1.12

On 06.09.2011 18:50, Stephane Chazelas wrote:
> 2011-09-06 09:18:57 +0100, Colin Watson:
>> On Tue, Sep 06, 2011 at 08:39:24AM +0100, Stephane Chazelas wrote:
>>> I do get a segfault as well when doing a grub-setup/grub-install
>>> on a mdraid with 1.2 metadata.
>>>
>>> The segv is in:
>>>
>>> grub_util_biosdisk_is_floppy() because the disk->id for the root
>>> device is not a bios disk id, but a big number that is the
>>> "array id". The patch below seems to fix it for me, though I
>>> can't tell it's the right fix or not (probably not).
>> This fix makes sense to me; calling grub_util_biosdisk_is_floppy on
>> disks that aren't GRUB_DISK_DEVICE_BIOSDISK_ID doesn't make sense.
>> grub-devel, second opinion?
>>
>>> --- a/util/grub-setup.c     2011-09-05 12:11:31.864955442 +0100
>>> +++ b/util/grub-setup.c     2011-09-05 13:00:24.891368760 +0100
>>> @@ -315,7 +315,7 @@
>>>      /* If DEST_DRIVE is a hard disk, enable the workaround, which is
>>>         for buggy BIOSes which don't pass boot drive correctly. Instead,
>>>         they pass 0x00 or 0x01 even when booted from 0x80.  */
>>> -    if (!allow_floppy && !grub_util_biosdisk_is_floppy (dest_dev->disk))
>>> +    if (!allow_floppy && dest_dev->disk->dev->id == 
>>> GRUB_DISK_DEVICE_BIOSDISK_ID && !grub_util_biosdisk_is_floppy 
>>> (dest_dev->disk))
>>>        /* Replace the jmp (2 bytes) with double nop's.  */
>>>        *boot_drive_check = 0x9090;
>>>    }
> [...]
>
> Well, anyway, even after that patch, it still doesn't work
>
> grub-install /dev/md0
> reports success for nothing is written to any disk.
>
This command supposes that md0 is used as a disk for a VM
> grub-install /dev/sda
>           or /dev/sdb
>
> doesn't work because it complains about a partition-less disk.
>
Because you can't use RAID on disks for booting (except some cases but
it's not recommended even if they apply). Make a RAID of partitions and
leave 1M before the start of the single partition on the disk.
GRUB has done its job in telling that your setup is unbootable.
> Looks like it's not supported. Strange, as when started, grub
> can happily see files on 1.2 raids (using mdraid1x). Or did I
> miss something.
>
> I'll have to revert to 0.9 metadata for now.
>


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko


Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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