Armadilloフォーラム

tftp: Out of memory対処方法について

tamuki

2024年6月10日 10時50分

tamukiです。

atde5amd64でコンパイルしたカーネル、ユーザーランドファイルをArmadillo-420にアップロードしたところ以下のメッセージが表示されNGとなりアップロードに失敗しました。

Hermit-At v2.4.0 (armadillo4x0) compiled at 07:42:06, Mar 30 2018
hermit> tftpdl 192.168.0.2 192.168.0.1 --kernel=linux.bin.gz --userland=romfs.img.gz
initializing net-device...OK
 
Client: 192.168.0.2
Server: 192.168.0.1
Region(kernel): linux.bin.gz
Region(userland): romfs.img.gz
 
Filename : linux.bin.gz
..........................................................................................................................................................................................................................................................................................................................................................................................................................tftp: Out of memory
-NG I/O error

以下に示すようにクロスコンパイル環境atdeのバージョンが異なるのが原因ではないのかと推測しています。
どのように対処したら良いのかご教授頂きたいです。

atde5amd64で使用しているhermitバージョンは以下の通りです。

atmark@atde5:~$ hermit --version
Hermit-At v3.10.0

Armadillo-420の起動ログから関連するバージョンは以下の通りです。

Linux version 2.6.26-at31 (2.6.26) (atmark@atde3) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #1 PREEMPT Mon Mar 25 18:03:31 JST 2019
...
atmark-dist v1.55.0 (AtmarkTechno/Armadillo-420)
Linux 2.6.26-at31 [armv5tejl arch]

---参考---
Armadillo-420は複数所持しており、以下のバージョンでは問題なくアップロード出来ております。

Linux version 3.14.36-at13 (atmark@atde5) (gcc version 4.6.3 (Debian 4.6.3-14atmark1) ) #6 PREEMPT Sat Mar 2 14:29:02 JST 2024
atmark-dist v1.55.1 (AtmarkTechno/my-product)
Linux 3.14.36-at13 [armv5tejl arch]
コメント

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

tamukiさん:
>atde5amd64でコンパイルしたカーネル、ユーザーランドファイルをArmadillo-420にアップロードしたところ以下のメッセージが表示されNGとなりアップロードに失敗しました。

atde5adm64 (ATDE 5) ですから、Armadillo-400 シリーズおよび Armadillo-800 シリーズ用の linux-3.14 対応版ですね:
 https://armadillo.atmark-techno.com/guide/atde

>以下に示すようにクロスコンパイル環境atdeのバージョンが異なるのが原因ではないのかと推測しています。
>どのように対処したら良いのかご教授頂きたいです。
>
>atde5amd64で使用しているhermitバージョンは以下の通りです。

>Armadillo-420の起動ログから関連するバージョンは以下の通りです。

Linux version 2.6.26-at31 (2.6.26) (atmark@atde3) (gcc version 4.3.2 (Debian 4.3.2-1.1) ) #1 PREEMPT Mon Mar 25 18:03:31 JST 2019
...
atmark-dist v1.55.0 (AtmarkTechno/Armadillo-420)
Linux 2.6.26-at31 [armv5tejl arch]

Linux 2.6.26 であれば、Armadillo-400 シリーズ用の linux-2.6.26 対応版である ATDE 3 を使ってクロスビルドしてください:
 https://armadillo.atmark-techno.com/resources/software/atde/atde-v3

>---参考---
>Armadillo-420は複数所持しており、以下のバージョンでは問題なくアップロード出来ております。

Linux version 3.14.36-at13 (atmark@atde5) (gcc version 4.6.3 (Debian 4.6.3-14atmark1) ) #6 PREEMPT Sat Mar 2 14:29:02 JST 2024
atmark-dist v1.55.1 (AtmarkTechno/my-product)
Linux 3.14.36-at13 [armv5tejl arch]

こちらは Linux 3.14 ですから、ATDE 5 でクロスビルドして問題ないですね。

以上、参考になりましたら幸いです。

古賀様

tamukiです。

Armadillo-420内のLinuxバージョンに対応するATDEバージョンは以下との事でご回答ありがとうございました。

①Linux version 2.6.26-at31 (2.6.26) (atmark@atde3) → ATDE3
②Linux version 3.14.36-at13 (atmark@atde5) → ATDE5

ここで、複数所持しているArmadillo-420内のLinuxバージョンを全て②にしたいのですが、
その場合は①に対してどのように対処すればバージョンの更新が出来るのでしょうか?
クロスコンパイル環境もADTD5に統一したいです。

度々の質問で申し訳ありませんが、
よろしくお願いします。

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

tamukiさん:
>Armadillo-420内のLinuxバージョンに対応するATDEバージョンは以下との事でご回答ありがとうございました。
>
>①Linux version 2.6.26-at31 (2.6.26) (atmark@atde3) → ATDE3
>②Linux version 3.14.36-at13 (atmark@atde5) → ATDE5
>
>ここで、複数所持しているArmadillo-420内のLinuxバージョンを全て②にしたいのですが、
>その場合は①に対してどのように対処すればバージョンの更新が出来るのでしょうか?

(1) のソフトウェアを全て書き換える、というのが簡単な解です。つまり、ブートローダー、Linux カーネル、ユーザーランドを、全て Linux 3.14 対応のものに書き換えるのです。
書き換え手順は、マニュアルの「フラッシュメモリの書き換え方法」に記載しています。
 https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…

ブートローダー、Linux カーネル、ユーザーランドのイメージは、こちらからダウンロードしてください:
 https://armadillo.atmark-techno.com/armadillo-420/resources/software

いかがでしょうか?

古賀様

tamukiです。

ブートローダー、Linux カーネル、ユーザーランドのイメージをダウンロード後に、
WIN版ダウンローダ「hermit-at-win」を使用して以下のバージョンに更新する事が出来ました。
※ブートローダーのダウンロード後はArmadillo-420の再起動が必要

・Linux version 3.14.36-at13 (atmark@atde5)

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