Adding DCHP static mapping support to the FSG-3

The Freecom FSG-3 firmware user interface does not have the ability to set static IP addresses for hosts via DHCP. Luckily, the underlying dnsmasq program does this (and lots more) easily, and even though dnsmasq is in /usr/local/sbin for some reason on the FSG-3, it still reads the default configuration file at /etc/dnsmasq.conf (which Freecom does not use, so the file does not exist by default, and therefore does not get overwritten by the default firmware).

To set static IP addresses for your hosts, just add lines like the following to /etc/dnsmasq.conf:

dhcp-host=00:04:5a:0f:b2:44,nslu2,192.168.1.6,infinite

Freecom FSG-3

Comments Off

Permalink

Adding zoneedit.com dynamic DNS support to the FSG-3

ez-ipupdate already supports the zoneedit service, so all that is required is to add it to the dyndns_show.html web page and ddns init script.

/var/www/admin/content_en/dyndns_show.html changes:

<select name=”ddns_service” style=”width:200px”>
<option value=zoneedit_com>zoneedit.com</option>
<option value=dyndns_org>dyndns.org</option>
<option value=dtdns_com>dtdns.com</option>
<option value=noip_com>no-ip.com</option>
</select>

/etc/init.d/ddns changes:

if [ “$DDNS” = “zoneedit_com” ]; then
/bin/ez-ipupdate -i $EXIF -S zoneedit -u $USER:$PASSWD -h “$HOST” -d -P 300
exit 0
fi

Freecom FSG-3

Comments Off

Permalink

Maemo Links

I’ll use this blog entry to record various Maemo-related links that I find.

http://box.mmapps.net/~keesj/

http://www.guardiani.us/index.php/N800_custom_packages

http://pierre.droids-corp.org/maemo/

http://danielsz.freeshell.org/code/mine/emacs-for-maemo/

Nokia N800

Comments Off

Permalink

Setting up my Nokia N800

I’m going to use this blog entry to capture everything I do to my new Nokia N800 when setting it up. Hopefully this will serve as a resource to other N800 users, but will also serve as a record for my own use in case I need to reinstall everything at a future date.

  • Download the latest firmware (latest at time of writing is OS 2008 edition v. 2.2007.51-3).
  • Flash it using the Nokia Internet Tablet Software Update Wizard.
  • Set up an internet connection.
  • (Optional) Enable Red Pill Mode (New Application catalogue, Web address: matrix, Cancel).
  • Add the Maemo Repositories to the Application Manager
  • Update all packages
  • Install openssh-server (so you can do the rest of this more comfortably from a remote ssh client window)
  • Install some necessary applications that are not in the Maemo repositories:
    • becomeroot (you only need this if you aren’t able to ssh in - use “sudo gainroot” in an xterm instead)
  • Change the host name in /etc/hosts and /etc/hostname
  • Install a suitable authorized_keys file for password-less ssh login
  • Reboot and log back in as root
  • Reformat the internal SD card (/dev/mmcblk0, /media/mmc2):
  • # apt-get install e2fsprogs
    # umount /media/mmc1
    # umount /media/mmc2
    # sfdisk -uM /dev/mmcblk0
    /dev/mmcblk0p1 :0,6000,0C
    /dev/mmcblk0p2 :6000,,
    /dev/mmcblk0p3 :,,
    /dev/mmcblk0p4 :,,
    # mkdosfs /dev/mmcblk0p1
    # mke2fs -j /dev/mmcblk0p2
    # shutdown -r now

  • Note that to mount the new ext3 filesystem, you need to:
  • # cd /mnt/initfs/lib/modules/current/
    # insmod mbcache.ko jbd.ko ext3.ko

  • Setup booting from the internal SD card
  • # cd
    # curl -o initfs_flasher.tgz http://fanoush.wz.cz/maemo/initfs_flasher.tgz
    # tar zxvf initfs_flasher.tgz
    # cd initfs_flasher
    # cp bootmenu.conf.n800.example bootmenu.conf
    # vi bootmenu.conf
    # ./initfs_flash

  • Add the timezone for Adelaide and set it as my Home city.
  • Modify the mmc mount script (/usr/sbin/osso-mmc-umount.sh) to ignore a mounted root directory
    • grep “$MP ” /proc/mounts | grep -v ” / ” &amp;gt; /dev/null

Nokia N800

Comments Off

Permalink

Adding a new timezone to osso-clock

The set of cities included in the Nokia N800 does not include any city in my home timezone (GMT+9:30, Australian Central Standard Time).

Luckily, I’ve worked out how to add one (the following is an example for my home city of Adelaide):

  • Edit /usr/share/osso-clock/wdb-parsed.txt and add the following line:
    • Adelaide|AU|Australia|Australia/Adelaide|1280|650|en_AU
      • (The 1280 and 650 numbers are pixel coordinates on the osso-clock map of the world)

You should be able to use the same method to add any other city that already exists in /usr/share/zoneinfo.

Nokia N800

Comments Off

Permalink

Changing an Internet radio channel name on the Nokia N800

If you add a new Internet radio channel to your media player library, and it gets some weird name that you don’t like, you can easily change it by editing /home/user/.mediaplayer-engine/radiochannels.m3u

Nokia N800

Comments Off

Permalink

OpenMoko Emulator ready for general use

The MokoMakefile now has support for automatically building, flashing, and running the new OpenMoko emulator (which is based on QEMU).

“make qemu” will build qemu-neo1973, download the latest official openmoko images, flash the images into the virtual NAND flash, and run the emulator.

Other targets are “make download-images” (to download the latest official images), “make flash-qemu-official” (to flash those images) and “make flash-qemu-local” (which will flash your latest locally built images), which can then be followed by “make run-qemu” or “make run-qemu-snapshot” to run the emulator with the most recently flashed images.

Make sure you have the “lynx” and “netpbm” packages installed on your build host first.

OpenMoko

Comments Off

Permalink

MokoMakefile - automated development environment setup for OpenMoko

MokoMakefile is a fully automated way of setting up an OpenMoko development environment. It is an invaluable tool for getting new developers up and running with a build environment which is configured the same as all the other existing developers. It brings the same repeatability to build environment creation and maintenance as that which OpenEmbedded brings to the main task of actually building embedded software distributions.

Note that MokoMakefile does *not* replace bitbake, or svn, or monotone, or openembedded, or qmake, or anything else. It is a wrapper around all that to make it easy to set up and maintain a development environment that fully complies with the setup instructions published by OpenMoko.

Here are the steps to use it:

1/ Make sure your build host is set up according to:

http://www.openembedded.org/wiki/OEandYourDistro

2/ Create your $OMDIR directory

mkdir /home/moko ; cd /home/moko

3/ Grab MokoMakefile

wget http://www.rwhitby.net/files/openmoko/Makefile

4/ Start building

make openmoko-devel-image

This will set up the recommended directory structure as described in http://wiki.openmoko.org/wiki/Building_OpenMoko_from_scratch, will download all the required software (from the right places with the right versions), and will immediately start building an image.

Once you have done this, you can choose to continue using the MokoMakefile to initiate your subsequent builds, or you can go into the build directory and run bitbake commands manually. The choice is yours.

The nslu2-linux project has successfully used a similar MasterMakefile for more than two years, and we have found it to be an invaluable tool for getting new developers up and running with a build environment which is configured the same as all the other existing developers. It brings the same repeatability to build environment creation and maintenance as that which OpenEmbedded brings to the main task of actually building embedded software distributions.

Since this MokoMakefile is what runs my personal build environment, it will always be kept up to date with the latest build instructions. I will also be extending it to support building other OpenMoko stuff.

I would be happy for the OpenMoko core team to put this in a repository somewhere where I (and they) can update and maintain it. Alternatively, I could start a MokoMakefile project at projects.openmoko.org if they don’t want to pick it up and use it internally.

MokoMakefile is recommended by 1 out of 1 new developer on #openmoko, who said “For some reason last night I couldn’t get my manual install of everything to work (bb complained about my bbpath I think) … but with your makefile, it works great!”

OpenMoko

Comments Off

Permalink

MokoSlug Custom Firmware for the NSLU2

The NSLU2 is a good low-cost companion server for the Neo 1973 (the initial hardware platform for OpenMoko). It has one 10/100 ethernet port, two USB 2.0 ports, and easily supports connectivity with the Neo via Bluetooth (using a low-cost USB Bluetooth dongle).

I am creating a MokoSlug firmware distribution for the NSLU2 for this purpose. It will be based on the Angstrom distribution, which is built using the OpenEmbedded build system (the same build system which is used for the OpenMoko software).

Like the SlugOS firmware distribution for the NSLU2, it will initially run from internal flash but will allow you to boot from an external USB disk or flash key if you need more storage for installation of additional software packages.

NSLU2-Linux
OpenMoko

Comments Off

Permalink

Site conversion

I have just spent a couple of hours converting my old hand-edited www.rwhitby.net site to this brand spanking new Wordpress site. Hopefully this will allow me to actually update the content more often than when I change jobs.

Old:
Old Site
New:
New Site

Personal

Comments Off

Permalink