I don’t have a confirmed case of Linux running without a traditional CPU, but I wouldn’t bet $20.00 against it existing
There’s plenty of devices out there that do some kind of computation and don’t have anything we would recognize at a traditional CPU. Such devices are becoming rare, because CPUs are so dang cheap, now.
Most of those run binary compiled from custom C code or even directly from Assembly.
But, if someone was going to run an alternative program on one of those devices, there’s a very good chance they would install Linux (heavily customized) on it first.
Source: I’ve completed parts of Linux from Scratch. It was eye opening to realize the places that a true Linux expert could get it to run. Every single part of Linux is truly optional, to someone who knows that they’re doing.
Those are still CPUs. Microcontrollers have CPUs, and those are the smallest units that can actually run code in a meaningful way.
If the whole board is the CPU, we typically don’t call it a CPU. (The C is for Central.) There’s very few left, but there’s still hardware out there, running code, that could be called CPU-less.
I do take your point that it’s down to pendantic wording, at that point. Something very like a CPU, that most of us are going to just call a CPU, is going to be present.
However, Linux needs an MMU as far as I know, so you won’t see Ubuntu boot on an esp32, even though it does have a CPU.
Yeah. There’s certainly an argument to be made that whatever is left is not really the Linux Kernel anymore, after modifying it enough to run CPU-free. But I suppose it’s still more fair to call it Linux, than not to, at that point.
Microcontrollers aren’t “the whole board”, following that definition, an SoC wouldn’t have a CPU either.
MCs require support components. Clocks, power converters, level shifters, modem, etc. You’ll hardly wire a barrel plug and a servo directly to a DIP (though that would be pretty cool).
Good. Because if Linux can run on RV32I, then it can run on this.
Every single part of Linux is truly optional, to someone who knows that they’re doing.
Today for shits and giggles I ran Xonotic as init process. It had trouble with hardware acceleration, so I ran simple bash script that mounted /proc and /sys and then launched xonotic instead.
It’s a joke… Probably.
I don’t have a confirmed case of Linux running without a traditional CPU, but I wouldn’t bet $20.00 against it existing
There’s plenty of devices out there that do some kind of computation and don’t have anything we would recognize at a traditional CPU. Such devices are becoming rare, because CPUs are so dang cheap, now.
Most of those run binary compiled from custom C code or even directly from Assembly.
But, if someone was going to run an alternative program on one of those devices, there’s a very good chance they would install Linux (heavily customized) on it first.
Source: I’ve completed parts of Linux from Scratch. It was eye opening to realize the places that a true Linux expert could get it to run. Every single part of Linux is truly optional, to someone who knows that they’re doing.
Those are still CPUs. Microcontrollers have CPUs, and those are the smallest units that can actually run code in a meaningful way.
However, Linux needs an MMU as far as I know, so you won’t see Ubuntu boot on an esp32, even though it does have a CPU.
If the whole board is the CPU, we typically don’t call it a CPU. (The C is for Central.) There’s very few left, but there’s still hardware out there, running code, that could be called CPU-less.
I do take your point that it’s down to pendantic wording, at that point. Something very like a CPU, that most of us are going to just call a CPU, is going to be present.
Yeah. There’s certainly an argument to be made that whatever is left is not really the Linux Kernel anymore, after modifying it enough to run CPU-free. But I suppose it’s still more fair to call it Linux, than not to, at that point.
Microcontrollers aren’t “the whole board”, following that definition, an SoC wouldn’t have a CPU either.
MCs require support components. Clocks, power converters, level shifters, modem, etc. You’ll hardly wire a barrel plug and a servo directly to a DIP (though that would be pretty cool).
MMU (optional)
Good. Because if Linux can run on RV32I, then it can run on this.
Today for shits and giggles I ran Xonotic as init process. It had trouble with hardware acceleration, so I ran simple bash script that mounted /proc and /sys and then launched xonotic instead.