2017-08-03 2 views
0

Ich benutze Yocto poky-pyro auf Ubuntu 16.04. Ich möchte die Datei/etc/network/interfaces im resultierenden Image-Root-Dateisystem ersetzen. Daher habe ich in meinem Meta-Company-Verzeichnis ein bapppend-Rezept hinzugefügt, das auch andere ordnungsgemäß erstellte Paketrezepte enthält.Yocto Poky-Pyro bbappend Datei für init-ifupdown ersetzt nicht/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 

Die bbappend Datei sieht wie folgt aus:

# Extend the base recipe search path to $HERE/init-ifupdown 
FILESEXTRAPATHS_prepend := "${THISDIR}/init-ifupdown-1.0:" 

Und die Dateischnittstellen in diesem Verzeichnis sieht wie folgt aus:

[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 

Nachdem ich mein Bild bauen und schauen in die Arbeit bauen Verzeichnis für das init-ifupdown-Paket, sehe ich, dass die falsche "Schnittstellen" -Datei dort ist und es entspricht, was im Bild ist:

[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 

Wie kann ich meine bbappend-Datei aktivieren und meine benutzerdefinierte interfaces-Datei bereitstellen?

Antwort

3

Die interfaces Datei ist maschinenspezifisch, daher gibt es sehr wahrscheinlich bereits eine weitere interfaces Datei, die hinter einer machine override Datei steht.

Legen Sie die Datei in ein Unterverzeichnis init-ifupdown_1.0/${MACHINE}. Dadurch wird sichergestellt, dass Ihre interfaces Datei nur von Ihrem Gerät abgeholt wird, und es wird Ihrem Computer Priorität eingeräumt.