i.mx6 Mfgtool Emmc mksdcard-android.sh hacking

Source: Internet
Author: User
<span id="Label3"></p><pre>#!/bin/<span style="color: #000000;"><span style="color: #000000;">bash# Reference Article: #</span></span><span style="color: #800080;"><span style="color: #800080;">1</span></span>. Shell Special Variables: Shell $<span style="color: #800080;"><span style="color: #800080;">0</span></span>, $#, $*, [email protected], $?<span style="color: #000000;"><span style="color: #000000;">, $$ and command line arguments # http:</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">c.biancheng.net/cpp/view/2739.html</span></span><span style="color: #000000;"><span style="color: #000000;"># </span></span><cmd state=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Updater</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Type=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Push</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>body=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Send</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">file</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Mksdcard-android.sh.tar</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>>sending Partition shell</cmd><span style="color: #000000;"><span style="color: #000000;"># </span></span><cmd state=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Updater</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Type=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Push</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>body=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$ tar XF $FILE</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>> partitioning...</cmd><span style="color: #000000;"><span style="color: #000000;"># </span></span><cmd state=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Updater</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Type=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Push</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>body=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$ sh mksdcard-android.sh/dev/mmcblk0</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>> partitioning...</cmd><span style="color: #000000;"><span style="color: #000000;"># </span></span><cmd state=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Updater</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>Type=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Push</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>body=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$ ls-l/dev/mmc*</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>>formatting SD partition</cmd><span style="color: #000000;"><span style="color: #000000;"># partition Size</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">inch</span></span><span style="color: #000000;"><span style="color: #000000;">Mbbootload_reserve</span></span>=<span style="color: #800080;"><span style="color: #800080;">8</span></span><span style="color: #000000;"><span style="color: #000000;"># bootload 8MB boot_rom_size</span></span>=<span style="color: #800080;"><span style="color: #800080;">8</span></span><span style="color: #000000;"><span style="color: #000000;"># boot ROM 8mbsystem_rom_size</span></span>=<span style="color: #800080;"><span style="color: #800080;"></span> +</span><span style="color: #000000;"><span style="color: #000000;"># system ROM 512mbcache_size</span></span>=<span style="color: #800080;"><span style="color: #800080;"></span> +</span><span style="color: #000000;"><span style="color: #000000;"># cache 512mbrecovery_rom_size</span></span>=<span style="color: #800080;"><span style="color: #800080;">8</span></span><span style="color: #000000;"><span style="color: #000000;"># recovery ROM 8mbvender_size</span></span>=<span style="color: #800080;"><span style="color: #800080;">8</span></span><span style="color: #000000;"><span style="color: #000000;"># supplier 8mbmisc_size</span></span>=<span style="color: #800080;"><span style="color: #800080;">8</span></span><span style="color: #000000;"><span style="color: #000000;"># Miscellaneous 8MBhelp () {#</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">basename</span></span><span style="color: #000000;"><span style="color: #000000;">String [Suffix]#</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">basename</span></span>command to read the String parameter and delete the<span style="color: #000000;"><span style="color: #000000;">(slash) at the end of the prefix and any specified Suffix parameters, # and write the remaining base file names to the standard Output. Bn</span></span>=`<span style="color: #0000ff;"><span style="color: #0000ff;">basename</span></span>$<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">`</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Cat</span></span><<<span style="color: #000000;"><span style="color: #000000;">eofusage $bn</span></span><option><span style="color: #000000;"><span style="color: #000000;">device_nodeoptions:</span></span>-<span style="color: #000000;"><span style="color: #000000;">h displays</span> this help message</span>-<span style="color: #000000;"><span style="color: #000000;">s only get partition size</span></span>-<span style="color: #000000;"><span style="color: #000000;">NP not Partition. </span></span>-<span style="color: #000000;"><span style="color: #000000;">F Flash Android Image. eof}# Check</span> the</span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>Root?<span style="color: #000000;"><span style="color: #000000;"># Check whether you currently have root permissions userid</span></span>=`<span style="color: #0000ff;"><span style="color: #0000ff;">ID</span></span>-<span style="color: #000000;"><span style="color: #000000;">u '</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>[$userid-ne<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">0</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>];<span style="color: #0000ff;"><span style="color: #0000ff;"></span> then</span> <span style="color: #0000ff;"><span style="color: #0000ff;">Echo</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;">you <span style="color: #800000;">' re not root?</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Exit</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">fi</span></span><span style="color: #000000;"><span style="color: #000000;"># Parse Command line# parse the commands line arguments moreoptions</span></span>=<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;">node</span></span>=<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">na</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">cal_only</span></span>=<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">flash_images</span></span>=<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">not_partition</span></span>=<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;">Not_format_fs</span></span>=<span style="color: #800080;"><span style="color: #800080;">0</span></span><span style="color: #000000;"><span style="color: #000000;"># $#: The number of arguments passed to the script or Function. ## $ </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">SH</span></span>Mksdcard-android.<span style="color: #0000ff;"><span style="color: #0000ff;">SH</span></span>/dev/<span style="color: #000000;"><span style="color: #000000;">mmcblk0# $</span></span><span style="color: #800080;"><span style="color: #800080;">1</span></span>:/dev/<span style="color: #000000;"><span style="color: #000000;">mmcblk0## moreoptions:</span></span><span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;"># node:</span></span>/dev/<span style="color: #000000;"><span style="color: #000000;">mmcblk0</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> while</span>[<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$moreoptions</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>=<span style="color: #800080;"><span style="color: #800080;">1</span></span>-a $#-GT<span style="color: #800080;"><span style="color: #800080;">0</span></span>];<span style="color: #0000ff;"><span style="color: #0000ff;"></span> do</span> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> case</span>$<span style="color: #800080;"><span style="color: #800080;">1</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">inch</span></span>-<span style="color: #000000;"><span style="color: #000000;">H) help; exit;; </span></span>-s) cal_only=<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;"> ;; </span></span>-f) flash_images=<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;"> ;; </span></span>-np) not_partition=<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;"> ;; </span></span>-nf) not_format_fs=<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;"> ;; </span></span>*) moreoptions=<span style="color: #800080;"><span style="color: #800080;">0</span></span>; node=$<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;"> ;; </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Esac</span></span><span style="color: #000000;"><span style="color: #000000;"> [ </span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$moreoptions</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>=<span style="color: #800080;"><span style="color: #800080;">0</span></span>] && [$#-GT<span style="color: #800080;"><span style="color: #800080;">1</span></span>] && help &&<span style="color: #000000;"><span style="color: #000000;">Exit [</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$moreoptions</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>=<span style="color: #800080;"><span style="color: #800080;">1</span></span>] &&<span style="color: #0000ff;"><span style="color: #0000ff;">Shift</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> done</span><span style="color: #000000;"><span style="color: #000000;"># If node device nodes do not exist, then exit the program</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>[!-e ${node}];<span style="color: #0000ff;"><span style="color: #0000ff;"></span> then</span><span style="color: #000000;">help <span style="color: #000000;">Exit</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">fi</span></span><span style="color: #000000;"><span style="color: #000000;"># call Sfdisk to create partition table# calls Sfdisk for creating partition Table # Get Total card size# Extend_size adds this component, while data_size reduces this component, The total amount of disk is unchanged seprate</span></span>=<span style="color: #800080;"><span style="color: #800080;"></span> +</span><span style="color: #000000;"><span style="color: #000000;"> # </span></span>-s [or--show-<span style="color: #000000;">size <span style="color: #000000;">]: Displays the sizes of a partition in Kilobytes. Total_size</span></span>= ' sfdisk-<span style="color: #000000;"><span style="color: #000000;">s ${node} ' total_size</span></span>=`<span style="color: #0000ff;"><span style="color: #0000ff;">Expr</span></span>${total_size}/<span style="color: #800080;"><span style="color: #800080;">1024x768</span></span><span style="color: #000000;"><span style="color: #000000;">' # recalculate, convert units to Mbboot_rom_sizeb</span></span>=`<span style="color: #0000ff;"><span style="color: #0000ff;">Expr</span></span>${boot_rom_size} +<span style="color: #000000;"><span style="color: #000000;">${bootload_reserve} ' Extend_size</span></span>=`<span style="color: #0000ff;"><span style="color: #0000ff;">Expr</span></span>${system_rom_size} + ${cache_size} + ${vender_size} + ${misc_size} +<span style="color: #000000;"><span style="color: #000000;">${seprate} ' Data_size</span></span>=`<span style="color: #0000ff;"><span style="color: #0000ff;">Expr</span></span>${total_size}-${boot_rom_sizeb}-${recovery_rom_size}-${extend_size} +<span style="color: #000000;"><span style="color: #000000;">${seprate} ' # Create partitions</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>[<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">${cal_only}</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>-eq<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">1</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>];<span style="color: #0000ff;"><span style="color: #0000ff;"></span> then</span><span style="color: #0000ff;"><span style="color: #0000ff;">Cat</span></span><<<span style="color: #000000;"><span style="color: #000000;">eofboot: ${boot_rom_sizeb}mbrecovery: ${recovery_rom_size}mbsystem: ${system_rom_size}mbcache: ${CACHE_SIZE}MB DATA: ${data_size}mbmisc: ${misc_size}mbeofexit</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">fi</span></span><span style="color: #000000;"><span style="color: #000000;"># Destroy the partition table# delete the previous partition table, as can be seen from here, the size of the partition table seems to be 1024 bytes</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">DD</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>=/dev/zero of=${node} bs=<span style="color: #800080;"><span style="color: #800080;">1024x768</span></span>Count=<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;">Sfdisk</span></span>--force-um ${node} <<<span style="color: #000000;"><span style="color: #000000;">eof,${boot_rom_sizeb},</span></span><span style="color: #800080;"><span style="color: #800080;"></span> the</span><span style="color: #000000;"><span style="color: #000000;">, ${recovery_rom_size},</span></span><span style="color: #800080;"><span style="color: #800080;"></span> the</span><span style="color: #000000;"><span style="color: #000000;">, ${extend_size},</span></span><span style="color: #800080;"><span style="color: #800080;">5</span></span><span style="color: #000000;"><span style="color: #000000;">, ${data_size},</span></span><span style="color: #800080;"><span style="color: #800080;"></span> the</span><span style="color: #000000;"><span style="color: #000000;">, ${system_rom_size},</span></span><span style="color: #800080;"><span style="color: #800080;"></span> the</span><span style="color: #000000;"><span style="color: #000000;">, ${cache_size},</span></span><span style="color: #800080;"><span style="color: #800080;"></span> the</span><span style="color: #000000;"><span style="color: #000000;">, ${vender_size},</span></span><span style="color: #800080;"><span style="color: #800080;"></span> the</span><span style="color: #000000;"><span style="color: #000000;">, ${misc_size},</span></span><span style="color: #800080;"><span style="color: #800080;"></span> the</span><span style="color: #000000;"><span style="color: #000000;">eof# Adjust the partition</span> reserve</span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> for</span><span style="color: #000000;"><span style="color: #000000;">bootloader.#</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>You don<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;"><span style="color: #800000;">T put the uboot on same device, you can remove the Bootloader_erserve</span></span><span style="color: #000000;"><span style="color: #000000;"># to has 8M space.# the minimal sylinder</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> for</span><span style="color: #000000;"><span style="color: #000000;">Some card is 4M, maybe some was 8m# just 8M</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> for</span>Some big EMMC<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;"><span style="color: #800000;">s Sylinder</span></span># -<span style="color: #000000;"><span style="color: #000000;">n#: Change only the number of the partition #sfdisk</span></span>--force-um ${node}-n1 <<<span style="color: #000000;"><span style="color: #000000;">eof${bootload_reserve},${boot_rom_size},</span></span><span style="color: #800080;"><span style="color: #800080;"></span> the</span><span style="color: #000000;"><span style="color: #000000;">eof# for Mfgtool notes:# mfgtool use Mksdcard</span></span>-android.<span style="color: #0000ff;"><span style="color: #0000ff;">Tar</span></span><span style="color: #000000;"><span style="color: #000000;">Store this script#</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span><span style="color: #000000;">you <span style="color: #000000;">want change it.#</span></span><span style="color: #0000ff;"><span style="color: #0000ff;"></span> do</span><span style="color: #000000;"><span style="color: #000000;">following:#</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">Tar</span></span>XF Mksdcard-android.<span style="color: #0000ff;"><span style="color: #0000ff;">SH</span></span>.<span style="color: #0000ff;"><span style="color: #0000ff;">Tar</span></span><span style="color: #000000;"><span style="color: #000000;"># </span></span><span style="color: #0000ff;"><span style="color: #0000ff;">VI</span></span>Mksdcard-android.<span style="color: #0000ff;"><span style="color: #0000ff;">SH</span></span><span style="color: #000000;"><span style="color: #000000;"># [edit want want</span> to change]#</span><span style="color: #0000ff;"><span style="color: #0000ff;">RM</span></span>Mksdcard-android.<span style="color: #0000ff;"><span style="color: #0000ff;">SH</span></span>.<span style="color: #0000ff;"><span style="color: #0000ff;">Tar</span></span>;<span style="color: #0000ff;"><span style="color: #0000ff;">Tar</span></span>CF MKSDCARD-ANDROID.<span style="color: #0000ff;"><span style="color: #0000ff;">SH</span></span>.<span style="color: #0000ff;"><span style="color: #0000ff;">Tar</span></span>Mksdcard-android.<span style="color: #0000ff;"><span style="color: #0000ff;">SH</span></span></pre><p><p></p></p><p><p>i.mx6 Mfgtool Emmc mksdcard-android.sh hacking</p></p></span>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.