Pracuję z TS-4900, wbudowanym „komputerem w module” podłączonym do płyty bazowej z systemem Yocto Linux. Do uruchomienia używa U-Boota i podobno na podstawie modelu płyty głównej wybiera odpowiedni plik dtb do uruchomienia, a jeśli nie uda mu się zlokalizować właściwego, wraca do „ogólnego” dla mojego modułu.
Ale jak / gdzie to określa właściwą? Jak mogę ustalić, który plik .dtb został użyty, lub ustawić, którego należy użyć?
Poniżej znajdują się komunikaty rozruchowe U-Boot.
U-Boot 2014.10-g3ac6ec3 (Jan 29 2015 - 17:20:15)
CPU: Freescale i.MX6SOLO rev1.1 at 792 MHz
Reset cause: POR
Board: TS-4900
Revision: C
Watchdog enabled
I2C: ready
DRAM: 1 GiB
MMC: FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected N25Q64 with page size 256 Bytes, erase size 4 KiB, total 8 MiB
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: using phy at 7
FEC [PRIME]
Press Ctrl+C to abort autoboot in 1 second(s)
(Re)start USB...
USB0: Port not available.
USB1: USB EHCI 1.00
scanning bus 1 for devices... 2 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
No storage devices, perhaps not 'usb start'ed..?
Booting from the eMMC ...
** File not found /boot/boot.ub **
** File not found /boot/imx6dl-ts4900-13.dtb **
Booting default device tree
42507 bytes read in 196 ms (210.9 KiB/s)
118642 bytes read in 172 ms (672.9 KiB/s)
ICE40 FPGA reloaded successfully
4609784 bytes read in 337 ms (13 MiB/s)
## Booting kernel from Legacy Image at 12000000 ...
Image Name: Linux-3.10.17-1.0.0-technologic+
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4609720 Bytes = 4.4 MiB
Load Address: 10008000
Entry Point: 10008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 18000000
Booting using the fdt blob at 0x18000000
EHCI failed to shut down host controller.
Loading Kernel Image ... OK
Using Device Tree in place at 18000000, end 1800d60a
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
(Kernel startup commences...)