| ▲ | EGreg 7 days ago |
| OS isnt the hard part. The driver ecosystem is the moat. Linux finally overcame it decades later |
|
| ▲ | bri3d 7 days ago | parent | next [-] |
| Android built a new, giant moat for Linux (or "Linux" depending on your opinions about Android) in the embedded application processor space - now the "standard" board support package target for new embedded AP hardware is almost always some random point-in-time snapshot of Android. Running "mainline" Linux is hard (because the GPU and media peripheral drivers are usually half-userspace Android flavored stuff and rely on ION and other Androidisms) and bare-metal is even worse (where previously, you'd get register-level documentation, now, you get some Android libXYZ.so library). |
| |
| ▲ | izacus 6 days ago | parent [-] | | I don't remember there being any time in history where you got "register-level documentation". Those boards were always accompanied by horrific binary blobs glued to a kernel form a stone age. Or Windows. |
|
|
| ▲ | saulpw 7 days ago | parent | prev [-] |
| Yeah, the Linux kernel has ~12m lines of code. <1m are the core, the rest are drivers. |
| |
| ▲ | CodeArtisan 7 days ago | parent | next [-] | | 29 Millions according to https://www.phoronix.com/news/Linux-6.16-AMDGPU-Driver-Size 5 Millions alone for the AMD graphic driver. | | |
| ▲ | treyd 7 days ago | parent [-] | | Much of that 5M are hardware register definitions expanded into C headers. I am not sure how you'd consolidate that but it's not like that's all bespoke C code. |
| |
| ▲ | ForHackernews 7 days ago | parent | prev [-] | | What an inefficient disaster to carry around all those drivers to run hardware that isn't on the device you're running on. | | |
| ▲ | ch33zer 7 days ago | parent | next [-] | | * The vast majority aren't compiled into any given kernel * Those that are are only loaded when needed It's not that bad | |
| ▲ | RJIb8RBYxzAMX9u 7 days ago | parent | prev | next [-] | | I sympathize, but the reality is that except for very specialized cases, (hyper) optimizing for CPU performance is unnecessary, even in the embedded space. A Cortex-M0 has roughly the same performance as a 486, and is cheap and power efficient enough to be bundled in disposable test kits, vapes, etc. | |
| ▲ | wmf 7 days ago | parent | prev | next [-] | | It's modular so you don't have to compile drivers you don't need. | |
| ▲ | beeflet 7 days ago | parent | prev [-] | | Most of it is in modules that don't have to be compiled at all (and usually aren't) |
|
|