Bug#564509: grub2: unable to chainload a disk-/cdrom-image
Fabian Greffrath
fabian+debian at greffrath.com
Sat Jan 9 21:05:17 UTC 2010
Package: grub2
Version: 1.98~20100101-1
Severity: normal
Hi,
grub2 is currently unable to chainload a disk or cd-rom (.ico) image. I want to be able to boot the Balder boot disk FreeDOS distribution [1]. I place the image file balder10.img into my /boot ddirectory and try to boot it from grub using the following commands (and several variations of it):
loopback (fd0) /boot/balder10.img
chainloader (fd0) +1
I always get the "invalid signature" error message. If I leave out the "+1" from the chainloader command I get the "no file specified" error.
I know it is possible to mount cdrom images (e.g. linux distribution live cds) and directly specify the kernel and initrd files relative to the loopbacked device. But that's not what I want (and it certainly only works for complete linux distributions and no other OSs). I want to be able to boot the image *as if the disc was inserted in the drive*.
For the Balder FreeDOS boot disk I currently help myself by loading syslinux-common's memdisk image via the linux16 command and the balder10.img image via the initrd16 command. But I don't favour to use a feature of another bootloader (i.e. syslinux) to actually boot a disk image from grub2.
Cheers,
Fabian
PS: Many other users have reported similar problems, e.g. <http://michael-prokop.at/blog/2009/05/25/boot-an-iso-via-grub2/#comment-14147>
[1] http://www.finnix.org/Balder
-- Package-specific info:
*********************** BEGIN /proc/mounts
/dev/disk/by-uuid/ff43013e-d698-4d97-a4f3-aad02610d17e / ext3 rw,relatime,errors=remount-ro,data=ordered 0 0
/dev/hda6 /home ext3 rw,relatime,errors=continue,data=ordered 0 0
*********************** END /proc/mounts
*********************** BEGIN /boot/grub/device.map
(hd0) /dev/hda
*********************** END /boot/grub/device.map
*********************** BEGIN /boot/grub/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by /usr/sbin/grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
set default=0
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set ff43013e-d698-4d97-a4f3-aad02610d17e
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
insmod gfxterm
insmod vbe
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
fi
fi
set locale_dir=/boot/grub/locale
set lang=de
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set ff43013e-d698-4d97-a4f3-aad02610d17e
insmod png
if background_image /boot/grub/moreblue-orbit-grub.png ; then
set color_normal=black/black
set color_highlight=magenta/black
else
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry "Debian GNU/Linux, with Linux 2.6.32-trunk-686" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set ff43013e-d698-4d97-a4f3-aad02610d17e
linux /boot/vmlinuz-2.6.32-trunk-686 root=UUID=ff43013e-d698-4d97-a4f3-aad02610d17e ro quiet
initrd /boot/initrd.img-2.6.32-trunk-686
}
menuentry "Debian GNU/Linux, with Linux 2.6.32-trunk-686 (recovery mode)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set ff43013e-d698-4d97-a4f3-aad02610d17e
linux /boot/vmlinuz-2.6.32-trunk-686 root=UUID=ff43013e-d698-4d97-a4f3-aad02610d17e ro single
initrd /boot/initrd.img-2.6.32-trunk-686
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/22_invaders ###
menuentry "GRUB Invaders" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set ff43013e-d698-4d97-a4f3-aad02610d17e
multiboot /boot/invaders.exec
}
### END /etc/grub.d/22_invaders ###
### BEGIN /etc/grub.d/24_balder ###
menuentry "Balder 10 (FreeDOS 1.0)" {
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set ff43013e-d698-4d97-a4f3-aad02610d17e
linux16 /usr/lib/syslinux/memdisk
insmod ext2
set root=(hd0,1)
search --no-floppy --fs-uuid --set ff43013e-d698-4d97-a4f3-aad02610d17e
initrd16 /boot/balder10.img
}
### END /etc/grub.d/24_balder ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
*********************** END /boot/grub/grub.cfg
-- System Information:
Debian Release: squeeze/sid
APT prefers testing
APT policy: (990, 'testing'), (550, 'unstable'), (400, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.32-trunk-686 (SMP w/1 CPU core)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages grub2 depends on:
ii grub-pc 1.98~20100101-1 GRand Unified Bootloader, version
grub2 recommends no packages.
grub2 suggests no packages.
-- debconf information:
grub2/numbering_scheme_transition:
More information about the Pkg-grub-devel
mailing list