Armadilloフォーラム

armadillo-840 flatfsd について

toju

2018年12月4日 15時31分

下記についてご教授ください。

armadillo-840にてIPアドレスの固定化をしたいのですが、

「/etc/network/interfaces」にて設定をしました。

その後、「flatfsd -s」のコマンドを入力し設定を保存しようとしました。

しかし、ログに

[root@armadillo840-0 (ttySC2) /etc/config]# flatfsd -s
flatfsd: mtd.c:156: flat_dev_close: Assertion `flatinfo.fd != -1' failed.
Aborted

と出てしまって保存ができない状態にあります、

ボード自体は工場出荷状態の状態で実行しています。
先に何か設定が必要でしたのでしょうか??

尚、コマンドはシリアル接続にて行っております。

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

コメント

at_kojiro.yamada

2018年12月4日 15時51分

> ボード自体は工場出荷状態の状態で実行しています。
> 先に何か設定が必要でしたのでしょうか??

工場出荷状態という情報だけではソフトウェアのバージョンがわかりませんので、
ブートローダー、Linuxカーネル、Atmark-distのバージョンを教えていただけませんか?

バージョン情報は起動ログに表示されています。

ブートローダーのバージョンはArmadillo-840の電源投入直後、
LinuxカーネルとAtmark-distのバージョンはログインプロンプトの直前に表示されています。

Hermit-At v3.7.0 (Armadillo-840/nor) compiled at 22:04:20, Sep 28 2015
: (略)(
atmark-dist v1.45.0 (AtmarkTechno/Armadillo-840)
Linux 3.4-at16 [armv7l arch]
armadillo840-0 login: 

早々のご返信ありがとうございます。

ブートローダーversion:
Hermit-At v3.9.0 (Armadillo-840/nor) compiled at 17:54:59, Jul 15 2017

カーネル・Atmark-dist version:
atmark-dist v1.51.0 (AtmarkTechno/Armadillo-840)
Linux 3.4-at20 [armv7l arch]

になります。

説明不足で申し訳ございません。
宜しくお願い致します。

> > ボード自体は工場出荷状態の状態で実行しています。
> > 先に何か設定が必要でしたのでしょうか??
>
> 工場出荷状態という情報だけではソフトウェアのバージョンがわかりませんので、
> ブートローダー、Linuxカーネル、Atmark-distのバージョンを教えていただけませんか?
>
> バージョン情報は起動ログに表示されています。
>
> ブートローダーのバージョンはArmadillo-840の電源投入直後、
> LinuxカーネルとAtmark-distのバージョンはログインプロンプトの直前に表示されています。
>
>

> Hermit-At v3.7.0 (Armadillo-840/nor) compiled at 22:04:20, Sep 28 2015
> : (略)(
> atmark-dist v1.45.0 (AtmarkTechno/Armadillo-840)
> Linux 3.4-at16 [armv7l arch]
> armadillo840-0 login: 
> 

>

at_kojiro.yamada

2018年12月4日 17時22分

> Linux 3.4-at20 [armv7l arch]

Armadillo-840のSDスロットに貼り付けられているシールには

A84* (*は 0, 1, 2, 3のうちどれか)

が表示されているのですが、なんと表示されいてますか?

A842またはA843の場合、
搭載されているNORフラッシュメモリがA840, A841とは異なり、
CONFIG_MTD_CFI_AMDSTDが有効になっていないとLinux上ではNORフラッシュメモリにアクセスできません。

CONFIG_MTD_CFI_AMDSTDが有効かどうかは、以下のコマンドを実行するとわかります。

[A840]# zcat /proc/config.gz | grep CONFIG_MTD_CFI_AMDSTD
 
CONFIG_MTD_CFI_AMDSTD=y            // <-有効
# CONFIG_MTD_CFI_AMDSTD is not set // <-無効

Armadillo-840のSDスロットに貼り付けられているシールには

「A8442」と記述がありました。

zcat /proc/config.gz | grep CONFIG_MTD_CFI_AMDSTD

を実行後、

確かに

# CONFIG_MTD_CFI_AMDSTD is not set

と表示が出ました。

これは有効の形へ書き換えるということで宜しいのでしょうか?

まったくの無知で申し訳ございません。
宜しくお願い致します。

> > Linux 3.4-at20 [armv7l arch]
>
> Armadillo-840のSDスロットに貼り付けられているシールには
>

> A84* (*は 0, 1, 2, 3のうちどれか)
> 

> が表示されているのですが、なんと表示されいてますか?
>
> A842またはA843の場合、
> 搭載されているNORフラッシュメモリがA840, A841とは異なり、
> CONFIG_MTD_CFI_AMDSTDが有効になっていないとLinux上ではNORフラッシュメモリにアクセスできません。
>
> CONFIG_MTD_CFI_AMDSTDが有効かどうかは、以下のコマンドを実行するとわかります。
>

> [A840]# zcat /proc/config.gz | grep CONFIG_MTD_CFI_AMDSTD
> 
> CONFIG_MTD_CFI_AMDSTD=y            // <-有効
> # CONFIG_MTD_CFI_AMDSTD is not set // <-無効
> 

>
>

at_kojiro.yamada

2018年12月4日 18時28分

> これは有効の形へ書き換えるということで宜しいのでしょうか?

Linuxカーネルイメージを書き換える必要があります。
また、Linuxカーネルをカスタマイズしている場合は、Linuxカーネルイメージ
をビルドし直す必要があります。

CONFIG_MTD_CFI_AMDSTDがデフォルトコンフィギュレーションで有効化された
のは、
- linux-a840-v1.15.bin.gz
- linux-3.4-at22.tar.gz
からです。

Linuxカーネルをカスタマイズしていないのであれば、標準イメージを利用す
ることができます。
https://download.atmark-techno.com/armadillo-840/image/

Linuxカーネルをカスタマイズしていて、
linux-3.4-at22.tar.gzよりも前のバージョンを利用するのであれば、
カーネルコンフィギュレーションを変更(CONFIG_MTD_CFI_AMDSTDを有効化)して
ビルドする必要があります。
ビルド方法、カーネルコンフィギュレーションの変更方法については、
Armadillo-840 製品マニュアルをご覧ください。

Linuxカーネル/ユーザーランドをビルド手順
https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_ma…

イメージをカスタマイズする
https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_ma…

お世話になっております。

> Linuxカーネルをカスタマイズしていないのであれば、標準イメージを利用す
> ることができます。
> https://download.atmark-techno.com/armadillo-840/image/

こちらに沿って標準イメージを利用することになりました。

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

そこで

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

の手順の「make manuconfig」のコマンドですが、

「ash: make: not found」のエラーが出てしまいます。

これはパッケージが不足しているという認識で宜しいでしょうか?

宜しくお願い致します。

> > これは有効の形へ書き換えるということで宜しいのでしょうか?
>
> Linuxカーネルイメージを書き換える必要があります。
> また、Linuxカーネルをカスタマイズしている場合は、Linuxカーネルイメージ
> をビルドし直す必要があります。
>
> CONFIG_MTD_CFI_AMDSTDがデフォルトコンフィギュレーションで有効化された
> のは、
> - linux-a840-v1.15.bin.gz
> - linux-3.4-at22.tar.gz
> からです。
>
>
> Linuxカーネルをカスタマイズしていないのであれば、標準イメージを利用す
> ることができます。
> https://download.atmark-techno.com/armadillo-840/image/
>
>
> Linuxカーネルをカスタマイズしていて、
> linux-3.4-at22.tar.gzよりも前のバージョンを利用するのであれば、
> カーネルコンフィギュレーションを変更(CONFIG_MTD_CFI_AMDSTDを有効化)して
> ビルドする必要があります。
> ビルド方法、カーネルコンフィギュレーションの変更方法については、
> Armadillo-840 製品マニュアルをご覧ください。
>
> Linuxカーネル/ユーザーランドをビルド手順
> https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_ma…
>
> イメージをカスタマイズする
> https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_ma…
>

at_kojiro.yamada

2018年12月5日 13時03分

標準イメージを利用するのであれば、
> https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_ma…
この作業は必要ありません。

https://download.atmark-techno.com/armadillo-840/image/
から v1.15以上のLinuxカーネルイメージをダウンロードして、Armadillo-840に書き込んでください。

書き換え方法は製品マニュアルに記載しておりますので、そちらをご覧ください。
https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_ma…

ご丁寧にありがとうございます。

armadilloの「/dev/flash」の中身のパーティション操作を誤ってしまったのか消えてしまいました。

こちらは復旧などは可能なのでしょうか?

こちらの操作不備で誠に申し訳ございません。
ご教授ください。

> 標準イメージを利用するのであれば、
> > https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_ma…
> この作業は必要ありません。
>
> https://download.atmark-techno.com/armadillo-840/image/
> から v1.15以上のLinuxカーネルイメージをダウンロードして、Armadillo-840に書き込んでください。
>
> 書き換え方法は製品マニュアルに記載しておりますので、そちらをご覧ください。
> https://manual.atmark-techno.com/armadillo-840/armadillo-840_product_ma…
>
>
>

at_kojiro.yamada

2018年12月5日 14時42分

> ご丁寧にありがとうございます。
>
> armadilloの「/dev/flash」の中身のパーティション操作を誤ってしまったのか消えてしまいました。
>
> こちらは復旧などは可能なのでしょうか?
>
> こちらの操作不備で誠に申し訳ございません。
> ご教授ください。

上記現象はLinuxカーネルが A842に搭載されいてるNORフラッシュメモリへアクセスできないことが原因です。
他の方法でLinuxカーネルイメージを書き換えるしかありません。

12.3. ダウンローダーを使用してフラッシュメモリを書き換える
12.4. TFTPを使用してフラッシュメモリを書き換える
を試してみてください。

お世話になっております。

> 12.3. ダウンローダーを使用してフラッシュメモリを書き換える
を試しました。

いくつかご確認させください。

1.armadilloのボードは保守モードになっております。

2.minicomの起動とありますが起動後は下記で会っていますでしょうか?

 atmark@atde5:~$ LANG=C minicom --noinit --wrap --device /dev/ttyS0

 Welcome to minicom 2.6.1

 OPTIONS: I18n
 Compiled on Apr 24 2017, 17:30:00.
 Port /dev/ttyS0

 Press CTRL-A Z for help on special keys

シリアルのデバイスはttyS0で確認は取れています。

3.armadilloに電源を投入後ターミナル画面には
 
 hermit> Hermit-At v3.9.0 (Armadillo-840/nor) compiled at 17:54:59, Jul 15 2017
 hermit>

と出力がされています。

4.minicomを終了後下記を実行

 tmark@atde5:~$ hermit download --input-file loader-armadillo840-nor-v3.10.0.bin --region bootloader --port /dev/ttyS0
 fopen: No such file or directory
 hermit: panic: couldn't open loader-armadillo840-nor-v3.10.0.bin

とエラーが出てしまいます。
loader-armadillo840-nor-v3.10.0.bin
の指定が間違っているのでしょうか?

ご教授ください

> > ご丁寧にありがとうございます。
> >
> > armadilloの「/dev/flash」の中身のパーティション操作を誤ってしまったのか消えてしまいました。
> >
> > こちらは復旧などは可能なのでしょうか?
> >
> > こちらの操作不備で誠に申し訳ございません。
> > ご教授ください。
>
> 上記現象はLinuxカーネルが A842に搭載されいてるNORフラッシュメモリへアクセスできないことが原因です。
> 他の方法でLinuxカーネルイメージを書き換えるしかありません。
>
>
> 12.3. ダウンローダーを使用してフラッシュメモリを書き換える
> 12.4. TFTPを使用してフラッシュメモリを書き換える
> を試してみてください。
>

お世話になっております。

無事書き込むことが出来ました。

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

> お世話になっております。
>
> > 12.3. ダウンローダーを使用してフラッシュメモリを書き換える
> を試しました。
>
> いくつかご確認させください。
>
> 1.armadilloのボードは保守モードになっております。
>
> 2.minicomの起動とありますが起動後は下記で会っていますでしょうか?
>
>  atmark@atde5:~$ LANG=C minicom --noinit --wrap --device /dev/ttyS0
>
>  Welcome to minicom 2.6.1
>
>  OPTIONS: I18n
>  Compiled on Apr 24 2017, 17:30:00.
>  Port /dev/ttyS0
>
>  Press CTRL-A Z for help on special keys
>
> シリアルのデバイスはttyS0で確認は取れています。
>
>
> 3.armadilloに電源を投入後ターミナル画面には
>  
>  hermit> Hermit-At v3.9.0 (Armadillo-840/nor) compiled at 17:54:59, Jul 15 2017
>  hermit>
>
> と出力がされています。
>
>
> 4.minicomを終了後下記を実行
>
>  tmark@atde5:~$ hermit download --input-file loader-armadillo840-nor-v3.10.0.bin --region bootloader --port /dev/ttyS0
>  fopen: No such file or directory
>  hermit: panic: couldn't open loader-armadillo840-nor-v3.10.0.bin
>
> とエラーが出てしまいます。
> loader-armadillo840-nor-v3.10.0.bin
> の指定が間違っているのでしょうか?
>
> ご教授ください
>
>
> > > ご丁寧にありがとうございます。
> > >
> > > armadilloの「/dev/flash」の中身のパーティション操作を誤ってしまったのか消えてしまいました。
> > >
> > > こちらは復旧などは可能なのでしょうか?
> > >
> > > こちらの操作不備で誠に申し訳ございません。
> > > ご教授ください。
> >
> > 上記現象はLinuxカーネルが A842に搭載されいてるNORフラッシュメモリへアクセスできないことが原因です。
> > 他の方法でLinuxカーネルイメージを書き換えるしかありません。
> >
> >
> > 12.3. ダウンローダーを使用してフラッシュメモリを書き換える
> > 12.4. TFTPを使用してフラッシュメモリを書き換える
> > を試してみてください。
> >