
And here is the Installer: gpaint-2-0.3.0-pre5-N770v0.1_arm.deb
So far it was more work than SciTe already:
Had to remove the Gnome stuff, and change the GUI to GTK, (using glade).
...switch it to fullscreen to be more useful.
Last weeks I have been very busy, and I have not written too much in this blog. In the next three months it is possible I have good news about the 770. Until then, I will try to keep updated this blog with my progress in the porting of wxPython. I am trying also to port ZSNES, because my brother wanted it to play some SNES games on his 770. I am having problems with the macro assembler. It seems it can not to assemble the macros for other architecture but x86. Anyway, I have not taken a very deep look at it.
By the way, the title of this post comes from one of the funniest books I have ever read.
I had a look at some open source vector graphics editors to find out which one would easy to port to the N770 (menu structure, screen area and most important: dependencies). First, I decided to compile inkscape, as it looks cool and is GTK-based. However, it relies on some C++ / GTK obejct wrapper dependencies (gtkmm, ...) which was to awkward to do in just a few hours [I need some sleep from time to time and go to work the next morning ;-) ] Then, I found out that sodipodi and inkscape not just have identical functionality, they share the same roots. Sodipodi is more suitable for the standard N770 setup, as we just need the additional libart, which is easy to compile, everything else was already there. Besides this, it is possible, to alternatively dock the toolbar to the main drawing area.
Intermediate build:
sodipodi_0.34-N770v0.3_arm.deb
After the first couple thousand times you reboot your 770 and look at the bland blue Nokia logo and the pair of pedophilic hands, you are thinking it is time for now startup images. It is a simple enough hack, and here are the rules.
There are three images displayed at startup. These are:
I grabbed a couple of thematic images from the web
and the second one
I backup the current images, and copied / renamed the new images to the appropriate directory (to replace the two original image files). The bluesun logo replaced the Nokia logo and the Serenity logo replaced the hands.
After a restart, i now have a more unique set of 770 startup images.
NOTE - I tried padding the bluesun logo out to 800×480 in order to cover the green debug text, but got a completely blank screen with that. So 780×480 works and 800×480 does not (For the Nokia Logo image only). Not sure why. One pixel smaller than max may be sufficient to function, but i am out of time for this today.
ubergEEk
PS - Like everything else on this blog, use at your own risk. Just because it worked for me, does not mean I assume responsibility for anything you do.
Last weekend I built the debian curl package for maemo (Nokia 770's platform). Eventually I'm going to use the package to build a mirroring utility.
Only minimal changes where required- such as disabling the generation of postinst and postrm scripts.
curl and libcurl3 both install using the Application Installer and work well. However not all of the build tests wouldn't run under qemu-arm (the HTTP tests were complaining the socket was already bound). I'll try again with CPU Transparency next weekend.
All the binaries and sources are here.
Update: Slight changes to packages (URLs changed above)
Furthermore using CPU Transparency didn't help with the build tests, although I haven't given up yet...
First - A metapackage is a aggregated package that contains the contents of several other packages.
Metapackages are useful if you find yourself re-installing the same packages, in the same manner often. One that screams out to be packaged for me is a osso-xterm metapackage. The quandary with all metapackages is to be both complete as possible within a given context, and yet contain nothing extra. And of course have the widest possible appeal. I selected:
In addition, i split my fixup scripts into three pieces, and rewrote them with full restore functions.
Firstly - If you are planning on installing this metapackage, remove any of the packages identified above. My package will overwrite them and (pkg management) confusion will result if you try to remove them afterwards.
The three scripts are:
After an install, these scripts are located in /var/lib/install/usr/opt.
Installation
I have tested the script for both installation and restoral several times on my 770, but that is not a validation that they will run correctly in all scenarios.
The package is at
ubergEEk
PS - Like everything else on this blog, use at your own risk. Just because it worked for me, does not mean I assume responsibility for anything you do.
Following up on a post last week, I took the 4 standard themes and modified the default font to 14pts (instead of 16.75) and packaged them. When installed, they are at /var/lib/install/usr/share/themes.
Since the maemo theme manager only looks at /usr/share/themes for themes, I had to write a setup script located in /var/lib/install/usr/opt. It creates symbolic links, so that removing the package really removes them.
Install
the package is at
First note - If you are going to remove this theme package, run the setup script with the ‘restore’ parameter. I am not sure how the 770 would react with empty theme links. It should be fine, but it has not been validated (yet).
Second note - If you uninstall these themes while one of them is the active theme, it would probably brick your 770 (requiring a firmware flash). I have verified that if you trash the active theme (for any reason), it will probably get stuck in a continuous boot cycle. (you been warned)
ubergEEk
PS - Like everything else on this blog, use at your own risk. Just because it worked for me, does not mean I assume responsibility for anything you do.
On my Nokia 770, I use a 128mb rs-mmc card formatted with ext3 to hold the development rootfs.
The most obvious way to boot off the rs-mmc card is to use the Flasher tool with this command line:
./flasher --set-root-device mmc
And to resume normal operation:
./flasher --set-root-device flash
However flasher needs a PC at hand- cal-tool to the rescue!
For development (on mmc):
sudo gainroot
chroot /mnt/initfs cal-tool -R mmc
init 6
For release (on flash):
sudo gainroot
chroot /mnt/initfs cal-tool -R flash
init 6
N.B. This command requires xterm and root permissions on both your release and development (so you can switch back) images.