ReferencePlatforms/Imaging/Nokia N810: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(60 intermediate revisions by 4 users not shown)
Line 1: Line 1:
=Version 1=
==Step 1: Reset Hardware==
This is an interim solution while the booting off memory card possibility is fully explored
'''NOTE: You should be in the RF Shielded room with the door *CLOSED* to ensure machines connect to correct network'''
==Requirements==
You will need the following things:
*Nokia N810
*Nokia USB Cable
*Nokia Charger
*PC running Linux
**ARM binary of mkfs.jffs2
***available in initfs_flasher.tgz at http://fanoush.wz.cz/maemo/
**Nokia's flasher-3.0 program
**Nokia Official firmware image


==Creating image==
For each session:
First, set up nokia exactly as desired.  Ignore anything on /media/mmc2 as it will need to be recreated per device.
*Ensure USB A end of Nokia MicroUSB cable is in computer
Mount the filesystem in an alternate location
*Remove batteries and backplates from all devices to be imaged
mount -t jffs2 /dev/mtdblock4 /opt
<pre>
Using the arm binary of mkfs.jffs2 create a new jffs2 filesystem image.
cd ~/n810-imaging
mkfs.jffs2 -r /opt -o /media/mmc2/image.jffs2 -e 128 -l -n
sudo ./moz-prep.sh
all parameters other than the -o shouldn't change.  The -o parameter is the location of the output file.  I (jhford) usually insert a flash card and use
#Follow onscreen prompts
mkfs.jffs2 -r /opt -o /media/mmc1/image.jffs2 -e 128 -l -n
#once all devices are prepped press CTRL+C to quit moz-prep.sh
If you were wondering, the /media/mmc1 is shadowed by the memory card upon insertion.  the original folder will still be visible as /opt/media/mmc1
</pre>


You now have the image. Transfer that to the linux pc.
==Step 2: Image multiple cards==
<pre>
#Detach all MicroSD card readers from computer
#Insert MicroSD cards to be imaged into MicroSD card readers
#Plug in MicroSD card readers with MicroSD cards into computer
#then run
cd ~/n810-imaging
sudo ./bulk-image.sh
#This will take approx 5-7 minutes per card; computer will beep when all cards are imaged.
# JHFORD will paste sample output here
#Remove all MicroSD card readers
#Remove MicroSD cards from MicroSD card readers
#Final output will tell you how many cards were successful,
#this for your information and is not critical to the imaging process
</pre>


==
==Step 3: Verify card and power on device==
<pre>
<pre>
echo "Turn device completely off, remove battery if needed"
#Run and follow on screen instructions
echo "Plug in USB cable"
cd ~/n810-imaging
sudo ./flasher-3.0 --fiasco RX-44*.bin --flash
sudo ./bulk-verify.sh
sudo ./flasher-3.0 --rootfs image.jffs2 --flash
echo "Plug in Power Cable"
echo "Unplug USB Cable"
echo "Turn on device"
</pre>
</pre>


==Flashing automatically==
==Step 4: Boot device==
using moz-flash-simple.sh as root:
*This step assumes that the MicroSD card has been inserted into the correct device
  ./moz-flash-simple.sh -r image.jffs2 -f
*Press the power button on the top of the device '''then''' plug the charger into the device (NOTE: order is important).
*Verify the device comes turns on successfully with the blue geometry-themed desktop.
*Verify that the grey Wifi logo in top right of screen turns to solid white
** may take 5 minutes
 
==Troubleshooting Tips==
IGNORE BELOW HERE UNLESS YOU ARE *REALLY* CURIOUS
 
===N810 Imaging===
We use N810s to do on-device testing of our maemo4 builds of our mobile browser. In order to deal with maintaining 80 of these devices we have developed an imaging solution.  Our initial attempt was to create a custom firmware image but file corruption became an issue.  We eventually figured out how to boot these devices from MiniSD cards.  We have special tools for creating and maintaining the filesystems on these cards.
 
===Resetting hardware===
The purpose of this step is to zero out the root mtd device as well as reflashing the linux kernel and bootloader.  We want to make sure that any possible corruption in these critical subsystems is repaired
 
===Potential issues===
If you see
  ERROR! Lost USB Connection while flashing RX-44_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin.  Dead battery?
this is a sign that moz-prep encountered an error.  This is a sign that for some reason, the nokia flashing program lost connection to the device.  This is often caused by trying to flash with a dead battery.  We mitigate this by flashing with the charger connected.  This has also been caused by issues with the linux kernel on the imaging host.  If you encounter this error on multiple devices using different batteries reboot the imaging machine. If you still have issues, someone has broken the imaging machine.

Latest revision as of 21:39, 20 May 2010

Step 1: Reset Hardware

NOTE: You should be in the RF Shielded room with the door *CLOSED* to ensure machines connect to correct network

For each session:

  • Ensure USB A end of Nokia MicroUSB cable is in computer
  • Remove batteries and backplates from all devices to be imaged
cd ~/n810-imaging
sudo ./moz-prep.sh 
#Follow onscreen prompts
#once all devices are prepped press CTRL+C to quit moz-prep.sh

Step 2: Image multiple cards

#Detach all MicroSD card readers from computer 
#Insert MicroSD cards to be imaged into MicroSD card readers
#Plug in MicroSD card readers with MicroSD cards into computer
#then run
cd ~/n810-imaging
sudo ./bulk-image.sh
#This will take approx 5-7 minutes per card; computer will beep when all cards are imaged.
# JHFORD will paste sample output here
#Remove all MicroSD card readers
#Remove MicroSD cards from MicroSD card readers
#Final output will tell you how many cards were successful, 
#this for your information and is not critical to the imaging process

Step 3: Verify card and power on device

#Run and follow on screen instructions
cd ~/n810-imaging
sudo ./bulk-verify.sh

Step 4: Boot device

  • This step assumes that the MicroSD card has been inserted into the correct device
  • Press the power button on the top of the device then plug the charger into the device (NOTE: order is important).
  • Verify the device comes turns on successfully with the blue geometry-themed desktop.
  • Verify that the grey Wifi logo in top right of screen turns to solid white
    • may take 5 minutes

Troubleshooting Tips

IGNORE BELOW HERE UNLESS YOU ARE *REALLY* CURIOUS

N810 Imaging

We use N810s to do on-device testing of our maemo4 builds of our mobile browser. In order to deal with maintaining 80 of these devices we have developed an imaging solution. Our initial attempt was to create a custom firmware image but file corruption became an issue. We eventually figured out how to boot these devices from MiniSD cards. We have special tools for creating and maintaining the filesystems on these cards.

Resetting hardware

The purpose of this step is to zero out the root mtd device as well as reflashing the linux kernel and bootloader. We want to make sure that any possible corruption in these critical subsystems is repaired

Potential issues

If you see

ERROR! Lost USB Connection while flashing RX-44_DIABLO_5.2008.43-7_PR_COMBINED_MR0_ARM.bin.  Dead battery?

this is a sign that moz-prep encountered an error. This is a sign that for some reason, the nokia flashing program lost connection to the device. This is often caused by trying to flash with a dead battery. We mitigate this by flashing with the charger connected. This has also been caused by issues with the linux kernel on the imaging host. If you encounter this error on multiple devices using different batteries reboot the imaging machine. If you still have issues, someone has broken the imaging machine.