DELL PowerEdge FreeOS 技術情報 - Debian GNU/Linux
DELL PowerEdge R710, M610 で Debian GNU/Linux を動作させるためのワークアラウンド等を掲載しております。
OS インストール時に NIC のファームウェアを要求される
該当OS | Debian GNU/Linux 5.0.2 (32bit) |
該当機種 | R710, M610 |
OS インストール時に NIC(R710 : Broadcom NetXtreme II BCM5709 1000Base-T、M610 : Broadcom NetXtreme II BCM5709S 1000Base-T) のファームウェアをリムーバブルディスクなどから読み込むように要求されます。そのため、事前にファームウェアパッケージを入手しておき、インストール時に USB メモリなどから読み込ませる必要があります。
ファームウェアパッケージは下記サイトから入手します(firmware-bnx2_0.14+lenny1_all.deb)。
http://packages.debian.org/lenny/firmware-bnx2
パッケージファイルをUSBメモリ/フロッピーディスクなどにコピーし、インストール中にファームウェアが要求された時点で挿入します。すると、自動的にパッケージがインストールされ NIC が認識されます。
また、「ネットワーク設定なし」でインストールを続行し、OS インストール完了後に上記ファームウェアパッケージをインストールすることで NIC を認識させることも可能です。
インストール後OSが起動しない
該当OS | Debian GNU/Linux 4.0 r8 (32bit, 64bit), 5.0.2 (32bit) |
該当機種 | M610 |
DRAC、DRAC/MCで使用する仮想デバイスがローカルディスクよりも先に認識されてしまうことがあり、GRUBの設定ファイルに、実際に OS をインストールしたデバイスとは別のデバイス名が記述されてしまうことがあります。そのため、OS 起動時に誤ったパーティションから起動し、起動に失敗します。以下に対処策を記します。
GRUB 起動時にオプションを変更し、OS を起動させる
まずは サーバ起動じの GRUB 画面にて起動デバイスを手動で変更し、OS を起動させます。
GRUB 画面で起動する OS を選択し、”e” キーを入力して、起動オプションの編集モードに入ります。
次に、以下の部分を必要に応じて修正します(以下は例ですので、実際の環境に合わせて読み替えてください)。
修正前
kernel /boot/vmlinuz-2.6.17-2-686 root=/dev/sdb1 ro
修正後
kernel /boot/vmlinuz-2.6.17-2-686 root=/dev/sda1 ro (”sdb1” → “sda1” に変更)
変更後、”b” キーを入力して、ブートします。
GRUB の設定ファイルと /etc/fstab を修正する
OS が起動したら、/boot/grub/menu.lst と /etc/fstab を修正します。
修正前の /etc/fstab
/dev/sdb1 / ext3 defaults,errors=remount-ro 0 1
修正後の /etc/fstab
/dev/sda1 / ext3 defaults,errors=remount-ro 0 1 (”sdb1” → “sda1” に変更)
/boot/grub/menu.lst は、上記 GRUB の起動オプションの修正と同じ部分(デバイス名)を修正します。
NIC が認識されない
該当OS | Debian GNU/Linux 4.0 r3 (64bit), 4.0 r8 (64bit) |
該当機種 | R710, M610 |
OS 標準のドライバでは オンボードのNIC (R710 : Broadcom NetXtreme II BCM5709 1000Base-T、M610 : Broadcom NetXtreme II BCM5709S 1000Base-T) が認識されません。「ネットワーク設定なし」のままインストール作業を完了させ、インストール完了後にドライバ(モジュール)をビルドして組み込む必要があります。Broadcom のWeb サイトからネットワークカードのドライバソースコードを入手し、コンパイルしてモジュールを作成し組み込むことで NIC を認識させることができます。以下に手順を記します。
なお、下記手順は Debian 4.0 r3 向けの内容となっておりますが、4.0 r8 においても同様の手順でドライバを組み込むことが可能です。
実行環境
実施する環境は以下の通りです。
ターゲット OS バージョン | Debian 4.0 r3 amd64。カーネル:2.6.18-6-amd64 |
ビルド環境 OS バージョン | Debian 4.0 r8 amd64。カーネル:2.6.18-6-amd64 |
ドライバソースコード | http://ja.broadcom.com/support/ethernet_nic/netxtremeii.php から入手します。今回は linux-1.8.5b_1.48.53.zip をダウンロードしました。 |
ビルド環境の構築
ビルド環境は 4.0 系の最新版である Debian 4.0 r8 amd64 で構築します。
4.0 r3 と 4.0 r8 はカーネルのバージョンが同じ(2.6.18-6-amd64)であるため、4.0 r8 でビルドしたドライバを 4.0 r3 に組み込むことが可能です。
コンパイルに必要なツールのインストール
コンパイルは Debian 4.0 r8 amd64 上で行います。
ドライバのコンパイルに必要な以下のパッケージを、apt コマンドでインストールします。
# apt-get install gcc make binutils linux-headers-2.6.18-6-amd64
また、zip アーカイブの展開用に以下のパッケージをインストールしておきます。
# apt-get install unzip
インストール後、ドライバソースアーカイブを展開します。
# tar xjf linux-source-2.6.18.tar.bz2
ドライバのコンパイル
Broadcom のサイトから入手したソースコードをビルド環境の適当なパスに置き、以下の要領でビルドします。
$ ls linux-1.8.5b_1.48.53.zip $ unzip linux-1.8.5b_1.48.53.zip $ ls Server linux-1.8.5b_1.48.53.zip $ cd Server/Linux/Driver $ ls netxtreme2-4.8.10-1.src.rpm netxtreme2-4.8.10.tar.gz $ tar xzf netxtreme2-4.8.10.tar.gz $ ls netxtreme2-4.8.10 netxtreme2-4.8.10-1.src.rpm netxtreme2-4.8.10.tar.gz $ cd netxtreme2-4.8.10/bnx2/src $ make
以上でコンパイルは完了です。カレントディレクトリに "bnx2.ko" というファイルが生成されていることを確認します。
また、以下のコマンドを実行し、オンラインマニュアルを用意します。
$ gzip -c bnx2.4 > bnx2.4.gz
4.0 r3 にドライバをインストール
コンパイルを実行したディレクトリに含まれる以下のファイルを USB メモリなどを用いて PowerEdge R710 上の Debian 4.0 r3 上にコピーします。
bnx2.4.gz bnx2.ko bnx2.h
以下の内容のシェルスクリプトを作成し(install.sh とします)、上記のファイルと同じディレクトリに置きます。
#!/bin/sh mkdir -p /lib/modules/`uname -r`/kernel/drivers/net install -m 444 bnx2.ko /lib/modules/`uname -r`/kernel/drivers/net install -m 444 bnx2.4.gz /usr/share/man/man4 /sbin/depmod -a mkdir -p /usr/src/bnx2 install -m 644 bnx2.h /usr/src/bnx2
install.sh を実行します。
# chmod +x install.sh # ./install.sh
OS を再起動すれば自動的に bnx2 というモジュールがロードされます。 ifconfig -a コマンドを実行すると、eth0〜eth3 までのネットワークデバイスが認識されているはずです。
あとは通常のネットワーク設定を行います。固定IPアドレスを設定する例を以下に示します。
/etc/network/interfaces に以下の内容を追記します。
allow-hotplug eth0 iface eth0 inet static address 192.168.1.10 netmask 255.255.255.0 gateway 192.168.1.254
ネットワークサービスを再起動します。
# /etc/init.d/networking restart
ifconfig コマンドを実行し、eth0 に IP アドレスが割り当てられているか確認します。eth0 が表示されない場合は、以下のコマンドを実行します。
# ifup eth0
以上。
OS起動時に「MCE: warning: using only 9 banks」というメッセージが出力される
該当OS | Debian GNU/Linux 4.0 r3 (64bit), 4.0 r8 (64bit) |
該当機種 | R710, M610 |
CPUに搭載されているエラー・レポート・レジスタ・バンクの数に、カーネルが対応していないために表示されます。搭載されている CPU(Nehalem) に対応したカーネルを使用することで、このメッセージが出力されないようになります。
Debian 4.0 64bit (amd64) のデフォルトカーネルは 2.6.18-6-amd64です。Debian 4.0 amd64 のパッケージリポジトリに含まれるカーネルの最新版である 2.6.24-etchnhalf.1-amd64 をインストールしてみたところ、このバージョンのカーネルでも同様の warning メッセージが出力されました。
iDRAC のコンソールリダイレクトにおいてキー入力異常が発生する場合がある
該当OS | Debian GNU/Linux 4.0 r3 (64bit) |
該当機種 | R710 |
iDRAC コンソールリダイレクトのビューアから、R710 で稼動している Debian の X Window System 上のエディタや端末に対してあるキーを一度だけ入力すると、何度もそのキー入力が反復される場合があります。例えば、キーボード上で「a」と一度だけ入力しても、R710上 の Debian 側では「aaa」などと入力される場合があります。
このとき、Debian のログに以下のメッセージが出力されています。
kernel: usb 5-3.2: reset low speed USB device using ehci_hcd and address 4 kernel: usb 5-3.1: reset low speed USB device using ehci_hcd and address 3
コンソール画面(Ctrl + F1 押下などで表示されるコンソール)に対する入力では、上記の現象は発生しません。
対処策として、USB 2.0 のモジュール (ehci_hcd) をアンロード し、USB 1.0 のモジュール (uhci_hcd ) のみロードされた状態にすることで、iDRAC のビューアから正常にキー入力が行えるようになります。
# rmmod ehci_hcd
標準のカーネル(2.6.26-2-686)では CPU が 8 個しか認識されない
該当OS | Debian GNU/Linux 5.0.2 (32bit) |
該当機種 | R710, M610 |
bigmem カーネルをインストールすることで、搭載されている 16 個全ての CPU が認識されます。
# apt-get install linux-image-2.6.26-2-686-bigmem
メモリが 4GB までしか認識されない
該当OS | Debian GNU/Linux 5.0.2 (32bit) |
該当機種 | R710, M610 |
M610 の場合
bigmem カーネルを導入することで、4GB 以上のメモリが認識されます。検証時には、M610 に 24GB のメモリを搭載していましたが、全てのメモリが認識されました。
R710 の場合
検証時には 32GB のメモリを搭載していましたが、標準のカーネル/bigmem カーネル共に 約 4GB 程しかメモリが認識されません。OS 起動時に以下のメッセージが出力されます。
Oops! Too many entries in the memory map!
4GB 以上のメモリを認識させるためには、BIOS を アップデートし(1.0.4 → 1.1.4)、bigmem カーネルで起動する必要があります。BIOS アップデートの方法は DELL のサポートサイトをご参照ください。bigmem カーネルは以下のコマンドを実行することでインストールされます。
# apt-get install linux-image-2.6.26-2-686-bigmem
X Windos System を起動すると解像度が1600x1200、キーボードが英語配列になってしまう
該当OS | Debian GNU/Linux 5.0.2 (32bit) |
該当機種 | R710 |
1024x768 ディスプレイ/日本語キーボードを接続した環境であるにもかかわらず、X Window System を起動すると解像度が1600x1200、キーボードは英語配列となってしまうことがあります。正確な設定にするために、以下の設定を行います。
まず、Xorg -confiigure コマンドを実行し、xorg.conf の雛形を作成します。
# Xorg -configure # cp /root/xorg.conf.new /etc/X11/xorg.conf
/etc/X11/xorg.conf を環境に合わせて修正します。
ビデオカードドライバの設定:Device セクションの Driver を vesa に設定します。
Section "Device" Identifier "Card0" Driver "vesa" #★ ドライバは vesa を指定 EndSection
日本語キーボードの設定:InputDevice セクションを修正します。
Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "jp106" #★追記する Option "XkbLayout" "jp" #★ 追記する EndSection
解像度の設定:Screen セクションの使用する Depth に 以下の行を追記します。
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 (中略) SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection
設定後、X を再起動します。
以上。
bigmem カーネルで起動しない
該当OS | Debian GNU/Linux 4.0 r8 (32bit) |
該当機種 | M610 |
PowerEdge M610 に Debian GNU/Linux 4.0 r8 (32bit) をインストールした場合、標準のカーネルでは、CPU は 8 個まで、メモリは 4GB までしか認識されません。
また、bigmem カーネル では OS 自体が起動しません。
GUI ログイン画面が表示されない
該当OS | Debian GNU/Linux 5.0.2 (32bit) |
該当機種 | M610 |
OS 起動時に GUI のログイン画面が表示されない場合は、X の設定を行う( xorg.conf を作成する)必要があります。xorg.conf を作成する方法の一つとして、"Xorg -configure" コマンドによる作成方法を説明します。
まず、Xorg -confiigure コマンドを実行し、xorg.conf の雛形を作成します。
# Xorg -configure # cp /root/xorg.conf.new /etc/X11/xorg.conf
/etc/X11/xorg.conf を環境に合わせて修正します。
[ビデオカードドライバの設定]
Device セクションの Driver を vesa に変更します。
Section "Device" Identifier "Card0" Driver "vesa" EndSection
[日本語キーボードの設定]
InputDevice の キーボードのセクションに日本語キーボードの設定を追記します。
Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbModel" "jp106" #★追記します Option "XkbLayout" "jp" #★ 追記します EndSection
[解像度の設定]
Screen セクションに DefaultDepth の行と、使用する Depth に Modes の行を追記します。
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 #★ DefaultDepth を指定します (中略) SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" #★ 解像度を指定します EndSubSection EndSection
OS シャットダウン時に Gnome のシャットダウン確認ダイアログが表示される
該当OS | Debian GNU/Linux 5.0.2 (32bit) |
該当機種 | R710, M610 |
iDRACの電源管理で「正常なシャットダウン」を実行した場合や、サーバの電源ボタンを押した際に、シャットダウン確認ダイアログが表示され、60 秒後に自動的にシャットダウンします。以下の設定を行うことで、シャットダウン操作実行後、即座にシャットダウンするようになります。
- GNOME電源管理の「電源ボタンを押したら」の設定を「停止する」に変更する。
お問い合わせ: info @ osstech.co.jp