PDA

View Full Version : [xubuntu] cant get slitaz dual boot configured in grub.cnf



yanvolking
January 18th, 2012, 08:21 PM
Hello Community,

I am running Xubuntu 11.10 on my acer aspire one netbook. I have installed Slitaz 3.0 on a new patition (sda3) and chose to conserve the original MBR configuration during setup. I have tweaked the Grub.cng file to include a section for booting Slitaz (see part in bold):



#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="10"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}

function recordfail {
set recordfail=1
if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c3588cdc-201f-4bfb-ac2d-5d778beb0ca9
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=auto
load_video
insmod gfxterm
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c3588cdc-201f-4bfb-ac2d-5d778beb0ca9
set locale_dir=($root)/boot/grub/locale
set lang=en_US
insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
set timeout=10
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/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
if [ ${recordfail} != 1 ]; then
if [ -e ${prefix}/gfxblacklist.txt ]; then
if hwmatch ${prefix}/gfxblacklist.txt 3; then
if [ ${match} = 0 ]; then
set linux_gfx_mode=keep
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=text
fi
else
set linux_gfx_mode=keep
fi
else
set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi


menuentry 'Ubuntu, with Linux 3.0.0-14-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c3588cdc-201f-4bfb-ac2d-5d778beb0ca9
linux /boot/vmlinuz-3.0.0-14-generic root=UUID=c3588cdc-201f-4bfb-ac2d-5d778beb0ca9 ro quiet splash vt.handoff=7
initrd /boot/initrd.img-3.0.0-14-generic
}

menuentry 'title SliTaz GNU/Linux 1.0 (Kernel 2.6.24.2-slitaz)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,2)'
linux /boot/vmlinuz-2.6.30.6-slitaz root=/dev/sda3 vga=normal
}

menuentry 'Ubuntu, with Linux 3.0.0-14-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c3588cdc-201f-4bfb-ac2d-5d778beb0ca9
echo 'Loading Linux 3.0.0-14-generic ...'
linux /boot/vmlinuz-3.0.0-14-generic root=UUID=c3588cdc-201f-4bfb-ac2d-5d778beb0ca9 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.0.0-14-generic
}

submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.0.0-12-generic' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
set gfxpayload=$linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c3588cdc-201f-4bfb-ac2d-5d778beb0ca9
linux /boot/vmlinuz-3.0.0-12-generic root=UUID=c3588cdc-201f-4bfb-ac2d-5d778beb0ca9 ro quiet splash vt.handoff=7
initrd /boot/initrd.img-3.0.0-12-generic
}
menuentry 'Ubuntu, with Linux 3.0.0-12-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c3588cdc-201f-4bfb-ac2d-5d778beb0ca9
echo 'Loading Linux 3.0.0-12-generic ...'
linux /boot/vmlinuz-3.0.0-12-generic root=UUID=c3588cdc-201f-4bfb-ac2d-5d778beb0ca9 ro recovery nomodeset
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.0.0-12-generic
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c3588cdc-201f-4bfb-ac2d-5d778beb0ca9
linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
insmod part_msdos
insmod ext2
set root='(hd0,msdos5)'
search --no-floppy --fs-uuid --set=root c3588cdc-201f-4bfb-ac2d-5d778beb0ca9
linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
if [ "x${timeout}" != "x-1" ]; then
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=10
fi
else
if sleep --interruptible 3 ; then
set timeout=0
fi
fi
fi
### 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 ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

This gets me the slitaz line in the boot menu in the boot sequence, but when I scroll down to the slitaz line and hit enter, nothing happens. Any ideas why?

snowpine
January 18th, 2012, 08:25 PM
A few thoughts,

1. What does the first line of the file you just edited say?

2. Have you read this (https://wiki.ubuntu.com/Grub2)?

3. Have you tried running from the terminal:


sudo update-grub

oldfred
January 18th, 2012, 09:00 PM
Everytime you run sudo update-grub you will erase your entry. You should add the entry to 40_custom.

Copy to and edit :
gksudo gedit /etc/grub.d/40_custom
Then do:
sudo update-grub

You have a mismatch on set root & sda3. With grub2 the partition number is the same so hd0,3 not hd0,2.

Does slitaz need a initrd line? Most do, a few do not.

this was my entry that works to boot the ISO directly. It is in a /boot/iso folder in my flash drive.


menuentry "slitaz " {
set isofile="/boot/iso/slitaz-3.0.iso"
loopback loop $isofile
linux (loop)/boot/bzImage rw root=/dev/null lang=C kmap=us screen=1024x768x16 autologin noprompt noeject
initrd (loop)/boot/rootfs.gz
# linux (loop)/boot/bzImage isofrom=$isofile boot=live quiet vga=791 noeject noprompt
}