partial writeup of my upgrade to debian wheezy on excito b3

this is a writeup of some of the steps i needed to upgrade my excito b3 to debian wheezy. if you don't have an excito b3, you probably could care less.

if you do own one and are looking to do the same you probably want to read all the "background info threads on the forum" at the end. i do not claim these instructions are in any way complete or friendly to linux newcomers and the fact that you need to upgrade your embedded systems bootloader runs the risk of bricking it. well, i preferred to take that risk over being stuck on a debian oldstable release. your mileage may vary... here we go:

prepare and confirm environment is as expected:

sudo apt-get install mtd-utils
sudo apt-get install uboot-envtools
cat >/etc/fw_env.config <<EOF
# MTD definitrion for Bubba|3
# MTD device name       Device offset   Env. size       Flash sector size       Number of sectors
/dev/mtd1               0x000000        0x010000        0x010000
EOF
fw_printenv

this outputs the following on my system (I removed the last line with some key of sorts):

bootdelay=1
baudrate=115200
preboot=
loadaddr=0x800000
console=ttyS0
bootfile=uImage
flashfile=u-boot.kwb
installfile=install.itb
setdiskargs=setenv bootargs root=$diskdev console=$console,$baudrate serial=${serial#} key=$key button=$button
setbootargs=setenv bootargs root=$rootdev rw console=$console,$baudrate $othbootargs
usbbootroot=/dev/sda1
usbbootdev=usb 0:1
usbboot=usb start; setenv diskdev $usbbootroot; run setdiskargs; ext2load $usbbootdev $loadaddr /boot/$bootfile; bootm
usbflashdev=usb 0:1
usbflash=fatload $usbflashdev $loadaddr /install/$flashfile && sf probe 0:0 && sf erase 0 80000; sf write $loadaddr 0 $filesize
satadev=sata 0:1
sataroot=/dev/sda1
sataboot=setenv diskdev $sataroot; run setdiskargs; ext2load $satadev $loadaddr /boot/$bootfile; bootm
usbinstallroot=/dev/ram0
usbinstalldev=usb 0:1
usbinstall=usb start; setenv diskdev $usbinstallroot; run setdiskargs; fatload $usbinstalldev $loadaddr /install/$installfile; bootm
bootalt1=run sataboot || reset
bootalt2=run usbinstall || run usbflash || run sataboot || reset
stdin=serial
stdout=serial
stderr=serial
button=0
bootcmd=run sataboot || reset
ethact=egiga0
ethaddr=00:22:02:00:17:7c
eth1addr=00:22:02:00:17:7d
serial#=3701

download new u-boot bootloader blob, ensure you got the right one via md5sum:

wget http://files.la-mouette.net/bubba/u-boot.kwb
md5sum u-boot.kwm

2f1beb5658a5e7fee378e346784d0969  u-boot.kwb

upgrade the uboot from within linux

WARNING: if this goes wrong you can brick your b3, meaning you will only be able to recover it by connecting a serial console, which requires soldering!

this is it, no way back. do not run only the first command.

flash_erase /dev/mtd0 0 4
nandwrite /dev/mtd0 u-boot.kwb

now reboot and hope... then to confirm it worked

strings /dev/mtd0 | grep "^U-Boot "

should output something starting with

U-Boot 2013.01-rc1

now you can go and get yourself a debian wheezy system. either fixup your debian manually using inspiration from http://wiki.mybubba.org/wiki/index.php/ReverttominimalDebianinstallation (this is kind of what i had done already before looking at the kernel upgrade), or try the image from this thread: http://forum.mybubba.org/viewtopic.php?f=7&t=4477#p22713

finally you want a recent kernel with patches for the excito b3:

http://files.la-mouette.net/bubba/bubba3-kernel_3.2.62-1_armel.deb
http://files.la-mouette.net/bubba/bubba3-kernel-headers-armel_3.2.62-1_armel.deb
sudo dpkg -i bubba3-kernel_3.2.62-1_armel.deb bubba3-kernel-headers-armel_3.2.62-1_armel.deb
reboot

possibly useful resources

background info threads on the forum

comments powered by Disqus