私はYoctoディストリビューションを開発しており、デフォルトのファイルをいくつかのDNS設定を挿入する必要がある/etc/hosts
新しいファイルに置き換える必要があります。hosts
イメージで見つかった基本ファイルは次のとおりです。
127.0.0.1 localhost.localdomain localhost
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Yocto イメージのファイルを変更するには、/etc/hosts
イメージにファイルを追加する方法を探す必要があります。誰かがこのレシピを見つけるのに役立ちますか?
ありがとう
答え1
問題に対する解決策を直接見つけました。これが最善の解決策であるかどうかはわかりませんが、私にとっては十分です。
タスクを2つのステップに分けることができます。
ステップ1:レシピを探す
私は一緒に働いていますゼウスこのバージョンでは、最終的にイメージ/etc/hosts
にインストールされたレシピを見つけました。
meta/recipes-core/base-fles/base-files_<recipe_version>.bb
hosts
以前のレシピを見つけるために、すべての欲望レイヤーを含むフォルダ内のファイルを見つけました。これを行うには、次のコマンドを実行しました。
cd <path/to/yocto/folder>
find ./meta* -name "*hosts*"
前のコマンドの出力には以下が含まれます。
...
./meta/recipes-core/base-files/base-files/hosts
...
料理本で./meta/recipes-core/base-files/base-files_3.0.14.bb
以下の課題を見つけました。
SRC_URI = "file://rotation \
file://nsswitch.conf \
file://motd \
=========> file://hosts \
file://host.conf \
file://profile \
file://shells \
file://fstab \
file://issue.net \
file://issue \
file://share/dot.bashrc \
file://share/dot.profile \
file://licenses/GPL-2 \
"
ファイルはどこにありますかhosts
?
ステップ2:base_files_%.bbappend
ファイルを作成する
ファイルを置き換える方法hosts
は、ファイルを追加してbase_files_%.bbappend
デフォルトmylayer/recipes-core/base-files
ファイルを新しいファイルに置き換えることです。hosts
hosts
私のファイルの内容は次のとおりbase_files_%.bbappend
です。
FILESEXTRAPATHS_prepend := "${THISDIR}/base-files:"
SRC_URI = "file://rotation \
file://nsswitch.conf \
file://motd \
file://hosts \
file://host.conf \
file://profile \
file://shells \
file://fstab \
file://issue.net \
file://issue \
file://share/dot.bashrc \
file://share/dot.profile \
file://licenses/GPL-2 \
"
また、hosts
フォルダに新しいファイルを挿入しました
mylayer/recipes-core/base-fles/base-files
。 ::
mylayer
|
recipes-core
|
base-files
|
base-files
|
hosts
定義にリストされている他のファイルSRC_URI
(rotation
など)は、引き続きデフォルトのフォルダーnsswitch.conf
から来ます。base-files
meta/recipes-core/base-fles/base-files