Earlier quoted context omitted.
Many of our systems boot under 10 seconds after GRUB. You can make GRUB menu to timeout quickly or be completely hidden if you want. A modern system with a connected network can boot quite fast. Windows' instant boot is not boot actually, it's thawing hibernation. One of the biggest features touted by systemd is "embarrassingly parallel" booting capabilities, which Parallel SYS-V already sported. IOW, Linux already c…
Not fast enough.
No more boot loader: Please use the kernel instead
431–440 of 460 posts
Re: No more boot loader: Please use the kernel instead
#432Earlier quoted context omitted.
Not fast enough.
What I was talking about was not virtualized. VMs start even faster. On the other hand, if you need to restart that much, you're really doing something wrong.
Why enumerate usb devices on boot, when you have zero devices that need usb? Raid speed testing... and the list goes on.
Re: No more boot loader: Please use the kernel instead
#433Earlier quoted context omitted.
What I was talking about was not virtualized. VMs start even faster. On the other hand, if you need to restart that much, you're really doing something wrong.
There is always room for improvement. Like if you set the initramfs dep based, the whole process speeds up, but on a kernel upgrade it tends to error out. Why? Why enumerate usb devices on boot, when you have zero devices that need usb? Raid speed testing... and the list goes on.
Are you sure? On servers there are generally a couple of USB based devices which handle BMC, hardware debug logging, etc. Just because you don't have physical ports, this doesn't mean the USB bus is empty and silent.
When you connect to a server via BMC and request the console, you get two USB devices at least. One for mouse, one for keyboard. More devices appear if you attach virtual volumes remotely.
> Raid speed testing...
Because Linux kernel is stateless. There's no guarantee that you're booting on the same processor (make, model, family, even system bus layout) as the last boot. Moreover, there's no guarantee that you're not rebooting because of an unmaskable MCE which is fired because you lost half of your vector units (SSE/AVX blocks) or half of your FPU units, or any other CPU IP block (because you fried them) and you're in limp mode now...
I have seen tons of these events and similar ones first hand. I'll prefer my systems to spend three more seconds to boot successfully so I can debug them rather than the kernel makes some assumptions and catches fire in a completely unrecoverable state leaving me stranded.
Re: No more boot loader: Please use the kernel instead
#434Earlier quoted context omitted.
There is always room for improvement. Like if you set the initramfs dep based, the whole process speeds up, but on a kernel upgrade it tends to error out. Why? Why enumerate usb devices on boot, when you have zero devices that need usb? Raid speed testing... and the list goes on.
> Why enumerate usb devices on boot, when you have zero devices that need usb? Are you sure? On servers there are generally a couple of USB based devices which handle BMC, hardware debug logging, etc. Just because you don't have physical ports, this doesn't mean the USB bus is empty and silent. When you connect to a server via BMC and request the console, you get two USB devices at least. One for mouse, one for keybo…
Re: No more boot loader: Please use the kernel instead
#435Earlier quoted context omitted.
> Why enumerate usb devices on boot, when you have zero devices that need usb? Are you sure? On servers there are generally a couple of USB based devices which handle BMC, hardware debug logging, etc. Just because you don't have physical ports, this doesn't mean the USB bus is empty and silent. When you connect to a server via BMC and request the console, you get two USB devices at least. One for mouse, one for keybo…
This isn't about your or my use case and/or preferences.
Exactly! This is why Linux kernel does and shall ship with a configuration which supports everything out of the box, even if it's slow. Because it covers everyone's use cases that way.
If you need to trim it down to fit to your system(s), you should be able to do it. Debian has a mechanism called "Targeted Kernel" which removes the modules which won't be used on your system automatically during kernel upgrades.
Nobody is stopping you from doing whatever you want with your system to boot it faster.
For me, I'm fine with the Kernel as is, because some of my servers already take multiple minutes to initialize the plethora of devices on themselves. So a three second delay changes nothing on a system which is rebooted once a month at most.
Same applies to my desktop systems, which are either on or at S3 sleep, which wake in <3 seconds anyway (I wait for the monitor to come back mostly).
Re: No more boot loader: Please use the kernel instead
#436Earlier quoted context omitted.
The UEFI environment does not exist on older PC's. UEFI started to become mainstream around 2013 -- that is, an increasing amount of PC motherboard manufacturers started to put it on motherboards (rather than the older BIOS) around this time. It should be pointed out that on some motherboards the UEFI software may be placed on an IC (EPROM, EEPROM (Electrically Erasable Programmable Memory), Flash, NVRAM, ?) -- which…
UEFI didn't exist at all on older systems, so instead you had BIOS which provided no security assertions whatsoever and exposed an even larger runtime attack surface (UEFI at least as the boottime/runtime distinction, and after ExitBootServices() most of the firmware code is discarded - BIOS has no such distinction and the entire real-mode interface remains accessible at runtime). In terms of how modifiable UEFI is -…
Anyone interested in the subject could Google (or search on their favorite search engine) "UEFI Vulnerabilities" -- for no shortage of issues/problems/security vulnerabilities.
Am I saying that an old BIOS is perfectly secure?
No!
But older BIOSes are an order of magnitude simpler, better understood, and more documented -- than UEFI is at this point.
If UEFI morphs to something else more complex in the future, which it probably will, given the track record of hardware boot/initialization code specifically, and software generally, then my advice at that point in time (10+ years in the future) will be "go back to UEFI, it's simpler, more documented and better understood than what we have now".
But not until that day, and then not unless every computer on the planet is, or has become absolutely incapable of initializing/booting from the older code.
As a generalized pattern/understanding in Software Engineering, older code / older software / older codebases (of whatever form, firmware, etc. -- in this case BIOS hardware init/boot handoff code) -- are generally smaller, simpler (less bloat for approximately the same functionality), vanilla, spartan, better understood, and have had many of their security issues found, fixed, and solved than their present-day over complex and bloated counterparts... (and, did I mention better documented?)
Re: No more boot loader: Please use the kernel instead
#437Earlier quoted context omitted.
>I need the flexibity to boot different OS kernels. AFAIK, UEFI offers no such flexibility. Yes it does, I use it with two kernels, just have different entry for each stub in UEFI. Whenever I want to boot the non-default kernel I just hit F11 (for BIOS boot menu, on my motherboard) and choose the boot option. You just need to add the boot options in UEFI, pointing to the corresponding EFI files. They also have the ke…
Thank you.
If a motherboard doesn't have enough UEFI commands in its built-in Shell (or has no built-in Shell at all), you'll want to include your own Shell.efi file right there along with any startup.nsh you might decide to deploy.
This can also be good for USB booting where the removable USB device is in regular MBR layout rather than GPT-style-partitioning.
Whether or not the whole USB drive is FAT32 or not, as long as there is a proper EFI folder in a UEFI-recognizable filesystem, you can boot to any other OS on any other filesystem, depending only on the contents of the EFI folder. Unless there is a startup.nsh for the UEFI to follow instead, then you might not even need an EFI folder. As intended. Boot floppies still work as designed too. Startup.nsh is more commonly expected to contain reference to an EFI folder that is present on some recognizable filesystem, rather than work as a lone soldier though. GPT-layout partitions are not supposed to be necessary either, it's only needed when you want more partitions than legacy BIOS will handle, or partitions that are too huge for MBR representation.
Now any alternative to GRUB would by necessity have to perform more pleasingly on legacy-compatible systems where UEFI is not enabled also, or it will remain a less-effective alternative.
Once a geek is smart enough to handle both BIOS & UEFI, the more I would be able to trust their UEFI solution.
Re: No more boot loader: Please use the kernel instead
#438It's something you can do since a lot of years. I used to do so 10 years ago, when I've got the first motherboard with UEFI. But is it useful? It saves a minimal time in the boot sequence, but at what cost? The bootloader (being it grub, or something more simple as systemd-boot) is useful to me for a couple of reasons: - it allows to dual-boot with Windows easily: motherboard boot menu is often not easy to access, yo…
>it allows to dual-boot with Windows easily Windows Boot Manager can chainload into any arbitrary bit of code if you point it where it needs to hand off. It's a feature that goes back to Windows NT (NTLDR) supporting dual boot for Windows 9x, but it can be repurposed to boot anything you would like so long as it can execute on its own merit. eg: Boot into Windows Boot Manager and, instead of booting Windows, it can h…
With the NT6 bootloader this appears to be limited to operating only in BIOS mode using bootmgr.exe. The traditional chainloading is still possible by pointing to a binary file which is a copy of a valid partition bootsector, whether it is a Microsoft bootsector or not.
The equalent BCD for UEFI mode uses bootmgr.efi (instead of bootmgr.exe), and does not seem to be capable of chainloading even when there is an equivalent BOOTSECTOR bootentry on the NT6 multiboot menu.
It would be good to see an example of the NT6 bootloader successfully handling UEFI multibooting which includes starting Linux from the EXTx partition it is installed on. Still works perfectly in BIOS since early NT, but in UEFI not so much.
Re: No more boot loader: Please use the kernel instead
#439Earlier quoted context omitted.
> completely useless if you care about Measured Boot I stopped reading there. All these engineers who help build and defend this draconian crap should be forced to used only an iPad for the rest of their lives.
Of all the horrible punishments you could have envisioned, you went full-on "I have no mouth and I must scream" there...
Envious of trustees having netbooks.
Re: No more boot loader: Please use the kernel instead
#440Earlier quoted context omitted.
I'm not sure I experienced the same with the Windows boot loader so maybe that behavior was something case specific instead of intended?
That's the default behavior
If you bcdedit to be "Legacy" bootmenupolicy, you can select any OS from its simple non-touch text-based NT6 multiboot menu and it will boot right away without need for repost.