Hello list,

grub-install with some --root-directory option and a partition given as
setup device and not a whole disk doestn't work, i.e. blocklists are
used.
grub-setup fails that it can't find the core.img.

The problem are these 2 lines in setup():
core_path_dev = grub_util_get_path (dir, core_file);
...
file = grub_file_open (core_path_dev);

core_path_dev contains the full path given with the `-d' or
`--directory' option for example /mnt/boot/grub.

This can't work because /mnt is a different filesystem and so GRUB only
sees /boot/grub.
Removing the /mnt part from it works fine:
(gdb) set core_path_dev="/boot/grub/core.img"
(gdb) print *file->device->disk 
$13 = {name = 0x640b90 "hd1,1", dev = 0x62f520, total_sectors = 16777216, 
has_partitions = 1, id = 1, partition = 0x640c10, read_hook = 0, data = 0x0}

The only solution that comes to my mind for this problem is, to
introduce a `--root-directory' option and making the `--directory'
option relative to it.

Does anyone have a better idea?
-- 
Felix Zielcke



_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to