The rootfs & kernel images you download need to match. The loadable modules for the kernel are on the rootfs partition in /lib/modules/ - if you get the wrong combination, you will get some error messages during bootup that it cannot access /lib/modules/x.y.z-moko123 - in this case swap either the kernel or the rootfs to match the other's version. Unfortunately the rootfs filename does not seem to tell what kernel version it is compatible with.

+

+

The "moko123" in the error message example above indicates the openmoko patchset version.

Necessary files are at:

Necessary files are at:

Line 13:

Line 17:

* [[dfu-util]] (the precompiled binary on http://buildhost.openmoko.org is for Linux/i386)

* [[dfu-util]] (the precompiled binary on http://buildhost.openmoko.org is for Linux/i386)

* openmoko-devel-image-fic-gta01-2007********.rootfs.jffs2

* openmoko-devel-image-fic-gta01-2007********.rootfs.jffs2

−

* uImage-2.6.21.*-moko10-r*_0_****_0-fic-gta01.bin

+

* uImage-2.6.21.*-moko*-r*_0_****_0-fic-gta01.bin

* for phase 0 (Bv03) phones:

* for phase 0 (Bv03) phones:

** Tested by a few people:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin<BR>MD5SUM: 60c5aeba1bd6642b05b3a5e6f2dafe83

** Tested by a few people:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin<BR>MD5SUM: 60c5aeba1bd6642b05b3a5e6f2dafe83

Revision as of 06:11, 10 August 2007

This describes how to update your openmoko to the latest software. We'll update the kernel, the root filesystem and optionally u-boot.

WARNING: If you're updating u-boot and don't have a Debug Board, you might render your unit unusable if the flashing procedure is interrupted

Contents

Files to download

The rootfs & kernel images you download need to match. The loadable modules for the kernel are on the rootfs partition in /lib/modules/ - if you get the wrong combination, you will get some error messages during bootup that it cannot access /lib/modules/x.y.z-moko123 - in this case swap either the kernel or the rootfs to match the other's version. Unfortunately the rootfs filename does not seem to tell what kernel version it is compatible with.

The "moko123" in the error message example above indicates the openmoko patchset version.

Note: In case there are more than one available usb devices use -d 0x1457:0x5119 option.

To update u-boot:

Warning: Do not update u-boot unless you have debug board or are really sure about what you are doing. Flashing a wrong u-boot image will brick your device! Note especially that image below is for GTA01B_v03, not GTA01B_v04

...now, you'll end up with system that boots, but does not see audio/SD card. You'll need to download corresponding modules.tgz and copy them over to openmoko. - UPDATE: GTA01 phones appear to not need this step, as long as you have installed a kernel that matches the version of the modules contained in the root image ('uname -r' will show the kernel version, and 'ls /lib/modules/' will show the modules that are present).

If you upload rootfs image that is smaller that previous one it won't work - you need to attach to bootloader, erase NAND and then upload your rootfs first:

cu -l /dev/ttyACM0
GTA01Bv3 # nand erase rootfs

Old versions of uboot are buggy: You may have to press the aux button few times so that machine does not sleep while flashing. It also does not erase rootfs before flashing it... to do that, do minicom /dev/ttyACM0, then nand erase clean rootfs . Unfortunately, old versions of uboot are not really usable, because they fail to enable high 64MB of RAM, and you get nasty crashes after kernel boots.

Good luck!

Troubleshooting notes

If you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.

If dfu-util reports a message like the following, before it starts flashing:

Resetting USB...
not at least 2 device changes found ?!?
Lost device after RESET?

just retry the command - it should work on a second run.

This message can also occur if you connect the usb cable before you are in the bootloader menu. You must carefully follow the sequence described at the beginning of this article and not connect the USB cable too early.

dfu-util does not seem to be able to download files if run from linux running under
VMWare on a Windows OS host.

Views

Personal tools

This describes how to update your openmoko to the latest software. We'll update the kernel, the root filesystem and optionally u-boot.

WARNING: If you're updating u-boot and don't have a Debug Board, you might render your unit unusable if the flashing procedure is interrupted

Files to download

The rootfs & kernel images you download need to match. The loadable modules for the kernel are on the rootfs partition in /lib/modules/ - if you get the wrong combination, you will get some error messages during bootup that it cannot access /lib/modules/x.y.z-moko123 - in this case swap either the kernel or the rootfs to match the other's version. Unfortunately the rootfs filename does not seem to tell what kernel version it is compatible with.

The "moko123" in the error message example above indicates the openmoko patchset version.

Note: In case there are more than one available usb devices use -d 0x1457:0x5119 option.

To update u-boot:

Warning: Do not update u-boot unless you have debug board or are really sure about what you are doing. Flashing a wrong u-boot image will brick your device! Note especially that image below is for GTA01B_v03, not GTA01B_v04

...now, you'll end up with system that boots, but does not see audio/SD card. You'll need to download corresponding modules.tgz and copy them over to openmoko. - UPDATE: GTA01 phones appear to not need this step, as long as you have installed a kernel that matches the version of the modules contained in the root image ('uname -r' will show the kernel version, and 'ls /lib/modules/' will show the modules that are present).

If you upload rootfs image that is smaller that previous one it won't work - you need to attach to bootloader, erase NAND and then upload your rootfs first:

cu -l /dev/ttyACM0
GTA01Bv3 # nand erase rootfs

Old versions of uboot are buggy: You may have to press the aux button few times so that machine does not sleep while flashing. It also does not erase rootfs before flashing it... to do that, do minicom /dev/ttyACM0, then nand erase clean rootfs . Unfortunately, old versions of uboot are not really usable, because they fail to enable high 64MB of RAM, and you get nasty crashes after kernel boots.

Good luck!

Troubleshooting notes

If you're facing errors in seemingly random places during the flashing of images, most likely the USB hub or cable through which your Neo1973 is connected, is of too poor quality. It is recommended that you always connect the phone directly to the host when using dfu-util.

If dfu-util reports a message like the following, before it starts flashing:

Resetting USB...
not at least 2 device changes found ?!?
Lost device after RESET?

just retry the command - it should work on a second run.

This message can also occur if you connect the usb cable before you are in the bootloader menu. You must carefully follow the sequence described at the beginning of this article and not connect the USB cable too early.

dfu-util does not seem to be able to download files if run from linux running under
VMWare on a Windows OS host.