ARMedslack on the Nokia 770

I recently discovered that packages and binaries from the ARMedslack Linux distribution work more or less out of the box on the Nokia 770. Even the package management tools worked perfectly, and I found this so handy that I decided it was worth a bit more attention. Here is a little run-down on what you need to do to use them without making a mess of your installation.

First, a small disclaimer. I do not intend to install Slackware on my Nokia 770, nor to replace any Nokia or Maemo parts. (Installing ARMedslack in its entirety could make an interesting future project, though.) The reason I’m using these packages is simply to make using the device more convenient while I’m waiting (or hoping) for the utilities to become part of the official distributions. (Also, for the record, I’m currently running the official Nokia image, not the Maemo image, so I don’t have easy access to the apt repository.)

And finally, these commands need to be run as root, and I’m not responsible if you mess up your system!

So, on with it. A brief introduction to the Slackware package format might be in order, and it’s very simple. A package is a tar.gz file, with an optional install script and a description file. To manually install a package, you can simply go to the root of the target filesystem and untar it. Then check for the presence of a “/install/doinst.sh” script, and run it if it’s there. (It’s mostly used to set up symbolic links to libraries.)

While this is enough to get started, I recommend installing the package management tools. Then it’s easy to remove package contents again, should you want to. It does require some specific versions of a few utilities, though, so here’s a microscopic How-To (which assumes you have copied the mentioned ARMedslack packages (shown in bold) to the MMC);

sudo gainroot
cd /
tar xvzf /media/mmc1/tar-1.15.1-arm-1.tgz bin/tar-1.13
tar xvzf /media/mmc1/gzip-1.3.3-armv3-2.tgz bin/gzip
tar xvzf /media/mmc1/coreutils-5.2.1-armv3-1.tgz usr/bin/comm usr/bin/paste
tar xvzf /media/mmc1/pkgtools-10.2.0-arm-3.tgz

The mentioned packages can be downloaded from the ARMedslack FTP server. Packages are sorted by category. The interesting ones are; “a” (base), “ap” (applications), “d” (development tools), “n” (network), and “l” (libraries). All of the ones above can be found under “a”.

That should be enough to get you going. Now you can use the commands “installpkg somepackage.tgz” and “removepkg somepackage” to install and remove packages. Much more manageble than having to use “dpkg -x something.deb /”, and not being able to remove it again. (Admittedly, more often than not, that’s due to problems with the packages, not the package tools.)

Speaking of which, you can easily convert troublesome deb-packages to tgz, so that you’re able to manage them with pkgtools. Here’s another micro-How-To;

mkdir tmp
dpkg -x somepackage.deb tmp/
cd tmp
tar czf ../somepackage.tgz .

Unless there are some really strange things going on inside the package, that should do. Next, you can “installpkg somepackage.tgz”, and should you want to, “removepkg” it again afterwards.

OK, now it’s time to actually put this to good use. Here’s how you set up your Nokia 770 as an NFS client, in a few easy steps (there packages are under “n”, by the way);

installpkg /media/mmc1/nfs-utils-1.0.7-arm-1.tgz
installpkg /media/mmc1/portmap-5-armv3-2.tgz
/etc/rc.d/rc.portmap start
/etc/rc.d/rc.nfsd start
mkdir /mnt/myhost
mount -t nfs myhost:/remote/dir /mnt/myhost

And by now, you should be able to access the remote host’s filesystem. You might want to mount it elsewhere, to make it more accessible to the applications. You could mount it in a sub-directory of the memory card, for example /media/mmc1/myhost. (And yes, the shipped kernel supports NFS, but it can’t act as an NFS server. Hopefully that will change soon.)

So, there you have it. I will end with a little word of warning; If you chose to install packages from ARMedslack, it’s advisable to inspect the contents first (using “tar tvzf somepackage.tgz”), to make sure they don’t overwrite anything of importance. After all, they are built and intended for another distribution.

3 Responses to “ARMedslack on the Nokia 770”

  1. phil Says:

    Great new ! But it doesn’t seems to work so fine with the 2006 edition : I need to recompile the portmap against wrong version of glibc !

  2. Calvin Says:

    Hi, did you not have a problem with Busybox getting in the way of gzip and tar actually working? I followed your instructions for installing tar and gzip, but when I try to run either one this is what I get:

    / # /bin/gzip
    /bin/sh: /bin/gzip: not found
    / # /bin/tar-1.13
    /bin/sh: /bin/tar-1.13: not found

    But if you look in bin, you’ll find:
    / # ls -la /bin/tar-1.13
    -rwxr-xr-x 1 root root 118968 Aug 23 12:39 /bin/tar-1.13
    / # ls -la /bin/gzip
    -rwxr-xr-x 1 root root 58536 Sep 20 11:14 /bin/gzip

    This is special though, because everything else in /bin is soft linked to busybox.

  3. vidar Says:

    Unfortunately, the IT2006 version of the software is not binary compatible with Armedslack binaries any more. :-(

    However, you should still be able to download source and build scripts from armedslack and use the build scripts within scratchbox to make Nokia-compatible binaries. However, it might be equally feasible to just follow the regular debian way of compiling and packaging.

Leave a Reply


sufficient-slavish