Flashing the Neo 1973

From Openmoko

(Difference between revisions)
Jump to: navigation, search
(Actually flashing things into the device)
(Files to download: Updated for GTA01BV4)
Line 3: Line 3:
 
== Files to download ==
 
== Files to download ==
  
Neccessary files are at http://buildhost.openmoko.org/tmp/deploy/images/ (the precompiled [[dfu-util]] binary there is for Linux/i386, you may need to compile your own for other platforms).
+
Necessary files are at:
 +
*http://buildhost.openmoko.org/tmp/deploy/images/
 +
 
 +
*http://chooseopen.com/openmoko/build/ (Unofficial, temporary location of more current builds.)
  
 
Get:
 
Get:
* [[dfu-util]]
+
* [[dfu-util]] (the precompiled binary on http://buildhost.openmoko.org is for Linux/i386)
* openmoko-devel-image-fic-gta01-20070501054014.rootfs.jffs2
+
* openmoko-devel-image-fic-gta01-2007********.rootfs.jffs2
* uImage-2.6.21.1-moko10-r0_0_1883_0-fic-gta01.bin
+
* uImage-2.6.21.*-moko10-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
 
** Tested by hrw:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2062.bin<BR>MD5SUM: 716f1eba9b0f2be4a0a3be4a56724935
 
** Tested by hrw:<BR>u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2062.bin<BR>MD5SUM: 716f1eba9b0f2be4a0a3be4a56724935
* for phase 1 phones, uboot update should not be neccessary.
+
* for phase 1 phones, uboot update should not be necessary.
 
+
You may want to take the latest versions.
+
  
 
== Putting the device into DFU mode ==
 
== Putting the device into DFU mode ==

Revision as of 04:11, 26 July 2007

This describes how to update your openmoko to the latest software. We'll update the kernel, the root filesystem and optionally u-boot (new uboot is only recommended for Phase0 phones, because otherwise you get kernel crashes later; you should probably not flash uboot on a Phase 1 phone without a very good reason).

Contents

Files to download

Necessary files are at:

Get:

  • dfu-util (the precompiled binary on http://buildhost.openmoko.org is for Linux/i386)
  • openmoko-devel-image-fic-gta01-2007********.rootfs.jffs2
  • uImage-2.6.21.*-moko10-r*_0_****_0-fic-gta01.bin
  • for phase 0 (Bv03) phones:
    • Tested by a few people:
      u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin
      MD5SUM: 60c5aeba1bd6642b05b3a5e6f2dafe83
    • Tested by hrw:
      u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2062.bin
      MD5SUM: 716f1eba9b0f2be4a0a3be4a56724935
  • for phase 1 phones, uboot update should not be necessary.

Putting the device into DFU mode

You'll need to boot your openmoko into uboot menu (hold AUX button while pressing power button). Unplug all other usb devices from the host. Plug the phone directly into the host not via a hub.

It also seems that once you've booted your openmoko into the uboot menu, you then should plug it into the USB port. It should show a status message when you do so in terms of "Switching to DFU mode".

Actually flashing things into the device

Double check that u-boot matches your hardware version. Flashing u-boot is really a critical part. You probably only want to do that on phase0 phones.

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 wrong u-boot image will brick your device! Note especially that image below is for GTA01B_v03, not GTA01B_v04

./dfu-util -a 1 -R -D u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin

To update the kernel:

./dfu-util -a 3 -R -D ./uImage-2.6.21.1-moko10-r0_0_1883_0-fic-gta01.bin

To update the root filesystem:

./dfu-util -a 5 -R -D ./openmoko-devel-image-fic-gta01-20070501054014.rootfs.jffs2

...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.

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.

See other notes on Dfu-util page.

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 (new uboot is only recommended for Phase0 phones, because otherwise you get kernel crashes later; you should probably not flash uboot on a Phase 1 phone without a very good reason).

Files to download

Neccessary files are at http://buildhost.openmoko.org/tmp/deploy/images/ (the precompiled dfu-util binary there is for Linux/i386, you may need to compile your own for other platforms).

Get:

  • dfu-util
  • openmoko-devel-image-fic-gta01-20070501054014.rootfs.jffs2
  • uImage-2.6.21.1-moko10-r0_0_1883_0-fic-gta01.bin
  • for phase 0 (Bv03) phones:
    • Tested by a few people:
      u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin
      MD5SUM: 60c5aeba1bd6642b05b3a5e6f2dafe83
    • Tested by hrw:
      u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2062.bin
      MD5SUM: 716f1eba9b0f2be4a0a3be4a56724935
  • for phase 1 phones, uboot update should not be neccessary.

You may want to take the latest versions.

Putting the device into DFU mode

You'll need to boot your openmoko into uboot menu (hold AUX button while pressing power button). Unplug all other usb devices from the host. Plug the phone directly into the host not via a hub.

It also seems that once you've booted your openmoko into the uboot menu, you then should plug it into the USB port. It should show a status message when you do so in terms of "Switching to DFU mode".

Actually flashing things into the device

Double check that u-boot matches your hardware version. Flashing u-boot is really a critical part. You probably only want to do that on phase0 phones.

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 wrong u-boot image will brick your device! Note especially that image below is for GTA01B_v03, not GTA01B_v04

./dfu-util -a 1 -R -D u-boot-gta01bv3-r8_70124c2602ae2d4c5d3dba05b482d91548242de8_0_2040.bin

To update the kernel:

./dfu-util -a 3 -R -D ./uImage-2.6.21.1-moko10-r0_0_1883_0-fic-gta01.bin

To update the root filesystem:

./dfu-util -a 5 -R -D ./openmoko-devel-image-fic-gta01-20070501054014.rootfs.jffs2

...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.

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.

See other notes on Dfu-util page.