新しいラップトップでUbuntu 15.10を実行していますが、このハードウェアを適切に完全にサポートするには、4.4カーネル+カスタムパッチが必要なようです。詳細に興味がある場合は here をご覧ください。
メインラインカーネルPPAについては知っていますが、私の理解では、ソースには付属していません。この場合、パッチを当てることができないため、メインラインカーネルPPAを使用する可能性を排除するようです。だから私はgitソースをチェックアウトしてビルドしようとしましたが、最新の関連する指示を見つけることができません。
誰かが15.10で4.4カーネルを構築するための指示を手伝ってくれますか?
メインラインカーネルのgitメソッドを取得してコンパイルします。
参照: https://wiki.ubuntu.com/KernelTeam/GitKernelBuild 私は少し違うことをします(他に何が新しくなりましたか?)。
前提条件(必須):
ステップ1は、apt-get update
およびapt-get dist-upgrade
です(つまり、すべてが最新であることを確認します)
ステップ2
Sudo apt-get install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge
ステップ3
Sudo apt-get build-dep linux
ステップ4
Sudo apt-get install git-core libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev
カーネル4.3以降の前提条件:
Sudo apt-get install libssl-dev
前提条件(オプション):
Sudo apt-get install git-email git-doc
Git部分:
mkdir temp-k-git
cd temp-k-git
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
デフォルトのmasterブランチでは何もしないでください。常に作業領域を作成します。
git checkout -b k44rc8_stock v4.4-rc8
Ubuntuカーネル構成ファイルを盗みます(インストール済み):
ls -l /boot
cp /boot/config-4.4.0-040400rc8-generic .config
Ubuntuの構成ファイルには完全なデバッグ機能があります。巨大なカーネルを作成し、コンパイルに2倍の時間がかかります
scripts/config --disable DEBUG_INFO
カーネル4.4の時点で、Ubuntu 14.04を使用してコンパイルする場合(15.10については知りません)、古いバージョンのcコンパイラーを使用する場合:CONFIG_CC_STACKPROTECTOR_STRONGでコンパイルできません。
scripts/config --disable CC_STACKPROTECTOR_STRONG
カーネルをコンパイルします。
time make -j9 bindeb-pkg <<< Suggest use number of CPUs + 1. Use less for some responsiveness to be left for other uses
<<< I always time the kernel build.
または
time make -j9 bindeb-pkg LOCALVERSION=-stock <<< For a localized verion name append
または
time make -j9 olddefconfig bindeb-pkg LOCALVERSION=-stock <<< To automatically use defaults for any new config stuff (particuarly useful when bisecting the kernel).
ビルドが完了したら、インストールします。
Sudo dpkg -i ../linux-headers-4.4.0-rc8-stock_4.4.0-rc8-stock-144_AMD64.deb
Sudo dpkg -i ../linux-image-4.4.0-rc8-stock_4.4.0-rc8-stock-144_AMD64.deb
そのため、この時点でメインラインカーネルがO.K.をコンパイルすることがわかっているので、カスタムカーネルに移動します。新しいブランチを作成し、パッチを適用してコンパイルします。
$ git checkout -b k44rc8_custom v4.4-rc8
Switched to a new branch 'k44rc8_custom'
$ git am plv6_1_3.patch
Applying: cpufreq: intel_pstate: configurable algorithm to get target pstate
$ git am plv6_2_3.patch
Applying: cpufreq: intel_pstate: account for non C0 time
$ git am plv6_3_3.patch
Applying: cpufreq: intel_pstate: Account for IO wait time
$ time make -j9 olddefconfig bindeb-pkg LOCALVERSION=-custom
インクリメンタルビルドを行うことで多くの時間を節約することが望ましいので、make clean
を実行しないことが目的であることに注意してください。最初のコンパイルには21分26秒かかりましたが、次のカスタムコンパイルには4分43秒しかかかりませんでした。
ページにアクセスすると http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-rc8-wily が表示されますREADME 4.4rc8のソースファイルを取得するには
ビルドの手順 は少しわかりにくいです。私はカーネルを構築するためのいくつかのレシピを見てきましたが、すべてが少し異なります。いくつかの前提条件があります:4.4カーネルに必要な他のいくつかがあるかもしれません
Sudo apt-get build-dep linux-image-$(uname -r)
Sudo apt-get install libncurses5-dev
次に、成功ビルド用に発行したコマンドは次のとおりです。
chmod a+x debian/scripts/*
chmod a+x debian/scripts/misc/*
nano debian.master/changelog
fakeroot debian/rules clean
fakeroot debian/rules editconfigs
fakeroot debian/rules binary-headers binary-generic skipabis=true
表示される最初のバージョン番号の末尾に何かを追加することにより、変更ログファイルを変更して、独自のカーネルを作成していることを示します。