birds like wires

Ubuntu Server for Joggler


Latest Release: 27th October 2011
Ubuntu Server 10.04.3 – (170MB) MD5


In developing the Joggler reflash tool it was obvious I’d need a relatively lightweight Linux which would actually run the script. There are distributions that are a lot more lightweight than Ubuntu Server, but because I’m used to using it and there was no startup cruft to clear out, it’s the one I went for.

This has the happy side effect that those people interested in running a Joggler as some type of server-only device can grab a copy of this and get started quickly.

The Details

I’ve set this version of Ubuntu Server up with Jools Wills’ 2.6.38.4joggler1 kernel, which was the latest version at the time of writing. The filesystem consists of a 128MB FAT16 boot partition with the remainder formatted as ext2, so there’s no journal to worry about on flash devices. The fstab mounts the FAT16 partition to /boot on startup, just like Jools’ GUI releases. There is no swap on this system, so if you plan to use it long-term, that’s something you should probably add.

There are a few minor differences between this and a vanilla Ubuntu Server straight from Canonical; firstly, I’ve removed apparmor and ureadahead. You can apt-get them back on if you want them. Secondly, there is a script in /etc/init.d called jogglermaint which is used to trigger the reflashing script if it’s been placed in /boot/reflash. If that’s not there, it just displays a message and the Joggler’s IP address before returning to the login screen. These additions can be removed like this:

sudo update-rc.d -f jogglermaint remove
sudo rm /etc/init.d/jogglermaint
sudo rm -rf /boot/reflash
sudo rm -rf /var/reflash

Once you’ve done that the system is completely vanilla, save for Jools Wills’ joggler-eth.conf file in /etc/init which creates a MAC address for the wired ethernet interface. You’ll need to keep that otherwise you may not get a working wired connection.

Writing to a Device

If you’re playing about with Ubuntu Server, I’m going to assume that you don’t need to be told how to do this. The image has been created to fit on even the stingiest 1GB USB device. If you need help, read ‘Part 1: Create the Reflashing Device’ on the Reflashing Tool page.

I know I’ll be asked this next question though. The answer is ‘yes’ – it would be perfectly possible to write this to the Joggler’s internal 1GB flash. I haven’t tried it, but good luck to you – please let us know how it goes in the comments.


  • Please leave a comment to let others know how you’re using this, but as this is intended to be a platform for your own projects, I can’t provide any specific support beyond getting it to boot. Please ask your questions either on the Joggler Forum or the Ubuntu Forums. As usual, this software is used entirely at your own risk.


Hi,how can I change the default keyboard keymap from UK to US? By now I type “install-keymap us” everytime it reboot,that’s noisy

Lynx left this message 220 days ago

@Lynx Sorry, I’m not the best person to be asking. Once it’s up and running it’s a normal Ubuntu system, so the folks over at the Ubuntu Forums are the best people to ask.

Andy left this message 220 days ago

Thank you all the same ;-)

Lynx left this message 219 days ago

hmm. Great idea! But the network won’t initialize. The rt8169 driver loads and shows in lsmod but no matter what I do I can’t bring up eth0. I’ve edited the /etc/network/interfaces script manually and tried static settings and such but no luck. mii-tool says no MII interfaces. I checked out a GUI Linux distro for this joggler,the linux mint one, and it’s using the 2.6.38 kernel. Maybe the module for the Realtek NIC is updated in that kernel and mine’s newer or something. Not sure. Going to try the newer kernel first before I really get into trying to hack it.

Paul left this message 215 days ago

@Paul Did you manage to get anywhere with this? I’ve been having a little toy around, but on both of the Jogglers I had to hand it worked fine. Which boot logo does your Joggler start up with? I’d be interested if there are differences between OpenPeak and O2 boot logo Jogglers, but I don’t have an OpenPeak booter to hand…

Andy left this message 209 days ago

I have an O2 Joggler right now, but I have access to an OpenPeak model as well. I’m going to test this on both. I’ll let you know. How can I contact you directly Andy?

Paul left this message 204 days ago

I’m working on transferring your image to the internal memory right now. I’ve almost got it. Every other image exceeds 1gb.

Paul left this message 204 days ago

w00t! I got it working. Had some issues with the kernel but got it booting completely off internal memory now. Runs quick. I also got the network card working, more on that later:
http://gsi3.glitchsys.com/mmcblk0-ubuntuserver.img.bz2
I dd’d the mmcblk0 so you should be able to restore this to the internal memory and be good to go.

Paul left this message 203 days ago

@Paul If you want to drop me a line Twitter is probably easiest, or you can just put ‘andy@’ in front of this domain name if you’re emailing.

Andy left this message 202 days ago

paul, which kernel did you use to get ethernet working? Also your link to your mmcblk0 partition is dead

Alasdair left this message 135 days ago

Actually I was just slow to spot the links to the 2.6.38 kernel debs. I’ve upgraded to them, however I still have no ethernet working on my O2 joggler with RTL8111/8168B ethernet controller.

I initally ran mkinitramfs but it warned of missing firmware for the realtek cards, so I downloaded the firmware, ran mkinitramfs again (no complaints this time) but still the same issue.

Any ideas on how to proceed?

Alasdair left this message 135 days ago

I’ve updated this article with a new version of Ubuntu Server using the Jools’ latest kernel and some changes to make the wired connection fire up more reliably. Basically, it uses Jools’ MAC address generator for the wired connection. Remove the jogglermaint script as instructed above for a lovely vanilla install.

Andy left this message 118 days ago

Thanks so much, only just saw this I’ll try it later in the week.

Alasdair left this message 112 days ago

Yep, that was it.. setting the mac address fixes the ethernet problems completely, thanks again!

Alasdair left this message 112 days ago

@Alasdair Great stuff. Turned out that one of my test Jogglers consistently gave a bobbins MAC address that my DHCP server was quite happy with. That setting was then accidentally carried over to other Jogglers when testing, so I didn’t spot the cause until recently. Also explains why some people got ethernet and others didn’t.

Ah, well – all fixed now. :)

Andy left this message 112 days ago

Hey, a little further heads-up on the ethernet situation. Currently, the joggler’s ethernet interface is assigned a random MAC address each boot. As this is going to mess with port forwarding / ssh etc, you need to create the file /etc/network/joggler-eth. Best way to do this is after first booting up is perform the following command AS ROOT / or after sudo -s :

ip link show eth0 | grep “link/ether” | cut -d” “ -f6 > /etc/network/joggler-eth

Alasdair left this message 110 days ago

@Alasdair This is unnecessary if you remove my jogglermaint script as per the instructions, which you should do if you plan to use this as a server platform. The script deliberately deletes the /etc/network/joggler-eth file which is automatically generated, so that the OS can be used repeatedly and cleanly on multiple Jogglers.

Lose jogglermaint from startup and you’ll find that the MAC is generated once and then stored.

Andy left this message 108 days ago

@Andy Hi there. I’d already removed the jogglermaint script. If /etc/network/joggler-eth does not exist BEFORE the /etc/init/joggler-eth script runs, setting the MAC in time fails:

here is my /var/log/boot.log http://pastebin.com/7WuKXpNv

Alasdair left this message 107 days ago

Me again, here’s an updated grub.cfg which boots no matter what other USB hard drives are present:

http://pastebin.com/DRaLj5tc

Alasdair left this message 107 days ago

@Alasdair Interesting… okay, next time I have this thing open I’ll do some digging as to why that should be. The /etc/init/joggler-eth script should create /etc/network/joggler-eth (it does on all of BuZz’s releases!) and not rely on it being present.

Thanks for the tweaked grub.cfg. That’s a neat way of working around those additional drives. I may well be using that in future. :)

Andy left this message 107 days ago

Hi. Whats the login username and password?

danieljcooper left this message 21 days ago

@danieljcooper Haha! Can’t believe I didn’t mention that. They’re both set to ‘joggler’. :)

Andy left this message 21 days ago