Installing openSUSE over an Ubuntu installation


So, to start off this is my set up right now:

MacBook Pro with Mac OS X partition and Ubuntu partition.

I wanted to have openSUSE installed to begin with but unfortunately openSUSE was not so easy to install when it came to the bootloader (I just couldn’t get it right).

Is there any way (I haven’t tried because I don’t want to mess up the current installation unless I am mostly sure it can be done) I would be able to just replace Ubuntu with openSUSE and leave the Grub?

I installed Ubuntu without rEFIt using BootCamp so I could use 3D acceleration. Also, the tutorial to do so was much easier than using rEFIt.



Please post content of the /boot/grub/menu.lst of the Ubuntu install.

I would say it cannot be too hard. You need the lines that make OSX boot from GRUB in Ubuntu to have their place in the openSUSE /boot/grub/menu.lst
So, keep a copy of your /boot/grub/menu.lst on separate media. It might even be that openSUSE’s installer simply creates the lines needed to boot OSX.


What I did was even more simple. I just decided to brave it out: wipe Ubuntu with gparted, leaving a clean swap and ext4 partitions.

Then I simply installed openSUSE normally. When I turn on my computer, I press the option key and the boot menu Apple provides comes up. It calls the openSUSE partition “Windows.”

But that means it would have worked without Ubuntu ever being on it.

For anyone in the future:
So, in short, all you would have to do is:

  1. Back up your data
  2. Partition drive using bootcamp
  3. Press “C” when the boot chime
  4. Use the advanced partitioner during openSUSE installation to create ext3 (I used ext4) & swap partitions. Make sure to leave about 1MB of free space because I’ve heard it is possible to mess up the partition tables if you don’t (might not be true - better safe than sorry).

Bootloader should work with automatic configuration. If not, I’d suggest looking for GRUB configurations that worked with Ubuntu since that’s what most people seem to be using to dual-boot on a Mac. Although, I see no reason at all why it wouldn’t work ever really there was something corrupted during install.

**I, personally, am still looking for drivers. I had to fix my trackpad with the shell script I got from here (KDE4 only). Hopefully I’ll soon find the drivers. :slight_smile: **

Well I was wrong about one thing which I may be able to fix, but I haven’t yet. I’d love any suggestions:

I can’t boot from pressing option on system startup as I normally would. When I do, the Mac OS X partition comes up and the DVD (if bootable) in the drive comes up. I was forced to use the install DVD and press the “Boot from hard drive” option to boot into GRUB.

The latest Ubuntu release (karmic) comes with Grub 2, while openSUSE is still shipped (at least during the installation) with the pretty old legacy Grub. One important difference is that Grub2 can read the GPT partition scheme used on Macs, while legacy Grub cannot. If you install openSUSE over Karmic, do not override Grub in the bootsector or you might need ReFit to emulate the MBR. After you got openSUSE installed, you might probably be able to install grub2 and run update-grub. The content of the /boot/grub directory is completely different in legacy Grub and Grub2 and so it is under Karmic and openSUSE. The /boot/grub/menu.lst is now /boot/grub/grub.cfg. This file is generated by update-grub and uses a kind of shell syntax. In theory, you’re not supposed to edit it but you might have to it such a tricky situation.

Thanks so much for the response. That is probably the cause of Ubuntu working so easily with my Mac.
I’m going to try to install Grub2 in openSUSE. I do hope it works. If it does I will post the step-by-step here.

So I cannot find an .rpm or anything for grub2.

To your suggestion I did also try update-grub:

cavin@linux-bbqt:~> sudo update-grub
root's password:
sudo: update-grub: command not found

What now?

update-grub is only available and only makes sense in grub2, which is not installed by default in openSUSE. But that’s right, I don’t see it in the repositories. Hmmm … It looks like it’s not available at all. You would have to find a Grub2 rpm somewhere, alien the Ubuntu deb package or compile it yourself… Or you can do a minimal Ubuntu installation and install openSUSE in a separate partition. With ReFit you cannot have more than 3 primary partitions, because ReFit needs a primary partition to emulate the MBR. What I’m going to say is pure theory, because I haven’t tried yet, but I would assume that it you use grub2 on your Mac, you might be able to break the MBR partitions limitation (install more than 3 OS). I don’t know much about GPT. I just know that the Linux kernel itself can handle it but not the old legacy Grub.

I found that Fedora package (64bit):
grub2-1.98-0.6.20080827svn.fc12.x86_64 RPM
It’s even newer than the beta version shipped with Ubuntu.

I don’t guarantee that it’s going to work… It might.

Thanks again for your response. Sorry for the delay getting back to you.
The site is offline atm so I decided I’d just go for a good ol’ make && make install.

Everything went smoothly until I tried(already running in ‘su’):

# make install

This is the result:

/bin/mkdir -p docs                                                             
true -P ./docs --no-split --force docs/grub.texi -o docs/ || :        
/bin/sh ./mkinstalldirs /usr/local/lib/`echo grub/i386-pc | sed 's,x,x,'`      
mkdir -p -- /usr/local/lib/grub/i386-pc                                        
rm -f /usr/local/lib/`echo grub/i386-pc | sed 's,x,x,'`/*                      
/bin/sh ./mkinstalldirs /usr/local/share/`echo grub | sed 's,x,x,'`            
mkdir -p -- /usr/local/share/grub                                              
/bin/sh ./mkinstalldirs /usr/local/bin /usr/local/share/man/man1               
mkdir -p -- /usr/local/share/man/man1                                          
/bin/sh ./mkinstalldirs /usr/local/sbin /usr/local/share/man/man8              
mkdir -p -- /usr/local/share/man/man8                                          
/bin/sh ./mkinstalldirs /usr/local/etc/grub.d                                  
mkdir -p -- /usr/local/etc/grub.d                                              
/bin/sh ./mkinstalldirs /usr/local/lib/grub                                    
/bin/sh ./mkinstalldirs /usr/local/share/info                                  
mkdir -p -- /usr/local/share/info                                              
/usr/bin/install: cannot stat `./docs/': No such file or directory    
install-info: No such file or directory for /usr/local/share/info/

This is quite unfortunate…! D:

And just to be sure, after this happened I did check grub:

# grub --version
grub (GNU GRUB 0.97)

So it’s definitely not the new version… :\

Just realized the non-beta (v1.7.1) release was already out and somehow didn’t see it… I autogen’d, configured, made, and make installed and it seems to have installed fine. I do hope it just works on a reboot!

K well I rebooted and apparently the old grub is still in control. I’m guessing I’m missing a critical part of this so I hope someone will be able to assist me with this…

Also, since I successfully got this working, isn’t there a way to easily put this into an openSUSE rpm to add to the repository? I’d do it if someone told me how. :slight_smile:


I ended up breaking my install because I didn’t know how to use the grub shell (and, that’s probably because I was too lazy to read how). Sooo… This issue is unresolved.

I also have an issue with an openSUSE 11.2 installation on my multi-boot, single hdd.

I had Ubuntu 9.04, xubuntu 9.04, WinXP, & a WinNT recovery partition.

Now I have openSUSE, & WinXP booting fine from GRUB2, but Ubuntu will not boot, & xubuntu has to drop through 2 layers of GRUB before boot.

I tried editing /etc/grub.cfg as instucted in another topic in this forum, but had no success.

I just noticed another thread that deals with my issue here:
Adding os’s to grub - openSUSE Forums

  • If you’re using legacy GRUB (as in openSUSE), the relevant file for adding boot menu entries is /boot/grub/menu.lst.
  • If you’re using GRUB2 (as in Ubuntu), the (most) relevant file is /boot/grub/grub.cfg. Under normal circumstances, you don’t have to edit this file manually. You use the command sudo update-grub
    to actualize the boot menu.
  • If you have openSUSE and Ubuntu installed, the GRUB version you are using is the one in your mbr. In most cases (unless you explicitely chose another location during setup), this would be the GRUB version shipped with the Linux distro you installed last.

You are correct @ please_try_again, I had the path wrong.

openSUSE 11.2 was the last OS I installed, and openSUSE 11.2 installed GRUB2. I read in another thread about editing /boot/grub/grub.cfg, so I tried that, to no avail.

Everyone is telling me that Ubuntu put the GRUB2 on my system, but I only had xubuntu 9.04 which uses GRUB(legacy)… The openSUSE 11.2 installation placed GRUB2 on my hdd, disabling my main xubuntu partition, so I deleted openSUSE & reinstalled. BIG MISTAKE!!!
The openSUSE 11.2 GNOME USB install divided & formatted my main xubuntu 9.04 partition to ext4, resulting 100% data loss on that partition.

Apparently the openSUSE installer has issues with multiple linux partitions on a single disk. I had 3 Primary, 1 Extended, and 12 logical partitions within the extened partition.
The multiple partitions are to facilitate testing various systems on this particular machine.

/dev/sda5 was my main OS & for some reason it got nuked. >:(

In light of these events, I decided to remove all linux partitions, download the latest xubuntu 9.10 Desktop ISO, & install…

I’m happy to report that the new xubuntu 9.10 instantly recognized my modem, asked a few questions, & connected! :slight_smile:

I’m thinking I should try installing openSUSE before any subsequent linux distro install, since it’s been demonstrated that openSUSE 11.2 doesn’t install flawlessly to a multi-boot system.

I will say this, openSUSE 11.2 did not disturb my Windows partitions at all.