Armadilloフォーラム

Armadillo-640 at-dtwebでDTBが生成できない

kdhiro

2021年5月7日 13時46分

度々すみません。
Linuxカーネルのビルドが完了し、マニュアル20.3の「Device Treeをカスタマイズする」
に進んだのですが、at-dtwebで「DTS/DTBの生成」で「Could not build DTB.」という
エラーが発生しました。対処法を教えて頂きたくお願い致します。

コメント

at_ohsawa

2021年5月7日 15時09分

手順3.Linux カーネルディレクトリの選択
で先にビルドしたディレクトリを選択していないのだと思います。

ディレクトリの選択ダイアログが開いたら、 linux-4.14-at32 といった
ビルドしたディレクトリを1回クリックして(ダブルクリックして開く必要は無いです)
ダイアログ右上の[OK]を押してください。

kdhiro

2021年5月7日 15時22分

1回クリックしていますが、ダメです。

kdhiro

2021年5月10日 10時22分

何度やってもダメです。何か別の要因でエラーが出ているのでしょうか?

at_akihito.irie

2021年5月10日 14時06分

入江です。

at-dtwebはターミナルでコマンドからも起動できます。

[ATDE]$ at-dtweb

この方法で起動した場合、ターミナル上に各種ログが出力されますので、再度
同様の手順をお試しいただき、その時のターミナル上に表示されるログを送っ
ていただけますでしょうか。

kdhiro

2021年5月10日 15時41分

すみません。ログを取りましたので添付致します。
起動直後にもエラーが出ているようです。
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
Error creating proxy: 接続が閉じています (g-io-error-quark, 18)

ファイル ファイルの説明
at-dtweb起動のログ.txt

at_akihito.irie

2021年5月11日 9時42分

入江です。

お手数おかけしますが特権ユーザー(rootユーザー)ではなく、一般ユーザー
(atmarkユーザー)としてATDEにログインし、ホームディレクトリ
(/home/atmark/)で下記リンクの通りLinuxカーネルソースのダウンロードとビ
ルドを再度行っていただけますでしょうか。
https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…

上記手順で一般ユーザーとして正しくビルドできる環境を作り直した後に、
at-dtwebを用いたdtb作成など、お客様の行いたい修正をするのが良いと思い
ます。

本件に限った話ではありませんが、特権ユーザーで作業中に誤った操作を行う
と、ファイルを全て消してしまうなどの復旧不可能な状態に破壊してしまう可
能性がありますので、その観点からも一般ユーザーでの作業をおすすめします。

kdhiro

2021年5月11日 12時10分

> 入江です。
>
> お手数おかけしますが特権ユーザー(rootユーザー)ではなく、一般ユーザー
> (atmarkユーザー)としてATDEにログインし、ホームディレクトリ
> (/home/atmark/)で下記リンクの通りLinuxカーネルソースのダウンロードとビ
> ルドを再度行っていただけますでしょうか。
> https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…
>
> 上記手順で一般ユーザーとして正しくビルドできる環境を作り直した後に、
> at-dtwebを用いたdtb作成など、お客様の行いたい修正をするのが良いと思い
> ます。
>
> 本件に限った話ではありませんが、特権ユーザーで作業中に誤った操作を行う
> と、ファイルを全て消してしまうなどの復旧不可能な状態に破壊してしまう可
> 能性がありますので、その観点からも一般ユーザーでの作業をおすすめします。
>

了解致しました。一般ユーザーにて最初からやり直してみます。

kdhiro

2021年5月11日 13時43分

ありがとうございます!
無事にビルド成功できました!

kdhiro

2021年5月11日 14時20分

次の手順としては、
ATDEにあるat-dtwebで作成したDTB(armadillo-640.dtb)をArmadillo-640の
homeに転送し、homeディレクトリ上で以下の作業をすればよいでしょうか?
①mount /dev/mmcblk0p2 /mnt
②mkdir /mnt/boot
③cp armadillo-640.dtb /mnt/boot/a640.dtb
④umount /mnt

at_akihito.irie

2021年5月11日 14時34分

入江です。

> ATDEにあるat-dtwebで作成したDTB(armadillo-640.dtb)をArmadillo-640の

at-dtwebで生成されるDTBはarmadillo-640-at-dtweb.dtbです。

> ②mkdir /mnt/boot

/mnt/bootは既に存在しますので、上記コマンドを実行する必要はありません。

その他についてはご認識のとおりです。

kdhiro

2021年5月11日 16時29分

DTBの書き換えを行い、Armadillo-640をrebootしたのですが、
Starting kernel... で停止状態となりました。

kdhiro

2021年5月11日 16時50分

過去のフォーラムにあるように、at-dtwebでSPIの変更だけでなく、UART1(CON9: 3, 5ピン)の追加をしていなかったことが原因でしょうか?

kdhiro

2021年5月11日 17時06分

> 過去のフォーラムにあるように、at-dtwebでSPIの変更だけでなく、UART1(CON9: 3, 5ピン)の追加をしていなかったことが原因でしょうか?

Armadillo-640にログインしてmountする必要があると思うのですが、Starting kernel...画面から、どのようにしてログインすればよいでしょうか?

at_akihito.irie

2021年5月11日 17時25分

入江です。

> 過去のフォーラムにあるように、at-dtwebでSPIの変更だけでなく、UART1(CON9: 3, 5ピン)の追加をしていなかったことが原因でしょうか?

はい。その通りだと思います。
at-dtwebにてUART1を有効にしてSaveしていただき、生成された
armadillo-640-at-dtweb.dtbをご使用ください。

ただし、現状ではお使いのArmadilloはコンソールを出力しないため、そのま
まではeMMC内のdtbを書き換えることができません。

これを回避するために、インストールディスクを用いてArmadilloを一度初期
化する方法がおすすめです。

以下の手順ではArmadillo内のデータが初期化されるため、消えてはいけない
データがArmadillo内にある場合は、本手順を実施せずに本フォーラムでお知
らせください。

インストールディスクを用いた初期化手順は以下のマニュアルを参照ください。
https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…

最新のインストールディスクイメージは以下からダウンロードできます。
https://armadillo.atmark-techno.com/resources/software/armadillo-640/di…

上記手順実施後にArmadilloを起動し、dtbを修正後の物に書き換えてください。

kdhiro

2021年5月12日 9時56分

> 入江です。
>
> > 過去のフォーラムにあるように、at-dtwebでSPIの変更だけでなく、UART1(CON9: 3, 5ピン)の追加をしていなかったことが原因でしょうか?
>
> はい。その通りだと思います。
> at-dtwebにてUART1を有効にしてSaveしていただき、生成された
> armadillo-640-at-dtweb.dtbをご使用ください。
>
> ただし、現状ではお使いのArmadilloはコンソールを出力しないため、そのま
> まではeMMC内のdtbを書き換えることができません。
>
> これを回避するために、インストールディスクを用いてArmadilloを一度初期
> 化する方法がおすすめです。
>
> 以下の手順ではArmadillo内のデータが初期化されるため、消えてはいけない
> データがArmadillo内にある場合は、本手順を実施せずに本フォーラムでお知
> らせください。
>
> インストールディスクを用いた初期化手順は以下のマニュアルを参照ください。
> https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…
>
> 最新のインストールディスクイメージは以下からダウンロードできます。
> https://armadillo.atmark-techno.com/resources/software/armadillo-640/di…
>
> 上記手順実施後にArmadilloを起動し、dtbを修正後の物に書き換えてください。
>

会社に確認したのですが、セキュリティの都合上、micro-SDカードをATDEのPCに接続ができない状況です。
最近までインターネットもArmadillo-640に接続できなかったため、作成プログラムも直接Armadillo側に
書き込んでいる状況です・・・。別の方法もあるのでしょうか?会社がすぐに動いてくれないと思われますので。

kdhiro

2021年5月12日 10時50分

会社に交渉し、micro-SDカードを接続できる環境を本日のみの許可が出ました。
Armadillo側にあるソースコードが消えてしまうのは不本意ですが、時間がない
ので、インストールディスクの作成作業にトライしてみます・・・。

at_kojiro.yamada

2021年5月12日 11時03分

> 会社に交渉し、micro-SDカードを接続できる環境を本日のみの許可が出ました。
> Armadillo側にあるソースコードが消えてしまうのは不本意ですが、時間がない
> ので、インストールディスクの作成作業にトライしてみます・・・。

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

上記手順でブートディスクを作成してSDブートを行えば、ソースコードを消さずに済むと思います。
取り急ぎ以上です。

kdhiro

2021年5月12日 11時26分

> > 会社に交渉し、micro-SDカードを接続できる環境を本日のみの許可が出ました。
> > Armadillo側にあるソースコードが消えてしまうのは不本意ですが、時間がない
> > ので、インストールディスクの作成作業にトライしてみます・・・。
>
> https://manual.atmark-techno.com/armadillo-640/armadillo-640_product_ma…
>
> 上記手順でブートディスクを作成してSDブートを行えば、ソースコードを消さずに済むと思います。
> 取り急ぎ以上です。

micro-SDカードにインストールディスクを書き込みまで終わりました。ブートディスクの作成に
切替たいと思います。micro-SDカードは、一度フォーマットしてブートディスクの作業を開始す
ればよいでしょうか?
ちなみにArmadillo-640にmicro-SDカードを取り付けると接触の上部分と反対側の下部分が浮か
んでしまうのですが、特に問題はないでしょうか?

kdhiro

2021年5月12日 12時00分

何度もすみません。
SDブートのマニュアルを見たのですが、今までの経験上、絶対に何かでトラブル
と思い、結局、手順の少ないインストールディスクで復旧させることができました。

やりたいことは、マルチプレクスの設定でSPIを使えるようにしたいことだったの
ですが、いろんなことで失敗してしまい、また、ゼロからのスタートとなってしま
いましたが、この経験を元に頑張りたいと思います。