Originally posted by ssokolow
View Post
Announcement
Collapse
No announcement yet.
Punting GPU Drivers From The Initramfs Due To Ever Increasing Firmware Bloat
Collapse
X
-
Originally posted by Weasel View Postsystemd-boot uses UEFI APIs, doesn't provide its own drivers, so that's a good point and I love it as well, how simple it is.
Of course, UEFI knows how to boot and access your disk, else it wouldn't boot at all. It also knows how to use keyboard input and mouse, else your BIOS input wouldn't work at all. It also knows how to render basic stuff on screen, else you'd have no display in the BIOS. So why not make use of this? I don't get why Linux doesn't. See my post above.
that being said, i would prefer just the essential drivers to be included in the ramdisk - to mount the rootfs.
if special drivers / userspace tools are needed they should be on their own partition - and ramdisk only needs to mount *that* partition.
- Likes 1
Comment
-
Originally posted by mdedetrich View Post
And thats because the Linux kernel doesn't have a stable ABI in the first place, similar with explicit sync it might end up becoming a reality due to how increasingly problematic its becoming.
It's interesting how Intel and AMD don't have this problem.
- Likes 6
Comment
-
Originally posted by ssokolow View PostIt's still commonplace for installers to create 512MiB EFI system partitions with an on-disk partition ordering that makes it maximally inconvenient to grow them.
Originally posted by Luke View PostNo need for graphics drivers in the initramfs.
Originally posted by Weasel View PostThe kernel then has no idea of the device it booted from, unless told.
Originally posted by oiaohm View PostThen you have the signing requirements for secureboot pushed by Microsoft and others this is minor.
Originally posted by ahrs View PostIt's interesting how Intel and AMD don't have this problem.
With AMD GPUs they also have firmware versions but instead of a proper versioning scheme they use kinda wacky naming. They use capital letter filenames for the older firmware and small letter filenames for the newer one, and new firmware versions replace the older ones. Sometimes they append a "2" when there are incompatible changes. But sometimes there are incompatible changes and they don't append or increase the "2", which causes older kernel radeon/amdgpu driver to not work with newer linux-firmware. Plus this scheme prevents linux-firmware from residing on case insensitive filesystems.
I asked agd5f and linux-firmware maintainers to do proper versioning like Intel, a few years back when this scheme was still in prerelease kernels. But this request was rejected, and now it is forever enshrined in kernel and firmware repositories.
- Likes 3
Comment
-
Originally posted by chithanh View PostWith AMD GPUs they also have firmware versions but instead of a proper versioning scheme they use kinda wacky naming. They use capital letter filenames for the older firmware and small letter filenames for the newer one, and new firmware versions replace the older ones. Sometimes they append a "2" when there are incompatible changes. But sometimes there are incompatible changes and they don't append or increase the "2", which causes older kernel radeon/amdgpu driver to not work with newer linux-firmware. Plus this scheme prevents linux-firmware from residing on case insensitive filesystems.
I asked agd5f and linux-firmware maintainers to do proper versioning like Intel, a few years back when this scheme was still in prerelease kernels. But this request was rejected, and now it is forever enshrined in kernel and firmware repositories.
- Likes 3
Comment
-
Originally posted by chithanh View PostSecure boot is a solved problem (except on Apple T2 Macs). If you install out-of-tree (e.g. proprietary) drivers then Fedora, Ubuntu and others will offer to generate signing keys for you, and sign the modules automatically.
Comment
-
Originally posted by mdedetrich View Post
And thats because the Linux kernel doesn't have a stable ABI in the first place, similar with explicit sync it might end up becoming a reality due to how increasingly problematic its becoming.
(Ask me how I know.)
- Likes 2
Comment
-
Originally posted by Weasel View PostThe thing is, what I do not understand is why doesn't the kernel fallback to UEFI APIs to do this during initramfs? UEFI provides ways to render basic text on screen, get input (including from USB HID), and access drives including the one you boot from, that's how the bootloader works. UEFI is a mini OS.
But no, Linux instead has to load its own drivers for it, for everything. Including HID and everything. WTF?
The older UEFI motherboards(first to 3 generation/first 3 years of UEFI existence) makes sense to take over everything as soon as possible because before you have even mounted the root partition the UEFI services providing display/input and so on have gone away with way too high of a percentage of users effected. Newer UEFI you can depend on it provided services for longer. Those who attempt to keep a system running just using simple DRM in the linux kernel using the UEFI provided frame-buffer interface still find out that many modern motherboards this works for about 15 to 20 mins before going splat so not a infinity amount of time you can depend on the UEFI provided services. The old bios vesa graphics interfaces were way more stable.
Weasel basically this is a rock and hard place. You want to support every possible UEFI motherboard in existence you have to-do it the way the Linux kernel has been doing it with the cost of expanding image to laod. The trouble making motherboards have dropped under 0.01% of the motherboard in use.. There is going to be some effected user swapping to simpledrm sysfb-simplefb for early boot due to the fact Linux users have habits of operating 10+ year old hardware at times but the benefit the the majority most likely should win out at the point on reduced boot time with custom initramfs and sometimes custom kernels for those who are still using those old systems.
- Likes 3
Comment
-
Originally posted by CommunityMember View Post
Some boot loaders support an XBOOTLDR partition to provide a place for larger images if you can't just (re)create the ESP somewhere else on the disk (the ESP typically does not need to be the first partition).
- Likes 2
Comment
Comment