Armadilloフォーラム

イメージファイルの書き換えが失敗する

asp_washio2017

2022年1月23日 7時03分

お世話になります。

マニュアルの「イメージファイルの書き換え方法」に従ってUSBメモリを使った
インストールを実行していますが以下のメッセージが出て失敗してしまいます。
対処法を教えてください。

なお、新品の開発キットを使ったり、USBメモリを作り直したり、ディスクイメージのmd5も確認もしてみましたが状態は変わりませんでした。

install-disk-buster-aiota6-20211221.img

よろしくお願いいたします。

----------run usbboot のログ-----------------------------
U-Boot 2018.03-at8 (Feb 17 2020 - 19:19:00 +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
Loading Environment from MMC... *** Warning - bad CRC, using default

environment

Failed (-5)
In: serial
Out: serial
Err: serial
PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
Net: FEC
=> run usbboot
starting USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
USB1: USB EHCI 1.00
scanning bus 1 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
EHCI timed out on TD - token=0x3a008d80
EHCI timed out on TD - token=0x3a008d80
EHCI timed out on TD - token=0x3a008d80
** fs_devread read error - block
26907 bytes read in 129 ms (203.1 KiB/s)
stopping USB..
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Linux-4.14-at40
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 7612904 Bytes = 7.3 MiB
Load Address: 82000000
Entry Point: 82000000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
=>

コメント

at_syunya.ohshio

2022年1月24日 14時26分

大塩です。

> マニュアルの「イメージファイルの書き換え方法」に従ってUSBメモリを使った
> インストールを実行していますが以下のメッセージが出て失敗してしまいます。
> 対処法を教えてください。
>
> なお、新品の開発キットを使ったり、USBメモリを作り直したり、ディスクイメージのmd5も確認もしてみましたが状態は変わりませんでした。
>
> install-disk-buster-aiota6-20211221.img
>

こちらでも上記イメージを使用したUSBインストールを実行しましたが、正常にインストールされました。
以下コマンドは、root ユーザー環境でUSBメモリが「sda」と認識されているときに実行したコードになります。

dd if=install-disk-buster-aiota6-20211221.img of=/dev/sda bs=4M conv=fsync

可能であれば、別のUSBメモリを使用しても同じ症状が発生するかご確認いただけますでしょうか。

asp_washio2017

2022年1月25日 15時21分

お世話になります。
新しい別メーカで16GのUSBメモリを使って見ましたが状況は残念ながら変わりませんでした。

よろしくお願いいたします。

> 可能であれば、別のUSBメモリを使用しても同じ症状が発生するかご確認いただけますでしょうか。

確認ログ
----------------dd copy とusb取外し確認---------------------
[root@centos7 ~]# dd if=install-disk-buster-aiota6-20211221.img of=/dev/sdc bs=4M conv=fsync
77+0 レコード入力
77+0 レコード出力
322961408 バイト (323 MB) コピーされました、 19.4317 秒、 16.6 MB/秒
[root@centos7 ~]# fdisk -l /dev/sdc

Disk /dev/sdc: 15.5 GB, 15502147584 bytes, 30277632 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
Disk label type: dos
ディスク識別子: 0x3b39f053

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdc1 2048 6143 2048 b W95 FAT32
/dev/sdc2 6144 630783 312320 83 Linux
[root@centos7 ~]# fdisk -l /dev/sdc
fdisk: /dev/sdc を open できません: そのようなファイルやディレクトリはありません
-----------------------ubnboot fail-----------------------------
U-Boot 2018.03-at8 (Feb 17 2020 - 19:19:00 +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
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Failed (-5)
In: serial
Out: serial
Err: serial
PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
Net: FEC
=> run usbboot
starting USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
USB1: USB EHCI 1.00
scanning bus 1 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
EHCI timed out on TD - token=0x3a008d80
EHCI timed out on TD - token=0x3a008d80
EHCI timed out on TD - token=0x3a008d80
** fs_devread read error - block
26907 bytes read in 129 ms (203.1 KiB/s)
stopping USB..
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Linux-4.14-at40
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 7612904 Bytes = 7.3 MiB
Load Address: 82000000
Entry Point: 82000000
Verifying Checksum ... Bad Data CRC
ERROR: can't get kernel image!
=>

at_syunya.ohshio

2022年1月26日 13時41分

大塩です。

ご確認と情報ありがとうございます。

> 確認ログ
> ----------------dd copy とusb取外し確認---------------------
> [root@centos7 ~]# dd if=install-disk-buster-aiota6-20211221.img of=/dev/sdc bs=4M conv=fsync
> 77+0 レコード入力
> 77+0 レコード出力
> 322961408 バイト (323 MB) コピーされました、 19.4317 秒、 16.6 MB/秒
> [root@centos7 ~]# fdisk -l /dev/sdc
>
> Disk /dev/sdc: 15.5 GB, 15502147584 bytes, 30277632 sectors
> Units = sectors of 1 * 512 = 512 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
> Disk label type: dos
> ディスク識別子: 0x3b39f053
>
> デバイス ブート 始点 終点 ブロック Id システム
> /dev/sdc1 2048 6143 2048 b W95 FAT32
> /dev/sdc2 6144 630783 312320 83 Linux
> [root@centos7 ~]# fdisk -l /dev/sdc
> fdisk: /dev/sdc を open できません: そのようなファイルやディレクトリはありません
> -----------------------ubnboot fail-----------------------------
> U-Boot 2018.03-at8 (Feb 17 2020 - 19:19:00 +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
> Loading Environment from MMC... *** Warning - bad CRC, using default environment
>
> Failed (-5)
> In: serial
> Out: serial
> Err: serial
> PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
> Net: FEC
> => run usbboot
> starting USB...
> USB0: USB EHCI 1.00
> scanning bus 0 for devices... 1 USB Device(s) found
> USB1: USB EHCI 1.00
> scanning bus 1 for devices... 2 USB Device(s) found
> scanning usb for storage devices... 1 Storage Device(s) found
> EHCI timed out on TD - token=0x3a008d80
> EHCI timed out on TD - token=0x3a008d80
> EHCI timed out on TD - token=0x3a008d80
> ** fs_devread read error - block
> 26907 bytes read in 129 ms (203.1 KiB/s)
> stopping USB..
> ## Booting kernel from Legacy Image at 82000000 ...
> Image Name: Linux-4.14-at40
> Image Type: ARM Linux Kernel Image (uncompressed)
> Data Size: 7612904 Bytes = 7.3 MiB
> Load Address: 82000000
> Entry Point: 82000000
> Verifying Checksum ... Bad Data CRC
> ERROR: can't get kernel image!
> =>

いただいたログの中では USBメモリ内のイメージが破損しているように見えます。
念の為、USBメモリをmount し、中身を確認いただけますでしょうか。
以下mount例

#mount /dev/sda2 /mnt
#ls /mnt/images

asp_washio2017

2022年1月26日 19時10分

アドバイスいただきありがとうございます。

mount 確認してみました。
以下ログ
[root@centos7 ~]# mount /dev/sdc2 /mnt
[root@centos7 ~]# ls /mnt/
bin/ home/ lost+found/ proc/ tmp/
boot/ images/ media/ root/ usr/
dev/ lib/ mnt/ sbin/ var/
etc/ linuxrc opt/ sys/
[root@centos7 ~]# ls /mnt/images
a640.dtb install.conf u-boot.imx
debian-buster-armhf-aiota6-20211126.tar.gz install.sh uImage
[root@centos7 ~]# ls -l /mnt/images
合計 235748
-rw-r--r--. 1 root root 26907 12月 21 11:10 a640.dtb
-rw-r--r--. 1 root root 233452162 12月 21 11:10 debian-buster-armhf-aiota6-

20211126.tar.gz
-rw-r--r--. 1 root root 514 12月 21 11:10 install.conf
-rwxr-xr-x. 1 root root 7302 12月 21 11:10 install.sh
-rw-r--r--. 1 root root 302080 12月 21 11:10 u-boot.imx
-rw-r--r--. 1 root root 7612968 12月 21 11:10 uImage

よろしくお願いいたします。

at_syunya.ohshio

2022年1月27日 18時18分

大塩です。

> アドバイスいただきありがとうございます。
>
> mount 確認してみました。
> 以下ログ
> [root@centos7 ~]# mount /dev/sdc2 /mnt
> [root@centos7 ~]# ls /mnt/
> bin/ home/ lost+found/ proc/ tmp/
> boot/ images/ media/ root/ usr/
> dev/ lib/ mnt/ sbin/ var/
> etc/ linuxrc opt/ sys/
> [root@centos7 ~]# ls /mnt/images
> a640.dtb install.conf u-boot.imx
> debian-buster-armhf-aiota6-20211126.tar.gz install.sh uImage
> [root@centos7 ~]# ls -l /mnt/images
> 合計 235748
> -rw-r--r--. 1 root root 26907 12月 21 11:10 a640.dtb
> -rw-r--r--. 1 root root 233452162 12月 21 11:10 debian-buster-armhf-aiota6-
>
> 20211126.tar.gz
> -rw-r--r--. 1 root root 514 12月 21 11:10 install.conf
> -rwxr-xr-x. 1 root root 7302 12月 21 11:10 install.sh
> -rw-r--r--. 1 root root 302080 12月 21 11:10 u-boot.imx
> -rw-r--r--. 1 root root 7612968 12月 21 11:10 uImage
>
> よろしくお願いいたします。
>

確認ありがとうございます。
インストールディスクイメージのimages にインストールすべきファイルは入っているようです。

問題切り分けのため、以下の2つを実行していただけますでしょうか。
■インストールディスクイメージ上の ファイルに対する md5sumチェック

# mount /dev/sdc2 /mnt
# md5sum /mnt/images/uImage

■u-boot 上での usbファイル読み出しと md5sum チェック
u-boot 上で run usbboot コマンドを実行する代わりに、以下のコマンドを順に実行してください。

=> usb start
=> usb storage
=> ext4ls usb 0:2 /image
=> ext4load usb 0:2 0x82000000 /image/uImage

USBメモリ上のuImage が見えていれば、これらのコマンドで uImage をメモリ上に load することができます。
ext4load usb 0:2 0x82000000 /image/uImage が成功すれば、《10進数 filesize》bytes read in ... と表示されますので、《10進数 filesize》の値を16進数に変換してください。
16進数に変換したfilesize を用いて、以下コマンドを実行してください。

=> md5sum 0x82000000 《16進数 filesize》

asp_washio2017

2022年1月30日 8時45分

アドバイスいただきありがとうございます。
確認してみましたが残念ながらロードできませんでした。

以下ログ

よろしくお願いいたします。

-----------マウントとmd5sum-----------
root@armadillo:~# mount /dev/sda2 /mnt
[ 199.664629] EXT4-fs (sda2): mounted filesystem with ordered data mode.

Opts: (null)
root@armadillo:~# ls /mnt
bin dev home lib lost+found mnt proc sbin tmp var
boot etc images linuxrc media opt root sys usr
root@armadillo:~# ls /mnt/images/
a640.dtb install.conf u-boot.imx
debian-buster-armhf-aiota6-20211126.tar.gz install.sh uImage
root@armadillo:~# md5sum /mnt/images/uImage
8f94f5a43ee6de6185c3bf360639e4fe /mnt/images/uImag

------------USBブート----------------------------

U-Boot 2018.03-at8 (Feb 17 2020 - 19:19:00 +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
Loading Environment from MMC... *** Warning - bad CRC, using default

environment

Failed (-5)
In: serial
Out: serial
Err: serial
PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
Net: FEC
★ 上側USBポートに挿し実行
=> usb start
starting USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 1 USB Device(s) found
USB1: USB EHCI 1.00
scanning bus 1 for devices... 2 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
=> usb storage
Device 0: Vendor: Verbatim Rev: PMAP Prod: STORE N GO
Type: Removable Hard Disk
Capacity: 14784.0 MB = 14.4 GB (30277632 x 512)
=> ext4ls usb 0:2 /image
Unknown command 'ext4ls' - try 'help'
=> ext4load usb 0:2 0x82000000 /image/uImage
** File not found /image/uImage **
=>
★ 下側USBポートに挿し実行
=>usb start
=>usb storage
Device 0: Vendor: Verbatim Rev: PMAP Prod: STORE N GO
Type: Removable Hard Disk
Capacity: 14784.0 MB = 14.4 GB (30277632 x 512)
=> ext4ls usb 0:2 /image
Unknown command 'ext4ls' - try 'help'
=>ext4load usb 0:2 0x82000000 /image/uImage
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x80008d80
EHCI timed out on TD - token=0x80008d80
** Can't read partition table on 0:0 **
** Invalid partition 2 **
=>

koga

2022年1月30日 9時22分

アットマークテクノの古賀です。

asp_washio2017さん:
>アドバイスいただきありがとうございます。
>確認してみましたが残念ながらロードできませんでした。
>
>以下ログ

以下のログを拝見したところ、ext4ls や ext4load に渡すディレクトリ名が違っています。
こちらから提示した例が /image' になっていました。ごめんなさい。'/image' ではなく、'/images' を渡して下さいませ。が、ext4ls に対して
"Unknown command 'ext4ls' - try 'help" という出力になっているのは、不思議です。手元の IoT A6 で試したところ、このエラーにはなりません。存在しないディレクトリパスを指定した場合は、次のエラーになります。

** Can not find directory. **

以下、順にコメントします。

>-----------マウントとmd5sum-----------
>root@armadillo:~# mount /dev/sda2 /mnt
>[ 199.664629] EXT4-fs (sda2): mounted filesystem with ordered data mode.
>
>Opts: (null)
>root@armadillo:~# ls /mnt
>bin dev home lib lost+found mnt proc sbin tmp var
>boot etc images linuxrc media opt root sys usr
>root@armadillo:~# ls /mnt/images/
>a640.dtb install.conf u-boot.imx
>debian-buster-armhf-aiota6-20211126.tar.gz install.sh uImage
>root@armadillo:~# md5sum /mnt/images/uImage
>8f94f5a43ee6de6185c3bf360639e4fe /mnt/images/uImag

/dev/sda2、つまり USB メモリの第二パーティション直下にある images ディレクトリにカーネルイメージファイル(uImage)がありますので、u-boot の ext4ls や ext4load にも、images ディレクトリを渡さないといけません、
なお、第二パーティションの images/uImage に対する md5sum コマンドの実行に成功していますので、u-boot ではなく Linux からは、uImage ファイルの過足は問題なくできている状況ですね。

# 上のログでは、md5sum の出力でファイルパスが '/mnt/images/uImag' と
# なっており、ファイル名末尾の 'e' が抜けていますが、これは
# コピー&ペースト時の手違いでしょうか?

>------------USBブート----------------------------
>
>
>U-Boot 2018.03-at8 (Feb 17 2020 - 19:19:00 +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
>Loading Environment from MMC... *** Warning - bad CRC, using default
>
>environment
>
>Failed (-5)
>In: serial
>Out: serial
>Err: serial
>PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
>Net: FEC
>★ 上側USBポートに挿し実行
>=>usb start
>starting USB...
>USB0: USB EHCI 1.00
>scanning bus 0 for devices... 1 USB Device(s) found
>USB1: USB EHCI 1.00
>scanning bus 1 for devices... 2 USB Device(s) found
> scanning usb for storage devices... 1 Storage Device(s) found
>=>usb storage
>Device 0: Vendor: Verbatim Rev: PMAP Prod: STORE N GO
> Type: Removable Hard Disk
> Capacity: 14784.0 MB = 14.4 GB (30277632 x 512)

u-boot で USB メモリの認識までは出来ているようですね。Verbatim の 'STORE N GO' 製品のようですから、お使いになっている USB メモリは、このあたりでしょうか?
 https://www.amazon.co.jp/Verbatim-Store-Go-flash-drive/dp/B00ZYP1QPO

>=>ext4ls usb 0:2 /image
>Unknown command 'ext4ls' - try 'help'
>=>ext4load usb 0:2 0x82000000 /image/uImage
>** File not found /image/uImage **
>=>

冒頭で述べましたように、ext4load に渡すファイルパスは、'/image/uImage' ではなく '/images/uImage' にして下さいませ。こちらから提示した例が間違っていたことをお詫びします。

しかし、ext4ls の実行結果が 'Unknown command' になっていてコマンドを認識できていないようなのに対し、ext4load の方は 'File not found' で、コマンドを認識できているのが、少々不思議です。

>★ 下側USBポートに挿し実行
>=>usb start
>=>usb storage
>Device 0: Vendor: Verbatim Rev: PMAP Prod: STORE N GO
> Type: Removable Hard Disk
> Capacity: 14784.0 MB = 14.4 GB (30277632 x 512)
>=>ext4ls usb 0:2 /image
>Unknown command 'ext4ls' - try 'help'
>=>ext4load usb 0:2 0x82000000 /image/uImage
>EHCI timed out on TD - token=0x80008d80
>EHCI timed out on TD - token=0x80008d80
>EHCI timed out on TD - token=0x80008d80
>EHCI timed out on TD - token=0x80008d80
>EHCI timed out on TD - token=0x80008d80
>EHCI timed out on TD - token=0x80008d80
>** Can't read partition table on 0:0 **
>** Invalid partition 2 **
>=>

ext4ls がお手元の IoT A5 で動作していないようなのが不思議ですが、ext4ls や extload に渡すディレクトリ名を、正しく '/images' にして再度試してみて下さいませ。

koga

2022年1月30日 9時25分

アットマークテクノの古賀です。先ほどのコメントに TYPO があったので、訂正します。

古賀:
>なお、第二パーティションの images/uImage に対する md5sum コマンドの実行に成功していますので、u-boot ではなく Linux からは、uImage ファイルの過足は問題なくできている状況ですね。

「uImage ファイルの過足は」ではなく、「uImage ファイルの読み出しは」の間違いです。

asp_washio2017

2022年2月1日 6時34分

お世話になります。
ext4ls は成功しましたがext4loadは失敗でした。

よろしくお願いいたします。

---------------------------------------
U-Boot 2018.03-at8 (Feb 17 2020 - 19:19:00 +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
Loading Environment from MMC... *** Warning - bad CRC, using default environment

Failed (-5)
In: serial
Out: serial
Err: serial
PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
Net: FEC
=> usb start
starting USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1: USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
=> usb storage
Device 0: Vendor: Verbatim Rev: PMAP Prod: STORE N GO
Type: Removable Hard Disk
Capacity: 14784.0 MB = 14.4 GB (30277632 x 512)
=> ext4ls usb 0:2 /images
1024 .
1024 ..
7302 install.sh
514 install.conf
302080 u-boot.imx
233452162 debian-buster-armhf-aiota6-20211126.tar.gz
7612968 uImage
26907 a640.dtb
=> ext4load usb 0:2 0x82000000 /images/uImage
EHCI timed out on TD - token=0xba008d80
EHCI timed out on TD - token=0x3a008d80
EHCI timed out on TD - token=0x3a008d80
** fs_devread read error - block
=>

koga

2022年2月1日 7時58分

アットマークテクノの古賀です。

asp_washio2017さん:
>ext4ls は成功しましたがext4loadは失敗でした。

ご確認有難うございます。了解しました。以下にコメントします。

>---------------------------------------
>U-Boot 2018.03-at8 (Feb 17 2020 - 19:19:00 +0900)

>=>usb storage
> Device 0: Vendor: Verbatim Rev: PMAP Prod: STORE N GO
> Type: Removable Hard Disk
> Capacity: 14784.0 MB = 14.4 GB (30277632 x 512)
>=>ext4ls usb 0:2 /images
> 1024 .
> 1024 ..
> 7302 install.sh
> 514 install.conf
> 302080 u-boot.imx
> 233452162 debian-buster-armhf-aiota6-20211126.tar.gz
> 7612968 uImage
> 26907 a640.dtb
>=>ext4load usb 0:2 0x82000000 /images/uImage
>EHCI timed out on TD - token=0xba008d80
>EHCI timed out on TD - token=0x3a008d80
>EHCI timed out on TD - token=0x3a008d80
> ** fs_devread read error - block
>=>

最初に頂いたログでは、'run usbboot' で uImage と a640.dtb を読み出ししようとした際、uImage の読み出しに失敗した後、a640.dtb(ファイルサイズ 26907Byte)の読み出しには成功していたように見えましたが、ext4load で uImage を読み出ししようとしてもエラーする、という状況ですね。

追加で二点確認させて下さい。

1.) お使いの USB メモリは、この製品でしょうか?
 https://www.amazon.co.jp/Verbatim-Store-Go-flash-drive/dp/B00ZYP1QPO

2.) ext4load で読み出すファイルを、uImage ではなく u-boot.imx にした場合、どうなるでしょうか?

asp_washio2017

2022年2月1日 9時48分

お世話になります。

1)USBメモリはヨドバシカメラで購入した以下の製品です。

Verbatim バーベイタム
USBSPS16GZV1 [USBメモリ USB3.0、USB2.0両対応 16GB スライド式 Win/Mac対応]

2)u-boot.imxのロードは成功しました。

よろしくお願いいたします。
-------------log-------
U-Boot 2018.03-at8 (Feb 17 2020 - 19:19:00 +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
Loading Environment from MMC... *** Warning - bad CRC, using default

environment

Failed (-5)
In: serial
Out: serial
Err: serial
PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
Net: FEC
=> usb start
starting USB...
USB0: USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
USB1: USB EHCI 1.00
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
=> usb storage
Device 0: Vendor: Verbatim Rev: PMAP Prod: STORE N GO
Type: Removable Hard Disk
Capacity: 14784.0 MB = 14.4 GB (30277632 x 512)
=> ext4ls usb 0:2 /images
1024 .
1024 ..
7302 install.sh
514 install.conf
302080 u-boot.imx
233452162 debian-buster-armhf-aiota6-20211126.tar.gz
7612968 uImage
26907 a640.dtb
=> ext4load usb 0:2 0x82000000 /images/u-boot.imx
302080 bytes read in 186 ms (1.5 MiB/s)
=>

at_shinya.koga

2022年2月2日 10時08分

アットマークテクノの古賀です。

asp_washio2017さん:
>1)USBメモリはヨドバシカメラで購入した以下の製品です。
>
>Verbatim バーベイタム
>USBSPS16GZV1 [USBメモリ USB3.0、USB2.0両対応 16GB スライド式 Win/Mac対応]

有難うございます。この製品ですね:
 https://www.yodobashi.com/product/100000001003675620/

この製品を購入して確認したところ、ご報告と同じ症状となり、uImage をロードできませんでした。この製品は USB 3.0 対応ですね。どうやら、u-boot の USB ドライバに修正の余地がありそうです。対向 USB メモリの特性に依存して、ある程度以上のサイズのファイルを u-boot から ext4load でロードしようとするとブロック転送動作でタイムアウトエラーしてしまう場合があるようです。

ちなみに、僕の環境で使っていたのは USB 2.0 の製品で、こちらです:
 https://www.yodobashi.com/product/100000001003508445/
もし、この製品を入手可能であれば、使ってみて頂けますと幸いです。

現在お使いの USB メモリで u-boot が uImage をロードできない件については、調査します。お手数をかけまして申し訳ありません。
以上、取り急ぎお知らせです。

asp_washio2017

2022年2月3日 6時52分

お世話になります。
USB2.0の製品を入手して試して結果を後日投稿いたいします。

よろしくお願いいたします。

> ちなみに、僕の環境で使っていたのは USB 2.0 の製品で、こちらです:
>  https://www.yodobashi.com/product/100000001003508445/
> もし、この製品を入手可能であれば、使ってみて頂けますと幸いです。

koga

2022年2月3日 13時43分

アットマークテクノの古賀です。

asp_washio2017さん:
>USB2.0の製品を入手して試して結果を後日投稿いたいします。
>
>よろしくお願いいたします。
>
>>ちなみに、僕の環境で使っていたのは USB 2.0 の製品で、こちらです:
>> https://www.yodobashi.com/product/100000001003508445/
>>もし、この製品を入手可能であれば、使ってみて頂けますと幸いです。

有難うございます。どうぞ宜しくお願いします。
ところで、

古賀(2022年2月2日 10時08分):
>>Verbatim バーベイタム
>>USBSPS16GZV1 [USBメモリ USB3.0、USB2.0両対応 16GB スライド式 Win/Mac対応]
>
>有難うございます。この製品ですね:
>  https://www.yodobashi.com/product/100000001003675620/
>
>この製品を購入して確認したところ、ご報告と同じ症状となり、uImage をロードできませんでした。この製品は USB 3.0 対応ですね。どうやら、u-boot の USB ドライバに修正の余地がありそうです。対向 USB メモリの特性に依存して、ある程度以上のサイズのファイルを u-boot から ext4load でロードしようとするとブロック転送動作でタイムアウトエラーしてしまう場合があるようです。

>現在お使いの USB メモリで u-boot が uImage をロードできない件については、調査します。お手数をかけまして申し訳ありません。
>以上、取り急ぎお知らせです。

この件ですが、やはり u-boot の USB ドライバが要因でした。'u-boot ext4load EHCI timed out on TD - token=' で検索してみたところ、4年半ほど前に、同様な問題を報告してワークアラウンドのパッチを提供している人がいたのが見つかりました:
 https://forum.doozan.com/read.php?3,35295
ワークアラウンドのパッチは、これです:
 https://www.dropbox.com/s/nrkrd1no63viuu8/uboot-bodhi-2016.05-timeoutTD…

このパッチのうち、common/usb_storage.c の usb_stor_read() に対する修正のみ IoT A6 の u-boot のソースに適用してみたところ、ext4load でエラーする症状が解消され、また、'run usbboot' でもエラーしなくなりました。修正を適用する前に、usb_stor_read() にログ出力を追加して再現確認してみたところ、USB MSC デバイスからブロック列を読み出す際に、ブロック数が大きい( >> 2047)時にタイムアウトでエラーしてしまい、2回までリトライしたところで諦める、という状況でした。

適用した修正は、「ブロック列の読み出しで失敗した場合、ブロック数が 2048 以上であれば、一度に読み出すブロック数を小さくしてリトライする」というものです。この修正を加えた u-boot のバイナリを、gzip 圧縮して添付しました(u-boot.imx_gz)。このイメージファイル(u-boot.imx)を USB メモリに入れて、マニュアルの「12.2.1. ブートローダーイメージの書き換え」に記載している手順で eMMC に上書きすれば、シャットダウン・電源断したのち、お使いの USB メモリをインストールディスクとしてイメージ書き換えできるでしょう。
 https://manual.atmark-techno.com/armadillo-iot-a6/armadillo-iota6_produ…

ファイル ファイルの説明
u-boot.imx_.gz

asp_washio2017

2022年2月4日 18時25分

お世話になります。

> >USB2.0の製品を入手して試して結果を後日投稿いたいします。
新しいUSBメモリでも読み込み失敗でしたがご提示のu-boot.imxを使って書き換えたところインストールが成功しました。

ありがとうございました。