Sheevaplug - pure Linux geek juice!!!
Not very often you get a high end distro like Ubuntu 9.04 and a cheap embedded Linux developer system that is also capable of running a high end distro.
The $99 Sheevaplug is very much it.
You get a mains adapter size box with a plug to plug into mains. It has ethernet link, SDCard, USB and a mini USB serial port.
No monitor port, no keyboard, no mouse port, no nothing. Its also running on an ARM chip!
So what does it do except sit there and do nothing?
Welll..... its the ultimate food from the gods sent to geeks!!!
Since it has 'nothing' you have to bring it alive yourself and mold it to your whims!!!
It is pure geek wallowing in Linux from here on in...
First connect the mini USB serial port to your Linux Ubuntu desktop USB port. Running dmesg in a console window shows it has been recognised and installed as /dev/ttyUSB1 The mini-usb plug is very flimsy and such small connectors are utterly dodgy! If the ftdi serial port chip is not recognised then manually install the driver: sudo modprobe ftdi_sio vendor=0x9e88 product=0x9e8f (My desktop is Ubuntu.)
You now need some software to talk to the Sheevaplug. Install minicom with apt-get install minicom in a console window.
Then run minicom -s to and change set up for 115200 baud 8 bits, N for no parity, 1 stop bit. Change the default serial device to /dev/ttyUSB1 Press return to save changes. Press save changes as default Then Exit minicom. Then run minicom again, and now you are connecting OK to the Sheeva plug through the serial port.
Login as root with password nosoup4u (yup that is the default password!)
First off change the password to something you like with the passwd command.
You can issue command like shutdown -r now and see the computer shutting down and rebooting like a real computer through minicom.
Log back in, connect up the ethernet, give it a few seconds and then enter ifconfig It shows the IP address of the Sheevaplug.
Now you can abandon the minicom console and start another bash console window and connect via ssh!!! ssh root@ipaddress_of_sheevaplug So now you are in and looking around.
If you have konqueror installed on your desktop computer, you can also get in by opening konqueror and entering in the URL fish://root@ipaddress_of_sheevaplug to snoop around to see what other software has been pre-installed.
First thing to do is to get the existing OS of the internal flash chip (to avoid wearing it down) and run it off an SD Card formatted with EXT2 to minimise wearing down the SD Card.
The instructions are here
Having transferred everything off the internal flash and booting off the SDcard allows you the freedom to install lots of new software.
First off tried to get this useful utility installed apt-get install wget
But it came up with error message - the issue is that two directories are always in RAM and can get filled - so it forgets to create them whenever Sheevaplug boots. So create these two directories to get apt-get working
mkdir /var/cache/apt/archives mkdir /var/cache/apt/archives/partial
Then I test downloaded a file using wget. I then copied out the file from the sheevaplug using scp command. So in effect the sheevaplug has just become my downloader device consuming 5W that can be left running all night if need be.
and then installed away more stuff like the following
apt-get install lynx apt-get install rsync apt-get install youtube-dl apt-get install sqlite3 apt-get install bash apt-get install xterm
(If your /var/cache/apt/archives gets full, then reboot the sheeva plug and recreate the directories again)
(installing bash might have been redundant - but even if redundant, you can see how it reacts to the command to see if updates are available)
then I did
apt-get update apt-get upgrade
to upgrade the Linux to the latest version (but you may have to do that before installing anything if some of the packages got updated).
Then tried to get VNC server working
And then got vncserver finally working!!!! So even through Sheevaplug has no graphics card, I can still get a VNC session on it going!!!
Then installed more complex software
apt-get install firefox apt-get install pan apt-get install openoffice.org apt-get install mysql-server apt-get install qcad apt-get install konqueror apt-get install xpdf apt-get install dillo apt-get install gnumeric apt-get install abiword apt-get install apache2 apt-get install dosbox (yes! and it works well!) apt-get install kmail apt-get install synaptic apt-get install onboard (on screen keyboard) apt-get install kwrite
All in all 2Gb of software got installed. Your luck will vary as the software is constantly being updated (and broken) so wait a day if something doesn't work and try again. [My current install has problems starting X and crashes first time but second time its OK when running applications like firefox.] Some things like gambas2 and its libs are not in the arm repositories yet, so not everything can work just yet anyway.
GUI software like firefox I can use ssh -X root@ipaddress_of_sheevaplug and then run firefox to get it to run as a remote X session.
Same with pan, open office, konqueror, gnumeric, abiword, xpdf, qcad and dillo.
Apache server and mysql server is running! Its turned the sheevaplug into a powerful server.
But also desktop features available too...
I ran pan (newsreader) and change pan to use dillo (webrowser) instead of firefox and I get near full speed reading newsgroups and browsing links even through I am running remote X session.
Running firefox or dillo with remote X session is also a safer bet - I can move all the dodgy website browsing to the sheevaplug and change the SD card if some dodgy infection is suspected.
For $99, the sheeva plug is 1.2GHz ARM with 512Mbytes of RAM and 512Mbytes of flash and from the above you can see it runs a full version of Ubuntu very well!!! The hardware is open and the sofwtare is all open source so you can go make your own hardware and install as much software as the repositories and memory chips/hard disks can carry.
This post is brought to you from the Sheevaplug running knode through a remote x session on the main desktop computer :-)