I've been making a point lately of perusing "The Official Site of the Embedded Development Community," since I consider myself an embedded developer, and well, apparently that's the "Official Site," um, for my, uh, "Community." It seems more like place for vendors and consultants to promote their business by writing promotional pieces thinly veiled as technical articles, but if it's Official who is a young upstart like me to judge. Anyway, that's really beside my point. The reason I'm writing is that there was one article that caught my eye this week about building your own Linux distribution. The main thing I got out of it was to learn of the existence of Puppy Linux.
After the glowing review the author of the article gave of its distribution building tools, I read up a little more on Puppy, and decided to give it a try. Let me just report to you, that it is sweet! I'm typing this on my 7 and a half year-old Thinkpad T20 laptop (yes it really came with Windows 2000) that has been collecting dust on my shelf for the past year or so, running Puppy Linux. It feels nearly as snappy as my desktop Core 2 Duo machine that has two processor cores running more than twice as fast as the 700 MHz speed demon in this baby has 16 times the 128 MB of RAM. The reason Puppy can make this old Stinkpad fly is that the whole OS download was about 90 MB, and when you boot the liveCD, it loads the whole thing into RAM and runs from there. There is no waiting for the hard drive or the CD drive to spin. Well, almost none. I think it could use a little bit more than my 128 MB or RAM to load everything off of the CD, but for the most part my machine is running fast, and eerily quiet. I like it.
To squeeze things into 90 MB they have replaced any app that you might be familiar with from Ubuntu with something else. No Gnome, OpenOffice, Firefox, Nautilus, or even a terminal emulator that you are used to. It's JWM, Gnumeric/Abiword, Seamonkey, ROX-Filer, and rxvt. It's Linux, but not one most Linux users see on a daily basis. Seamonkey, it seems, is good old Mozilla, with the email client and web browser all built into one. It even has the old clunky looking icons and dialogs from the Netscape/Mozilla days. The whole desktop gives me an old-school Linux feel. It's not like these new polished and graphically designed Linux desktops of today. That's pretty fitting for this laptop I'm running on actually. I think I installed Redhat 7.3 on it when I first bought it. Come to think of it, maybe it's not Puppy that looks old-school, but just this washed out, crusty old LCD. Seamonkey is ugly though, no monitor issues there. OK, enough of the time warp back to the summer of 2001. The apps are different, but capable. And did I mention they were fast?
Puppy has some seriously nice ease-of-use features, on top of being really fast. The desktop background has a few paragraphs explaining where you are at, how to get online, and where to go for help. Every directory has a little README.txt file that explains what it's for. I sure could have used that the first time I booted Caldera OpenLinux back in the 20th century! Flash is included (youtube worked!), and it reportedly plays encrypted DVDs and everything.
When I slipped in my PCMCIA wireless card (when was the last time you did that!) and clicked the "Connect" icon on the desktop it found the card and walked me through getting online. I noticed a few other wizard type tools had very verbose and helpful info right there in your face as part of the GUI. I don't mind reading and it made the unfamiliar tools very easy to get going with. I'm like documentation.
I've got more to explore. Puppy Linux is supposed to be really easy to tweak and build your own distribution with. You can make it boot form a USB drive instead of a CD. I'm thinking it would be pretty awesome to run it on the XO. I'll keep you posted.