Armadillo-X1/IoT(G3/G3L)のeMMCのパーティションを5つ以上に切りなおす方法です。
Armadillo-X1/IoT(G3/G3L):eMMCのパーティションを切りなおす方法(インストールディスクイメージ作成ツールを活用)
ここでは、インストールディスクイメージを使ったインストール(※1)の際にパーティションを切りなおす方法をとります。
(以下、主にArmadillo-IoT(G3)の場合で説明しますが、Armadillo-X1/IoT(G3/G3L)は同じ手順になります。)
※1)
Armadillo-IoT ゲートウェイ G3製品マニュアル
11.1. インストールディスクを使用する
Armadillo-X1/IoT(G3/G3L)のeMMCのパーティションは標準では下記のようになっています。
Armadillo-IoT ゲートウェイ G3製品マニュアル
表3.10 eMMC メモリマップ (型番: AGX314* の場合)
デバイス | サイズ | タイプ | 用途 |
/dev/mmcblk2p1 | 32MBytes | FAT32 | Linux カーネルイメージ/Device Tree Blob |
/dev/mmcblk2p2 | 約3.4GBytes | ext4 | Debian GNU/Linux |
/dev/mmcblk2p3 | 128MBytes | FAT32 | リカバリイメージ(node-eye使用時) |
上記のパーティション構成を下記のように切りなおす例で説明します。
デバイス | サイズ | タイプ | 用途 |
/dev/mmcblk2p1 | 32MB | FAT32 | Linux カーネルイメージ/Device Tree Blob |
/dev/mmcblk2p2 | 約2.4GB | ext4 | Debian GNU/Linux |
/dev/mmcblk2p3 | 128MB | FAT32 | リカバリイメージ(node-eye使用時) |
/dev/mmcblk2p4 | (以下、合計1GB分を確保) | (Extended) | 拡張パーティション(今回追加) |
/dev/mmcblk2p5 | 64M | ext4 | 論理パーティション(今回追加) |
/dev/mmcblk2p6 | 256M | FAT32 | 論理パーティション(今回追加) |
/dev/mmcblk2p7 | 約680M | ext4 | 論理パーティション(今回追加) |
1. インストールディスクイメージ作成ツールの準備
ATDEに下記サイトより、インストールディスクイメージ作成ツール(make_install_disk_image-[version].tar.gz)を
ダウンロードします。
Armadillo-X1 開発用ツール
Armadillo-IoTゲートウェイ G3 開発用ツール
Armadillo-IoTゲートウェイ G3L 開発用ツール
下記マニュアル(※2)の
1.必要なパッケージのインストール及び展開を行います。
の項目を参考に、ATDE上にインストールディスクイメージ作成ツールを展開します。
atmark@atde7:~$ sudo apt-get update && sudo apt-get install u-boot-tools
atmark@atde7:~$ tar xf make_install_disk_image-[version].tar.gz
atmark@atde7:~$ cd make_install_disk_image
atmark@atde7:~/make_install_disk_image$
※2)
Armadillo-IoT ゲートウェイ G3製品マニュアル
11.1.1. インストールディスクイメージの作成
2. パーティション構成の設定箇所の編集
インストールディスクイメージの作成ツール(make_install_disk_image)の
make_install_disk_image/core/images/install.sh
を下記のように編集します。
参考)
make_install_disk_image(v1.2.3)に下記編集を施したinstall.sh
install_20211025.sh
install.sh:8行目付近(パラメーターの追加)
末尾にPRI4_EMMC_PATH=${DEV_EMMC}p4以降の4行を追加します。
#
# internal parameters
#
DEV_QSPI=/dev/mtdblock0
DEV_EMMC=/dev/mmcblk2
DEV_EMMC_BOOT=${DEV_EMMC}boot0
EMMC_BOOT_RO=/sys/block/mmcblk2boot0/force_ro
KERNEL_EMMC_PATH=${DEV_EMMC}p1
USERLAND_EMMC_PATH=${DEV_EMMC}p2
RECOVERY_EMMC_PATH=${DEV_EMMC}p3
PRI4_EMMC_PATH=${DEV_EMMC}p4
EXT5_EMMC_PATH=${DEV_EMMC}p5
EXT6_EMMC_PATH=${DEV_EMMC}p6
EXT7_EMMC_PATH=${DEV_EMMC}p7
install.sh:71行目付近(パーティションの設定)
fdisk ${DEV_EMMC} <<EOFからEOFまでを下記のように編集します。
fdisk ${DEV_EMMC} <<EOF
n
p
1
+32M
n
p
3
+128M
n
e
4
+1G
n
l
+64M
n
l
+256M
n
l
n
p
t
1
b
t
2
83
t
3
b
t
5
83
t
6
b
t
7
83
w
EOF
install.sh:102行目付近(ファイルシステムの設定)
末尾にmke2fs -t ext4 ${EXT5_EMMC_PATH}以降の3行を追加します。
mkfs.vfat ${KERNEL_EMMC_PATH}
mke2fs -t ext4 ${USERLAND_EMMC_PATH}
mkfs.vfat ${RECOVERY_EMMC_PATH}
mke2fs -t ext4 ${EXT5_EMMC_PATH}
mkfs.vfat ${EXT6_EMMC_PATH}
mke2fs -t ext4 ${EXT7_EMMC_PATH}
3. インストールイメージの作成とインストールの実行
上記マニュアル(※2)の
2.ツールの使用方法を確認します。
以降の項目を参考に、インストールイメージを作成し、インストールを実行します。
ここでの例の場合、インストール後のパーティションは下記のように拡張パーティション(mmcblk2p4)に、
3つの論理パーティション(mmcblk2p5~7)が追加されています。
Device Boot Start End Sectors Size Id Type
/dev/mmcblk2p1 16 62591 62576 30.6M b W95 FAT32
/dev/mmcblk2p2 2265856 7471103 5205248 2.5G 83 Linux
/dev/mmcblk2p3 62592 312639 250048 122.1M b W95 FAT32
/dev/mmcblk2p4 312640 2265855 1953216 953.7M 5 Extended
/dev/mmcblk2p5 312656 437695 125040 61.1M 83 Linux
/dev/mmcblk2p6 437712 937791 500080 244.2M b W95 FAT32
/dev/mmcblk2p7 937808 2265855 1328048 648.5M 83 Linux