LinuxQuestions.org
Register a domain and help support LQ
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices



Reply
 
Search this Thread
Old 03-30-2013, 05:49 PM   #121
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 876

Rep: Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826

Quote:
Originally Posted by jtsn View Post
Maybe this could be of useful: http://mjg59.dreamwidth.org/11285.html
I think I've read everything that Matthew Garrett has posted about UEFI, but thanks! His stuff is definitely useful to anyone trying to figure this stuff out.
 
Old 03-30-2013, 05:55 PM   #122
Dman58
Member
 
Registered: Nov 2010
Location: The Danger Zone
Distribution: Slackware, Mint, & random selection for VM
Posts: 219

Rep: Reputation: 27
Has the new version of elilo been able to accomplish dual boot? I don't want to wipe my windows 8 just yet i'de much rather have the option to choose. I have'nt heard anyone hint of that yet, or was I not paying attention. . .

Also I can't figure out for the life of me to get into the UEFI shell in order to tell it to look at rEFInd. Doing that would allow me to dual boot.
 
Old 03-30-2013, 06:11 PM   #123
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 876

Rep: Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826
Quote:
Originally Posted by Dman58 View Post
Has the new version of elilo been able to accomplish dual boot? I don't want to wipe my windows 8 just yet i'de much rather have the option to choose. I have'nt heard anyone hint of that yet, or was I not paying attention. . .

Also I can't figure out for the life of me to get into the UEFI shell in order to tell it to look at rEFInd. Doing that would allow me to dual boot.
As far as I know, elilo is intended only for booting Linux. It could be part of a dual boot system, though. You'd either have to add elilo to the UEFI boot menu as an alternate choice, retaining Win8 as well, or use a boot manager such as rEFInd.

On the UEFI I'm testing with, hitting <del> a few times at boot gets me a menu where I can choose to boot from a different file. Of course, that's another of the UEFI problems -- all these implementations do things differently, which makes it almost impossible to document what needs to be done in a way that will work for all machines. And people who just plan to use the Win8 that came pre-installed won't have to worry about those details. How lucky!
 
Old 03-30-2013, 07:19 PM   #124
arubin
Senior Member
 
Registered: Mar 2004
Location: Middx UK
Distribution: Slackware64 14.1 (multilib)
Posts: 1,210

Rep: Reputation: 55
Quote:
Originally Posted by Dman58 View Post

Also I can't figure out for the life of me to get into the UEFI shell in order to tell it to look at rEFInd. Doing that would allow me to dual boot.
Try the following

Quote:
Download efibootmger from http://linux.dell.com/efibootmgr/

untar it, change into the folder and run make

Copy src/efibootmgr/efibootmgr into /usr/sbin and chown it to root.

Mount the efi partition of the hard drive to /boot/efi

# mount /dev/sdXy -t vfat /boot/efi
where X = drive and y = partition
# modprobe efivars
# efibootmgr -c -g -d /dev/sdX -p Y -w -L "rEFInd" -l '\EFI\refind\refind_x64.efi'
assuming that the refind_64.efi file had been copied to \EFI\refind\refind_x64.efi

Last edited by arubin; 03-30-2013 at 07:21 PM.
 
Old 03-30-2013, 08:32 PM   #125
AlleyTrotter
Member
 
Registered: Jun 2002
Location: Coal Township PA
Distribution: Slackware64-14.1 (3.18.0) UEFI enabled
Posts: 360

Rep: Reputation: 77
efibootmgr will not work unless you are already booted with the EFI/UEFI firmware.
initially I used a stub kernel from the efi shell to boot then used the efibootmgr.

What is noteworthy my board did not come with the efi shell installed. I had to down load it and copy it to the efi partition, then and only then did it appear in the UEFI manager screen.

http://tianocore.git.sourceforge.net...ll.efi;hb=HEAD

just download and copy the shell it does not need linux to run
 
Old 03-30-2013, 09:13 PM   #126
comet.berkeley
Member
 
Registered: Dec 2009
Location: California
Distribution: Slackware current
Posts: 153

Rep: Reputation: Disabled
Limited Success using CONFIG_EFI_STUB

I'm still struggling with elilo to boot from a DVD.

But while testing I made a "good" mistake. I accidentally copied my kernel on to the bootx86.efi file, burned a DVD, rebooted and then wondered why elilo did not prompt before immediately booting the kernel...

The linux kernel started loading, penguins and all, but the boot failed because it could not find the root partition.

And of course the initrd.img file was nowhere to be found as it booted without a boot loader.

So using a kernel configured with CONFIG_EFI_STUB=y apparently allows one to do away with boot loaders all together. Just rename the kernel to /EFI/BOOT/bootx86.efi

Now I am looking for "rdev". I can hard code boot parameters into the kernel using the
CONFIG_CMDLINE_BOOL
CONFIG_CMDLINE
options, but then I apparently need to recompile the kernel in order to change them.

And we need a way of pointing the kernel to the initrd.img file...
 
Old 03-31-2013, 08:16 AM   #127
AlleyTrotter
Member
 
Registered: Jun 2002
Location: Coal Township PA
Distribution: Slackware64-14.1 (3.18.0) UEFI enabled
Posts: 360

Rep: Reputation: 77
Smile

I have had complete success yesterday by using comet.berkely's previously posted script and copying the huge kernel recompiled with 'CONFIG_EFI_STUB=y' to EFI/BOOT/huge.s.
It still uses bootx86.efi to boot and takes a long time for initrd.img to load but it does boot and install using the UEFI firmware.
Apparently the STUB looks different to elilo and the firmware.
I sent the details to PV yesterday in an email.
cheers
john
Note I left the kernels built in cmdline blank

Last edited by AlleyTrotter; 03-31-2013 at 08:19 AM.
 
Old 03-31-2013, 05:24 PM   #128
Erik_FL
Member
 
Registered: Sep 2005
Location: Boynton Beach, FL
Distribution: Slackware
Posts: 801

Rep: Reputation: 247Reputation: 247Reputation: 247
Quote:
Originally Posted by volkerdi View Post
If the ISO is built properly, elilo won't waste any space. The reason it doesn't waste space is that the kernels/initrd in /EFI are hardlinks to their other locations. And the usbboot.img is also supposed to be usable as the El-Torito image, in which case it will be mapped from its existing location.

It's still not working though, so we'll see if it ends up being used to boot the installer or not...
I hope that ELILO will work, as that will provide an alternative to GRUB 2.

With a hybrid ISO image created by ISO hybrid, the El-Torito image can be used as part of the USB boot image, not the other way around. To make a USB boot image, ISO hybrid tacks the GPT onto the front of the ISO image and (in essence) creates a partition hard link in the GPT that points to the El-Torito image. If the CD is also going to be booted using ISOLINUX on a non-EFI system then the ISO file-system has to have its own copy of the kernel and initrd.

Unless there is some utility that I don't know of, one can't link the ISO path table to individual files inside the El-Torito image, or the other way around. The El-Torito image (partition) appears as a single file in the ISO file-system. The UEFI software or OS can "see" into the El-Torito image because it uses a FAT file-system driver, handling the El-Torito image as a raw block device.

GRUB 2 understands the ISO file-system. The same exact kernel and initrd files can be used for EFI and non-EFI booting, since in both cases they are found using the ISO path table. Also, GRUB 2 can replace ISOLINUX so that the same boot loader is used in all cases for optical discs and hard disks.
 
Old 03-31-2013, 06:12 PM   #129
Erik_FL
Member
 
Registered: Sep 2005
Location: Boynton Beach, FL
Distribution: Slackware
Posts: 801

Rep: Reputation: 247Reputation: 247Reputation: 247
Quote:
Originally Posted by AlleyTrotter View Post
I have had complete success yesterday by using comet.berkely's previously posted script and copying the huge kernel recompiled with 'CONFIG_EFI_STUB=y' to EFI/BOOT/huge.s.
It still uses bootx86.efi to boot and takes a long time for initrd.img to load but it does boot and install using the UEFI firmware.
Apparently the STUB looks different to elilo and the firmware.
I sent the details to PV yesterday in an email.
cheers
john
Note I left the kernels built in cmdline blank
It sounds like ELILO really isn't a "Linux loader" and doesn't understand the Linux kernel image. Including the EFI loader stub essentially makes the kernel image appear as a normal EFI application. The EFI firmware has a function to load EFI applications, so LILO isn't needed to do that. The "initrd" is just a binary blob that can be loaded as a file using a function in the EFI firmware. So, ELILO is really just providing a selection menu and a way to pass parameters to an EFI application. That's more like a "boot menu" application than a "loader" and certainly not an EFI equivalent to LILO.
 
Old 03-31-2013, 07:23 PM   #130
AlleyTrotter
Member
 
Registered: Jun 2002
Location: Coal Township PA
Distribution: Slackware64-14.1 (3.18.0) UEFI enabled
Posts: 360

Rep: Reputation: 77
Cool Made in the shade

Quote:
Originally Posted by Erik_FL View Post
It sounds like ELILO really isn't a "Linux loader" and doesn't understand the Linux kernel image. Including the EFI loader stub essentially makes the kernel image appear as a normal EFI application. The EFI firmware has a function to load EFI applications, so LILO isn't needed to do that. The "initrd" is just a binary blob that can be loaded as a file using a function in the EFI firmware. So, ELILO is really just providing a selection menu and a way to pass parameters to an EFI application. That's more like a "boot menu" application than a "loader" and certainly not an EFI equivalent to LILO.
I agree, but the important thing for me is I now have a way to build a Slackware install dvd that works in both boot methods legacy(MBR) and UEFI firmware.

After completing the install you still have to setup your hard disk or SSD to boot. If you partition your hd/ssd for GPT with gdisk, any of elilo, lilo or a stub kernel will work. I haven't tried but i would presume that grub.efi or rEFInd also work from the hd/ssd.

Although I do not duel boot, PV's standard setup allows you to not overwrite your windows partition and I don't see why the UEFI manager can't be used to select windows or Slackware.

cheers
john
 
Old 03-31-2013, 07:39 PM   #131
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 876

Rep: Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826
Quote:
Originally Posted by Erik_FL View Post
With a hybrid ISO image created by ISO hybrid, the El-Torito image can be used as part of the USB boot image, not the other way around. To make a USB boot image, ISO hybrid tacks the GPT onto the front of the ISO image and (in essence) creates a partition hard link in the GPT that points to the El-Torito image. If the CD is also going to be booted using ISOLINUX on a non-EFI system then the ISO file-system has to have its own copy of the kernel and initrd.
I hadn't mentioned isohybrid at all, but just to clear things up, the standalone usbboot.img supports EFI. It is a raw FAT filesystem image. This same image is supposed to be usable as something that can be written to a stick, and also as the El-Torito image. The El-Torito image is also what isohybrid would point to. So it would be usable for three different boot methods, but would only appear in the actual bits on the disc one time.

The kernel and initrd files will need to be duplicated outside of this image for isolinux to use them, but that was the situation before anyway. And they can be hardlinked for the /EFI/BOOT/ directory (if we keep that).
 
Old 03-31-2013, 07:43 PM   #132
volkerdi
Slackware Maintainer
 
Registered: Dec 2002
Location: Minnesota
Distribution: Slackware! :-)
Posts: 876

Rep: Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826Reputation: 1826
Quote:
Originally Posted by Erik_FL View Post
It sounds like ELILO really isn't a "Linux loader" and doesn't understand the Linux kernel image. Including the EFI loader stub essentially makes the kernel image appear as a normal EFI application. The EFI firmware has a function to load EFI applications, so LILO isn't needed to do that. The "initrd" is just a binary blob that can be loaded as a file using a function in the EFI firmware. So, ELILO is really just providing a selection menu and a way to pass parameters to an EFI application. That's more like a "boot menu" application than a "loader" and certainly not an EFI equivalent to LILO.
Still haven't had a chance to test this here, but I doubt that elilo cares about EFI_STUB. If it did, it wouldn't be working right now from the USB stick under UEFI, and it does. I think elilo *is* like LILO, and loads the kernel and initrd into memory and passes control to the kernel image. While it loads them through UEFI, it is not a boot manager that simply tells the firmware an EFI application to run.
 
Old 03-31-2013, 08:19 PM   #133
Erik_FL
Member
 
Registered: Sep 2005
Location: Boynton Beach, FL
Distribution: Slackware
Posts: 801

Rep: Reputation: 247Reputation: 247Reputation: 247
Quote:
Originally Posted by comet.berkeley View Post
So using a kernel configured with CONFIG_EFI_STUB=y apparently allows one to do away with boot loaders all together. Just rename the kernel to /EFI/BOOT/bootx86.efi

Now I am looking for "rdev". I can hard code boot parameters into the kernel using the
CONFIG_CMDLINE_BOOL
CONFIG_CMDLINE
options, but then I apparently need to recompile the kernel in order to change them.

And we need a way of pointing the kernel to the initrd.img file...
That's basically the purpose of the EFI stub. It makes a Linux kernel file look like a normal EFI application that EFI can load directly as if it was a "boot loader". You aptly pointed out the main issues with that being how to set kernel parameters and load the initrd into memory. Fortunately one can use an initrd with the EFI stub. The "initrd" has to be located in an EFI system partition because the kernel loads it using EFI functions and not the file-system or device drivers of the kernel.

I haven't gotten LILO to work booting from a DVD either, although it should be possible
 
Old 03-31-2013, 08:34 PM   #134
Erik_FL
Member
 
Registered: Sep 2005
Location: Boynton Beach, FL
Distribution: Slackware
Posts: 801

Rep: Reputation: 247Reputation: 247Reputation: 247
Thanks for clarification about the raw FAT file-system image, volkerdi. I appreciate you taking the time to help me understand this all a little better.
 
Old 03-31-2013, 09:10 PM   #135
AlleyTrotter
Member
 
Registered: Jun 2002
Location: Coal Township PA
Distribution: Slackware64-14.1 (3.18.0) UEFI enabled
Posts: 360

Rep: Reputation: 77
Eric_FL u are confusing xxx xxxxx me

"Just rename the kernel to /EFI/BOOT/bootx86.efi"

this does not work. when loading from dvd the stub kernel must be loaded using the "/EFI/BOOT/bootx86.efi" image.
However it will work from a hd/ssd efi partition created on a GPT disk.
cheers
john

Last edited by AlleyTrotter; 04-01-2013 at 10:44 AM. Reason: the issue should have read 'me'
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Slackware and Grub2 - getting a UEFI mb running linuxbird Slackware 16 12-13-2012 09:40 AM
Slackware on a former UEFI system garpu Slackware - Installation 2 11-23-2012 11:59 PM
Slackware vs. EFI/UEFI kikinovak Slackware 4 10-21-2012 12:31 PM
Help Creating UEFI A MENU For My Bootable (BIOS/UEFI) CDROM ssenuta Linux - Hardware 0 08-27-2012 10:11 PM


All times are GMT -5. The time now is 04:04 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration