エラー:画像がfdtではありません。回復するにはボードをリセットする必要があります。

エラー:画像がfdtではありません。回復するにはボードをリセットする必要があります。

フリースケール1040RDBを起動しようとしていますが、いくつかの問題が発生しています。私は、すべてのyoctoレイヤーと構成がプリインストールされているyoctoがインストールされているLinux VBイメージを持つFreescaleのプリビルドSDKを使用しています。正常に実行できたので、ターゲットbitbakeにイメージを展開しようとしています。もちろん、Freescaleのドキュメントはまったく役に立ちません。そこで試行錯誤を経てカーネルイメージ、ルートファイルシステム、FDTと考えられることを発見しました。 TFTPを使用してターゲットにロードし、メモリから起動しようとしました。以下はターゲットシリアル端末のキャプチャです。最後の行にエラーが表示されます。この時点で、.dtbファイルに問題があるのか​​、それとも準備作業が必要なのか疑問に思います。 .dtbファイルの16進ダンプを取得し、ターゲットフラッシュにプリインストールされているデバイスツリーと比較した結果、同じ種類のデータと考えられます。

このエラーは何を意味し、それを解決するにはどうすればよいですか?

=> tftp 0x01000000 uImage
Using FM1@DTSEC4 device
TFTP from server 192.168.2.236; our IP address is 192.168.2.18
Filename 'uImage'.
Load address: 0x1000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ######################
         1.3 MiB/s
done
Bytes transferred = 5103714 (4de062 hex)
=> tftp 0x02000000 rootfs.gz.u-boot
Using FM1@DTSEC4 device
TFTP from server 192.168.2.236; our IP address is 192.168.2.18
Filename 'rootfs.gz.u-boot'.
Load address: 0x2000000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         ##############################################################
         1.4 MiB/s
done
Bytes transferred = 3310270 (3282be hex)
=> tftp 0x00c00000 uImage.dtb      
Using FM1@DTSEC4 device
TFTP from server 192.168.2.236; our IP address is 192.168.2.18
Filename 'uImage.dtb'.
Load address: 0xc00000
Loading: #######
         994.1 KiB/s
done
Bytes transferred = 35655 (8b47 hex)
=> bootm 0x01000000 0x02000000 0x00c00000
WARNING: adjusting available memory to 30000000
## Booting kernel from Legacy Image at 01000000 ...
   Image Name:   Linux-3.12.19-rt30-QorIQ-SDK-V1.
   Image Type:   PowerPC Linux Kernel Image (gzip compressed)
   Data Size:    5103650 Bytes = 4.9 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
   Image Name:   fsl-image-minimal-t1040rdb-64b-2
   Image Type:   PowerPC Linux RAMDisk Image (gzip compressed)
   Data Size:    3310206 Bytes = 3.2 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 00c00000
   Booting using the fdt blob at 0xc00000
   Uncompressing Kernel Image ... OK
   Loading Ramdisk to 2fcd7000, end 2ffff27e ... OK
ERROR: image is not a fdt - must RESET the board to recover.

ベストアンサー1

これは、カーネルイメージの解凍が開始されたとき(通常は上書きのため)fdtが破損したメモリのようです。 0xe00000などのより高いアドレスからfdtをロードしてみてください。

おすすめ記事