ブート失敗?!

もしも、うまく起動しなかったら、どうしましょ?
私の場合は、起動はうまくいったのですが、先にも述べたとおり、rootパスワードの設定を忘れて、ログインできないことになってしまいました  。

えっ?!インストールのやり直し?

いえ、インストールCDを使って、復旧できます  。
インストールCDから、ブートして、ログインプロンプトが出るまで待ちます。

次に、ディスクをマウントして、chrootでGentoo環境に入ります。私の場合は、

# mount /dev/hda4 /mnt/gentoo
# cd /mnt/gentoo
# mkdir var boot
# mount /dev/hda1 boot
# mount /dev/hda3 var

procファイルシステムもマウントして、

# mount -t proc none /mnt/gentoo/proc

chrootして、Gentoo環境に入ります。

# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile

ここで、必要な作業を実行します。

後は、chrootから抜けて、再度リブートします。

# exit
# umount /mnt/gentoo/boot /mnt/gentoo/var /mnt/gentoo/proc /mnt/gentoo
# reboot

この方法は、カーネルの作成失敗、GRUBの設定ミスなどにも、応用がききますね。

カテゴリー: Gentooいじり | タグ: , | コメントをどうぞ

GRUBのインストールと設定

ブートローダは、GRUBを使う。長い間、LILOに慣れてきたのですが、最近は、GRUBが趨勢のようです。

例によって、エマージして、インストール。

# emerge grub

/boot/grub/grub.confを編集して、

timeout 5
default 0

title  Gentoo Linux 2.6.14-r5
root   (hd0,0)
kernel /kernel-2.6.14-gentoo-r5 root=/dev/hda4

としました。

grubを起動して、MBRに書き込みます。

# grub --no-floppy

grub> root (hd0,0)
grub> setup (hd0)
grub> quit

これで、ようやく再起動できる状態になりました。

chrootから抜けて、ディスクをアンマウトしてリブートです。

# exit
# cd
# umount /mnt/gentoo/boot /mnt/gentoo/var /mnt/gentoo/proc /mnt/gentoo
# reboot

ほい!っと。

カテゴリー: Gentooいじり | コメントをどうぞ

システムツールの導入

ブート前に、必要なシステムツールをインストールしておきます。

まずは、ログツール。sysklogd、sysklogd-ng、metalogの中から、metalogを使うことにします。

# emerge metalog

cronは、dcron、fclon、vixie-cronから、vixie-cronを選びました。

# emerge vixie-cron

slocateも、ここでインストールします。

# emerge slocate

次は、ブートローダをインストールします。

カテゴリー: Gentooいじり | コメントをどうぞ

システムの設定

必要なシステム設定をします。

まずは、/etc/fstabを編集。

/dev/hda1 /boot ext2 noauto,noatime 1 2
/dev/hda4 /   ext3 noatime        0 1
/dev/hda3 /var  ext3 noatime        0 1
/dev/hda2 none swap sw             0 0

次は、ネットワークまわりを設定していきます。

/etc/conf.d/hostnameを編集。

HOSTNAME="xxxx"

/etc/conf.d/domainnameの編集。

DNSDOMAIN="example.com"

domainnameを自動実行スクリプトとして登録します。

# rc-update add domainname default

/etc/conf.d/netを編集して、ネットワークの設定します。

config_eth0=( "192.168.11.101 netmask 255.255.255.0" )
routes_eth0=( "default gw 192.168.11.1" )

ブート時にネットワークを有効にさせます。

rc-update add net.eth0 default

/etc/hostsは、とりあえずこのPCだけ、記述しておきます。

127.0.0.1      localhost
192.168.11.101 xxxx.example.com xxxx

ここらで、忘れずにrootパスワードを変更してきます(実は、これを忘れて、ログインできなかったのだ )

# passwd
New UNIX password:
Retype new UNIX password:
passwd: password updated successfully

デフォルトでは、使いにくいので、KEYMAPを設定しておく。/etc/conf.d/keymapsを編集して、

...
KEYMAP="jp106"
...

としておきます。
最後に、UTCは使用していないので、clockをlocalに設定します。

...
CLOCK="local"
...
カテゴリー: Gentooいじり | コメントをどうぞ

カーネルの構築

やっと、カーネルの構築です。
その前に(準備が長いな・・・)タイムゾーンの設定か。

# ln -sf /usr/share/zoneinfo/Japan /etc/localtime

カーネルソースのバージョンの確認。

# ls -l /usr/src/linux

linux-2.6.14-gentoo-r5となっています。

# make menuconfig

で、カーネルのオプションを指定していくわけですが、よくわからないものは、デフォルトのままにして、以下のものだけを変更しました。

  • Processor family –> Pentium IIIに
  • Device Driver
    –>Network device
    –> Ethernet (10 or 100Mbit)
    –> Inter(R) PRO/100M+ support

カーネルコンパイルだ、ふぅ

# make && modules_install

/etc/modules.autoload.d/kernel-2.6を編集して、NICインターフェースのe100を追加しておきます。

カテゴリー: Gentooいじり | コメントをどうぞ

chrootして、構築する環境に入る

さて、いよいよchrootするわけですが、その前にDNS情報のコピーと、procファイルシステムをマウントしておきます。

cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
mount -t proc none /mnt/gentoo/proc

chrootの準備は整った(ハズ)。

# chroot /mnt/gentoo /bin/bash

環境を引き継ぐ。

# env-update
# source /etc/profile

次は、Portageの更新とやら・・・

# emerge --sync

必要なロケールだけ使用するように設定します。

echo "sys-libs/glibc userlocales" >> /etc/portage/package.use

/etc/locales.buildを編集して、以下のように設定します。

en_US/ISO-8859-1
en_US.UTF-8/UTF-8
de_DE/ISO-8859-1
de_DE@euro/ISO-8859-15
ja_JP.EUC-JP/EUC-JP
ja_JP.UTF-8/UTF-8
ja_JP/EUC-JP
カテゴリー: Gentooいじり | コメントをどうぞ

Portageのインストール

今度は、Portageというのをインストールします。
これは、最新の状態の情報を持ったsnapshotというものらしい。最新状態のキャッシュのようなものか・・・。

stageのダウンロードの時と同様に。links2で、ミラーサイトにはいり、/snapshot/portage-20060117.tar.bz2をダウンロードします。

で、usrの下に展開。

# tar xvjf portage-20060117.tar.bz2 -C /mnt/gentoo/usr

次に、/mnt/gentoo/etc/make.confを編集しろとありますが、stage3を選んだので、コンパイルオプションは、そのまま、USEフラグもどこかにあるらしいデフォルトを使用することにします。

mirrorselectして、ダウンロードしてくるミラーを設定しておきます。

# mirrorselect -i -o >> /mnt/gentoo/etc/make.conf

make.confに次のパラメータが追加されました。

...
GENTOO_MIRRORS="ftp://ftp.ecc.u-tokyo.ac.jp/GENTOO"

次は、いよいよchrootして、カーネルの構築か・・・。

カテゴリー: Gentooいじり | コメントをどうぞ

ステージのダウンロードと展開

ハンドブックによると、何やら、stageというのを、1~3の中から、選ぶ必要があるらしい。
stage1というのは、必要最低限で何もない状態、stage3は、ある程度のシステムがコンパイル済みということらしい。Gentooやるなら、stage1を選ぶのがいいのだろうけど、なんせボロマシンなので、コンパイルに時間がかかりそう。

手を抜いて、stage3を使うことに。

links2というキャラクタベースのブラウザを使ってダウンロードします。

# cd /mnt/gentoo
# links2 http://mirror.gentoo.gr.jp/

から、/release/x86/2005.1-r1/stages/pentium3/から、stage3-pentium3-2005.1-r1.tar.bz2をダウンロードする。ダウンロードするファイルに、カーソルを合わせ[Enter]でダウンロードできます。links2を終了するには[Q]を押します。

chrootするルートに展開します。

# tar xvjpf stage3-pentium3-2005.1-r1.tar.bz2
カテゴリー: Gentooいじり | タグ: , , , | コメントをどうぞ

パーティションの作成

さて、パーティションを切ってディスクをフォーマットしなければならない。
その前に、キーボードが、合わないので、日本語キーボードのマップをロードしておく。実は、ブート画面で、聞いてきたのだが、ぼーっとしてたら、次に行ってしまった。

# loadkeys jp106

これでよし。

パーティションの分割は、いつも悩むのだが、今回は、次のように分割することにします。

/dev/hda1  /boot  64M
/dev/hda2  swap   512M
/dev/hda3  /var   3G
/dev/hda4  /      残りすべて

それぞれのパーティションをフォーマットします。

# mke2fs -j /dev/hda1
# mke2fs -j /dev/hda3
# mke2fs -j /dev/hda4

スワップパーティションも、

# mkswap /dev/hda2

ついでにスワップON

# swapon /dev/hda2

最後に、作成したパーティションをマウントしておきます。

# mount /dev/hda4 /mnt/gentoo
# cd /mnt/gentoo
# mount /dev/hda1 boot
# mount /dev/hda3 var
カテゴリー: Gentooいじり | タグ: , , , , , , , , | コメントをどうぞ

ブートしてみる

作成したインストールCDをセットして、ボロPCの電源ON!
CDからブートする旨のメッセージが出て、

boot:

ときた。
カーネルに渡すパラメータも特にないので、そのまま[Enter]

グラフィカルなきれいな画面です。
ALT+F1を押すと、ブートログを見ることができます。

Processor 0 is Pentium III (Coppermine) 801MHz, 256 KB Cache ...
...
Not Loading APM Bios suport.
...
...
Network device eth0 deteted, DHCP broadcasting IP.
...
...
...

ネットワークもDHCPで繋がったようです。

作業は、始まったばかり、これからが、長い道のりだ。

カテゴリー: Gentooいじり | タグ: , , , | コメントをどうぞ