Live data from Hacker News

Building the worst Linux PC ever: 6 hours to boot Ubuntu

hackaday.com

21–30 of 62 posts

Re: Building the worst Linux PC ever: 6 hours to boot Ubuntu

#21
post #9

The linked blog post misses the interesting bits. Yes, it boots Ubuntu (slowly) via an ARM emulator written for AVR. That's just software. What struck me is that he wrote a controller for an 8 bit FPM DRAM bus instead of just using a big SRAM. That's surprising, and not at all trivial to do over a bunch of GPIO pins.

Would love a more extended explanation of what this means and why it's surprising, for a this software geek who dabbles in hardware.

Re: Building the worst Linux PC ever: 6 hours to boot Ubuntu

#22
post #9

The linked blog post misses the interesting bits. Yes, it boots Ubuntu (slowly) via an ARM emulator written for AVR. That's just software. What struck me is that he wrote a controller for an 8 bit FPM DRAM bus instead of just using a big SRAM. That's surprising, and not at all trivial to do over a bunch of GPIO pins.

It can't be that hard; I once bitbanged a 30 pin SIMM on a PIC with an interrupt to trigger the refresh.

The 30 pin SIMM is 16MB and easy to wire (0.1" pitch). 16 MB of SRAM is probably going to be TSOP or worse, and probably in multiple packages. The multiplexed DRAM bus would also help with the pin count, but it's not clear to me that was a concern.

Re: Building the worst Linux PC ever: 6 hours to boot Ubuntu

#24
post #9

The linked blog post misses the interesting bits. Yes, it boots Ubuntu (slowly) via an ARM emulator written for AVR. That's just software. What struck me is that he wrote a controller for an 8 bit FPM DRAM bus instead of just using a big SRAM. That's surprising, and not at all trivial to do over a bunch of GPIO pins.

Would love a more extended explanation of what this means and why it's surprising, for a this software geek who dabbles in hardware.

You have to periodically refresh DRAM. That's what the dynamic means in DRAM. If you don't, the memory will "forget" what it's holding. This is because the memory cell is essentially a capacitor.

SRAM would be easier because it's set and forget. It needs a more complex internal circuit, and therefore more expensive.

Re: Building the worst Linux PC ever: 6 hours to boot Ubuntu

#25

These crazy projects are the most fun. As Richard Feynman notoriously said: "What I cannot create, I do not understand". shameless plug below: Last year, inspired by Bellard's jslinux, I too wrote an emulator that can run Linux on the browser. Only I was lazy and emulated the vastly easier LatticeMico32 processor. Anyways, the result was very intellectually satisfying. After writing the interpreter, I went ahead and…

It would be great if you could write that post! Wonderful project!

Re: Building the worst Linux PC ever: 6 hours to boot Ubuntu

#26
post #17

Impressive. And now I'm wondering if a Minecraft inside Minecraft would actually be realizable. As 8bit CPUs have already been made (altough with unknown architecture), it is a bit less crazy to imagine running linux with a java stack on it. It will be hellish slow and you probably need some sort of "hardware" graphic acceleration. And a lot more memory than the current versions. But hey, running Minecraft in Minecra…

Normally, Minecraft logic requires some time in-game to execute, but last year (IIRC) someone was able to invent "instant" logic gates and transmission wires, by exploiting some unusual interaction between pistons and the block-update rules. They're quite bulky, but they do get the job done of achieving FTL communication and supertask computation ;).

With an optimizing compiler to take advantage of these, it might not be unrealistic to implement Minecraft in Minecraft. The real-time speed would only be limited by the real hardware, not by the Minecraft hardware.

Re: Building the worst Linux PC ever: 6 hours to boot Ubuntu

#27
Linux is generally considered the go-to OS for under powered computers

"Under-powered" is a moving target. It seems to apply best to computers that don't quite meet the specs of the current Windows, or perform very poorly with it. Anything without a prayer of running WinXP is much worse than under-powered, and modern Linux is a poor choice. An old linux2.4 distro would be a good option, or my personal favorite for truly pathetic hardware, OpenBSD.

[Dmitry] threw an antique 30-pin RAM SIMM at the problem. It’s wired up directly to the microcontroller...

Whoa. You can do that? I mean, it makes complete sense, but it never occurred to me... suddenly I might have a use for all those old free RAM sticks.

Re: Building the worst Linux PC ever: 6 hours to boot Ubuntu

#28

These crazy projects are the most fun. As Richard Feynman notoriously said: "What I cannot create, I do not understand". shameless plug below: Last year, inspired by Bellard's jslinux, I too wrote an emulator that can run Linux on the browser. Only I was lazy and emulated the vastly easier LatticeMico32 processor. Anyways, the result was very intellectually satisfying. After writing the interpreter, I went ahead and…

> If anyone is interested in this stuff, just ask and I'll write a post describing what I did to take boot time from 2.5 minutes to 10 seconds.

Yes please. Optimisation war stories are always interesting.

Post reply on HN