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:
The  Maemo Flasher-3.5 tool is used to flash data to the Maemo device internal 256 MB of NAND, which is where the bootloader, kernel, and rootfs (all of which make up the operating system) are stored. For N900 it is also used to format and flash the eMMC internal storage card (32GB). Flasher-3.5 can be used to upgrade to a new firmware, wipe the Maemo device and start from scratch, flash certain specific components, or change a number of hardware flags. It also can load and start a kernel and auxiliary system to RAM, e.g for recovery purposes, see [http://wiki.meego.com/ARM/N900/Using_Rescue_Initrd]
The  Maemo Flasher-3.5 tool is used to flash data to the Maemo device internal 256 MB of NAND, which is where the bootloader, kernel, and rootfs (all of which make up the operating system) are stored. For N900 it is also used to format and flash the eMMC internal storage card (32GB). Flasher-3.5 can be used to upgrade to a new firmware, wipe the Maemo device and start from scratch, flash certain specific components, or change a number of hardware flags. It also can load and start a kernel and auxiliary system to RAM, e.g for recovery purposes, see [http://wiki.meego.com/ARM/N900/Using_Rescue_Initrd]
-
Maemo Flasher-3.5 Tools could be downloaded from the [http://tablets-dev.nokia.com/maemo-dev-env-downloads.php Maemo Development Environment Downloads] page in the past.
+
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 ==
Line 93: Line 93:
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 completely (a Maemo device connected to a power source is never completely off for charging purposes, so you have to unplug your device)
+
# Switch off the Maemo device  
-
# (plug in one end of the USB cable to N900, don't plug other end yet)
+
# 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 (you may keep the USB cable plugged in to N900, it doesn't detect a cable that's not connected to PC)
+
# Connect a USB cable between the Maemo device and host PC while holding down the 'u' key
-
# When the N900 gets connected to PC, this powers the Maemo device and sets it to flashing mode
+
# 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 104:
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. USB icon not showing up, or vanishing after a short time and device tries to boot to linux, is a clear indication of a weak battery}}
+
{{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 115:
;      -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 / UBIFS image
+
;      -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 160: Line 159:
To enable R&D mode for Maemo device, run:
To enable R&D mode for Maemo device, run:
-
  $ flasher-3.5 --enable-rd-mode
+
  $ 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:
Line 196: Line 195:
== 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). There is a fix that works for Windows7 (works on 64bit) here: http://talk.maemo.org/showpost.php?p=849980&postcount=20.
+
* 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. (Notice this recommendation has changed to eMMC first, then powerdown and flash rootfs. Rationale: a system will recover from accidental boots this way. If user is confident about avoiding intermediate boot, the original sequence works as well and is more convenient)
+
* 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. (Notice this recommendation has changed to rootfs first, then eMMC. Except for Nokia's download page, where the comment is still wrong on that)
* 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. NB cold flashing is rarely ever needed and not recommended for end users. It's meant only to recover from a defect or outdated NOLO bootloader.
+
* 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.
* If you use 64-bit Linux, Flasher may work on it.
* If you use 64-bit Linux, Flasher may work on it.
Line 230: Line 229:
== N900 flasher ==
== N900 flasher ==
-
The same tool is located on N900 itself under name "flasher" (<code>/usr/bin/flasher</code>) and can be used for changing R&D mode, etc.
+
The same tool is located on N900 itself under name "flasher" (<code>/usr/bin/flasher</code>) and can be used for changing R&D mode, etc. Package name is [http://maemo.org/packages/view/flasher/ flasher].
-
SSU also is using this local flasher, to update kernels. Package name is [http://maemo.org/packages/view/flasher/ flasher].
+
   
   
[[Category:Development]]
[[Category:Development]]

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)

Templates used on this page: