PDA

View Full Version : [SOLVED] Adding Gentoo to a machine with Ubuntu (9.10) and XP (SP3)



HyperFlexed
April 9th, 2010, 04:04 AM
Hi all, spent most of today tweaking out my gentoo kernel. Now I'm having trouble getting GRUB2 to pick it up in the boot menu.

to clarify: Does every OS need a copy of grub? My impression was that you have one copy, and it takes care of all the OSes you have. I got to the point in my Gentoo install where it asked me to install grub, but I didn't want to mess up my boot record or anything (which there is the potential for as I'm in unfamiliar territory).

I switched over to ubuntu and tried


johnny@johnny-desktop:~$ sudo apt-get install --reinstall libdebian-installer4

... apt-get succeeds ...

johnny@johnny-desktop:~$ sudo os-prober

/dev/sda1:Microsoft Windows XP Professional:Windows:chain
/dev/sda13:Gentoo Base System release 1.12.13:Gentoo:linux

johnny@johnny-desktop:~$ sudo update-grub

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-20-generic
Found initrd image: /boot/initrd.img-2.6.31-20-generic
Found linux image: /boot/vmlinuz-2.6.31-14-generic
Found initrd image: /boot/initrd.img-2.6.31-14-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP Professional on /dev/sda1
Found Gentoo Base System release 1.12.13 on /dev/sda13
done

johnny@johnny-desktop:~$

however, if I try


johnny@johnny-desktop:~$ cat /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 ###
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,8)
search --no-floppy --fs-uuid --set fd622506-b133-4f57-8c42-e6ff8d10b832
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/10_linux ###
menuentry "Ubuntu, Linux 2.6.31-20-generic" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
set quiet=1
insmod ext2
set root=(hd0,8)
search --no-floppy --fs-uuid --set fd622506-b133-4f57-8c42-e6ff8d10b832
linux /boot/vmlinuz-2.6.31-20-generic root=UUID=fd622506-b133-4f57-8c42-e6ff8d10b832 ro quiet splash
initrd /boot/initrd.img-2.6.31-20-generic
}
menuentry "Ubuntu, Linux 2.6.31-20-generic (recovery mode)" {
recordfail=1
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
insmod ext2
set root=(hd0,8)
search --no-floppy --fs-uuid --set fd622506-b133-4f57-8c42-e6ff8d10b832
linux /boot/vmlinuz-2.6.31-20-generic root=UUID=fd622506-b133-4f57-8c42-e6ff8d10b832 ro single
initrd /boot/initrd.img-2.6.31-20-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,8)
search --no-floppy --fs-uuid --set fd622506-b133-4f57-8c42-e6ff8d10b832
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=fd622506-b133-4f57-8c42-e6ff8d10b832 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,8)
search --no-floppy --fs-uuid --set fd622506-b133-4f57-8c42-e6ff8d10b832
linux /boot/vmlinuz-2.6.31-14-generic root=UUID=fd622506-b133-4f57-8c42-e6ff8d10b832 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 Professional (on /dev/sda1)" {
insmod ntfs
set root=(hd0,1)
search --no-floppy --fs-uuid --set 26bceeacbcee75a9
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 ###


I see that gentoo is nowhere to be found. I'm sure this is very simple, and that I just have no idea what I'm doing. Any help would be greatly appreciated. :D

I can hardly wait to emerge my window manager and start experiencing the supposed glory of Gentoo.

RedSquirrel
April 9th, 2010, 04:27 AM
Hi all, spent most of today tweaking out my gentoo kernel. Now I'm having trouble getting GRUB2 to pick it up in the boot menu.

to clarify: Does every OS need a copy of grub?

No, but you can do it that way if you want to (via chainloading). I would probably use Ubuntu's grub2 to boot your Gentoo system as you had planned. Instead of relying on the OS prober, I would add the appropriate lines for a Gentoo menu entry to the /etc/grub.d/40_custom file. If you need help with that, just ask. It would be useful to have the output of:


sudo fdisk -lalong with a description of which partition(s) you are using for your Gentoo system.

HyperFlexed
April 9th, 2010, 10:10 PM
Device Boot Start End Blocks Id System
/dev/sda1 * 1 8317 66806271 7 HPFS/NTFS
/dev/sda2 8318 19457 89482050 f W95 Ext'd (LBA)
/dev/sda5 12992 15143 17285940 7 HPFS/NTFS
/dev/sda6 15144 19457 34652173+ 7 HPFS/NTFS
/dev/sda7 8318 9076 6096604+ 82 Linux swap / Solaris
/dev/sda8 9077 10360 10313698+ 83 Linux
/dev/sda9 11323 11704 3068383+ 83 Linux
/dev/sda10 11705 12724 8193118+ 83 Linux
/dev/sda11 12725 12991 2144646 83 Linux
/dev/sda12 10361 10997 5116671 82 Linux swap / Solaris
/dev/sda13 10998 11061 514048+ 83 Linux
/dev/sda14 11062 11322 2096451 83 Linux

gentoo:
root: sda13
home: sda9
usr: sda10
opt: sda11
var: sda14
swap: sda12

I'm not quite sure how to make a proper grub2 entry, if you could help me it'd be greatly appreciated. Thanks for the advice so far! :)

RedSquirrel
April 9th, 2010, 10:38 PM
Add the following lines to /etc/grub.d/40_custom:


menuentry "Gentoo Linux" {
set root=(hd0,13)
linux /boot/kernel-2.6.32-gentoo-r7 root=/dev/sda13
}Replace kernel-2.6.32-gentoo-r7 with the name of your kernel.


grub2 documentation for future reference:

https://help.ubuntu.com/community/Grub2

HyperFlexed
April 10th, 2010, 02:36 AM
Thanks, RedSquirrel. That worked perfectly.

Now I just have to go join the Gentoo forums and try to find out why xorg-server doesn't want to start :P Gentoo is a beast.