3 ms·
> Linux kernel on its own doesn't run software. Linux runs /sbin/init. Which you can make any executable you want. Not to mention initial RAMdisk (loaded by
by RetroTechie 3y ago
> Linux kernel on its own doesn't run software.
Linux runs /sbin/init.
Which you can make any executable you want.
Not to mention initial RAMdisk (loaded by a bootloader like grub) which can be of arbitrary size & loaded up with an arbitrary ton of goodness.
- pjmlp 3y agoYeah, which is quite far from a full OS experience providing ABI compatibility across several generations of operating systems.
- RetroTechie 3y agoLinux (kernel) has a userland ABI of its own. Which is pretty stable & rarely broken (Linus will probably breath fire @ any kernel developer who does break user space). So eg. 10y old statically compiled binaries will likely run fine on recent kernels. But as you state: it's the OS-level ABI's (C library, desktop environments, middleware libraries, etc) that keep changing constantly. And thus, keep breaking pre-compiled binaries. Source-level API vs. binary ABI stability. Kind of a philosophical debate imho. But sadly, even that source-level API isn't too stable in some circles.