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
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
仮想環境の場合、USB Type C port1を仮想環境に接続
4.2.2. uuuでの書き込み - wicイメージ全体の書き込み
SDカードへの書き込み
$ sudo uuu -b sd_all imx-image-full-imx8mp-lpddr4-evk.wic.zst
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>
注釈 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の場合)
EVKの電源をON、PCのコンソール(teraterm/minicomなど)に起動ログが表示されることを確認する
起動ログ表示後、以下のようにパスワード入力が求められるので、"root"を入力
NXP i.MX Release Distro 6.1-mickledore imx8mp-lpddr4-evk ttymxc1
imx8mp-lpddr4-evk login: root
コンソール表示が以下のようになることを確認
HDMIで接続されたディスプレイにwaylandのデスクトップが表示されていることを確認
本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。
お手数をおかけしますが、お問い合わせの際には、NXP代理店、もしくはNXPまでお問い合わせください。
只有注册用户才能在此添加评论。 如果您已经注册,请登录。 如果您还没有注册,请注册并登录。