インストールメディアのブート
ここではUSBメモリでインストールメディアを作成しブートする。
USBメモリにisoを焼く
https://www.archlinux.org/download/ からisoを落としておく。
hdiutil convert -format UDRW -o arch archlinux-2023.07.01-x86_64.iso
diskutil list # 焼きたいUSBメモリのパスを確認 (/dev/disk2 だったとする)
sudo dd if=arch.dmg of=/dev/disk2 bs=1m
ddがresource busyになる場合
先にアンマウントしておく必要がある。
df # /dev/disk2 の Mounted on を確認 (/Volumes/Arch だったとする)
diskutil umount /Volumes/Arch
sudo dd if=arch.dmg of=/dev/disk2 bs=1m
USBメモリをUEFIブートする
UEFIブートでセットアップするため、インストールメディアからUEFIブートしておく。
マシン起動時にF2を押してUEFIの設定画面に入り、USBメモリがUEFIブートされるように設定して再起動し、Boot Arch Linux (x86_64) を選択。/sys/firmware/efi が存在すればOK。
OSのインストール
https://wiki.archlinux.org/index.php/Installation_guide を見て進める。
初期設定
キーボード
loadkeys jp106
パーティショニング
https://wiki.archlinux.org/index.php/Partitioning によるとMaster Boot RecordとGUID Partition Tableの2つのやり方があり、後者のほうがモダンらしいので後者でやる。
ブートローダーにはGRUBを使うことにする。
https://wiki.archlinux.org/index.php/Beginners'_guide を参考にした。
パーティションの作成
EFI system partitionを作っておく必要がある。
lsblk | grep -v "rom\|loop\|airoot" # SSDがsda、USBメモリがsdbだった
parted /dev/sda # partedのインタラクティブシェルでSSDをいじり始める
(parted) mklabel gpt
(parted) mkpart ESP fat32 1MiB 513MiB
(parted) set 1 boot on
(parted) mkpart primary ext4 513MiB 100%
(parted) quit
ファイルシステムの初期化
lsblk /dev/sda # /dev/sda1がESP、/dev/sda2がrootパーティションであることを確認
mkfs.vfat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
パーティションのマウント
mount /dev/sda2 /mnt # /mntにrootパーティションをマウント
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot # /mnt/bootにESPをマウント
インターネット接続
設定済みの無線LANルータに有線でつないでreboot
したらping google.com
が通るようになった。
インストール
パッケージのインストール
vim /etc/pacman.d/mirrorlist # 日本かUS以外のミラーをコメントアウトする
pacstrap -K /mnt base linux linux-firmware
いろいろ入る
初期設定
genfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
ln -sf /usr/share/zoneinfo/Japan /etc/localtime # あるいは PST8PDT
hwclock --systohc
vi /etc/locale.gen # en_US.UTF-8とja_JP.UTF-8の行のコメントを外す。最初からja_JPだけでやると豆腐になる。
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
echo KEYMAP=jp106 > /etc/vconsole.conf
echo arch > /etc/hostname # 好きに選ぶ
passwd # rootパスワードを設定
Nvidia用の対応
https://wiki.hyprland.org/Nvidia/
Install thenvidia-dkms
driver and add it to your initramfs & kernel parameters.
For people using grub you can do this by addingnvidia_drm.modeset=1
to the end ofGRUB_CMDLINE_LINUX_DEFAULT=
in/etc/default/grub
, then run# grub-mkconfig -o /boot/grub/grub.cfg
in
/etc/mkinitcpio.conf
addnvidia nvidia_modeset nvidia_uvm nvidia_drm
to yourMODULES
run# mkinitcpio --config /etc/mkinitcpio.conf --generate /boot/initramfs-custom.img
(make sure you have thelinux-headers
package installed first)
pacman -S nvidia-dkms linux-headers
/etc/mkinitcpio.conf
を以下のように編集する。
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
mkinitcpio -P --config /etc/mkinitcpio.conf
以下でgrubのインストール後、/etc/default/grub
で GRUB_CMDLINE_LINUX_DEFAULT=
の最後に nvidia_drm.modeset=1
を追加する。その後にgrub-mkconfigをやる。
microcodeのアップデート
ブートローダーを入れる前にmicrocodeアップデートをいれておく。 https://wiki.archlinux.org/title/Microcode
pacman -S amd-ucode
GRUBのインストール
ブートローダーにGRUBを選んだので https://wiki.archlinux.org/index.php/GRUB を読む。
pacman -S grub efibootmgr
lsblk /dev/sda # これがArchをインストールしたドライブか確認
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=ArchGRUB
grub-mkconfig -o /boot/grub/grub.cfg
dhcpcdをいれておく
pacman -S dhcpcd
再起動
exit
umount -R /mnt
reboot
これで素のArch Linuxがブートされるようになる。
GUI環境のセットアップ
yay
AURパッケージのインストールのためにyayをいれる。
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay-bin.git
cd yay-bin
makepkg -si
hyprlandのインストール
https://wiki.hyprland.org/Getting-Started/Installation/ を読む。
# 本体
yay -S hyprland-nvidia
# ターミナル
sudo pacman -S kitty gtk3
Hyprland
で起動する。Super+Q
でkittyを起動、Super+M
でHyprlandを終了する。SuperはHHKBだと◇。
セットアップは https://wiki.hyprland.org/Getting-Started/Master-Tutorial/ を読む。
設定ファイルは ~/.config/hypr/hyprland.conf
にある。autogenerated = 1
をコメントアウトするとwarningが消せる。
waybar
yay -S waybar-hyprland-git
waybar-hyprland
はGCC 13非互換だったので、それが直っている -git
の方をいれた。
waybar
で試しに起動するとmpdのwarningが出るので、mpdをいれておく。
sudo pacman -S mpd
sudo systemctl enable mpd
sudo systemctl start mpd
inputグループに対してのwarningに関しても、xremapのREADMEを見つつ何かやったかも。
デフォルトだとアイコンが豆腐なので、fontawesomeをいれる。
sudo pacman -S ttf-font-awesome
キーボード配列
~/.config/hypr/hyprland.conf
で kb_layout
の行を直す。
input {
kb_layout = jp
}
xremap
yay -S xremap-hypr-bin
でインストールして、設定は
git clone https://github.com/k0kubun/dotfiles src/github.com/k0kubun/dotfiles
でdotfilesを眺めながら、.config/systemd/user/xremap.service
を設置する。その後、
systemctl --user start xremap
キーリピート
~/.config/hypr/hyprland.conf
に以下のように設定する。
input {
repeat_delay = 200
repeat_rate = 80
}