Backup
From Openmoko
Catholicon (Talk | contribs) (Can't backup rootsfs) |
Catholicon (Talk | contribs) m (failed rootfs backup can be mounted and read) |
||
Line 101: | Line 101: | ||
Transfer Size = 0x1000 | Transfer Size = 0x1000 | ||
dfu_upload error -110 | dfu_upload error -110 | ||
+ | |||
+ | I have not been able to backup rootfs using this method. | ||
In demsg I get this error | In demsg I get this error | ||
Line 109: | Line 111: | ||
usb 5-2: usbfs: USBDEVFS_CONTROL failed cmd dfu-util rqt 161 rq 2 len 4096 ret -71 | usb 5-2: usbfs: USBDEVFS_CONTROL failed cmd dfu-util rqt 161 rq 2 len 4096 ret -71 | ||
...and the last line from dfu_util was <pre>dfu_upload error -71</pre> | ...and the last line from dfu_util was <pre>dfu_upload error -71</pre> | ||
− | + | But, I can mount the jffs2 image and things that I want are alright. So, I guess it can be ignored. | |
− | I | + | |
− | + | ||
[[category:Guides]] | [[category:Guides]] | ||
[[category:Technical]] | [[category:Technical]] |
Revision as of 01:21, 6 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
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
I have not been able to backup rootfs using this method.
In demsg I get this error
usb 5-2: usbfs: USBDEVFS_CONTROL failed cmd dfu-util rqt 161 rq 2 len 4096 ret -110
Failed for me as well with (I didn't have patience to do it multiple times)
usb 5-2: reset full speed USB device using uhci_hcd and address 81 usb 5-2: usbfs: USBDEVFS_CONTROL failed cmd dfu-util rqt 161 rq 2 len 4096 ret -71...and the last line from dfu_util was
dfu_upload error -71
But, I can mount the jffs2 image and things that I want are alright. So, I guess it can be ignored.