pepoとネットワークを語ろう

40年前からこれまでとこれからのネットワークを語る

Fedora14のKernel makeに挑戦1

2010-11-15 09:21:11 | Linux

ようやくFedora14とWinsowsXPのデュアルブートが出きるようになったので

今度は、Kernelのmakeに挑戦する事に

まず、下記のサイトから最新のKenelソースをwget

[root@p-4 ~]# wget http://ftp.jaist.ac.jp/pub/Linux/Fedora/updates/14/SRPMS/kernel-2.6.35.6-48.fc14.src.rpm

インストール

[root@p-4 ~]# rpm rpm -ivh kernel-2.6.35.6-48.fc14.src.rpm

以前Fedora10あたりでは、/use/src/redhatにインストールされていたのに、今はhomeディレクトリ直下に入るようになった

次に、ビルドとパッチを

[root@p-4 ~]# rpmbuild -bp --target i686 rpmbuild/SPECS/kernel.spec
ビルド対象プラットフォーム: i686
ターゲット i686 用にビルド中
エラー: ビルド依存性の失敗:
    perl(ExtUtils::Embed) は kernel-2.6.35.6-48.fc14.i686 に必要とされています

おっと、何やらビルド依存性が欠けているような、インストールではソフト開発を選んだのに、何故?でもって必要なパッケージをインストール

[root@p-4 ~]# yum install perl-ExtUtils-Embed
読み込んだプラグイン:langpacks, presto, refresh-packagekit
Adding ja_JP to language list
インストール処理の設定をしています
依存性の解決をしています
--> トランザクションの確認を実行しています
---> パッケージ perl-ExtUtils-Embed.noarch 0:1.28-136.fc14 をインストールに設定しました
--> 依存性解決を終了しました

依存性を解決しました

================================================================================
 パッケージ                アーキテクチャ
                                        バージョン           リポジトリー  容量
================================================================================
インストールしています:
 perl-ExtUtils-Embed       noarch       1.28-136.fc14        fedora        29 k

トランザクションの要約
================================================================================
Install       1 Package(s)

総ダウンロード容量: 29 k
インストール済み容量: 17 k
これでいいですか? [y/N]y
パッケージをダウンロードしています:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 29 k
perl-ExtUtils-Embed-1.28-136.fc14.noarch.rpm             |  29 kB     00:00    
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  インストールし : perl-ExtUtils-Embed-1.28-136.fc14.noarch                 1/1

インストールしました:

root@p-4 ~]# rpmbuild -bp --target i686 rpmbuild/SPECS/kernel.spec
ビルド対象プラットフォーム: i686
ターゲット i686 用にビルド中
実行中(%prep): /bin/sh -e /var/tmp/rpm-tmp.IgLdrR
+ umask 022
+ cd /root/rpmbuild/BUILD
+ LANG=C
+ export LANG
+ unset DISPLAY
+ patch_command='patch -p1 -F1 -s'
++ find /root/rpmbuild/BUILD -maxdepth 1 -type d -name 'kernel-2.6.*'
++ grep -x -v /root/rpmbuild/BUILD/kernel-2.6.35.fc14
+ sharedirs=
+ :
+ '[' '!' -d kernel-2.6.35.fc14/vanilla-2.6.35 ']'
+ cat .config
+ find . '(' -name '*.orig' -o -name '*~' ')' -exec rm -f '{}' ';'
+ cd ..
+ exit 0
と言うことで、homeの下記ディレクトリにパッチの入ったソースが展開される
[root@p-4 ~]# rpmbuild/BUILD/kernel-2.6.35.fc14/linux-2.6.35.i686/

次回につづく

pepo