I.MX6 Manufacturing Tool V2 (MFGTool2) Emmc mksdcard.sh hacking

#!/bin/sh

# 参考文章:
#   1. MFGTool Emmc mksdcard.sh MFGTool Emmc mksdcard.sh comment
#       http://jordonwu.github.io/blog/2015/05/14/mfgtool-emmc-mksdcard-dot-sh/
#   2. linux sfdisk partition
#       http://blog.csdn.net/shell_albert/article/details/8425530

#<!-- partitioning the eMMC: -->
#<CMD state="Updater" type="push" body="$ echo 8 > /sys/devices/platform/sdhci-esdhc-imx.3/mmc_host/mmc0/mmc0:0001/boot_config">access user partition and enable boot partion 1 to boot</CMD>
#<CMD state="Updater" type="push" body="send" file="mksdcard.sh.tar">Sending partition shell</CMD>
#<CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD>
#<CMD state="Updater" type="push" body="$ sh mksdcard.sh /dev/mmcblk0"> Partitioning SD card now...</CMD>

# partition size in MB
# 这里定义的是启动ROM 10MB
BOOT_ROM_SIZE=10

# call sfdisk to create partition table
# destroy the partition table
# $1:   为命令行第一个传递的参数
# node: /dev/mmcblk0
# 将前导一个1024字节(1KB)大小的分区零0,也就是分区表擦除
node=$1
dd if=/dev/zero of=${node} bs=1024 count=1

# sfdisk reads lines of the form
#   <start> <size> <id>< bootable> <c,h,s> <c,h,s>
# where each line fills one partition descriptor.
#
# --force: disable all consistency checking
# -uS, -uB, -uC, -uM: 以扇面/块/柱面数/MB为单位 显示或形成报告
# SmartFdisk –uM表示以MB为单位生成报告  即: sfdisk --force -um  /dev/mmcblk0 <<EOF
#
# BOOT_ROM_SIZE: 10
# 而分区则是使用sfdisk进行的,空出了uboot和kernel的位置,从起始地址10MB开始的:
# (10,,83) 将其10M以后所有空间分成一个区,,此处应该就是mmcblk0p1,其中83是Linux分区标识
#
# Uboot和kernel是直接使用dd写入mmcblk0中的:
#     <!-- burn the uboot: -->
#   <CMD state="Updater" type="push" body="send" file="files/u-boot.bin">Sending U-Boot</CMD>
#   <CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=2 count=2000">Clean U-Bootenvironment</CMD>
#   <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=512 seek=2 skip=2">write U-Boot to sdcard</CMD>
#
#   <!-- burn the kernel: -->
#   <CMD state="Updater" type="push" body="send" file="files/uImage">Sending kernel uImage</CMD>
#   <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk0 bs=1M seek=1 conv=fsync">write kernel image to emmc</CMD>

sfdisk --force -uM ${node} << EOF
${BOOT_ROM_SIZE},,83
EOF

 

时间: 2024-08-22 19:55:11

I.MX6 Manufacturing Tool V2 (MFGTool2) Emmc mksdcard.sh hacking的相关文章

I.MX6 Manufacturing Tool V2 (MFGTool2) Emmc mksdcard-android.sh hacking

#!/bin/bash # 参考文章: # 1. Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数 # http://c.biancheng.net/cpp/view/2739.html # <CMD state="Updater" type="push" body="send" file="mksdcard-android.sh.tar">Sending partition

I.MX6 Manufacturing Tool V2 (MFGTool2) Update Command List (UCL) User Guide translate

  Manufacturing Tool V2 (MFGTool2)  Update Command List (UCL) User Guide     Contents(目录) Contents(目录)                                                        1 1 Overview(概述)                                                      2 2 UTP mode operation

I.MX6 Manufacturing Tool V2 (MFGTool2) ucl2.xml hacking

<!-- * Copyright (C) 2010-2013, Freescale Semiconductor, Inc. All Rights Reserved. * The CFG element contains a list of recognized usb devices. * DEV elements provide a name, class, vid and pid for each device. * * Each LIST element contains a list o

AM335x Android eMMC mkmmc-android.sh hacking

# AM335x Android eMMC mkmmc-android.sh hacking # # 1. 有空解读一下android的分区文件. # 2. 代码来源:https://github.com/hendersa/bbbandroid-external-ti_android_utilities/blob/master/am335x/mk-mmc/mkmmc-android.sh # # 2016-9-8 深圳 南山平山村 曾剑锋 #!/bin/bash # 如果参数只有一个,这里就会使

I.MX6 mkuserimg.sh hacking

/*********************************************************************** * I.MX6 mkuserimg.sh hacking * 说明: * 上次发现Android源码使用mkuserimg.sh来打包Android文件系统,现在来 * 跟踪一下其内部的工作机制. * * 2016-6-28 深圳 南山平山村 曾剑锋 ***************************************************

I.MX6 eMMC 中启动U-boot存放的首地址

/************************************************************************************ * I.MX6 eMMC 中启动U-boot存放的首地址 * 声明: * 本文是解读<I.MX6 Manufacturing Tool V2 (MFGTool2) ucl2.xml hacking>之后对 * U-boot存放于eMMC 1K地址有疑惑,希望能找到确切的说法. * * 2015-10-14 晴 深圳 南山平山

I.MX6 Linux U-boot 环境变量解析

/********************************************************************************** * I.MX6 Linux U-boot 环境变量解析 * 声明: * 在分析完I.MX6 Manufacturing Tool V2 (MFGTool2)中一些内容之后,这里仅仅是 * 为了验证其中的一些想法: * 1. 如何读取不在分区中的uImage,而是在emmc中1M地址上的uImage: * 2. U-boot的loa

I.MX6 mfgtool2-android-mx6q-sabresd-emmc.vbs hacking

/******************************************************************** * I.MX6 mfgtool2-android-mx6q-sabresd-emmc.vbs hacking * 说明: * 以前用的mfgtool2是直接执行MfgTool2.exe就行了,现在的NXP将其封 * 装在vbs文件内,这是左栋告诉我的,这里记录一下命令行参数的本质. * * 2016-9-18 深圳 南山平山村 曾剑锋 ***********

MFGTool2批量操作

/********************************************************************************* * MFGTool2批量操作 * 说明: * MFGTool2批量烧录系统,感觉还是有点鸡肋. * * 2017-10-19 深圳 南山平山村 曾剑锋 ********************************************************************************/ 一.参考文档: 1