LoginSignup
2
6

More than 5 years have passed since last update.

2018年 ArchLinuxで開発環境を作る完全版 (UEFI + GNOME3 + GRUB) - インストール編

Last updated at Posted at 2018-05-28

インストール前に

BIOSの設定

  • SATAデバイスをAHCIモードに設定
  • BootモードをUEFIへ
  • Legacy Boot? Load Legacy Option RomをDisabledへ
  • Secure Bootモードの解除

インストールメディアの入手

ArchLinuxのインストール

UEFIで起動しているか確認

インストールメディアから起動後、rootで自動ログインしたarchisoのプロンプトが立ち上がる。
プロンプトが表示されたら、UEFIモードで起動したか確認する。UEFIモードで起動している場合は、/sys/firmware/にefiというディレクトリが存在する。もし、UEFIモードで起動していなかったら、UEFI BIOSの設定などを見直す。

ls /sys/firmware/
apci dmi efi memmap

キーボードレイアウトの設定(日本語キーボードの場合)

loadkeys jp106

別PCからSSHで接続

ip addr # IPアドレスを確認
passwd  # rootパスワードの変更
systemctl start sshd

なぜかThinkpad X250の有線LAN(dhcp)が繋がらないので手動で固定IPに設定した。
アダプタ名は私の環境ではenp0s25 or eno1でした。ip aコマンドで調べてください。

ip a
# (例えば動的 IP に切り替える前に)、まず割り当てた IP アドレスをすべて削除します:
ip addr flush dev enp0s25
# 次に割り当てたゲートウェイをすべて削除します:
ip route flush dev enp0s25
#最後にインターフェイスを無効化します:
ip link set enp0s25 down
ip link set enp0s25 up
ip addr add 192.168.0.2/24 broadcast 192.168.0.255 dev enp0s25
ip route add default via 192.168.0.1

パーティションの設定

私は以下のようにパーティションを分けているけど、分けずに/boot、/、だけでも問題ない。

パーティション フォーマット 用途 マウントポイント サイズ
/dev/sda1 fat32 UEFI System Partition /boot 512MB
/dev/sda2 swap swap領域(作るなら) - 8GB
/dev/sda3 ext4 root / 40GB
/dev/sda4 ext4 home /home 残り全て

swap領域に関して

  • メモリ大量に積んでる場合は不要。thinkpad x250へは作ったけど、hp z820へは作っていない。
  • archwikiによると2GB 以上の物理 RAM を持っているなら、スワップパーティションがないほうが一般的に良いパフォーマンスを発揮すると思われますとのこと。
  • ただノートPCでハイバーネートを使用する場合は要作成。物理RAMの同等か2倍を確保する。

/dev/sda の箇所は各自の環境に要修正

lsblk
gdisk /dev/sda

# 1. n でESP(EFI System Partition)の作成
Command (? for help):n
Permission number: 1
First sector     : 何も押さずエンター
Last sector      : +512M
Hex code or GUID : EF00

# 2. n でswapパーティション作成(作らなくても良い)
Command (? for help):n
Permission number: 2
First sector     : 何も押さずエンター
Last sector      : +8G
Hex code or GUID : 8200

# 3. n でrootパーティション作成
Command (? for help):n
Permission number: 3
First sector     : 何も押さずエンター
Last sector      : +40G
Hex code or GUID : 8300

# 4. n でhomeパーティション作成
Command (? for help):n
Permission number: 4
First sector     : 何も押さずエンター
Last sector      : 何も押さずエンター、残りの領域すべてを使用
Hex code or GUID : 何も押さずエンター

# 5. p で出来栄えを確認.

# 6. w で書き込む.

パーティションのフォーマット

※ swapを作っていなければ以下のようになる
- sda2 : /root
- sda3 : /home

lsblk /dev/sda
mkfs.vfat -F32 /dev/sda1  # ESPの初期化 デュアルブートではなくEFIBOOTを作成した場合
mkfs.ext4 /dev/sda3       # /root
mkfs.ext4 /dev/sda4       # /home
mkswap /dev/sda2          # swapの初期化 swap領域を作成した場合
swapon /dev/sda2          # swap領域を作成した場合

パーティションのマウント

※ swapを作っていなければ以下のようになる
- sda2 : /root
- sda3 : /home

mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
mkdir /mnt/home
mount /dev/sda4 /mnt/home

ミラーサイトの優先順位を変更して、日本のサーバーを優先的に見に行くようにします。Japanと書かれている行を先頭に移動させます。

vim /etc/pacman.d/mirrorlist

ベースシステムのインストール (インストールに必要なもの含む)

pacstrap /mnt base base-devel intel-ucode gvim dosfstools openssh ccache zsh zsh-completions zsh-syntax-highlighting

fstabを自動生成します。

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

chroot環境に入る。

arch-chroot /mnt /bin/bash

HostNameを設定します。YOUR_HOSTNAMEの部分は自由に変えてください。

echo YOUR_HOSTNAME >> /etc/hostname

ホストマシン側に合わせて、日本時間でタイムゾーンをセットしておきます。

mv /etc/localtime /etc/localtime.org
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
hwclock --systohc --localtime

ロケールを設定します。en_US.UTF-8とja_JP.UTF-8の部分のコメントを外しておきます。

vim /etc/locale.gen

locale-genを実行して反映させます。

locale-gen

システムで使う言語をとりあえず英語に設定します。(最初は文字化けするので)

echo LANG=en_US.UTF-8  >> /etc/locale.conf
export LANG=en_US.UTF-8

キーボードレイアウトの設定(日本語キーボードの場合)

loadkeys jp106
vim /etc/vconsole.conf

KEYMAP=jp106

rootのパスワードを設定します。

passwd

ネットワーク起動を自動化します。

  • まずアダプタ名を調べます。ip aコマンドで調べてください。私の環境ではenp0s25でした。
  • その情報を元に設定ファイルを書きます。
vim /etc/systemd/network/wired.network

[Match]
Name=enp0s25

[Network]
DHCP=ipv4

最後にsystems-netowrkdとsystemd-resolvedを有効にします。

systemctl enable systemd-networkd
systemctl enable systemd-resolved

ブートローダのインストールと設定

GRUBはBIOSでもUEFIでも使えますが、手順が異なります。 ここではUEFIの場合の方法を記述します。

pacman -S grub efibootmgr dosfstools efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck --debug
grub-mkconfig -o /boot/grub/grub.cfg

ユーザーの作成

インストール後に使う一般ユーザーを作成します。USER_NAMEの部分をお好きなものに変更してください。

useradd -m -G wheel -s /bin/zsh USER_NAME
passwd USER_NAME

sudoが使えるように設定しておきます。

visudo

# 以下の行のコメントを外すだけでOKです。
%wheel ALL=(ALL) ALL

インストールの完了

chroot環境を抜けて再起動すれば終了です。リブート時に勝手にアンマウントしてくれるのでその辺は心配しなくて大丈夫です。

exit
reboot

ArchLinuxのインストール – デスクトップ環境構築

再起動後、ssh接続の設定

sudo systemctl enable sshd
sudo systemctl start sshd

再度、別PCからSSHで接続し設定作業を行います。

systemd-resolvedの設定

このままだとDNS解決ができないので、設定していきます。
まずは/etc/resolve.confをsystemdで用意した物に差し替えます。

sudo mv /etc/resolv.conf /etc/resolv.conf.orig
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf

続いて/etc/nsswitch.confのdnsをresolvに書き換えます。

sudo sed -i -e 's/hosts: files dns/hosts: files resolve/g' /etc/nsswitch.conf

リポジトリの編集

yaourtとmultilibが利用できるようにしましょう。設定ファイルを開きます。

sudo vim /etc/pacman.conf

# multilibのコメントを外します。
[multilib]
Include = /etc/pacman.d/mirrorlist

# 末尾にこれを付け足します。
[archlinuxfr]
SigLevel = Optional TrustAll
Server = http://repo.archlinux.fr/$arch

あとはリポジトリを再読込して、yaourtを導入しましょう。

sudo pacman -Syu
sudo pacman -S yaourt

X Window Systemのインストール

sudo pacman -S xorg-server xorg-apps xorg-xinit xorg-xclock xterm
lspci | grep VGA # 何をインストールすればいいのか確認
sudo pacman -S xf86-video-intel # ThinkpadX250はintelのグラフィックドライバをインストール
sudo pacman -S nvidia nvidia-settings # NVIDIA Geforceであれば、nvidiaをインストール
sudo nvidia-xconfig #(nvidiaをインストールした場合)
sudo nvidia-settings #(nvidiaをインストールした場合)

バージョン情報を読み取れるようにしておきます。

su -c "cat /proc/version > /etc/arch-release"

Thinkpad X250 タッチパッドの設定 (完全に私専用のメモ)

sudo pacman -S xf86-input-synaptics
sudo vim /etc/X11/xorg.conf.d/70-synaptics.conf

Section "InputClass"
    Identifier "touchpad catchall"
    Driver "synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    #Option "TapButton1" "1"
    #Option "TapButton2" "2"
    #Option "TapButton3" "3"
    Option "VertScrollDelta"  "-111"
    Option "HorizScrollDelta" "-111"
    # 横エッジスクロール
    Option "HorizEdgeScroll" "on"
    # 縦エッジスクロール
    Option "VertEdgeScroll" "on"
    # 左右同時クリックで中ボタン
    Option "Emulate3Buttons" "on"
    # 二本指による縦スクロールを有効にする
    Option "VertTwoFingerScroll" "on"
EndSection

GNOMEの導入

sudo pacman -S gnome gnome-tweaks gedit
sudo systemctl enable gdm

日本語フォントの導入

yaourt -S otf-ipaexfont ttf-ricty adobe-source-sans-pro-fonts

fcitxの導入

日本語を入力するため、fcitxとfcitx-mozcをインストールする

sudo pacman -S fcitx-im fcitx-mozc fcitx-configtool

.xprofileに追記する

vim ~/.xprofile

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx

GNOME / Wayland 上での Fcitx の利用

Wayland は ~/.xprofile に保管された環境変数を読み込むことができないため、Wayland 上で Fcitx を使うときは /etc/environment で環境変数を設定してください。

sudo vim /etc/environment

GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
DefaultIMModule=fcitx

NetworkManagerの導入

NetworkManagerを導入する際にはntctlやwicdなどを無効化しておく

sudo pacman -S networkmanager network-manager-applet xfce4-notifyd
sudo systemctl enable NetworkManager.service

システムで使う言語を日本語に設定します。

sudo echo LANG=ja_JP.UTF-8 >> /etc/locale.conf

デスクトップ環境までのインストール完了

再起動します。再起動後はデスクトップが起動します。

exit
reboot
2
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
6