Armadilloフォーラム

IPアドレスの固定化

tomi_vhi

2023年8月2日 16時35分

下記の方法を見て、IPアドレスの固定化をしてみましたが、/etc/config/interfaces を削除しても
/etc/default/interfaces のデータが適用されないようです。
(viで見ると /etc/default/interfaces は内容が反映されています)
https://armadillo.atmark-techno.com/forum/armadillo/3972

再起動すると、/etc/config/interfaces は出来上がりますが、中身は下記のようになります。

auto lo eth0
iface lo inet loopback
iface eth0 inet dhcp

どうすれば、IPアドレスの固定化ができるでしょうか?

コメント

at_mizo

2023年8月2日 16時58分

溝渕です。

> どうすれば、IPアドレスの固定化ができるでしょうか?

まず、以下を参照して、"/etc/config/interfaces"を編集してみてください。

https://manual.atmark-techno.com/armadillo-4x0/armadillo-460_startup_gu…

上記はRAMに保存されています。RAMの内容は、再起動すると破棄されてしまうので、フラッシュメモリに保存する必要があります。

"/etc/config"以下のファイルの情報をフラッシュメモリに保存するには、以下を参照し、

https://manual.atmark-techno.com/armadillo-4x0/armadillo-460_startup_gu…

[armadillo ~]# flatfsd -s

というコマンドを実行します。

tomi_vhi

2023年8月2日 18時03分

渡邊です。

>[armadillo ~]# flatfsd -s
reboot して /etc/config/interfaces を確認したところ変更されていました。
ping 192.168.**.** (**.** は変更したアドレス) で正常に動作し、
http://192.168.**.**/index.cgi も変更したアドレスでアクセスすると表示されました。

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

ところで、工場出荷時はデフォルトで /etc/config/interfaces が DHCP ということならば、
量産時に仮に固定 IPアドレスで出すことになった場合、毎回この設定をする必要があるのでしょうか?

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

at_mizo

2023年8月2日 18時12分

溝渕です。

> ところで、工場出荷時はデフォルトで /etc/config/interfaces が DHCP ということならば、
> 量産時に仮に固定 IPアドレスで出すことになった場合、毎回この設定をする必要があるのでしょうか?

全ての個体で同一の設定をする場合は、毎回この設定は不要です。

https://manual.atmark-techno.com/armadillo-4x0/armadillo-460_startup_gu…

に記載されているように、"/etc/config"は"/etc/default"から複製されます。

"/etc/default"は、ユーザーランドイメージに含まれている為、ユーザーランドに含まれる"/etc/default/interfaces"を編集しておく事で実現できます。

同一ネットワーク内に複数個体を接続する場合等は、全ての個体で同一の設定をする事はできないと思います。その場合は、いずれにせよ個体ごとに設定をする必要があります。

tomi_vhi

2023年8月3日 9時21分

渡邊です。

/etc/default/interfaces は変更されているのことは確認できています。
下記のコマンドを1回実行することが必要ということでしょうか?

[armadillo ~]# flatfsd -w

必要ということならば、RTC の設定と共に、出荷時の設定で作業に入れる必要があります。

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

at_mizo

2023年8月3日 9時35分

溝渕です。

> /etc/default/interfaces は変更されているのことは確認できています。
> 下記のコマンドを1回実行することが必要ということでしょうか?

そのご理解で問題ありません。

>

> [armadillo ~]# flatfsd -w
> 

> 必要ということならば、RTC の設定と共に、出荷時の設定で作業に入れる必要があります。

フラッシュメモリのコンフィグ領域に、すでに"interfaces"が存在する場合は、起動時に"/etc/default/interfaces"から"/etc/config/interfaces"へのコピーが行なわれません。

その為、"/etc/default/interfaces"の内容を反映する為には、"flatfsd -w"を実行する事が必要となります。1回実行すると、フラッシュメモリのコンフィグ領域に保存される為、再起動後に"flatfsd -w"を実行する必要はありません。

tomi_vhi

2023年8月3日 9時50分

渡邊です。

>そのご理解で問題ありません。
承知しました。

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

at_mizo

2023年8月3日 10時10分

溝渕です。

補足ですが、フラッシュメモリにコンフィグ領域が無ければ起動時に"/etc/default/interfaces"から"/etc/config/interfaces"へのコピーが行なわれるので、コンフィグ領域を消しておけば良いとも言えます。

"flatfsd -w"を実行するにはLinuxを起動する必要があります。(Linuxを起動すると時間がかかるので)量産を効率的に行いたい場合は、(ブートローダー Hermit-Atの)保守モードでも実質同様の事を行う事ができます。

保守モードで、フラッシュメモリの消去を行うには、次のコマンドを利用します。
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…

フラッシュメモリのメモリマップは次のコマンドで確認してください。
https://manual.atmark-techno.com/armadillo-4x0/armadillo-400_series_sof…

コンフィグ領域の先頭のみ消去すれば良いです。コンフィグ領域以外を削除しないよう気を付けてください。