GentooをLVM,systemdでインストールしてみたので手順をご紹介いたします。
※とりあえずこうやったら動いた、というレベルなので流れが変だったり不要な設定、不十分な設定があるかもしれませんがご了承ください。
環境
仮想環境(VirtualBox)で構築。
仮想化ソフト:VirtualBox 6.1
ホスト:Windows10
ゲスト:Gentoo
ゲストHDD:150GB
Downloadsのページで
amd64のLiveCD(「Minimal Installation CD」)をダウンロード
VirtualBoxで作成したゲストマシンの光学ドライブにセット
ゲストマシンを起動
rootパスワードを設定します。
コピペが使いやすいようにTeraTermを使っています。
接続の為にrootのパスワードを設定する必要があります。
passwd
sshを起動します。
rc-service sshd start
TeraTermで接続します。
UEFIで起動していることを確認する為に下記を実行
ls /sys/firmware/efi/efivars
UEFIであれば下記のような表示がでます。(記載内容な人それぞれ)
BackgroundClear-4d1ede05-38c7-4a6a-9cc6-4bcca8b38c14 FirmwareFeaturesMask-4d1ede05-38c7-4a6a-9cc6-4bcca8b38c14 LoaderInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c FirmwareFeatures-4d1ede05-38c7-4a6a-9cc6-4bcca8b38c14 LoaderTimeExecUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c Key0000-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderTimeInitUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Boot0002-8be4df61-93ca-11d2-aa0d-00e098032b8c Key0001-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderTimeMenuUSec-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f
Boot0003-8be4df61-93ca-11d2-aa0d-00e098032b8c LangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c MTC-eb704011-1402-11d3-8e77-00a0c969723b
BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c Lang-8be4df61-93ca-11d2-aa0d-00e098032b8c OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c
BootOptionSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderEntries-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f PlatformLangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderEntrySelected-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c
ConInDev-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderFeatures-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f PlatformRecovery0000-8be4df61-93ca-11d2-aa0d-00e098032b8c
ConIn-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderFirmwareInfo-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c
ConOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderFirmwareType-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f VarErrorFlag-04b37fe8-f6ae-480b-bdd5-37d98c5e89aa
ConOut-8be4df61-93ca-11d2-aa0d-00e098032b8c LoaderImageIdentifier-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f boot-args-7c436110-ab2a-4bbb-a880-fe41995c9f82
gdiskでパーティションを切ります
gdisk /dev/sda
コマンドを実行していきます。
GPTで作成
Command (? for help): o
Proceed? (Y/N): Y
EFI Bootパーティションを作ります。
512MB、ファイルタイプはEF00にします。
Command (? for help): n
Partition number (1-128, default 1):
First sector (34-314572766, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-314572766, default = 314572766) or {+-}size{KMGTP}: +512M
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): EF00
Changed type of partition to 'EFI system partition'
swap,rootパーティションの為のLVMパーティションを作ります。
149GB(残り全て)、ファイルタイプは8E00にします。
Command (? for help): n
Partition number (2-128, default 2):
First sector (34-314572766, default = 1050624) or {+-}size{KMGTP}:
Last sector (1050624-314572766, default = 314572766) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 8E00
Changed type of partition to 'Linux LVM'
pコマンドで確認すると下記のように表示されるはずです。
Command (? for help): p
Disk /dev/sda: 314572800 sectors, 150.0 GiB
Model: VBOX HARDDISK
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 25903BB2-EC41-4E05-A077-EEF80AE69026
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 314572766
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB EF00 EFI system partition
2 1050624 314572766 149.5 GiB 8E00 Linux LVM
保存して終了します。
Command (? for help): w
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.
フォーマットと一部マウントします。
mkfs.vfat -F32 /dev/sda1
pvcreate /dev/sda2
vgcreate vg01 /dev/sda2
lvcreate -L 4G -n swap vg01
lvcreate -l 100%FREE -n root vg01
mkswap /dev/mapper/vg01-swap
mkfs.xfs /dev/vg01/root
mount /dev/vg01/root /mnt/gentoo
swapon /dev/vg01/swap
日付を確認します。
date
フォルダを移動
cd /mnt/gentoo
Stageをダウンロードします。
Downloadsのページで「Stage3 systemd」上で右クリックし「リンクのアドレスをコピー」します。
wget の後に貼り付けます。
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20210405T120143Z/stage3-amd64-systemd-20210405T120143Z.tar.xz
tarコマンドで解凍します。上記リンクの最後のファイル部分を指定します。
tar -xvf stage3-amd64-systemd-20210405T120143Z.tar.xz
make.confファイルを編集します。
nano -w /mnt/gentoo/etc/portage/make.conf
下記を追記します。
ACCEPT_LICENSE="*"
※上記設定はセキュリティ上よくないので、インストール後は変更してください。
ミラーリストを設定します。
Japanのサイトをスペースキーで選択します。
エンターで保存・終了
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Gento ebuildリポジトリの設定
mkdir --parents /mnt/gentoo/etc/portage/repos.conf
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
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
chroot
chroot /mnt/gentoo /bin/bash
source /etc/profile
export PS1="(chroot) ${PS1}"
ブートパーティションのマウント
mkdir -p /boot
mkdir -p /boot/efi
mount /dev/sda1 /boot/efi
最新のスナップショットのインストール
emerge-webrsync
ニュースを読め、といわれるので読む
eselect news read
プロファイルの選択
選択中のプロファイルを表示する。
eselect profile list
Available profile symlink targets:
[1] default/linux/amd64/17.1 (stable)
[2] default/linux/amd64/17.1/selinux (stable)
[3] default/linux/amd64/17.1/hardened (stable)
[4] default/linux/amd64/17.1/hardened/selinux (stable)
[5] default/linux/amd64/17.1/desktop (stable)
[6] default/linux/amd64/17.1/desktop/gnome (stable)
[7] default/linux/amd64/17.1/desktop/gnome/systemd (stable)
[8] default/linux/amd64/17.1/desktop/plasma (stable)
[9] default/linux/amd64/17.1/desktop/plasma/systemd (stable)
[10] default/linux/amd64/17.1/desktop/systemd (stable)
[11] default/linux/amd64/17.1/developer (stable)
[12] default/linux/amd64/17.1/no-multilib (stable)
[13] default/linux/amd64/17.1/no-multilib/hardened (stable)
[14] default/linux/amd64/17.1/no-multilib/hardened/selinux (stable)
[15] default/linux/amd64/17.1/systemd (stable) *
[16] default/linux/amd64/17.0 (dev)
[17] default/linux/amd64/17.0/selinux (dev)
[18] default/linux/amd64/17.0/hardened (dev)
[19] default/linux/amd64/17.0/hardened/selinux (dev)
[20] default/linux/amd64/17.0/desktop (dev)
[21] default/linux/amd64/17.0/desktop/gnome (dev)
[22] default/linux/amd64/17.0/desktop/gnome/systemd (dev)
[23] default/linux/amd64/17.0/desktop/plasma (dev)
[24] default/linux/amd64/17.0/desktop/plasma/systemd (dev)
[25] default/linux/amd64/17.0/developer (dev)
[26] default/linux/amd64/17.0/no-multilib (dev)
[27] default/linux/amd64/17.0/no-multilib/hardened (dev)
[28] default/linux/amd64/17.0/no-multilib/hardened/selinux (dev)
[29] default/linux/amd64/17.0/systemd (dev)
[30] default/linux/amd64/17.0/x32 (dev)
[31] default/linux/amd64/17.0/musl (exp)
[32] default/linux/amd64/17.0/musl/hardened (exp)
[33] default/linux/amd64/17.0/musl/hardened/selinux (exp)
[34] default/linux/amd64/17.0/uclibc (exp)
[35] default/linux/amd64/17.0/uclibc/hardened (exp)
今回インストールするのは既に選択されている
「[15] default/linux/amd64/17.1/systemd (stable) *」
だが、他が設定されていたら下記のように設定しなおす。
eselect profile set 15
make.confを編集する
nano /etc/portage/make.conf
下記を追記する
USE="device-mapper"
@worldセットの更新
emerge --ask --verbose --update --deep --newuse @world
タイムゾーンの設定
echo "Japan" > /etc/timezone
emerge --config sys-libs/timezone-data
ロケールの設定
nano /etc/locale.gen
下記を追記
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
locale-gen
現在の設定を表示
eselect locale list
Available targets for the LANG variable:
[1] C
[2] C.utf8
[3] POSIX
[4] en_US.utf8
[5] ja_JP.utf8
[6] C.UTF8 *
[ ] (free form)
[4] en_US.utf8を設定
eselect locale set 4
環境をリロード
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
fstabの設定。
「/dev/mapper/vg01-root」と
「/dev/mapper/vg01-swap」の
UUIDを確認する
blkid -o list
device fs_type label mount point UUID
------------------------------------------------------------------------------------------------------------------------------------------
/dev/mapper/vg01-root xfs / 2ea41bb6-b045-4186-8871-7d4833dc3dd8
/dev/mapper/vg01-swap swap [SWAP] a6482247-e7dd-48c8-8d9d-c57e4fb2a366
/dev/loop0 squashfs (in use)
/dev/sda1 vfat /boot/efi C287-6E25
/dev/sda2 LVM2_member (in use) Z9JaMe-88S7-trq7-7ZbI-Rn3W-ppWa-stM2rK
/dev/sr0 iso9660 Gentoo amd64 20210321T214504Z (in use) 2021-03-21-23-13-37-62
上記の場合、
「/dev/mapper/vg01-root」のUUIDは「2ea41bb6-b045-4186-8871-7d4833dc3dd8」
「/dev/mapper/vg01-swap」のUUIDは「a6482247-e7dd-48c8-8d9d-c57e4fb2a366」
fstabファイルに下記のように追記する
nano /etc/fstab
/dev/sda1 /boot/efi vfat noauto,noatime 0 2
UUID=2ea41bb6-b045-4186-8871-7d4833dc3dd8 / ext4 noatime 0 1
UUID=a6482247-e7dd-48c8-8d9d-c57e4fb2a366 none swap sw 0 0
/dev/cdrom /mnt/cdrom auto noauto,ro 0 0
firmware、pciutilsのインストール
emerge -a linux-firmware
emerge -a pciutils
ソースのインストール
emerge gentoo-sources
emerge sys-kernel/genkernel
genkernel.confファイルの編集
nano -w /etc/genkernel.conf
下記項目を変更する。
頭に#が付いていれば外す。
MENUCONFIG="yes"
LVM="yes"
インストール
genkernel --install all
menu configが立ち上がりますので設定の確認ができます。
特に何も変更しなくてもいけるはずなので、ESCキーを2回押して、インストールを進めます。
シンボリックリンクの作成
ln -sf /proc/self/mounts /etc/mtab
lvmをインストールします。
genkernel --lvm initramfs
make.confファイルを編集します。
nano /etc/portage/make.conf
下記を追記します。
GRUB_PLATFORMS="efi-64"
dhcpcd, sysklogd, cronie, mlocateをインストールします。
emerge -a dhcpcd
emerge -a sysklogd
emerge -a cronie
emerge -a mlocate
作成中のマシンのrootパスワードを設定します。
passwd
GRUBをインストールします。
emerge -a grub:2
/etc/default/grubファイルを編集します。
nano /etc/default/grub
下記を追記します。
GRUB_CMDLINE_LINUX="init=/usr/lib/systemd/systemd dolvm rd.lvm.vg=vg01 rd.lvm.lv=vg01/root rd.lvm.lv=vg01/swap"
GRUBをインストールします。
grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable
grub-mkconfig -o /boot/grub/grub.cfg
終了
exit
cd
umount -l /mnt/gentoo/dev{/shm,/pts,}
umount -R /mnt/gentoo
shutdown -h now
作成したマシンがシャットダウンしたら、光学ドライブからCDを外して起動します。
おわり