fukasawa
2021年4月22日 11時08分
平素よりお世話になっております。
at-dtwebを使用して、ハードウェアをカスタマイズしようとしたところ、添付画像のエラーが発生してしまいました。
at-dtwebの変更をもとに戻しても、`Save`時にやはり同様のエラーが発生してしまいます。
その後、Linuxイメージを再度コンパイルしようとしたところ、下記のエラーが発生しました。
原因わかりますでしょうか。
atmark@atde7:~/Linux_kernel/linux-v4.14-at20$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x8200000 uImage CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CHK include/generated/bounds.h CHK include/generated/timeconst.h CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CHK scripts/mod/devicetable-offsets.h CHK include/generated/compile.h CHK kernel/config_data.h Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is ready Kernel: arch/arm/boot/uImage is ready atmark@atde7:~/Linux_kernel/linux-v4.14-at20$ atmark@atde7:~/Linux_kernel/linux-v4.14-at20$ atmark@atde7:~/Linux_kernel/linux-v4.14-at20$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CHK include/generated/bounds.h CHK include/generated/timeconst.h CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh CHK scripts/mod/devicetable-offsets.h CHK include/generated/compile.h CHK kernel/config_data.h Kernel: arch/arm/boot/Image is ready Kernel: arch/arm/boot/zImage is ready DTC arch/arm/boot/dts/armadillo-640.dtb Error: arch/arm/boot/dts/armadillo-640.dts:24.14-15 syntax error FATAL ERROR: Unable to parse input tree scripts/Makefile.lib:317: ターゲット 'arch/arm/boot/dts/armadillo-640.dtb' のレシピで失敗しました make[1]: *** [arch/arm/boot/dts/armadillo-640.dtb] エラー 1 arch/arm/Makefile:348: ターゲット 'dtbs' のレシピで失敗しました make: *** [dtbs] エラー 2 atmark@atde7:~/Linux_kernel/linux-v4.14-at20$
エラーメッセージ内に記載のある、`armadillo-640.dts`のファイルを添付します。
ただ、at-dtwebやLinuxイメージのコンパイル自体が久しぶりなので、
今回の変更前からコンパイルできない状態になっていたかもしれません。
行いたいハードウェアの構成は以下のもので、最後の変更以外は過去に行って稼働しています。
- UART1(CON9-3,4pin)
- UART2(CON9-25~28pin)※CTSとRTSも使用
- UART3(CON3/4)※u-bootでコンソールに設定
- AWL13(CON9-11~24pin)
- UART5(CON9-4,5pin)※NEW
ファイル | ファイルの説明 |
---|---|
スクリーンショット 2021-04-22 110814.png | |
armadillo-640.dts |
コメント
fukasawa
> 添付頂いたarmadillo-640.dtsが、armadillo-640_con9_awl13_rtc.dtsと同一
> の内容のものとなっています。
> armadillo-640.dtsとして配置されているのであれば
はい、armadillo-640.dtsとして配置されていました。
どうもAWL13を使用するさいに、リネームして使うものだと思って変更したようです。
ファイル名を"armadillo-640_con9_awl13_rtc.dts"にしたあとに、過去の"armadillo-640.dts"を復活させて、再度コンパイルしたところ、成功しました。
その後、at-dtwebでUART5へ変更したあとの`Save`も成功しました。
まだ実機では検証していないですが、大丈夫そうです。
fukasawa
> まだ実機では検証していないですが、大丈夫そうです。
大丈夫ではありませんでした。
新しく作成したdtsとuImageを組み込んで、SDカードでインストールディスクイメージを作成して、Armadillo-640に書き込みしたところ、できませんでした。
書き込み時のログは以下です。
U-Boot 2018.03-at8 installer+ (Feb 17 2020 - 19:19:21 +0900) CPU: Freescale i.MX6ULL rev1.1 at 396 MHz Reset cause: POR I2C: ready DRAM: 512 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 In: serial Out: serial Err: serial PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11 Net: FEC => => boot 6818656 bytes read in 351 ms (18.5 MiB/s) 27539 bytes read in 56 ms (479.5 KiB/s) ## Booting kernel from Legacy Image at 82000000 ... Image Name: Linux-4.14-at20 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 6818592 Bytes = 6.5 MiB Load Address: 08200000 Entry Point: 08200000 Verifying Checksum ... OK ## Flattened Device Tree blob at 83000000 Booting using the fdt blob at 0x83000000 Loading Kernel Image ... OK Loading Device Tree to 9eef9000, end 9ef02b92 ... OK Starting kernel ... prefetch abort pc : [<081ffffc>] lr : [<9ff85bd9>] reloc pc : [<efa7affc>] lr : [<87800bd9>] sp : 9ef043e8 ip : 9ffc4c00 fp : 9ef044f0 r10: 00000003 r9 : 9ef04ec0 r8 : 9ef044f0 r7 : 00000000 r6 : 08200000 r5 : 9ffc4b20 r4 : 00000000 r3 : 00006b93 r2 : 9eef9000 r1 : 00000000 r0 : 00000000 Flags: nZCv IRQs off FIQs off Mode SVC_32 Resetting CPU ... resetting ... U-Boot 2018.03-at8 installer+ (Feb 17 2020 - 19:19:21 +0900) (略)
古いインストールディスクイメージで再度インストールディスクを作成して書き込んだところ書き込み完了して、動作しましたので
SDカード、インストールディスク作成・書込手順、Armadillo-640には問題がなさそうです。
uImage、dtbに原因がありそうです。
インストールディスクイメージ作成時のログも添付します。
sudo ./build.sh a640 ~/images/u-boot.imx ~/images/uImage ~/images/armadillo-640-at-dtweb.dtb ~/images/debian-stretch-armhf-a600-20210423.tar.gz [sudo] atmark のパスワード: 0+0 レコード入力 0+0 レコード出力 0 bytes copied, 0.000114467 s, 0.0 kB/s Checking that no-one is using this disk right now ... OK Disk /dev/loop0: 302 MiB, 316669952 bytes, 618496 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes >>> Created a new DOS disklabel with disk identifier 0x0e6b08f5. /dev/loop0p1: Created a new partition 1 of type 'W95 FAT32' and of size 2 MiB. /dev/loop0p2: Created a new partition 2 of type 'Linux' and of size 299 MiB. /dev/loop0p3: Done. New situation: Device Boot Start End Sectors Size Id Type /dev/loop0p1 2048 6143 4096 2M b W95 FAT32 /dev/loop0p2 6144 618495 612352 299M 83 Linux The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. mkfs.fat 4.1 (2017-01-24) mke2fs 1.43.4 (31-Jan-2017) Discarding device blocks: done Creating filesystem with 306176 1k blocks and 76608 inodes Filesystem UUID: 5f383731-0d73-4314-b158-1d6db9c5a18e 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 291+0 レコード入力 291+0 レコード出力 297984 bytes (298 kB, 291 KiB) copied, 0.0191807 s, 15.5 MB/s atmark@atde7:~/make-install-disk-image-v1.1.0$
よろしくおねがいします。
at_akihito.irie
入江です。
> 古いインストールディスクイメージで再度インストールディスクを作成して書き込んだところ書き込み完了して、動作しましたので
> SDカード、インストールディスク作成・書込手順、Armadillo-640には問題がなさそうです。
> uImage、dtbに原因がありそうです。
お客様のご認識のとおりだと思います。
ですが、頂いた情報からだけでは原因は特定できません。
お客様の方で、
- uImageとdtbの片方ずつ標準イメージにしてみる
- 標準イメージからひとつずつ修正を加えてエラーが発生する箇所を特定する
など、問題の切り分けを行っていただけますでしょうか。
その上でエラーが発生する箇所が特定できれば、修正に関しましてこちらから
アドバイスできるかもしれません。
以上、よろしくお願いいたします。
fukasawa
at_akihito.irie
2021年4月22日 15時02分
入江です。
1点確認させてください。
添付頂いたarmadillo-640.dtsが、armadillo-640_con9_awl13_rtc.dtsと同一
の内容のものとなっています。
添付のミスでしょうか、それとも添付頂いたファイルがarmadillo-640.dtsと
して配置されていますでしょうか。
armadillo-640.dtsとして配置されているのであれば、修正して頂いた上で再
度dtbのビルドを試していただけますでしょうか。
linux-4.14-at20のソースコードは以下からダウンロードできます。
https://download.atmark-techno.com/armadillo-640/source/linux-v4.14-at2…
以上、よろしくお願いいたします。