process requires standard 2.x android firmware. Press any key to continue . . . Getting ROOT rights. 1464 KB/s (585731 bytes in 0.390s) error: protocol fault (no status) Waiting ... Removing NAND MPU restrictions via SEMC backdoor. Permanent. Require ROOT rights. 192 KB/s (3087 bytes in 0.015s) success Waiting ... Getting ROOT rights. Waiting ... Writing patched semcboot. Two step process First, we need get access to semcboot area 504 KB/s (8064 bytes in 0.015s) Second, we need to write semcboot ;) 1531 KB/s (588236 bytes in 0.375s) successfully wrote 0001ff80 Press any key to continue . . . 複製代碼
[partition info] android implementation on s1 semc qualcomm phones based on partitions,so we MUST define it for our file.
you can get required partition info from standard semc sin files, it is first 0x10 bytes of DATA, right after header, i.e.
x10 kernel partition info 03000000220000007502000062000000 複製代碼
[type] - partition type, 9 - partition without spare, 0xA - partition with spare. kernel partition is partition without spare. if that parameter omitted, type = 9
[block size] - nand block size, if omitted, it is standard size 0x20000
there is example in sinTools\example_build.cmd
3. kernel should be prepared specially to be accepted by semcboot. for that there is tool bin2elf.
we need 2 segments: segment 1 is unpacked linux kernel image, i.e. ( x10/kernel/arch/arm/boot/Image )
it looks like entrypoint and load address for segment 1 is always same for all qsd8250-based semc phone, it is 0x20008000
attributes for image 0x0
segment 2 is ramdisk.
it looks like entrypoint and load address for segment 1 is always same for all qsd8250-based semc phone, it is 0x24000000
set attributes for ramdisk 0x80000000, that is extremly important.
there is simple kernel example in sinTools\example_build.cmd
ps.
patched semcboot is doing exactly same thing as official "bootloader unlock" ( for some idiotic reasons called "rooting" ) , it skips checking of aARM firmware part ONLY.
it will NOT unlock your phone from network.
after procedure, you CAN use Emma/seUS safely.
開發筆記1Doomlord:seems the kernel zimage HAS TO BE CALLED image and ramdisk.cpio.gz HAS TO BE ramdisk then it works