lilgman
February 5th, 2010, 08:11 AM
HI, I'm a linux newbie . I have Ubuntu 9.10, PuppyLinux431 and Windows XP on a Toshiba laptop. I like Ubuntu, but the speed of PuppyLinux is addictive, so that was my default boot until I upgraded Ubuntu which included an upgrade to Grub2. My problem: Grub2 doesn't recognise PuppyLinux. Using information from https://help.ubuntu.com/community/Grub2?action=fullsearch&context=180&value=linkto%3A%22Grub2%22 I have made an executable file named 07_Puppy in /etc/grub.d and did update-grub from root. Still no luck. I can boot PuppyLinux from the grub command line using the following commands:
set root=(hd0,6)
linux /puppy431/vmlinuz
initrd /puppy431/initrd.gz
boot
Just before grub displays the boot menu, I think I see a very brief message about a syntax error, but it's gone before I can read it.
Here is the contents of my 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 ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
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
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/07_Puppy ###
# 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.
menuentry "PuppyLinux 4.3.1" {
set root=(hd0,6)
linux /puppy431/vmlinuz
initrd /puppy431/initrd.gz}
### END /etc/grub.d/07_Puppy ###
### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-16-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
linux /boot/vmlinuz-2.6.31-16-generic root=UUID=9478553b-735d-47ea-a39b-25f3a2ae5f46 ro quiet splash
initrd /boot/initrd.img-2.6.31-16-generic
}
menuentry "Ubuntu, Linux 2.6.31-16-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
linux /boot/vmlinuz-2.6.31-16-generic root=UUID=9478553b-735d-47ea-a39b-25f3a2ae5f46 ro single
initrd /boot/initrd.img-2.6.31-16-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=9478553b-735d-47ea-a39b-25f3a2ae5f46 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=9478553b-735d-47ea-a39b-25f3a2ae5f46 ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set 8a6c3da26c3d8a49
drivemap -s (hd0) ${root}
chainloader +1
}
### 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 ###
Can anyone help me figure out why Grub2 doesn't see Puppy and let me boot it from the menu? Thanks!
set root=(hd0,6)
linux /puppy431/vmlinuz
initrd /puppy431/initrd.gz
boot
Just before grub displays the boot menu, I think I see a very brief message about a syntax error, but it's gone before I can read it.
Here is the contents of my 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 ###
if [ -s /boot/grub/grubenv ]; then
have_grubenv=true
load_env
fi
set default="0"
if [ ${prev_saved_entry} ]; then
saved_entry=${prev_saved_entry}
save_env saved_entry
prev_saved_entry=
save_env prev_saved_entry
fi
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
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
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=10
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/white
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/07_Puppy ###
# 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.
menuentry "PuppyLinux 4.3.1" {
set root=(hd0,6)
linux /puppy431/vmlinuz
initrd /puppy431/initrd.gz}
### END /etc/grub.d/07_Puppy ###
### BEGIN /etc/grub.d/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-16-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
linux /boot/vmlinuz-2.6.31-16-generic root=UUID=9478553b-735d-47ea-a39b-25f3a2ae5f46 ro quiet splash
initrd /boot/initrd.img-2.6.31-16-generic
}
menuentry "Ubuntu, Linux 2.6.31-16-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
linux /boot/vmlinuz-2.6.31-16-generic root=UUID=9478553b-735d-47ea-a39b-25f3a2ae5f46 ro single
initrd /boot/initrd.img-2.6.31-16-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=9478553b-735d-47ea-a39b-25f3a2ae5f46 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
}
menuentry "Ubuntu, Linux 2.6.31-14-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,6)
search --no-floppy --fs-uuid --set 9478553b-735d-47ea-a39b-25f3a2ae5f46
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=9478553b-735d-47ea-a39b-25f3a2ae5f46 ro single
initrd /boot/initrd.img-2.6.31-14-generic
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set 8a6c3da26c3d8a49
drivemap -s (hd0) ${root}
chainloader +1
}
### 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 ###
Can anyone help me figure out why Grub2 doesn't see Puppy and let me boot it from the menu? Thanks!