はじめに
久しぶりにLinuxが使いたくなったので、Arch Linuxを自分のPCにインストールしました。
当記事ではインストール作業の際に実行したコマンドを紹介します。
インストール手順
キーボードの配列を変更
# loadkeys jp106
パーティショニング
ストレージを2つのパーティションに分割します。
先頭の512MBをブートローダーに割り当て、残りをファイルシステムに割り当てます。
今回はスワップ領域は作りません。
# sgdisk -z /dev/sda
# sgdisk -n 1:0:+512M -t 1:ef00 -c 1:"EFI System" /dev/sda
# sgdisk -n 2:0: -t 2:8300 -c 2:"Linux filesystem" /dev/sda
パーティションのフォーマット
# mkfs.vfat -F32 /dev/sda1
# mkfs.ext4 /dev/sda2
パーティションのマウント
パーティションをマウントしてデータを書き込めるようにします。
# mount /dev/sda2 /mnt
# mkdir -p /mnt/boot
# mount /dev/sda1 /mnt/boot
ミラーリストの修正
日本にあるミラーサーバーをミラーリストに出力します。
これでパッケージのダウンロード速度が改善されます。
# reflector --country Japan --age 24 --protocol https --save /etc/pacman.d/mirrorlist
パッケージをインストール
# pacstrap /mnt base base-devel linux linux-firmware linux-headers dkms intel-ucode which zsh vim sudo dhcpcd git networkmanager
fstabの設定
# genfstab -U /mnt >> /mnt/etc/fstab
ルートディレクトリの変更
# arch-chroot /mnt
タイムゾーンと時刻を設定
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc
ロケールの設定
/etc/locale.gen
の以下の行をコメントアウトして、locale-gen
コマンドを実行します。
#en_US.UTF-8 UTF-8
#ja_JP.UTF-8 UTF-8
# locale-gen
ホスト名を設定
# echo Arch > /etc/hostname
/etc/hosts
に以下を追記します。
127.0.0.1 localhost
::1 localhost
127.0.0.1 Arch.localdomain localhost
パスワードの設定
rootユーザにパスワードを設定します。
# passwd
New password :
Retype new password :
ブートローダーのインストールと設定
ファームウェアにはBIOSとUEFIがあり、それぞれブートローダーの設定方法が異なります。
今回はUEFI用の設定を行います。
# pacman -S grub efibootmgr os-prober
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub
# grub-mkconfig -o /boot/grub/grub.cfg
# mkdir /boot/EFI/boot
# cp /boot/EFI/arch_grub/grubx64.efi /boot/EFI/boot/bootx64.efi
再起動してインストール完了です。
インストール後の設定
この時点ではまだ最低限のCUI環境しか用意されていません。
ですが設定したいことを全て挙げるときりがないので、今回は以下の5つを設定します。
- 一般ユーザの追加
- GNOMEの導入
- 日本語化
- 無線LANアダプターを使えるようにする
- 音を出力できるようにする
dhcpcdの有効化
# systemctl start dhcpcd
キーレイアウトの設定
# localectl set-keymap jp106
一般ユーザの追加
wheel
グループに一般ユーザuser
を追加します。
パスワードも設定します。
# useradd -m -G wheel -s /bin/zsh user
# passwd user
New password :
Retype new password :
sudo権限の設定
visudo
コマンドで下記の行をコメントアウトして
wheel
グループに所属するユーザがsudoコマンドを使用できるようにします。
# %wheel ALL=(ALL:ALL) NOPASSWD: ALL
visudo
コマンドでエディターが見つからないというエラーが出た場合は
エディターのパスを変更して再度実行します。
# export EDITOR=/usr/bin/vim
グラフィックドライバのインストール
以下のコマンドでグラフィックボードを確認します。
# lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [Geforce GTX 1080] (rev a1
NVIDIAのグラフィックボードを搭載しているので専用のドライバをインストールします。
# pacman -S nvidia
GNOMEのインストール
# pacman -S --noconfirm gnome
GDMの自動起動を有効化します。
# systemctl enable gdm
再起動すると自動でGUIが立ち上がります。
自動ログオンも有効化しておきます。
/etc/gdm/custom.conf
に以下を追記します。
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=user
日本語環境の設定
ここからは一般ユーザで作業を行います。
NetworkManagerを有効化します。
$ sudo systemctl start NetworkManager
$ sudo systemctl enable NetworkManager
日本語フォントや入力メソッドをインストールします。
$ sudo pacman -S otf-ipafont fcitx5-im fcitx5-mozc
ロケールを設定します。
$ sudo localectl set-x11-keymap jp,us jp106
$ sudo localectl set-locale ja_JP.utf8
/etc/environment
に以下の設定を追記します。
GTK_IM_MODULE="fcitx"
QT_IM_MODULE="fcitx"
XMODIFIERS="@im=fcitx"
再起動すると設定が反映されます。
無線LANアダプターの設定
無線LANアダプターはWDC-433SU2M2BKを使用しているのですが自動で認識してくれません。
どうやら自分でドライバをビルドしてインストール必要があるようです。
有志の方が作ったドライバのソースをcloneします。
$ git clone https://github.com/gnab/rtl8812au.git
$ cd rtl8812au
ビルドする前にWDC-433SU22MBK用の設定を追加する必要があります。
os_dep/linux/usb_intf.c
の290行目にある#ifdef CONFIG_RTL8821A
~#endif
の間に以下の設定を追加します。
{USB_DEVICE(0x056E, 0x400E),.driver_info = RTL8821},
ビルドして生成されたドライバをインストールします。
$ make
$ sudo cp 8812au.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless
$ sudo depmod
再起動すると無線LANアダプターが認識されました。
音の設定
モニターはHDMIで接続しているのですが、なぜかスピーカーから音が出ませんでした。
追加のサウンド関連のパッケージをインストールします。
$ sudo pacman -S alsa-utils
デバイスの情報を確認します。
$ aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
...
カード 1: NVidia [HDA NVidia], デバイス 7: HDMI 1 [VZ249 ]
サブデバイス: 0/1
サブデバイス #0: subdevice #0
...
自分の環境ではカード番号は1、デバイス番号は7でした。
~/.asoundrc
に以下の設定を追加します。
defaults.pcm.card 1
defaults.ctl.card 1
defaults.pcm.device 7
再起動するとモニターのスピーカーから音が出ました。
参考文献