This service is available only in Japanese-language.
以下のページのBSPを使用し、開発を進めています。
https://github.com/TechNexion/tn-imx-yocto-manifest/tree/mickledore_6.1....
bitbake imx-image-core は完了しており、評価基板上で動作確認を行ったところ、
ifconfig が2種類入っていることがわかりました。
1つは net-tools パッケージによるもので、
他方は BusyBox によるものです。
BusyBox の ifconfig を使えるようにするには、どのように編集すればよいでしょうか。
※ 弊社の開発の都合上、mii-tool が必要であるため、net-tools パッケージの削除はできない状態です。
kawabata0820
2024/10/9 (水) 11:00
※上記コメントに対する補足です。
※上記コメントに対する補足です。
$ which ifconfig
/bin/ifconfig
ではなく、
$ which ifconfig
/bin/busybox ipconfig (イメージです。)
のような挙動は実現できそうか、という内容です。
みつきん
2024/11/6 (水) 10:51
ifconfigのbusybox/net-tools切り替えについて
本件回答します。
実機がないためビルドPC上でimx-image-coreを作成し、${IMAGE_ROOTFS}のディレクトリを調査した結果となります。
ルートディレクトリでifconfigというファイルを検索しました。
---
$ find -name ifconfig
./usr/lib/opkg/alternatives/ifconfig
./bin/ifconfig
---
alternativesが設定されている事がわかります。その設定内容を確認するとnet-tools側のifconfigのほうが優先度が高いことがわかります。
---
$ cat ./usr/lib/opkg/alternatives/ifconfig
/bin/ifconfig
/bin/busybox.nosuid 50
/bin/ifconfig.net-tools 100
---
ifconfigの実体を確認します。
---
ls -l ./bin | grep ifconfig
lrwxrwxrwx 1 user user 23 3月 9 2018 ifconfig -> /bin/ifconfig.net-tools
-rwxr-xr-x 1 user user 68K 3月 9 2018 ifconfig.net-tools
---
このことから、net-tools側のifconfigが使用されていることがわかります。
alternativeの仕組みを使用して、使用するifconfigをbusyboxのものにする場合、
「update-alternatives --config ifconfig」を実行し、表示された一覧の中からbusyboxの番号を選択します。
詳しい使用方法は下記がわかりやすいかと思います。
https://qiita.com/kuwa_tw/items/cfba33d0678b621808a8
手動でシンボリックリンクを貼り直すことでも対応可能です。その場合下記を実行します。
---
$ ln -sf /bin/busybox.nosuid /bin/ifconfig
---
alternativesの機能が働いているためbusyboxとnet-toolsが同時に存在することで競合などは発生しないと考えます。
また、機能的にもnet-toolsのifconfigを使用することで問題が発生するとは考えづらいですが、
あえてbusyboxのバージョンを使用したい理由などはあるのでしょうか?
もし無いようでしたら現在の状態でも問題は無いと考えます。
kawabata0820
2024/11/7 (木) 10:44
回答いただきありがとうございます。
上記の内容について、弊社の開発環境内のbitbake結果や、実機で確認してみます。
***************
> また、機能的にもnet-toolsのifconfigを使用することで問題が発生するとは考えづらいですが、
> あえてbusyboxのバージョンを使用したい理由などはあるのでしょうか?
現在、ある組込み機器更新の業務を進めています。
更新対象の組込み機器では、IPアドレス設定の際、ifup/ifdownによる処理を行っています。
net-tools パッケージによるものは「netplan」を採用しており、
BusyBox によるものは、「ifup/ifdown」を採用しています。
ですので、なるべく更新前と同じ処理にしたいため、
IP設定関連のコマンドはBusyBoxを選択したいと考えています。
※ifconfig以外にも、パッケージ・BusyBoxと重複するコマンドがあれば、
ご連絡いただければ幸いです。
***************
すみませんが、追加で質問させてください。
> alternativeの仕組みを使用して、使用するifconfigをbusyboxのものにする場合、
>
> 「update-alternatives --config ifconfig」を実行し、表示された一覧の中からbusyboxの番号を選択します。
> 詳しい使用方法は下記がわかりやすいかと思います。
>
> https://qiita.com/kuwa_tw/items/cfba33d0678b621808a8
>
> 手動でシンボリックリンクを貼り直すことでも対応可能です。その場合下記を実行します。
>
> ---
> $ ln -sf /bin/busybox.nosuid /bin/ifconfig
> ---
上記について、適切なbbappendレシピ内で、
自動でbusyboxのifconfigを使用するように設定するには、
どのように対応すればよろしいでしょうか?