Linux BSPをビルドして生成したイメージをターゲットボードに書き込む方法 (日本語ブログ)

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Linux BSPをビルドして生成したイメージをターゲットボードに書き込む方法 (日本語ブログ)

Keita_Nagashima
NXP Employee
NXP Employee
1 0 3,032

Linux BSPをビルドして生成したイメージをターゲットボードに書き込む方法を説明します。

「uuuというユーティリティを使う方法」と、「ddコマンド」の2種類の書き込み方法を紹介します。

Linux BSPのビルド方法については、以下をご参照ください。

[入門] Yocto Linux BSPのビルド方法 - i.MX 8M Plus編

=========================================

4. イメージの書き込み

uuuというユーティリティを使う方法、ddコマンドを使う方法の2つを紹介します。

4.1. uuu

ターゲットボードとホストPCをUSBで接続し、ターゲットボード上でSoCと接続されているSDカード、あるいはeMMCに対してイメージを書きこむ手段です。

4.2. ハードウェアセットアップ

以下図のようにEVKを周辺機器と接続して電源ON

 

KeitaNaga_2-1727327862104.png

4.2.1. uuuのインストール

https://github.com/nxp-imx/mfgtools/releasesからuuuをダウンロードください。(※windowsユーザーは「uuu.exe」)

実行属性を追加します

$ chmod +x /path/to/uuu

ダウンロードしたuuuを/usr/binにコピーします

$ sudo cp /path/to/uuu /usr/bin

helpが表示されるか確認

$ uuu

KeitaNaga_6-1727328034597.png

仮想環境の場合、USB Type C port1を仮想環境に接続

4.2.2. uuuでの書き込み - wicイメージ全体の書き込み

SDカードへの書き込み

$ sudo uuu -b sd_all imx-image-full-imx8mp-lpddr4-evk.wic.zst

KeitaNaga_7-1727328176704.png

eMMCへの書き込み

$ sudo uuu -b emmc_all imx-image-full-imx8mp-lpddr4-evk.wic.zst

注釈 uuuは書きこむイメージのフォーマットを自動で解析して書き込む機能をサポートしており、圧縮ファイルである.wic.zst形式でも書き込めます。 それ以外のイメージフォーマットもサポートしてますので、詳細はuuuのユーザガイドをご参照ください。

4.2.3. uuuでの書き込み - Bootloader単体の書き込み

-bの引数を変更することでBootloader単体の書き込み(書き換え)も可能です。

$ sudo uuu -b sd <bootloader>

KeitaNaga_8-1727328350725.png

注釈 wicイメージの書き込み同様、-b の引数をemmcにすればeMMCのBootloader単体書き込みが可能です

4.3. ddコマンドでの書き込み

ホストPCからSDカードに対して直接イメージを書きこむ手段です。書き込み対象のSDカードを、SDカードリーダライタなどを使ってホストPCに接続してください。 dmesgコマンドなどを使い、ホストPCからどのデバイスとしてSDカードが見えるか確認してください。

SDカードを含む、複数のカードスロットを備えているマルチカードリーダライタに、SDカードを1枚だけ刺してホストPCにつなげた場合のdmesgの例です。

<dmesgログ>

[27017.596868] usb 1-11: new high-speed USB device number 10 using xhci_hcd
[27017.832832] usb 1-11: New USB device found, idVendor=058f, idProduct=6364, bcdDevice= 1.00
[27017.832842] usb 1-11: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[27017.832847] usb 1-11: Product: Mass Storage Device
[27017.832850] usb 1-11: Manufacturer: Generic
[27017.832870] usb 1-11: SerialNumber: 058F63646476
[27017.862321] hid-generic 0003:058F:6364.0004: hiddev1,hidraw3: USB HID v1.10 Device [Generic Mass Storage Device] on usb-0000:03:00.0-11/input1
[27017.881107] usb-storage 1-11:1.0: USB Mass Storage device detected
[27017.882365] scsi host9: usb-storage 1-11:1.0
[27017.882517] usbcore: registered new interface driver usb-storage
[27017.883945] usbcore: registered new interface driver uas
[27018.903636] scsi 9:0:0:0: Direct-Access Generic- SD/MMC 1.00 PQ: 0 ANSI: 0
[27018.904026] scsi 9:0:0:1: Direct-Access Generic- Compact Flash 1.01 PQ: 0 ANSI: 0
[27018.904424] scsi 9:0:0:2: Direct-Access Generic- SM/xD-Picture 1.02 PQ: 0 ANSI: 0
[27018.904926] scsi 9:0:0:3: Direct-Access Generic- MS/MS-Pro 1.03 PQ: 0 ANSI: 0 CCS
[27018.905160] sd 9:0:0:0: Attached scsi generic sg4 type 0
[27018.905328] scsi 9:0:0:1: Attached scsi generic sg5 type 0
[27018.905754] sd 9:0:0:2: Attached scsi generic sg6 type 0
[27018.906022] sd 9:0:0:3: Attached scsi generic sg7 type 0
[27019.161335] sd 9:0:0:0: [sde] 61145088 512-byte logical blocks: (31.3 GB/29.2 GiB)
[27019.161766] sd 9:0:0:1: [sdf] Media removed, stopped polling
[27019.162436] sd 9:0:0:2: [sdg] Media removed, stopped polling
[27019.162954] sd 9:0:0:3: [sdh] Media removed, stopped polling
[27019.163930] sd 9:0:0:1: [sdf] Attached SCSI removable disk
[27019.166146] sd 9:0:0:0: [sde] Write Protect is off
[27019.166152] sd 9:0:0:0: [sde] Mode Sense: 03 00 00 00
[27019.168133] sd 9:0:0:0: [sde] No Caching mode page found
[27019.168140] sd 9:0:0:0: [sde] Assuming drive cache: write through
[27019.170143] sd 9:0:0:2: [sdg] Attached SCSI removable disk
[27019.172334] sd 9:0:0:3: [sdh] Attached SCSI removable disk
[27019.183057] sde: sde1 sde2 sde3
[27019.188118] sd 9:0:0:0: [sde] Attached SCSI removable disk
[27020.323547] EXT4-fs (sde2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.

ハイライト行のログからsdeにだけ実メディアがあるように見えるのが分かります。 この場合、/dev/sdeがSDカードのデバイス名ということになります。 デバイス名が判明したら、以下のコマンドで書き込みを行います。

$ zstdcat <image_name>.wic.zst |sudo dd of=/dev/sd<X> bs=1M conv=fsync

警告: 誤ったデバイス名を指定すると、ホストPC側ストレージのイメージを壊してしまう可能性がありますのでご注意ください。

注釈: 上のdmesgの例の場合(/dev/sde)と実際のイメージ名(imx-image-full-imx8mp-lpddr4-evk.wic.zst)でのコマンド例です

$ zstdcat imx-image-full-imx8mp-lpddr4-evk.wic.zst | sudo dd of=/dev/sde bs=1M conv=fsync

注釈: すでにイメージが書き込み済みのSDカードに対して上書きする場合、ホストPCにSDカードを刺すと今のパーティションがホストPCに認識されてマウントされます。マウントされたままの状態で書き込みを行うとうまく動かないケースがありますので、事前にSDカードのパーティションをアンマウントしてください。

$ umount /media/user/boot /media/user/rootfs

4.4. コンソール起動確認
BOOT_MODEをMicroSD/SDHC[0011]に変更します(SDカードBootの場合)

 

KeitaNaga_1-1727337320712.png

EVKの電源をON、PCのコンソール(teraterm/minicomなど)に起動ログが表示されることを確認する

起動ログ表示後、以下のようにパスワード入力が求められるので、"root"を入力

NXP i.MX Release Distro 6.1-mickledore imx8mp-lpddr4-evk ttymxc1
imx8mp-lpddr4-evk login: root

コンソール表示が以下のようになることを確認

root@imx8mp-lpddr4-evk:~#

HDMIで接続されたディスプレイにwaylandのデスクトップが表示されていることを確認

KeitaNaga_2-1727337421508.png

 

本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。

お手数をおかけしますが、お問い合わせの際には、NXP代理店、もしくはNXPまでお問い合わせください。