我在Ubuntu 16.04上使用Yocto poky-pyro。我想替换生成的映像根文件系统上的/ etc / network / interfaces文件,所以我在我的meta-company目录中添加了一个bbappend配方,其中还包含正确构建的其他包配方。
user@BuildMachine:~/bbb/meta-bbb/recipes-custom/init-ifupdown$ tree
.
├── init-ifupdown_1.0
│ └── interfaces
└── init-ifupdown_1.0.bbappend
1 directory, 2 files
bbappend文件如下所示:
# Extend the base recipe search path to $HERE/init-ifupdown
FILESEXTRAPATHS_prepend := "${THISDIR}/init-ifupdown-1.0:"
该目录中的interfaces文件如下所示:
user@BuildMachine:~/bbb/meta-bbb/recipes-custom/init-ifupdown$ cat init-ifupdown_1.0/interfaces
# Configure Loopback
auto lo
iface lo inet loopback
# Configure WiFi Infrastructure
auto wlan0
iface wlan0 inet dhcp
# Configure WiFi Hotspot
auto wlan1
iface wlan1 inet static
address 172.24.1.1
netmask 255.255.255.0
network 172.24.1.0
broadcast 172.24.1.255
在我构建我的图像并查看init-ifupdown包的工作构建目录之后,我看到了错误的"接口"文件在那里,它匹配图像中的内容:
user@BuildMachine:~/bbb/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/init-ifupdown/1.0-r7$ ls interfaces
interfaces
user@BuildMachine:~/bbb/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/init-ifupdown/1.0-r7$ cat interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
### wired, static
#auto eth0
#iface eth0 inet static
# address 192.168.10.33
# netmask 255.255.255.0
# gateway 192.168.10.1
如何让我的bbappend文件生效并部署我的自定义接口文件?
答案 0 :(得分:3)
interfaces
文件是特定于机器的,因此很可能已经有另一个interfaces
文件位于machine override
后面。
将文件放在子目录init-ifupdown_1.0/${MACHINE}
中。这样可以确保您的interfaces
文件只能由您的计算机获取,它还会为您的计算机优先考虑。{1}}文件。