overlayfs有効で後からIPアドレス変更

Armadillo-640にてシャットダウンせずに電源を切りたいのでoverlayfsを有効にして運用することを検討しているのですが、overlayfs有効で開発用USBシリアル変換アダプタなしでIPアドレスの変更が可能でしょうか。

overlayfs有効でIPアドレスを変更する場合は、開発用USBシリアル変換アダプタのスイッチでブートモードを一旦保守にしてoverlayfsを無効にし、IPアドレスを変更し、その後にoverlayfsを無効に戻すのが通常の手順だと思いますが、開発用USBシリアル変換アダプタはArmadillo-640用オプションケースには内蔵できないのではないかと推測したので、開発用USBシリアル変換アダプタなしでIPアドレス変更ができるのかをgご教示して頂けますでしょうか。

製品: 
Armadillo-640

中村です。

> Armadillo-640にてシャットダウンせずに電源を切りたいのでoverlayfsを有効にして運用することを検討しているのですが、overlayfs有効で開発用USBシリアル変換アダプタなしでIPアドレスの変更が可能でしょうか。
>
> overlayfs有効でIPアドレスを変更する場合は、開発用USBシリアル変換アダプタのスイッチでブートモードを一旦保守にしてoverlayfsを無効にし、IPアドレスを変更し、その後にoverlayfsを無効に戻すのが通常の手順だと思いますが、開発用USBシリアル変換アダプタはArmadillo-640用オプションケースには内蔵できないのではないかと推測したので、開発用USBシリアル変換アダプタなしでIPアドレス変更ができるのかをgご教示して頂けますでしょうか。

/etc/network/interfaces ファイルを書き換えて
IPアドレスの変更をされているのですよね?

であれば、overlayfsの元(eMMC)の
/overlay/system/etc/network/interfaces
を書き換ええてあげればOKだと思います。

Armadillo-640はG3やG3Lなどと異なり、
/overlay/system/以下はread-onlyになっていますので、
/overlay/system/etc/network/interfaces を書き換える前に
/overlay/system/を書き込み可でre-mountする必要があります。

この方法については、
[Armadillo-640 eMMCにファイルを追加する方法について]
https://users.atmark-techno.com/forum/armadillo/3790
を参考にしてください。

--
なかむら

中村様
回答ありがとうございます。

> /overlay/system/etc/network/interfaces
> を書き換ええてあげればOKだと思います。
>
> Armadillo-640はG3やG3Lなどと異なり、
> /overlay/system/以下はread-onlyになっていますので、
> /overlay/system/etc/network/interfaces を書き換える前に
> /overlay/system/を書き込み可でre-mountする必要があります。
理解しました。

ちなみにArmadillo-X1の場合はNetwork Manager(nmcli)からIPアドレスを設定することが推奨されていますが、
こちらもoverlayfs有効でUSBシリアルなしで後からIPアドレス変更とする場合は、
/etc/network/interfacesファイルでIPアドレスを設定するようにするのが良いのでしょうか?

中村です。

> ちなみにArmadillo-X1の場合はNetwork Manager(nmcli)からIPアドレスを設定することが推奨されていますが、
> こちらもoverlayfs有効でUSBシリアルなしで後からIPアドレス変更とする場合は、
> /etc/network/interfacesファイルでIPアドレスを設定するようにするのが良いのでしょうか?

NetworkManagerで/etc/network/interfacesを使うこともできます。
参考:
[/etc/network/interfaces を使用した設定について]
https://users.atmark-techno.com/node/3461

NetworkManagerをそのまま使う場合は、
/etc/NetworkManager/system-connections/
の下に設定ファイルがあります。
[6.2.2. ネットワークの設定方法]
https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manual_ja-2.1.1/ch06.html#sec-network.about

その設定ファイルを
/overlay/system/etc/NetworkManager/system-connections/
の下にコピーしてあげればOKなはずです。

有線LANはデフォルトでは"Wired connection 1"でDHCPになっていて、
これを固定IPアドレスにするには、"Wired connection 1"を
そのまま使う場合は(別のconnectionを作ってもいいですが
ここでは"Wired connection 1"をそのまま使うものとします)、
次のような操作になると思います。
# nmcli connection down "Wired connection 1"
# nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.0.100/24 ipv4.gateway 192.168.0.1
# nmcli connection up "Wired connection 1"

これにより、/etc/NetworkManager/system-connections/の下に
"Wired connection 1"というファイルが生成されます。

# ls -l /etc/NetworkManager/system-connections/
total 4
-rw------- 1 root root 349 Sep 6 20:59 Wired connection 1

--
なかむら

中村さま

overlayfs有効時のIPアドレス変更手順が把握できました。
詳細な説明ありがとうございました。

> overlayfs有効で

eMMC の GPP(General Purpose Partition) を利用する、という方法もあります。

Armadillo-640の
/dev/mmcblk0gp2
/dev/mmcblk0gp3
はユーザーが自由に利用可能な領域であり、
この領域に保存したデータはoverlayfsを有効にしたまま変更が可能です。

Armadillo-640 製品マニュアルには squashfs を利用する方法が記載されていますが、
squashfs以外のext4やfatといったファイルシステムも利用することが可能です。

例えば ext4 で利用する場合は、次のようになります。
この作業はoverlayfsが無効の状態で行ってください。
=====
1. /dev/mmcblk0gp2 にext4ファイルシステムを構築

[armadillo ~]# mkfs.ext4 /dev/mmcblk0gp2

2. Armadillo-640起動時に自動でmountするため、ディレクトリを作成してfstabを修正

[armadillo ~]# mkdir -p /opt/config
[armadillo ~]# echo "/dev/mmcblk0gp2 /opt/config ext4 defaults 0 1" >> /etc/fstab

3. /etc/network/interfacesを/opt/configディレクトリに移動し、シンボリックリンクを作成

[armadillo ~]# mv /etc/network/interfaces /opt/config/interfaces
[armadillo ~]# ln -s /opt/config/interfaces /etc/network/interfaces

=====

上記 3. までを実施すると、overlayfsが有効の状態で/etc/network/interfacesの内容を変更できるようになります。

> 開発用USBシリアル変換アダプタなしで

CON3(シリアルインターフェース)を利用する予定がないのであれば、
コンソールを CON9 から CON3 に変更する方法もあります。

CON3をコンソールにすれば
ケースを閉じた状態でArmadilloにログインして、
1) ifdown eth0
2) /opt/config/interfacesを修正
3) ifup eth0
とすることでIPアドレスを変更できます。

コンソールを CON3 に変更する方法については下記ページをご覧ください。
https://armadillo.atmark-techno.com/howto/armadillo-640-uart3-console