基本ファイルレシピは基本システムディレクトリを作成し、揮発性のシンボリックリンクを作成します。また、影響を受ける2番目のファイルがあります。起動時にシンボリックリンクをチェックし、見つからなければ作成します。 base-files
とinitscripts
レシピの両方を追加する必要があります。最後に、ベースファイル関連のリンクをfs-perms.txt
に更新する必要があります。
あなたのハードドライブに十分なスペースがある場合は、/var/log
をrootfsとは別のパーティションにマウントすることができます。 rootfsパーティションに何かが起きた場合、これはもっと実用的で安全な方法です。
new_log_part
はこの場合はログパーティションです。
ログ用に新しいパーティションを作成する場合は、起動時に自動マウントするようにfstabに追加する必要があります。ベースファイルレシピに新しいfstabを含めます。
追加するベースファイルのレシピ:
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://fstab"
dirs755_remove = "${localstatedir}/volatile/log"
volatiles_remove = "log"
do_install_append() {
ln -snf new_log_part ${D}${localstatedir}/log
}
初期化スクリプトを追加します。
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
SRC_URI += "file://volatiles"
揮発性物質ファイル:
# This configuration file lists filesystem objects that should get verified
# during startup and be created if missing.
#
# Every line must either be a comment starting with #
# or a definition of format:
# <type> <owner> <group> <mode> <path> <linksource>
# where the items are separated by whitespace !
#
# <type> : d|f|l : (d)irectory|(f)ile|(l)ink
#
# A linking example:
# l root root 0777 /var/test /tmp/testfile
# f root root 0644 /var/test none
#
# Understanding links:
# When populate-volatile is to verify/create a directory or file, it will first
# check it's existence. If a link is found to exist in the place of the target,
# the path of the target is replaced with the target the link points to.
# Thus, if a link is in the place to be verified, the object will be created
# in the place the link points to instead.
# This explains the order of "link before object" as in the example above, where
# a link will be created at /var/test pointing to /tmp/testfile and due to this
# link the file defined as /var/test will actually be created as /tmp/testfile.
d root root 0755 /var/volatile/cache none
d root root 1777 /var/volatile/lock none
d root root 0755 /var/new_log_part none
d root root 0755 /var/volatile/run none
d root root 1777 /var/volatile/tmp none
l root root 0755 /var/cache /var/volatile/cache
l root root 1777 /var/lock /var/volatile/lock
l root root 0755 /var/log /var/new_log_part
l root root 0755 /var/run /var/volatile/run
l root root 1777 /var/tmp /var/volatile/tmp
d root root 0755 /var/lock/subsys none
f root root 0664 /var/new_log_part/wtmp none
f root root 0664 /var/run/utmp none
l root root 0644 /etc/resolv.conf /var/run/resolv.conf
f root root 0644 /var/run/resolv.conf none
FS-perms.txt変更:
# Items from base-files
# Links
${localstatedir}/run link volatile/run
${localstatedir}/log link new_log_part
${localstatedir}/lock link volatile/lock
${localstatedir}/tmp link volatile/tmp
を
その後層のlayer.confファイルに新しいFS-perms.txtを含めるには、この行を追加します。
FILESYSTEM_PERMS_TABLES = "${LAYER_PATH}/fs_files/fs-perms.txt"
注:あなたがあなた自身のFS-パーマファイルを作成し、confの中でデフォルト1を追加することができます。層。
FILESYSTEM_PERMS_TABLES = "fs-perm.txt my-fs-perm.txt"