Gentoo Logo

Gentoo Linuxを通常以外の方法でインストールするための手引き

目次:

1.  この手引きについて

一般的なCDから起動するインストール方法ではうまくいかない、 あるいは単にそうしたくないときにはこの手引きが役に立ちます。 この手引きは、GentooLinuxの代替的なインストール方法を必要とする方のために提供されています。 また、その気があればこの手引きをあなたの変わったインストール方法を提供する場とすることもできます。 もしも、あなたが見付けた便利なインストール方法があったり、Gentooのインストール方法で工夫した点があったりすれば、 その方法を詳しく書いて遠慮なくBugzilla まで送ってください。

2.  Smart BootManagerを使ったインストールCDの起動

Smart BootManagerをhttp://btmgr.sourceforge.net/download.htmlからダウンロードしてください。 多くの言語パックと一緒に、Linux用のソースコードと実行バイナリ、Windows用の.exeファイルが利用可能です。 しかしながら、新しいバージョンのNASMでソースコードをコンパイルできないので、今回はバイナリを使った方が良いでしょう。

パッケージをソースコードからコンパイルするかバイナリを入手してください。 起動用フロッピーを作るときには、下のような幾つかのオプションを利用できます。

コード表示 2.1: Smart BootManagerのオプション

sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file]

   -t theme       select the theme to be used, in which the theme could be:
                    us = English theme       de = German theme 
                    hu = Hungarian theme     zh = Chinese theme 
                    ru = Russian theme       cz = Czech theme
                    es = Spanish theme       fr = French theme 
                    pt = Portuguese theme 

                 
   -d drv         set the drive that you want to install Smart BootManager on;
                  for Linux:
                    /dev/fd0 is the first floppy driver, 
                    /dev/hda is the first IDE harddisk driver.
                    /dev/sda is the first SCSI harddisk driver.
                  for DOS:
                    0   is the first floppy drive
                    128 is the first hard drive;

   -c             disable CD-ROM booting feature;

   -b backup_file backup the data that will be overwritten for
                  future uninstallation;

   -u backup_file uninstall Smart BootManager, should be used alone;

   -y             do not ask any question or warning.

コード表示 2.2: 起動用フロッピーを作るためにsbminstを使う

# sbminst -t us  -d /dev/fd0

注意: フロッピーデバイス名が異なる場合は、fd0を適切に置き換えてください。

では、インストールCDを使って起動するコンピュータのCD-ROMドライブにインストールCDをセットし、 同じようにフロッピードライブにもフロッピーをセットしてコンピュータを起動してください。

Smart BootManagerのダイアログが出迎えてくれるはずです。インストールCDを起動するためにCD-ROMを選択してENTERを押してください。 起動できたら標準的なインストール方法に従ってください。

Smart BootManagerに関するもっと詳しい情報はhttp://btmgr.sourceforge.net/から参照できます。

3.  Knoppixを利用したインストール

注意: Knoppixはx86ユーザしか利用できません。

KnoppixのLiveCDを使って起動する方法では、 Gentooをコンパイルしている間でも完璧に動作するシステムを使うことができます。 bootstrapが終わるのを待つ間は、Tux Racerが暇潰しのタネになりますし、OpenOfficeを使って仕事をすることもできます。

警告: Gentooシステムがインストールされるのを待つ間にKnoppixのホームディレクトリに何かを保存した場合、 再起動後にGentooからそれを利用することはできません。重要なデータはハードディスクや何か他のコンピュータに保存するのを忘れないでください!

KnoppixのCDから起動します。Knoppix 3.6-3.8.2をお使いの場合は、 2.6カーネルを呼び出すためにブートオプションとしてknoppix26を指定する必要があります。 このステップを飛ばしてしまうと、chrootしたときに、カーネルが古すぎるというエラーメッセージが表示されます。 しかし、もしもKnoppix 3.9+をお使いの場合には、2.6カーネルがデフォルトで呼び出されるのでこのステップは必要ありません。

通常、KnoppixではKDEのデスクトップが起動します。パスワードを変更できるようにするために、 konsoleを起動しsu -を実行してください。これによってKnoppixでのroot ユーザのパスワードを設定できます。 ここで、リモートログインのためにsshdを必要に応じて設定できます。

コード表示 3.1: マウントポイント /mnt/gentoo の作成

# mkdir /mnt/gentoo

この時点で、標準的なインストールの手引きの パート4 (訳注: 日本語版パート4)の部分から続けてください。 ただし、procシステムをマウントするときには、替わりに次のコマンドを実行してください。

コード表示 3.2: proc仮想ファイルシステムのバインドマウント

# mount -o bind /proc /mnt/gentoo/proc

また、KNOPPIXでは、PortageのFEATURES内のいくつかが動作しないことも知られています。 とりわけ、userprivusersandboxに注意してください。 もし、エラーが発生したら、オプション機能のいくつか、または全部を無効にすることが賢明でしょう。

4.  ディスクを使わず、PXEブートを利用したインストール方法

必要なもの

ディスクを持たないクライアントには、多くの3comのカードのような、ブートの際にPXEプロトコルを使えるネットワークカードが必要です。 また、PXEによるブートをサポートしたBIOSも必要です。

サーバ上のベースセットアップ

ディレクトリの作成: まず最初に、ディスクレスのシステムが保存されるディレクトリを作成します。 それぞれのディスクレスのクライアントをホストするために、/disklessのようなディレクトリを作成してください。 これ以降、この手引きでは'eta'という名前のクライアントのセットアップ作業をすることにします。

コード表示 4.1: ディレクトリの作成

# mkdir /diskless
# mkdir /diskless/eta
# mkdir /diskless/eta/boot

DHCPとTFTPの設定: クライアントはDHCPを使ってブート情報を取得し、 TFTP を使って必要なファイルすべてをダウンロードします。

dhcpdについては、emerge dhcp(もしくは、選んだ他のDHCPサーバー)を実行してください。 /etc/conf.d/dhcpdのなかで正しいインタフェースが選択されていることを確認して、 基本設定をしてください。その後、次の内容を/etc/dhcp/dhcpd.confに加えてください。

注意: 下の例では静的なIPアドレスと、 ここではpxegrubと名付けたPXE用のブートイメージまでのパスをクライアントに対して割り当てています。 クライアントのイーサ−ネットカードのMACアドレスと、 それぞれのファイルを保存する場所は状況にあわせて書き換えてください。

コード表示 4.2: dhcpd.conf

option option-150 code 150 = text ;
ddns-update-style none ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}

次にブートアップ時にクリアされないように、/etc/conf.d/netでインタフェースを設定する必要があります。 詳しくは/etc/conf.d/net.exampleをみてください。

コード表示 4.3: /etc/conf.d/net

(eth0 を適切なインタフェースに置き換えてください)
config_eth0=( "noop" )

TFTPについては、app-admin/tftp-hpaをemergeし、 /etc/conf.d/in.tftpdに次の内容を加えてください。

コード表示 4.4: in.tftpd

INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"

GRUBのセットアップ: PXEブートをするためにnetbootUSEフラグを有効にしたGRUBを使っています。 いったんGRUBがコンパイルされたら、PXEイメージをディスクレスクライアントのブートディレクトリへコピーしてください。 その後、そのgrub.lstというコンフィグファイルを編集してください。

コード表示 4.5: GRUBのセットアップ

# echo "sys-boot/grub netboot" >> /etc/portage/package.use
# emerge -av grub
# cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub
# nano -w /diskless/eta/boot/grub.lst

コード表示 4.6: grub.lst

default 0
timeout 30

title=Diskless Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta


# nfsrootオプションについては、IPアドレスにサーバのものを、
ディレクトリには(そのサーバ上で)ディスクレスクライアントのファイルが置かれている場所を指定します。

NFSのセットアップ: NFSの設定はとても簡単です。唯一必要なのは、 /etc/exportsという設定ファイルに次のような内容を付け加えることだけです。

コード表示 4.7: /etc/exports

# nano -w /etc/exports
# /etc/exports: NFS file systems being exported.  See exports(5).
/diskless/eta eta(rw,sync,no_root_squash)

hostsファイルの更新: これは重要な作業です。/etc/hostsを必要にあわせて編集しなければなりません。

コード表示 4.8: /etc/hosts

127.0.0.1 localhost

192.168.1.10 eta.example.com eta
192.168.1.20 sigma.example.com sigma

サーバ上にシステムを作成する

ここでGentooのインストールCDを使ってサーバをリブートしたくなるかもしれませんが、 既にインストール済みのシステム上でGentooのインストール手引きに従って作業する方法が分かっていれば、 そのままうまく作業を続けることができます。 Gentooハンドブック (日本語訳)で解説されている、標準的なインストール方法に従ってください。 ただし、ファイルシステムをマウントする際には、以下のようにする点が異なります (hdaX/disklessディレクトリを作成したパーティションです)。 ファイルのすべては/diskless/etaディレクトリ以下に置かれますから、他のパーティションをマウントする必要はありません。

コード表示 4.9: ファイルシステムのマウント

# mount /dev/hdaX /mnt/gentoo

stage tarballとchroot: この例ではstage 3の圧縮ファイルを使います。 /procをディスクレスなシステム用のディレクトリにマウントし、 そこにchrootしてインストール作業を続けましょう。 カーネルの設定の前までインストール手引書に従って作業してください。

警告: stage tarballを展開する場所には特に注意してください。すでにインストー ルできているものに上書きしてしまった…なんてことはしたくありませんよね。

コード表示 4.10: stage tarballを展開

# cd /mnt/gentoo/diskless/eta/
# tar -xvjpf  /mnt/cdrom/gentoo/stage3-*.tar.bz2
# mount -t proc /proc /mnt/gentoo/diskless/eta/proc
# cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf
# chroot /mnt/gentoo/diskless/eta/ /bin/bash
# env-update
# source /etc/profile

カーネルの設定: make menuconfigを使ってカーネルを設定するときには、イ ンストール手引書で推奨されている項目以外にも、次の項目を有効にすることを忘れないでください。

コード表示 4.11: menuconfigのオプション

- お使いのネットワークカードデバイスのサポート
(モジュールと*せず*、カーネルに組み込んでください!)

- "Networking options" 以下:

[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support


- "File systems --> Network File Systems" 以下:

<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS

先ほどの作業でのpxgrubの設定に従って、カーネルをchroot後の/ (/bootではありません)に保存してください。 次に、ディスクレスクライアントの/etc/fstabを設定します。

コード表示 4.12: /etc/fstab

# nano -w /etc/fstab
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs nodev,nosuid,noexec 0 0

また、クライアント側でのファイルシステムのチェックを無効にする必要があります。

コード表示 4.13: クライアント側でのファイルシステムのチェックを無効化

# touch /fastboot
# echo "touch /fastboot" >> /etc/conf.d/local.start

クライアントがしっかりと依存しているnfs-utilsをインストールします。

コード表示 4.14: nfs-utilsのインストール

# emerge nfs-utils

ブートローダについては、すでにpxgrubというブートローダがあるので他のものはインストールしないでください。 インストール作業が終ったらサーバをリブートしましょう。 DHCP、TFTPD、NFSといった、新しいクライアントをブートさせるために必要なサービスも起動してください。

コード表示 4.15: サービスの起動

# /etc/init.d/dhcp start
# /etc/init.d/in.tftpd start
# /etc/init.d/nfs start

新しいクライアントの起動

新しいクライアントを正しく起動させるには、 起動時に(CD-ROMやフロッピーより先に)まずPXEが使われるようにBIOSやネットワークカードを設定する必要があります。 この方法については、お使いのハードウェアのマニュアルやメーカのウェブサイトを調べてください。 ネットワークカードはDHCPを使ってIPアドレスを取得し、TFTPを使ってGRUB PXEのイメージをダウンロードします。 これで、よい感じのGRUBの白黒のブートメニューが表示されるので、起動するカーネルを選択してEnterキーを押します。 すべてがうまくいっていれば、カーネルが起動してNFSを使ってルートファイルシステムをマウントし、 ログインプロンプトが表示されるはずです。楽しんでくださいね。

5.  既存のLinuxディストリビューションからGentooをインストールする

必要なもの

既存のLinuxディストリビューション上からGentooをインストールするには、 既存のシステムにchrootコマンドがインストールされていて、 インストールしようと思っているGentooのインストール用tarballかISOイメージが用意されている必要があります。 tarball(ところで、tarballとはtar.gzかtbzに圧縮されているもののことです)に収録されていない機能を使いたければ、 ネットワークに接続できるとなお良いでしょう。 本稿の著者は「ホスト側の」OSとしてRedHat Linux7.3を使いましたが、これについては大して重要ではありません。 さあ、始めましょう!

概要

まず、既存のLinuxパーティションの容量を変更してGentoo用のパーティションを確保してマウントし、 マウントしたパーティションにtarballを展開し、その仮想的なシステムにchrootしてビルド作業を始めます。 bootstrapの作業が終わり、システムを起動可能にするための最終的な設定を行えば、再起動してGentooを使うまでの準備ができたことになります。

Gentoo用のスペースを作る方法

ルートパーティションは/以下にマウントされるファイルシステムです。 とりあえず私のシステムでmountを使ってみた結果を御覧頂ければ、何のことかすぐに分かって頂けると思います。 ディスク領域をどれだけ使っていてどれだけリサイズすれば良いかは、df(disk free)コマンドを使えば分かります。 ルートパーティションを無理矢理リサイズしないように注意してください! リサイズ用のツールがサポートしていれば他のどんなものでもリサイズ可能ですが、それについては後程触れることにします。

コード表示 5.1: ファイルシステムの情報

# mount
/dev/hdb2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec)
# df -h 
Filesystem           Size Used Avail Use% Mounted on 
/dev/hdb2            4.0G 1.9G  2.4G  82% /
none                  38M    0   38M   0% /dev/shm 

御覧の通り、/にマウントされているパーティションは2.4GBの空き領域のある/dev/hdb2に割り当てられています。 私の場合は、これを400MBの空き領域を残してリサイズしようと思います。 つまり、Gentoo 用に2GBを確保する訳です。まあ、このくらい用意すれば良いんじゃないかなと思います。 いろいろインストールできることでしょう。とはいえ、ほとんどのユーザにとっては1GBでも十分かもしれません。 さあ、パーティションの確保を始めましょう!

パーティションのリサイズのためにpartedを構築する

partedは、日常様々な場面で使っているツールを開発している、 GNUという歴史のある偉大で大規模なプロジェクトが提供しているユーティリティです。 ここで挙げるのはたった一つのツールですが、こういう場面ではとても役に立ちます。 これはpartedと呼ばれるパーティションエディタで、http://www.gnu.org/software/parted/ から入手できます。

注意: 同じようにパーティションをリサイズできるツールは他にもありますが、 著者はPartitionMagic(tm)や同じような機能のある他のソフトウェアについてはよく知らないしあまり興味もないので、 そういったものに関することは読者の皆さんにお任せします。

先程のページから、リサイズするファイルシステムの種類と、partedがそれに対応しているかを探してください。 もしも、残念なことに対応していなければ、Gentooで使うためにどこかのパーティションを潰して再インストールしなくてはいけません。 ソフトウェアをダウンロードし、インストールしてください。 ここでひとつ問題があります。私達はLinuxのルートパーティションをリサイズするつもりですが、 そのためには/をリサイズするための最小限のLinuxシステムと、 事前にコンパイルされたpartedを格納したフロッピーディスクが必要になります。 しかし、Linuxを走らせたままで対象のパーティションをアンマウントできるなら、以下の作業は必要ないのでラッキーです。 ではpartedをコンパイルして、アンマウントしたリサイズ用パーティションに対して実行します。私のシステムでは以下のようにしました。

重要: そのパーティションに対して行おうとしている操作をpartedがサポートしてい るかどうか確認してください!

mininuxのブート/ルート用のディスク(2.4カーネルで動く、フロッピー向けLinuxディストリビューションで無料です)を http://mininux.free.fr/uk/から入手し、ソフトウェアパッケージに付属している解説書の内容に従ってフロッピーを作成し、 次の手順のために新しいフロッピーをドライブに挿れてください。

注意: Linuxは「やり方は一つではない」という言葉と同義であると言えます。 目的は、partedを使って、アンマウントされたパーティションを使えるようにすることです。 mininux以外のboot/rootディスクも使えます。この手順は必ずしも必要ではなく、 要は現在のLinuxシステムからパーティションを再割り当てするファイルシステムをアンマウントしてpartedを実行できれば良いのです。

コード表示 5.2: ユーティリティ ディスクの作成

# mkfs.minix /dev/fd0
480 inodes
1440 blocks
Firstdatazone=19 (19)
Zonesize=1024
Maxsize=268966912

ではpartedをビルドすることにしましょう。 まだダウンロードや展開ができていなければ、まずそれを終わらせて、対応するディレクトリへcdするところまで進めてください。 そして、次のコマンドでユーティリティを構築してフロッピーディスクへコピーします。

コード表示 5.3: ユーティリティ・フロッピーディスクの構築

#  mkdir /floppy; mount -t minix /dev/fd0 /floppy && 
export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure 
&& make && cp parted/parted /floppy && umount /floppy 

おめでとうございます。これで再起動してパーティションをリサイズする準備ができました。 この作業は最低でもGNUのウェブサイトにあるpartedのドキュメントをざっと読んでから始めてください。 大容量のハードディスクではリサイズに30分程度かかることがありますが、我慢して待ちましょう。 mininuxのブートディスクをフロッピードライブに入れて再起動し、ログインします。 ログインできたらpartedを/floppyから呼び出せるように、 先程作ったユーティリティ・ディスクに入れ換えてmount /dev/fd0 /floppyとタイプしてください。 さあ、始めましょう。partedを起動し、パーティションをリサイズします。 この長ったらしい作業が終れば、Gentooをインストールして色々と遊べると思います。 そして、再起動して元のLinuxシステムに戻りましょう。操作するドライブは、リサイズするパーティションを含んでいるドライブです。 例えば、/dev/hda3をリサイズするならドライブは/dev/hdaになります。

コード表示 5.4: mininuxにログインしたときに使うコマンド

# mount /dev/fd0 /floppy 
# cd /floppy; ./parted [操作するドライブ]
(parted)  print 
Disk geometry for /dev/hdb: 0.000-9787.148 megabytes
Disk label type: msdos
Minor    Start       End     Type      Filesystem  Flags
1          0.031   2953.125  primary   ntfs        
3       2953.125   3133.265  primary   linux-swap  
2       3133.266   5633.085  primary   ext3        
4       5633.086   9787.148  extended              
5       5633.117   6633.210  logical               
6       6633.242   9787.148  logical   ext3        
(parted)  help resize 
  resize MINOR START END        resize filesystem on partition MINOR

        MINOR is the partition number used by Linux.  On msdos disk labels, the
        primary partitions number from 1-4, and logical partitions are 5
        onwards.
        START and END are in megabytes
(parted)  resize 2 3133.266 4000.000 

重要: 我慢してお待ちください!コンピュータは働いています!マシンのケースについているLEDを見れば本当に働いているのが分かるはずです。 この作業には2分から30分程度はかかると思います。

リサイズが終わったら、先程説明したようにリブートして元のLinuxシステムに戻ってください。 そして The GentooHandbook: Preparing the Disks (訳注: 日本語版はGentooLinux Documentation -- ディスクの準備)を開き、 その内容に従って作業を進めてください。 chrootする際には、環境を更新するために、以下のコマンドを実行してください。

コード表示 5.5: chroot時の環境更新

# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update
# source /etc/profile

楽しんでくださいね!



印刷

ページの更新日 2008年 9月 10日

この翻訳はすでにメンテナンスされていません。

要約: この手引きは、CD-ROMドライブがない、あるいはCDから起動できないコンピュータなど、 特殊なインストール方法が必要なときの為に、Gentooの異なるインストール方法を集めることを目的としたものです。

Gerald Normandin Jr.
Contributor

Travis Tilley
Contributor

Oleg Raisky
Contributor

Alex Garbutt
Contributor

Alexandre Georges
Contributor

Magnus Backanda
Contributor

Faust A. Tanasescu
Contributor

Daniel Ahlberg
Contributor

Sven Vermeulen
Editor

Ken Nowack
Reviewer

Tiemo Kieft
Editor

Benny Chuang
Editor

Jonathan Smith
Editor

Joshua Saddler
Editor

石井博文
翻訳

Taku Murakami
翻訳

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.