方法は公式ドキュメントに準拠。
WSL2 への Gentoo イメージのインポートと初期設定
Power Shell で stage3 のイメージをダウンロードしてWSLにインポート
PS > wsl --import Gentoo D:\WSL\Gentoo D:\WSL\stage3-amd64-desktop-systemd-20250119T170328Z.tar.xz --version 2
WSL上でGentooを起動
PS > wsl -d Gentoo
一般ユーザーを追加して、パスワードを設定
# useradd -m -G wheel <username> # passwd <username>
ルートのパスワードを設定
# passwd
/etc/wsl.conf を作成し、以下の内容を追加(nano /etc/wsl.conf)
[boot] systemd=true # systemdを有効にする [user] default=<username> # デフォルトのログインユーザーを設定 [network] generateResolvConf = false # /etc/resolv.conf をWSL2のDNS設定に上書きしない(古い対処法)
ついでに後々面倒なことになるDNSの設定を済ませる(ただし、これは古い対処法)
# rm /etc/resolv.conf # sh -c "echo 'nameserver 8.8.8.8' > /etc/resolv.conf" # 8.8.8.8 は Google 提供のネームサーバー
一旦、Power Shell に戻って WSL を再起動する(-u root を付けないとsudoが使えない状態で先ほど設定したデフォルトユーザーでログインする)
# exit PS > wsl --shutdown PS > wsl -u root -d Gentoo
パッケージ管理環境の構築
/etc/portage/make.conf に以下の設定を追加する(適当)
GENTOO_MIRRORS="http://ftp.iij.ad.jp/pub/linux/gentoo/ rsync://ftp.iij.ad.jp/pub/linux/gentoo/" # 一旦、国内のミラーを選択しておく USE="X icu minizip inspector ibus dbus"
使用するミラーを選択
# emerge-webrsync # emerge --ask --verbose --oneshot app-portage/mirrorselect # mirrorselect -i -o >> /etc/portage/make.conf
環境全体と普段使用するユーザーの設定
プロファイルを選択
# systemd-firstboot --prompt # いらないかも # systemctl preset-all --preset-mode=enable-only # いらないかも # emerge --sync # eselect profile list
タイムゾーンを選択
# ls -l /usr/share/zoneinfo # ls -l /usr/share/zoneinfo/Asia/ # echo "Asia/Tokyo" > /etc/timezone # emerge --config sys-libs/timezone-data # ln -sf ../usr/share/zoneinfo/Asia/Tokyo /etc/localtime
システム言語を設定
# nano /etc/locale.gen # locale-gen # eselect locale list # eselect locale set 5 # env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
一般ユーザーの設定
# emerge --ask app-admin/sudo # visudo # 以下の行をコメントアウト %wheel ALL=(ALL:ALL) ALL
エディタを vim に変える
# emerge app-editors/vim # eselect editor list # eselect editor set 2 # . /etc/profile
システムを更新
# emerge-webrsync # emerge --ask --verbose --update --deep --newuse @world # exit
デフォルトの WSL イメージを変更
PS > wsl -s Gentoo
WSLg の設定(公式ドキュメントに載っていない)
そのままでは動作しないので、wslg-linksを参考に設定。ここからは一般ユーザーで作業。
$ sudo ln -s /mnt/wslg/.X11-unix/X0 /tmp/.X11-unix/X0 $ sudo rm /run/user/$(id -u)/wayland-0 $ sudo ln -s /mnt/wslg/runtime-dir/wayland-0 /run/user/$(id -u)/wayland-0 $ exit
動作チェック
$ sudo emerge --ask x11-apps/xeyes $ xeyes # 動作すれば完了