Backup

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m (Re-categorize)
(added command for backing up home folder, split into two sections with headings)
Line 1: Line 1:
 +
== Backing up just /home/root ==
 +
 +
To backup the home folder (all your files personal files in theory).
 +
 +
From the desktop pc run:
 +
 +
ssh root@phone 'tar -cpz /home/root' > moko-home-`date +%Y%m%d-%H%M%S`.tar.gz
 +
 +
Where phone is the ip address of your phone (192.168.0.202).
 +
 +
Personally I added an entry to /etc/hosts so the above works for me. I also added the desktop key to /home/root.ssh/authorized_keys on the phone as per the instructions in [[USB_Networking#SSH_Keys]].
 +
 +
If you want to check what is in the backup, run the following, replacing the filename with what was just created.
 +
 +
tar -tzf moko-home-20080802-203108.tar.gz | less
 +
 +
[http://timwise.wikispaces.com/my+neo+freerunner reference]
 +
 +
== Backing up everything ==
 +
 
You will need the [[Dfu-util]] to make a backup of your existing image.
 
You will need the [[Dfu-util]] to make a backup of your existing image.
  
Line 86: Line 106:
  
 
I have not been able to backup rootfs using this method.
 
I have not been able to backup rootfs using this method.
 +
 +
 
[[category:Guides]]
 
[[category:Guides]]
 
[[category:Technical]]
 
[[category:Technical]]

Revision as of 01:51, 3 August 2008

Backing up just /home/root

To backup the home folder (all your files personal files in theory).

From the desktop pc run:

ssh root@phone 'tar -cpz /home/root' > moko-home-`date +%Y%m%d-%H%M%S`.tar.gz

Where phone is the ip address of your phone (192.168.0.202).

Personally I added an entry to /etc/hosts so the above works for me. I also added the desktop key to /home/root.ssh/authorized_keys on the phone as per the instructions in USB_Networking#SSH_Keys.

If you want to check what is in the backup, run the following, replacing the filename with what was just created.

tar -tzf moko-home-20080802-203108.tar.gz | less

reference

Backing up everything

You will need the Dfu-util to make a backup of your existing image.

As when flashing, you will need to be in U-Boot in the NOR Flash. Log into the NOR uBoot menu and select Set console to USB (for NRF just stay in NOR uBoot menu, do not select or enter anything). Now you will be able to flash, make backups of your Freerunner or query the Freerunner with dfu-util.

NOTE: On a Windows host, omit the "./" or "sudo ./" that precedes the commands listed on this page


THIS WILL TAKE AWHILE. The rootfs will take significantly longer than the kernel.

./dfu-util -a kernel -R -U good-kernel.bin
./dfu-util -a rootfs -R -U good-rootfs.jffs2
./dfu-util -a u-boot_env -R -U good-u-boot_env.bin
./dfu-util -a splash -R -U good-splash.bin
./dfu-util -a u-boot -R -U good-u-boot.bin

Here is what my successful output looked like...

on the host PC:

$ sudo ./dfu-util -a kernel -R -U good-kernel.img
dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Opening USB Device 0x0000:0x0000...
Claiming USB DFU Runtime Interface...
Determining device status: state = appIDLE, status = 0
Device really in Runtime Mode, send DFU detach request...
Resetting USB...
Opening USB Device...
Found Runtime: [0x1d50:0x5119] devnum=12, cfg=0, intf=0, alt=3, name="kernel"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x1000
Resetting USB to switch back to runtime mode
$ sudo ./dfu-util -a rootfs -R -U good-rootfs.jffs2
dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Opening USB Device 0x0000:0x0000...
Found Runtime: [0x1d50:0x5119] devnum=16, cfg=0, intf=0, alt=6, name="rootfs"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuERROR, status = 14
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x1000
Resetting USB to switch back to runtime mode

Despite the fact that there was a device status with state=dfuERROR, everything seems to have worked.

on the FreeRunner:

DFU: Switching to DFU Mode
DEVICE_CONFIGURED: 1
Starting DFU Upload of partition 'kernel'
DEVICE_CONFIGURED: 1
Starting DFU Upload of partition 'rootfs'

I could backup the kernel of my GTA02 but trying to use this method to backup the rootfs failed several times....

dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Opening USB Device 0x0000:0x0000...
Claiming USB DFU Runtime Interface... 
Determining device status: state = appIDLE, status = 0
Device really in Runtime Mode, send DFU detach request...
Resetting USB... 
Opening USB Device...
Found Runtime: [0x1d50:0x5119] devnum=20, cfg=0, intf=0, alt=6, name="rootfs"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x1000
dfu_upload error -110

In demsg I get this error

usb 5-2: usbfs: USBDEVFS_CONTROL failed cmd dfu-util rqt 161 rq 2 len 4096 ret -110

I have not been able to backup rootfs using this method.

Personal tools

You will need the Dfu-util to make a backup of your existing image.

As when flashing, you will need to be in U-Boot in the NOR Flash. Log into the NOR uBoot menu and select Set console to USB (for NRF just stay in NOR uBoot menu, do not select or enter anything). Now you will be able to flash, make backups of your Freerunner or query the Freerunner with dfu-util.

NOTE: On a Windows host, omit the "./" or "sudo ./" that precedes the commands listed on this page


THIS WILL TAKE AWHILE. The rootfs will take significantly longer than the kernel.

./dfu-util -a kernel -R -U good-kernel.bin
./dfu-util -a rootfs -R -U good-rootfs.jffs2
./dfu-util -a u-boot_env -R -U good-u-boot_env.bin
./dfu-util -a splash -R -U good-splash.bin
./dfu-util -a u-boot -R -U good-u-boot.bin

Here is what my successful output looked like...

on the host PC:

$ sudo ./dfu-util -a kernel -R -U good-kernel.img
dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Opening USB Device 0x0000:0x0000...
Claiming USB DFU Runtime Interface...
Determining device status: state = appIDLE, status = 0
Device really in Runtime Mode, send DFU detach request...
Resetting USB...
Opening USB Device...
Found Runtime: [0x1d50:0x5119] devnum=12, cfg=0, intf=0, alt=3, name="kernel"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x1000
Resetting USB to switch back to runtime mode
$ sudo ./dfu-util -a rootfs -R -U good-rootfs.jffs2
dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Opening USB Device 0x0000:0x0000...
Found Runtime: [0x1d50:0x5119] devnum=16, cfg=0, intf=0, alt=6, name="rootfs"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuERROR, status = 14
dfuERROR, clearing status
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x1000
Resetting USB to switch back to runtime mode

Despite the fact that there was a device status with state=dfuERROR, everything seems to have worked.

on the FreeRunner:

DFU: Switching to DFU Mode
DEVICE_CONFIGURED: 1
Starting DFU Upload of partition 'kernel'
DEVICE_CONFIGURED: 1
Starting DFU Upload of partition 'rootfs'

I could backup the kernel of my GTA02 but trying to use this method to backup the rootfs failed several times....

dfu-util - (C) 2007 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY

Opening USB Device 0x0000:0x0000...
Claiming USB DFU Runtime Interface... 
Determining device status: state = appIDLE, status = 0
Device really in Runtime Mode, send DFU detach request...
Resetting USB... 
Opening USB Device...
Found Runtime: [0x1d50:0x5119] devnum=20, cfg=0, intf=0, alt=6, name="rootfs"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x1000
dfu_upload error -110

In demsg I get this error

usb 5-2: usbfs: USBDEVFS_CONTROL failed cmd dfu-util rqt 161 rq 2 len 4096 ret -110

I have not been able to backup rootfs using this method.