[自分用メモ][Kernel][Ubuntu] Ubuntu環境で、Kernelのソースコードからビルドする方法。

Ubuntu
Ubuntu で kernel をソースコードからビルドする (make-kpkg 編)
最新の Linux kernel を利用するには、ソースからビルドするしかありません。 Ubuntu でそれをやる場合、Fedora とは違う作法があるようです。 1. kernel ソースを kernel.org からダウンロードします。...

RHEL系については以下に記事を書いたりしたわけですが、debian系のUbuntuについてはカーネルビルドしたことがなかったので、試してみることにしました。

検証環境:

# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.4 LTS"

手順

1. 事前に以下のパッケージを導入しておく。

sudo apt-get install libncurses5-dev make kernel-package xzip

2. ソースをダウンロードし展開する。# 今回は3.13.6で検証しています。

cd /usr/src
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.6.tar.xz
xz -cd linux-3.13.6.tar.xz | tar -xf -

3. コンフィグファイルをコピーしてくる。

cd linux-3.13.6
cp /boot/config-3.11.0-18-generic ./.config

4. コンフィグファイルを編集し、必要なビルドオプションを設定する。

make oldconfig
make menuconfig

5. パッケージの形にビルドする。必要に応じてCONCURRENCY_LEVEL(並列度)を設定する。

CONCURRENCY_LEVEL=8 make-kpkg --initrd kernel_image kernel_headers

6. 一つ上のディレクトリにファイルができていることを確認する。

ls -l
合計 127428
drwxrwxr-x 25 root root     4096  3月  8 20:51 linux-3.13.6
-rw-r--r--  1 root root 77194340  3月  7 15:15 linux-3.13.6.tar.xz
drwxr-xr-x 24 root root     4096  3月  8 18:25 linux-headers-3.11.0-15
drwxr-xr-x  7 root root     4096  3月  8 18:25 linux-headers-3.11.0-15-generic
drwxr-xr-x 24 root root     4096  3月  8 18:36 linux-headers-3.11.0-18
drwxr-xr-x  7 root root     4096  3月  8 18:36 linux-headers-3.11.0-18-generic
-rw-r--r--  1 root root  9180472  3月  8 20:30 linux-headers-3.13.6_3.13.6-10.00.Custom_amd64.deb
-rw-r--r--  1 root root 44077504  3月  8 20:28 linux-image-3.13.6_3.13.6-10.00.Custom_amd64.deb

7. 必要に応じて/etc/default/grub を書き換えます。書き換えた後はsudo update-grub2 コマンドの実行を忘れずに。

8. 再起動を実施し、念のためgrubメニューからインストールしたパッケージから開始できることを確認する。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました