this post was submitted on 23 Sep 2024
100 points (99.0% liked)

Linux

5230 readers
169 users here now

A community for everything relating to the linux operating system

Also check out !linux_memes@programming.dev

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 1 year ago
MODERATORS
top 8 comments
sorted by: hot top controversial new old
[–] qprimed@lemmy.ml 44 points 1 month ago* (last edited 1 month ago)

If you're skeptical that this feat is possible with a raw 4004, you're right: The 4004 itself is far too limited to run Linux directly. Instead, Grinberg created a solution that is equally impressive: an emulator that runs on the 4004 and emulates a MIPS R3000 processor—the architecture used in the DECstation 2100 workstation that Linux was originally ported to. This emulator, along with minimal hardware emulation, allows a stripped-down Debian Linux to boot to a command prompt.

that is 2^8 levels of insane! and of course its Debian.

edit: 4bit data 12bit addressing make it an 8bit processor ; -)

I will slowly corrode on this hill.

[–] gravitas_deficiency@sh.itjust.works 21 points 1 month ago (2 children)

I want to see the neofetch output lol

[–] KickMeElmo@sopuli.xyz 35 points 1 month ago (1 children)

Better go with fastfetch, it might save you a couple days' runtime.

[–] boredsquirrel@slrpnk.net 4 points 1 month ago (1 children)

There is one in rust, not feature comparable but instant

[–] KickMeElmo@sopuli.xyz 2 points 1 month ago

Fastfetch is more feature-complete than neofetch and is quite fast. Not sure what numbers you'd be looking at on hardware that old though.

[–] melroy@kbin.melroy.org 16 points 1 month ago

Here you go:

                   -`
                  .o+`                 user@intel4004
                 `ooo/                 ----------------
                `+oooo:                OS: Arch Linux BCD oriented
               `+oooooo:               Host: Intel 4004 @ 740 KHz
               -+oooooo+:              Kernel: 0.0.1-custom
             `/:-:++oooo+:             Uptime: 3 hours, 12 mins
            `/++++/+++++++:            Packages: 3 (pacman)
           `/++++++++++++++:           Shell: sh 0.5
          `/+++ooooooooooooo/`         CPU: Intel 4004 (4-bit) @ 740 KHz
         ./ooosssso++osssssso+`        Memory: 0.64 KB / 8 KB
        .oossssso-````/ossssss+`       Storage: None (Using Paper Tape)
       -osssssso.      :ssssssso.      GPU: None (Terminal Only)
      :osssssss/        osssso+++.     Display: None (TTY Only)
     /ossssssss/        +ssssooo/-     Network: None (Hand-delivered punch cards)
   `/ossssso+/:-        -:/+osssso+`
  `+sso+:-`                 `.-/+oso:
 `++:.                           `-/+/
 .`                                 `/
[–] pftbest@sh.itjust.works 9 points 1 month ago* (last edited 1 month ago)

Why mips and not RiscV? I would assume it's easier to emulate in software and has good support in linux

EDIT: found it

Some architectures had arbitrarily-shifted operands all the time (ARM), some have shitty addressing modes necessitating that they would be slow (RISCV), some would need more than 4KB to even decode instructions (x86), and some were just too complex to emulate in so little space (PPC).

Could it be the pc relative addressing often used on risc-v would be slow to run on 4004?

[–] ace_garp@lemmy.world 6 points 1 month ago