Editing Documentation/Maemo 5 Developer Guide/Development Environment/Maemo Flasher-3.5
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
- | + | = Maemo Flasher-3.5 Tool = | |
- | Maemo Flasher-3.5 Tools | + | The Maemo Flasher-3.5 tool is used to flash data to the Maemo device internal 256MB of NAND, which is where the bootloader, kernel, and rootfs (all of which make up the operating system) are stored. Flasher-3.5 can be used to upgrade the firmware, wipe the Maemo device and start from scratch, flash certain specific components, or change a number of hardware flags. |
+ | |||
+ | Maemo Flasher-3.5 Tools can be downloaded from the [http://tablets-dev.nokia.com/maemo-dev-env-downloads.php Maemo Development Environment Downloads] page. | ||
== Release details == | == Release details == | ||
- | * Version: 2.5 | + | * Version: 2.5.2 - Final |
* Date: October 23, 2009 | * Date: October 23, 2009 | ||
- | * Hardware supported: | + | * Hardware supported: Nokia N800, N810 and N810 WiMAX with Diablo 4.1.x and N900 with Fremantle 5.x |
- | + | ||
- | + | ||
=== Supported operating systems === | === Supported operating systems === | ||
- | + | * Linuxes (Debian installation package available for Debian based Linuxes and tar ball for others) | |
- | + | * Windows XP with SP3, Vista with SP2 and Windows 7 (but not 64 bit, see Troubleshooting) | |
- | * | + | * Mac OS X 10.5 Leopard and 10.6 Snow Leopard |
- | + | ||
- | * Windows XP with SP3, Vista with SP2 and Windows 7 ( | + | |
- | * Mac OS X 10.5 Leopard and 10.6 Snow Leopard | + | |
- | + | ||
- | Linux and Windows versions of | + | Linux and Windows versions of Flasher-3.5 Tool support x86/32-bit host PC architectures. Mac OS X versions support x86/32-bit and PPC/32-bit architectures. |
=== Files included in the delivery packages === | === Files included in the delivery packages === | ||
- | ;flasher-3.5 | + | ; flasher-3.5 : flasher binary file (flasher-3.5.exe for Windows) |
- | : flasher binary file ( | + | ; libusb : USB library (only for Windows and Mac OS X installations) |
- | ;libusb | + | ; COPYING_LGPL.txt : license text for libusb (only for Windows and Mac OS X installations) |
- | : USB library (only for Windows and Mac OS X installations) | + | ; License_Agreement.txt : license and disclaimer text for flasher binary |
- | ;COPYING_LGPL.txt | + | ; Help.txt : short command line help |
- | : license text for libusb (only for Windows and Mac OS X installations) | + | ; Readme_Maemo_Flasher-3.5.txt : Flasher-3.5 readme file |
- | ;License_Agreement.txt | + | |
- | : license and disclaimer text for flasher binary | + | |
- | ;Help.txt | + | |
- | : short command line help | + | |
- | ;Readme_Maemo_Flasher-3.5.txt | + | |
- | : Flasher-3.5 readme file | + | |
== Downloads and documentation == | == Downloads and documentation == | ||
Line 54: | Line 44: | ||
== Installation == | == Installation == | ||
- | The Maemo Flasher-3.5 tool should be installed from the installation package provided for Debian | + | The Maemo Flasher-3.5 tool should be installed from the installation package provided for Debian based Linuxes, Windows and Mac OS X. For Linux distributions other than Debian-based ones, a compressed tar file is also provided. |
Installation of Maemo Flasher-3.5 requires administration rights in all supported operating systems. | Installation of Maemo Flasher-3.5 requires administration rights in all supported operating systems. | ||
Line 61: | Line 51: | ||
The Maemo Flasher-3.5 Tool is a command line utility that supports N900 device with Fremantle 5.x platform releases and N800, N810 and N810 WiMAX devices with Maemo Diablo 4.1.x platform releases. | The Maemo Flasher-3.5 Tool is a command line utility that supports N900 device with Fremantle 5.x platform releases and N800, N810 and N810 WiMAX devices with Maemo Diablo 4.1.x platform releases. | ||
+ | |||
{{ambox|text=Older Maemo devices (like Nokia 770) and older Maemo platform releases may require a specific Flasher Tool from [http://tablets-dev.nokia.com/d3.php Maemo Flasher Tool archive].}} | {{ambox|text=Older Maemo devices (like Nokia 770) and older Maemo platform releases may require a specific Flasher Tool from [http://tablets-dev.nokia.com/d3.php Maemo Flasher Tool archive].}} | ||
+ | |||
Flasher-3.5 Tool is run from a Linux, Windows or Mac host computer as a command line tool, and it sends data and commands to the connected Maemo device via USB. | Flasher-3.5 Tool is run from a Linux, Windows or Mac host computer as a command line tool, and it sends data and commands to the connected Maemo device via USB. | ||
Line 74: | Line 66: | ||
* set and clear R&D flags for a Maemo device when in R&D mode | * set and clear R&D flags for a Maemo device when in R&D mode | ||
* boot a Maemo device with additional kernel startup parameters | * boot a Maemo device with additional kernel startup parameters | ||
- | |||
All command line parameters supported by Flasher-3.5 Tool together with some | All command line parameters supported by Flasher-3.5 Tool together with some | ||
Line 80: | Line 71: | ||
Flash always the FIASCO image first and after that immediately without booting device the latest available eMMC image, if needed. The eMMC image does not need to be flashed every time when a new FIASCO image is flashed. Flashing the eMMC image also overwrites all data from the internal memory card. | Flash always the FIASCO image first and after that immediately without booting device the latest available eMMC image, if needed. The eMMC image does not need to be flashed every time when a new FIASCO image is flashed. Flashing the eMMC image also overwrites all data from the internal memory card. | ||
+ | |||
{{ambox|text=Never flash/reflash the eMMC content after you bootup the N900 device with new FIASCO image because all the optified content that gets automatically moved from rootfs to eMMC during first device bootup will be lost.}} | {{ambox|text=Never flash/reflash the eMMC content after you bootup the N900 device with new FIASCO image because all the optified content that gets automatically moved from rootfs to eMMC during first device bootup will be lost.}} | ||
+ | |||
=== Setting Maemo device to flashing mode === | === Setting Maemo device to flashing mode === | ||
Line 93: | Line 86: | ||
For Nokia N900 with a Fremantle image, flashing mode can be enabled by following these steps: | For Nokia N900 with a Fremantle image, flashing mode can be enabled by following these steps: | ||
- | # Switch off the Maemo device | + | # Switch off the Maemo device |
- | + | ||
# Press and hold down the 'u' key | # Press and hold down the 'u' key | ||
- | # Connect a USB cable between the Maemo device and host PC while holding down the 'u' key | + | # Connect a USB cable between the Maemo device and host PC while holding down the 'u' key |
- | # When the | + | # When the USB cable is connected, it powers the Maemo device and sets it to flashing mode |
# When the USB icon appears in the upper right-hand corner, the Maemo device is in flashing mode | # When the USB icon appears in the upper right-hand corner, the Maemo device is in flashing mode | ||
# Release the 'u' key | # Release the 'u' key | ||
Line 105: | Line 97: | ||
The Maemo device waits indefinitely for Flasher-3.5 input when it is in flashing mode. If flashing is tried without first setting the Maemo device to flashing mode, image flashing may fail because the Maemo device may not be able to change to the flashing mode automatically. | The Maemo device waits indefinitely for Flasher-3.5 input when it is in flashing mode. If flashing is tried without first setting the Maemo device to flashing mode, image flashing may fail because the Maemo device may not be able to change to the flashing mode automatically. | ||
- | {{ambox|text=Make sure that the device battery is fully charged before doing any sort of flashing operation because flashing fails if the battery runs out of power during the image flashing operation, and the device may not be able to charge an empty battery after a failure in flashing. | + | |
+ | {{ambox|text=Make sure that the device battery is fully charged before doing any sort of flashing operation because flashing fails if the battery runs out of power during the image flashing operation, and the device may not be able to charge an empty battery after a failure in flashing.}} | ||
+ | |||
=== Command line options === | === Command line options === | ||
Line 116: | Line 110: | ||
; -k, --kernel=ARG : Location of kernel image | ; -k, --kernel=ARG : Location of kernel image | ||
; -n, --initfs=ARG : Location of initfs image | ; -n, --initfs=ARG : Location of initfs image | ||
- | ; -r, --rootfs=ARG : Location of root JFFS2 | + | ; -r, --rootfs=ARG : Location of root JFFS2 image |
; --cmt-2nd=ARG : Location of CMT FIASCO 2nd image | ; --cmt-2nd=ARG : Location of CMT FIASCO 2nd image | ||
; --cmt-algo=ARG : Location of CMT FIASCO algorithm image | ; --cmt-algo=ARG : Location of CMT FIASCO algorithm image | ||
Line 151: | Line 145: | ||
=== Flasher-3.5 usage examples === | === Flasher-3.5 usage examples === | ||
- | To get a list of supported command line options, run : | + | ; To get a list of supported command line options, run : |
- | + | $ flasher-3.5 | |
- | + | $ flasher-3.5 --set-rd-flags | |
If you wish to perform commands other than image flashing, then omit the -R option as rebooting the Maemo device may reset the given configuration change back to normal. | If you wish to perform commands other than image flashing, then omit the -R option as rebooting the Maemo device may reset the given configuration change back to normal. | ||
- | To enable R&D mode for Maemo device, run: | + | ; To enable R&D mode for Maemo device, run : |
- | + | $ flasher-3.5 –-enable-rd-mode | |
- | To warm flash an image to the Maemo device, run: | + | ; To warm flash an image to the Maemo device, run : |
- | + | $ flasher-3.5 -F <FIASCO image> -f -R | |
- | Replace <FIASCO image> with the the firmware image you downloaded from Nokia. This flashes a FIASCO image to your Maemo device. The procedure is the same for all other image flashing components (for example, separate kernel, rootfs and eMMC images), see the option list for details. | + | Replace <FIASCO image> with the the firmware image you downloaded from Nokia. This flashes a FIASCO image to your Maemo device and reboots the device after it is completed (at which point you can unplug the USB). The procedure is the same for all other image flashing components (for example, separate kernel, rootfs and eMMC images), see the option list for details. |
- | To print out Maemo device product code and product HW revision, run: | + | ; To print out Maemo device product code and product HW revision, run : |
- | + | $ flasher-3.5 -i | |
- | To cold flash (needed usually when the bootloader has been changed), run: | + | ; To cold flash (needed usually when the bootloader has been changed), run : |
- | + | $ flasher-3.5 -c -h RX-51:<hw_id> -F <FIASCO image> -f -R | |
The code "RX-51" used in the example is the product code for the N900 device. The <hw_id> is the product HW revision, which is a 4-digit code. Both product code and HW revision can be found from the type label of the device to be flashed. The type label is on the back of the device, underneath the battery. | The code "RX-51" used in the example is the product code for the N900 device. The <hw_id> is the product HW revision, which is a 4-digit code. Both product code and HW revision can be found from the type label of the device to be flashed. The type label is on the back of the device, underneath the battery. | ||
- | To flash a kernel with separate kernel image, run: | + | ; To flash a kernel with separate kernel image, run : |
- | + | $ flasher-3.5 -k <kernel image> -f -R | |
- | To flash just a part of the whole FIASCO image (for example, only rootfs) run: | + | ; To flash just a part of the whole FIASCO image (for example, only rootfs) run : |
- | + | $ flasher-3.5 -F <FIASCO image> --flash-only=rootfs -f -R | |
- | This flashes only the rootfs from the <FIASCO image>. | + | This flashes only the rootfs from the <FIASCO image> and reboot the device. |
- | To access to the individual parts of the FIASCO image, run: | + | ; To access to the individual parts of the FIASCO image, run : |
- | + | $ flasher-3.5 -F <FIASCO image> -u | |
which expands <FIASCO image> to your current directory. | which expands <FIASCO image> to your current directory. | ||
== Tips & troubleshooting == | == Tips & troubleshooting == | ||
+ | * It appears that Windows 7 64 bit doesn't handle USB in the same manner, and this causes problems (http://talk.maemo.org/showpost.php?p=489976&postcount=4). Workaround by using another PC, or creating a virtual machine of the appropriate type (http://talk.maemo.org/showpost.php?p=490152&postcount=5). | ||
- | |||
* If you get a "Permission denied" error, then make sure you have execution rights to the Flasher-3.5 binary executable. | * If you get a "Permission denied" error, then make sure you have execution rights to the Flasher-3.5 binary executable. | ||
+ | |||
* You need to have administrator rights or run command with sudo in Linux if you get errors like this: ''Error claiming USB interface: Operation not permitted'' | * You need to have administrator rights or run command with sudo in Linux if you get errors like this: ''Error claiming USB interface: Operation not permitted'' | ||
+ | |||
* It may help to connect the USB cable directly to the computer USB ports, avoiding the use of a hub. Using the USB ports in the back of a computer can also work better than using those in the front. | * It may help to connect the USB cable directly to the computer USB ports, avoiding the use of a hub. Using the USB ports in the back of a computer can also work better than using those in the front. | ||
- | * Flash always the FIASCO image first and after that immediately the latest available eMMC image, if needed. '''Never flash/reflash the eMMC content after you bootup the device.''' Reason: All the optified content that is moved from rootfs to eMMC will be lost. The eMMC image does not need to be flashed every time when a new FIASCO image is flashed. Flashing the eMMC image also overwrites all data from the internal memory card. | + | |
+ | * Flash always the FIASCO image first and after that immediately the latest available eMMC image, if needed. '''Never flash/reflash the eMMC content after you bootup the device.''' Reason: All the optified content that is moved from rootfs to eMMC will be lost. The eMMC image does not need to be flashed every time when a new FIASCO image is flashed. Flashing the eMMC image also overwrites all data from the internal memory card. | ||
+ | |||
* If warm flashing fails, try to switch off the power from the Maemo device, remove the USB cable and try again from the beginning. | * If warm flashing fails, try to switch off the power from the Maemo device, remove the USB cable and try again from the beginning. | ||
- | * If cold flashing fails, try to warm flash the Maemo device first using the same FIASCO image. After that try cold flashing again. | + | |
+ | * If cold flashing fails, try to warm flash the Maemo device first using the same FIASCO image. After that try cold flashing again. | ||
+ | |||
* If Flasher-3.5 is not supported on your operating system you can try to install Maemo SDK Virtual Image from [http://tablets-dev.nokia.com/maemo-dev-env-downloads.php Maemo Development Environment Downloads] page and flash Maemo device from Virtual Image (which includes Ubuntu). This may or may not work for you depending on how well virtualization technology you use supports USB on your HW. | * If Flasher-3.5 is not supported on your operating system you can try to install Maemo SDK Virtual Image from [http://tablets-dev.nokia.com/maemo-dev-env-downloads.php Maemo Development Environment Downloads] page and flash Maemo device from Virtual Image (which includes Ubuntu). This may or may not work for you depending on how well virtualization technology you use supports USB on your HW. | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
== Known issues == | == Known issues == | ||
Line 219: | Line 210: | ||
* Flasher-3.5 does not work with Mandriva 2010 distro because Flasher-3.5 is not able to locate the correct USB address and timeouts | * Flasher-3.5 does not work with Mandriva 2010 distro because Flasher-3.5 is not able to locate the correct USB address and timeouts | ||
- | ** workaround | + | ** no known workaround |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
* On Windows host PC if Nokia PC Suite has been installed to the environment once Windows has started also PC Suite starts running. If Nokia PC Suite is running when N900 is plugged in to the PC with USB cable and with the u key held down, Nokia PC Suite gives an error message and Flasher-3.5 does not see the device. | * On Windows host PC if Nokia PC Suite has been installed to the environment once Windows has started also PC Suite starts running. If Nokia PC Suite is running when N900 is plugged in to the PC with USB cable and with the u key held down, Nokia PC Suite gives an error message and Flasher-3.5 does not see the device. | ||
** workaround is to exit Nokia PC Suite before plugging in N900 with USB cable and starting Flasher-3.5 | ** workaround is to exit Nokia PC Suite before plugging in N900 with USB cable and starting Flasher-3.5 | ||
- | |||
- | |||
- | |||
- | |||
- | |||
[[Category:Development]] | [[Category:Development]] |
Learn more about Contributing to the wiki.