This service is available only in Japanese-language.
よろしくお願いします。
----
Build Configuration:
BB_VERSION = "2.0.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "aarch64-poky-linux"
MACHINE = "raspberrypi-cm3-64" ←独自にマシン設定を作成
DISTRO = "poky"
DISTRO_VERSION = "4.0.9"
TUNE_FEATURES = "aarch64 armv8a crc cortexa53"
----
質問です。initをsystemdとした上で
・IMAGE_FEATURES:append = " ssh-server-openssh" ←local.conf
・IMAGE_INSTALL:append = " openssh"
「bitbake core-image-base」を実施しますと、systemdとしては「sshd.socket」および「sshd@.service」が有効になるかと思います。
とある理由から「sshd.service」に切り替えたいのですが、両者はunitファイルのConflicts関係なので「sshd.socket」を無効化したいと考えています。
しかし、systemdへのbbappendをどのように書けばよいのかがわかりません。
systemd_%.bbappendファイルを作成して、中身を
----
SYSTEMD_SERVICE:sshd = "sshd.socket"
SYSTEMD_AUTO_ENABLE:ssh = "disable"
----
としてみましたが、効果はありませんでした。どのようにすれば解決できるでしょうか?
s.yamaguchi
2024/6/19 (水) 11:42
失礼しました、
SYSTEMD_AUTO_ENABLE:ssh = "disable"
↑「:sshd」のミスでした。お騒がせしました。
s.yamaguchi
2024/6/28 (金) 14:12
[解決] 実施方法について追記
上記の件、解決しましたのでこちらに方法を記録とさせていただきます。
<自身のレイヤー>/recipes-support/openssh/openssh_%.bbappend を作成し、レシピを書きます。
----
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SRC_URI += " \ ←内容をカスタムしたファイル
file://sshd.service \
file://sshdgenkeys.service \
"
FILES:${PN} += " \
${systemd_system_unitdir}/sshd.service \
${systemd_system_unitdir}/sshdgenkeys.service \
"
inherit update-alternatives systemd
SYSTEMD_PACKAGES = " ${PN}-sshd"
SYSTEMD_SERVICE:${PN}-sshd = " sshd.service sshdgenkeys.service"
SYSTEMD_AUTO_ENABLE:${PN}-sshd = " enable"
do_install:append() {
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/sshd.service ${D}${systemd_system_unitdir}/
install -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_system_unitdir}/
}
----
これでsshd.socketの方は無効化され、sshd.serviceが有効となりました。なお、sshdgenkeys.serviceはsshd.socket無効化時にそちらも無効になってしまったので同タイミングで有効化させています。
以上になります。失礼いたしました。