今回はWindows 11のHyper-Vの仮想環境にGentoo Linuxのインストール方法を記載したい。
仮想環境を作成する
まずは、仮想マシンの新規作成ウィザードを使って、仮想環境を作成する。このときはウィザードの内容に従って作成してよい。今回は第2世代を前提とする。CD/DVDイメージにはGentooのダウンロードページからMinimal Installation CDのイメージをダウンロードした上でインストールCDを設定しておくと後々楽になる。
ウィザードの内容に従って作成が完了したら、すぐには起動せず、上記で作成した仮想環境の設定を開き、「セキュリティ」内のセキュアブートを無効化する必要がある。1
- Gentoo Linuxはセキュアブートをサポートしていないため、セキュアブートを有効にした状態では起動しない。 ↩︎
上記の設定が完了したら、仮想環境を起動する。
Gentooのインストール作業を行う
Gentoo Linuxのインストールは特にインストーラーはなく、コマンドラインを使ってインストールを行う必要がある。基本的にはGentooハンドブックの内容を読んだ上で対応すればよいが、内容が難解であるため、ここではHyper-V上で使う前提でかなり簡略化させて記載する。
今回は以下の条件でインストールすることを前提に記載する。
CPUアーキテクチャ | x64 |
メモリ | 8GB |
パーティション構成 | /efi, swap, root (LVMあり) |
メインのファイルシステム | xfs |
ネットワークに繋がっているか確認する
まず、以下のコマンドを使ってネットワークに繋がっているかを確認する。
ping 1.1.1.1
これで、 64 bytes from 1.1.1.1: icmp_seq=1 ttl=54 time=12.3 ms
といった出力がされていればネットワークに繋がっているのでインストール作業に進めることができる。もし繋がっていない場合はネットワークアダプタの設定が正しく行われていないため。一度終了した上で仮想環境の設定を確認・修正する必要がある。
上記のいずれの場合も Ctrl + C キーで終了させる。
ディスクのパーティションをセットアップする
cfdiskを使う
cfdisk
コマンドを使って、ディスクのパーティション設定を行う。最初にラベルタイプ選択を求められるので、「gpt」を選択する。
その後、以下のようにパーティションを設定する。
デバイス名 | サイズ | パーティションタイプ |
---|---|---|
/dev/sda1 | 1GiB | EFI System |
/dev/sda2 | (残りサイズ) | Linux LVM |
上記の構成になったら、「Write」を選択して、パーティション情報を書き込む。
上記が完了したら、LVMの設定を行う。
LVMを設定する
以下のコマンドを使って、LVMのパーティション設定を行う。
pvcreate /dev/sda2 vgcreate gentoo /dev/sda2
上記によって、gentooボリュームグループとしてパーティションを設定する準備が完了した。
その後、以下のコマンドを使って、スワップパーティションを作成する。
lvcreate -n swap -L 8G gentoo
これでスワップパーティションが作成された。
ここで一旦、以下のコマンドを実行して、空きサイズを確認する。
vgdisplay gentoo
このコマンドで、現在のgentooボリュームグループの状況が分かるので、そのなかで「Free PE / Size」を確認して、左側のPEを確認する。例えば Free PE / Size 30207 / <118.00 GiB
になっているなら、以下のコマンドを入力する。
lvcreate -n root -l 30207 gentoo
これでLVMの設定は完了である。
ファイルシステムを作成する
それぞれのパーティションを作成する。以下のコマンドを入力することでパーティションを作成することができる。
スワップパーティション作成
mkswap /dev/gentoo/swap swapon /dev/gentoo/swap
ブート・ルートパーティションの作成
mkfs.vfat -F 32 /dev/sda1 mkfs.xfs /dev/gentoo/root
パーティションのマウント
以下のコマンドを使い、ルートパーティションをマウントする。
mount /dev/gentoo/root /mnt/gentoo
その後、efiディレクトリをした上で、ブート用のパーティションとしてマウントしておく。
mkdir --parrent /mnt/gentoo/efi mount /dev/sda1 /mnt/gentoo/efi
stageをインストールする
以下のコマンドでカレントディレクトリを/mnt/gentooにした上で、Stage 3のファイルをダウンロードする。
cd /mnt/gentoo links www.gentoo.org/downloads
linksコマンドはテキストベースのブラウザを起動、ここではGentooのダウンロードページに飛ぶので、適切なStageをダウンロードする。今回はx64前提のため、「amd64 aka x86-64, x64, Intel 64」の「Stage archives」からひとつ選択するとよい。個人的に最も推奨するのは「Stage 3 systemd」である。
選択した場合に、ファイルを保存するかどうか尋ねられるので、保存を選択。自動的にダウンロードが行われるので、完了まで待ち、完了したらQキーで終了する。
その後、以下のコマンドでStage 3を解凍する。
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
その後、/mnt/gentoo/etc/portage/make.conf
を編集し、COMMON_FLAGSの変数とMAKEOPTSを設定する(設定しなくてもよいが、パフォーマンスが多少落ちることがある)。以下は設定例である。
ここではあわせてあらかじめ同意するライセンスも設定している。
# コンパイラフラグの設定例 COMMON_FLAGS="-march=native -O2 -pipe" # MAKEOPTSの設定例 MAKEOPTS="-j4 -l5" # ACCEPT_LICENSEの設定例 ACCEPT_LICENSE="-* @FREE @BINARY-REDISTRIBUTABLE"
chrootする
その後、以下のコマンドでchrootを実施する。
DNS情報コピー
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
ファイルシステムをマウントする
mount --types proc /proc /mnt/gentoo/proc mount --rbind /sys /mnt/gentoo/sys mount --make-rslave /mnt/gentoo/sys mount --rbind /dev /mnt/gentoo/dev mount --make-rslave /mnt/gentoo/dev mount --bind /run /mnt/gentoo/run mount --make-slave /mnt/gentoo/run
chroot
chroot /mnt/gentoo /bin/bash source /etc/profile export PS1="(chroot) ${PS1}"
Portageを設定する
以下のコマンドを入力してPortageリポジトリのスナップショットを取得する。
emerge-webrsync
また、以下のコマンドでPortageリポジトリを最新の状態にできる。
energe --sync
プロファイルを確認する
eselect profile show
でプロファイルを確認できる。2025/02/02時点でsystemdのStage 3をダウンロードした場合は、de