<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Kernel on What's done is done</title><link>https://igawa.io/tags/kernel/</link><description>Recent content in Kernel on What's done is done</description><generator>Hugo</generator><language>ja</language><lastBuildDate>Sat, 22 Jan 2011 07:30:00 +0900</lastBuildDate><atom:link href="https://igawa.io/tags/kernel/index.xml" rel="self" type="application/rss+xml"/><item><title>Ubuntu(10.10)で最新Kernelビルド</title><link>https://igawa.io/posts/2011/01/ubuntu1010%E3%81%A7%E6%9C%80%E6%96%B0kernel%E3%83%93%E3%83%AB%E3%83%89/</link><pubDate>Sat, 22 Jan 2011 07:30:00 +0900</pubDate><guid>https://igawa.io/posts/2011/01/ubuntu1010%E3%81%A7%E6%9C%80%E6%96%B0kernel%E3%83%93%E3%83%AB%E3%83%89/</guid><description>&lt;p&gt;UbuntuでKernelをビルドしたくなり、そのときのメモ。
&lt;a href="http://dogmap.jp/2009/06/19/rebuild-kernel/"&gt;http://dogmap.jp/2009/06/19/rebuild-kernel/&lt;/a&gt;
を、参考に（ほぼそのままですが）しました。&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/*** カーネル再構築に必要なパッケージをインストール ***/
$ sudo apt-get install build-essential
$ sudo apt-get install kernel-package libncurses5-dev libqt3-mt-dev
$ sudo apt-get install git git-core
$ sudo apt-get install fakeroot
/*** カーネルソースをインストールして展開 ***/
$ mkdir ~/src; cd src
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
/*** .config ファイルの作成 ***/
$ cd linux-2.6
$ cp /boot/config-2.6.35-xx-generic .config
/*** 好きなconfigをONにする。今回は、LGUESTと
例のミラクルパッチwをONにしてみた
http://gihyo.jp/admin/clip/01/linux_dt/201011/18
***/
$ make menuconfig
/*** カーネルのリビルド ***/
$ fakeroot make-kpkg clean
$ fakeroot make-kpkg --initrd --revision=.20110121 kernel_image kernel_headers
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;今はここまで。これが終わったら、以下を実行予定。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/*** .deb ができるので dpkg でインストール ***/
$ cd ..
$ dpkg -i linux-image-2.6.38.xx_20110121_x86.deb
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;# スクリプト化しよう。。&lt;/p&gt;
&lt;p&gt;(2011/01/30追記)だったが、うまくいかなかった。。が、
試行錯誤し、以下のようなパッチをあててなんとかできるようになった。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;--- /usr/share/kernel-package/ruleset/kernel_version.mk.orig 2008-05-02 07:06:28.000000000 +0200
+++ /usr/share/kernel-package/ruleset/kernel_version.mk 2010-07-08 00:02:45.316669641 +0200
@@ -62,7 +62,7 @@
@echo &amp;quot;$(strip $(EXTRAVERSION))&amp;quot;
debian_LOCALVERSION:
- @echo $(if $(strip $(localver-full)),&amp;quot;$(strip $(localver-full))&amp;quot;, &amp;quot;$(strip $(LOCALVERSION))&amp;quot;)
+ @./scripts/setlocalversion
debian_TOPDIR:
# 2.6 kernels declared TOPDIR obsolete, so use srctree if it exists
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;参考サイト：&lt;a href="http://d.hatena.ne.jp/kinneko/20110111/p53"&gt;http://d.hatena.ne.jp/kinneko/20110111/p53&lt;/a&gt;&lt;/p&gt;</description></item><item><title>make oldconfigで全ての問い合わせ項目にEnterするスクリプト #Linux</title><link>https://igawa.io/posts/2010/06/make-oldconfig%E3%81%A7%E5%85%A8%E3%81%A6%E3%81%AE%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E9%A0%85%E7%9B%AE%E3%81%ABenter%E3%81%99%E3%82%8B%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88-linux/</link><pubDate>Sat, 05 Jun 2010 14:25:00 +0900</pubDate><guid>https://igawa.io/posts/2010/06/make-oldconfig%E3%81%A7%E5%85%A8%E3%81%A6%E3%81%AE%E5%95%8F%E3%81%84%E5%90%88%E3%82%8F%E3%81%9B%E9%A0%85%E7%9B%AE%E3%81%ABenter%E3%81%99%E3%82%8B%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88-linux/</guid><description>&lt;p&gt;Linux
kernelのmakeのターゲットでありそうな気もするんですが、見つからなかったので。&lt;/p&gt;
&lt;p&gt;$ cat make_oldconfig_auto.sh&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;#!/usr/bin/env expect
set timeout 10
spawn make oldconfig
while {1} {
expect {
&amp;#34;] (NEW)&amp;#34; { send &amp;#34;\n&amp;#34; }
&amp;#34;# configuration written to .config&amp;#34; {break}
}
}
interact
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;見てわかるとおり、expectを使って、&amp;quot;]
(NEW)&amp;ldquo;というのが出てきたら、Enter入力。
&amp;ldquo;# configuration written to .config&amp;quot;が出てきたらおしまい。&lt;/p&gt;
&lt;p&gt;というスクリプトです。&lt;/p&gt;</description></item></channel></rss>