[lfs-support] Grub 2.0 problem

Bruce Dubbs bruce.dubbs at gmail.com
Thu Nov 15 13:25:51 PST 2012


Tobias Gasser wrote:
> Am 14.11.2012 00:26, schrieb Bruce Dubbs:

> bash-4.2# fdisk -l
>
> Disk /dev/sda: 300.1 GB, 300069052416 bytes, 586072368 sectors
> Units = Sektoren of 1 * 512 = 512 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> Disk identifier: 0x0008462b
>
>      Gerät  boot.     Anfang        Ende     Blöcke   Id  System
> /dev/sda1   *        2048      206847      102400   83  Linux
> /dev/sda2          206848    30926847    15360000   83  Linux
> /dev/sda3        30926848    61646847    15360000   83  Linux
> /dev/sda4        61646848   586072063   262212608    5  Erweiterte
> /dev/sda5        61648896    92368895    15360000   83  Linux
> /dev/sda6        92370944   123090943    15360000   83  Linux
> /dev/sda7       123092992   153812991    15360000   83  Linux
> /dev/sda8       153815040   184535039    15360000   83  Linux
> /dev/sda9       184537088   215257087    15360000   83  Linux
> /dev/sda10      215259136   280795135    32768000   83  Linux
> /dev/sda11      280797184   586072063   152637440   83  Linux

No issues here.

>> ls -l /usr/lib/grub/i386-pc/*.img
>
> bash-4.2# ls -l *.img
> -rw-r--r-- 1 root root   512 14. Nov 01:43 boot.img
> -rw-r--r-- 1 root root   512 14. Nov 01:43 cdboot.img
> -rw-r--r-- 1 root root   512 14. Nov 01:43 diskboot.img
> -rw-r--r-- 1 root root 28856 14. Nov 01:43 kernel.img
> -rw-r--r-- 1 root root  1024 14. Nov 01:43 lnxboot.img
> -rw-r--r-- 1 root root  2848 14. Nov 01:43 lzma_decompress.img
> -rw-r--r-- 1 root root  1024 14. Nov 01:43 pxeboot.img
>
>
>>
>> grub is acting like the drivers for your hw are not properly embedded in
>> it's image on track 0.
>
> yes. but i have no idea why this happens.

You should have /boot/grub/i386-pc/core.img.

grub-install is a script.  Lets try to look at that to see if we can 
figure it out.  Adding a few echo commands can confirm some of the 
settings.  You can also try 'grub-install --verbose /dev/sda'.  You may 
want to add --recheck.  See below.

First, check that /usr/sbin/grub-install and 
/usr/share/grub/grub-mkconfig_lib exist.  I suspect that is OK.

Reading through grub-install, at line 336. we should have:

source_dir=/usr/lib/grub/i386-pc
target=i386-pc

The file /usr/lib/grub/i386-pc/modinfo.sh shoul have:
#!/bin/sh

grub_modinfo_target_cpu=i386
grub_modinfo_platform=pc

A few lines later, it should set

grub_setup=/usr/sbin/grub-bios-setup

This is a binary executable.

Later, it sets device_map="/boot/grub/device.map"

It would be good to see if this file exists.  Mine has the contents:

(hd0)   /dev/sda

--recheck should recreate device.map.

The script then copies a lot of files to /boot/grub/{i386-pc,locale} and 
possibly (not for lfs) /boot/grub/{themes,fonts}.

It runs grub-probe.  It should result in /dev/sda1.  This could be
where the problem is:

$sudo /usr/sbin/grub-probe --device-map="" --target=device /boot
/dev/sda1

It then creates /boot/grub/grubenv which for me is just a lot of # marks.

Next, figure out what it things $fs_module, $disk_module, 
$partmap_module, and $devabstraction_module should be by checking what 
$modules is.

It then runs grub-mkimage.  See what the parameters are being used for 
that.  This is what should create core.img.

Finally, it runs grub-setup.  See what parameters are being used for 
that also.

Hopefully some of the above will help you to figure out what is going on.

   -- Bruce





More information about the lfs-support mailing list