What? Why is your NVIDIA modules even in the boot partition? My largest /boot is on Fedora and that's 454MiB, 87MiB on Arch and 30MiB on NixOS.
EDIT: "With grub, the situation varies; if the device has a graphics card, it usually means that driver modules need to be placed in the boot as well.", "usually" carries a lot of weight here, none of the systems I had had this kind of a requirement.
The kernel should be able to use the framebuffer from the UEFI, which the GPU would of already setup, then let the desktop modeset to the target resolution if needed (using the driver).
This is what Windows has been doing without issues for over 10 years. We don't need larger /boot partitions, we need a better boot process that doesn't need infinitely growing space.
Yeah, with a 500 MB partition I cannot have both the normal and LTS kernel thanks to that, and resizing it sound like a good way to break stuff, so I'll pass for now
On the systems where I have seen this happening, it is normally extremely annoying, because it may select a minuscule bitmap font on a high-resolution display. The user may need to type almost blindly the terminal command for changing the font to the biggest bitmap font provided with the Linux kernel, which for a long time had been sun12x22, but nowadays there is also a more decent ter16x32.
It is better when the kernel stays in VGA mode until X is started.
I encountered the same issue on my desktop, but ended up doing the partition surgery a little differently.
First I resized /, /home, etc. for some extra space, then I moved them all forward a bit, then I resized /boot. Complicated by various layers of LVM and encryption.
This took longer and in retrospect was perhaps a bit riskier, but it had the advantage of not needing to change any configuration on the actual system (since all of the partition numbers/names/uuids remained the same -- they just showed up at slightly different places with slightly different sizes). So the whole operation could be done entirely from a live/rescue environment.
Boot partition is unnecessary, not unnecessary when something something, IT IS unnecessary EVERYWHERE EVERYTIME. and even if for some edgiest edge case you need boot partition, NO you do NOT need any graphics driver in your /boot, who said you need it there? Kernel does not need 3D acceleration for bringing you to userspace. You just blink your screen one more time, and prolong boot, there will be no other "effect" from that.
Also why the literal ... do people use GRUB, gummyboot, clover... still? UEFI IS your bootloader that is whole point of having UEFI, so you do not need anything else to boot your kernel and IT IS working like that. So why are linux distributions still JUST copy pasting scripts instead of making boot properly? Same annoying nonsensical debate as with supporting of 32bit. Just do things like they are supposed to work in 21 century, period.
Clear linux can boot 57 times faster then ubuntu or fedora.... JUST by not supporting intel 80486 booting process, do YOU have 486, NO. But your distribution requires you to boot like on 486 why that is ? Because nonsensical blablabla
AND on old thinkpads, you can install coreboot into "BIOSFLASH" which provides similar boot experience as in UEFI, or just put linux kernel directly into flash which will be your bootloader(kexec), that way you can even emulate features (like in clover hackintosh) and install even win11 / macos on it. or do whole ("secure") measured boot on it that way...
Why are we doing this nonsensical stuff?
If you have spare drive, install Clear linux on it. and compare boot speed with your os of choice on same drive. I am not saying you have to use Clear Linux, just maybe try to do SOME things like they do in other distros ? (package manager in Clear linux is annoying)
Focus on supporting current stuff and require itsy, tiny bit of config on OLD, not 10 year old, because that IS current (UEFI), but literally 40 year old. Most distros not even support that old system but they require you to boot like you have 40 year old system, nonsense.
> Also why the literal ... do people use GRUB, gummyboot, clover... still? UEFI IS your bootloader that is whole point of having UEFI, so you do not need anything else to boot your kernel and IT IS working like that.
It does work in the easy case, but UEFI is an inferior bootloader to the others. For example: If I need to live edit boot parameters with GRUB, I get to the boot menu, scroll to the relevant entry, hit a key, edit however I want, and hit a key to boot. I'm not sure if that's possible at all with pure UEFI; maybe you can get a UEFI shell and pass options to the kernel (maybe, not sure), but I don't think it lets you edit existing options.
I've also heard arguments about avoiding writing to the limited flash on the motherboard by not saving configuration there that has to change.
you need basicest of basic of a bringup then "call" linux kernel which does rest because it has to do it anyway with any bootloader - check redhat nmbl video from devcon2024
- live editing-
1999 way - look, live iso installer (or something like hirensbootcd), you press F10, boot from usb stick, edit what you need to edit and voila. why bother with uefi shell when you can have webbrowser with google/documentation opened next to whole suite of tools downloadable on demand. even windows (pe) install is just in-ram "image flasher".
2020 way - https://github.com/JaGoLi/corevantage can do it for coreboot on cutom flashed thinkpad. of course malware, proper implementation from motherboard vendor etc. i just remembered that gpu vendors provides you with "overclocking" utility so people already do simple config from os, intel xtu, techpowerup throttlestop... so if we can overclock safely i think setting boot settings should be trivial #should
- limited flash -
who writes "boot settings" to uefi? installer does, so installer can de-conflict or it can "just ask user". or "just" fifo copy move down. most of them are "live cd" with gui anyway. it can open arch documentation for you lol. also if youre REinstalling same os in same manner than do you need to change boot settings? no.
boot parameters vs boot settings, i do not know how to properly call uefi boot settings, they are not boot parameters in my language.
also you do not have 57 OSes installed at once and if you do you are using GUI solution for that.
you can have 2 boot settings and change kernel parameters for one of them, where are kernel parameters saved ?(notnvram). where are boot parameters saved?(nvram)
if you have totally erased every disk in computer, in intel cpu based apple computers, little utility will download and run os installer for you, i am not sure this still works, just saying wintel maybe can do this too if someone asked nicely, maybe? vendor url can be simple redirect to msdn?
The goal is to be able to remove the `quiet` option, or maybe set `init=/bin/sh`; requiring that I have a thumbdrive with a recovery system is more robust but is also needless difficulty when I can trivially do the same thing from grub/syslinux/whatever. And to clarify, I'm calling UEFI inferior because it doesn't (easily or universally) let me alter kernel arguments on the fly. Likewise, I would like to use coreboot but only a tiny fraction of machines support it. The stronger argument is to stick something like https://news.ycombinator.com/item?id=40914761 in your EFI partition so you always have a recovery OS on hand, but that's still a lot more work than hitting a hotkey, editing arguments, and hitting one more key to boot.
## limited flash
> who writes "boot settings" to uefi
I am reasonably confident that every time I install kernel updates on Pop!_OS, it's running efibootmgr, and I don't think that's unusual.
> if you have totally erased every disk in computer, in intel cpu based apple computers, little utility will download and run os installer for you, i am not sure this still works, just saying wintel maybe can do this too if someone asked nicely, maybe? vendor url can be simple redirect to msdn?
Like with coreboot, I'm happy to agree that it would be better if every machine had such a feature, but I also have to point out that... they don't. If you want to argue that vendors should all switch to shipping coreboot with an OS download feature added, then I will completely support you. If you want to argue that Linux distros shouldn't support the majority of machines which lack those features, then I strongly disagree.
if you can boot, you change what you need to change in running os.
efibootmgr works when os is online too, so just do same thing, be online when you are changing parameters.i remember in good old days of first android devices, there were million posts about which cpu scheduler is best to speed my android device. only real answer was remove all schedulers from kernel source code. (FIFO). it provided 30% boost ... not one article said that. less code is running (no matter how optimized), faster systems are. less code to maintain, cheaper software is, less bugs, attack surface there is.
i am arguing that booting direct by uefi is simpler and faster for everybody because it is ONE standardized way to do it. FOSS is about extracting money by providing "support". but this "support" is immoral when you pay them to fasten your boot, because they intentionally doing boot wrong/slow/nonsensical.
customized BSD system can boot in 50ms, so you can spawn working vm fast, do we need that kind of customization of boot ? no i would like for distributions to give me 2 sec to kde login screen like i already have it in clear linux. this is not advert for clear linux or kde. it is example that current mainstream state of thing is i.....c.
or clear linux again, you press reboot in KDE and kernel does kexec reboot, so i do not need to wait for hw to initialize for 3 minutes because im restarting for reasons not involving hw... . IT JUST MAKES SENSE
currently, linux is nonsensical ball of lint flying from one side to another because Linux Tech Tips brooded children cried nonsense to developers on Xtwitter, i am fed up with that.
i do not advocate for coreboot in any shape or form, i was just providing examples that IT IS doable for last 15 years but very few noticed. another example - lenovo ThinkLMI - Lenovo BIOS Setup using Linux WMI.
I agree with you, but even with legacy booting, without using UEFI, there is no need for a boot partition, or at most you need a boot partition of a few tens of MB.
The boot partition does not need anything else besides the kernel (without modules), a config/menu text file and a minimal boot loader like syslinux.
Complicated boot loaders like grub have been obsolete for decades.
I prefer to not have any partitions on the SSD with the Linux root file system and to boot from a normal FAT-formatted USB memory (which stores the 3 files mentioned above), which can be edited on any computer, using any operating system.
If you want to boot a computer both in Windows and in Linux, there is no need for a boot menu. It can boot in Windows without the USB memory and it can boot in Linux by inserting the USB memory and selecting it as the boot device (typically the BIOS uses some function key for that).
well i am booting from usb stick too, on one of my big computers, but because my system is encrypted, i even remove TPM when im not around. not possible on notebooks tho...
I only use about 50 mb of my boot partition with refind as my boot manager. Come to think of it, why on earth do we still need boot partitions? Why can't Windows, Linux, iOS, etc coexist in the same file system?
23 comments
[ 3.2 ms ] story [ 67.2 ms ] threadEDIT: "With grub, the situation varies; if the device has a graphics card, it usually means that driver modules need to be placed in the boot as well.", "usually" carries a lot of weight here, none of the systems I had had this kind of a requirement.
Early kernel modesetting requires the drivers in the initramfs.
This is what Windows has been doing without issues for over 10 years. We don't need larger /boot partitions, we need a better boot process that doesn't need infinitely growing space.
On the systems where I have seen this happening, it is normally extremely annoying, because it may select a minuscule bitmap font on a high-resolution display. The user may need to type almost blindly the terminal command for changing the font to the biggest bitmap font provided with the Linux kernel, which for a long time had been sun12x22, but nowadays there is also a more decent ter16x32.
It is better when the kernel stays in VGA mode until X is started.
https://manpages.debian.org/jessie/initramfs-tools/initramfs...
First I resized /, /home, etc. for some extra space, then I moved them all forward a bit, then I resized /boot. Complicated by various layers of LVM and encryption.
This took longer and in retrospect was perhaps a bit riskier, but it had the advantage of not needing to change any configuration on the actual system (since all of the partition numbers/names/uuids remained the same -- they just showed up at slightly different places with slightly different sizes). So the whole operation could be done entirely from a live/rescue environment.
Also why the literal ... do people use GRUB, gummyboot, clover... still? UEFI IS your bootloader that is whole point of having UEFI, so you do not need anything else to boot your kernel and IT IS working like that. So why are linux distributions still JUST copy pasting scripts instead of making boot properly? Same annoying nonsensical debate as with supporting of 32bit. Just do things like they are supposed to work in 21 century, period.
Clear linux can boot 57 times faster then ubuntu or fedora.... JUST by not supporting intel 80486 booting process, do YOU have 486, NO. But your distribution requires you to boot like on 486 why that is ? Because nonsensical blablabla
AND on old thinkpads, you can install coreboot into "BIOSFLASH" which provides similar boot experience as in UEFI, or just put linux kernel directly into flash which will be your bootloader(kexec), that way you can even emulate features (like in clover hackintosh) and install even win11 / macos on it. or do whole ("secure") measured boot on it that way...
Why are we doing this nonsensical stuff?
If you have spare drive, install Clear linux on it. and compare boot speed with your os of choice on same drive. I am not saying you have to use Clear Linux, just maybe try to do SOME things like they do in other distros ? (package manager in Clear linux is annoying)
Focus on supporting current stuff and require itsy, tiny bit of config on OLD, not 10 year old, because that IS current (UEFI), but literally 40 year old. Most distros not even support that old system but they require you to boot like you have 40 year old system, nonsense.
It does work in the easy case, but UEFI is an inferior bootloader to the others. For example: If I need to live edit boot parameters with GRUB, I get to the boot menu, scroll to the relevant entry, hit a key, edit however I want, and hit a key to boot. I'm not sure if that's possible at all with pure UEFI; maybe you can get a UEFI shell and pass options to the kernel (maybe, not sure), but I don't think it lets you edit existing options.
I've also heard arguments about avoiding writing to the limited flash on the motherboard by not saving configuration there that has to change.
you need basicest of basic of a bringup then "call" linux kernel which does rest because it has to do it anyway with any bootloader - check redhat nmbl video from devcon2024
- live editing-
1999 way - look, live iso installer (or something like hirensbootcd), you press F10, boot from usb stick, edit what you need to edit and voila. why bother with uefi shell when you can have webbrowser with google/documentation opened next to whole suite of tools downloadable on demand. even windows (pe) install is just in-ram "image flasher".
2020 way - https://github.com/JaGoLi/corevantage can do it for coreboot on cutom flashed thinkpad. of course malware, proper implementation from motherboard vendor etc. i just remembered that gpu vendors provides you with "overclocking" utility so people already do simple config from os, intel xtu, techpowerup throttlestop... so if we can overclock safely i think setting boot settings should be trivial #should
- limited flash -
who writes "boot settings" to uefi? installer does, so installer can de-conflict or it can "just ask user". or "just" fifo copy move down. most of them are "live cd" with gui anyway. it can open arch documentation for you lol. also if youre REinstalling same os in same manner than do you need to change boot settings? no.
boot parameters vs boot settings, i do not know how to properly call uefi boot settings, they are not boot parameters in my language. also you do not have 57 OSes installed at once and if you do you are using GUI solution for that.
you can have 2 boot settings and change kernel parameters for one of them, where are kernel parameters saved ?(notnvram). where are boot parameters saved?(nvram)
if you have totally erased every disk in computer, in intel cpu based apple computers, little utility will download and run os installer for you, i am not sure this still works, just saying wintel maybe can do this too if someone asked nicely, maybe? vendor url can be simple redirect to msdn?
The goal is to be able to remove the `quiet` option, or maybe set `init=/bin/sh`; requiring that I have a thumbdrive with a recovery system is more robust but is also needless difficulty when I can trivially do the same thing from grub/syslinux/whatever. And to clarify, I'm calling UEFI inferior because it doesn't (easily or universally) let me alter kernel arguments on the fly. Likewise, I would like to use coreboot but only a tiny fraction of machines support it. The stronger argument is to stick something like https://news.ycombinator.com/item?id=40914761 in your EFI partition so you always have a recovery OS on hand, but that's still a lot more work than hitting a hotkey, editing arguments, and hitting one more key to boot.
## limited flash
> who writes "boot settings" to uefi
I am reasonably confident that every time I install kernel updates on Pop!_OS, it's running efibootmgr, and I don't think that's unusual.
> if you have totally erased every disk in computer, in intel cpu based apple computers, little utility will download and run os installer for you, i am not sure this still works, just saying wintel maybe can do this too if someone asked nicely, maybe? vendor url can be simple redirect to msdn?
Like with coreboot, I'm happy to agree that it would be better if every machine had such a feature, but I also have to point out that... they don't. If you want to argue that vendors should all switch to shipping coreboot with an OS download feature added, then I will completely support you. If you want to argue that Linux distros shouldn't support the majority of machines which lack those features, then I strongly disagree.
efibootmgr works when os is online too, so just do same thing, be online when you are changing parameters.i remember in good old days of first android devices, there were million posts about which cpu scheduler is best to speed my android device. only real answer was remove all schedulers from kernel source code. (FIFO). it provided 30% boost ... not one article said that. less code is running (no matter how optimized), faster systems are. less code to maintain, cheaper software is, less bugs, attack surface there is.
i am arguing that booting direct by uefi is simpler and faster for everybody because it is ONE standardized way to do it. FOSS is about extracting money by providing "support". but this "support" is immoral when you pay them to fasten your boot, because they intentionally doing boot wrong/slow/nonsensical.
customized BSD system can boot in 50ms, so you can spawn working vm fast, do we need that kind of customization of boot ? no i would like for distributions to give me 2 sec to kde login screen like i already have it in clear linux. this is not advert for clear linux or kde. it is example that current mainstream state of thing is i.....c.
or clear linux again, you press reboot in KDE and kernel does kexec reboot, so i do not need to wait for hw to initialize for 3 minutes because im restarting for reasons not involving hw... . IT JUST MAKES SENSE
currently, linux is nonsensical ball of lint flying from one side to another because Linux Tech Tips brooded children cried nonsense to developers on Xtwitter, i am fed up with that.
i do not advocate for coreboot in any shape or form, i was just providing examples that IT IS doable for last 15 years but very few noticed. another example - lenovo ThinkLMI - Lenovo BIOS Setup using Linux WMI.
The boot partition does not need anything else besides the kernel (without modules), a config/menu text file and a minimal boot loader like syslinux.
Complicated boot loaders like grub have been obsolete for decades.
I prefer to not have any partitions on the SSD with the Linux root file system and to boot from a normal FAT-formatted USB memory (which stores the 3 files mentioned above), which can be edited on any computer, using any operating system.
If you want to boot a computer both in Windows and in Linux, there is no need for a boot menu. It can boot in Windows without the USB memory and it can boot in Linux by inserting the USB memory and selecting it as the boot device (typically the BIOS uses some function key for that).