T495 に Arch Linux をインストールした
Ryzen CPU 搭載の PC に Arch Linux をインストールしたので、記録しておく。尚、最小手とは限らない。 基本的には https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89 を参考にしつつ、過去の経験と AMD 用の設定と ThinkPad T495 向けの設定と思われるものを追加している。
起動する USB メモリを作成する
archlinux-2020.01.01-x86_64.iso をあらかじめダウンロードしておき、dd コマンドで作成する。 ここでは USB メモリが /dev/sdb にマウントされている。
$ sudo dd bs=4M if=archlinux-2020.01.01-x86_64.iso of=/dev/sdb && sync
USB メモリを起動してインストール
eivars を確認
# ls /sys/firmware/efi/efivars
ディスクの一覧を表示
# fdisk -l
パーティション作成
# gdisk /dev/nvme0n1
Command (? for help): o
Command (? for help): n
Permission number: 何も押さずエンター
First sector : 何も押さずエンター
Last sector : +512M
Hex code or GUID : EF00
https://server.etutsplus.com/allocate-swap-space/ ハイバネートが1.5 になってたから 24 * 1.5 = 36
Command (? for help): n
Permission number: 何も押さずエンター
First sector : 何も押さずエンター
Last sector : +36G
Hex code or GUID : 8200
Command (? for help): n
Permission number: 何も押さずエンター
First sector : 何も押さずエンター
Last sector : 何も押さずエンター
Hex code or GUID : 8300
Command (? for help): w
Do you want to proceed? (Y/N) Y
The operation has completed successfully.
パーティションにファイルシステム作成
# mkfs.fat -F32 /dev/nvme01p1
# mkswap /dev/nvme01p2
# swapon /dev/nvme01p2
# mkfs.ext4 /dev/nvme01p3
パーティションのマウント
# mount /dev/nvme01p3 /mnt
# mkdir /mnt/boot
# mount /dev/nvme01p1 /mnt/boot
システムクロックの更新
# timedatectl set-ntp true
paclist の編集 Japan なものをすべて上にもってきた
# vim /etc/pacman.d/mirrorlist
ベースシステムの導入
# pacstrap /mnt base base-devel git linux linux-firmware vim
fstab の生成
# genfstab -U /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc --utc
en_US.UTF-8 UTF-8 と ja_JP.UTF-8 UTF-8 を uncomment
# vi /etc/locale.gen
# locale-gen
※ この段階で ja_JP を入れると文字化けする
# echo LANG=en_US.UTF-8 > /etc/locale.conf
# echo ホスト名 > /etc/hostname
# vim /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 ホスト名.localdomain ホスト名
netctl, wifi-menu 使えるようにしておく
# pacman -S iputils dialog wpa_supplicant iw
# pacman -S netctl dhcpcd
# mkinitcpio -P
root のパスワード設定
# passwd
microcode の更新用
# pacman -S amd-ucode
grub をインストールする
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
# grub-mkconfig -o /boot/grub/grub.cfg
# vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT に acpi_backlight=native を追加
⇡ https://wiki.archlinux.jp/index.php/Lenovo_ThinkPad_T495 を参照
# grub-mkconfig -o /boot/grub/grub.cfg
ユーザ作成
# pacman -S zsh
# useradd -m -G wheel -s /usr/bin/zsh ユーザ名
# usermod -aG users ユーザ名 # users グループに追加
# passwd ユーザ名
# pacman -S sudo
# EDITOR=vim visudo
%wheel ALL=(ALL) ALL
# chown -c root:root /etc/sudoers
# chmod -c 0440 /etc/sudoers
Ryzen 最適化 kernel の導入 と その他
# pacman -S linux-zen
# pacman -S linux-zen-headers
# pacman -S mesa
# pacman -S xf86-video-amdgpu
# pacman -S lm_sensors
# vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT に↓を追加する
amdgpu.si_support=1 radeon.si_support=0 acpi_backlight=native
# grub-mkconfig -o /boot/grub/grub.cfg
フォントをインストール
# pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra
ノートPC の蓋締めたときのアクションを設定する
# mkdir /etc/systemd/logind.conf.d/
# cp /etc/systemd/logind.conf /etc/systemd/login.conf.d/
# vim /etc/systemd/login.conf.d/logind.conf
HandleLidSwitch=hybrid-sleep
swapへのSSDの書き込み回数を減らす
# echo 10 > /proc/sys/vm/swappiness
TLP alsa 等
# pacman -S libxss alsa-utils tlp dkms
arch-chroot を抜けて再起動し、終了したら USB メモリを抜く
# exit
# reboot
一旦ログアウトしてユーザとしてログインして追加作業する
arch-chroot 状態だと systemctl が使えないため、一旦ログアウトしてインストールされたシステムにログインして作業を続ける。
wifi-menu を使えるように dhcpcd を有効化
$ sudo systemctl enable dhcpcd
$ sudo ip link set wlp1s0 up
$ sudo wifi-menu
$ sudo pacman -S openssh
$ sudo vim /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
$ sudo systemctl enable sshd.service
$ sudo systemctl start sshd.service
時刻合わせ
$ sudo pacman -S ntp
$ sudo systemctl enable ntpd
$ sudo systemctl restart ntpd
lightdm をインストールする
$ sudo pacman -S lightdm
$ sudo pacman -S lightdm-gtk-greeter
$ sudo vim /etc/lightdm/lightdm.conf
[Seat:*]
…
greeter-session=lightdm-gtk-greeter
$ sudo systemctl enable lightdm.service
X の設定
$ sudo pacman -S xorg-server
https://wiki.archlinux.jp/index.php/AMDGPU#Xorg_.E3.81.AE.E8.A8.AD.E5.AE.9A で
$ sudo vim /etc/X11/xorg.conf.d/20-amdgpu.conf
Section "Device"
Identifier "AMD"
Driver "amdgpu"
Option "DRI" "3"
EndSection
fcitx の設定
$ sudo pacman -S fcitx-mozc
$ sudo pacman -S fcitx-gtk2 fcitx-gtk3 fcitx-configtool
$ vim ~/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export DefaultIMModule=fcitx
fcitx &
$ fcitx-configtool
MOZC を追加する
synaptics でトラックパッドの設定をする
$ sudo pacman -S synaptics
$ sudo vim /etc/X11/xorg.conf.d/70-synaptics.conf
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
Option "VertTwoFingerScroll" "on"
Option "HorizTwoFingerScroll" "on"
Option "EmulateTwoFingerMinZ" "40"
Option "EmulateTwoFingerMinW" "8"
Option "CoastingSpeed" "0"
Option "FingerLow" "30"
Option "FingerHigh" "50"
Option "MaxTapTime" "125"
Option "VertScrollDelta" "-111"
Option "HorizScrollDelta" "-111"
Option "SoftButtonArea" "70% 0 50% 0 0 0 0 0"
# disable trackpad while typing
Option "PalmDetect" "1"
Option "PalmMinWidth" "10"
Option "PalmMinZ" "200"
EndSection
yay の導入
$ mkdir tmp
$ git clone https://aur.archlinux.org/yay.git
$ cd yay
$ makepkg -si
あとは好みのアプリを導入すれば動くはず。
追記(2020-01-30):
/etc/mkinitcpio.conf の MODULES に amdgpu
を追加すると、XF86Audio のボリュームまわりが認識されるようになった模様。音はなっていたが、音量を調整するアプリがずっとミュートを示していたが、値の調整ができるようになった。
$ sudo vim /etc/mkinitcpio.conf
MODULES=(amdgpu)
$ sudo mkinitcpio -P
$ sudo reboot
追記(2020-02-03):
たまに USB 接続のキーボードが効かなくなったので、 ThinkPad T495 の TLP のページにある /etc/default/tlp
への設定を追記した。
感想
以前と違って、wpa_supplicant と dialog さえインストールしておけば wifi-menu が動く、とはなっていなかったので、無線LANにつながるまで何度もUSB メモリさして mount して arch-chroot /mnt
してを繰り返すことになった。
知識と経験はアップデートしなければ役に立たなくなることもある。