this post was submitted on 20 Sep 2024
193 points (98.5% liked)

Linux

47946 readers
1920 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

top 14 comments
sorted by: hot top controversial new old
[–] [email protected] 20 points 1 month ago* (last edited 1 month ago) (1 children)

Since it's a wall art project, now get it to run Minecraft and run a redstone computer on it.

[–] [email protected] 12 points 1 month ago (1 children)

Now emulate the 4004 logic design in redstone on the 4004

[–] [email protected] 7 points 1 month ago

And then this thing on top of that, again. Over and over.

[–] [email protected] 15 points 1 month ago (1 children)

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

[–] [email protected] 21 points 1 month ago (1 children)

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.

[–] [email protected] 13 points 1 month 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.

[–] [email protected] 12 points 1 month ago (1 children)

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!

[–] [email protected] 40 points 1 month ago (1 children)

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.

[–] [email protected] 27 points 1 month ago (1 children)

This is the whole idea behind Turing-completeness, isn't it? Any Turing-complete architecture can simulate any other.

Reminds me of https://xkcd.com/505/

[–] [email protected] 4 points 1 month ago

Any time I see an article about someone doing things with Redstone circuits, I think about that comic.

[–] [email protected] 8 points 1 month ago
[–] [email protected] 3 points 1 month ago (1 children)
[–] LeFantome 1 points 1 month ago

If it is “full Linux” then the answer is clearly yes. Not very fast I suppose.

[–] LeFantome 2 points 1 month ago

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