2017-08-08 15 views
1

RPI2 +カスタムボードの未使用のドライバをいくつか削除したいのですが、yoctoのラズベリーパイに独自のカーネル構成を使用するにはどうすればいいですか?

bitbake linux-raspberrypi -c menuconfig 

とファイルdefconfigにプリセット新しいカーネルを保存します。そのために私は経由して独自の設定を作成しています。

この後、私はlinux-raspberrypレシピのための追加ファイルを作成しました。

だから私は

linux-raspberrypi%.bbappend 

ファイルを作成し、それを満たし:

:経由してカーネルを再コンパイルするとき

<meta-mylayer>/recipes-kernel/linux/linux-raspberrypi/raspberrypi2/defconfig 

:私はdefconfigファイルを置く

FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:" 

SRC_URI += "file://defconfig" 

PACKAGE_ARCH = "raspberrypi2" 

bitbake linux-raspberrypi -c clean 
bitbake linux-raspberrypi 

標準のRPI2構成が採用されています。

この問題を解決するにはどうすればよいですか? 私はmeta-raspberrypiとyoctoの "実際の" pyroブランチに取り組んでいます。

答えて

3

残念ながら、最も簡単な方法はおそらくカーネルソースにパッチを当てることです...あるいはカーネルツリーの中のdefconfigをカーネルツリーにコピーすることです。

meta-raspberrypi層は、そのカーネルのレシピでは、いくつかの不幸なことを行い、これは時間とともに良くなってきているにもかかわらず、彼らはまだ本当にいいじゃない...

あなたは、recipes-kernel/linux/linux-raspberrypi.incで次のように見てみる場合彼らはそれによって自分自身のdefconfigを上書きし、${WORKDIR}/defconfigにツリーdefconfigをコピーしている、したがって

KERNEL_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig" 

do_kernel_configme_prepend() { 
    install -m 0644 ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} ${WORKDIR}/defconfig || die "No default configuration for ${MACHINE}/${KERNEL_DEFCONFIG} available." 
} 

:行は、問題を説明しています。あなた.bbappend

あなたは、あなたが追加しようとすることができます:

do_kernel_configme_prepend() { 
    install -m 0644 ${WORKDIR}/defconfig ${S}/arch/${ARCH}/configs/${KERNEL_DEFCONFIG} || die "No default configuration for ${MACHINE}/${KERNEL_DEFCONFIG} available." 
} 

したがって、まずあなた自身のdefconfigと、カーネル内のツリーの1を上書きします。

1

ジェスロのためのソースコードを変更するdevtoolを使用する方法を見てみてください。 http://www.yoctoproject.org/docs/2.0/dev-manual/dev-manual.html#using-devtool-in-your-workflow

私はそれを使用しているgitリポジトリでフォークを持つことから始めます。 http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/tree/recipes-kernel/linux/linux-raspberrypi_4.9.bb

Yoctoでdevtoolを使用する。ビルドディレクトリの :my-linux-raspberryフォルダを作成します。

mkdir linux-raspberry-test 
devtool modify -x linux-raspberry ./my-linux-raspberry 

これは、修正するためにソースコードをmy-linux-raspberryに展開します。また、そこにgitリポジトリを作成します。

次に、コードをmy-linux-raspberryに変更します。ビルドをテストするには、devtool build linux-raspberryを実行してください。満足したら、このgitリポジトリをフォークに追加してください。

git add . 
git commit -m "my-linux-raspberry" 
devtool update-recipe linux-raspberry 

オプション:bbappendファイルを削除するには、devtool reset linux-raspberryを実行します。

関連する問題