• MajorHavoc@programming.dev
    link
    fedilink
    arrow-up
    27
    ·
    edit-2
    3 months ago

    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.

    • uis@lemm.ee
      link
      fedilink
      arrow-up
      7
      ·
      3 months 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.

    • leisesprecher@feddit.org
      link
      fedilink
      arrow-up
      5
      ·
      3 months ago

      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
        link
        fedilink
        arrow-up
        8
        arrow-down
        1
        ·
        edit-2
        3 months ago

        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@feddit.org
          link
          fedilink
          arrow-up
          3
          ·
          3 months 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).