[Disclaimer: This guy just wants to know things. Ultra noob incoming.]
When I was updating Fedora 34, I saw linux-firmware package being rolled out as noarch architecture instead of x86_64 unlike what I used to see in Ubuntu. Is this normal?
Does it make no difference whether if the package is supplied in noarch or based on architecture?
ELI5! Does Ubuntu have some sort of upper hand in supplying packages with the right architecture?
Second question
Is it possible that I’m getting firmware updates of that hardware which I don’t even have in my machine? To what degree, Fedora “recognizes” the user hardware components to avoid supplying firmware which is pointless and can create problems? Because I’m seeing a long list of firmware updates, I doubt if they will be any useful for me or not.
Yes, Linux generally ships with a lot of drivers, even for hardware that you don’t have installed on your machine. It doesn’t matter because the modules are only loaded once you need them. THe advantage is you can turn off your machine, swap out a lot of hardware, turn on the machine and it will just work, because the kernel has all the drivers locally.
Example: Swap your ethernet and wifi card and you can still go online without doing anything (provided it’s not some weird Broadcom card that requires special drivers)
If a package’s content is not architecture dependent, they are built as noarch, i.e. programs written in scripting languages like Bash, Perl, Python… Since firmware is loaded into its corresponding device while booting (i.e. Wi-Fi and Ethernet cards) and does not run on the CPU, they are architecture independent and built as a noarch package as well.
Installing the firmware does not use memory. It uses (a small amount of) drive storage space. If used the firmware is loaded but not unless the hardware needing it is available.