一 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 語言,形成優...