Debian on Kobo Mini

Installation instructions at

General discussions that provided a lot of the info in this post are at

Download image files from

Copy the image to a new 8GB or larger microsd card

BE CAREFUL - dd can cause irreversible damage, particularly ensure the of= value is set correctly. It may not be mmcblk0 in your case.

dd if=/home/you/path/to/image/2013-08-17_kobo_debian.img of=/dev/mmcblk0 bs=32M

It probably won’t boot, but will just show a flashing green LED and a blank white screen. To fix this, copy part of the original image (source). Be very careful to use the correct if= and of= values

# insert the original microsd
sudo dd if=/dev/mmcblk0 bs=512 skip=1024 count=1 of=/home/you/path/to/image/original.img
# insert the new microsd with the debian image on it
sudo dd if=/home/ian/Desktop/kobo/original.img bs=512 seek=1024 count=1 of=/dev/mmcblk0

It should now boot.

Get WIFI working by logging firstly in Nickel (ie the bottom left icon on the first screen, below the computer icon) and setting up wifi in there (source)

ssh can be done using username and password marek:abc123

Some things to tidy it up:

Stop the LED from flashing green (source):

echo "cur 0" > /sys/devices/platform/pmic_light.1/lit

Not as useful to a general audience, but to start a shell with tmux running after logging in, add the following line to the end of ~/.bashrc. The -fa and -fs parameters specify a larger font size than the default (source.

/usr/bin/xterm -fa monaco -fs 14 -e tmux &

Custom images:

Background is at /media/you/rootfs/debian/home/marek/.config/awesome/themes/marek/

Login / loading / sleep images are at /media/you/rootfs/root/images/

Other images at /media/you/rootfs/etc/images/

Convert to *.raw format if required using this command (source)

ffmpeg -i YOUR_PHOTO -f rawvideo -pix_fmt rgb565 -s 800x600 output.raw

Now read this

Nginx with Accept-Language support

Utilizing the Accept-Language header in nginx requires a module. This is documentation about how to make it work. I wanted to use this header to server different files for different languages. You might easily imagine having a set of... Continue →