morenet
自宅用Linuxファンレスサーバ構築時のメモです。MediaTombをBRAVIAのDLNA機能に対応させるパッチは→こちらの記事から。
CPUはAtom N270、マザーボードはIntel D945GSEJT。ディストリビューションはUbuntu 9.04 Server → 10.04 Serverです。
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[Ubuntu] カーネルの再構築
前回、FTPの転送が途中で止まってしまう現象が起こったので調べてみるとカーネル(ネットワークチップのドライバ)のバグだった。

カーネルのリビジョンを上げれば直るということなのでカーネルの再構築を行った。

事前に参考にさせてもらったのは以下のサイト。

http://masaoo.blogspot.com/2009/06/ubuntu-kernel.html
http://d.hatena.ne.jp/adsaria/20081104/1225766991
http://itpro.nikkeibp.co.jp/article/COLUMN/20061208/256473/

まず、準備として必要そうなパッケージをインストールする。

$ sudo aptitude install build-essential
$ sudo aptitude install libncurses-dev
$ sudo aptitude install ncurses-dev
$ sudo aptitude install libqt3-dev
$ sudo aptitude install kernel-package


libncurses-dev、ncurses-devはmake-kpkg前に実行するmake menuconfigで使うらしい。
libqt3-devはxconfigで使うらしいので、X-windowを入れてない人は関係ないと思う。

次に、カーネルのソースを取得。

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.tar.gz
$ cd /usr/src/
$ sudo tar xf ~/linux-2.6.31.tar.gz
$ cd linux-2.6.31/



上記のURLにて説明があるように、最初に現在使っているカーネルを作成した時のコンフィグファイルをコピーしてきて、これからビルドで使うコンフィグファイルに内容を反映させる。

$ sudo cp /boot/config-2.6.28-15-server .config
$ /usr/src/linux-2.6.31$ sudo make oldconfing


次に、コンフィグファイルの内容をmake menuconfingを使ってインタラクティブに設定する。

$ sudo make menuconfing


どんだけ効果があるか分からないが、以下のとおり変えてみた。

Processor family => Core 2/newer Xeon
Power management and ACPI options ---> CPU Frequency scaling ---> Default CPUFreq governor => ondemand
Revision 変更 -server

また、Makefileをいじって、出来上がるイメージのサフィックスに"-atom"をつけた(好みの問題)。
その後、ビルト開始。

$ sudo make-kpkg --initrd kernel_image


しかし以下のエラーが出て止まった。

dpkg-deb: コントロールディレクトリの許可属性 2755 は不正です (>=0755 かつ <=0775 でなければなりません)


パーミッションを変更し、再度make-kpkg

sudo chmod -R a-s /usr/src/
sudo make-kpkg --initrd kernel_image


終わったら、ひとつ上のディレクトリに出来上がっているパッケージをdpkgでインストールする。

cd ..
sudo dpkg -i linux-image-2.6.31-atom-server_2.6.31-atom-server-10.00.Custom_i386.deb



ブートローダ(grub)の設定を確認してみる。

$ more /boot/grub/menu.lst
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.

(中略)

title Ubuntu 9.04, kernel 2.6.31-atom-server
uuid 006ef5cf-9742-4f53-a9a9-82ea1050ee16
kernel /vmlinuz-2.6.31-atom-server root=/dev/mapper/kotomi-root ro quiet splash
initrd /initrd.img-2.6.31-atom-server
quiet

title Ubuntu 9.04, kernel 2.6.31-atom-server (recovery mode)
uuid 006ef5cf-9742-4f53-a9a9-82ea1050ee16
kernel /vmlinuz-2.6.31-atom-server root=/dev/mapper/kotomi-root ro single
initrd /initrd.img-2.6.31-atom-server


自動でブートローダの設定も更新されたようだ。

試しにリブートしてみると、Kernel起動時AppArmorがfailするようになった。バグらしい。
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/375422

AppArmorは使ったこと無いし、使いこなせなそうなので、カーネルにロードしないことにした。

$ sudo vi /boot/grub/menu.lst

kernel /vmlinuz-2.6.31-server-atom root=/dev/mapper/kotomi-root security=apparmor ro quiet splash

$ aa-status
apparmor module is not loaded.



カーネルを新しくして、もともとの問題だったFTPは転送途中に途切れることは無くなった。
スポンサーサイト

テーマ:Linux - ジャンル:コンピュータ

コメント
コメント
コメントの投稿
URL:
本文:
パスワード:
非公開コメント: 管理者にだけ表示を許可する
 
トラックバック
トラックバック URL
トラックバック
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。