Talk:Arch boot process

From ArchWiki
Jump to navigation Jump to search

Boot loader vs boot manager

There is a template:expansion at Arch boot process#boot loader. My understanding of what Wikipedia:Booting#Modern_boot_loaders means, is that the topic should have been titled boot manager, not boot loader. I find the first sentence of the topic,

The boot loader is the first piece of software started by the BIOS or UEFI

not accurate. In my view, the boot loader is actually part of the BIOS or UEFI. One of their jobs is to load a boot manager. The boot manager is the

piece of software started, but not included, within the BIOS or UEFI

It is their follower. In general, I think the boot loader job is to get the machine into a predefined state, a state that requires no intimate knowledge of the specific hardware in order to finalize the boot process. Therefore, a general boot manager, such as those mentioned, can finalize, or manage the final steps, of the boot process. Contrast that with initiating the boot process, where the bios/uefi programmers, and hardware manufactures, must coordinate with each other. In other words, a boot loader is Wikipedia:Booting#First-stage boot loader, and a boot manager is Wikipedia:Booting#Second-stage boot loader. In the past, Linux tried to include the boot loader. Due to the exceeding complexity it had gone to, partially because the lack of the exact details of each hardware, Linux dropped that ability.

Alternatively, if one wonders what exactly does the the boot manager manage, one might imagine that the BIOS or UEFI call the boot manager, which, in turn, calls the boot loader. With this line of thinking, the boot loader is the last step to run by the boot manager. That is, the boot loader is the one that actually loads the OS. In the case of a simple boot manager, such as EFISTUB, the boot loader is its main component. Where as more complex boot managers deal with more requirements.

Regid (talk) 21:22, 12 January 2019 (UTC)

I doubt there is established naming. One can use UEFI/GPT standard, but who says it is ultimate spec regarding the boot (in addition, there are other platforms)? Your proposed naming (implicitly assuming) to call BIOS/UEFI as 'boot loader/manager' is strange - I rarely see that it is called in such way (although, I acknowledge that UEFI spec may call itself in a such way). When people say 'boot loader/manager' they usually mean 'piece of software started by BIOS/UEFI, which starts operating system and does potentially other things, not limited to: starting other boot loaders, checking mem, etc.'. One reason why people do not consider BIOS/UEFI firmware as 'boot loader/manager' is that they have no choice is selecting it. My proposal is to leave everything as it is. If there is no difference between names 'boot loader/manager', then one name should be used consistently across the article. Alternatively, one can use UEFI/GPT spec naming approach.
P.S. I doubt that even if you collect technical evidence supporting your position, you can make significant change because Arch wiki (like other Arch projects) is somewhat authoritarian. There is one and only one right idea - those, which belongs to wiki maintainers. If you have different opinion, you are out of luck. If you insists on your opinion, you will be called newbie, technically unsophisticated person who is not able to understand intelligence of wiki maintainers (forum mods, TUs, depending on the context). I personally gave up on editing this wiki because of this reason. --Mxfm (talk) 07:04, 13 January 2019 (UTC)
Nice rant.
When I added the Template:Expansion, I had the definition from in mind. Basically a boot loader loads the kernel, while a boot manager executes the EFISTUB kernel as an EFI application and the kernel does all the boot related stuff itself. -- nl6720 (talk) 10:32, 13 January 2019 (UTC)
As an additional reference, both syslinux and grub define themselves as "bootloaders". As far as I can tell, the linux community at large seems to consider the classification of software mentioned on the page as "bootloaders". I've yet to see any credible soures defining these as "boot managers". As a result, I think the template expansion on this page could be removed. It has not been significantly contested. Debates on appropriate terminology can go on indefinitely, but I think that in general it should be defined by the definitions of the community at large. Using consistent naming convention also avoids unnecessary confusion. Aeros167 (talk) 05:38, 6 June 2019 (UTC)
Sounds reasonable, I've removed the template with [1] -- Alad (talk) 10:13, 6 June 2019 (UTC)
I don't get this argument, no one is trying to clasify GRUB & Syslinux as boot managers. Just as GRUB and Syslinux define themselves as boot loaders, systemd-boot(7) and rEFInd define themselves as boot managers. The Template:Expansion was there because I thought the distinction should be explained. -- nl6720 (talk) 14:18, 6 June 2019 (UTC)
Oh, my apologies, looks like I misunderstood the purpose of the Template:Expansion for this page. It seemed that Regid was arguing that the section should have been titled "Boot manager" instead of "Boot loader", which includes the table that contains grub and syslinux, which my argument was primarily targeted at. I also have not seen many sources explaining boot loaders and boot managers as being separate programs, besides the one which you linked previously ( As a result, I was under the impression that it was mostly a naming convention difference. I would be in favor of systemd-boot and rEFInd (or any other programs which self-classify as boot managers) into a different table, with an explanation of the distinction between boot managers and boot loaders. I have no argument against doing that as long as it is clearly distinct from the boot loader section. -- Aeros167 (talk) 04:00, 7 June 2019 (UTC)
After looking more through the site you linked earlier, I encountered a page summarizing the differences between boot loaders and boot managers: According to Rod Smith, programs such as grub simultaneously act as both boot managers and boot loaders: "Some programs, including the popular GRUB (both GRUB Legacy and GRUB 2), function as both boot managers and boot loaders, which may be why the terms are often used interchangeably.". This is was the primary cause of confusion for me on the topic. Perhaps it may be appropriate to name the section "Boot loaders and boot managers" and add two columns to the existing table with yes/no values for each. Otherwise, it would require the usage of 3 separate tables to separate them since these programs can be a boot loader and a boot manager, exclusively a boot loader, or exclusively a boot manager. It would be ironic for me to attempt to make this change since I argued against the Template:Expansion initially, but I've been convinced otherwise after a bit of further reading. I'll attempt to make the modifications to the table. I'll also add a small section summarizing the terminology, along with a link to that page for anyone who wishes to do further reading on the subject. -- Aeros167 (talk) 04:23, 7 June 2019 (UTC)
I think the additional columns are too excessive. Since the distinction mostly only matters when booting multiple operating systems (except for that time when FS#33745 happened), I added a footnote referenced from the multi-boot column. -- nl6720 (talk) 13:14, 7 June 2019 (UTC)
Oh alright, fair enough. This should now fully settle the previous Template:Expansion issue for this section then, that was my primary goal. Also gave me the chance to better learn the difference between boot loaders and boot managers, even if it's not the most import distinction. --Aeros167 (talk) 03:23, 8 June 2019 (UTC)
If I understood correctly, Regid was talking about UEFI's own boot manager[2]. I don't think it counts as a separate peace of software instead of a part of the firmware, but I removed the "first piece of software started by BIOS or UEFI" claim just in case. -- nl6720 (talk) 09:03, 8 June 2019 (UTC)