気の向くままに辿るIT/ICT/IoT
システム開発

VirtualBoxにGentooをインストール

ホーム前へ次へ
ゲストOSとしてLinuxをインストール【VirtualBox】

仮想マシンで動くOS

VirtualBoxにGentooをインストール

 仮想化ソフトウェアの1つVirtualBoxで作成した仮想マシンゲストOSには、様々なOSをインストールできますが、このページでは、Linuxディストリビューション(ディストロ)の中から任意に抽出し、当サイトにおいてVirtualBox上で検証したLinuxの内、Gentooのインストール及び起動について記します。

[仮想化ソフトウェア]

VirtualBox 4.2.12 r84980

[ホストOS]

Windows Vista Home Premium
SP2/Service Pack 2
x86/32ビット

[ホスト環境]

CPU:Intel Core2 4300@1.80GHz
CPU Architecture : x86/32bit
仮想化支援機能(Intel VT)なし
RAM:1GB

Screenshot/スクリーンショット

スクリーンショット一覧
Gentoo
Gentoo / LiveCD

Gentoo

 今回は、Gentoo 20121213(install-x86-minimal-20121213.iso)を使用させて頂きました。

 Gentooは、オリジナルLinuxディストリビューションです。

Gentooで必要なメモリ量

 VirtualBoxでは、Gentoo LiveCDは、メモリ96MB以上でスムースに起動しましたが、最新版LiveCDは、256MB以上必要です。

 尚、各種アプリケーションが必要とするメモリ量は考慮していません。

 また、特に指定がない限り、ここで示すRAM値は、各仮想化ソフトウェアでの仮想マシン作成時に指定した値であり、少なくとも一定以上のRAM値を指定した場合においては、そこから仮想化ソフトウェアが消費するメモリを差し引いた値が、ゲストOSで利用可能なRAM総容量として割り当てられているようです。

Gentooのデフォルトlogin shell

 Gentoo LiveCDのデフォルトのログインシェルは、zshです。

 ハードディスクにインストールする際にchrootの引数としてshell(/etc/shellsを見る限り、bash/csh/esh/fish/ksh/sash/sh/tcsh/zsh)を設定することもできますし、もちろん、インストール後、useraddコマンドやusermodコマンドを使ってユーザーアカウントごとに使用するshellを設定・変更することもできます。

GentooのLiveCD

 LiveCDを起動し、[boot:]でそのまま、または、必要に応じてブートオプションを入力して[Enter]を押すと起動メッセージが流れ、途中、キーボード設定をする為に一度止まるので日本語キーボードなら[22]を選択して[Enter]を押すことで再び、起動メッセージが流れ、rootで自動ログインします。

 もし、そこで選択できず、自動ログインまでいってしまったとしても[loadkeys jp106]とすれば、日本語キーボードに変更することができます。

Gentooのインストール

 結果からすると当サイトの検証上、今のところVirtualBoxでもVMware Playerでもインストールはできていません。

 まず、RAM96MB、HDD3GBからスタート、ドキュメント通りに進め、[# emerge gentoo-sources]のところでRAMが96MBでは不足となり、128MBで試してみると今度は、[unpack error]で[/usr/src/linux]ファイルができない為、192MBとするとその部分はクリアできたものの、ちょっと進んだところでエラー、256MBにして再チャレンジすると今度は、ディスクスペース不足によるエラーのため、[VBoxManage modifyhd]の[--resize]オプションでハードディスクを3GBから5GBに拡張して仕切り直し。

 [http://www.gentoo.org/main/en/mirrors.xml]からPortageのスナップショットをダウンロードが完了、[# emerge gentoo-sources]で再度ディスク不足エラー。

 ボリューム拡張する必要があるのでGPartedインストール済みのKNOPPIXのISOディスクイメージをセットして拡張後、Gentoo LiveCDから起動。

 ここでファイルシステムのフォーマットをし直し、一からやってみるも[# emerge-webrsync]、もしくは、[http://www.gentoo.org/main/en/mirrors.xml]からPortageのスナップショットをダウンロードする際にディスク不足を示すエラー、よって今度は8GBに拡張、再度ディスク不足エラーで次に10GBでやってみたものの同じ。

 ただ、今回使っているMinimal CDについてGentooのドキュメント(最新と思われるx86用システム要件が掲載された英語版)を確認するとシステム要件上、RAMは256MB以上、スワップ領域は、最小256 MB(検証では512MBとっている)、ハードディスクは、最小2.5GBとそこまでは求められていない模様。

 [VBoxManage clonehd]の[--format]を使ってVMDKに変換し、VMware Playerでやってみたものの、検証として1からやってみることにし、VMware Playerでメモリ96MB、HDD3GBからスタート、最終的にメモリ256MB、VMware Playerの[拡張]機能を使って10GBに拡張したところでなぜかLiveCD(ISOイメージ)からも起動不能になり、頓挫。

 もしかしたらMinimal CD用ではなく、Gentooドキュメントで言うところのLiveCD並みシステム要件のRAM容量(512MB)に限りなく近づければいけるのかもしれません。

 仮にそうだとすると当サイト検証環境においては、ギリギリのラインなので後々やってみるにしても完了できないかもしれません。

 あ。。。もしや。。。isoイメージは結構前に取得したもの・・・それを今になってcurrentでやったところで。。。きっと原因はこれか。。。なんでもっと早く気付かなかった?。。。それは。。。

 と思い、最新のISOダウンロードしてゲストとして選択肢があるのでGentoo対応済みの模様のVirtualBoxでRAM512MBまで試してみたものの、次のような状態でLiveCD自体なかなか起動せず。。。

 起動メッセージが流れる中、キーボード設定した後、1分強待って以下の表示。

OpenRC 0.12.4 is starting up Gentoo Linux (i686)

 ここで止まり、3分ほど待つと。。。INFO行が2行表示され。。。

INFO: rcu_sched detected stalls on CPUs/tasks: {} (detected by 0, t=6002 jiffies, g=10952, c=10951, q=5)
INFO: Stall ended before state dump start

 あとは、これがリピートするだけ。。。INFOだけど実質エラー。

 最新版は、仮想マシンのCPUがシングルじゃダメなのか?その他、何か設定する必要があるのか?

 ただ、このまま放置するのもなんかあれなので、ちょっと調べてみるとIPv6関連のカーネルのバグなのかhttps://bugzilla.kernel.org/show_bug.cgi?id=42780というページが。

 とりあえず、VirtualBox 4.2.12では、ネットワーク設定でIPv6を使わないように設定すれば、この点については、回避できるのかもしれません。

 このよう、いろいろと遠回りしてしまったこともあり、Gentooとは縁がなかったのかもと思いたくなるほど疲れたので断念しようとも思ったものの、気力を振り絞ってVMware Playerでやってみることに。

 そしたらなんと最新版のGentooに限ってVMware Player 3.1.6では、RAM256MBで、すんなり、あっさり起動し、拍子抜け。。。と思ったら結局できなかったんですけどね。

 というわけでVMware Player 3.1.6で仮想マシンをRAM:256MB、HDD:5GBで作成、ブートパーティション128MB:/dev/sda1、スワップパーティション512MB:/dev/sda2、残りをインストールディスク(ファイルシステムext4):/dev/sda3としました。

 尚、make.confのパスの相違やprocのマウント方法、/sysのマウントをするしない等、Gentooの英文ドキュメント和文ドキュメントの「何れかの手順を適宜使用」しながら、以下まで到達。

# emerge genkernel
# genkernel all

 手動はやめてgenkernelでと思ったら、1時間半かかってエラーの模様、カーネル+モジュールはできたようですが、initramfsができず。。。

Gentooのパッケージマネージャ

 Gentooのパッケージマネージャというか、パッケージ管理には、emerge が使われています。

リンク

ホーム前へ次へ