如何在 imx 板启动前为 usb0 设置 i.p?

How to set i.p for usb0 before imx board boots?

我想为我的 imx6 板自动设置在 cdc 模式下配置的 USB 端口的 i.p 地址。

我试过手动设置

我还编写了一个脚本来在启动后执行此操作。 (在我们以 root 身份登录后)。

它们都可以工作,但我希望在开发板要求登录提示之前发生这种情况。

这是脚本的内容

ifconfig usb0 192.168.100.100

放在/etc/profile.d

我需要先以root身份登录,然后才能看到usb0的ip。 是否可以在登录前设置 usb0 的 i.p?

所以我找到了一个脚本 /etc/rc.本地

有人提到脚本什么都不做所以我想这意味着我可以随意修改它。

我刚刚添加了

ifconfig usb0 192.168.100.100

一开始,usb i.p 好像是登录前设置的。

然而,这似乎是一个肮脏的解决方案,如果有更清洁的方法请告诉我。

我会创建一个 meta-custom/recipes-core/systemd-conf/files/06-usb0.network 文件:

[Match]
Name=usb0

[Network]
Address=192.168.100.100/24

使用 meta-custom/recipes-core/systemd-conf/systemd-conf_%.bbappend 食谱:

FILESEXTRAPATHS_prepend := "${THISDIR}/files:"

SRC_URI += "file://06-usb0.network"

do_install_append() {
    install -d ${D}${sysconfdir}/systemd/network
    install -m 0644 ${WORKDIR}/06-usb0.network ${D}${sysconfdir}/systemd/network
}

FILES_${PN} += "${sysconfdir}/systemd/network/06-usb0.network"

注意:如果您不使用最新的 Yocto 版本,它应该是 systemd-conf.bbappend 而不是 systemd-conf_%.bbappend