Armadillo-640/610で、eMMCのパーティションを切りなおす方法です。
ここでは、Armadillo-640を使用しています。
Armadillo-640をSDブートで起動して、fdiskコマンドでeMMCのパーティションの切りなおしと、イメージの書き換えを行ってます。
1. Armadillo-640をSDブートで起動
下記の手順で、Armadillo-640をSDブートで起動します。
Armadillo-640 製品マニュアル
14. SDブートの活用
2. 書きこむイメージの準備
ここでは例として、下記のファイル名のイメージを書きこむことにします。
ブートローダー:u-boot-a600-v2018.03-at8.imx
カーネル:uImage-a600-v4.14-at19
デバイスツリー:armadillo-640-v4.14-at19.dtb
ユーザーランド:debian-stretch-armhf-a600-20200214.tar.gz
書きこむイメージファイルの置き場所のディレクトリを作成します。
ここでは例として"images"とします。
root@armadillo:~# mkdir images
上記ディレクトリに書き込みイメージを置きます。
次の手順3で使用するスクリプト(part4_a640.sh、part567_a640.sh)は、
下記のようにimagesディレクトリ内にイメージがあることを想定しています。
root@armadillo:~# cd images
root@armadillo:~/images# ls
armadillo-640-v4.14-at19.dtb u-boot-a600-v2018.03-at8.imx
debian-stretch-armhf-a600-20200214.tar.gz uImage-a600-v4.14-at19
補足)イメージの置き場所とイメージのファイル名を上記の例から変更する場合は、
スクリプト(part4_a640.sh、part567_a640.sh)内の下記の箇所を変更してください。
IMAGES_FOLDER=/root/images
UBOOT_IMAGE=u-boot-a600-v2018.03-at8.imx
KERNEL_IMAGE=uImage-a600-v4.14-at19
DTB_IMAGE=armadillo-640-v4.14-at19.dtb
DEBIAN_IMAGE=debian-stretch-armhf-a600-20200214.tar.gz
3. パーティションの切り直しとイメージの書き込み
Armadillo-640に下記の添付のサンプルスクリプトを置きます。
part4_a640.sh(パーティションが4つまでの場合)
part567_a640.sh(パーティションが5以上の場合の例)
補足)上記スクリプトのemmc_format()にて、パーティションの切り直しと、ファイルシステムの作成を行ってます。
スクリプト内で実行しているfdisk、mkfs等の詳細については、下記を参考ください。
Armadillo-640 製品マニュアル
14.1.1. 手順:ブートディスクの作成例
part4_a640.shまたは、part567_a640.shを実行します
eMMCでブートすると、fdisk -l /dev/mmcblk0でパーティションが切りなおされていることが確認できます。
補足)標準イメージのパーティションは下記ような構成になっています。
mmcblk0p1:予約領域
mmcblk0p2:Linux カーネルイメージ, Device Tree Blob, Debian GNU/Linux
mmcblk0p3:予約領域
part4_a640.sh、part567_a640.shは下記のようにパーティション(※)を切りなおしています。
※)mmcblk0p4以降を追加
part4_a640.sh(パーティションが4つまでの場合の例)
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 2048 67583 65536 32M b W95 FAT32
/dev/mmcblk0p2 854016 7405567 6551552 3.1G 83 Linux
/dev/mmcblk0p3 67584 329727 262144 128M b W95 FAT32
/dev/mmcblk0p4 329728 854015 524288 256M 83 Linux
part567_a640.sh(パーティションが5以上の場合の例)
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 2048 67583 65536 32M b W95 FAT32
/dev/mmcblk0p2 2426880 7405567 4978688 2.4G 83 Linux
/dev/mmcblk0p3 67584 329727 262144 128M b W95 FAT32
/dev/mmcblk0p4 329728 2426879 2097152 1G 5 Extended
/dev/mmcblk0p5 331776 462847 131072 64M 83 Linux
/dev/mmcblk0p6 464896 989183 524288 256M 83 Linux
/dev/mmcblk0p7 991232 2426879 1435648 701M 83 Linux