grub-devel
[Top][All Lists]
Advanced

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

Failure to embed core.img is fatal now


From: Pavel Roskin
Subject: Failure to embed core.img is fatal now
Date: Wed, 25 Jun 2008 17:48:34 -0400

Hello!

I have a system with a hard drive with a geometry that doesn't leave
space for GRUB to be embedded:

Disk /dev/sda: 30.0 GB, 30020272128 bytes
64 heads, 32 sectors/track, 28629 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Disk identifier: 0xfafa98d2

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       26704    27344880   83  Linux
/dev/sda2           26705       28629     1971200   82  Linux swap / Solaris

I'm trying to install the current GRUB2:

# grub-install /dev/sda
grub-setup: error: Cannot read `/boot/grub/core.img' correctly

It turns out following happens in grub-setup:

- core.img is read by the OS facilities
- the memory image is modified
- the memory image is compared to core.img read by GRUB FS code and fails
- the memory image is modified again
- first 2 sectors of the memory image are written to core.img

I think the 2 sectors should be written before the image is read back.
I tried to fix it, but it didn't work in the first try (GRUB hangs after
showing "GRUB Loading kernel.")

I'm also surprised that the code alternately uses dir and
DEFAULT_DIRECTORY to calculate core_path.  core_path is calculated 3
times in one function!  If dir and DEFAULT_DIRECTORY are used correctly,
I suggest that two different variables are used for what is now called
core_path.

-- 
Regards,
Pavel Roskin




reply via email to

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