4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GentooをLVM,systemdでインストールしてみた

Last updated at Posted at 2021-04-07

GentooをLVM,systemdでインストールしてみたので手順をご紹介いたします。

※とりあえずこうやったら動いた、というレベルなので流れが変だったり不要な設定、不十分な設定があるかもしれませんがご了承ください。

環境
仮想環境(VirtualBox)で構築。

仮想化ソフト:VirtualBox 6.1
ホスト:Windows10
ゲスト:Gentoo
ゲストHDD:150GB

GentooWebサイト

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を外して起動します。

おわり

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?