emmc分区脚本编写示例

来源:互联网 发布:python 获取日期 编辑:程序博客网 时间:2024/05/23 23:42

一 sfdisk脚本实例
1.1 实例脚本

#!/bin/sh#mmcblk1p01  bootBOOT_SYSTEM_OFFSET=10ROOT_SYSTEM_SIZE=90#mmcblk1p2  rootfsMMC_PARTITION1_OFFSET=100MMC_PARTITION1_SIZE=300#mmcblk1p3  app1MMC_PARTITION2_OFFSET=400MMC_PARTITION2_SIZE=200#mmcblk1p4  dataMMC_PARTITION3_OFFSET=600MMC_PARTITION3_SIZE=2500#mmcblk1p5  app2MMC_PARTITION4_OFFSET=3100MMC_PARTITION4_SIZE=200#mmcblk1p6  rootfs2MMC_PARTITION5_OFFSET=3300MMC_PARTITION5_SIZE=300#mmcblk1p7  otherMMC_PARTITION6_OFFSET=3600# 将node赋值为传入此脚本的第一个参数,有下文xml中,该值为/dev/mmcblk1node=$1#清除分区表,即将前导一个1024字节(1KB)大小的分区零0dd if=/dev/zero of=${node} bs=1024 count=1#SmartFdisk –uM表示以MB为单位生成报告。#0c: 即id=c,表示分区格式为Win95 FAT32 (LBA)。#L: 即id=83,表示分区格式为linux 。#E: 即id=5,表示分区格式为Extended。sfdisk --force -uM ${node} << EOF${BOOT_SYSTEM_OFFSET},${ROOT_SYSTEM_SIZE},0c100,300,L400,200,L600,,E600,2500,L3100,200,L3300,300,LEOF

1.2 mfgtool xml调用脚本
此处mmc=1

    <!-- create partition -->    <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/mmcblk%mmc%"> Partitioning...</CMD>

二 fdisk 分区脚本实例
实例1

 #!/bin/bashfdisk /dev/sdb <<EOFnp1wqEOF/sbin/mkfs.ext4 /dev/sdb1 &&  /bin/mkdir -p /data && /bin/mount /dev/sdb1 /dataecho 'LABEL=data_disk /data ext4 defaults 0 2' >> /etc/fstab

实例2

#!/bin/bash## Exit status is 0 for PASS, nonzero for FAIL#STATUS=0run_mmc_case(){    # create two partitions    fdisk /dev/mmcblk0 2>&1 1>/dev/null  << EOF    p    d    1    d    2    d    3    d    n    p    1    +10M    n    p    2    +20M    wEOF    sleep 1    if [ "$?" = 0 ]; then        if [ -e '/dev/mmcblk0p1' ] && [ -e '/dev/mmcblk0p2' ]; then            printf "MMC test passes \n\n"            return        fi    fi    STATUS=1    printf "MMC test fails \n\n"}# devnode testcheck_devnode "/dev/mmcblk0"if [ "$STATUS" = 0 ]; then    run_mmc_casefiprint_statusexit $STATUS
0 0
原创粉丝点击