3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(Linux,Hyper-V)カーネルアップデート時に自動的にLinuxISを再適用する方法

(Linux,Hyper-V)LinuxISv2.1をいれたLinuxでカーネルアップデートするとカーネルパニックの最後のほうで書きましたが、カーネルバージョン更新時に自動的にLinuxISを再ビルドと配置する方法です。

参考先は、山市良のえぬなんとかわーるど: Linux IS v2.1 とカーネル アップデートに関するサポート技術情報+αという記事です。ほぼコピペですが、一応載せておきます。

Dell提供のDKMSというパッケージを使うと、カーネルアップデート時に自動的にLinuxISを再ビルドと配置してくれます。

まず、DKMSをダウンロードし、インストールします。

# wget http://linux.dell.com/dkms/permalink/dkms-2.1.1.2-1.noarch.rpm

# rpm -ihv dkms-2.1.1.2-1.noarch.rpm

LinuxISのメディアをマウントし、中身をまるごとコピーします。パスは /usr/src/linuxic-2.1 でないといけないようです。

# mount /dev/cdrom /media/cdrom/

# mkdir /usr/src/linuxic-2.1

# cp -R /media/cdrom/* /usr/src/linuxic-2.1

# umount /media/cdrom

dkms.confファイルをコピーします。

# cp /usr/src/linuxic-2.1/scripts/dkms.conf /usr/src/linuxic-2.1/

/etc/modprobe.conf に以下4行を追記します。

# vi /etc/modprobe.conf

alias scsi_hostadapter1 vmbus

alias scsi_hostadapter2 blkvsc

alias scsi_hostadapter3 storvsc

alias scsi_hostadapter4 netvsc

DKMS を使ってLinuxIS2.1をインストール・再起動します。

# dkms add -m linuxic -v 2.1

Creating symlink /var/lib/dkms/linuxic/2.1/source ->

/usr/src/linuxic-2.1

DKMS: add Completed.

# dkms build -m linuxic -v 2.1

Kernel preparation unnecessary for this kernel. Skipping...

Building module:

cleaning build area...

/usr/bin/env make install.........

cleaning build area...

DKMS: build Completed.

# dkms install --force -m linuxic -v 2.1

vmbus.ko:

Running module version sanity check.

- Original module

- Found /lib/modules/2.6.18-194.el5/kernel/drivers/vmbus/vmbus.ko

- Storing in /var/lib/dkms/linuxic/original_module/2.6.18-194.el5/i686/

- Archiving for uninstallation purposes

- Installation

- Installing to /lib/modules/2.6.18-194.el5/extra/

netvsc.ko:

Running module version sanity check.

- Original module

- Found /lib/modules/2.6.18-194.el5/kernel/drivers/vmbus/netvsc.ko

- Storing in /var/lib/dkms/linuxic/original_module/2.6.18-194.el5/i686/

- Archiving for uninstallation purposes

- Installation

- Installing to /lib/modules/2.6.18-194.el5/extra/

storvsc.ko:

Running module version sanity check.

- Original module

- Found /lib/modules/2.6.18-194.el5/kernel/drivers/vmbus/storvsc.ko

- Storing in /var/lib/dkms/linuxic/original_module/2.6.18-194.el5/i686/

- Archiving for uninstallation purposes

- Installation

- Installing to /lib/modules/2.6.18-194.el5/extra/

blkvsc.ko:

Running module version sanity check.

- Original module

- Found /lib/modules/2.6.18-194.el5/kernel/drivers/vmbus/blkvsc.ko

- Storing in /var/lib/dkms/linuxic/original_module/2.6.18-194.el5/i686/

- Archiving for uninstallation purposes

- Installation

- Installing to /lib/modules/2.6.18-194.el5/extra/

Adding any weak-modules

depmod....

DKMS: install Completed.

#reboot

再起動後、yumカーネルアップデートし、さらにアップデートしたカーネルで起動して modinfo でパスが weak-update となっていればOKのようです。

# modinfo vmbus

filename: /lib/modules/2.6.18-238.9.1.el5/weak-updates/vmbus.ko