Armadilloフォーラム

x1-debian-builder で IPアドレスを設定する方法

nf

2019年9月10日 11時34分

お世話になります。

x1-debian-builder でルートファイルシステム作成時、Armadillo の IPアドレスを設定するにはどのようにすれば良いでしょうか?

fixup の中で以下の通り設定しましたが、エラーとなります。

nmcli connection delete "Wired connection 1"
nmcli connection add con-name "Wired connection 1" type ethernet ifname eth0
nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.xxx.xxx/24 ipv4.gateway 192.168.xxx.xxx ipv4.dns 192.168.xxx.xxx

エラー内容:

Error: Could not create NMClient object: Could not connect: No such file or directory.
Error: Could not create NMClient object: Could not connect: No such file or directory.
Error: Could not create NMClient object: Could not connect: No such file or directory.
コメント

y.nakamura

2019年9月10日 18時46分

中村です。

> x1-debian-builder でルートファイルシステム作成時、Armadillo の IPアドレスを設定するにはどのようにすれば良いでしょうか?
>
> fixup の中で以下の通り設定しましたが、エラーとなります。

G3L実機で設定をして出来上がったNetworkManagerの設定ファイル
(/etc/NetworkManager/system-connectionsの下の"Wired connection 1")を
x1-debian-builderのaiotg3l_resources/の下に
ディレクトリ etc/NetworkManager/system-connections ごと
コピーしてあげればできるはずです。
(私が試したときはできました)

参考:

[1.3.2.1. ファイル/ディレクトリを追加する]
https://manual.atmark-techno.com/armadillo-iot-g3l/armadillo-iotg-g3l_p…

[ネットワークの設定方法]の茂垣さんの説明
https://armadillo.atmark-techno.com/forum/armadillo/3367#comment-5674

茂垣さんの説明はWiFiですが、有線LANでも同じです。

それから、この茂垣さんの説明にも書いてありますが、
ファイルのパーミッションを0600にするのを忘れないように。

--
なかむら

nf

2019年9月10日 19時32分

中村様

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

お教えいただいた方法で試してみます。

oshiro

2021年1月5日 20時58分

後続の方へ参考情報です。

NetworkManagerから自動生成されたファイルには、MACアドレスやUUIDが書き込まれているため、気持ち悪いということで、別の方法です。
NetworkManager起動後に、nmcliを実行することで、IPを変更できます。

/etc/systemd/system/network_set_script.service

[Unit]
Description=network setting script
After=NetworkManager.service
 
[Service]
ExecStart=/root/network_set.sh
Restart=no
Type=simple
 
[Install]
WantedBy=multi-user.target

network_set.sh (root実行権限付与)

#!/bin/bash
nmcli connection modify "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.xxx.xxx/24 ipv4.gateway 192.168.xxx.xxx ipv4.dns 192.168.xxx.xxx

上記を準備した上で、

systemctl enable network_set_script.service

oshiro

2022年10月11日 13時30分

再度古いスレッドを掘り起こしてすみません。
昨年投稿したスクリプトによる設定では、後日IPアドレスを変更したくなった際に、NetworkManagerから変更しても再起動するとスクリプトに上書きされてしまうという問題があり、ベストプラクティスではないと改心しました。

> [ネットワークの設定方法]の茂垣さんの説明
> https://armadillo.atmark-techno.com/forum/armadillo/3367

なかむら様の返信にもある上記の記事にある通り、connenctionファイルを用意するのが良いようです。
MACアドレスやUUIDが不整合になる可能性については、当方環境では、未記入として、動く事を確認しました。
(uuidは自動生成され、MACアドレスは未記入のままになりました。どちらも、自動生成されたまま使っても動くようですが、uuidが奇跡的に自動生成されたものと被った場合、動かなくなるという情報がありました。また量産する場合、MACアドレスは個体ごとに変わるため、指定するのであれば、インストール後に何か初期設定スクリプトが必要な気がします。)

以下、有線アダプタの固定IPで動いた例です。

/etc/NetworkManager/system-connections/Wired\ connection\ 1

[connection]
id=Wired connection 1
type=ethernet
autoconnect-priority=-999
 
[ipv4]
address1=192.168.1.50/24
dns-search=
method=manual

以下をお忘れなく。

chmod 600 /etc/NetworkManager/system-connections/Wired\ connection\ 1

fixupでやる場合、以下で行けると思います。

cp [任意の位置]/Wired\ connection\ 1  /etc/NetworkManager/system-connections/
chmod 600 /etc/NetworkManager/system-connections/Wired\ connection\ 1

無線LANの場合適宜読み替えてください。