💡

(Windowsで).wic.bz2 をmicroSDに書き込む方法

2024/02/05に公開

事象

Yocto ProjectでRaspberry Piのイメージを作成したときに拡張子が*.wic.bz2のケースがあるが、Rapsberry Pi Imagerではこのファイル形式をmicroSDへ書き込みできない。

事象詳細

次のスクリプトでRaspberry Pi 4のイメージを作成すると、

mkdir ~/pi4 && cd ~/pi4
git clone -b nanbield --depth 1 git://git.yoctoproject.org/poky
git clone -b nanbield --depth 1 https://github.com/agherzan/meta-raspberrypi
source poky/oe-init-build-env
vi conf/local.conf
vi conf/bblayers.conf
bitbake core-image-base
conf/local.conf
...
MACHINE = "raspberrypi4-64"
LICENSE_FLAGS_ACCEPTED = "synaptics-killswitch"
conf/bblayers.conf
...
BBLAYERS ?= " \
  /home/azureuser/pi4/poky/meta \
  /home/azureuser/pi4/poky/meta-poky \
  /home/azureuser/pi4/poky/meta-yocto-bsp \
  /home/azureuser/pi4/meta-raspberrypi \
  "

tmp/deploy/images/raspberrypi4-64/core-image-base-raspberrypi4-64.rootfs.wic.bz2というイメージファイルが出来上がる。

わたしは普段、Raspberry Piの起動用microSDの書き込みにRaspberry Pi Imagerを使っているが、この*.wic.bz2はRaspberry Pi ImagerのUse customで選択できない。
公式は「bmaptoolを使え」ですが、わたしのPCはWindows...。(Windowsでもbmaptool使えるのかな?)
どうやってmicroSDに書き込めばいいのか?

解決方法1

balenaEtcherを使う。(わたしが確認したバージョンは1.18.11。)

解決方法2

*.wic.bz2*.wicに変換して、Raspberry Pi Imagerを使う。
*.wic.bz2*.wicをbzip2で圧縮したもの。なので、bunzip2で解凍すればOK。

core-image-base-raspberrypi4-64.rootfs.wic.bz2で確認するとファイルサイズが70994600から318347264と約4.5倍になりました。

解決方法3

*.wic.gzというイメージファイルを作らせる。
conf/local.confIMAGE_FSTYPESwic.gzにする。

conf/local.conf
...
IMAGE_FSTYPES = "wic.gz"
...

ファイルサイズは74659650でした。.wic.bz2より少し大きい。

Discussion