Installing opensuse 12.2 in UEFI mode

If you wish to install opensuse in UEFI mode, then you should boot the installer in UEFI mode.  Otherwise it will be installed in traditional BIOS/MBR mode.  I have seen some suggestions of installing in BIOS/MBR mode, but telling the installer to not setup grub booting.  Then add UEFI support later.  That could be done, but is harder that what I will describe here.

Installing from a DVD

Simplest for 12.2, is to use the DVD installer.  That should boot into UEFI mode.  You might have to get into the BIOS/UEFI settings of the computer to configure it for booting a DVD in UEFI mode.  The first screen will indicate booting is using elilo.  If you don’t see that screen, then you have not set things up suitably.

Installing from a live CD

Basically, this cannot be done.  The live image used for 12.2 is not properly structured for UEFI booting.

Installing from a USB

This is where things get tricky with 12.2.  If you just put the DVD iso image on a USB, the chances are that you will not be able to install in UEFI mode, though perhaps this depends on the particular computer.

There’s a lengthy thread about this at opensuse forums, and there is a lot of information about USB booting in that thread.  Most of what I will report here comes from that thread, particularly from posts by Malcolm Lewis.

You will need the “gdisk” command, which is in the package “gptfdisk”.  It might be possible using “fdisk”, but I have not tested that.  I’ll briefly comment below.

Preparing the USB drive

First, plug the drive into your computer.  Depending on your desktop software, that might automatically mount the USB drive.  If that happens, then umount it.  You should then have the unmounted drive.  On my system, it will appear as “/dev/sdf”.  You will need to find what device it is for your system, and substitute that for “sdf” in the suggestions below. Note that your USB device will need to be around 5GB or larger.

First delete current partitioning:

dd if=/dev/zero of=/dev/sdf count=64

That overwrites the beginning of the USB device with zeros.  Remember to replace “/dev/sdf” with the proper device name for your system.

Next, start “gdisk”

gdisk /dev/sdf

You should see that gdisk will setup gpt partitioning, with an empty partition table.  Then add two partitions. The command “n” creates a new partition. Accept the starting position suggested. Then, for the size, I suggest “+128M” for the first partition. You will then be prompted for the partition type. Enter ef00 (to make this an EFI partition).

For the second partition, accept all of the offered defaults. The second partition will then be a unix partition filling the remainder of the USB device.

Enter the command “w” to write the new partitioning to the device and quit.

At that point, I unplugged the USB drive, and then plugged it in again for the next step.

Copying the installer to the USB

The DVD iso must now be copied.  The 64 bit iso for 12.2 was “openSUSE-12.2-DVD-x86_64.iso”.  I first mounted that, with

mount openSUSE-12.2-DVD-x86_64.iso /mnt

This creates a loopback mount, allowing you to look inside the iso file.  Then find the file “efi” inside that.  It should be at “/mnt/boot/x86_64/efi”.  You will need to copy that to the first new partition on your USB.

dd_rescue /mnt/boot/x86_64/efi /dev/sdf1

You could use “dd” in place of “dd_rescue”.  I prefer “dd_rescue” for better error checking.  This sets up the EFI partition.  Again, be sure to replace “/dev/sdf1” with the proper device name for your USB.


umount /mnt

as we no longer need that to be mounted.  We can then copy the iso file to the second partition:

dd_rescue openSUSE-12.2-DVD-x86_64.iso /dev/sdf2

where again, check the device name.  And again, you could use “dd” though it will be slower.  This copy will take a while.

Booting the installer

You now have your USB ready.  Take that to the UEFI machine, and see if you can boot it in UEFI mode.  You should see output from “elilo”.

After booting, you will be asked to insert the CD or DVD.  At that stage, I clicked “back”.  Then I had to go through language selection.  Then I selected the option to start an install.  It asked for the device for the install repos, and listed various devices.  In my case, “/dev/sdc2” was the correct device to select.  Then it asked for the path to the repos.  I entered “/”.  It accepted that, and proceeded with a standard install.

If you want something easier, then wait for opensuse 12.3 where UEFI installs are far easier.

Using fdisk instead of gdisk

I have not tested this, and I do not recommend it.  However, it is supposed to work.  You could create the two partitions (128M, and the rest of the USB device) using “fdisk”.  Then set the partition type code for the 128M partition to be EF (for an EFI partition).


Tags: , ,

About Neil Rickert

Retired mathematician and computer scientist who dabbles in cognitive science.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: