2015-10-01 1 views
5

Linuxにrtパッチを追加したいのですが、3.18.9カーネルと3.18.9-rt4パッチが必要でした。 私はpatches-3.18.9-rt4.tar.gzをLinuxカーネルフォルダにコピーしました。 今実行しました zcat patches-3.18.9-rt4.tar.gz |Linuxにrtパッチを追加するには

|--- a/arch/sparc/Kconfig 
|+++ b/arch/sparc/Kconfig 
-------------------------- 
File to patch: 

下に示すように、それはパッチを適用するファイルを求めて、このコマンドを実行した後、私はどのように私はこれを達成することができ、一度にすべてのパッチを追加したい-p1 にパッチを当てますか?

+1

:パッチレベルP1にカーネルにパッチを適用します。 'patch'コマンドを実行しているディレクトリから情報を追加すると、' -p'オプションがここで一致しないように見えます。 –

答えて

5

問題

使用しているパッチはtarアーカイブに束ね別々のファイルの数が多い、などのRTパッチが含まれていますが、その後、gzファイルに圧縮します。ファイル上でzcat(またはfriends)を実行すると解凍され、結果はpatchに渡されます。

ただし、パッチファイルの解凍後の結果は.tarアーカイブなので、これもpatchに渡されます。これはうまくいきません。

簡単な解決策

はちょうど圧縮.patchファイルである、代わりにRTパッチの単一ファイルのバージョンを使用します(これらのバージョンが呼び出されることによって認識することができ、「パッチ-...」の代わりに、 "patches -..."、3.18.9-rt5はここからダウンロードできます:https://www.kernel.org/pub/linux/kernel/projects/rt/3.18/older/patch-3.18.9-rt5.patch.gz)。

その後RT Preempt Howtoからの指示に従ってください:(ちょうどあなた自身のカーネルバージョン/圧縮フォーマットに調整)

をダウンロードした後、カーネル

のパッチ、カーネルのtarballを解凍し、に変更カーネルソースディレクトリ。それはプログラミングの問題ではない - 私はこれがhttp://superuser.com/に行く必要がありますかなり確信して

tar xfj linux-2.6.23.1.tar.bz2 
cd linux-2.6.23.1 
bzcat ../patch-2.6.23.1-rt11.bz2 | patch -p1 
+2

ああ、最初にこれを見て '.tar.gz'を逃した。 * .tarは複数のファイルのアーカイブで、 'zcat' /' bzcat'/...は一つのファイルを解凍するためのものです。 –

+0

追加されました - ヒントのおかげで! – sonicwave

+0

ありがとう、問題は解決した – anikhan

関連する問題