Quote:
|
One more dumb question...
1 Attachment(s)
To make easy for Windows users to burn a Slackware (or slint) installer on an USB key, I've cooked a specific ISO image with the same content as in usbbot.img, but in addition an /isolinux directory including files isolinux.bin, iso.sort and case occurring efiboot.img.
I did that to test usage of 'rufus' to make the bootable USB installer as it needs an ISO bootable image as input file. That works as then, booting from the USB key in e.g. an EFI enabled VM, /EFI/BOOT/message.txt is displayed and booting occurs, but that leads me to ask one more (sorry :-) dumb question, just out of curiosity: why does the DVD installers use grub, but the USB installer elilo instead? |
Quote:
|
Quote:
|
Quote:
@AlleyTrotter; I'll try that as asoon as I can. |
I had an adventure with EFI that didn't go as well as some of the options here sound, it was drawn out but it worked. I noticed there's EFI binaries included in the new slackware, that's nice and would have been useful.:( Though, I didn't want to use ELILO, either. I just used the slackware 13.37 x64 cd to boot legacy mode, install the OS to the gpt disk like Volkerding said to earlier in this thread, then I booted into a live cd environment with an arch x64 cd, downloaded source for linux 3.4.x(I think that's the one where EFI stub support started) and compiled an EFI stub-enabled kernel after chrooting into the slackware install on disk. Just put that kernel into your esp, and you should be good to go. rEFInd can be installed via windows 8 and can automatically detect and set up an entry (and a cool icon for slackware) for EFI-enabled kernels so long as the linux kernels are named vmlinuz-*. Though, you can set up your own stanzas too if you need. Also its nice and handy to have the EFI shell loaded onto a disk somewhere so either your motherboard or rEFInd(or whatever manager you choose to use) has the option of dropping you to an EFI shell so you can boot things manually or tinker around with configs if you need.
|
Trying to install slackware64-current from USB on an Acer Aspire with UEFI and rEFInd failed. rEFInd could not see the USB stick. Moving /syslinux/EFI/BOOT to /EFI/BOOT on the USB stick and editing /EFI/BOOT/elilo.conf to load /syslinux/huge.s and /syslinux/initrd.img fixed it so the install now works normally under UEFI.
|
Testers wanted for an UEFI-able installer
In this directory: http://slint.fr/pub/64-current/
you'll find an hybrid image, that can be used to make either a CD/DVD or USB installer, as you like. Instructions to burn the image on Linux or Windows are provided. I would like some kind souls try it on real UEFI machines, as I don't have any at hand. This is just an installer, so you'll need additionally a source of -current packages. Caveat: this installs some internationalized packages. If you don't want them, after installation just use upgradepkg to replace them with the genuine version. They all have _slint in their name, but SlintLocales which is a new package. Or slackpkg upgrade-all && slackpkg clean-system if you prefer. |
Burned it to GPT/UEFI on USB using Rufus under Windows, disabled Secure Boot, and it booted OK. I didn't try the actual installation yet, as I'm waiting for 14.1... but I'm tempted to. The hardware is a Rampage IV Extreme with BIOS version 4502 and 4930K CPU.
|
Thanks mostlyharmless. Well, I assume that if you install it now you'll just have to do some upgradepkg when 14.1 will be released, but that's your machine ;)
Other reports welcome as well, of course. |
Just noticed: Is there specific reason why -current still has ELILO 3.14?
ELILO got an update with a "MAJOR" bugfix to version 3.16 this year: Code:
QUICK CHANGE SUMMARY |
Quote:
- both Windows 8.1 and Slckware 14.1 boot properly, when I select their respective positions in UEFI (just switching on every boot to setup is really cumbersome) - I tried to attach Slackware's boot-menu entry using EasyBCD 2.2 - yes, it appeared, and now I have a boot menu, allowing selection The problem is, that everytime when I select "Slackware", it complains: "Windows failed to start. [..] File: \EFI\SLACKWARE\ELILO.EFI Status: 0xc000007b Info: The application or operating system couldn't be loaded becasue a required file is missing or contains errors." Well of course I've got this file along with kernel copy - which has been done on automatic by Slackware's installator. But it seems, somehow it can't find this (or it can't run this?). What actually should I do to fix this problem? |
Quote:
You tried to add "ELILO.EFI" to the Windows boot menu. The error message says that the Windows boot loader cannot load "ELILO.EFI". That is correct, because the Windows boot loader can only load Windows files and it cannot load normal UEFI programs or boot loaders. Therefore you cannot add ELILO to the Windows boot menu. Windows cannot chain boot to any other UEFI boot loader or operating system. You have to modify the computer's UEFI firmware boot menu to load ELILO. Either add ELILO to the computer's firmware boot menu or replace the firmware boot menu entry for Windows with ELILO. Then add an entry to the ELILO menu to chain to the Windows boot loader, "bootmgfw.efi". ELILO can chain load the Windows boot loader, "bootmgfw.efi". Some people have also found that Windows will put its boot loader back as the default firmware boot entry if that is changed. To avoid that problem, make a backup copy of the "/efi/microsoft/boot/bootmgfw.efi" file to another location and then replace the "bootmgfw.efi" file with the "elilo.efi" file. You have to name the ELILO file "bootmgfw.efi". Then add the backup copy of "bootmgfw.efi" to the ELILO boot menu for booting Windows. EasyBCD is not able to "fix" the limitation of the Windows UEFI boot loader. The Windows boot loader can only load Windows EFI files and not normal UEFI files. Even though Windows uses the file extension ".EFI" for some files such as "WINLOAD.EFI", those files are not normal UEFI files. The Windows boot loader cannot chain to or boot normal UEFI files that have the ".EFI" extension. So, the Windows UEFI boot loader is only useful for booting Windows and nothing else. It is misleading of Microsoft to use the ".EFI" file extension for anything except "bootmgfw.efi". That is the only Microsoft file that is really a UEFI executable file. You also cannot add files such as "WINLOAD.EFI" to the ELILO boot menu even though they end in the ".EFI" file extension. Those files are not normal UEFI programs or boot loaders, and they can only be loaded by the Windows EFI boot loader. You can add the Windows "bootmgfw.efi" file to the ELILO boot menu because that is a normal UEFI boot loader program. The old BIOS boot loader for Windows works differently. It can chain boot to any boot sector that has been copied into a 512-byte file. In the past, people have added other operating systems to the Windows boot menu. With UEFI that is no longer possible because Microsoft has not implemented it. EasyBCD depends on the BIOS boot loader for Windows in order to chain boot other operating systems. Windows uses a special boot menu entry "APPLICATION BOOTSECTOR" to load those boot sector files. The Windows UEFI boot loader does not support "APPLICATION BOOTSECTOR" menu entries. What is surprising to me is that there has not been more criticism of Microsoft for hijacking the ".EFI" file extension to create a non-standard Microsoft executable image format. Also, very few people have pointed out that the Windows boot loader cannot load normal UEFI programs or boot loaders. That is not required by the UEFI standard, but it is certainly a reasonable expectation for a well behaved and flexible boot loader. Not only that, it's easy because most of the software is already a part of UEFI. |
Thanks for your prompt reply.
Quote:
|
Quote:
Quote:
*) You can think of UEFI as 64 bit MS-DOS. It operates on FAT, allows primitive device drivers, direct hardware access and uses single tasking with full-screen access. Unlike the 16 bit original for the 8088 it provides a pixel-oriented framebuffer. |
Quote:
|
Quote:
Doesn't take much to form a schism that grinds things to a halt. |
Quote:
The Microsoft EFI PE format has a different section type than normal EFI PE images. I'm not complaining about Microsoft doing that, only the fact that they used the ".EFI" file extension when it was intended for the normal EFI PE format. I suppose one can argue about who used the ".EFI" file extension first. However, the UEFI standard claims the ".EFI" file extension for boot loaders and executable files compatible with UEFI. Why did Microsoft choose not to support adding standard EFI programs to the Windows boot menu? That would be helpful for things like the EFI command shell, diagnostics or other boot loaders. It seems that Microsoft is trying to prevent users from easily booting other operating systems. In addition, the Microsoft boot loader resets the firmware boot options to boot the Windows boot loader, ignoring the user's preferred boot order set in the firmware. People should not be forced to rename their boot loader to "/efi/microsoft/boot/bootmgfw.efi" in order to use an alternative boot loader. Actually ELILO is more similar to rEFInd Boot Manager without a GUI. The actual loading is not done by ELILO at all, it just provides a menu. All of the loading functions for UEFI executable files are a standard part of the UEFI firmware. That is why it is so ridiculous of Microsoft to not support loading standard UEFI executable files. They literally just have to call a UEFI function with the correct file name and the UEFI firmware does the rest. Part of the problem is the graphical Windows boot menu. Microsoft boots a large portion of the Windows operating system in order to provide that graphical menu. That means switching back to a stand-alone UEFI system is difficult after the graphical boot menu has been displayed. The graphical boot menu doesn't really boot anything. It just continues running Windows after Windows has mostly been loaded. If you choose to boot anything besides Windows from the Windows graphical menu, the system has to be completely restarted to the text-based boot loader. All the graphical menu does is set the "next" menu entry to be booted and then restart the entire computer. And, of course if you install some other boot loader, the Windows graphical boot menu does not work as expected. It boots to some other boot loader instead of booting the graphical menu entry you chose. Or, if you're really unlucky it does boot what you chose, but it replaces your boot loader with the Windows boot loader first. Most people don't realize that all the smoke and mirrors is going on until the Windows boot menu misbehaves. Microsoft could have implemented the graphical boot using UEFI graphics drivers just like rEFInd. They chose to use as little of UEFI as possible and make their Windows UEFI system as incompatible and inflexible as possible. It was probably a great business decision but I think it did a disservice to Windows users. |
Quote:
Code:
set root=(hd0,2) |
Quote:
|
Quote:
~~~~~ Personally, I'm having difficulty in figuring out just why anyone wants to chainload with UEFI? I understood the necessity before UEFI... but the whole point of UEFI is to have some OS "independence" with being able to choose a boot loader (which in turn, allows one to choose an OS to boot). How about try... rEFInd? http://www.rodsbooks.com/refind/ That seems to me to be a decent choice... I mean, you can leave your current loader alone and have a boot choice. Then install something else in the future without too much fuss. For myself... I'm pretty content with leaving either Slackware or Windows 8.1 as a default direct boot. Then switch as needed via BIOS boot menu, or changing the default. I mean, I don't plan on switching back and forth many times in one day. Once I get into a groove of working on something, probably stick to on OS for a few weeks... But that being said... I might give rEFInd a try. |
Quote:
Quote:
Quote:
|
Quote:
firstly, having a boot menu means that there's a few second delay while it waits for you to choose an OS, or default select and move on. going into the BIOS menu isn't for everytime I boot up... and it's because I don't intend to swap OSes often. I did say, I would most likely stick to one for a while. so directly booting into an OS is faster than waiting for a menu. what's the difference between tapping up and down in a boot menu verses hitting F7 to open my bios boot menu, then tapping up and down to select... the difference being all of one key. I would only dig into the bios itself the change the default if I know i'm gonna be booting into whatever is not the current default OFTEN. secondly elilo is NOT chainloadable according to a number of sources.. previous poster for one. the person that maintains the site I just linked to for another... wiki is a third, etc. and finally, if you use rEFInd, you won't have 4 boot managers... unless you have four separate OS installations. rEFInd is a boot manager that allows you to choose among the installed boot loaders. windows.efi is a boot loader. elilo is a boot loader that can "act" as a manager grub2 is a boot loader that can "act" as a manager too efi stub loader... is self explanatory, i would hope. with efi stub loader being intergrated into linux kernal 3.3 and after... we won't need elilo or grub2 to load linux. but again... if you use grub2, you WON'T be using elilo. one or the other *per linux installation* when you boot up, it goes to rEFInd.. that presents you with boot options... then you boot. as for elilo being installed by default... you could skip over it as an option... just like you could skip over lilo. not everyone does multi-boot. because multi-boot is NOT the common denominator, they chose what works for them. like I said earlier... with the usage of UEFI, chainloading isn't necessary anymore (though people CAN use it if they really want). p.s. considering I didn't have to do ANYTHING to have multiple boot options from an UEFI menu... compared to the venerable headache you must be feeling now, just trying to figure out how to get a boot menu up... I'd say, yeah... it is less cumbersome. do you plan on swapping EVERYTIME you boot? to simplify things... for you... you have two options. #1 replace elilo (bye-bye) with grub2 (hello)... you have one boot loader (grub2), chainload into another boot loader(windows). #2 install rEFInd... then at boot, choose between linux and windows. that's one boot manager and two boot loaders. elilo for booting into linux, or whatever windows' efi is for booting into windows. well, you do have a third... but you've already voiced your dislike for it... use the UEFI boot menu to pick and leave your installation alone without installing or uninstalling anything else. |
Quote:
Quote:
Besides: take a look at all the examples of "multiple boot different Linuxes installed on single machine" in ELILO's docs. Does it make more sense, than single example for "Linux / non-Linux OS selection at boot time"? Not knowing the statistics, I bet, that there are far, far more people dual-booting Linux-Windows, than die-hards having 3 Linux distros installed on the same machine. Well, maybe indeed that rEFINd is the answer. Really disappointed with ELILO. Yes, also with that Windows' boot-manager - it's really irritating, that they do all they can, to prevent use of anything else but Windows. Quote:
Quote:
|
Quote:
for my laptop the option is... F2 OR F7 during POST. F2 - enter BIOS, where I can change the default boot option for future boots... plus selecting the OS for booting now. F7 - brings up the boot menu, where I can pick which OS to boot into NOW. lets say my default is windows... everytime I boot, without hitting either F2 or F7, it automatically goes to windows. if I want to go to linux this one time, I hit F7 during POST, and it'll display windows and linux as the options. then i pick linux. if I hit F2, eventually, I get to a screen with a bunch of boot related options.... top half is "boot ORDER:" windows then linux (can be changed to linux THEN windows) bottom half is "boot into:" windows OR linux... which immediately exits BIOS and boots into my choice there edit: nope, not F10... F8 if it's the same BIOS as my desktop (I don't dual boot in my desktop, so I don't use it). maybe F10 was my older laptop... or TAB? |
Quote:
|
Quote:
|
Quote:
Quote:
Quote:
Quote:
Quote:
|
Quote:
You'll need to correctly create the new efi file entry and set the desired boot order, then you'll be dealing with just one menu. No keystrokes needed here when I'm booting slackware, lots of keystrokes though to get to Windows since it's near the bottom of my menu :D See the sample commands below (create, list, set boot order). Code:
# efibootmgr -c -d /dev/sda -p 2 -l \\EFI\\grub\\grubx64.efi -L Grub2 |
Quote:
Quote:
Quote:
Quote:
People have tried to make the Windows boot manager respect the firmware default with mixed results. In some cases Windows re-installs itself as the firmware default (or the computer UEFI firmware does that). This is another case where nobody knows whom to blame because both Microsoft and computer manufacturers don't document exactly how their software works. I will admit that I have not used UEFI yet. The only computer that I got with UEFI would not boot Windows 7 in UEFI mode. It came with Windows 8 (I would have chosen Windows 7 if that was allowed). The computer retailer was not interested in helping me at all. So, I changed it to use BIOS booting and the BIOS firmware. To end on a positive note, although we disagree about some things, you obviously have well thought out opinions and persuasive arguments. I tend to be a skeptic. When I don't have a lot of information I sometimes take contrary positions just to hear the opposite side of the story. I've been writing software in the computer industry since 1978, and dealing with "standards" and the reality of how they are actually implemented by commercial interests. A classic example is the RS232 standard. IBM and other large companies implemented that standard however they chose and basically left it up to the small fish to figure out how to deal with it. I am very concerned about whether retail computer hardware will continue to be Linux friendly. It will boil down to whether hardware and software developers will provide Linux drivers or release the information needed for open source developers to write their own drivers. Actually, I'm even concerned about how well new computers will continue to support Windows 7. MIcrosoft obviously wants to sell Windows 8 and computer retailers don't like supporting anything but what they are currently selling (if even that). |
FYI Fedora is now shipping in (at least some of) its ISO images a file BOOTX64.EFI in addition to grubx64.efi. According to Peter Jones on IRC, " BOOTX64.EFI isn't grub; it's shim [...] our boot media works on macs as well as newer non-Mac UEFI machines that can use Secure Boot, and that's what shim helps with."
Ref. https://github.com/mjg59/shim (I have hard time trying to make Slint hybrid ISO images Mac-compatible using "isohybrid -u -m" and won't try to add this shim stuff at the moment though ;) ) |
Quote:
Quote:
Quote:
|
dr.s, does grub2 check the efi partition? is it independent of the distro of linux it was installed with?
in my laptop, I have win8.1 in one SSD drive. a single 1 tb drive for storage. Then I added two mSATA drives, one of which got Slack. the other might get "hackintosh." suffice it to say, linux and windows have pretty much nothing to do with each other... kill one by wiping the partition (not necessarily drive, since the efi is partition next to the windows partition on the same drive) and the other wouldn't bat an eye. I know that, in the past, prior to uefi, i had to set up chainloading, even if the OSes were on different drives... and wiping out one OS (down to erasing the partition), could potentially kill the other. I guess my question is... would grub2 still run if you killed the linux partition via say... mistaken fdisk command (assuming only one distro of linux is installed). edit: nevermind... found the answer... because grub2 can be installed in one of two ways, completely with support files in ESP or split with support files in the linux partition. so, if it's completely in esp, it won't be too bad if linux gets killed. |
Quote:
GRUB2 is the only UEFI boot loader that I know of where you can put most of the boot loader in some partition other than the EFI system partition. Most of the UEFI boot loaders require the boot configuration, boot loader software and sometimes the kernel being booted to all be in the EFI system partition. ELILO, for example, requires the Linux kernel and initrd files to be in the EFI system partition. I think that Windows requires the boot loader software and boot configuration database to be in the EFI system partition, though "WINLOAD.EFI" and other Windows files can be in a separate Windows partition. If you use GRUB2 to create your own UEFI compatible boot CDs or DVDs, watch out, because in that case some of the grub files can't be in the EFI system partition (on the CD/DVD). Those grub files have to be in the ISO9660 file system part of the CD/DVD. That's because grub can't access EFI system partitions on optical discs even though EFI can. EFI sees and uses the EFI system partition on a CD/DVD rather than the ISO9660 file system. The EFI system partition on a CD/DVD is a special El-Torito "no emulation" image containing just the FAT file system for an EFI system partition (with no partition table). This is one of the weirder things about the EFI standard, because it allows (and requires) partitioned CDs that use the El-Torito headers instead of a partition table to denote partitions. Normally it is expected that there will only be one "partition" on an optical disc and that will be the default EFI system partition. Using the grub scripts to create an optical boot disc should create the required El-Torito and ISO9660 sections of the disc with the correct files. Usually, the only thing in the EFI system partition of the optical disc is the "EFI\BOOT\BOOTX64.EFI" file which contains the grub kernel image. You might also want to download an EFI command shell compatible with your computer's UEFI firmware version. Then add the EFI command shell to the grub and/or firmware boot menu. The EFI command shell will let you set firmware variables, list files and look at the devices detected by the UEFI firmware. Although computer manufacturers don't always supply the command shell, it can be downloaded or built from the UEFI open source. Even if the version isn't exactly the same as the firmware it will often still work. |
Quote:
|
I'll be honest... I think rEFInd is prettier... I'd probably go with that (over grub2).:D
|
This thread has become unwieldy. Where do we stand at this point? I would like to buy a new machine and dual boot Slack and Windows, not because I am keen to run Windows, but because I need it for some things for my job. Last year I bought a used computer (built in 2007)with Win 7 that I am dual booting with Slack 14.1, but I would like something with a little more horsepower. However, I would rather stick with what I have for now than buy a lot of headaches. Any thoughts? Mike.
|
Quote:
|
Sorry, just trying to follow the protocol of not starting a new thread when one already exists.
|
Quote:
|
Well, probably I did not state my question clearly. The title of this thread is "Slackware on UEFI," and I imagine things have changed at least a little since the thread was first started, so my question is similar to the initial post: how compatible are Slackware 14.1, UEFI and Win 8 on the latest hardware?
|
On the Slackware side few things if any have changed. What matters is the specific UEFI firmware of your machine I think, as the implementation of the UEFI standard vary upon machines.
|
Well that's interesting: a standard that is not standardized. And people wonder why some of us can't stand Microsoft.
|
Quote:
Also,
PS Sorry to be a bit pedantic but a specification is not exactly a standard, as the latter should be released by some normative body, as e.g. ISO. |
Member Response
Hi,
Quote:
If you then have questions then create a new thread to get help here at the Slackware forum using a descriptive title like; 'Slackware UEFI installation issues'. Just a suggestion. I do like to suggest the following links for user that have issues when composing posts; Quote:
Quote:
Have fun & enjoy! :hattip: |
Member Response
Hi,
Quote:
Quote:
Version 2.0 — UEFI Standard Based - Intel ; Quote:
Close; Ubuntu BIOS/UEFI Requirements - Ubuntu Hardware Debugging Quote:
Quote:
Hope this helps. Have fun & enjoy! :hattip: |
Quote:
|
Thanks dugan, I read the thread you linked, and some of the other stuff linked there. You seem to think it was easy to set up by following the Slackware UEFI readme, but a lot of other people seem to have had trouble with it, which still makes me hesitant. I'll have to do some more reading and pondering before I'm ready to commit money to new hardware.
|
As much as UEFI is standardized, mobo manufacturers still differ in their implementation much like BIOSes. In general it will work just fine. Some implementations are easier to work with, others harder.
|
As for stories about "bad" motherboard firmware, the worst problem I've heard of is that the boot menu would be built properly, but the default would stay at Windows, forcing you to press F-something to get into Linux on each boot. I personally wouldn't consider that a dealbreaker.
Thread: http://www.linuxquestions.org/questi...ml#post5241406 |
All times are GMT -5. The time now is 05:16 PM. |