View source for Moving current system from flash to SD

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Return to Moving current system from flash to SD.

Personal tools

This is an attempt at describing how one can "backup" or move an existing current system running in the FR flash NAND to the micro SD card, in order to boot from it.

Typical scenario :

  • running 2007.2 from flash
  • want to install OM 2008.8 without loosing the "backup" 2007.7 in cas of need, to be booted from SD

Necessary steps (to be confirmed, don't try this unless you know what you're doing !) :

  1. Establish a running system on SD (see Booting from SD)
  2. reboot from that alternate system on SD
  3. from that system on SD, transfer content of flash to a backup dir on SD (provided SD is big enough to hold 2 systems)
  4. flash with new system
  5. reboot under newly flashed system
  6. remove old system from SD's root (the one which was booted in before to do the backup)
  7. move the backup from the backup dir of the SD to the root of the SD
  8. change what's necessary in the backup (/etc/fstab ?) so that it will work when booted on SD
  9. similarly adjust kernels available on SD
  10. test the dual-booting from flash or SD

More details about each steps needed.

Backup of system in flash to a backup dir on SD

Assuming one has booted from a system on SD already, this would create a copy of the root partition in the freerunner's flash to a "/backup-dir" directory, on the SD.

# mkdir /mnt/memroot/
# mkdir /backup-dir
# mount -t jffs2 -o ro /dev/mtdblock6 /mnt/memroot/ # this for a freerunner
# cp -a /mnt/memroot/. /backup-dir/.

See Partitions for details of the partitions in flash (hence the /dev/mtdblock6).