2019年4月5日金曜日

ubuntu kernel build

apt でソースがダウンロードできるように
sudo sed -i 's/^# deb-src/deb-src/g' /etc/apt/source.list
source.listのdev-srcのコメントをはずす。
修正したら
sudo apt update

linuxビルドに必要なものをインストールする。
sudo apt install ccache fakeroot libncurses5-dev
sudo apt build-dep linux

sourceの取得
apt source linux
で取得できるが
NOTICE: 'linux' packaging is maintained in the 'Git' version control system at:
git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic
Please use:
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/bionic
上記の方法で取得したubuntu kernelは、下記の方法ではビルドできない
若干の修正が必要

git で取得しろとのこと
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

cd linux
mkdir ../build
cp /boot/config-`uname -r` ../build/.config

make O=../build/ olddefconfig

カーネルビルド
make -j9 O=../build/ LOCALVERSION=-xxx

モジュールビルド
make modules -j9 O=../build/ LOCALVERSION=-xxx


パッケージ作成
make bindeb-pkg O=../build/ LOCALVERSION=-xxx
bindeb-pkg バイナリパッケージのみ
deb-pkg ソースパッケージも作成

インストール
sudo apt ../*.deb



build 時間
core2 duo

real    190m49.470s
user    310m50.655s

sys     36m25.217s

Intel(R) Core(TM) i3-6100U CPU @ 2.30GHz
real 115m21.085s
user 166m20.077s
sys 17m37.104s

Intel(R) Pentium(R) CPU G4620 @ 3.70GHz
real 51m28.830s
user 185m58.351s
sys 15m43.776s

Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz
real 20m22.547s
user 113m49.728s
sys 11m31.246s

lxd環境
real 1087.78  18m7.78
user 7239.94    120m39.94
sys 874.63           14m34.63