嵌入式裝置命令列分割槽解析

“blkdevparts” 命令列選項增加了從核心命令列讀取塊裝置分割槽表的支援。

它通常用於固定塊 (eMMC) 嵌入式裝置。它沒有 MBR,因此節省了儲存空間。引導載入程式可以很容易地透過塊裝置上資料的絕對地址訪問。使用者可以輕鬆更改分割槽。

命令列的格式就像 mtdparts

blkdevparts=<blkdev-def>[;<blkdev-def>]
<blkdev-def> := <blkdev-id>:<partdef>[,<partdef>]

<partdef> := <size>[@<offset>](part-name)

<blkdev-id>

塊裝置磁碟名稱。 嵌入式裝置使用固定塊裝置。 它的磁碟名稱也是固定的,例如:mmcblk0、mmcblk1、mmcblk0boot0。

<size>

分割槽大小,以位元組為單位,例如:512、1m、1G。 size 可能包含一個可選後綴(大寫或小寫)

K、M、G、T、P、E。

“-”用於表示所有剩餘空間。

<offset>

分割槽起始地址,以位元組為單位。 offset 可能包含一個可選後綴(大寫或小寫)

K、M、G、T、P、E。

(part-name)

分割槽名稱。 核心傳送帶有“PARTNAME”的 uevent。 應用程式可以建立一個連結到帶有名稱“PARTNAME”的塊裝置分割槽。 使用者空間應用程式可以透過分割槽名稱訪問分割槽。

ro

只讀。 將分割槽標記為只讀。

例子

eMMC 磁碟名稱為“mmcblk0”和“mmcblk0boot0”。

bootargs

'blkdevparts=mmcblk0:1G(data0),1G(data1),-;mmcblk0boot0:1m(boot)ro,-(kernel)'

dmesg

mmcblk0: p1(data0) p2(data1) p3()
mmcblk0boot0: p1(boot) p2(kernel)