Salix 14.1 64 booting from a UEFI system

You have a problem with Salix? Post here and we'll do what we can to help.
wayne
Posts: 45
Joined: 24. Aug 2010, 01:09

Re: Salix 14.1 64 booting from a UEFI system

Post by wayne »

I have just tried installing Salix 14.1 64bit XFCE to a UEFI computer.
and success on the first trial to boot in UEFI computer.



After navigating for a while, here I shall show you the two key points for your reference.

khash777 wrote: yes I downloaded and burned the image to a DVD as you say, however I'm not sure if it booted in EFI or legacy bios mode.
1. The key to install in UEFI mode is first to boot in UEFI mode.
Since you had DVD done up, after you load it, boot your Asus laptop, press Esc key, the UEFI menu should popup, you need to choose the boot option that reads

UEFI : DVD
or
UEFI: <Manufacturer-Model-of-DVD>


2. How to verify that computer is running UEFI firmware?

I tested and this is quite a nice step to verify, even before installation.

Once you boot and run Salix, when the first graphic screen let you choose keymap,
the second screen is 'Salix Installation', with two choices:
<Select> <Exit Installation>

Tab to <Exit Installation>, enter to get a root prompt #

type this code

[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS


hit enter key, look for the display.
If you see UEFI , you are already booted in UEFI mode.

Here I am running it and show the actual terminal with the above code, so that there is no typo :mrgreen:

Code: Select all

wayne[~]$ uname -a
Linux darkstar 3.10.17 #2 SMP Fri Feb 14 16:45:28 CST 2014 x86_64 Intel(R) Core(TM) i5-2400 CPU @ 3.10GHz GenuineIntel GNU/Linux
wayne[~]$ [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
UEFI
wayne[~]$ 


Once you see that you are already in UEFI mode, it is safe to proceed.
You may already knew, the other two important things to check is

3. ensure that the fat32 partition, or EFI Boot partition, or EFI System Partition is mounted on /boot/efi
4. at the end, install elilo

I also show you how the portition of FAT32 partition for UEFI boot entry, so that you can check also after installation.
on root terminal, mount the ESP ( for my case it is /dev/sdb1)

Code: Select all

root[EFI]# mount /dev/sdb1 /mnt
root[EFI]# ls /mnt/EFI/Salix
elilo.conf  elilo.efi  vmlinuz
root[EFI]# 
alternatively, as user running Salix, the ESP is already mounted in /boot/efi
and the directory EFI had all the boot entries, Salix is one of them with these boot files

Code: Select all

wayne[~]$ cd /boot/efi/EFI
wayne[EFI]$ ls |grep Salix
Salix
wayne[EFI]$ ls Salix
elilo.conf  elilo.efi  vmlinuz
wayne[EFI]$ 
hope it helps
khash777
Posts: 16
Joined: 26. Jan 2011, 20:02
Location: Manchester, England

Re: Salix 14.1 64 booting from a UEFI system

Post by khash777 »

Thanks everyone for your suggestions. I managed to boot into Salix using SystemRescueCD (an excellent emergency tool) to make sure it's installed properly and it was. However still can't boot using UEFI boot screen.
wayne wrote: 1. The key to install in UEFI mode is first to boot in UEFI mode.
Since you had DVD done up, after you load it, boot your Asus laptop, press Esc key, the UEFI menu should popup, you need to choose the boot option that reads

UEFI : DVD
or
UEFI: <Manufacturer-Model-of-DVD>
Tried this and it does boot into UEFI mode prior to installation, have also verified this by using your suggested command.
wayne wrote: 3. ensure that the fat32 partition, or EFI Boot partition, or EFI System Partition is mounted on /boot/efi
how do I check for this? I do get the option to modify the partition table, is it anything extra I need to do to achieve this step?
User avatar
laprjns
Salix Warrior
Posts: 1112
Joined: 28. Aug 2009, 01:30
Location: Connecticut USA

Re: Salix 14.1 64 booting from a UEFI system

Post by laprjns »

f the Salix installation disk booted in to EFI, then everything should have been setup by the installer. Since the Salix EFI boot menu entry doesn't boot then something went wrong and now have to confirm that a legitimate Salix EFI directory was created and correct the EFI boot menu entry. First confirm the existence of the ESP partition and what device it is on. To do this I suggest that your boot up the Salix installation disk and exit out of the installer drop into the linux console. Once in the console use gdisk to get a printout of your disk partitions. I assuming that the disk being used is sda. Type "gdisk /dev/sda and you should see the following output:

Code: Select all

root[rich]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.7

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): 
Now type "p" to get the disk partitioning scheme. It should look something like this, but most likely not as complex:

Code: Select all

Disk /dev/sda: 1465149168 sectors, 698.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 7F6EA309-1BAB-4D4A-9090-5F8ED70708C7
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1465149134
Partitions will be aligned on 2048-sector boundaries
Total free space is 114509485 sectors (54.6 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          616447   300.0 MiB   EF00  EFI system partition
   2          616448         2459647   900.0 MiB   2700  Basic data partition
   3         2459648         2721791   128.0 MiB   0C01  Microsoft reserved part
   4         2721792       732682239   348.1 GiB   0700  Basic data partition
   5      1423183872      1465147391   20.0 GiB    2700  Basic data partition
   6       732682240       736876543   2.0 GiB     8200  swap
   7       736876544       778819583   20.0 GiB    8300  salix
   8       778819584       946591743   80.0 GiB    0700  home
   9       946591744      1048991743   48.8 GiB    8300  
  10      1048991744      1151391743   48.8 GiB    0700  
  11      1151391744      1235277823   40.0 GiB    8300  
  12      1235277824      1308678143   35.0 GiB    8300  flux

Command (? for help):
Now find the EPS partition which is identified by the EF00 code. In this case, and in most cases, it will be the first partition, sda1. Once you determine which partition is the ESP, exit out of gdisk by typing q at the prompt. Now mount the ESP so that you can view the directories and files that have been save on it. Do the following

Code: Select all

root[rich]# mkdir /tmp/efi
root[rich]# mount /dev/sda1 /tmp/efi/
root[rich]# cd /tmp/efi
If successful, there should be on directory call EFI on the /tmp/efi

Code: Select all

root[efi]# ls
EFI
Now look for a Salix directory in the EFI directory. Here's what I get on my system:

Code: Select all

root[efi]# ls EFI/
ASUS  Boot  Microsoft  Salix
Assuming that your system has the Salix directory, then look into the directory to ensure that at a minimum you have the following files,

Code: Select all

root[efi]# ls -l EFI/Salix
total 6552
-rwxr-xr-x 1 root root     729 Jun 25 20:12 elilo.conf
-rwxr-xr-x 1 root root  250510 Jan 10  2011 elilo.efi
-rwxr-xr-x 1 root root 6436992 Feb 14 21:45 vmlinuz
If the ESP exit, and there is a Salix directory on it with the three files, then the installation did manage to set it a properly but some how the registration of the install to the EFI boot menu did not happen or got corrupted.

efibootmgr can be use to examine and manipulate the EFI boot menu. efibootmgr needs a kernel module, efivars, to work. Load it using modprobe:

Code: Select all

root[/]# modprobe efivars
Then use efibootmgr examine the current boot menu. Here's eaht mine looks like:

Code: Select all

root[/]# efibootmgr 
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0002,0001,0000
Boot0000* Windows Boot Manager
Boot0001* Salix-Mate
Boot0002* Salix-XFCE
Boot0004* Salix
Yours should be different and should contain the Salix entry that doesn't work. Delete it by doing the following. I going to delete the Salix-Mate entry as an example:

Code: Select all

root[/]# efibootmgr -B -b 0001
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0004,0002,0000
Boot0000* Windows Boot Manager
Boot0002* Salix-XFCE
Boot0004* Salix
The -B argument deletes the specified boot entry and the -b argument specifies which boot number

Now generate a new menu entry using the correct with the appropriate arguments to register the Salix install. Here the structure of the command:
efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\newloader\\loadername.efi -L NewLoader where
-c create a new bootmenu item
-d the disk containing the loader ESP partition (in this case /dev/sda)
-p the ESP partition number (in this case 1)
-l the loader path (in this case \\EFI\\Salix\\elilo.efi)
-L the Label (in this case Salix)
So assuming that the ESP is on /dev/sda1 and efi directory is name Salix then your command should look like this

Code: Select all

efibootmgr -c -d /dev/sda -p 1 -l \\EFI\\Salix\\elilo.efi -L Salix
Hopefully, giving the correct information you should get a menu entry that will boot Salix.
“The past was erased, the erasure was forgotten, the lie became the truth.”
― George Orwell, 1984
wayne
Posts: 45
Joined: 24. Aug 2010, 01:09

Re: Salix 14.1 64 booting from a UEFI system

Post by wayne »

khash777 wrote:
wayne wrote: 3. ensure that the fat32 partition, or EFI Boot partition, or EFI System Partition is mounted on /boot/efi
how do I check for this? I do get the option to modify the partition table, is it anything extra I need to do to achieve this step?
If you boot Salix in UEFI mode, the installer would automatically detect EFI System Partition.

I took a screenshot to show you how it look like:

Title on top page
Finished setting up EFI System Partition.

Title in the center : EFI SYSTEM PARTITION RECOGNIZED
my screen shows /dev/sdb1, yours is likely /dev/sda1.
Image
Post Reply