Armadilloフォーラム

eMMC以下にある dtdファイルの復旧可否について

shun_nabe

2022年4月19日 19時56分

初めて投稿いたします。

題記の件、dtdファイルを更新しようとして誤って eMMC下の "armadillo_x1.dtb"ファイルを削除してしまったのですが
USBなどからdtdファイルをコピーして復旧など可能でしょうか?

今現在、ブート時に以下のような表示になっております。
回復手段ございましたらご教示ください。

switch to partitions #0, OK
mmc0(part 0) is current device
switch to partitions #0, OK
mmc0(part 0) is current device
reading boot.scr
** Unable to read file boot.scr **
reading boot.scr
** Unable to read file boot.scr **
reading uImage
11580968 bytes read in 288 ms (38.3 MiB/s)
Booting from mmc ...
reading armadillo_x1.dtb
** Unable to read file armadillo_x1.dtb **
## Booting kernel from Legacy Image at 82000000 ...
   Image Name:   Linux-4.9.133-at12
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    11580904 Bytes = 11 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
FDT and ATAGS support not compiled in - hanging
### ERROR ### Please RESET the board ###
 
U-Boot SPL 2016.07-at22 (Oct 15 2021 - 18:00:12)
Trying to boot from SPI
 
 
U-Boot 2016.07-at22 (Oct 15 2021 - 18:00:12 +0900)
 
CPU:   Freescale i.MX7D rev1.3 at 996MHz
CPU:   Extended Commercial temperature grade (-20C to 105C) at 39C
Reset cause: POR
       Watchdog enabled
I2C:   ready
DRAM:  512 MiB
Boot Source: QSPI Flash
Board Type: Armadillo-X1(0a100000)
Revision: 0002
S/N: 33109
DRAM: 00001d05
XTAL: 00
X1 Addon EEPROM Detect
MMC:   FSL_SDHC: 0
Loading Environment from SPI Flash... SF: Detected N25Q128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
 
Failed (-5)
Loading Environment from SPI Flash... SF: Detected N25Q128 with page size 256 Bytes, erase size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment
 
Failed (-5)
In:    serial
Out:   serial
Err:   serial
Found PFUZE300! deviceid 0x30, revid 0x11
Net:   FEC0
コメント

at_shiita.ishigaki

2022年4月20日 10時32分

石垣です。

> 題記の件、dtdファイルを更新しようとして誤って eMMC下の "armadillo_x1.dtb"ファイルを削除してしまったのですが
> USBなどからdtdファイルをコピーして復旧など可能でしょうか?

SDブートを行い、eMMCにdtbを配置することができます。

マニュアルの「SDブートの活用」に沿ってSDブートを実行して頂き、
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
起動後に以下のコマンドを実行することで、SDカードのdtbをeMMCにコピーすることが可能です。
この手順を実行すると、eMMCに標準のdtbが配置されます。

[armadillo ~]# mount -t vfat /dev/mmcblk2p1 /mnt //eMMCの第1パーティションをマウント
[armadillo ~]# mkdir sd
[armadillo ~]# mount -t vfat /dev/mmcblk0p1 sd   //SDカードの第1パーティションをマウント
[armadillo ~]# cp sd/armadillo_x1.dtb /mnt/armadillo_x1.dtb

石垣様、

返信遅れ恐縮です。
ご教示頂いた方法にて確認してみます。

ご回答いただきありがとうございました。

> SDブートを行い、eMMCにdtbを配置することができます。
>
> マニュアルの「SDブートの活用」に沿ってSDブートを実行して頂き、
> https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…
> 起動後に以下のコマンドを実行することで、SDカードのdtbをeMMCにコピーすることが可能です。
> この手順を実行すると、eMMCに標準のdtbが配置されます。
>
>

> [armadillo ~]# mount -t vfat /dev/mmcblk2p1 /mnt //eMMCの第1パーティションをマウント
> [armadillo ~]# mkdir sd
> [armadillo ~]# mount -t vfat /dev/mmcblk0p1 sd   //SDカードの第1パーティションをマウント
> [armadillo ~]# cp sd/armadillo_x1.dtb /mnt/armadillo_x1.dtb
>