Flashing the Neo FreeRunner
From Openmoko
Kapiteined (Talk | contribs) |
Kapiteined (Talk | contribs) (→Distibution specific) |
||
Line 61: | Line 61: | ||
* It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file. | * It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file. | ||
* Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums. | * Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
[[Category:Flashing Openmoko| ]] | [[Category:Flashing Openmoko| ]] |
Revision as of 12:02, 31 August 2010
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |
Most of the software on the Neo FreeRunner can be updated or changed. The root filesystem, the kernel, and the Bootloader can be modified with the program dfu-util from a computer. This page does not describe flashing the NOR Flash which requires a debug board. See Flashing NOR for this procedure.
The NAND Flash is divided into 3 partitions for the bootloader, kernel, and root filesystem. Each component can be flashed separately.
The bootloader is a small program that runs first and starts everything else when th/e FreeRunner is powered on. The bootloader is independent of the distribution you use. The kernel and the root filesystem are provided by the distribution.
Before you start: Erasing the root filesystem or flashing the bootloader are radical measures. Take the time to ponder the necessity. Sometimes problems can be fixed by only updating the kernel.
Contents |
Image files to flash into FreeRunner memory
There are separate image files for all 3 software components. In most cases you will need to install a Kernel (uImage) and a Root Filesystem (rootfs). In rare cases, when there is a bug you need fixed, you will also install a new bootloader.
Please read Distributions for choosing the distribution which fits your needs, and then see Download for downloading.
Do a backup
If you have a working image that you're happy with but want to try something different, you should probably do a Backup.
Using dfu-util
Dfu-util is a command-line tool to flash the FreeRunner. It is available for Linux, MacOS X, and Windows. DFU-util allows you to connect to the FreeRunner through the USB cable and control its bootloader. That connection uses a special protocol which addresses the bootloader's interface, and differs from USB networking. For more details, see the separate dfu-util page.
See Manuals/Dfu-util
NeoTool (GUI)
Instead of the command-line-based DFU-util, you can use NeoTool, a graphical tool for flashing the FreeRunner: see the NeoTool page.
DFUScript - A command line script to simplify dfu-util
DFUScript was developed to assist users who have multiple devices in using dfu-util via the command line. Information on where to download and use DFUScript can be found on DFUScript.
Alternative: using nandwrite
This approach involves writing the rootfs into nand directly on the phone from a system already running on it, not necessarily via usb from a computer.
If you have a system running from a different partition that you intend to flash (for example sd card), you can use nandwrite to do the work, which is much faster (it takes about 30s to write a 59MB jffs2 image).
See Nandwrite for more information.
Optional: Verifying boot-loader version
(Optional) After an upgrade, you may wish to check that the u-boot version matches the one you have just flashed. You can use 'grep Bootloader /dev/mtdblock1' from a shell on the FreeRunner (and possibly the 1973 as well) to get the NAND u-boot version, like this:
root@om-gta02:~# grep Bootloader /dev/mtdblock1 Neo1973 Bootloader U-Boot 1.3.2+gitr18+64eb10cab8055084ae25ea4e73b66dd03cc1a0cb
You can grep for the same string in /dev/mtdblock0 to retrieve the NOR u-boot version:
root@om-gta02:~# grep Bootloader /dev/mtdblock0 Neo1973 Bootloader U-Boot 1.3.2-moko12
Troubleshooting
Okay, so you just reflashed. The splash screen pops up, but uBoot fail to load the kernel, and return to boot menu. WTF?
- It is likely that the wrong bits went to the wrong place. Try reflashing just the kernel, double checking that you select the uImage.bin kernel file, not the u-boot.bin bootloader file.
- Try redownloading and reflashing the kernel, checking file integrity with the MD5 hash sums.