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.
|
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. |
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:
|
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.
|
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.
|
In your bios you don't happen to have an os option that can be set to windows 7 or other?
|
Quote:
|
Quote:
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. |
Quote:
Quote:
Quote:
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. |
Quote:
|
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. |
Quote:
|
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. |
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.
|
Quote:
Happy New Year for everyone, KEA. |
Hello,
Quote:
Best, |
All times are GMT -5. The time now is 12:03 PM. |