Fedora16kernel source【Fedora15】
linuxのソースコードのコンパイル。
linuxを利用するところまでは行きません。
linuxはFedora15上でFedora16をコンパイルする形になります。
単純に好みと興味で、ディレクトリ移動に
を使ってみた。移動したディレクトリをスタックに積むコマンドである。
ということを確認するために一度調べて、たった今
と言った感じで、引数なしで実行すると履歴が表示されることを知った。cdを引数なしで実行すると、ホームディレクトリに行くことも最近知ったのでもういろいろと切ない。
検索には
を使用した。-Rオプションでディレクトリを再帰的に検索する。"検索目標"は、ファイル内部のテキストまで拾ってくる。
rpmdevtoolsは面倒なrpmをビルドする環境づくりの手助けをしてくれる。
yum-utilsはリポジトリ利用のためのコマンド。
rpmのビルド環境を構築する。ホームディレクトリで行うのがいいらしい。
実行後は
というディレクトリ群ができる。
次はカーネルソースのダウンロード。
ほいほいと取れる。
次はソースの依存関係を構築する。
最後に
おなじみrpm。そんなに馴染んでないか。
みたいなメッセージが大量に出てくるけどスルーで大丈夫。
とSPECSへ。
ビルドする。
ディレクトリ移動。pushdの便利さには気付けない。いつになるかわからないけど使い続けてみる。
これで準備は終了。
ソースさえ見れればよかったのでここまでする必要はなかった。けどせっかくここまで来たのでとりあえず
おお、GUIっぽくなった……。
ここまで。
完全にコンパイルするわけではなかった。
linuxを利用するところまでは行きません。
linuxはFedora15上でFedora16をコンパイルする形になります。
使うコマンド
単純に好みと興味で、ディレクトリ移動に
%pushd/popd
を使ってみた。移動したディレクトリをスタックに積むコマンドである。
ということを確認するために一度調べて、たった今
%pushd
と言った感じで、引数なしで実行すると履歴が表示されることを知った。cdを引数なしで実行すると、ホームディレクトリに行くことも最近知ったのでもういろいろと切ない。
検索には
%grep -R "検索目標" .(カレントディレクトリ)
を使用した。-Rオプションでディレクトリを再帰的に検索する。"検索目標"は、ファイル内部のテキストまで拾ってくる。
準備
%su -c 'yum install rpmdevtools yum-utils'
rpmdevtoolsは面倒なrpmをビルドする環境づくりの手助けをしてくれる。
yum-utilsはリポジトリ利用のためのコマンド。
rpmのビルド環境を構築する。ホームディレクトリで行うのがいいらしい。
%rpmdev-setuptree
実行後は
/rpmbuild% ls
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
というディレクトリ群ができる。
次はカーネルソースのダウンロード。
%yumdownloader --source kernel
ほいほいと取れる。
次はソースの依存関係を構築する。
%su -c 'yum-builddep kernel-
最後に
%rpm -Uvh kernel-
おなじみrpm。そんなに馴染んでないか。
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
みたいなメッセージが大量に出てくるけどスルーで大丈夫。
%pushd ~/home/rpmbuild/SPECS
とSPECSへ。
%rpmbuild -bp --target=$(uname -m) kernel.spec
ビルドする。
%pushd /rpmbuild/BUILD/kernel-3.1.fc15/linux-3.1.x86_64
ディレクトリ移動。pushdの便利さには気付けない。いつになるかわからないけど使い続けてみる。
%cp configs/kernel-3.1.0-x86_64-debug.config .config
これで準備は終了。
ソースさえ見れればよかったのでここまでする必要はなかった。けどせっかくここまで来たのでとりあえず
make
%make oldconfig
%make menuconfig
おお、GUIっぽくなった……。
ここまで。
完全にコンパイルするわけではなかった。
コメント
コメントを投稿