this post was submitted on 04 Aug 2024
647 points (96.5% liked)

linuxmemes

20741 readers
854 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] MajorHavoc@programming.dev 39 points 1 month ago* (last edited 1 month ago) (2 children)

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.

[–] leisesprecher 11 points 1 month ago (2 children)

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.

[–] MajorHavoc@programming.dev 16 points 1 month ago* (last edited 1 month ago) (1 children)

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.

[–] leisesprecher 7 points 1 month ago

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).

[–] uis@lemm.ee 4 points 1 month ago

MMU (optional)

[–] uis@lemm.ee 10 points 1 month ago

but I wouldn't bet $20.00 against it existing

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.