Here's what my grub-mkimage looks like (without the preamble) prefix= test_only=false
for option in "$@"; do case "$option" in --prefix=*) prefix=`echo "$option" | sed 's/--prefix=//'` ;; --test) test_only=: ;; esac done GRUB_DEVICE="`grub-probe --target=device /boot`" case ${GRUB_DEVICE} in /dev/loop/*|/dev/loop[0-9]) loop_file=`losetup ${GRUB_DEVICE} | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/"` ;; esac # Is the root loop-mounted from a file on another filesystem? if [ "x${loop_file}" = x ] || [ ! -f "${loop_file}" ]; then exit 1 fi mtpt="${loop_file%/*}" while [ -n "$mtpt" ]; do while read DEV MTPT FSTYPE OPTS REST; do if [ "$MTPT" = "$mtpt" ]; then loop_file=${loop_file#$MTPT} host_mountpoint=$MTPT break fi done < /proc/mounts mtpt="${mtpt%/*}" [ -z "$host_mountpoint" ] || break done if [ "x${host_mountpoint}" = x ]; then exit 1 fi target="${host_mountpoint}/wubildr" if [ ! -f "$target" ]; then exit 1 fi if $test_only; then exit 0 fi # TODO You might want to have this as a proper file somewhere in /usr/share lupin_embedded_cfg=$(tempfile) cat << EOF >> $lupin_embedded_cfg set show_panic_message=true if search -s -f -n $loop_file; then if loopback loop0 $loop_file; then set root=(loop0) if [ -e /grub/grub.cfg ]; then if configfile /grub/grub.cfg; then set show_panic_message=false fi fi fi fi if [ \${show_panic_message} = true ]; then echo "It is not possible to boot from the Ubuntu image." echo "The Windows partition might be corrupted." echo "Please reboot into Windows and run: chkdsk /r" echo "Then try again." fi EOF # Watch the modules order! modules=" \ loadenv biosdisk part_msdos part_gpt fat ntfs ext2 ntfscomp iso9660 loopback \ search linux boot minicmd cat cpuid chain halt help ls reboot \ echo test configfile sh sleep" grub-mkimage ${prefix:+--prefix="$prefix"} -c $lupin_embedded_cfg $modules | cat /usr/lib/grub/i386-pc/lnxboot.img - > "$target" rm $lupin_embedded_cfg || true -- Wubi/Karmic boot: kernel panic - not synching: VFS https://bugs.launchpad.net/bugs/477169 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs