emmc分割槽指令碼編寫示例

2021-07-30 22:54:24 字數 2692 閱讀 4632

一 sfdisk指令碼例項

1.1 例項指令碼

#!/bin/sh

#mmcblk1p01 boot

boot_system_offset=10

root_system_size=90

#mmcblk1p2 rootfs

mmc_partition1_offset=100

mmc_partition1_size=300

mmc_partition2_offset=400

mmc_partition2_size=200

#mmcblk1p4 data

mmc_partition3_offset=600

mmc_partition3_size=2500

mmc_partition4_offset=3100

mmc_partition4_size=200

#mmcblk1p6 rootfs2

mmc_partition5_offset=3300

mmc_partition5_size=300

#mmcblk1p7 other

mmc_partition6_offset=3600

# 將node賦值為傳入此指令碼的第乙個引數,有下文xml中,該值為/dev/mmcblk1

node=$1

#清除分割槽表,即將前導乙個1024位元組(1kb)大小的分割槽零0

dd if=/dev/zero of=$ bs=1024 count=1

#smartfdisk –um表示以mb為單位生成報告。

#0c: 即id=c,表示分割槽格式為win95 fat32 (lba)。

#l: 即id=83,表示分割槽格式為linux 。

#e: 即id=5,表示分割槽格式為extended。

sfdisk --force -um $

<< eof

$,$,0c

100,300,l

400,200,l

600,,e

600,2500,l

3100,200,l

3300,300,l

eof

1.2 mfgtool xml呼叫指令碼

此處mmc=1

state="updater"

type="push"

body="send"

file="mksdcard.sh.tar">sending partition shellcmd>

state="updater"

type="push"

body="$ tar xf $file "> partitioning...cmd>

state="updater"

type="push"

body="$ sh mksdcard.sh /dev/mmcblk%mmc%"> partitioning...cmd>

二 fdisk 分割槽指令碼例項

例項1

#!/bin/bash

fdisk /dev/sdb <1wq

eof/sbin/mkfs.ext4 /dev/sdb1 && /bin/mkdir -p /data && /bin/mount /dev/sdb1 /data

echo 'label=data_disk /data ext4 defaults 0 2' >> /etc/fstab

例項2

#!/bin/bash

## exit status is 0 for pass, nonzero for fail

#status=0

run_mmc_case

()# devnode test

check_devnode "/dev/mmcblk0"

if [ "$status" = 0 ]; then

run_mmc_case

fiprint_status

exit

$status

三:實際應用

#!/bin/sh

set-e

run_mmc_case

()umount /dev/mmcblk0p*

#fdisk

run_mmc_case

sleep 1

mkfs.ext4 -e nodiscard -f /dev/mmcblk0p1

mkfs.ext4 -e nodiscard -f /dev/mmcblk0p2

mkfs.ext4 -e nodiscard -f /dev/mmcblk0p3

mkfs.ext4 -e nodiscard -f /dev/mmcblk0p4

#重新掛載

then

fithen

fiif [ ! -d /ch_sys ]

then

mkdir /ch_sys

fiif [ ! -d /ch_data ]

then

mkdir /ch_data

fisleep 0.2

mount -o rw /dev/mmcblk0p3 /ch_sys/

mount -o rw /dev/mmcblk0p4 /ch_data/

emmc分割槽初始化

emmc卡檢測到後先從mmc init card得到並構建card引數,如向mmc控制器獲取boot0 boot1 rpmb物理節點分割槽再通過mmc part add加入card中,card nr parts顯示有幾塊物理分割槽 emmc 出廠就有的 0.612375 3 0 6 kworker ...

eMMC中的RPMB分割槽

rpmb replay protected memory block partition 是 emmc 中的乙個具有安全特性的分割槽。emmc 在寫入資料到 rpmb 時,會校驗資料的合法性,只有指定的 host 才能夠寫入,同時在讀資料時,也提供了簽名機制,保證 host 讀取到的資料是 rpmb...

Markdown 編寫示例

歡迎使用 掘金 markdown 編輯器撰寫技術文章,只專注於內容和技術,不再費心排版的問題。這是乙份簡要的 markdown 引導指南,希望可以幫助您順利的開始使用 markdown 編輯器。本 markdown 編輯器支援豐富的格式快捷鍵,可以非常便捷 輕鬆的使用 markdown 語言,形成優...