Arch Linux インストール 備忘録
LinuxマシンにPop!OSをこれまで使ってきたが、PCのケースをサーバーラック用ケースに載せ替えたのを機にOSもArchLinuxにしてみたのでその備忘録を記していく
UEFIのブートメニューからISOを焼いたUSBを指定して起動すると、インストール用のシステムが起動する。システムが起動すると、GRUBのメニューからどのシステムを起動するか聞かれるので、Arch Linux install medium (x86_64, UEFI)を選択する。
システムの時刻が問題ないかを確認する
timedatectl status
ズレている場合はtimedatectl set-ntp trueを実行するとNTPを用いて時刻の同期ができる。インストール時にはあまり必要では無かったが、timedatectl set-timezone Asia/Tokyoを実行するとタイムゾーンも設定できる
次にパーティションを割り当てていく。まずはlsblkで接続されているデバイスを確認する。このとき、SATAデバイスやUSBフラッシュメモリは/dev/sdX、NVMeメモリはnvme0nXのような形で表現される。(既に何らかのOSをインストールしてパーティションを割り当てたことのあるデバイスはデバイス名p1のようなデバイスも表示されることがある。これはp以降の数
字がそのデバイス上のパーティションの番号を示している。
cgdisk /dev/nvme0n1でパーティション作成ツールを起動する。cgdiskを起動すると次のような画面が表示される
code:cgdisk
Part. # Size Partition Type Partition Name
476.9 GiB free space
パーティションをカーソルで選択してEnterを押すとパーティション選択のプロンプトが起動する。まずFirst sectorつまりパーティションのデバイス上における開始位置を選択する。デフォルトのままでいい場合はそのままEnterを押す。次にSize in sectors、そのパーティションに割り当てる容量を入力する。このとき1Gと入力すると1024MiBにできる。
UEFIとGPTを利用する場合、次のパーティションが必要になる。
table:パーティション
マウントポイント パーティションタイプ 必要容量
/mnt/boot EFIシステムパーティション 最低300MiB。複数のカーネルをインストールする場合は1GiB以上推奨
スワップ Linux swap 512MiB以上。ハイバーネートする場合はRAMと同じ容量
/mnt Linux x86_64 root 残り容量
Hex code or GUIDを入力するとそのパーティションのGUIDを入力できる。特に指定しない場合はそのままEnterを押す。
最後にパーティションの名前を入力できるので、識別しやすい名前をつけておく。
パーティションの割り当てが終わったら次のテーブルに従って各パーティションをフォーマットしていく
table:パーティションのフォーマット
パーティション フォーマット コマンド
/dev/root_partition ext4 mkfs.ext4 /dev/root_partition
/dev/swap_partition mkswap /dev/swap_partition
/dev/efi_system_partition FAT32 mkfs.fat -F 32 /dev/efi_system_partition
パーティションをフォーマットし終わったらファイルシステムをマウントする。
mount パーティション マウントポイント
スワップ領域はswaponで有効化しておく。
Linuxのインストール
pacstrapを利用してLinuxカーネルをインストールしていくが、その前にreflectorをインストールしてダウンロード先のミラーを最適化しておく。cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backupを実行してバックアップをしておいて、reflector --save /etc/pacman.d/mirrorlist --country Japan --protocol https --latest 5を実行するとミラーリストを位置ベースで更新できる
Linuxのインストールだけであればbase, linux, linux-firmwareパッケージをインストールすれば事足りる。ついでにvimと
man-db, man-pagesもインストールしておく
システムの設定
genfstabを実行してファイルシステムの設定ファイルを生成する。今回はUUIDを用いるのでgenfstab -U /mnt >> /mnt/etc/fstabを実行する。fstabを設定したらarch-chrootを実行してインストールしたシステムにchrootする。
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtimeを実行してタイムゾーンを設定する。その後、hwclock --systohcを実行して/etc/adjtimeを生成する。
echo <hostname> > /etc/hostnameを実行してホストネームファイルを生成する。
passwdを実行してrootユーザーのパスワードを設定しておく。
ブートローダーのインストールとマイクロコードのアップデート
pacman -S grub efibootmgrを実行してGRUBとefibootmgrをインストールする。その後、grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUBを実行する。
Ryzen5600XをCPUに使っているのでpacman -S amd-ucodeを実行する