「Linuxカーネルビルドメモ」の編集履歴(バックアップ)一覧に戻る

Linuxカーネルビルドメモ - (2014/08/17 (日) 10:03:07) のソース

* 2014/08/16
** サーバ(CentOS 6.5)でもビルドを試した
*** ビルドに必要なパッケージのインストール
 $ sudo yum groupinstall "Development tools"
 $ sudo yum install ncurses-devel

**** 参考
-[[CentOS6.5のカーネルを3.x系にバージョンアップ - Qiita>http://qiita.com/zkangaroo/items/a3e1cd4b4d28a7c12e14]]

*** ビルド過程と結果
 $ tar Jxf linux-3.16.1.tar.xz
 $ cd linux-3.16.1/
 $ make mrproper
 $ cp /boot/config-2.6.32-431.23.3.el6.x86_64 .config
 $ make olddefconfig
 $ time make
 ...
 real    100m14.255s
 user    69m27.565s
 sys     10m32.876s

** Debian 7.6でLinuxカーネル 3.16.1をビルド
*** ビルド過程と結果
 $ tar Jxf linux-3.16.1.tar.xz
 $ cd linux-3.16.1/
 $ make mrproper
 $ cp /boot/config-3.2.0-4-686-pae .config
 $ make olddefconfig
 $ make menuconfig
 下の「menuconfigについて」の設定を行った
 $ time make
 ...
 real    102m45.072s
 user    88m36.864s
 sys     6m49.334s

*** menuconfigについて
 => General setup -> <*> Kernel .config support
 => General setup -> [*]   Enable access to .config through /proc/config.gz

あと、以下を有効化
 [Kernel hacking]
    [Tracers]
        [Kernel Function Tracer]
        [Trace max stack]
        [Trace syscalls]
    [Kernel debugging]
        [Compile-time checks and compiler options]
            [Compile the kernel with debug info]

以下は無効化
 [Processor type and features]
    [Build a relocatable kernel]

**** 参考
-[[チケット #25533: kernelトレーサ - Panda WG (パンダワーキンググループ) - SourceForge.JP>http://sourceforge.jp/ticket/browse.php?group_id=5757&tid=25533]]
-[[QEMU上のLinuxカーネルをGDBでデバッグする - Narrow Escape>http://hiroom2.jimdo.com/2014/01/15/qemu%E4%B8%8A%E3%81%AElinux%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%82%92gdb%E3%81%A7%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%81%99%E3%82%8B/]]

* 2014/07/05
linux-3.15.3のビルド
 5788.14user 392.83system 1:53:08elapsed 91%CPU (0avgtext+0avgdata 336892maxresident)k
 12180680inputs+17854296outputs (13846major+147015331minor)pagefaults 0swaps
**参考
-[[カーネル内で閉じたトレーサ「ftrace」を使えるようにするAdd Star>http://d.hatena.ne.jp/eco31/20110111/1294673589]]
-[[ftraceとtrace-cmdを使って、Linux Kernelのイベントログを簡単に取得する>http://d.hatena.ne.jp/tasukuchan/20100516/lets_use_ftrace_with_trace_cmd]]
-[[チケット #25533: kernelトレーサ - Panda WG (パンダワーキンググループ) - SourceForge.JP>http://sourceforge.jp/ticket/browse.php?group_id=5757&tid=25533]]

* 2014/04/29
 $ cat /etc/debian_version 
 7.5
上で、.configは
 /boot/config-3.2.0-4-686-pae
を使用。

なお、現在のカーネルバージョンは
 $ uname -a
 Linux dyna 3.2.0-4-686-pae #1 SMP Debian 3.2.57-3 i686 GNU/Linux

 $ tar Jxf linux-3.14.2.tar.xz
 $ cd linux-3.14.2/
 $ make mrproper
 $ cp /boot/config-3.2.0-4-686-pae .config
 $ make olddefconfig
 $ make menuconfig
 => General setup -> <*> Kernel .config support
 => General setup -> [*]   Enable access to .config through /proc/config.gz

 $ which make-kpkg
 $ which apt-file
 $ sudo apt-get install apt-file
 $ apt-file update
 $ apt-file search bin/make-kpkg
 kernel-package: /usr/bin/make-kpkg
 $ sudo apt-get install kernel-package

 $ make-kpkg clean
 $ echo "$CONCURRENCY_LEVEL"
 
 $ export CONCURRENCY_LEVEL=2
 $ echo "$CONCURRENCY_LEVEL"
 2
 $ time make-kpkg --initrd --revision=20140429 kernel_image kernel_headers
 ...
 5452.04user 452.81system 1:49:10elapsed 90%CPU (0avgtext+0avgdata 315496maxresident)k
 13404424inputs+16927600outputs (17345major+142121116minor)pagefaults 0swaps
 $ cd ../
 $ sudo dpkg -i linux-image-3.14.2_20140429_i386.deb linux-headers-3.14.2_20140429_i386.deb

** 参考
-http://d.hatena.ne.jp/ryousanngata/20140302/1393787330
-http://www.irori.org/doc/ikconfig.html