2016-04-13 9 views
0

IMX6ベースのSOMモジュールで組み込みLinuxを使用しています。 カーネルにパッチを当てたい、うまくいき、パッチが適用されていますが、いくつかの機能を追加したいと思います。 ソースで古いパッチを適用し、自分のコードを追加して新しいパッチを作成します。Bitbakeを使用したカーネルパッチ

yocto私のパッチをレシピに追加してビットベイクして、新しいロードされたカーネルでボードを起動します。私の修正がないようです。 bitbake私の新しいカーネル用

、I型:

bitbake -c clean linux-toradex-fsl 
bitbake linux-toradex-fsl 

それはエラーなしでコンパイルし、私は私のtftpフォルダに私のuImageをコピーし、私の機能が実行されるように思われません。

だから私は

printk(KERN_WARNING"This is a test\n"); 

と私は別の警告、と呼ばれ、表示された後にそれを置き、簡単なパッチを作成してみてください。

また、動作しません。

私は-c devshellでチェックし、私の修正はyoctoに適用されます。パッチはここで動作します。

私はuImageファイルもチェックしていますが、パッチの有無にかかわらず同じサイズです。

この問題のアイデアはありますか?

よろしく、 ピエール・オリヴィエ

ソリューション

は、私は私がちょうど

bitbake -c cleansstate linux-toradex-fsl 
bitbake my-image 

を実行する必要があり、画像はパッチを適用したカーネルでbitbakedされ、いくつかの試行後に解決策を見つけました。

答えて

2

Bitbakeはおいしいです。これは状態ディレクトリを維持しようとするので、makefile内の通常の "クリーン"を実行するだけですが、メークファイルは共有状態で短絡する可能性があります。試してみてください:

bitbake -c cleansstate linux-toradex-fsl 
bitbake linux-toradex-fsl 

cleansstate(クリーン共有状態)には余分な 'があります。

+0

私は試しましたが、以前と同じですが、起動時にprintkが表示されません。 – PierreOlivier

+0

ええ、それは私にとってはうまくいくものですが、より大きなハンマーで打つことができます:-c cleanall、-c cleansstate、-c cleanを実行します。 次に、-c fetchを実行してから-c configureを実行します。 次に、ビルドツリーを確認します。作業フォルダの下にarchフォルダがあり、その下に実際のlinuxビルドフォルダがあります。パッチが存在し、適用されているかどうかを確認してください。 – Brad

+0

私は解決策を見つけました。私は単純にクリーンステートを行い、カーネルを構築する代わりに、イメージを構築し、正しいカーネルを再構築します。 – PierreOlivier

関連する問題