hagihara
2023年7月27日 18時57分
お世話になっております。
armadillo-610_product_manual_ja-3.0.0.pdfの「10.5. SDブートの活用」を実践していますが、ブートディスクイメージの作成が上手くいきません。
「10.5.1. ブートディスクの作成」の手順1のコマンドとログを以下に示します。
※マニュアルには--board a640とありましたがスクリプトを確認してa600にしています。
atmark@atde9:~/workspace/armadillo/build-rootfs-v3.17-at.7$ sudo ./build_image.sh --board a600 --boot ../u-boot-a600-v2020.04-at16.imx use default(outdir=/home/atmark/workspace/armadillo/build-rootfs-v3.17-at.7) use default(output=baseos-600-3.17.4-at.7.20230727.img) Warning: Partition table header claims that the size of partition table entries is 0 bytes, but this program supports only 128-byte entries. Adjusting accordingly, but partition table may be garbage. Warning: Partition table header claims that the size of partition table entries is 0 bytes, but this program supports only 128-byte entries. Adjusting accordingly, but partition table may be garbage. Creating new GPT entries in memory. Warning: The kernel is still using the old partition table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) GPT data structures destroyed! You may now partition the disk using fdisk or other utilities. Setting name! partNum is 0 Warning: The kernel is still using the old partition table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) The operation has completed successfully. mke2fs 1.46.2 (28-Feb-2021) Found a gpt partition table in baseos-600-3.17.4-at.7.20230727.img Discarding device blocks: done Creating filesystem with 307200 1k blocks and 76912 inodes Filesystem UUID: 2f1b6ea2-f2e4-405b-89ee-635d0b0de993 Superblock backups stored on blocks: 8193, 24577, 40961, 57345, 73729, 204801, 221185 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done Successfully built /home/atmark/workspace/armadillo/build-rootfs-v3.17-at.7/baseos-600-3.17.4-at.7.20230727.img
手順5のコマンドとログを以下に示します。
atmark@atde9:~/workspace/armadillo/build-rootfs-v3.17-at.7$ sudo dd if=./baseos-600-3.17.4-at.7.20230727.img of=/dev/sdb bs=1M oflag=direct status=progress 333447168 bytes (333 MB, 318 MiB) copied, 63 s, 5.3 MB/s 321+0 レコード入力 321+0 レコード出力 336592896 bytes (337 MB, 321 MiB) copied, 63.9944 s, 5.3 MB/s
書き込みはできていますが、gdsikでマイクロSDカードのパーティションを確認すると、以下のようにrootfs_0のパーティションしかありません。
atmark@atde9:~/workspace/armadillo/build-rootfs-v3.17-at.7$ sudo gdisk -l /dev/sdb GPT fdisk (gdisk) version 1.0.6 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Disk /dev/sdb: 31281152 sectors, 14.9 GiB Model: SD/MMC Sector size (logical/physical): 512/512 bytes Disk identifier (GUID): BFB7FB09-30AA-4B35-BE11-B4C54F92F4DA Partition table holds up to 128 entries Main partition table begins at sector 20448 and ends at sector 20479 First usable sector is 20480, last usable sector is 657374 Partitions will be aligned on 2048-sector boundaries Total free space is 22495 sectors (11.0 MiB) Number Start (sector) End (sector) Size Code Name 1 20480 634879 300.0 MiB 8300 rootfs_0
マニュアルに記載されているパーティション構成にするにはどうすればよいでしょうか。
手順の間違いや抜けなどあればご教示いただきたいです。
よろしくお願いいたします。
コメント
hagihara
>「SDブートの実行」の手順で、上記のマイクロSDカードからSDブートしてみてください。
>SDブートが完了したら、poweroff を実行して Armadillo の電源を切り、マイクロSDカードを取り外してから、ATDE に接続して gdisk でパーティションを再度確認してみていただけますか。
Armadillo-610の拡張ボードで起動を試しました。
以下のように Starting kernel ... と表示されたまま先に進みませんでした。
U-Boot 2020.04-at16 (Jun 28 2023 - 16:16:51 +0900) CPU: i.MX6ULL rev1.1 at 396 MHz Model: Atmark Techno Armadillo-600 Series DRAM: 512 MiB setup_rtc_disarm_alarm: Can't find bus WDT: Started with servicing (10s timeout) PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11 MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... OK In: mxc_serial Out: mxc_serial Err: mxc_serial switch to partitions #0, OK mmc1 is current device flash target is MMC:1 Net: eth0: ethernet@2188000 Fastboot: Normal Saving Environment to MMC... Writing to redundant MMC(1)... OK Normal Boot Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc1 is current device 6861600 bytes read in 312 ms (21 MiB/s) Booting from mmc ... 36414 bytes read in 19 ms (1.8 MiB/s) Loading fdt boot/armadillo-610.dtb ## Booting kernel from Legacy Image at 80800000 ... Image Name: Linux-5.10.185-1-at Created: 2023-07-07 7:06:17 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 6861536 Bytes = 6.5 MiB Load Address: 82000000 Entry Point: 82000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 83500000 Booting using the fdt blob at 0x83500000 Loading Kernel Image Loading Device Tree to 9ef1e000, end 9ef49fff ... OK Starting kernel ...
at_dominique.m…
hagiharaさん、
お世話になっています、
アットマークテクノのマルティンです。
> 「10.5.1. ブートディスクの作成」の手順1のコマンドとログを以下に示します。
> ※マニュアルには--board a640とありましたがスクリプトを確認してa600にしています。
この点はすみません、月曜日にマニュアルの更新が予定されていて、そちらに a600 と直しています。
> atmark@atde9:~/workspace/armadillo/build-rootfs-v3.17-at.7$ sudo ./build_image.sh --board a600 --boot ../u-boot-a600-v2020.04-at16.imx > atmark@atde9:~/workspace/armadillo/build-rootfs-v3.17-at.7$ sudo dd if=./baseos-600-3.17.4-at.7.20230727.img of=/dev/sdb bs=1M oflag=direct status=progress
これで問題なさそうですね。
> atmark@atde9:~/workspace/armadillo/build-rootfs-v3.17-at.7$ sudo gdisk -l /dev/sdb > Number Start (sector) End (sector) Size Code Name > 1 20480 634879 300.0 MiB 8300 rootfs_0
>
> マニュアルに記載されているパーティション構成にするにはどうすればよいでしょうか。
これも正常です:ディスクの書き込みを最小限にするため、build_image.sh で生成するイメージに最初のパーティションしかありません。
一度起動したら他のパーティションが作成されて、マニュアルの表どおりになります。
> Armadillo-610の拡張ボードで起動を試しました。
> 以下のように Starting kernel ... と表示されたまま先に進みませんでした。
もうしわけございません、こちらの確認不足でした。この問題を確認できました。
Armadillo 610 のデフォルトの dtb では SD カードのスロットが無効になっているため、カーネルがロードされえも永遠に sd カードを待っているだけです(「setenv optargs」でデフォルトの「quiet」をはずせば、ログをみれるはずです)
armadillo-610-onboard-usdhc2.dtbo の dtb overlay を追加すれば起動できるようになります。
build-rootfs のディレクトリに新しい「a600/resources/boot/overlays.txt」ファイルに「fdt_overlays=armadillo-610-onboard-usdhc2.dtbo」を記載して、あらかじめ build_rootfs.sh からイメージを作り直してください。
今月には間に合いませんが、来月のアップデートで修正しようと思います。
お手数をお掛けしました。また何かエラーしていたらまた聞いてください。
よろしくお願いします。
hagihara
ご提示いただいた方法を試しましたがまだ上手くいきません。
overlays.txtの確認、build_rootfs.sh、build_image.sh、マイクロSDに書き込みまでのログ及び起動時のログを添付します。
ご確認お願いします。
起動時のログはoverlays.txtを作る前と後で変わりがありませんでした。
ファイル | ファイルの説明 |
---|---|
overlays.txtの確認からマイクロSDに書き込みまでのログ.txt | |
起動時のログ.txt |
at_dominique.m…
hagiharaさん、
マルティネです。
> ご提示いただいた方法を試しましたがまだ上手くいきません。
>
> overlays.txtの確認、build_rootfs.sh、build_image.sh、マイクロSDに書き込みまでのログ及び起動時のログを添付します。
ログありがとうございます。
ログに以下のメッセージが気になります:
「 not found!t overlay armadillo-610-onboard-usdhc2.dtbo」(恐らく「Warning: fdt overlay armadillo...dtbo not found!」のちょっと化けたメッセージです)
成功の場合は以下のメッセージがあるはずです:
「Applying fdt overlay: armadillo-610-onboard-usdhc2.dtbo」
なので、rootfs を確認させてください。以下のコマンドの出力を提供していただけますか?
tar tf /home/atmark/workspace/armadillo/build-rootfs-v3.17-at.7/baseos-600-3.17.4-at.7.20230728.tar.zst ./boot
インストールログでは「Installing linux-at-a6 (5.10.185-r1)」がありますので、今朝手元で再現した時と同じ /boot/armadillo-610-onboard-usdhc2.dtbo があるはずですが、どうでしょうか。
ちゃんとにありましたら、u-boot 警告の文字化けが少し気になります。もしかしたら windows で overlays.txt を編集した影響で、ファイルが「CRLF」または「dos mode」で行の最後に「\r
」があるのではないかと思います。
それで /boot/armadillo-610-onboard-usdhc2.dtbo\r
ファイルを探して見つからないことになっていると推測します。
xxd a600/resources/boot/overlays.txt
で確認できます:
# 問題あった場合 (0d = \r) $ xxd a600/resources/boot/overlays.txt 00000000: 6664 745f 6f76 6572 6c61 7973 3d61 726d fdt_overlays=arm 00000010: 6164 696c 6c6f 2d36 3130 2d6f 6e62 6f61 adillo-610-onboa 00000020: 7264 2d75 7364 6863 322e 6474 626f 0d0a rd-usdhc2.dtbo.. # 問題ない場合 $ xxd a600/resources/boot/overlays.txt 00000000: 6664 745f 6f76 6572 6c61 7973 3d61 726d fdt_overlays=arm 00000010: 6164 696c 6c6f 2d36 3130 2d6f 6e62 6f61 adillo-610-onboa 00000020: 7264 2d75 7364 6863 322e 6474 626f 0a rd-usdhc2.dtbo.
ATDE で以下のコマンドでその \r
を削除できますので、実行してみてもう一度 build_rootfs から実行してみてください。
$ echo 'fdt_overlays=armadillo-610-onboard-usdhc2.dtbo' > a600/resources/boot/overlays.txt
よろしくお願いします。
hagihara
koga
2023年7月27日 22時28分
アットマークテクノの古賀です。
hagiharaさん:
>armadillo-610_product_manual_ja-3.0.0.pdfの「10.5. SDブートの活用」を実践していますが、ブートディスクイメージの作成が上手くいきません。
>
>「10.5.1. ブートディスクの作成」の手順1のコマンドとログを以下に示します。
>※マニュアルには--board a640とありましたがスクリプトを確認してa600にしています。
…
>手順5のコマンドとログを以下に示します。
>
>書き込みはできていますが、gdsikでマイクロSDカードのパーティションを確認すると、以下のようにrootfs_0のパーティションしかありません。
>
>マニュアルに記載されているパーティション構成にするにはどうすればよいでしょうか。
>手順の間違いや抜けなどあればご教示いただきたいです。
「SDブートの実行」の手順で、上記のマイクロSDカードからSDブートしてみてください。
SDブートが完了したら、poweroff を実行して Armadillo の電源を切り、マイクロSDカードを取り外してから、ATDE に接続して gdisk でパーティションを再度確認してみていただけますか。