📝

自分用 Arch Linux インストールメモ

2022/05/01に公開

自分用のインストールメモ

  • Intel CPU
  • UEFI + GPT
  • SATA 接続 SSD
  • Btrfs
  • ZEN カーネル
  • systemd-boot

UEFI の設定 〜 インストールメディアの起動

  1. PC 起動時 F2 で UEFI 画面
  2. UEFI 画面でセキュアブート無効
  3. 設定を保存して再起動 → F12 でインストールメディアから起動

システムの設定

キーボード配列をセット

# loadkeys jp106

UEFI モードで起動しているか確認

# ls /sys/firmware/efi/efivars

UEFI モードで起動できている場合はファイルがたくさん表示される

インターネットに接続

# iwctl station list   //無線LANデバイスの名前を確認
# iwctl station wlan0 get-networks   //ルータのSSIDを確認
# iwctl station wlan0 connect <SSID>   //暗号化キーを入力して接続

接続の確認

# ping archlinux.org

Ctrl + C で終了

システムの時計を合わせる

# timedatectl set-ntp true

パーティションの設定

パーティションの作成

# lsblk   //デバイス名を確認
# gdisk /dev/sda

Command (? for help): o

YES / NO を聞かれるのでy

Command (? for help): n
Partition number (1-128, default 1):   //何も入力せずEnter
First sector (〜) or {+-}size{KMGTP}:   //何も入力せずEnter
Last sector (〜) or {+-}size{KMGTP}: +512M
Hex code or GUID (L to show codes, Enter = 8300): ef00
Command (? for help): n
Partition number (1-128, default 1):   //何も入力せずEnter
First sector (〜) or {+-}size{KMGTP}:   //何も入力せずEnter
Last sector (〜) or {+-}size{KMGTP}:   //何も入力せずEnter
Hex code or GUID (L to show codes, Enter = 8300):   //何も入力せずEnter
Command (? for help): w

上書きの確認をされるのでy

フォーマット

# mkfs.fat -F32 /dev/sda1
# mkfs.btrfs /dev/sda2

パーティションのマウント

# mount -o compress=zstd:1 /dev/sda2 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot

インストール処理

サーバーのミラーリストを設定

# reflector --sort rate --country Japan --save /etc/pacman.d/mirrorlist

必須パッケージのインストール

# pacstrap /mnt base base-devel linux-zen linux-firmware btrfs-progs nano networkmanager intel-ucode

fstab の設定

# genfstab -U /mnt >> /mnt/etc/fstab

インストールしたシステムに入る

# arch-chroot /mnt

各種設定

タイムゾーンとハードウェアクロックの設定

# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc --utc

ロケールの設定

#en_US.UTF-8 UTF-8#ja_JP.UTF-8 UTF-8の先頭の#を削除

# nano /etc/locale.gen
/etc/locale.gen
...
en_US.UTF-8 UTF-8
...
ja_JP.UTF-8 UTF-8
...

Ctrl + XyEnter で変更を保存

# locale-gen
# echo LANG=en_US.UTF-8 > /etc/locale.conf

キーボード配列とホスト名の設定

# echo KEYMAP=jp106 > /etc/vconsole.conf
# echo <ホスト名> > /etc/hostname

NetworkManager を有効化

# systemctl enable NetworkManager

root のパスワード設定

# passwd
New password :
Retype new password :

ブートローダーの設定

systemd-boot のインストール

# bootctl --path=/boot install

起動エントリの指定

# nano /boot/loader/loader.conf
/boot/loader/loader.conf
default arch
editor  no

ブートエントリの作成

# blkid -s PARTUUID /dev/sda2 > /boot/loader/entries/arch.conf
# nano /boot/loader/entries/arch.conf
/boot/loader/entries/arch.conf
title   Arch Linux
linux   /vmlinuz-linux-zen
initrd  /intel-ucode.img
initrd  /initramfs-linux-zen.img
options root=PARTUUID=********-****-****-****-************ rw

systemd-boot の自動更新

# mkdir /etc/pacman.d/hooks
# nano /etc/pacman.d/hooks/systemd-boot.hook
/etc/pacman.d/hooks/systemd-boot.hook
[Trigger]
Type = Package
Operation = Upgrade
Target = systemd

[Action]
Description = Updating systemd-boot
When = PostTransaction
Exec = /usr/bin/bootctl update

再起動

# exit
# umount -R /mnt
# shutdown -h now

USB メモリを抜いて起動

再起動後の設定

root でログイン

インターネットに接続

# nmtui

Activate a connection」を選択して設定

pacman の設定とアップデート

#Colorの先頭の#を削除

# nano /etc/pacman.conf
/etc/pacman.conf
...
# Misc options
...
Color
...

Ctrl + XyEnter で変更を保存

# pacman -Syu

一般ユーザーの作成

# useradd -m -G wheel <ユーザー名>

ユーザーのパスワード設定

# passwd <ユーザー名>
New password :
Retype new password :

sudo の設定

# EDITOR=nano visudo

# %wheel ALL=(ALL:ALL) ALLの先頭の#とスペースを削除
Ctrl + XyEnter で変更を保存

NTP の設定

NTP=FallbackNTP=に日本のサーバーを指定
先頭の#を削除

# nano /etc/systemd/timesyncd.conf
/etc/systemd/timesyncd.conf
...
[Time]
NTP=ntp.nict.jp
FallbackNTP=0.jp.pool.ntp.org 1.jp.pool.ntp.org 2.jp.pool.ntp.org 3.jp.pool.ntp.org
...
# timedatectl set-ntp true

ビープ音を無効にする

# echo "blacklist pcspkr" > /etc/modprobe.d/nobeep.conf

起動時と終了時のタイムアウト時間を変更

DefaultTimeoutStartSecDefaultTimeoutStopSecの値を変更
先頭の#を削除

# nano /etc/systemd/system.conf
/etc/systemd/system.conf
...
DefaultTimeoutStartSec=10s
DefaultTimeoutStopSec=10s
...

ログアウト

# exit

ログイン画面に戻って作成したユーザーでログイン
一般ユーザーでの再起動やシャットダウンは以下のコマンド

$ sudo systemctl reboot   //再起動
$ sudo systemctl poweroff   //シャットダウン

以上でインストール作業は終了
以降は GUI 環境の構築やアプリケーションのインストールなど

Discussion