🗒️

Arch Linuxインストールメモ2023.07

2023/07/08に公開

基本的にはArch wikiのインストールガイドを読んでその通りにすればいいのですが、実際やった記録も参考になればということで日記を置いておきます。なお本稿は完全なインストール手順を示すものではありません。

インストールメディアの作成

私は今回インストールするマシン以外に動いているArch Linuxデスクトップ機があったので、インストールメディア作成にはそちらのArch Linuxを使って作業しました。

ダウンロード

https://archlinux.org/download/

Torrentが推奨されていますが、今回は意識低くHTTP配信サーバーでつくばから落としてきました。Wiki中にある署名の確認では sq コマンドが出てきますが、これにはsequoiaが必要なのでpacmanで入れておきます。

# pacman -S sequoia-sq

USBメモリーへの焼き込み

色々方法がありますが、一番安直そうなcatを使いました。

USBドライブの確認
$ ls -l /dev/disk/by-id/usb-*
lrwxrwxrwx 1 root root  9 Jul  6 18:08 /dev/disk/by-id/usb-BUFFALO_USB_Flash_Disk_070894EEA91B9719-0:0 -> ../../sdb
lrwxrwxrwx 1 root root 10 Jul  6 18:08 /dev/disk/by-id/usb-BUFFALO_USB_Flash_Disk_070894EEA91B9719-0:0-part1 -> ../../sdb1

書き込み
# cat ~/Downloads/archlinux-2023.07.01-x86_64.iso >  /dev/disk/by-id/usb-BUFFALO_USB_Flash_Disk_070894EEA91B9719-0\:0

なお、ここで作ったインストールメディアはマザーボードの設定によってはブートドライブとして認識されない場合があります。今回はマザーボードのいわゆるBIOS画面で、BootメニューからCSM設定をUEFI Onlyにすることで解決しました。

インストール

ここからはインストール先のマシンで、USBから起動したArch Linuxでの作業です。

パーティショニング

今回は一度Archを入れていたストレージへの再インストールをしていたので、パーティションは再利用で…と思っていた時期がありました。が、BIOSとUEFIでは要求されるパーティションレイアウトが異なる部分があったため、結局既存のbootパーティションを潰してEFI system partition(ESP)とboot用Linux filesystem で切り直すことにしました。

# fdisk -l
ディスクとパーティション一覧が表示される

# gdisk /dev/nvme0n1

gdisk内で
d 既存のboot削除
n EF00 開始セクターデフォルト(先頭)、終了セクターは+2M
n LINUX FILESYSTEM 開始セクターデフォルト、終了セクターは+510M
w でパーティション書き込み

EFI Filesysteのフォーマット
# mkfs.fat -F 12 /dev/nvme0n1p1

Bootパーティションのフォーマット。今回はパーティション番号4をBootにしています
# mkfs.fat -F 32 /dev/nvme0n1p4

Arch wiki内で解説されているように、小さいサイズのパーティションはFAT32ではフォーマットできません。今回はFAT16でもできなかったため、FAT12でフォーマットしています。

Arch Linuxのインストール

rootパーティションマウント
# mount /dev/nvme0n1p3 /mnt 

bootパーティションマウント
# mount --mkdir /dev/nvme0n1p4 /mnt/boot

EFI system partition(ESP) マウント
# mount --mkdir /dev/nvme0n1p1 /mnt/efi

# pacstrap -K /mnt base linux linux-firmware

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

# arch-chroot /mnt
ここからはインストール先Arch Linuxでの作業になります

ブートローダーのインストール

https://wiki.archlinux.org/title/Arch_boot_process#Boot_loader
https://wiki.archlinux.org/title/GRUB

ブートローダーは脳死でGRUBを選択しています。

arch-chroot した状態で

今回はRyzenなのでこれが必要
# pacman -S amd-ucode

GRUBで使う
# pacman -S efibootmgr dosfstools os-prober mtools

UEFIでのgrub-install。BIOS用のものとは違うので注意
# grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB

これやっておかないとGRUBからArch起動しない
# grub-mkconfig -o /boot/grub/grub.cfg

grub-installが終わったらEFIのマウントは不要なので、fstabからESP関係の部分は消しておく
vim /etc/fstab

ここまでできれば、以降電源投入→Arch Linux起動ができるはずです。

ネットワークの設定

https://wiki.archlinux.org/title/Netctl#Configuration

今回はnetctlを使っています。

ip address でデバイス確認 今回はenpn0sが目的

netctlプロフィールを作成
vim /etc/netctl/enpn0s

netctl enable enpn0s
修正した場合は
netctl reenable enp0s
netctl start enp0s

これでネットワークに繋がります。あとはsshdを入れて設定をすれば、以降は物理コンソールは触らずssh越しでの環境構築ができます。ここまで来れば基本的な環境構築をしつつ好みでパッケージを入れていく、普段のArch Linux生活に入れます。

Discussion