[Top][All Lists]
[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
- Failure to embed core.img is fatal now,
Pavel Roskin <=