diary/Kojima/2014-01-10
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[diary/Kojima]]
・Plamo Linuxのカーネルパッケージの更新方法.
Plamo Linuxの場合,カーネルのパッケージはバイナリイメージ...
ソースコードの3つに分かれており,64ビット版のPlamo-5.2の...
バイナリイメージは 00_base/kernel-3.12.5_plamo64-x86_64-P...
ヘッダーファイルは 01_minimum/devel.txz/kernel_headers-3....
ソースコードは 09_kernel/kernelsrc-3.12.5_plamo64-noarch-...
という構成になっている.
これらのパッケージも,通常のパッケージ同様,
updatepkgコマンドで更新することはできるものの,
カーネル本体(バイナリイメージ)を更新した場合,
ブートローダの設定ファイルを調整してやる必要がある.
また,何らかのトラブルがあって新しいカーネルでは起動しな...
カーネル本体は updatepkg で入れ替えてしまうのではなく,
動作している既存のカーネルと共存させることがお勧め.
そのための方法は以下のとおり.
-古いカーネル本体のパッケージ名を変更する
Plamo Linuxのパッケージ管理システムでは,
インストール済みのパッケージは/var/log/packages/に
パッケージのベース名(カーネル本体の場合はkernel)で記録さ...
updatepkg等はこのディレクトリを調べて同じベース名のパッケ...
それを削除してから新しいパッケージをインストールする.
そのため,ここに記録されているパッケージのベース名を別の...
同じベース名の複数のパッケージを共存させることが可能にな...
例えば,以下ではファイル名にカーネルのバージョンを付記す...
ベース名が異なるようにしている.
# ls /var/log/packages | grep kernel
kernel
kernel_headers
# mv /var/log/packages{,-`uname -r`}
# ls /var/log/packages | grep kernel
kernel-3.9.3-plamo64
kernel_headers
こうしておけば,古いカーネルパッケージ(kernel-3.9.3_plamo...
新しいカーネルパッケージをインストールすることができる.
# installpkg kernel-3.12.5_plamo64-x86_64-P1.txz
kernel-3.12.5_plamo64-x86_64-P1 のインストール中
PACKAGE DESCRIPTION:
..
# ls /var/log/packages | grep kernel
kernel
kernel-3.9.3-plamo64
kernel_headers
この結果,/boot以下にも2種のカーネルが存在することになる.
# ls /boot
System.map@ config@ diag1....
System.map-3.12.5-plamo64 config-3.12.5-plamo64 diag2....
System.map-3.9.3-plamo64 config-3.9.3-plamo64 grub/ ...
- ブートローダに設定を追加する
起動時のカーネルを読み込むブートローダに,新しくインスト...
ブートローダにgrubを使っている場合,設定ファイルは /boot/...
このファイルで,カーネルを読み込んでいるのは以下の部分.
63 ### BEGIN /etc/grub.d/10_linux ###
64 menuentry 'Plamo Linux' --class plamo --class gnu-li...
65 load_video
66 set gfxpayload=keep
67 insmod gzio
68 insmod part_msdos
69 insmod ext2
70 set root='hd0,msdos1'
71 if [ x$feature_platform_search_hint = xy ]; ...
72 search --no-floppy --fs-uuid --set=root --...
73 else
74 search --no-floppy --fs-uuid --set=root 3d...
75 fi
76 echo 'Linux 3.9.3-plamo64 をロード中...'
77 linux /boot/vmlinuz-3.9.3-plamo64 root=/de...
78 }
この部分をcut & pasteして新しいカーネル用の設定を追加する.
具体的には64行目の"menuentry.."から78行目までをコピーする...
viを使える人なら64行目で15yして,PすればOK.
修正が必要なのはロードするカーネルの名前(vmlinuz-3.12.5-p...
それを選択するための menuentry の名称で,修正後のgrub.cfg...
63 ### BEGIN /etc/grub.d/10_linux ###
64 menuentry 'kernel 3.12.5' --class plamo --class gnu-...
65 load_video
66 set gfxpayload=keep
67 insmod gzio
68 insmod part_msdos
69 insmod ext2
70 set root='hd0,msdos1'
71 if [ x$feature_platform_search_hint = xy ]; ...
72 search --no-floppy --fs-uuid --set=root --...
73 else
74 search --no-floppy --fs-uuid --set=root 3d...
75 fi
76 echo 'Linux 3.12.5-plamo64 をロード中...'
77 linux /boot/vmlinuz-3.12.5-plamo64 root=/d...
78 }
79 menuentry 'kernel 3.9.3' --class plamo --class gnu-l...
80 load_video
81 set gfxpayload=keep
82 insmod gzio
83 insmod part_msdos
84 insmod ext2
85 set root='hd0,msdos1'
86 if [ x$feature_platform_search_hint = xy ]; ...
87 search --no-floppy --fs-uuid --set=root --...
88 else
89 search --no-floppy --fs-uuid --set=root 3d...
90 fi
91 echo 'Linux 3.9.3-plamo64 をロード中...'
92 linux /boot/vmlinuz-3.9.3-plamo64 root=/de...
93 }
これで再起動すると,grubのメニュー画面に"kernel 3.12.5"が...
それを選べば新しいカーネルで起動するはず.
#ref("plamo51_64_update.png")
ここ長いことブートローダに lilo は使ってないので,liloの...
/etc/lilo.conf(だったか?) で同様に新しい設定を追加してか...
"lilo"コマンドを実行することをお忘れなく.
lilo の場合は /boot/vmlinuz を見てたはずなので,lilo.con...
新しいカーネルを読み込むようになる気はする.
残りのkernel_headersとkernelsrcパッケージは特に古いのを残...
updatepkgで古いパッケージは削除して更新すればいい.
#comment
終了行:
[[diary/Kojima]]
・Plamo Linuxのカーネルパッケージの更新方法.
Plamo Linuxの場合,カーネルのパッケージはバイナリイメージ...
ソースコードの3つに分かれており,64ビット版のPlamo-5.2の...
バイナリイメージは 00_base/kernel-3.12.5_plamo64-x86_64-P...
ヘッダーファイルは 01_minimum/devel.txz/kernel_headers-3....
ソースコードは 09_kernel/kernelsrc-3.12.5_plamo64-noarch-...
という構成になっている.
これらのパッケージも,通常のパッケージ同様,
updatepkgコマンドで更新することはできるものの,
カーネル本体(バイナリイメージ)を更新した場合,
ブートローダの設定ファイルを調整してやる必要がある.
また,何らかのトラブルがあって新しいカーネルでは起動しな...
カーネル本体は updatepkg で入れ替えてしまうのではなく,
動作している既存のカーネルと共存させることがお勧め.
そのための方法は以下のとおり.
-古いカーネル本体のパッケージ名を変更する
Plamo Linuxのパッケージ管理システムでは,
インストール済みのパッケージは/var/log/packages/に
パッケージのベース名(カーネル本体の場合はkernel)で記録さ...
updatepkg等はこのディレクトリを調べて同じベース名のパッケ...
それを削除してから新しいパッケージをインストールする.
そのため,ここに記録されているパッケージのベース名を別の...
同じベース名の複数のパッケージを共存させることが可能にな...
例えば,以下ではファイル名にカーネルのバージョンを付記す...
ベース名が異なるようにしている.
# ls /var/log/packages | grep kernel
kernel
kernel_headers
# mv /var/log/packages{,-`uname -r`}
# ls /var/log/packages | grep kernel
kernel-3.9.3-plamo64
kernel_headers
こうしておけば,古いカーネルパッケージ(kernel-3.9.3_plamo...
新しいカーネルパッケージをインストールすることができる.
# installpkg kernel-3.12.5_plamo64-x86_64-P1.txz
kernel-3.12.5_plamo64-x86_64-P1 のインストール中
PACKAGE DESCRIPTION:
..
# ls /var/log/packages | grep kernel
kernel
kernel-3.9.3-plamo64
kernel_headers
この結果,/boot以下にも2種のカーネルが存在することになる.
# ls /boot
System.map@ config@ diag1....
System.map-3.12.5-plamo64 config-3.12.5-plamo64 diag2....
System.map-3.9.3-plamo64 config-3.9.3-plamo64 grub/ ...
- ブートローダに設定を追加する
起動時のカーネルを読み込むブートローダに,新しくインスト...
ブートローダにgrubを使っている場合,設定ファイルは /boot/...
このファイルで,カーネルを読み込んでいるのは以下の部分.
63 ### BEGIN /etc/grub.d/10_linux ###
64 menuentry 'Plamo Linux' --class plamo --class gnu-li...
65 load_video
66 set gfxpayload=keep
67 insmod gzio
68 insmod part_msdos
69 insmod ext2
70 set root='hd0,msdos1'
71 if [ x$feature_platform_search_hint = xy ]; ...
72 search --no-floppy --fs-uuid --set=root --...
73 else
74 search --no-floppy --fs-uuid --set=root 3d...
75 fi
76 echo 'Linux 3.9.3-plamo64 をロード中...'
77 linux /boot/vmlinuz-3.9.3-plamo64 root=/de...
78 }
この部分をcut & pasteして新しいカーネル用の設定を追加する.
具体的には64行目の"menuentry.."から78行目までをコピーする...
viを使える人なら64行目で15yして,PすればOK.
修正が必要なのはロードするカーネルの名前(vmlinuz-3.12.5-p...
それを選択するための menuentry の名称で,修正後のgrub.cfg...
63 ### BEGIN /etc/grub.d/10_linux ###
64 menuentry 'kernel 3.12.5' --class plamo --class gnu-...
65 load_video
66 set gfxpayload=keep
67 insmod gzio
68 insmod part_msdos
69 insmod ext2
70 set root='hd0,msdos1'
71 if [ x$feature_platform_search_hint = xy ]; ...
72 search --no-floppy --fs-uuid --set=root --...
73 else
74 search --no-floppy --fs-uuid --set=root 3d...
75 fi
76 echo 'Linux 3.12.5-plamo64 をロード中...'
77 linux /boot/vmlinuz-3.12.5-plamo64 root=/d...
78 }
79 menuentry 'kernel 3.9.3' --class plamo --class gnu-l...
80 load_video
81 set gfxpayload=keep
82 insmod gzio
83 insmod part_msdos
84 insmod ext2
85 set root='hd0,msdos1'
86 if [ x$feature_platform_search_hint = xy ]; ...
87 search --no-floppy --fs-uuid --set=root --...
88 else
89 search --no-floppy --fs-uuid --set=root 3d...
90 fi
91 echo 'Linux 3.9.3-plamo64 をロード中...'
92 linux /boot/vmlinuz-3.9.3-plamo64 root=/de...
93 }
これで再起動すると,grubのメニュー画面に"kernel 3.12.5"が...
それを選べば新しいカーネルで起動するはず.
#ref("plamo51_64_update.png")
ここ長いことブートローダに lilo は使ってないので,liloの...
/etc/lilo.conf(だったか?) で同様に新しい設定を追加してか...
"lilo"コマンドを実行することをお忘れなく.
lilo の場合は /boot/vmlinuz を見てたはずなので,lilo.con...
新しいカーネルを読み込むようになる気はする.
残りのkernel_headersとkernelsrcパッケージは特に古いのを残...
updatepkgで古いパッケージは削除して更新すればいい.
#comment
ページ名: