Gentoo/x86 インストールの Tips & Tricks
1.
初めに
前置き
このドキュメントはGentoo/x86のインストールに関する様々なtips and tricksを扱っています。
このドキュメントには、たくさんの情報がつめこまれています。
そしてこのことは、このtips and tricksがインストールガイドに対する追加情報になりますが、代替にはならないことを意味しています。
目次
上級インストール
インストールの単純化
エラーや問題の修正
2.
上級インストール
ソフトウェアRAID
注意:
もしソフトウェアRAIDについて知らなければ、Software-RAID-HOWTOを読んでください。
|
いったんインストールCDから起動し、適当なRAIDモジュールを読み込みます。
例えば、RAID-1を使おうと思っているのなら以下のようにします。
コード表示 2.1: RAID-1モジュールの読み込み |
# modprobe raid1
|
あなたのディスクを区切るときに、パーティションタイプに83(Linux native)の代わりにfd(Linux raid autodetect)を使うようにしてください。
fdiskのtコマンドを使うとパーティションタイプを変更できます。
RAIDアレイを作成し始める前に、デバイスファイルを作成する必要があります。
コード表示 2.2: デバイスファイルの作成 |
# mknod /dev/md1 b 9 1
# mknod /dev/md2 b 9 2
# mknod /dev/md3 b 9 3
|
パーティションの作成を行ったら、RAID管理用の上級ツールであるmdadmを使って/etc/mdadm.confファイルを作成(もちろんインストールCD環境上で)します。
例えば、/dev/sdaと/dev/sdbにRAID-1でミラーされているboot、swap、そしてrootパーティションを作成したのなら、以下のようにします。
コード表示 2.3: mdadmコマンドでRAIDデバイスを作成 |
# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
# mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
# mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3
|
重要:
RAID-0やRAID-5のようなストライピング設定したディスクをブートパーティションにするべきではありません。
|
LinuxソフトウェアRAIDドライバーはmetadevicesの作成を開始するでしょう。
その経過を/proc/mdstatで見ることができます。
続行する前にmetadevicesが完全に完了するまで待ってください。
コード表示 2.4: 作成したデバイス情報を保存 |
# mdadm --detail --scan > /etc/mdadm.conf
|
ここからは、/dev/md1をbootパーティション、/dev/md2をswapパーティション、そして/dev/md3をrootパーティションに使ってください。
chrootをする前に、忘れずに/etc/mdadm.confを/mnt/gentoo/etcへコピーしてください。
カーネルの設定をするとき、モジュールではなくカーネル内部にRAIDサポートを有効にするようにしてください。
外部ツールをインストールする時、mdadmをemergeしてください。
このツールは全てのインストールCDに含まれているわけではないので、ネットワークなしのインストールでは、ソフトウェアRAIDでGentooをインストールできないかもしれないことに注意してください。
ミラーリングを使用する場合には、ブートローダーの設定をするときにブートローダーが両方のディスクにインストールされていることを確認してください。
2.4カーネルを使ったATA RAID
doataraidオプションを使ってインストールCDで起動するようにしてください。
起動したら、/dev/ataraidを確認してください。
それにはATA RAIDが利用可能なそれぞれのハードディスク用の様々なdisc*ディレクトリが含まれているはずです。
全てのディスクがdiscと表示されている一方、パーティションはpart*となっています。
Gentooをインストールする/dev/ataraid/disc*/*デバイスファイルを書き留めておいてください。
インストール中に/dev/hdaをこのパスで置き換える必要があります。
chrootをする前に、新しい環境で/dev構造をbindマウントします。
コード表示 2.5: /devをbindマウント |
# mount -o bind /dev /mnt/gentoo/dev
|
カーネルを設定する時、ATA RAIDチップセットのサポートとオプションを有効にするようにしてください。
例えば、一般的なATA RAIDシステムのPromise FastTrack built-in RAIDではカーネル内にPromise FastTrack Optionsをビルドする必要があります。
GRUBの設定をする時、まずGRUBブートディスクを作成してください。
これは考えているほど難しくはありません。
まずGRUBをいつものようにインストールしますが、GRUBがMBRにインストールされる部分まできたら、以下の指示に従ってください。
コード表示 2.6: GRUBブートディスクの作成 |
# cd /boot/grub
# dd if=stage1 of=/dev/fd0 bs=512 count=1
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
|
まだgrub.confファイルを書く必要があります。
これは通常のインストール手順と何ら変わりないですが、ただroot=がATA RAIDデバイスを示すようにします。
インストールが完了したら、GRUBブートディスクで起動します。
GRUBプロンプトが表示されるでしょう。
ではATA RAIDデバイスから起動できるようにGRUBを設定します。
コード表示 2.7: GRUBをATA RAIDにインストール |
grub> root (hd0,x)
grub> setup (hd0)
grub> quit
|
では再起動します。GRUBブートフロッピーは取り出しておいてください。
LILOユーザはインストール指示にある指示を使って差し支え有りません。
インストールCDのカーネルを使う
カーネルを自分でコンパイルしたくないなら、インストールCDのカーネルを使ってシステムにコピーすることができます。
カーネルをコンパイルするか聞かれる場所まできたら、別のターミナルに行って(Alt-F2を押す)インストールの最初で提供されたrootパスワードを使ってログインします。
カーネルとモジュールをGentooシステムにコピーします。
コード表示 2.8: インストールCDカーネルのコピー |
cdimage ~# cp /mnt/cdrom/isolinux/${KN} /mnt/cdrom/isolinux/${KN}.igz /mnt/gentoo/boot
cdimage ~# mkdir -p /mnt/gentoo/lib/modules
cdiamge ~# cp -Rp /lib/modules/`uname -r` /mnt/gentoo/lib/modules
|
Gentooシステムの起動中に現在実行している(インストールCD上で)全てのモジュールを読み込むためには、chroot環境で以下のコマンドを実行します。
コード表示 2.9: すべての実行しているモジュールをmodules.confファイルに追加 |
# cat /proc/modules | cut -d ' ' -f 1 >> \
/etc/modules.autoload.d/kernel-`uname -r | cut -d . -f -2`
# update-modules
|
3.
インストールの単純化
ターミナルを止める
多くの人はコンパイル中にシステムから離れたいと思います。
皆を信じることができない公共の環境でインストールをするといった場合これはかなり難しいです。
もしそのようならば、コンパイルをバックグラウンドで行い全てのターミナルからログアウトしたいでしょう。
このための様々な解決方法があります。
最初のものはscreenを使うことです。
インストールCDで起動したら、rootのパスワードを設定してscreenセッションを起動します。
注意:
全てのインストールCDがscreenを提供するわけではありません。
もしそのようならば、この章で後述する別の方法を使います。
|
コード表示 3.1: screenセッションの起動 |
# screen -S gentoo
|
一度screenの内部に入れば全てのインストールを行うことができます。
ターミナルから離れたい時にはCtrl-a, d(controlとaを同時に押し、その後にdを押します)を押してscreenセッションを分離します。
これで安全にシステムからログアウトできます。
ターミナルへのアクセスを取り戻すには、再びrootでログインして起動しているscreenセッションを取り付けます。
コード表示 3.2: screenセッションの取り付け |
# screen -x gentoo
|
screenを使うことができない場合にも、ターミナルから離れる方法はまだあります。
インストールドキュメントに従ってインストールを進めてください。
しかし長いコンパイルが開始される場所(例えば./scripts/bootstrap.shの段階)まできたら、ログアウトしても処理を継続させるnohupを使います。
後ろに"&"を付けるのを忘れないでください。そうしなければ処理はバックグラウンドで行われません。
後でどこにいたのか知る必要があるかもしれないので今どこにいるか(pwdコマンドが教えてくれます)を覚えておいてください。
コード表示 3.3: nohupを使う |
# pwd
/usr/portage
# nohup ./scripts/bootstrap.sh &
|
ではchroot環境(exit)とインストールCDセッションを終了します。
コンパイルはバックグラウンドで続いています。
コンパイルを確認する時にはrootで(インストールCDに)ログインして再びchroo環境に入り最後にいたディレクトリに行きます。
コード表示 3.4: 再びchrootする |
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
# cd /usr/portage
|
ではディレクトリ内にあるnohup.outファイルに対してlessコマンドを使いましょう。
コンパイルは出力をこのファイルに追加するので、コンパイル進度を追うならless nohup.outを実行しFを押して変更を追ってください。
コンパイルが終わったら、インストール指示の次の段階へ進むことができます。
変更を追うのに飽きたら、Ctrl-Cに続いてqを押してください。
これはコンパイル作業を止めずに、lessのみを停止させます。
4.
エラーや問題の修正
ディスクの広域テスト
もしディスクに厳密な検査(バッドセクターなど)が必要だと考えるなら、(mke2fsを使って)ext2やext3ファイルシステムを作成している時に-cオプションを使うことができます。
これは読み取りテストを実行し、バッドセクターに印を付けます。
もしあなたが極度の心配性なら、-c -cを使ってディスクをフォーマットし、
広域読み取り・書き取りテストを実行することができます。
コード表示 4.1: ディスクの検査 |
# mke2fs -j -c /dev/hda3
|
誤ったインストールからの回復
もし何らかの理由でGentooのインストールが失敗したのなら、もう一度全てをやり直す必要はありません。
その代わり、失敗したと思われる(もしくは指示に不具合があったと思う)場所に移動して違う方法を試しても差し支え有りません。
まず第一にGentooLinux環境に再びchrootする必要があります。
もう一度指示に従いますが、パーティションが既に作成され、安定しているのならパーティションの作成は無視してください。
そのため、すぐにパーティションを/mnt/gentooにマウントすることができます。
ステージの展開とmake.confの編集の段階も飛ばすことができます。ファイルを上書きしたくはないでしょう?
一度GentooLinux環境にchrootしたら、すぐに別の方法を試したいと思う場所に進んでください。
その場所自身が間違っていたとあなたが思わない限りは、ブートストラッピングなどのすべての手順を再び行わないでください。
例えば、grub.confの設定を失敗したと思うなら、すぐにエディターで/boot/grub/grub.confを更新します。
別の方法を試したなら、どれくらいの後の段階をもう一度実行する必要があるのかよく考えるべきです。
もし後の段階が今回の変更に関係しているのなら、それらをやり直す必要があるでしょう。
例えば、
-
make.confの変数を変更したのなら、make.confの設定に依存する全てのコンパイルを実行する必要があります。
-
/boot/grub/grub.confを変更したのなら、grub.confに関係する段階はないのですぐにchroot環境を終了して再起動できます。
-
カーネルを再コンパイルした場合には、ブートローダーの設定が正しいカーネルイメージを参照しているかどうかだけを確認してから(/bootをマウントしたかもう一度確認してください!)、chroot環境を終了して再起動できます。
-
/etc/fstabを変更したのなら、chroot環境を終了して再起動します。
この様に、ほとんどの回復作業ではすぐに再起動することができます。
一部の場合のみ後のインストール段階をやり直す必要があります。
このドキュメントの内容は、他のものが明示されない限りは、
CC-BY-SA-2.5ライセンスです。
Gentoo Name and Logo Usage Guidelines (日本語訳)が適用されます。
|