Live data from Hacker News

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

hackaday.com

41–50 of 62 posts

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

#42

In the '90s I wanted to show a friend the Apple ][ game Robot Odyssey. The only Apple ][ emulators I could find were for Windows. There was a Windows machine in a lab, but it was really awkward to access. However, I had a SPARC on my desk and found a Windows emulator. Running the Apple ][ emulator inside the Windows emulator running on a Sparc I -- it actually ran at about the original speed of the Apple ][. And this…

Sorry, only a 68020 based Sun 3/50.

4 Megs RAM and a b/w console.

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

#43
I hope Sophie Wilson is reading this, as that microcontroller probably isn't far off the BBC Micros that were originally used to prototype the ARM instruction set.

I bet nobody then imagined anyone would emulate un*x on a chip being emulated at such slow speeds.

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

#44
post #32

Earlier quoted context omitted.

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.

The point was more than you can wire the SRAM to the address bus of the CPU with maybe a little GPIO logic for bank switching to expand the address space. The DRAM has to be done over GPIO (my count is 22 data signals) solely, with attention to timings and refresh. And sure, I can see how it's done and announce it's "easy". But I'd be hesitant to try it. So if you've actually done it, bravo. ( edit: Among other thing…

It's a microcontroller with no external bus, so you're bitbanging it either way.

I'm very impressed with his project!

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

#45
The article claim that an MMU and minimum bit width of 32-bit is required for Linux. Wasn't µCLinux rolled back into the official kernel, meaning that with the right configuration the Linux kernel will run on CPUs without an MMU and with bit widths less than 32-bit? Eg. the H8 [1].

Perhaps the author meant to write "Ubuntu", rather than "Linux"?

[1] http://kernel.org/doc/readme/arch-h8300-README

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

#46

In the '90s I wanted to show a friend the Apple ][ game Robot Odyssey. The only Apple ][ emulators I could find were for Windows. There was a Windows machine in a lab, but it was really awkward to access. However, I had a SPARC on my desk and found a Windows emulator. Running the Apple ][ emulator inside the Windows emulator running on a Sparc I -- it actually ran at about the original speed of the Apple ][. And this…

qemu will do a SparcStation 5 or 10. http://www.aurel32.net/info/debian_sparc_qemu.php

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

#47

Earlier quoted context omitted.

Theoretically you could boot X without a hardware framebuffer emulator. X supports rendering to normal RAM as well (for example, for VNC connections).

Actually, if you go read my source code, you'll see that the emulator DOES in fact emulate a framebuffer. In fact I even have code in place to output the image. I just didn't connect a graphical LCD to this particular built. It is, however, supported.

Seriously, amazing ridiculous work. Kudos.

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

#48

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…

I love stuff like this. If only there was an easy way to make 'GUI' programs Flash/Java might have competition.

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

#49
post #48

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…

I love stuff like this. If only there was an easy way to make 'GUI' programs Flash/Java might have competition.

Working on it...

The LatticeMico32 toolchain (gcc, gdb, ar, ld) is very bad, seriously... I'm thinking of doing a MIPS or ARM emulator, just because the toolchains are so much better to work with.

Anyways, I do have a framebuffer demo that runs at a very decent frame rate on my machine (at this moment it is Chrome only and I unfortunately don't have the binaries for the demo on github). But this is not on Linux, it's on a barebones newlib environment (no Operating System).

Writing a mouse interface is trivial, the only reason I haven't done it yet is I'm thinking if it is worth to continue investing on the LatticeMico32 architecture, as the toolchain makes me want to pull my hair out.

Besides running Linux, the emulated system also runs RTEMS (actually it runs anything as long as you can get the toolchain to produce working binaries), and it might be easier to get an RTEMS system running with a simple graphical environment, but then there wouldn't be man y libraries do choose from.

So that's the status. I believe we are on the verge of having a viable option for making "GUI" programs on a canvas screen. If I were to work full time on it, I could pull a prototype off in about a month or two (literally), maybe a little less as this thing is so addictive I would easily work 16h days on it if I could.

IMHO, the ideal thing would be having an easy to use environment with a mature toolkit on it (I was thinking Qt) and let the user choose the language of choice to develop in. Possible choices would be C, Python, Ruby and Lua, which are fairly easy to have on the web.

Technically, it can be done, I just don't know if there would be enough interest, and how to have a sustainable business model around this idea. What do you think?

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

#50

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…

Wow. Contrary to my expectations, this picked up some interest. A lot of people actually visited my demo.

As I don't want to kidnap this thread, which is about an awesome feat of hackery by dmitrygr, I submitted one about jslm32: http://news.ycombinator.com/item?id=3769498

I'll check the jslm32-specific thread sporadically to answer any questions.

Post reply on HN