Contiki Ported To x86
lt writes "The ultra-small Contiki OS has now been ported to the x86. This should give those of you who have an old x86 PC that is too small to run even the smallest of Linux variants, a chance to browse the web, set up a web server, and doing other essential stuff. If you're curious to see how it looks, there is a live VNC demo running."
Bill Gates sells as many shares of MSFT as he can.
"If you're curious to see how it looks, there is a live VNC demo running."
Not anymore!
Maybe I should try and port this thing to my old MSX as well, who knows, it might even work :)
As for old x86 systems, 19K2 modems didn't even properly work with those, so it's going to be fun to have internet with those things *smirk*
Coz eternity my friend, is a long *ing time.
This should run like the clappers on my old 486/25sx.
Stick Men
I have to say that running VNC on an 8bit computer is amazing. I would have looked at the screenshots, but actually playing around is so much more fun! It makes me want a C64 or old intel computer to run this on :) Does anyone know how to enter an arbitrary URI though, I couldn't do it.
:) Oh well, this will be the first article to ever slashdot a VNC server, I think.
On another note, for those who thought VNC over 100BaseT was slow, it's even slower when running at 3KiB/s
My other car is first.
Some info before it gets toasted
The web pages you are watching are served by a web server running under the Contiki operating system on an an Ethernut embedded Ethernet board, which consists of a 14 MHz AVR Atmega128 microcontroller with 32 kilobytes of RAM and 128 kilobytes of flash ROM, and a RealTek RTL8019AS Ethernet chip.
Local Remote State Retransmissions Timer Flags 80 210.214.211.245:1166 FIN-WAIT-2 0 91 80 210.49.61.249:4000 ESTABLISHED 0 3 80 216.15.124.126:61657 FIN-WAIT-2 0 25 80 209.210.4.252:54730 ESTABLISHED 0 1 * 80 200.164.245.202:33548 ESTABLISHED 0 3 * 80 216.15.124.126:61654 FIN-WAIT-2 0 21 80 217.72.69.144:1077 SYN-RCVD 0 3 * 80 208.191.17.177:1937 ESTABLISHED 0 3 * 80 172.137.24.29:3071 SYN-RCVD 6 43 * 80 208.19.133.132:38209 ESTABLISHED 0 1 * 80 192.35.35.35:35197 ESTABLISHED 0 3 * 80 66.32.100.20:57348 ESTABLISHED 0 1 * 80 160.36.251.198:56226 FIN-WAIT-2 0 4 80 160.36.251.198:56225 ESTABLISHED 0 3 * 80 160.39.180.236:53790 FIN-WAIT-2 0 36 5900 67.82.242.97:27960 ESTABLISHED 0 3 * 80 200.164.245.202:33549 ESTABLISHED 0 2 *
I can't seem to access that remote-vnc demo thing...
the smallest os for the weakest puniest computers still in existence goes live.
click on this vnc link here to blow to smithereens.
intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
Why don't you go ahead and say, "There was a live vnc running", or maybe "or maybe there might be a live vnc running in the distant future" but never say "there is a live vnc running..."
Do not meddle in the affairs of sysadmins, for they are subtle, and quick to anger.
Luckily, I captured the whole session:
. ..
c:\>cd win31
c:\win31>del
Are you nuts? (y/N)
253 files deleted. Hope you know what you're doing.
c:\win31>cd
c:\>rd win31
c:\>cd contiki
c:\contiki>run_cont
Error: please load DPMI first
c:\contiki>type help.txt
Because all mysery and no fun makes the world a dull place.
Stick Men
Chaos, panic, disorder...my work here is done.
Thor Heyerdahl doesn't slap him with a patent suit.
"And this is my boy, Sherman. Speak, Sherman." "Hello." "Good boy."
This just in!
14 MHz web server Slashdotted! Oh the humanity!
What kind of sick bastard would slashdot a VNC connection? It's bad enough when you do it to an image file server or a site with a video or ISO, but a VNC CONNECTION on a computer that is too low powered for even Linux? What is wrong with you people?
I've got a great idea! Let's port Contiki to a Turing Machine so it can browse the web, set up a web server, and doing other essential stuff. That will make porting it to other Turinig Complete platforms a piece of cake! :-)
Here's a link to a screenshot of an old /. entry about said OS. It would've been cool if the "live" VNC shot was of this slashdot discussion, eh?
Kudos to Adam Dunkels for pushing the envelope of 8-bit computing. Many people will say "whats' the point of this." or "This has no application whatsoever and is a waste of time." but I disagree. Adam is making software and designing methods of programming to run internet based programs on chips and systems that where never designed for it, like the Atari Jaguar the Atari 8-bit console not to mention the C64. This work will allow others to get the motivation to push the envelope in other areas of computing as well.
It seems Adam has what was once prevailant in the computing and electronics industry. Tinkering and programming for the sheer joy of creating something new. In this way, programming and building systems like this are very similar to creating a piece of art, contrary to public opinion and modern developments in computing. Keep up the good work Adam. You are an inspriation to hobbyists in all fields.
MMORPG fan-boy? Prove your worth
Besides the nostalgia/geek factor of running a web browser on your C64 (which I've been doing for years, well cheating by using the 64 as a dumb terminal and running lynx)
Maybe a Contiki based PDA? Contiki based email stations? Seems you could make such things dirt cheap using this as the OS.
I don't need no instructions to know how to rock!!!!
...in Contiki, tiki, tiki, tiki, tiki room!
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
Hah, apparently this didn't stop the Geoworks people from pulling off a fully preemptive OS on the lowly 8088.
Have you got your LWN subscription yet?
wow that OS kinda looks like a page full of characters.. oh wait
poor little server
{meanwhile, somewhere else in the worl)
wow, we have a link on slashdot!
QUICK, WHO WANTS TO ROAST SOME MARSHMALLOWS!
Linux: Helping nerds look smarter since the late 90s.
in one of those moments of painful geekyness, reading about the Z80 based port made me think of my old TI calcs...if it runs on the other systems mentioned, those would be plenty.
I knew there was a good reason to save all those dino's.. Now I can add my CoCo's collection of working PC's! I think I'll set it up right next to my 5160 XT... /Now where's that extended disk rom basic cart??/
Hmm, and with a StarLAN to 10baseT router, I could get the resulting beastie on the net. Hmm....
nice to see that the idiots that dont know crap about computers are the ones who are panning this.
Thanks for showing us that you are a complete idiot. We can now ignore everything you say as you have proven to usthat your are one of the morons.
Nice to see that idiots who don't know crap about people who post aren't afraid to show their ignorance.
I know it's cool to elevate legacy hardware so that they can do things thought impossible. It was just a joke that I posted tongue-in-cheek.
Jackass...
That thing is doing better than most servers that get slashdotted. Hooray for the return of efficient code!
who's first thought was to try and install this OS on a 3gz system with like a gig of ram?
Famous Last Words: "hmm...wikipedia says it's edible"
http://www.eznos.org
Here's an XT running EZNOS.. there's also other 8088/87 projects, a 386 and other stuff.. neat.
Also, a web server running on the original IBM PC.
I've been wating to get these people slashdotted ;)...
...a beowulf cluster of these!
Just like old times... slow computers, and bad beowulf jokes...
Bear in mind the first web servers in the early days of the web were probably running on something of a similar CPU power to a 386.
added to bookmarks.
I've got a mint condition ZX80 that I want to run a webserver on. Man, all my hopes and dreams dashed to hell.
Oh well, the CoCo will handle it though, all is not lost!
This should give those of you who have an old x86 PC that is too small to run even the smallest of Linux variants, a chance to browse the web, set up a web server, and doing other essential stuff.
If you have an old pre-386 machine around, why not run Minix? That should make a far more useful machine.
Actually, it can take 1 hit at a time. There's no multitasking. This is probably why Contiki servers in the past haven't melted when they get a mention on Slashdot like the C64 server.. if it is already serving a page you wait until it is free... can't really overload it.
Neat but seriously how useful? Sure it runs on hardware you use for coasters and cut up for keychains and made clocks out of. What Linux distro is similar to Contiki? Mini-Distros are pretty good but still not perfect. Is there a distro for example like RedHat, Gentoo, Suse that runs on a 486 with superior performance and uses virtual no resources like Contiki? I've kicked around the idea of putting one of my computers back into my car. It's a celeron 500 bookpc. I setup gentoo on it and it performs pretty good but what REAL available distros are available?
Licence fees my arse!
I'm still running a 2.2 kernel. So kindly make the effort to imagine an ASCII art finger being rasised in your general direction.
If you'd like to do something more useful with an older system, check out GEOS. It's currently being maintained by Breadbox, who has a demo available for download. Full preemptive multitasking. Comes with a web browser (HTML 4.0, no CSS or JS), email (POP3), AIM, FTP, News Reader, and a roughly MS Works level office suite. More software is available from it at Tva Katter.
Older versions would run on an 8086 (one of the original design goals was that the WYSIWYG word processor could keep up with your typing on an 8086). The current version requires a 386. 2 megs of RAM should be fine for most things (even 1 will work ok), although you'd probably want at least 4 or 8 megs for browsing the web.
Where are the benchmarks?
But you're still an idiot.
Have a nice day.
. . . somewhere out there, someone is going to not realize that the parent is a form rant. ;) Fortunately, nobody uses Contiki, so there should be no counterflames.
Silicone is for making tits bigger and keeping water in the tub.
Silicon is what chips are made of.
Let me guess, I should check out Linux from Scratch? ;)
Is it that different from Gentoo?
If you're gonna bother to do it, at least take a little time to do it right. Negative karma for you, not for perpetuating this post, but for doing a shoddy job. Whatever happened to pride in ones trolling?
Have Fun! with this. Personally, us non-german types like to know whats going on. The OS is pretty sweet, but the x86 Port really is lacking in everything that some of the others have, But It'll still work on my 80286 lying around in the basement ;)
Maniac McGrath
Haven't we abused this poor machine enough. Just several weeks ago it was the victim of a slashdotting. Now once again the moderators seek to wipe it's presence from the net.
Silly embeded computer, web serving is for servers.
Whoever said this has to do with old computers?! How about getting this running on a PIC? Having a wristwatch (a SMALL one!) or a grad ring act as a web server or some real functional computer would be really cool.
I've been meaning to put GNU/Linux on my old 486'er with 8 MB RAM (which is too little for most distros), but now I'm going to check Contiki out.
:-)
I think I'll dig up my old C64 too, how cool to run a free OS on that
I've been searching for an internet-enabled light OS like this for my laptop, which is just shy of being able to boot any Linux distributions. Does anyone know how difficult it will be to get it to support my PCMCIA network card?
this has some good info, serious. it shows how many connections it was surviving, and the specs. jeez ppl
I just wanted to remind you all, that no OS is anything more than a toy unless Doom is ported to it. Come back when you can play Doom on a C64 over a VNC connection.
So if it'll run on a C64, will it run on a 1541 disk drive? A GUI would obviously be out, but the processor is essentially the same as the C64 (6502 vs 6510), and it would be amusing to have a web server running on a floppy drive.
Where can I find it?
MMORPG Master? Prove Your Worth
MAN! Everybody's suing these days. Old ladies who pour scalding coffee on their crotches, smokers, gun nuts, now DEAD anthropologists? Where will the madness end?
Easiest....Slashdotting....Ever.
$ vncviewer -bgr233 contiki-demo.sics.se:0
VNC server supports protocol version 3.3 (viewer 3.3)
No authentication needed
Desktop name "uVNC"
Connected to VNC server, using protocol version 3.3
VNC server default format:
8 bits per pixel.
True colour: max red 7 green 7 blue 3, shift red 0 green 3 blue 6
Warning: Cannot convert string "-*-helvetica-bold-r-*-*-16-*-*-*-*-*-*-*"
to type FontStruct
Warning: Missing charsets in String to FontSet conversion
Warning: Unable to load any usable fontset
Using default colormap and translating from BGR233. Pixel format:
8 bits per pixel.
True colour: max red 7 green 7 blue 3, shift red 0 green 3 blue 6
Got 256 exact BGR233 colours out of 256
vncviewer: read: Connection reset by peer
$ vncviewer -bgr233 contiki-demo.sics.se:0
vncviewer: ConnectToTcpAddr: connect: Connection timed out
Unable to connect to VNC server
As I'm reading this, our Network Admin hands me a sealed copy of MS-DOS 6.0 (with manual and Doublespace *shudder*!). He was cleaning out a cabinet and came across some copies that had been ignored since 1994. I guess it's time to dust off that old 386 laptop and do some comparative testing :) I've got a copy of Windows 3.0 on 5 1/4 floppies at home, now to just find a 5 1/4 drive...
US Democracy:The best person for the job (among These pre-selected choices...)
It's still running. I didn't download their client since I have both TightVNC and ordinary VNC from before. And it worked!! I just had to reconnect after one failed attempt.
;-)
These guys know what they're doing. Impressive indeed!! I got to change Window, and delete some text, then go to the addressbar and delete some more and trying to write in an address. But there were 7 other people connected too, doing other things. If I were alone, I bet I could've used the machine just fine.
Come to think of it, I still got my old dusty C64.. Maybe it's time to revive it
http://www.debunkingskeptics.com/
Isn't it wonderful participating in the frying of some small computer? It's kind of like kicking a puppy.
I don't see anything about driver support for Ethernet cards, for example. I didn't scour the site but nothing popped out at me.
Anyone know?
With such a small OS, I still think you could create a grid/clustering situation where thousands of these little "sandbox" OS's run in parallel.. on one or more machines.
meh
Hi,
/w 32MB ram that does web/mail/productivity with a decent UI?
What would be a good Linux distribution for a P166
DJCC
It shows that you can make a simple OS with minimal space. That does not mean that one could do the same of Windows (please, it just looks immature to name call) or Linux. They have far more features, and make far less assumptions, the this OS.
A big one would be preemptive multitasking. All modren OSes have it, Contiki does not. Why not? To quote them "The reason for not supporting pre-emptive multitasking is that it would unnecessarily increase the complexity not only of the operating system, but also of the applications that would run under it." Ahh, so it would make things more complex (and also larger and less efficient) to use PMT. Ok, fine, but CMT makes the assumption that all the apps running are going to be well behaved, will not use more than their fair share of time, there will be no critical evens that need to interrupt them, and that an app won't hang and take the system down with it. Fine, but for your standard desktop or server, that's not a valid assumption.
Or how about features like 3d graphics? I want to be able to use a 3d accelerator. Oooo, well now here's a whole different can of worms. All the 3d accelerators speak a different language, so we need to implement a common apstraction layer, like OpenGL. Then we need to have drivers to interface with that. Here we are talking tons more complexity and size, and much larger programs to boot. This is not even to mention the many other features most OSes have that it does not.
See you can do a lot of huge optimization on a general purpose design by making assumptions and optimizing for it. Like a memory manager. Linux, Windows, etc all have fairly complex memory managers these days. It virtualizes memory for programs and juggles the actual RAM, it changes allocation in real time and protects programs from interfering with each other or the system. However, that wastes space and CPU cycles. It would be much more efficient to assume that all programs are going to play nice and know how much RAM they need. Then when a progam starts, it tells the OS what it wants, and the OS tells it what range of memory it may use. It is then up to the program to keep within its borders. MacOS actually used to use a system much like this. Efficient? Yes, however many problems. The fact aside that a program might want more memory later, this is a huge stability and security hole. Any program can bring down the whole system by accidently writing to system memory, but mroe scary is the security implication. All you have to do is get a service, ANY service on the system to execute code for you and you are in will full permissions.
So there are plenty of things that mainstream OSes provide that a tiny OS like contiki cannot and willnot provide. This is not to bag on their accomplishment, it is a really cool OS and does get a lot out of old hardware. However do not assume that because they can make a simple CMT OS that runs a basic webserver on old hardware they could make an OS as powerful as a full featured Linux or Windows system fit in a couple MB. Not happening.
Do you really need Contiki to surf with an old X86? An 8086-based PC could be used to dial into a shell account, where you could use Lynx, telnet, and so on. College computer labs of the early and mid-1990s were filled with 286 and 386-based PCs, 68XXX-based Macs, and Sun Sparcstations, equipped with Mosaic and capable of surfing at decent speeds.
As a P54C Pentium or an AMD Athlon: data buses do not a bitness make.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
No need, you can run OS/9 on that and I'm quite certain there're a number of ports of standard network tools therein. I know someone is in the process of porting GCC over to it, which should breathe a LOT of new life into the platform.
I completely agree! When I started realizing how many different platforms he has this OS running on, it hit me that this might finally allow cross-platform compatibility on all of these classic 8-bit systems that always wished for it, and never got it in their heyday.
In a strange way, it's almost like completing unfinished business from the 80's!
probably not
There was a NeXT-feature on OSNews recently. You can even still download WorldWideWeb.app, Tim Berners-Lee's browser for the NeXT. Maybe it is even possible to compile it with GNUStep or on OS X. I don't know if it would be legal, however, the sources do not contain any license information.
Programming can be fun again. Film at 11.
unwieldy craft that gradually became waterlogged with use? Not the image I would want for my OS.
Last I heard, the CoCo port was kind of on hiatus due to the original porter not having enough time or something to work on it. Maybe you can find out more on bit.listserv.coco. Someone else is bound to pick it up. There's a lot of talented CoCo people around.
When's Contiki going to be ported to the TI-99/4A? It's got sufficient horsepower to do it.
He had the help of his super-powered horse, and so it looked like he was going to finish it on time. Then Loki, the trickster, transformed himself into a mare to 'distract' the Giant's horse. He succeeded, the fortress wasn't quite finished, however, a few months later Loki gave birth to Slepnir, who would become Wotan's eight-legged war horse.
The giant and the horse have names, but I left my copy of the Prose Edda at home. I chose this name because it was my 'battle name' for Belegarth, a kind of live action role playing. Ironic that i choose that name, since I fight with full chain armour and a tower sheild, negating any speed advantage I normally have.
Michael Sims base fucked your mother
It'll be just like running Win3.1...only uglier.
The 8086 and 8088 are both 16-bit processors.
They have 16-bit internal registers ( and utilize one 16-bit page register and another offset register to acheive 20-bit memory space ). The data bus is insignificant to the definition.
The REASON "8-bit" is associated with the x86 architecture is BECAUSE the 8086 and 8088 are backward-compatible with the 8080, an 8-bit processor with a 16-bit address space.
Remember folks, the general definition of the "bits" attribute of a processor is how many bits wide the main instruction path(s) is / are.
Example: 80286: 16-bit registers, 24-bit address space, 16-bit memory bus.
Example: 80386SX: 32-bit registers, 24-bit address space, 16-bit memory bus.
Address space, memory bus width and instruction path width do not have to be the same. Do not assume they are tied together.
Man is the animal that laughs.
And occasionally whores for Karma.
Apple II, Grid, Atari 400 and 800, or even the lowly TRS-80 and later CoCo and portables?
Now if they could port it over to the old Epson wrist PC, that would truly rock.
Just because you can mod me down, doesn't mean you're right. Shoes for industry!
The 386 had no hardware floating-point. For that you needed an 80387 coprocessor (c.f. 80287, 8087). The "sx" in 386sx denoted "single word exchange" and dx "double word exchange". The 386sx had a 16-bit bus, so that it could be used in cheaper motherboards (basically 286 motherboards) and the original 386, later renamed the 386dx had a 32-bit bus. The original 486 was, like someone already said, an optimised 386 core (better pipelining, introduction of an 8k L1 cache, some instructions optimised for single clock-cycle execution etc.) with a built-in optimized 387. The result was a proecssor that was about twice as fast as the saame 386/387 combination at the same clock frequency. The 486sx was a marketing exercise to use up 486 cores with broken FPUs. The 487 "coprocessor" for these machines was really just a proper 486 with an extra pin which disabled the 486sx already installed. You could actually buld a PC with only a 487 using certain motherboards if you knew what you were doing.
Stick Men
I should check out Linux from Scratch?
Yes.
Is it that different from Gentoo?
Yes.
... that I can't read German. I have no idea what is german for 'x86' and there's no download link I can identify.
Oh well