![]() |
LINUX |
kernel 4 Vmware
・CentOSのkernelは [Timer frequency] が1000Hzになっています
・Vmwareで制御しきれずに、ベースOSと時間が狂ってきます
・[Timer frequency] を100Hzに設定しkernelを再構築します
・src.rpmからrpmパッケージを作成します
・ソースの取得、削除は省略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します
・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます
関連サイト| :kernel-2.6.18-128.1.14.el5.src.rpm | (http://mirror.centos.org/centos/) |
インストール環境| :OS | CentOS 5.3 |
| :selinux | disabled or permissive |
| :インストール先 | |
| :作業 | /usr/src |
| :言語 | LANG=ja_JP.UTF-8 |
| :ユーザー | rootで実行 |
・メンテナンスの場合は一般ユーザから行います
kernel-2.6.18-128.1.14.vmC53
ソースの展開・再構築・/usr/srcでソースファイルを展開します
・kernel,kernel-develのみ作成します
# cd /usr/src [root@mars:/usr/src] # useradd mockbuild # mkdir /usr/src/vmC53 # rpm -ivh kernel-2.6.18-128.1.14.el5.src.rpm # cd redhat/SOURCES [root@mars:/usr/src/redhat/SOURCES] # vi kernel-2.6.18-i686.config
・[Timer frequency]の修正(下記参照)
# cd ../SPECS
[root@mars:/usr/src/redhat/SPECS]
# vi kernel-2.6.spec
・specファイルの修正(下記参照)
# rpmbuild -bb --target i686 kernel-2.6.spec
# mv kernel-2.6.spec /usr/src/vmC53
# cd ../RPMS/i686
[root@mars:/usr/src/redhat/RPMS/i686]
・作成されたパッケージ
kernel-2.6.18-128.1.14.vmC53.i686.rpm
kernel-devel-2.6.18-128.1.14.vmC53.i686.rpm
# mv *.rpm /usr/src/vmC53
・必要の無くなったtmpファイルなどを削除します
# cd /usr/src
[root@mars:/usr/src]
# rm -rf redhat/BUILD/*
# rm -f redhat/SOURCES/*
# rm -f redhat/SPECS/*
# userdel -r mockbuild
:/usr/src/redhat/SOURCES/kernel-2.6.18-i686.config
・rpmbuildに"--target i686"オプションを付けた場合に読み込まれます
・紫色 変更部分
--- kernel-2.6.18-i686.config.orig +++ kernel-2.6.18-i686.config @@ -3030,7 +3030,7 @@ CONFIG_NFS_FSCACHE=y # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set -CONFIG_HZ_1000=y +CONFIG_HZ_100=y # CONFIG_DEBUG_DEVRES is not set CONFIG_USB_VIDEO_CLASS=m
:/usr/src/redhat/SPECS/kernel-2.6.spec
・kernel,kernel-develのみ作成します
・"dist"の設定を変更します(rpmbuild時にMakefileを自動で書き換えます)
・"el5"よりアルファベット順が後方になるように名前を設定
・紫色 変更部分
--- kernel-2.6.spec.orig +++ kernel-2.6.spec @@ -14,19 +14,19 @@ # kernel-smp (only valid for ppc 32-bit, sparc64) %define with_smp %{?_without_smp: 0} %{?!_without_smp: 1} # kernel-PAE (only valid for i686) -%define with_pae %{?_without_pae: 0} %{?!_without_pae: 1} +%define with_pae %{?_without_pae: 1} %{?!_without_pae: 0} # kernel-xen (only valid for i686, x86_64 and ia64) -%define with_xen %{?_without_xen: 0} %{?!_without_xen: 1} +%define with_xen %{?_without_xen: 1} %{?!_without_xen: 0} # kernel-kdump (only valid for ppc64) %define with_kdump %{?_without_kdump: 0} %{?!_without_kdump: 1} # kernel-debug -%define with_debug %{?_without_debug: 0} %{!?_without_debug: 1} +%define with_debug %{?_without_debug: 1} %{!?_without_debug: 0} # kernel-doc -%define with_doc %{?_without_doc: 0} %{?!_without_doc: 1} +%define with_doc %{?_without_doc: 1} %{?!_without_doc: 0} # kernel-headers %define with_headers %{?_without_headers: 0} %{?!_without_headers: 1} # kernel-debuginfo -%define with_debuginfo %{?_without_debuginfo: 0} %{!?_without_debuginfo: 1} +%define with_debuginfo %{?_without_debuginfo: 1} %{!?_without_debuginfo: 0} # Control whether we perform a compat. check against published ABI. %define with_kabichk %{?_without_kabichk: 0} %{?!_without_kabichk: 1} @@ -53,7 +53,7 @@ # After branching, please hardcode these values as the # %dist and %rhel tags are not reliable yet # For example dist -> .el5 and rhel -> 5 -%define dist .el5 +%define dist .vmC53 %define rhel 5 # Values used for RHEL version info in version.h
![]() |
Copyright(c) 528p.com All Rights Reserved. |

