It’s been one year since I published a compiled kernel for our devices. Now I decided to build a new one and share it!

Some facts about it:

  • As all of my other kernels this one uses heartbeat during boot.
  • It supports the dockstar, goflex net and home.
  • Some of you asked for I2C support, it’s now working on the dockstar and goflex net. i2cdetect -l has the desired output!

If you encounter any missing modules for certain devices, try to compile them yourself with the given headers and give me a hint so I can include them in feature releases.

1. Prerequisites

In order to install the kernel properly, you need to have initramfs-tools installed. Otherwise your device won’t be able to boot! Thanks to chessplayer for sharing this info!

apt-get install initramfs-tools

Make sure you have the latest uboot installed. See 1. in Dockstar: new Kernel 3.3.3 ready to use.

2. Upgrade the Kernel

This part is analogue to my other articles concerning kernel installations:

If you know what you are doing you are ready to download and install the kernel. I am not responsible for any malfunctions or damages on your device!

I assume that you already set the correct arcNumber fitting your device:

dockstar   2998
goflexnet  3089
goflexhome 3338

You can install it as follows:

cd /tmp
wget http://dev.shyd.de/dockstar/linux-image-3.9.5-dockstar-goflex-shyd_1.1_armel.deb
dpkg -i linux-image-3.9.5-dockstar-goflex-shyd_1.1_armel.deb

If you are encountering problems with flash-kernel, the kernel will be installed though. But rerun it, to finish the process:

apt-get -f install

Create the boot files:

cd /boot
/usr/bin/mkimage -A arm -O linux -T kernel  -C none -a 0x00008000 -e 0x00008000 -n Linux-3.9.5 -d /boot/vmlinuz-3.9.5-dockstar-goflex-shyd /boot/uImage

/usr/bin/mkimage -A arm -O linux -T ramdisk -C gzip -a 0x00000000 -e 0x00000000 -n initramfs -d /boot/initrd.img-3.9.5-dockstar-goflex-shyd /boot/uInitrd

3. LED setup

You have to edit two files:

For the dockstar add to /etc/rc.local. See below for the corresponding LEDs for the goflex.

echo default-on > /sys/class/leds/dockstar\:green\:health/trigger
echo none       > /sys/class/leds/dockstar\:orange\:misc/trigger

and in /etc/init.d/halt find

log_action_msg "Will now halt"
halt -d -f $netdown $poweroff $hddown

add after

echo none > /sys/class/leds/dockstar\:green\:health/trigger

to set it off, when the system halts.

The LEDs of the Goflex Home are called:

status:green:health
status:orange:misc
status:white:misc

…and for the Goflex Net:

status:green:health
status:orange:misc
status:white:left0
status:white:left1
status:white:left2
status:white:left3
status:white:right0
status:white:right1
status:white:right2
status:white:right3

Once the device booted up again, log in and check the output of uname -r:

uname -r
3.1.10-dockstar-goflex-shyd

4. Additional files

The config is available at: config-3.9.5-dockstar-goflex-shyd_1.1

If you want to compile further modules, the headers can be found here: linux-headers-3.9.5-dockstar-goflex-shyd_1.1_armel.deb Remember to create the symlinks /lib/modules/3.9.5-dockstar-goflex-shyd/build and /lib/modules/3.9.5-dockstar-goflex-shyd/source if you install the headers after the kernel.

And here is the patch with everything I’ve changed from the source tree: linux-3.9.5-dockstar-goflex.patch