maanantai 21. kesäkuuta 2010

Flashing when N900 gets into reboot loop

Maemo is full enough Linux to gladly offer all the rope needed for hanging yourself, no stupid questions like "do you really want to change the file extension" or "are you sure you want to delete every file in the system" when you just got the rights to do that.

Thus, when entering the root mode, you should already be prepared for non-trivial problems, including losing your data and/or having to live without your device [working] until you fix it. The most common failure with Maemo devices is the reboot loop. When starting, it vibrates momentarily, shows the Nokia logo, then the row of five blinking circles. After that is blanks, vibrates, shows the Nokia logo and the circle row, on and on, forever (or as long as your battery lasts, whichever comes first). In this state you can't even charge as it will never be up long enough to charge.

Fortunately, everything is not lost, you should be able to just re-flash the OS partition and lose only some configuration (depending if you had those backed up or not) and might need to re-install applications. If the firmware re-flashing doesn't help, you might need flashing the eMMC (internal flash drive) which will lose all your data stored in the internal flash drive.

Anyway, here is what to do when the reboot loop occurs:

0. Remove battery ASAP and get everything ready. You'll need a pretty full battery and the N900 won't charge it in this stage.
1. Get Flasher 3.5 from http://tablets-dev.nokia.com/maemo-dev-env-downloads.php
2. Have ready the firmware file installed in the N900 or get the default one (latest global Maemo 5) from http://tablets-dev.nokia.com/nokia_N900.php Also get the latest/used eMMC file from there if don't have one.
3. Remove battery
4. Press "u" and keep pressed
5. Insert battery
6. Nokia-logo appears, no backlight. USB-logo appears, release "u".
7. Plug USB-cable to PC.
8. The internal flash might now be mounted to the PC, back-up if yes.
9. Command prompt, "flash-3.5.exe -F -f <OS-file>"
10. Should flash, when ready and nothing happens remove USB cable and it will reboot
11. If doesn't want to flash, fully recharge battery with another N900 or whatever device with the same battery or a N810
12. If still not flashing, try flashing with "--enable-rd-mode", then with "--disable-rd-mode"
13. Hopefully works now and most of stuff is still intact. If still goes into the reboot loop, flash the eMMC file similarly and try again.

After this, you will have empty desktops and no installed applications to be found. Start Application Manager and do update, it _might_ re-install the apps so that they can be found again. Haven't seen that happening so have been re-installing the apps.

To install all the apps, you can either use the GUI App Manager, scroll around the list and wait forever between each installation, or use apt-get on the command line. To install several apps, you might want to write a simple script that does it, either each app on its own line or all of them with a single apt-get call.

apt-get install -y rootsh
apt-get install -y openssh
apt-get install -y leafpad
apt-get install -y coreutils-gnu

or just

apt-get install -y rootsh openssh leafpad coreutils-gnu

These have to be run as root.

To restore desktops, you would have needed to store them with Desktop Activity Manager first:
1. Install Desktop Activity Manager
2. Touch the status menu at any screen
3. Touch "Desktop Activity"
4. Hit "New" (just to be sure, DAM stores the existing desktop configuration as "Default" at installation or startup anyway)
5. Give it a name
6. OK, close DAM
7. The activities are stored in /home/user/.activities/activities, back them up somewhere now and then to be sure you got them when needed.

1 kommentti:

  1. This is a great article. I had the same reboot loop problem and this helped to get out of that.

    Once small correction in step 6. the u key should be released after connecting the USB cable when windows finishes installing the drivers.

    More info here:
    http://wiki.maemo.org/Updating_the_tablet_firmware#Updating_or_re-flashing_the_firmware_using_the_Flasher

    VastaaPoista