SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I need some pointers for getting a system running.
I have run gpartd on a system with a UEFI mb, and have partitions laid out the way I would like them.
A kernel was built with UEFI support, particularly EFI frame buffer support.
I have the Slackware 32 bit current downloaded, and can boot from an install DVD.
Since grub2 appears to be the choice for booting, I'd like to install that, but it appears that there are several issues:
1. grub2 is not part of the Slackware suite (there is legacy grub, but grub2 is different)
2. lilo (part of Slackware) will not work
3. I'm not working on a virtual machine, so it's tough to wave my hand and move a disc from one machine to another.
Added: Oh, I also tried using ubuntu install cd to install grub2, but apparently there is not EFI frame buffer support on the boot cd.
So my question is: Can I install grub2, from a live CD, before I install Slackware. Then after installing Slackware, I can run grub2 again, and configure it to boot the Slackware kernel?
Last edited by linuxbird; 07-30-2012 at 12:09 AM.
Reason: Add 2nd last paragraph on ubuntu boot cd
You have to install Slackware first, then grab Grub2 off SlackBuilds.org and install it's and it's dependencies.
The Slackware Install DVD should be able to boot just about any system as a rescue disk. If you can at least boot to the system you can grab Grub2 build it, install it, and get it working.
I am going to go out and say that LILO is getting near it's limit on support vectors.
File systems like BtrFS can be booted using Grub2 without a separate ext2/3/4 /boot partition if you use Grub2 and because more and more motherboards are implementing UEFI bioses which LILO can not boot to.
Learning Grub isn't hard as far as it's naming schemes. It's actually more inclined to the same naming scheme used by SCSI, SAS, and SATA drives. If you have HD 0,0 in Grub, it's basically translating to disk "A" partition "1", or basically sda1.
Plus you don't have to worry about reinstalling when you update your kernel or change a setting. You just need to edit the menu.lst and save it. It's very simple.
You have to install Slackware first, then grab Grub2 off SlackBuilds.org and install it's and it's dependencies.
The Slackware Install DVD should be able to boot just about any system as a rescue disk. If you can at least boot to the system you can grab Grub2 build it, install it, and get it working.
Plus you don't have to worry about reinstalling when you update your kernel or change a setting. You just need to edit the menu.lst and save it. It's very simple.
I have not been successful in booting an installed Slackware. I built a kernel which has UEFI support, including UEFI frame buffer, but when using the install DVD, to boot from a SATA or a USB (flash) drive, the kernel panics loading.
Also, with grub2, there is no menu.lst. However there is /boot/grub/grub.cfg
I also tried installing Slackware, without lilo, and then trying to setup grub2, using a Ubuntu 12.04 live/install disk. No joy. It ends up loading for quite some time, and then there is periodic disc activity, but no video. My theory is that it does not have UEFI frame buffer support compiled in, but I do not know that for sure. The graphics work during the selection of the boot, and then while installing the screen goes dead. (fbcon may not be compiled in)
If I understand gummiboot, it manages boot loaders. Since grub2 is a boot loader, I thought I would stick to that, since it appears to have the functionality needed.
I can't believe more people haven't run into this...many of the new mb are UEFI. Different UEFI implementations have various "backward" compatibility modes, but the days of reading in a kernel and go, as in using the MBR, are over. Even from removable media such as flash drives.
Here's a wiki page off ArchLinux's website. It may help you find out what is in the kernel and other system parameters, even with Slackware, to get your system bootable. Though Arch and Slack are different distributions both follow a similar structure and settings should transfer smoothly between both distributions.
There is also eLilo for UEFI, grub2 isn't the only option.
True, but it appears that going to grub2 there will be more compatibility should other OS ever be installed. Also, I can find live distributions with grub2, and haven't found any with elilo.
Here's a wiki page off ArchLinux's website. It may help you find out what is in the kernel and other system parameters, even with Slackware, to get your system bootable. Though Arch and Slack are different distributions both follow a similar structure and settings should transfer smoothly between both distributions.
I am in one of those new Lenovos (Z480), with a GPT disk and UEFI. I will be installing 32-bit Slackware (I know there is an x86_64 port. I just want to install good old x86 Slackware).
I successfully installed Slackware. Compiled kernel 3.6.9 from source (with everything efi compiled in i.e. efivars, stub, framebuffer and i made it relocatable), the kernel as a kernel is good so far. The problem is that I need to boot from the Slackware install CD every time. I tried using the efi stub first: the x64 firmware shell won't boot an x86 kernel. I tried elilo next. Complained about my kernel not being relocatable. So i built a relocatable kernel and then it loads the kernel and immediately reboots without loading Linux. (I have been testing everything using refind)
So i'm testing grub2. Downloaded and built it as per sbo slackbuilds. I took a look at the package before installing it, and I can't see the grub64.efi anywhere (I suspect it wasn't even built this arch being x86).
Next I will try dissecting a precompiled grub2 package so i can test if mine was built correctly.
I obtained a precompiled x64 grub loader that actually works (or at least "boots" and shows a menu and correctly reads grub.cfg).
My entries are as follows:
Code:
menuentry "Slackware Linux" --class gnu-linux --class gnu --class os {
insmod part_gpt
insmod reiserfs
set root='hd0,gpt6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt6 --hint-efi=hd0,gpt6 --hint-baremetal=ahci0,gpt6 83edd055-3005-4707-a9f4-feacf095d4df
else
search --no-floppy --fs-uuid --set=root 83edd055-3005-4707-a9f4-feacf095d4df
fi
linux vmlinuz.efi root=UUID=83edd055-3005-4707-a9f4-feacf095d4df ro noefi
}
menuentry "Windows 8" --class windows --class os $menuentry_id_option 'osprober-chain-DE8415DB8415B6CD' {
insmod part_gpt
insmod ntfs
set root='hd0,gpt4'
insmod search_fs_uuid
insmod chain
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4 DE8415DB8415B6CD
else
search --no-floppy --fs-uuid --set=root DE8415DB8415B6CD
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
None of them actually loads the OS.
I suspect I might have to specify hd0,gpt1 somewhere, as that is the EFI system partition.
By the way, GRUB mentions that it can't find either vmlinuz.efi or bootmgfw.efi. As they both are inside the EFI system partition, i wonder if there is a better way to specify their paths (vmlinuz.efi is in the same folder as grubx64.efi).
Last edited by folkenfanel; 12-10-2012 at 10:06 PM.
Reason: i forgot to mention the error message from grub
I managed to get grub2 working i.e. actually loading both Slackware and Windows 8.
My grub2 entries are as follows: (I couldn't resist to trim some options i felt i didn't need - the simplest option should have been the right one)
Code:
menuentry "Slackware Linux" --class gnu-linux --class gnu --class os {
insmod part_gpt
insmod reiserfs
set root='hd0,gpt1'
linux /EFI/slackware/vmlinuz.efi root=/dev/sda6 ro noefi
}
menuentry "Windows 8" --class windows --class os {
insmod part_gpt
insmod ntfs
set root='hd0,gpt1'
insmod search_fs_uuid
insmod chain
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
}
Now all I have left is to announce GRUB to the EFI. I have been loading it with a refind live CD, which also says when loading the shell, that just loading the startup.nsh script on the partition itself should work, as it did when i chose to start the EFI shell and load the startup.nsh.
As I'm using an x86 kernel i can not directly access the EFI vars. So I am forced to use the shell (using Windows to access the EFI is the last option). I tried to use bcfg but the shell (Tiano? 2.31 it says) does not have bcfg. I suspect the firmware is 2.31 but somehow the shell specification is 1.0. I tried to download an EFI shell, to load from the refind live CD, but as of now the Tiano sourceforge site is offline. (and all of sourceforge).
I might just replace bootx64.efi with GRUB. But that somehow doesn't feel right.
You need to download and run efibootmgr. You don't have to even install it just run the binary. This will place a boot option in the NVRAM for linux.
The efibootmgr is available at-- https://linux.dell.com/efibootmgr/
The default run will place a Linux elilo boot option in EFI NVRAM for /dev/sda called Linux which will appear in the UEFI boot page. You will need to set the -l option grub if you wish to use grub as your boot loader.
This is the one thing missing from the slackdocs page that was needed to get my AsRock z77 board working.
I use elilo as my boot loader, for me its simpler than grub
Hope this help
John
PS you must be booted under UEFI to alter the NVRAM. Kind of a chicken and egg thing. But since you are already booting under EFI you should have no problem.
Last edited by AlleyTrotter; 12-11-2012 at 08:48 AM.
Reason: grub explanation
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.