When my older daughters were young, I told them they could play any game on the computer that they could write. While I did not make this a strict hard and fast rule, we did take it somewhat seriously at it helped establish a more creative approach to the use of computer games.
Back then, I had them programming in Logo. Now, my youngest daughter has asked for a Nintendo DS and a cellphone for Christmas. I’ve told her the same thing about writing her own programs, so today, we spent a bit of time working in Scratch on her Ubuntu based laptop.
For some background: Scratch:
is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.
As young people create and share Scratch projects, they learn important mathematical and computational ideas, while also learning to think creatively, reason systematically, and work collaboratively.
It runs nicely on just about every platform, and I’ve been running it on Ubuntu as well as on my Nokia N900 cellphone for some time.
I started my daughter off with simple logo type program commands. Soon, she was drawing triangles, squares, hexagons, circles, and designs that I used to create with a spirograph when I was a kid.
We moved on to exploring a few other bits of programming and hit a few walls. The sound wasn’t working and some of the simple commands did not seem to do anything, so I figured maybe it is time to make sure that everything is up to date.
Scratch runs in a Squeak virtual machine. “Squeak is a highly portable, open-source Smalltalk with powerful multimedia facilities.” I had been running Squeak 3.9 on my various machines, and Squeak 4.1 is now out. So, I’ve started my upgrade to Squeak 4.1.
There is a good blog post on upgrading Squeak on Ubuntu machines that I used as my guide. In my case I downloaded the deb file and installed it that way on my Ubuntu machines. However, the debian package page suggested adding the repository to apt/sources.list.
I figured maybe I would try this for my N900, however, after adding the repository containing squeak, the update manager asked if I wanted to update just about every package on my system, including Ruby, Python, gstreamer and who knows what else. So, I backed out of that upgrade.
Trying to install just the package, it told me that I needed at least libc6 2.7 and libuuid1 2.16 as well as a few other packages. So, I didn’t install it and stayed with the older version of Squeak on my N900. I did rebuild that version, as well as make some attempts at building a newer version of Squeak, but ran into difficulties, so I’m saving that for a later blog post.
On the Ubuntu laptops, the upgrade went smoothly and I then followed Getting Squeak 4.1 on Ubuntu to upgrade to the latest version. This also went very smoothly on both machines.
Yet this did not solve the problems, so I downloaded the latest Scratch image. This runs nicely on all my machines and has solved all the outstanding issues on Ubuntu. The N900 install will probably take a bit more work.
I have had a Nokia N900 cellphone for almost a year now, and for me, it has been the best mobile device I’ve had yet. There are lots of interesting developments continuing to go on with the phone, even though it and its operating system appears to be reaching the end of its life. So, I thought this would be a good chance to look at what ideas from the N900 and other devices ought to be carried forward to future devices. This is, perhaps, especially relevant with Nokia now selling the N8 and MeeGo developers having a conference right now.
This evening, I went to update any programs on my N900 that had new versions. One of which was kernel power. Kernel Power is a wonderful package for the N900. The parts I like most are the battery usage statistics, IPv6 support, different file system support, and the ability to run mobile hotspot.
That said, I like to push the limits of my N900 so I’ve also got multiboot and nitdroid installed. So, I’m not surprised when things break when I do an upgrade, and things broke when I tried updating the kernel power package.
After poking around for a while, I found a fairly easy way to get things back. First, I tried using various things like pressing 0 when multiboot came up to get a stock kernel boot. That didn’t work. I booted into Nitdroid, and tried to edit the files from Nitdroid. No luck.
Finally, I ended up with this as the best procedure I could come up with.
First, I reflashed just the kernel. I still had my image around from upgrading to PR 1.3, so it was pretty easy:
sudo ./flasher-3.5 -F RX-51_2009SE_20.2010.36-2.002_PR_COMBINED_002_ARM.bin --flash-only=kernel -f -R
At this point, I rebooted, and still had multiboot and all my other applications running. I pressed 0, and this time I got to a stock kernel. I logged in, and uninstalled multiboot, and reinstalled it. I also installed multiboot-kernel-maemo and multiboot-kernel-power.
apt-get remove multiboot
apt-get install multiboot multiboot-kernel-maemo multiboot-kernel-power
I started testing and everything is back in order. Nitdroid is also still working. Now, I need to find out what the updated kernel power really does for me and start messing around a little bit more with Meego.
I also am using Blessn900 with the fcam drivers, and at this point, they appear to be working properly as well.
Next, I’ve reinstalled easy-chroot and easy-deb-chroot. I had these around a few reflashes ago and it is time to retry them. Next, I’ll see if I can get Qole’s easy-meego-chroot running.
So, the latest update to the firmware for the Nokia N900 came out today, and I figured I’d give it a shot to see what works and what doesn’t. As I did for my experiments installing NitDroid on the N900, I am writing this as a log so people can see what worked and didn’t for me. It will be geeky, so non N900 users may want to skip this post.
The phone itself isn’t new, nor is the idea of installing Android on a Nokia N900. However, I took a slightly different path which I figure some of my geekier friends might find interesting.
Recently, there has been a discussion about PR 1.3 coming out and supporting dual booting between Maemo and MeeGo. This isn’t really anything all that new. I wrote about configuring an N900 to boot Mer, MeeGo and Fedora back in April. In August, I wrote about Bootmenu, Kernel Power and MeeGo on the N900. Eventually, I bricked my N900 and recovered it as I moved from Bootmenu to Multiboot.
However, it did get me thinking again about trying to load NitDroid on my N900. After bricking my phone, I’ve been a little more cautious about undertaking a project like this, and I wanted to do it in a manner different than how the installation describes.