You are not logged in.

#1 2012-09-20 19:28:18

grnt
Member
Registered: 2012-09-20
Posts: 5

UEFI Installation Wiki Issues

I just finished installation to my UEFI system. All GPT disks, no grub or syslinux craps (goodbye GRUB updating), fast graphical boot manager with icons. Working wonderful right now. However, there are few issues with Wiki docs which I believe should be fixed.

First is rEFInd boot manager installation: https://wiki.archlinux.org/index.php/Be … therboards

The Wiki recommends `/boot/efi/EFI/arch/` path for rEFInd installation. This is largely wrong and against UEFI purpose. rEFInd is a multiple OS boot manager. It is supposed to boot all operating systems installed on a device, not just Arch. The entre purpose of UEFI was to provide easy boot management for as much boot loaders and managers as necessary. The instruction, however, implies that rEFInd is to be used as an exclusive Arch boot manager which is wrong. A much better approach is to install rEFInd to `/boot/efi/EFI/refind/`. Only refind_<OS name>.conf files are to be placed in respective OS folders on UEFISYS partition.

Next, the Wiki completely omits the fact that after installation of rEFInd, creation of refind_linux.conf and reboot one must check boot order options in UEFI to ensure that newely created rEFInd entry is first in boot order. Otherwise the system will render unbootable and would require to launch rEFInd manually from UEFI shell to get to the newely installed system. For example, the first system hard drive much likely would be set as a first boot device resulting in "Invalid boot device" error or similar.

Second is hardware clock setup. I didn't see where on the Wiki page it says that before configuring hardware clock to UTC one must explicitly reset time in UEFI to plain GMT. People might forget that and selecting a proper time zone file during installation might result in completely broken clock even though everything seems fine. For example, if your time zone is GMT+3 and hardware clock is already set accordingly, then choosing GMT+3 during installtion will result in 3 hours shift from a real time.

Third is systemd. Configuring rEFInd to boot linux without `init=/bin/systemd` kernel option will result in systemctl not working at all which may confuse a lot of users.

Last edited by grnt (2012-09-20 19:30:46)

Offline

#2 2012-09-20 20:00:30

graysky
Wiki Maintainer
From: :wq
Registered: 2008-12-01
Posts: 10,592
Website

Re: UEFI Installation Wiki Issues

Welcome to Arch.  Wikis are decentralized and are for and owned by users.  Go ahead and modify it per your suggestions.  At the very least, start this on the systemd discussion wiki page so peeps can see fit.

Last edited by graysky (2012-09-20 20:02:40)


CPU-optimized Linux-ck packages @ Repo-ck  • AUR packagesZsh and other configs

Offline

#3 2012-09-21 12:34:16

the.ridikulus.rat
Member
From: Indiana, USA
Registered: 2011-10-04
Posts: 765

Re: UEFI Installation Wiki Issues

grnt wrote:

I just finished installation to my UEFI system. All GPT disks, no grub or syslinux craps (goodbye GRUB updating), fast graphical boot manager with icons. Working wonderful right now. However, there are few issues with Wiki docs which I believe should be fixed.

First is rEFInd boot manager installation: https://wiki.archlinux.org/index.php/Be … therboards

The Wiki recommends `/boot/efi/EFI/arch/` path for rEFInd installation. This is largely wrong and against UEFI purpose. rEFInd is a multiple OS boot manager. It is supposed to boot all operating systems installed on a device, not just Arch. The entre purpose of UEFI was to provide easy boot management for as much boot loaders and managers as necessary. The instruction, however, implies that rEFInd is to be used as an exclusive Arch boot manager which is wrong. A much better approach is to install rEFInd to `/boot/efi/EFI/refind/`. Only refind_<OS name>.conf files are to be placed in respective OS folders on UEFISYS partition.

See http://rodsbooks.com/refind/linux.html , end of the page - Tip for distribution maintainers section.

Next, the Wiki completely omits the fact that after installation of rEFInd, creation of refind_linux.conf and reboot one must check boot order options in UEFI to ensure that newely created rEFInd entry is first in boot order. Otherwise the system will render unbootable and would require to launch rEFInd manually from UEFI shell to get to the newely installed system. For example, the first system hard drive much likely would be set as a first boot device resulting in "Invalid boot device" error or similar.

The wiki mentions that you should run efibootmgr after setting up rEFInd (Step 6 of https://wiki.archlinux.org/index.php/Be … de#EFISTUB ), which ensures that rEFInd is added to firmware boot menu and is set as the first in the boot order (done automatically by efibootmgr when creating the boot entry)

Second is hardware clock setup. I didn't see where on the Wiki page it says that before configuring hardware clock to UTC one must explicitly reset time in UEFI to plain GMT. People might forget that and selecting a proper time zone file during installation might result in completely broken clock even though everything seems fine. For example, if your time zone is GMT+3 and hardware clock is already set accordingly, then choosing GMT+3 during installtion will result in 3 hours shift from a real time.

No idea about this.

Third is systemd. Configuring rEFInd to boot linux without `init=/bin/systemd` kernel option will result in systemctl not working at all which may confuse a lot of users.

I am using pure system setup and i have no problem booting. I have not used `init=/bin/systemd`.

Offline

#4 2012-09-22 01:23:17

grnt
Member
Registered: 2012-09-20
Posts: 5

Re: UEFI Installation Wiki Issues

the.ridikulus.rat wrote:

See http://rodsbooks.com/refind/linux.html , end of the page - Tip for distribution maintainers section.

This tip is largely irrelevant. Which distribution ever installed rEFInd automatically and without prompt? And even if I would follow it I would have two (almost) identical boot managers. This doesn't make any sense and the tip, even though from official doc, is either stupid or fails to provide necessary explanation why you would do that.

the.ridikulus.rat wrote:

The wiki mentions that you should run efibootmgr after setting up rEFInd (Step 6 of https://wiki.archlinux.org/index.php/Be … de#EFISTUB ), which ensures that rEFInd is added to firmware boot menu and is set as the first in the boot order (done automatically by efibootmgr when creating the boot entry)

You don't understand. Of course I followed docs and ran efibootmgr, how I'd get the menu entry for rEFInd then? The problem is that my particular motherboard (and I suppose many others) have serveral boot orders: boot order for all devices and one EFI entry and boot order setting related to EFI only to configure that one entry. Second boot order option is only used when first boot option is set to EFI. Here's what I mean:

Boot order (first setting):

1. EFI*
2. SATA HDD.
3. USB.
4. Network.
5. Etc.

*Second boot order setting:

1. rEFInd.
2. EFI shell.

Using efibootmgr changes the second but doesn't change the first, more important one.

the.ridikulus.rat wrote:

I am using pure system setup and i have no problem booting. I have not used `init=/bin/systemd`.

Without this parameter systemd doesn't start on my end.

Offline

#5 2012-09-22 01:36:17

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: UEFI Installation Wiki Issues

grnt wrote:
the.ridikulus.rat wrote:

I am using pure system setup and i have no problem booting. I have not used `init=/bin/systemd`.

Without this parameter systemd doesn't start on my end.

Like the.ridikulus.rat told you, if you have a pure systemd installation it will not require that.  You need to install systemd-sysvcompat.  Please see the wiki regarding systemd for more information.

Also, I am going to have to disagree with you on the bootloader entry thing.  Whatever the heck you are taking about, it is apparently not the norm.

Offline

#6 2012-09-22 01:38:10

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: UEFI Installation Wiki Issues

Are you running a pure systemd set up or a hybrid one? If the former, you need to install the compatibility package as described on the systemd wiki page to set up the symlinks. If the latter then, yes, you do need this in your kernel command line for things to work. (Again, this is on the systemd page but you should obviously feel free to edit if you think it needs to be made clearer somewhere.)

That's an interesting set up for your firmware. I just have one menu and efibootmgr puts grub at the top (since I use grub). If I have a second EFI entry, it just adds it to the same menu along with the other options. I wonder if yours would be better behaved if you need to reset BIOS to defaults? Mine always wipes my boot loader entries...

Last edited by cfr (2012-09-22 01:38:39)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#7 2012-09-22 01:48:37

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: UEFI Installation Wiki Issues

grnt wrote:
the.ridikulus.rat wrote:

See http://rodsbooks.com/refind/linux.html , end of the page - Tip for distribution maintainers section.

This tip is largely irrelevant. Which distribution ever installed rEFInd automatically and without prompt? And even if I would follow it I would have two (almost) identical boot managers. This doesn't make any sense and the tip, even though from official doc, is either stupid or fails to provide necessary explanation why you would do that.

I just followed that link and I am not sure why you think this is so stupid.  It makes perfect sense to me that by putting it in /EFI/arch/refind, a user can accidentally install refind from another distro into the ESP, and it will not go clobbering its way through everything.  Besides, having refind in the /EFI/arch directory does not stop you from setting it up to boot everything else in your EFI system partition.  Therefor I would ahve to say that the tip is largely relevant, and Rod Smith clearly provides necessary explanation.

Offline

#8 2012-09-22 14:35:19

grnt
Member
Registered: 2012-09-20
Posts: 5

Re: UEFI Installation Wiki Issues

WonderWoofy wrote:

Like the.ridikulus.rat told you, if you have a pure systemd installation it will not require that.  You need to install systemd-sysvcompat. Please see the wiki regarding systemd for more information.

cfr wrote:

Are you running a pure systemd set up or a hybrid one? If the former, you need to install the compatibility package as described on the systemd wiki page to set up the symlinks. If the latter then, yes, you do need this in your kernel command line for things to work. (Again, this is on the systemd page but you should obviously feel free to edit if you think it needs to be made clearer somewhere.)

Just to clarify, I was talking about issues on this particular Wiki page as I followed it during installation (and many people will do):
https://wiki.archlinux.org/index.php/Beginners'_Guide

See the title of my post.

That page doesn't say anything about systemd-sysvcompat. But now that you have pointed me to systemd page alone I'm starting to understand things better.

So it seems Arch installer didn't install base system with systemd-sysvcompat already included and without sysvinit. How one is supposed to guess that during installation, could it be it installs hybrid setup? So I guess Beginner's Guide need clarification on this? Whatever it is, I used ARCH_201209 snapshot.

WonderWoofy wrote:

Also, I am going to have to disagree with you on the bootloader entry thing.  Whatever the heck you are taking about, it is apparently not the norm.

It is the way many motherboards work, no matter how one agrees or not. MSI is the case. Yours can be different.

Another way is to simply set MSI boot order to EFI before the installation.

cfr wrote:

That's an interesting set up for your firmware. I just have one menu and efibootmgr puts grub at the top (since I use grub). If I have a second EFI entry, it just adds it to the same menu along with the other options. I wonder if yours would be better behaved if you need to reset BIOS to defaults? Mine always wipes my boot loader entries...

I was surprised too! It's very confusing in my opinion. BIOS reset doesn't have anything to do with it. It's a "feature".

Actually, it has three or sometimes even four boot order settings. Third is for HDD selection and fourth is for USB. If you set first boot order option to HDD, then you can modify third boot order setting to select from what particular HDD you want to boot. Likewise for USB. And it all updates dynamically as you plug in and out your hardware. E.g. if you don't have any USB keys plugged in during boot, then there won't be fourth boot order setting (for USB) at all.

WonderWoofy wrote:

I just followed that link and I am not sure why you think this is so stupid.  It makes perfect sense to me that by putting it in /EFI/arch/refind, a user can accidentally install refind from another distro into the ESP, and it will not go clobbering its way through everything.  Besides, having refind in the /EFI/arch directory does not stop you from setting it up to boot everything else in your EFI system partition

Name me at least one distribution which installs rEFInd automatically and without user consent to that particular folder (/EFI/refind). If you can and it indeed does so -- it's a bug in distribution. Only /EFI/boot folder can be safely overwritten.

Having it in arch directory is counter-intuitive for reasons already described above. If you fear something can overwrite /EFI/refind folder, then just name it /EFI/refind_system or /EFI/refind_default or something like that.

I understand it now. Rod Smith is giving an idea to distribution maintainers of how they can bundle their own versions of rEFInd with their distribution so that users would be able to try them out if they want. It is not a way of how rEFInd should be installed by the end users on their systems. Default rEFInd installation is supposed to go to /EFI/refind.

Carefully notice his tip doesn't include anything about issuing efibootmgr by distro installer.

So that's it. Since Arch doesn't bundle rEFInd, this tip is indeed irrelevant for us and the Wiki should be corrected.

Last edited by grnt (2012-09-22 15:03:58)

Offline

#9 2012-09-22 15:13:45

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: UEFI Installation Wiki Issues

grnt wrote:

Name me at least one distribution which installs rEFInd automatically and without user consent to that particular folder (/EFI/refind). If you can and it indeed does so -- it's a bug in distribution. Only /EFI/boot folder can be safely overwritten.

Having it in arch directory is counter-intuitive for reasons already described above. If you fear something can overwrite /EFI/refind folder, then just name it /EFI/refind_system or /EFI/refind_default or something like that.

I understand it now. Rod Smith is giving an idea to distribution maintainers of how they can bundle their own versions of rEFInd with their distribution so that users would be able to try them out if they want. It is not a way of how rEFInd should be installed by the end users on their systems. Default rEFInd installation is supposed to go to /EFI/refind.

Carefully notice his tip doesn't include anything about issuing efibootmgr by distro installer.

I would hope that no distribution would force a boot-manager or boot-loader on a user by default (though I can think of a couple where it is not an option to choose "no bootloader").  Apparently I was not clear enough it my explanation (or Rod Smith was not clear enough).  If you install refind via you distros package manager, it safely puts it in /EFI/arch/refind (for arch of course).  Say you get hit in the head and lose memory of what you installed the day before.  So you boot into your other distro the next day and say "ooohh this refind looks nice" even though ti is already on your computer.  So you install it with your package manager.  If every distro installed to the same place on the EFI system Partition, you would have one distro's package manager potentially overwriting (clobbering) the already installed version.  Ergo, though it may not be useful, it allows you to install from several different sources without killing the other.  (I thought Rod Smith's explanation made perfect sense... short and to the point).

I really don't personally think it is counter intuitive to have it installed in a folder of the distro that installed it.  Quite the opposite in fact.  Besides, if you are unable to find an installed file, you need to better learn a) the 'find' command b) to possibly use mlocate c) and most importantly, learn how to use your package manager.  What does it really matter, since you only really interact with this files location once to issue the efibootmgr command.

Besides all that the package that is in the repos puts it in /EFI/arch/refind, so the wiki lines up with what is provided by our fantastic devs.  If you have an issue with its placement, move it.  But as far as the wiki, this makes perfect sense as to why the information is as provided. 

As far as your last comment is concerned.  I am not sure about other distros, but seeing as Arch is a DIY distro, would you want an installer to do it for you?  Besides, the necessary information for an efibootmgr entry is so machine specific, it would be near impossible to make a universal one.  For instance, on my machine I have two EFI system partitions (one on both of my drives) so I have to specify the "--disk" as well as the "--part".  The page the.redikulus.rat linked to is actually a series of articles about UEFI boot-managers/loaders in which several times Rod Smith mentions the efibootmgr tool and how to use it.

Offline

#10 2012-09-22 15:16:19

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: UEFI Installation Wiki Issues

grnt wrote:

So that's it. Since Arch doesn't bundle rEFInd, this tip is indeed irrelevant for us and the Wiki should be corrected.

extra/refind-efi-x86_64 0.4.5-3
    Rod Smith's fork of rEFIt UEFI Boot Manager for x86_64 UEFI

You mean this refind?  I get the feeling that you don't really want to discuss this so much as simply hear that you are right.


Edit: also I know that the wiki is community driven, but please don't go changing things that you are not really familiar with.  I would hope that everyone contributes with things that they really have a grasp on, but please get a grasp on it first.

Last edited by WonderWoofy (2012-09-22 15:24:25)

Offline

#11 2012-09-22 16:05:54

grnt
Member
Registered: 2012-09-20
Posts: 5

Re: UEFI Installation Wiki Issues

Crap!

Forget all my rEFInd comments.

I somehow thought (I have no idea why) that between pacman -S refind-efi-x86_64 and issuing efibootmgr there is an additional step of manually copying rEFInd files to /boot/EFI/arch/refind with some other command. But it already installs it there. Of course everything is right like that. Now, when the package is upgraded all changes will be picked up and if I wan't to change boot manager to the one from another distro, I'd install it from there and switch the setting.

Something is wrong with my mind lately.

OK, this one is clear but other mentioned issues are still there.

I would hope that everyone contributes with things that they really have a grasp on, but please get a grasp on it first.

I do have a grasp on things and there's no need to teach me like that. And this is why I opened this thread to see if I've missed something.

Offline

#12 2012-09-22 20:28:46

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: UEFI Installation Wiki Issues

Okay, so mark it as solved and lets move on, yeah?

Offline

#13 2012-09-22 21:22:00

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: UEFI Installation Wiki Issues

grnt wrote:
WonderWoofy wrote:

Like the.ridikulus.rat told you, if you have a pure systemd installation it will not require that.  You need to install systemd-sysvcompat. Please see the wiki regarding systemd for more information.

cfr wrote:

Are you running a pure systemd set up or a hybrid one? If the former, you need to install the compatibility package as described on the systemd wiki page to set up the symlinks. If the latter then, yes, you do need this in your kernel command line for things to work. (Again, this is on the systemd page but you should obviously feel free to edit if you think it needs to be made clearer somewhere.)

Just to clarify, I was talking about issues on this particular Wiki page as I followed it during installation (and many people will do):
https://wiki.archlinux.org/index.php/Beginners'_Guide

See the title of my post.

That page doesn't say anything about systemd-sysvcompat. But now that you have pointed me to systemd page alone I'm starting to understand things better.

So it seems Arch installer didn't install base system with systemd-sysvcompat already included and without sysvinit. How one is supposed to guess that during installation, could it be it installs hybrid setup? So I guess Beginner's Guide need clarification on this? Whatever it is, I used ARCH_201209 snapshot.

Arch does not use systemd yet by default - the base install is still using sysvinit. You can check this with

pacman -Si initscripts

and note that that package is in the base group. initscripts depends on systemd-tools but that's not the same as systemd. So telling people to add the init option to their kernel command lines as part of the basic install would just cause their systems to be unbootable.

If you install systemd to run a hybrid system, then you need the init option as explained on the systemd page. If you want pure systemd, install the systemd-sysvcompat package or use the init option. (You can't use the compatibility package with a hybrid system as it conflicts with initscripts.)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#14 2012-09-23 00:10:06

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: UEFI Installation Wiki Issues

udev is now part of the systemd package.  So now all initscripts users simply have a bit of unused binaries on their machines, but also the possibility of simply appending the init= line to boot with systemd. 

Your post was correct before that last (maybe two) rounds of updates.

Offline

#15 2012-09-23 20:41:23

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,130

Re: UEFI Installation Wiki Issues

WonderWoofy wrote:

udev is now part of the systemd package.  So now all initscripts users simply have a bit of unused binaries on their machines, but also the possibility of simply appending the init= line to boot with systemd. 

Your post was correct before that last (maybe two) rounds of updates.

Oops. You are quite right (as usual smile).

I actually checked against pacman and was misled by the fact that initscripts still depends on systemd-tools. But systemd-tools is now provided by systemd.

Even so, it is still true that Arch doesn't use systemd by default so the wiki is quite right not to instruct users to add the init option in the Beginners' Guide. That is, even though systemd is now installed by default, systemd is not the default boot method (yet).

Last edited by cfr (2012-09-23 20:41:42)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#16 2012-09-23 20:49:59

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: UEFI Installation Wiki Issues

cfr wrote:

Oops. You are quite right (as usual smile).

I really don't know about the as usual part... but I am glad I can share what I do know.

Offline

Board footer

Powered by FluxBB