Есть программа mfgtool, которая прошивает китайские планшеты. В ней есть конфигурационный файл ucl.xml. Вот фрагмент кода
<LIST name="SD-Android" desc="Android w/o swap">
<CMD type="boot" body="BootStrap" file="u-boot-mx51.bin" >Loading OS image.</CMD>
<CMD type="load" file="uImage" address="0x90100000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Doing Kernel.</CMD>
<CMD type="load" file="initramfs.cpio.gz.uboot" address="0x90800000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Doing Initramfs.</CMD>
<CMD type="jump" > Jumping to OS image. </CMD>
<CMD type="find" body="Updater" timeout="180"/>
<CMD type="push" body="mknod block,mmcblk0,/dev/mmcblk0,block"/>
<CMD type="push" body="$ mknod /dev/zero b 1 5">Create zero device node</CMD>
<CMD type="push" body="$ dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=10">clean up</CMD>
<CMD type="push" body="send" file="mksdcard-android.sh.tar">Sending partition shell</CMD>
<CMD type="push" body="$ tar xf $FILE "> Partitioning...</CMD>
<CMD type="push" body="$ sh mksdcard-android.sh /dev/mmcblk0"> Partitioning...</CMD>
<CMD type="push" body="$ mknod /dev/mmcblk0p1 b 179 1"/>
<CMD type="push" body="$ mknod /dev/mmcblk0p2 b 179 2"/>
<CMD type="push" body="$ mknod /dev/mmcblk0p3 b 179 3"/>
<CMD type="push" body="$ mknod /dev/mmcblk0p4 b 179 4"/>
<CMD type="push" body="$ mknod /dev/mmcblk0p5 b 179 5"/>
<CMD type="push" body="$ mknod /dev/mmcblk0p6 b 179 6"/>
<CMD type="push" body="send" file="files/android/u-boot-no-padding.bin">Sending u-boot.bin</CMD>
<CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=1k seek=1">write u-boot.bin to sd card</CMD>
<CMD type="push" body="send" file="files/android/uImage">Sending kernel uImage</CMD>
<CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1">write kernel image to sd card</CMD>
<CMD type="push" body="send" file="files/android/uramdisk.img">Sending uramdisk uImage</CMD>
<CMD type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=4M seek=1">write ramdisk to sd card</CMD>
<CMD type="push" body="$ mkfs.ext4 /dev/mmcblk0p2">Formatting SYSTEM partition</CMD>
<CMD type="push" body="$ mkfs.ext4 -O^extent /dev/mmcblk0p4">Formatting RECOVERY partition</CMD>
<CMD type="push" body="$ mkfs.ext4 /dev/mmcblk0p5">Formatting DATA partition</CMD>
<CMD type="push" body="$ mkfs.ext4 -O^extent /dev/mmcblk0p6">Formatting CACHE partition</CMD>
<CMD type="push" body="!3">Reboot...</CMD>
<CMD type="find" body="BootStrap" timeout="180"/>
<CMD type="init" body="Memory" file ="files/old/mx51to2.ddr.xml" />
<CMD type="load" file="files/old/uImage" address="0x90100000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Doing Kernel.</CMD>
<CMD type="load" file="files/old/initramfs.cpio.gz.uboot" address="0x90800000"
loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" >Doing Initramfs.</CMD>
<CMD type="load" file="files/old/u-boot.bin" address="0x97800000"
loadSection="OTH" setSection="APP" HasFlashHeader="FALSE" >Loading OS image.</CMD>
<CMD type="jump" > Jumping to OS image. </CMD>
<CMD type="find" body="Updater" timeout="180"/>
<CMD type="push" body="mknod block,mmcblk0,/dev/mmcblk0,block"/>
<CMD type="push" body="mknod block,mmcblk0/mmcblk0p1,/dev/mmcblk0p1,block"/>
<CMD type="push" body="$ mkfs.vfat /dev/mmcblk0p1">Formatting SDCARD partition</CMD>
<CMD type="push" body="!3">Firmware Update Complete!</CMD>
</LIST>Есть такая тема, что она не подходит под мой планшет. Планшет прошивается только если в него вставлена флешка (microSD). Причем этот код правит именно вставленную флешку, а не встроенную. Помогите пожалуйста подправить код, чтобы правилась именно встроенная память. По идентификаторам диспетчера устройств встроенная флешка отличается от вставленной. Если нужна какая-нибудь дополнительная информация, то я постараюсь предоставить ее. Заранее благодарю за помощь.
P.S. Я пишу сюда, потому что после "Jumping to OS image" девайс в программе начинает определяться как linux storage. И команда mknod тоже вроде никсовая, и файловая система ext4.