開発したいのならfedoraでやろうということのようである。
https://wiki.centos.org/HowTos/Custom_Kernelにかかれていることをメモしとく。
開発環境の構築
$su
#yum groupinstall "Development Tools"
#yum install ncurses-devel
#yum install qt-devel (This is only necessary if you wish to use make xconfig instead of make gconfig or make menuconfig.)
#yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
#yum install kernel-devel
#yum install rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed pesign xmlto
#yum install audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel
#yum install ncurses-devel newt-devel numactl-devel pciutils-devel python-devel zlib-devel
#exit
ソースコードの取得
$ mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} $ echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros(この二行は実行しなくてもできた)
下記の場所からパッケージを探す
http://vault.centos.org/7.N.YYMM/os/Source/SPackages/
http://vault.centos.org/7.N.YYMM/updates/Source/SPackages/
$ rpm -i http://vault.centos.org/7.3.1611/updates/Source/SPackages/kernel-3.10.0-514.26.2.el7.src.rpm 2>&1 | grep -v exist
$ cd ~/rpmbuild/SPECS $ rpmbuild -bp --target=$(uname -m) kernel.spec
以上でソースコードが ~/rpmbuild/BUILD に作られる
モジュール関係でエラーが発生する場合は、yumで追加、updateする。
kernel specification fileの修正
$ cd ~/rpmbuild/SPECS/ $ cp kernel.spec kernel.spec.distro $ vi kernel.spec
%define buildid .your_identifier
注意 %とdefineの間にスペースを入れない
buildidーを変更しないと現在動作中のカーネルを書き換えてしまう。
$rpmbuild -bb --target=`uname -m` kernel.spec 2> build-err.log | tee build-out.log
~/rpmbuild/RPMS/`uname -m`/ にrpmファイルができる
0 件のコメント:
コメントを投稿