LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - Installation (https://www.linuxquestions.org/questions/slackware-installation-40/)
-   -   slackware maintainer howto:"Linux kernel options for UEFI and ELILO" (https://www.linuxquestions.org/questions/slackware-installation-40/slackware-maintainer-howto-linux-kernel-options-for-uefi-and-elilo-4175600214/)

wirelessmc 02-20-2017 11:20 AM

slackware maintainer howto:"Linux kernel options for UEFI and ELILO"
 
Can someone tell me if this site <https://docs.slackware.com/howtos:slackware_admin:linux_kernel_options_for_uefi_and_elilo> is maintained any more and by who (need contact)? Seems some kernel options and elilo is not configured in my 14.2 x86-64 installation and I cannot build some of the packages stated/required here after rebuilding and installing kernel as stated for EFI variable filesystem.

Alien Bob 02-20-2017 12:46 PM

That article was written for Slackware 14.1. In Slackware 14.2 you should not have to recompile a kernel or install/compile any other packages. All you need to do in advance of installing Slackware is create the EFI partition along with your Slackware partition(s).
Slackware's installer will detect that it is running on an EFI system and will offer to skip lilo and install elilo instead.

wirelessmc 02-20-2017 02:09 PM

elilo not offered in setup script for slackware64 install despite having EFI partition
 
Thank you Eric for responding so quickly...

Yes I have an EFI partition - in fact it was added to my fstab so the install script detected it... I declined LILO install and perhaps I should not have - and it would have warned me about UEFI present and offered elilo instead???

Is there a way (howto) to do this post install? I tried getting into the config again - perhaps I will try post install setup again and see if it offers elilo if I accept LILO...

Quote:

Originally Posted by Alien Bob (Post 5673636)
That article was written for Slackware 14.1. In Slackware 14.2 you should not have to recompile a kernel or install/compile any other packages. All you need to do in advance of installing Slackware is create the EFI partition along with your Slackware partition(s).
Slackware's installer will detect that it is running on an EFI system and will offer to skip lilo and install elilo instead.


Alien Bob 02-20-2017 03:33 PM

Did you perhaps boot that Slackware setup using legacy BIOS? The Slackware installer will only offer an elilo installation if it detects that the kernel was booted in EFI mode.

wirelessmc 02-20-2017 04:51 PM

booting slackware64 install DVD with uefi
 
Yes I booted in legacy mode as that was the only option that my firmware offered to boot the slackware64 14.2 install DVD with. Is there a kernel (boot) parameter to pass that forces firmware to boot in uefi? FYI... the most recent Ubuntu install source (DVD) is recognized by my firmware as a uefi source.

colorpurple21859 02-20-2017 06:39 PM

In your bios you don't happen to have an os option that can be set to windows 7 or other?

laprjns 02-21-2017 05:30 AM

Quote:

Originally Posted by wirelessmc (Post 5673791)
Is there a kernel (boot) parameter to pass that forces firmware to boot in uefi?.

No, the system is either in legacy or UEFI mode before any kernel is loaded.

gramound 02-27-2017 07:39 PM

Quote:

Originally Posted by wirelessmc (Post 5673688)
I declined LILO install and perhaps I should not have

Sounds like what I saw. When I skipped LILO, I expected the next screen to talk about ELILO, but it went straight to the next step.
After the installation finished, I mounted the EFI partition and it was empty.
I can't remember if my BIOS had secure boot enabled at the time. Would that matter?
I was installing from a USB drive containing the 14.2 x64 iso.

laprjns 02-28-2017 08:35 PM

Quote:

Originally Posted by wirelessmc (Post 5673791)
Yes I booted in legacy mode as that was the only option that my firmware offered to boot the slackware64 14.2 install DVD with.

Quote:

Originally Posted by wirelessmc (Post 5673791)
Yes I have an EFI partition - in fact it was added to my fstab so the install script detected it...

Even though the installer is running in legacy mode, it will still detect the presents of an EFI System Partition (ESP), if there is one on the disk that the root file system will be installed on, and adds a mount line for it to the fstab. This happen early in the install process prior to the installer determining if it is running in UEFI mode by checking for the presents of the /sys/firmware/efi directory. Not sure if this an oversight or a feature.
Quote:

Originally Posted by wirelessmc (Post 5673791)
I declined LILO install and perhaps I should not have - and it would have warned me about UEFI present and offered elilo instead?

No it would not have offered anything else. As gramound said it would have just gone on to the next step. Once the installer determines that it is running in legacy mode (by the absence of the /sys/firmware/efi dirtory) it will only offer to install lilo.

When the installer is running in UEFI mode, and it detects the presents of the /sys/firmware/efi directory, it will offer to install elilo. When the user accept installing elilo, eliloconfig is ran which creates the EFI/Slackware directory on the ESP and copies the kernel, elilo.efi (bootloader) elilo.conf and intrd (if needed) to it. eliloconfig then runs efibootmgr to add a boot menu item to the UEFI boot manager. Interestingly, when in this mode the installer does provides and option to install lilo, but when I tried this lilo failed to install.

So the bottom line is that if you want to install Slackware using UEFI mode, the the installer needs to be running in UEFI mode. And if the installer is running in leagacy mode, then you will only be able to install in legacy mode.

gramound 03-05-2017 10:43 PM

Quote:

Originally Posted by laprjns (Post 5677352)
As gramound said it would have just gone on to the next step. Once the installer determines that it is running in legacy mode (by the absence of the /sys/firmware/efi directory) it will only offer to install lilo.

Just to clarify, in my case I do have /sys/firmware/efi, and the installer screen that offers me to skip LILO does say something like "would you like to skip installing LILO in order to install ELILO", but it doesn't install ELILO.

TAGfoto 05-23-2017 11:04 AM

I had a similar problem yesterday - installing SW64-14.2 on a Lenovo Ideapad 110S 11|BR with a 32G eMMC drive (identified as /dev/mmcblk0 with the EFI partition ID'd as /dev/mmcblk0p1). In Setup I had the boot option set to Pure UEFI and I turned off Secure Boot. I was able to boot off of Eric's usb boot stick and install SW. But Setup was looking to install LILO to the MBR of /dev/sda1 - the boot stick. I gave up on that approach after fumbling around a bit and getting nowhere - and attached an external DVD and then booted off of Pat's DVD. Grub loaded and I installed per usual. But again, when the script to install LILO appeared there was a problem. It asked if I wanted to install LILO or skip LILO and "proceed to ELILO". I selected ELILO and Setup skipped both LILO and ELILO. I finished the install and tried to boot off Eric's stick mounting /dev/mmcblk0p1 at / (ro). I got a kernel panic. That's when I threw in the towel - having run out of time. I installed Xubuntu (via DVD) which installed cleanly and booted no problem. Because I chose to use the option to install only linux (as opposed to "alongside" another operating system) Ubuntu removed the Windows 10 Boot Manager completely and now I have a clean EFI partition that mounts at /boot/efi (as vfat - i.e. as it should). My goal for now is to install slackware on a 64G micro sd and see if I can't get the boot loader for ubuntu to load slack. The dual boot option is useful (my company uses Ubuntu and I run slack on my workstations and one db server) so I'll keep ubuntu. The XFCE desktop is very similar to Pat's unadulterated version so it works okay.

Bottom Line: it would be great if the Slack Setup scripts offered a choice of a) Install LILO; b) Install ELILO (throwing an exception if no EFI partition is found - with some verbiage on how to create a 500MB vfat partition, etc., perhaps with some detail on a manual setup), or; c) install NADA...just my two cents.

BTW, Eric's slaklive boot stick with persistence works great...very nice. I don't want to appear negative here - I really appreciate the work of that Alien Bob fella.

PS - I am wondering if the Setup script for LILO/ELILO fails to see the eMMC drive. That would explain both the failure to bring up the elilo screen AND the attempt to write LILO to the MBR of /dev/sda1 (the usb stick). Just a theory...I'll read the script and see if this idea is pointing in the right direction or mere boneheaded-ness.

laprjns 05-24-2017 07:13 PM

Quote:

Originally Posted by TAGfoto (Post 5714249)
PS - I am wondering if the Setup script for LILO/ELILO fails to see the eMMC drive. That would explain both the failure to bring up the elilo screen AND the attempt to write LILO to the MBR of /dev/sda1 (the usb stick). Just a theory...I'll read the script and see if this idea is pointing in the right direction or mere boneheaded-ness.

See http://www.linuxquestions.org/questi...ng-4175597516/

gramound 06-09-2017 01:42 AM

I finally got back to Slackware and figured-out my problem. Once I select "Skip installing LILO and proceed to ELILO installation", the eliloconfig script got invoked, but it bailed-out immediately and I ended-up at the mouse configuration screen.

After the installation, I looked into the eliloconfig script and managed to run it manually with some modifications:

1- The first reason why it bailed-out was because the EFI partition was not mounted. I had created the partition before calling setup, but I didn't know I had to manually format and mount it:
# My EFI partition is /dev/nvme0n1p1
# Format:
mkfs.vfat -F32 /dev/nvme0n1p1
# Mount:
mount /dev/nvme0n1p1 /mnt/boot/efi

2- The second reason why it didn't work was because the script wasn't able to parse the string "/dev/nvme0n1p1" to set the variables EFI_DEVICE and EFI_PARTITION. I think the parsing was based on classic device names with only 1 or 2 numbers (like sda1 or mmcblk0p1). I believe the link provided by Rich (above) has a modified parsing that could solve the problem, but I decided to just hardcode my values in the script:

# Make a local copy:
cp /usr/sbin/eliloconfig .
# Edit:
vi eliloconfig
# Hardcoded the values for my p1 on nvme0n1
EFI_DEVICE=/dev/nvme0n1
EFI_PARTITION=1

# Ran the script manually (p2 is my Linux root partition)
./eliloconfig /mnt /dev/nvme0n1p2

And voila! I'm back in business.

bassmadrigal 06-09-2017 10:29 AM

NVMe support in 14.2 was pretty basic and didn't do a lot of things for full, proper support. Those limitations seem to have been fixed in -current, but they won't be backported to 14.2. But if you need to reinstall in the future, you should be able to use a -current installation disk (or usb drive) to boot off of and start the installation, then you can just point it to a directory containing the 14.2 packages.

kea_kea 12-28-2018 02:09 AM

Quote:

Originally Posted by gramound (Post 5720831)
I finally got back to Slackware and figured-out my problem. Once I select "Skip installing LILO and proceed to ELILO installation", the eliloconfig script got invoked, but it bailed-out immediately and I ended-up at the mouse configuration screen.

After the installation, I looked into the eliloconfig script and managed to run it manually with some modifications:
[...]
And voila! I'm back in business.

This is it! Many thanks, Gramound! It seems the eliloconfig script cannot deal with the strange and long device names as /dev/nvme0n1p1. Ought to be corrected, I'd say.

Happy New Year for everyone,
KEA.

Didier Spaier 12-28-2018 04:24 AM

Hello,

Quote:

Originally Posted by kea_kea (Post 5941967)
This is it! Many thanks, Gramound! It seems the eliloconfig script cannot deal with the strange and long device names as /dev/nvme0n1p1. Ought to be corrected, I'd say.

This is fixed in Slackware-current. As an aside, this is an old thread ;)

Best,


All times are GMT -5. The time now is 12:03 PM.