SL6-part3

Posted: 火 5 20, 2014 5:21 am

Kernel

KernelのVerUPをする。SL6.5のUSBメモリのkernelのVerは2.6.38.8ですが、普段外して有るHDDの
SL6.3のVerを見たら3.0.0でVMWare-Player、V-BOX共に動いていました。
kernelをビルドする環境はSL6.5のUSBメモリは整っていると思うので
SL6.5のUSBメモリのkernelのVerを3.0.0に上げようと思います。
kernelの.tar.bz2が落とせる所
https://www.kernel.org/

linux-3.0.tar.bz2をホームで展開するとlinux-3.0フォルダーが出来ます。
以降、端末上での作業。

展開したディレクトリに移動
「cd」に続けて空白を入力したら、さっきのフォルダのアイコンを端末にD&D。Enter↓
buildする。
/boot/のconfig-なんとかでVerの一番新しい物を選んで

$ cp /boot/config-2.6.32-431.el6.x86_64 ./.config

これは切った貼ったでやると管理者権限でconfig-2.6.32-431.el6.x86_64をcopyして
linux-3.0フォルダーの中に貼り付け名前を .config にする事だと思います。

$ make HOSTCXX="ccache g++" CC="ccache gcc"
で最初の方はEnterキーをずーと押したまままで作業して自動でやってくれるように成ったら手を離しました。

$sudo make HOSTCXX="ccache g++" CC="ccache gcc" modules_install

$ make HOSTCXX="ccache g++" CC="ccache gcc" install  <----これではダメだった管理者権限モードにする必要が有った。

INSTALL /lib/firmware/keyspan_pda/keyspan_pda.fw
INSTALL /lib/firmware/keyspan_pda/xircom_pgs.fw
DEPMOD 3.0.0
[hoge@pc1 linux-3.0]$ make HOSTCXX="ccache g++" CC="ccache gcc" install
sh /home/hoge/linux-3.0/arch/x86/boot/install.sh 3.0.0 arch/x86/boot/bzImage \
System.map "/boot"
ln: cannot remove `/boot/System.map': 許可がありません
/sbin/installkernel: line 74: /boot/vmlinuz-3.0.0: 許可がありません
cp: cannot create regular file `/boot/System.map-3.0.0': 許可がありません
ln: cannot remove `/boot/vmlinuz': 許可がありません
ln: cannot remove `/boot/System.map': 許可がありません
FATAL: Could not open '/boot/System.map-3.0.0': No such file or directory
E: No permission to write /boot.
mkinitrd failed

仕方がないので管理者権限モードにする。
@pc1 linux-3.0]$ su
パスワード:

[root@pc1 linux-3.0]# make HOSTCXX="ccache g++" CC="ccache gcc" install

sh /home/hoge/linux-3.0/arch/x86/boot/install.sh 3.0.0 arch/x86/boot/bzImage \
System.map "/boot"

このやり方だとKernlの.rpmが出来ない。9時10分にmakeを始めて途中目を離していたが
終わったのは12時46分でした。Kernelの.rpmがOK保存庫に無いので多分この方法でやったのでは
と思います。

kernelをビルドする環境は下記でしたのか不明です。
ソース
http://blog.livedoor.jp/hiroumauma/archives/1460767.html#comments

/boot/grub/menu.lst を見ると

# kernel /boot/vmlinuz-version ro root=/dev/sda1
# initrd /boot/initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Scientific Linux (3.0.0)
root (hd0,0)
kernel /boot/vmlinuz-3.0.0 ro root=UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeee1a8 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=auto rhgb quiet vga=791
initrd /boot/initramfs-3.0.0.img
title Scientific Linux (2.6.38.8)
root (hd0,0)
kernel /boot/vmlinuz-2.6.38.8 ro root=UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeee1a8 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=auto rhgb quiet vga=791
initrd /boot/initramfs-2.6.38.8.img
title Scientific Linux (2.6.32-220.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeee1a8 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=auto rhgb quiet vga=791
initrd /boot/initramfs-2.6.32-220.el6.x86_64.img
title Scientific Linux (2.6.32-131.0.15.el6.x86_64)
root (hd0,0)
kernel /boot/vmlinuz-2.6.32-131.0.15.el6.x86_64 ro root=UUID=aaaaaaaa-bbbb-cccc-dddd-eeeeeeeee1a8 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=ja_JP.UTF-8 KEYBOARDTYPE=pc KEYTABLE=jp106 crashkernel=auto rhgb quiet vga=791
initrd /boot/initramfs-2.6.32-131.0.15.el6.x86_64.img
title Other
rootnoverify (hd1,0)
chainloader +1

なので出来ているようだ。2.6.32-431.el6.x86_64が無いのは気に成るがこのKernlで起動した事が無いせいなのか?
Fedora11はKernelはデフォルトでは3個までだったがSL6では何個までいいのか不明です。

再起動させたがメニューでは3.0.0が一番上に有るのにもかかわらず起動画面で2.6.38.8 で自動で起動です。USBメモリとHDDの違いなのか?

[hoge@pc1 ~]$ cd '/home/hoge/linux-3.0'
[hoge@pc1 linux-3.0]$ make HOSTCXX="ccache g++" CC="ccache gcc" install
sh /home/hoge/linux-3.0/arch/x86/boot/install.sh 3.0.0 arch/x86/boot/bzImage \
System.map "/boot"
mv: cannot move `/boot/vmlinuz-3.0.0' to `/boot/vmlinuz-3.0.0.old': 許可がありません
mv: cannot move `/boot/System.map-3.0.0' to `/boot/System.map-3.0.0.old': 許可がありません
ln: cannot remove `/boot/System.map': 許可がありません
/sbin/installkernel: line 74: /boot/vmlinuz-3.0.0: 許可がありません
cp: cannot create regular file `/boot/System.map-3.0.0': 許可がありません
ln: cannot remove `/boot/vmlinuz': 許可がありません
ln: cannot remove `/boot/System.map': 許可がありません

仕方がないのでBT5のUSBメモリを下側に指してSL6.5のUSBメモリを上側に刺してF12キーを連打でBT5のUSBメモリを選択してBT5を起動で
Gpartedでどちらがsdaなのか確認して、このPCでは下側がsdaのようです。BT5の起動メニューでSL6.5の3.0.0を作る為に以下の作業。
BT5なのでrootなのだが 
sudo grub-install --force /dev/sda  で作業する必要有り。
sudo update-grub

で再起動でF12キーを連打でBT5のUSBメモリを選択してBT5の起動メニューでSL6.5の3.0.0を選択でhardinfoで見ると3.0.0で起動したようです。
BT5のUSBメモリを安全な取り出しで抜いてSL6.5のUSBメモリのみで起動でやったら相変わらず2.6.38.8 で自動で起動です。

/etc/grub.conf  の default=1 をdefault=0 に変更して保存で再起動で3.0.0で自動で起動するように成りました。

そう言えば以前マルチブートに凝っていた時にはやっていたような事を思い出しました。

ミラクルパッチが効いているかのチェック
$ cat /proc/sys/kernel/sched_autogroup_enabled
で「1」が返って来ました。(1が出たら効いている、0が出たら効いていない)

ソース
http://www.linuxmaster.jp/linux_blog/2012/10/centos63linux36.html
今後、デフォルト起動をカーネル3.6.0にしたい場合には、/etc/grub.confファイルを編集します。
編集箇所は、「default=1」の箇所を「default=0」に変更して保存します。
[root@Tiger linux-3.6]# vi /etc/grub.conf
grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_tiger-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0  ←「default=0」に変更します。
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.6.0)
****************************************
VMWare-Playerはインストール出来ず。
V-BOXは機能拡張パッケージのインストール出来ず。 

この2年位VMWare-PlayeとV-BOXは殆ど使用していなかったのでよく分からず、kernelの出来がマズイのか何かが不足していて追加の作業が必要なのか?不明です。

思 い出しました、このOSは元々取り外して有るHDDが2台有りその両方共に1つずつSL6.xがインストールされているのですがSL6.3の方は VMWare-PlayeとV-BOXが動くのですが100GB位ありUSBメモリにCOPYするのが困難なのでもう一方のSL6.4からUSBメモリに COPYしUSBメモリからそれを普段使用のHDDにCOPYした物でした。
そのHDDでSL6.5にUpdateしてYum Extenderでアプリのupdateをして、kernelのVerは2.6.38.8の時にVMWare-Playeのインストールを試したのですが 何故か出来ませんでした。なので元々あまり出来の良くない物だと思います。