Arch Linux導入と設定(1) -インストール-

以前仕事で使っていたラップトップをオモチャにしようと思い立ち、せっかくなので以前から気になっていたArch Linuxを突っ込んでみました。記念すべき初記事ですが、慣れないことしたせいでやたら長いです。

環境

マシン: DELL XPS13 9333
CPU: Intel Core i7-4500U(1.80GHz)
RAM: 8GB
ストレージ: 256GB SSD
ネットワーク: 無線
既存OS: Windows8とXubuntuのデュアルブート

ISOイメージの入手

https://www.archlinux.jp/download/ からISOイメージを入手。
ISOは、CD/DVDなりUSBデバイスなりに焼いて下さい。僕の場合、Macで以下のコマンドを叩いてUSBデバイスに焼きました。

$ diskutil list
$ diskutil unmountDisk /dev/diskX
$ sudo dd if=~/Downloads/archlinux-2018.03.01-x86_64.iso of=/dev/rdiskX bs=1m

diskutilコマンドでUSBデバイスのディスク番号を確認 -> USBメモリをアンマウント -> ISOの書き込み実行という手順です。Macは、接続されたUSBデバイスが自動でマウントされるため、明示的にアンマウントするコマンドが必須になります。

また、MacであればFinderの機能を使って書き込む方法もあるようです。どちらにするかはお好みで
僕の環境では、何故かFinderでの書き込み上手くいきませんでした(´・ω・`)

インストールメディアの起動

ISOを書き込んだUSBを接続し、再起動します。DELLのPC場合、ロゴ表示の時にF2連打でUEFIの設定、F12連打でブートデバイスの選択画面に飛べます。「UEFI BOOT」から、USBデバイスを選択しましょう。

Boot mode is set to:UEFI with Legacy OPROM; Secure boot: OFF

LEGACY BOOT:
    CD/DVD/CD-RW Drive
  + Hard Drive
    Removable Drive
  + USB Strage Device
UEFI BOOT:
    Linux Boot Manager
    Windows Boot Manager
    USB1-1 (XXXX XXXX) ←コレを選択
OTHER OPTIONS:
    Setup
    ...

USBデバイスからインストールメディアの起動がはじまると、以下のような選択肢が表示されます。ここはArch Linux archiso x86_64 UEFI USBを選択します。

Arch Linux archiso x84_64 UEFI USB
      UEFI Shell x86_64 v1
      UEFI Shell x86_64 v2
       EFI Default Loader
 Reboot Into Firmware Interface

インストールメディアが正しく起動すると、rootユーザーで自動ログインされた状態でプロンプトが立ち上がります。以降は、このプロンプトにコマンドをポチポチ打ち込み、インストールを進めて行きます。

archiso login: root (automatic login)
root@archiiso ~#

インストール準備(1) -前準備-

今回はUEFIを利用してインストールを進めるため、まずUEFIモードで起動したか確認します。
lsコマンドで/sys/firmware以下にefiというディレクトリが存在すれば、UEFIモードで起動できています。

# ls /sys/firmware

apci dmi efi memmap

次に、キーボード設定とネットワーク接続の確認をします。
デフォルトが英字配列なので、loadkeysコマンドで日本語配列に切り替えます。

# loadkeys jp106

ネットワーク接続はpingコマンドをwww.google.comに飛ばします。有線接続の場合は、特別な設定なく応答が返ってくるようですが、無線接続の場合はアクセスポイントへの接続が必要です。

# ping www.google.com

PING www.google.com (216.58.200.164): 56 data bytes
64 bytes from 216.58.200.164: icmp_seq=0 ttl=49 time=57.658 ms
64 bytes from 216.58.200.164: icmp_seq=1 ttl=49 time=53.121 ms
64 bytes from 216.58.200.164: icmp_seq=2 ttl=49 time=48.410 ms

^C
--- www.google.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 48.410/53.162/57.658/3.274 ms

無線接続の設定はwifi-menuコマンドを利用します。
簡素なGUIメニューが立ち上がり、SSIDの選択 -> パスワードの入力と画面に従って操作します。設定が終わったら、再度pingでネットワーク接続ができているか確認しましょう。

# wifi-menu

インストール準備(2) -パーティション設定-

SSDを以下の4つのパーティションに分割します

パーティション フォーマット 用途 容量
/dev/sda1 FAT32 UEFI System Partition 512MB
/dev/sda2 swap swap領域 メモリの2倍
/dev/sda3 XFS rootディレクトリ 64GB
/dev/sda4 XFS 一般ユーザーのhomeディレクトリ 残り

各パーティションの適切な容量に関しては、ここでは深掘らずに先へ進みます。

パーティション分割はgdiskコマンドで行います。似たようなコマンドにfdiskというモノもありますが、UEFIに対応しているのはgdiskのため、こちらを利用します。

gdiskが起動したら、最初に「o」で新しいGPTパーティションテーブルを作成します。この作業で、既存のパーティションは全て削除されるので、注意してください。

# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.3

...

Command (? for help): o

UEFI System Partition

「n」で新しいパーティションを追加します。Hex code or GUIDに指定した「EF00」は、UEFI System Partitionを表す16進数コードです。

Command (? for help): n
Permission number: 1
First sector     : # そのままEnter
Last sector      : +512M
Hex code or GUID : EF00

Swap領域

Swap領域は、Hex code or GUIDに「8200」を指定し、追加します。

Command (? for help): n
Permission number: 2
First sector     : # そのままEnter
Last sector      : +32GB
Hex code or GUID : 8200

その他の領域

rootディレクトリ、homeディレクトリはHex code or GUIDに「8300」を指定します。

Command (? for help): n
Permission number: 3
First sector     : # そのままEnter
Last sector      : +64GB
Hex code or GUID : # そのままEnter(8300が入る)

最後に、「p」で正しくパーティションが追加できているか確認します。

Command (? for help): p

Device        Start       End   Sectors Size Type
/dev/sda1      2048   1050623   1048576 512M EFI System
/dev/sda2   1050624  68159487  67108864  32G Linux Swap  
/dev/sda3  68159488 202377215 134217728  64G Linux filesystem
/dev/sda4 202377216 500118158 297740943 142G Linux filesystem

問題がなければ、「w」でパーティションの書き込みを実行します。

Command (? for help): w

インストール準備(3) -フォーマットとマウント-

分割したパーティションを順にフォーマットします。

# mkfs.fat -F32 /dev/sda1
# mkswap /dev/sda2
# swapon /dev/sda2
# mkfs.xfs -m crc=1 /dev/sda3
# mkfs.xfs -m crc=1 /dev/sda4

フォーマット後、パーティションをマウントします。マウントの順番に注意してください。

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

インストール実行

インストールデータをダウンロードするミラーサイトを選択します。jaistかtsukubaのURLをmirrorlistファイルの最上部に持っていきます。

# vi /etc/pacman.d/mirrorlist

##
## Arch Linux repository mirrorlist
## Sorted by mirror score from mirror status page
## Generated on 2015-01-01
##

Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
...

ここまでで、全ての準備が整いました。pacstrapコマンドで、必要最低限のシステムをインストールします。少し時間がかかるので、気長に待ちましょう。

# pacstrap /mnt base base-devel

次に、fstabファイルを作成します。

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

システム設定

ここから、Arch Linuxのシステム設定をしていきます。
chrootコマンドでシステムに入ります。

# arch-chroot /mnt /bin/bash

Locale設定

locale.genファイルを以下のように編集します。

# vi /etc/locale.gen

...
#en_SG ISO-8859-1  
en_US.UTF-8 UTF-8 ←コメントアウトを解除
#en_US ISO-8859-1  
...
#ja_JP.EUC-JP EUC-JP  
ja_JP.UTF-8 UTF-8 ←コメントアウトを解除
#ka_GE.UTF-8 UTF-8 
...

locale-genコマンドでlocaleを生成します。

# locale-gen

localeの設定ファイル、locale.confを作成します。ここではen_US.UTF-8に設定し、後で日本語フォントをダウンロードした直後に修正するようにします。

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

キーボード設定

キーボードレイアウトを設定します。また、再起動後にキーボード設定が有効になるようにvconsole.confファイルを作成しておきます。

# loadkeys jp106
# echo KEYMAP=jp106 > /etc/vconsole.conf

タイムゾーン設定

タイムゾーンを東京に設定します。同時に、ハードウェアクロックをUTCに設定します。

# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
# hwclock --systohc --utc

その他

ホストネームを設定します。

# echo hogehoge > /etc/hostname

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

# passwd

systemd-bootのインストール

疲れたので後日m(_ _)m

再起動

再起動をかけ、設定したパスワードでrootユーザーにログインできれば成功!

# exit
# umount -R /mnt
# reboot

感想

ぶっちゃけここまでは全員ほぼ同じ道を通るので、Wikiのインストールガイドや先人達のページを見た方が確実な気がする。Archの真髄はここからの設定の多様性なので、その辺りの記事をちゃんと継続して書けるように頑張ろうと思う次第。

参考サイト

http://archlinux-blogger.blogspot.jp/2016/03/arch-linux-uefi-gpt-xfs.html
https://wiki.archlinux.jp/index.php/%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%82%AC%E3%82%A4%E3%83%89

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です