*セルフ開発環境の導入 [#jc647bbb]
-''インストール''~
#pre{{
bash-2.05b# yum install rpm-build gcc gcc-c++ make ncurses-devel
}}
ビルドディレクトリの修正。~
#pre{{
bash-2.05b# cd /usr/src
bash-2.05b# mv unknown redhat
}}

-''rpm式のビルド方法''~
--パッケージをそのままビルドする方法~
#pre{{
bash-2.05b# rpmbuild --rebuild package.src.rpm
}}
/usr/src/redhat/RPMS/sh4等の下にパッケージが生成される。~
~

--パッケージを修正、または変更してビルドする方法~
#pre{{
bash-2.05b# rpm -ivh package.&color(red){src};.rpm
}}
そうすると、/usr/src/redhat/SOURCEと、/usr/src/redhat/SPECSにパッケージが展開される。~
該当ディレクトリのファイルを修正し、~
#pre{{
bash-2.05b# cd /usr/src/redhat/SPECS
bash-2.05b# rpmbuild -ba package.spec
}}
/usr/src/redhat/RPMS/sh4等の下にバイナリパッケージが生成され、~
/usr/src/redhat/SRPMSの下へ修正後のソースパッケージが生成される。~
~
*kernelのセルフビルド [#m7670939]
-''概略''~
kernel2.6では、ソースコード以外のディレクトリでビルドすることが可能になっています。~
ここでは、次のようなディレクトリ構成でカーネルをビルドする例を記します。~
#pre{{
/home/landisk/kernel/linux-2.6.11/      …… カーネルソース
/home/landisk/kernel/build/             …… ビルドディレクトリ
}}

-''ソースコードの取得''~
次の場所等からソースコードを取得します。~
http://eggplant.ddo.jp/www/download/kernel26/~
~
-''展開''~
〜/kernel/linux-2.6.11/....というディレクトリに展開されます。~
#pre{{
landisk:~/kernel$ tar vxfz linux-2.6.11-kogiidena-v0.1.src.tgz
}}
-''build ディレクトリの作成''~
buildディレクトリを作り、そこへ.configファイルを用意します。
#pre{{
landisk:~/kernel$ mkdir build 
landisk:~/kernel$ cp linux-2.6.11/arch/sh/configs/julian_defconfig build/.config
}}

-''Makefileの修正''~
linux-2.6.11/Makefileの該当行を次のように修正します。
#pre{{
CROSS_COMPILE	?=  
HOSTCC  	= gcc
HOSTCXX  	= g++
}}

-''make menuconfig''~
ビルドパラメータをお好みで応じて設定してください。~
(最初は触らないほうが無難ですが・・・)~
#pre{{
landisk:~/kernel$ cd linux-2.6.11
landisk:~/kernel/linux-2.6.11$ make O=~/kernel/build menuconfig
}}
-''make''~
先ほど作成したbuildディレクトリにcdしてmakeします。~
(kernel2.6からmake depは不必要になりました。)~
#pre{{
landisk:~/kernel$ cd ~/kernel/build
landisk:~/kernel/build$ make
}}
-''ビルド終了''~
zImageは、~/kernel/build/arch/sh/boot/zImage にできます。~
カーネルモジュールもこの段階でビルドされています。~
~
-''カーネルmoduleのインストール''~
#pre{{
landisk:~/kernel/build$ su         # suでrootになって、
landisk:~/kernel/build$ make modules_install
}}
-''その他''~
makeの所で、"make rpm"とするとrpmパッケージ化されたカーネルが生成されるらしい。(未検証)~
~
~
#counter

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS