TL;DR

I booted Debian Linux on a 4-bit intel microprocessor from 1971 - the first microprocessor in the world - the 4004. It is not fast, but it is a real Linux kernel with a Debian rootfs on a real board whose only CPU is a real intel 4004 from the 1970s. The video is sped up at variable rates to demonstrate this without boring you. The clock and calendar in the video are accurate. A constant-rate video is linked below.

  • sugartits@lemmy.world
    link
    fedilink
    arrow-up
    16
    arrow-down
    2
    ·
    3 months ago

    If it’s the first one when why the fuck is it called the 4004 and not just the 1?!

    • PLS_HELP@fedia.io
      link
      fedilink
      arrow-up
      21
      ·
      3 months ago

      That’s a really good question and I had to know, the answer is kinda neat:

      Intel’s chip-naming scheme at that time used a four-digit number for each component. The first digit indicated the process technology used, the second digit indicated the generic function, and the last two digits specified the sequential number in the development of that component type. Using this convention, the chips would have been known as the 1302, 1105, 1507, and 1202. Faggin felt this would obscure the fact that they formed a coherent set, and decided to name them as the “4000 family”.[24] The four chips were the following: the Intel 4001, a 256-byte 4-bit ROM; the Intel 4002, DRAM with four 20-nibble registers (total size 40 bytes); the Intel 4003, an I/O chip comprising a 10-bit static shift register with serial and parallel outputs; and the Intel 4004 CPU.

      Why they jumped to 4000 from 1000 tho, I didn’t see.

      • 𝕸𝖔𝖘𝖘@infosec.pub
        link
        fedilink
        English
        arrow-up
        13
        ·
        3 months ago

        If I may venture a guess:

        There are four of these chips (1302, 1105, 1507, 1202). Someone, trying to speed-talk, referred to them as the “four thousand-series chips” (instead of the “four, one-thousand-series chips”), and someone misheard or misunderstood that as the “4000-series chips”. After several levels of this telephone game, marketing got involved, and they were just renamed into the 4000 series instead of redoing the marketing documents.

        Just a guess.

  • grue@lemmy.world
    link
    fedilink
    English
    arrow-up
    14
    arrow-down
    1
    ·
    3 months ago

    How is it “full Linux” when Linux has always required an integrated MMU (which is why it’s never supported anything less than a 386)? I mean, yes, you can modify it to run on more primitive chips at the expense of having proper virtual memory support, but if you do that I don’t think it counts as “full Linux” anymore!

    • CalcProgrammer1@lemmy.ml
      link
      fedilink
      arrow-up
      40
      ·
      3 months ago

      If you read the article, it is indeed full Linux because the 4004 is running a MIPS emulator that provides the necessary memory management features. Pretty much all of the “run Linux on some old chip incapable of running Linux” projects achieve it via emulating a more featured architecture that Linux supports, not by somehow compiling Linux to natively run on a 4 bit, MMU-less architecture.

  • LeFantome@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    3 months ago

    At first I was not very impressed. Then I read that that 4004 does not have any AND, OR, or XOR instructions. Yikes.