Armadilloフォーラム

ABOSへの移行ができない (SDブートによる書き込みができない)

shun

2024年7月4日 15時35分

お疲れ様です。
現在Armadillo-610のDebian 10 busterからABOSへの移行をしたいのですが、SDブートによる移行ができず困っています。

Armadillo-610は拡張ボードからは外して、弊社が製作した基板に接合して使用している状況です。
Armadillo-600 シリーズ Armadillo Base OS 移行ガイド[p.10]の

sudo dd if=./baseos-600-installer-[VERSION].img of=/dev/sda bs=1M oflag=direct status=progress
(実環境は[of=/dev/sdb])

を実行すると、SDブートをしたのですが、

U-Boot 2018.03-at13 (Mar 29 2022 - 11:11:47 +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
=>

となってしまいCRCエラーでブートができない状態です。

microSDカードをPCに接続して中身を確認しようとしましたが、FATシステムの破損が原因か、フォーマットをしないといけない状態になって確認できませんでした。

どのようにしたらよいか教え願いたいです。

コメント

https://manual.atmark-techno.com/armadillo-610/armadillo-610_product_ma…
19.1.1.2. 起動デバイスの設定
のBJP1信号はSDブート状態にしてあるでしょうか。

そのログは、A610出荷状態でeMMCからブートした場合の正常なログです。
出荷状態のA610は接続先のボードの破壊を防ぐためlinuxは書き込んでおらず
u-bootのみeMMCに書き込んでいるため、そのままでは何も起動しないだけです。

(abos版のu-bootは2018.03ではなく2020.04なので、eMMCから起動していることがわかります。
また、そのCRC errorは単にu-bootの環境変数領域に特に何も書き込んでいない
デフォルト状態であるという意味で、起動する、しないとは関係ありません。)

また、ddでイメージを作ったあとはsyncコマンドを打ってからSDカードを取り外してください。

作成したディスクはwindowsでは読めないのが普通なので、もしフォーマット等をしてしまったり
操作を加えた場合は、dd->syncからやりなおしてください。

> https://manual.atmark-techno.com/armadillo-610/armadillo-610_product_ma…
> 19.1.1.2. 起動デバイスの設定
> のBJP1信号はSDブート状態にしてあるでしょうか。
>
> そのログは、A610出荷状態でeMMCからブートした場合の正常なログです。
> 出荷状態のA610は接続先のボードの破壊を防ぐためlinuxは書き込んでおらず
> u-bootのみeMMCに書き込んでいるため、そのままでは何も起動しないだけです。
>
> (abos版のu-bootは2018.03ではなく2020.04なので、eMMCから起動していることがわかります。
> また、そのCRC errorは単にu-bootの環境変数領域に特に何も書き込んでいない
> デフォルト状態であるという意味で、起動する、しないとは関係ありません。)
>
> また、ddでイメージを作ったあとはsyncコマンドを打ってからSDカードを取り外してください。
>
> 作成したディスクはwindowsでは読めないのが普通なので、もしフォーマット等をしてしまったり
> 操作を加えた場合は、dd->syncからやりなおしてください。

お疲れ様です。
BJP1信号はSDブート状態(1kΩ抵抗でショート)した状態で起動しています。

また、ddコマンド実行後、syncコマンドで安全に取り外した後に同様にSDブートをしましたが、依然としてeMMC起動をしている状況です。
書き込んだファイルは[baseos-600-installer-latest.zip]を解凍した[baseos-600-installer-3.19.1-at.4.img]を書き込んでいます。

以上、よろしくお願いいたします。

> お疲れ様です。
> BJP1信号はSDブート状態(1kΩ抵抗でショート)した状態で起動しています。
>
> また、ddコマンド実行後、syncコマンドで安全に取り外した後に同様にSDブートをしましたが、依然としてeMMC起動をしている状況です。
> 書き込んだファイルは[baseos-600-installer-latest.zip]を解凍した[baseos-600-installer-3.19.1-at.4.img]を書き込んでいます。
>
> 以上、よろしくお願いいたします。

ご確認ありがとうございます。
SDカードの相性で起動しない可能性もあるのですが、一度以下の確認を改めてしていただけるでしょうか。

https://manual.atmark-techno.com/armadillo-610/armadillo-610_product_ma…

の注意表記にあるArmadillo-610基板側でpull-up/downされている信号(LCD_DATA系とGPIO1_IO19, GPIO3_IO28)
については電源投入からSDブート完了まで論理がpullで期待している状態で維持される必要があります。
これらのピンの論理とBJP1との組み合わせでSDブートが実現されているため、もし起動時に外部の信号等で論理が変わると
SDブートが選択されません。

信号については、Armadillo-610開発セット付属の拡張ボードに何も接続しない状態であれば、
条件を満たすので、開発セットで試して、それでも起動しない場合はSDカードとの相性の可能性が高いので
別のSDカード(できれば容量の小さい古いもの)を試してみていただけると、どこに問題があるか切り分けできそうです。

> ご確認ありがとうございます。
> SDカードの相性で起動しない可能性もあるのですが、一度以下の確認を改めてしていただけるでしょうか。
>
> https://manual.atmark-techno.com/armadillo-610/armadillo-610_product_ma…
>
> の注意表記にあるArmadillo-610基板側でpull-up/downされている信号(LCD_DATA系とGPIO1_IO19, GPIO3_IO28)
> については電源投入からSDブート完了まで論理がpullで期待している状態で維持される必要があります。
> これらのピンの論理とBJP1との組み合わせでSDブートが実現されているため、もし起動時に外部の信号等で論理が変わると
> SDブートが選択されません。
>
> 信号については、Armadillo-610開発セット付属の拡張ボードに何も接続しない状態であれば、
> 条件を満たすので、開発セットで試して、それでも起動しない場合はSDカードとの相性の可能性が高いので
> 別のSDカード(できれば容量の小さい古いもの)を試してみていただけると、どこに問題があるか切り分けできそうです。
>

お疲れ様です。
ご指摘いただいたピンの論理を確認したところ、そちらに不備があったため修正し起動したらSDブートがかかり無事ABOSへアップデートできました。
ありがとうございました。