現在、私はyocto mortyカーネルを構築中です。私は、カーネルで、カーネルモジュール(実際にはカメラドライバ)の不適切な読み込み順序がモジュールの失敗につながることを発見しました。yoctoでカーネルモジュールのロード順序を変更する方法
ドライバを変更したくないのは、依存関係が多すぎるためで、異なる会社の異なる人が実装するためです。
タイトルのとおり、カーネルブートの段階でドライバの読み込み順序を変更するにはどうすればよいですか?
ご協力いただきありがとうございます。
現在、私はyocto mortyカーネルを構築中です。私は、カーネルで、カーネルモジュール(実際にはカメラドライバ)の不適切な読み込み順序がモジュールの失敗につながることを発見しました。yoctoでカーネルモジュールのロード順序を変更する方法
ドライバを変更したくないのは、依存関係が多すぎるためで、異なる会社の異なる人が実装するためです。
タイトルのとおり、カーネルブートの段階でドライバの読み込み順序を変更するにはどうすればよいですか?
ご協力いただきありがとうございます。
KERNEL_MODULE_AUTOLOAD変数を使用することもできます。それは私のために働いています。
はあなたに感謝、これは単純に見えますし、作品
ドライバの読み込みについては、起動時に起動され、別のドライバに優先順位を付けることができないため、内蔵ドライバではありません。 カーネルモジュールの場合は、スタートアップシステム機能systemdまたはsysvを使用する必要があります。 (優先順位について話)作業ドライバーにsystemdためため
例:はsystemdにするために(優先順位について話)ドライバを動作していないため
[Unit]
Description=Initializer for good driver
Before=bad_driver.service
[Service]
Type=oneshot
ExecStart=/bin/sh /usr/bin/script_modprobing_good_driver.sh
[Install]
WantedBy=multi-user.target
例:
[Unit]
Description=Initializer for bad driver
After=good_driver.service
[Service]
Type=oneshot
ExecStart=/bin/sh /usr/bin/script_modprobing_bad_driver.sh
[Install]
WantedBy=multi-user.target
とリトル.BBそれらの人をインストールするファイル。
SUMMARY = "Systemd test for changing precedence of 2 kernel modules"
LICENSE = "CLOSED"
SRC_URI = "file://script_modprobing_good_driver.sh \
file://script_modprobing_bad_driver.sh \
file://bad_driver.service \
file://good_driver.service \
"
DEPENDS = "systemd"
S = "${WORKDIR}"
inherit systemd
SYSTEMD_SERVICE_${PN} = " bad_driver.service good_driver.service "
do_install() {
install -d ${D}/usr/bin
install -d ${D}/etc/systemd/system
install -m 700 ${S}/script_modprobing_bad_driver.sh ${D}/usr/bin/
install -m 700 ${S}/script_modprobing_good_driver.sh ${D}/usr/bin/
install -m 644 ${S}/bad_driver.service ${D}/etc/systemd/system/
install -m 644 ${S}/good_driver.service ${D}/etc/systemd/system/
}
あなたlocal.confに
KERNEL_MODULE_AUTOLOAD += "<module-name>"
を追加します。 –