2017-04-24 3 views
0

私はyoctoビルドでgithub.com/mendersoftware/meta-menderを使用しています。私は/ etc/fstabを編集するにはsedを使って、自分の層にbbappendファイルを作成します。具体的には、メタメンダーは現在、独自のfstabファイルを提供しており、base-files_3.%.bbappendで編集しています。生成された/ etc/fstabからautoキーワードを削除したいだけです。カスタムbitbake bbapendがmender fstabファイルを正しく追加しない

問題は、ベースファイル_3。%.bbappendのために自分のレイヤーに自分自身のbbappend(私のレイヤーはメタメンダーよりも高い優先度を持っています)を提供すると、メタメルダfstabが作成されないようですそして、オープン埋め込みからの在庫1が代わりにあります。ここで

は私のメタ層/レシピコア/ベース・ファイル/ベースfiles_3ある%bbappend:。。私は bitbake -e base-filesを実行する場合は、do_install機能を探して、あなたがはっきりと見ることができる

do_install_append(){ 
    sed -i -e 's$.*@[email protected]*[email protected][email protected] /uboot   @[email protected]  defaults,sync 0 0$' ${D}${sysconfdir}/fstab 
    sed -i -e 's$.*@[email protected]*[email protected][email protected] /data  @[email protected]  defaults   0 0$' ${D}${sysconfdir}/fstab 
} 

sedコマンドが正しくメタ修理人/メタ修理人-コア/レシピコア/ベース・ファイルに追加されていること/ベースfiles_3:

do_install() { 
for d in /boot /dev /bin /sbin /lib   /etc /etc/default   /etc/skel /lib /mnt /proc /home/root /run   /usr /usr/bin /usr/share/doc/base-files-3.0.14 /usr/games /usr/include   /usr/lib /usr/sbin /usr/share   /usr/share/common-licenses /usr/share/dict /usr/share/info   /usr/share/man /usr/share/misc /var   /var/backups /var/lib   /sys /var/lib/misc /var/spool   /var/volatile   /var/volatile/log   /home /usr/src /var/local   /media; do 
    install -m 0755 -d /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image$d 
done 
for d in /tmp /var/volatile/tmp; do 
    install -m 1777 -d /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image$d 
done 
for d in ; do 
    install -m 2775 -d /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image$d 
done 
for d in log tmp; do 
    ln -sf volatile/$d /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/var/$d 
done 

ln -snf ../run /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/var/run 
ln -snf ../run/lock /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/var/lock 

do_install_basefilesissue 

rotation=`cat /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/rotation` 
if [ "$rotation" != "0" ]; then 
    install -m 0644 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/rotation /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/rotation 
fi 

install -m 0644 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/fstab /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/fstab 
install -m 0644 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/filesystems /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/filesystems 
install -m 0644 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/usbd /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/default/usbd 
install -m 0644 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/profile /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/profile 
sed -i 's#ROOTHOME#/home/root#' /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/profile 
install -m 0644 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/shells /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/shells 
install -m 0755 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/share/dot.profile /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/skel/.profile 
install -m 0755 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/share/dot.bashrc /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/skel/.bashrc 
install -m 0644 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/nsswitch.conf /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/nsswitch.conf 
install -m 0644 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/host.conf /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/host.conf 
install -m 0644 /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/motd /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/motd 

ln -sf /proc/mounts /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/mtab 
install -d /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/uboot 
install -d /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/data 
sed -i -e 's$.*@[email protected]*[email protected][email protected] /uboot    @[email protected]  defaults,sync 0 0$' /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/fstab 
sed -i -e 's$.*@[email protected]*[email protected][email protected] /data    @[email protected]  defaults   0 0$' /home/user/Desktop/yocto/build/tmp/work/raspberrypi3-poky-linux-gnueabi/base-files/3.0.14-r89/image/etc/fstab 

}

そして、まだ、私の/ etc/fsタブは次のようになります。あなたが見ることができるように

# stock fstab - you probably want to override this with a machine specific one 

/dev/root   /     auto  defaults    1 1 
proc     /proc    proc  defaults    0 0 
devpts    /dev/pts    devpts  mode=0620,gid=5  0 0 
tmpfs    /run     tmpfs  
mode=0755,nodev,nosuid,strictatime 0 0 
tmpfs    /var/volatile  tmpfs  defaults    0 0 

# uncomment this if your device has a SD/MMC/Transflash slot 
#/dev/mmcblk0p1  /media/card   auto  defaults,sync,noauto 0 0 

、それは完全にメタmenders'/etc/fstabファイルをスキップし、ちょうど株式1を書くことです。

答えて

1

あなたのsed-expressionの.*@[email protected]*は何と評価されていますか?

fstabには.*@[email protected]*.*@[email protected]*のいずれかに一致するものはありません。

私の理解が正しければ、あなただけの

echo "data" >> ${D}${sysconfdir}/fstab 
に似た使用のものとしてできました
関連する問題