用于init-ifupdown的Yocto Poky-Pyro bbappend文件不替换/ etc / network / interfaces

时间:2017-08-03 19:49:44

标签: linux embedded-linux yocto bitbake

我在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文件生效并部署我的自定义接口文件?

1 个答案:

答案 0 :(得分:3)

interfaces文件是特定于机器的,因此很可能已经有另一个interfaces文件位于machine override后面。

将文件放在子目录init-ifupdown_1.0/${MACHINE}中。这样可以确保您的interfaces文件只能由您的计算机获取,它还会为您的计算机优先考虑。{1}}文件。