I downloaded the rescue image from http://www.hamletcom.com/docs/XZPAD700_microsd_restore_B.zip and I found some evidence that the device uses u-boot. I'm not sure if the u-boot image I found in the rescue image is part of the image that gets restored into the device or if the rescue image itself has a boot loader in it that gets loaded into ram as if it was a second stage boot loader. Anyway the rescue image appears as a bootable image: root@darkstar:/tmp/XZPAD700_microsd_restore_B# file XZPAD700_MicroSD_restore_B_20121122.img XZPAD700_MicroSD_restore_B_20121122.img: x86 boot sector; partition 1: ID=0xb, active, starthead 0, startsector 798949, 202522 sectors, code offset 0x0 root@darkstar:/tmp/XZPAD700_microsd_restore_B# root@darkstar:/tmp/XZPAD700_microsd_restore_B# fdisk -l XZPAD700_MicroSD_restore_B_20121122.img Disk XZPAD700_MicroSD_restore_B_20121122.img: 513 MB, 513802240 bytes 1 heads, 63 sectors/track, 15928 cylinders, total 1003520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System XZPAD700_MicroSD_restore_B_20121122.img1 * 798949 1001470 101261 b W95 FAT32 root@darkstar:/tmp/XZPAD700_microsd_restore_B# But I've not been able to mount it as a loop device with all my efforts to calculate the offset of that first partition is shown by fdisk. I even wrote the image to a microsd as documented but I was unable to mount that first partition anyway. Anyone have any idea how to mount that partition ? I then started examining the rescue image with strings and found a few interesting things: ARM C/C++ Compiler, RVCT4.0 [Build 400] armcc --debug -c --cpu=Cortex-A8.no_neon -O0 -I. -I./../../../config -I./../../../boot1/include -I./../../../boot1/include/interinc -I. -I./.svn -I./.svn/prop-base -I./.svn/props -I./.svn/text-base -I./.svn/tmp -I./.svn/tmp/prop-base -I./.svn/tmp/props -I./.svn/tmp/text-base -I ./Board -I./Board/.svn -I./Board/.svn/prop-base -I./Board/.svn/props -I./Board/.svn/text-base -I./Board/.svn/tmp -I./Board/fel_detect -I./Board/fel_detect/.svn -I./Board/power_ctrl -I./Board/power_ctrl/.svn -I./BootOS -I./BootOS/.svn -I./BootOS/.svn/prop-base -I./BootOS/.svn/pro ps -I./BootOS/.svn/text-base -I./BootOS/.svn/tmp -I./Common -I./Common/.svn -I./Common/.svn/prop-base -I./Common/.svn/props -I./Common/.svn/text-base -I./Common/.svn/tmp -I./Common/Picture -I./Common/Picture/.svn -I./Common/script_patch -I./Common/script_patch/.svn -I./Common/se rvice -I./Common/service/.svn -I./Common/ui -I./Common/ui/.svn -I./Common/ui/display_interface -I./config -I./config/.svn -I./config/.svn/prop-base -I./config/.svn/props -I./config/.svn/text-base -I./config/.svn/tmp -I./Include -I./Include/.svn -I./Include/.svn/prop-base -I./Inc lude/.svn/props -I./Include/.svn/text-base -I./Include/.svn/tmp -I./part_info -I./part_info/.svn -I./part_info/.svn/prop-base -I./part_info/.svn/props -I./part_info/.svn/text-base -I./part_info/.svn/tmp -I./usb_device -I./usb_device/.svn -I./usb_device/.svn/prop-base -I./usb_dev ice/.svn/props -I./usb_device/.svn/text-base -I./usb_device/.svn/tmp eGon2_common.o c_int.o format_transformed.o ARM C/C++ Compiler, RVCT4.0 [Build 400] armcc --debug -c --cpu=Cortex-A8.no_neon -O0 -I. -I./../../boot1/include -I./../../boot1/include/cfgs _int.o ARM Assembler, RVCT4.0 [Build 400] armasm --debug --keep --cpu=Cortex-A8.no_neon -I. -I./../../boot1/include -I./../../boot1/include/cfgs ARM C/C++ Compiler, RVCT4.0 [Build 400] armcc --debug -c --cpu=Cortex-A8.no_neon -O0 -I. -I./../../../config -I./../../../boot1/include -I. -I./.svn -I./.svn/prop-base -I./.svn/props -I./.svn/text-base -I./.svn/tmp -I./.svn/tmp/prop-base -I./.svn/tmp/props -I./.svn/tmp/text-base -I./config -I./config/.svn -I./config/ .svn/prop-base -I./config/.svn/props -I./config/.svn/text-base -I./config/.svn/tmp -I./de_bsp -I./de_bsp/.svn -I./de_bsp/.svn/prop-base -I./de_bsp/.svn/props -I./de_bsp/.svn/text-base -I./de_bsp/.svn/tmp -I./de_bsp/de -I./de_bsp/de/.svn -I./de_bsp/de/ebios -I./de_bsp/iep -I./de_bsp/iep/.svn -I./de_bsp/lcd -I./de_bsp/lcd/.svn -I./OSAL -I./OSAL/.svn -I./OSAL/.svn/prop-base -I./OSAL/.svn/props -I./OSAL/.svn/text-base -I./OSAL/.svn/tmp eGon2_common.o cleanflushcachebyregion.o format_transformed.o ARM C/C++ Compiler, RVCT4.0 [Build 400] armcc --debug -c --cpu=Cortex-A8.no_neon -O0 -I. -I./../../boot1/include -I./../../boot1/include/cfgs cleanflushcachebyway.o ARM Assembler, RVCT4.0 [Build 400] armasm --debug --keep --cpu=Cortex-A8.no_neon -I. -I./../../boot1/include -I./../../boot1/include/cfgs img_name = c:\linux\u-boot.bin U-Boot 2011.09-rc1-dirty (Nov 22 2012 - 14:25:29) Allwinner Technology U-Boot 2011.09-rc1-dirty (Nov 22 2012 - 14:25:29) Allwinner Technology ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ bootcmd=nand read 50000000 boot;boota 50000000 bootdelay=1 baudrate=115200 bootdelay=3 bootcmd=run setargs boot_normal console=ttyS0,115200 nand_root=/dev/nandd mmc_root=/dev/mmcblk0p4 init=/init loglevel=8 setargs=setenv bootargs console=${console} root=${nand_root}init=${init} loglevel=${loglevel} boot_normal=nand read 50000000 boot; boota 50000000 boot_recovery=nand read 50000000 recovery; boota 50000000 boot_fastboot=fastboot bootcmd=nand read 50000000 boot;boota 50000000 bootdelay=1 baudrate=115200 bootdelay=3 bootcmd=run setargs boot_normal console=ttyS0,115200 nand_root=/dev/nandd mmc_root=/dev/mmcblk0p4 init=/init loglevel=8 setargs=setenv bootargs console=${console} root=${nand_root}init=${init} loglevel=${loglevel} boot_normal=nand read 50000000 boot; boota 50000000 boot_recovery=nand read 50000000 recovery; boota 50000000 boot_fastboot=fastboot set_default_env env_import mmc_saveenv nand_saveen Ciao David P.S.: would it be a good idea to put up a page on docs.slackware.com on hacking attempts on the XZPAD700 ?
_______________________________________________ ARMedslack mailing list [email protected] http://lists.armedslack.org/mailman/listinfo/armedslack
