2017-08-03 33 views
0

我在Ubuntu 16.04上使用Yocto poky-pyro。我想替換生成的圖像根文件系統上的/ etc/network/interfaces文件,所以我在我的meta-company目錄中添加了一個bbappend配方,該配方也包含正確構建的其他包配方。適用於init-ifupdown的Yocto Poky-Pyro bbappend文件不會替代/ etc/network/interfaces

[email protected]:~/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:" 

並在該目錄中的接口文件看起來像這樣:

[email protected]:~/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包的目錄中,我發現錯誤的「interfaces」文件存在,它與映像中的內容匹配:

[email protected]:~/bbb/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/init-ifupdown/1.0-r7$ ls interfaces 
interfaces 
[email protected]:~/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文件生效並部署我的自定義接口文件?

回答

3

interfaces文件是機器特定的,因此很有可能已經有另一個interfaces文件位於machine override的後面。

將文件放入子目錄init-ifupdown_1.0/${MACHINE}。這將確保您的interfaces文件只會被您的機器拾取,它也會爲您的機器提供優先權。

相關問題