読者です 読者をやめる 読者になる 読者になる

Arch Linuxをインストールしてみた

Xubuntu14.04の調子がおかしくなってきたので以前から気になっていたArch Linuxをインストールしてみた。

ハードウェア

M/B firmware: UEFI

Network: 有線 & DHCP

構成の概略

概略というか目標というか。UEFIブートをやりたかったのとLVMを使ってみたかったので次のような構成に。

  • Partition table: GPT
  • /dev/sda1: EFI system partition (1GB)
  • /dev/sda2: LVM partition (残り全部)
  • Boot loader: Gummiboot
  • GUI: LightDM + Xfce4

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

まずはlsblkコマンド等でUSBメモリのパスを確認。その後ddコマンドでisoイメージをUSBメモリに書き込みます。

$ dd bs=4M if=archlinux-x.x.x-dual.iso of=/dev/sdx

最初、UNetbootinを使用して見事にハマりました。ddを使いましょう。

キーボードレイアウトの指定

$ loadkeys jp106

パーティショニング

※この操作はHDDのデータをすべて消去します。必要なデータは事前にどこかへ移しておいてください。

$ gdisk /dev/sda

"o"でGPTパーティションテーブルを作成。

"n"で新しいパーティションを作成

  • Partition nubmer: (default)
  • First sector: (default)
  • Last sector: +1G
  • Hex code or GUID: ef00

"n"でもうひとつパーティションを作成

  • Partition number: (default)
  • First sector: (default)
  • Last sector: (default)
  • Hex code or GUID: 8e00

"p"で書き込まれる構成を確認。

"v"で構成に問題がないかgdiskがチェックしてくれる。No problems found...ならOK。

"w"で実際にディスクに書き込む。

書き込んだら一応再起動。

$ reboot

LVMの設定

$ pvcreate /dev/sda2
$ vgcreate vg01 /dev/sda2
$ lvcreate -L 128G -n root vg01
$ lvcraete -l 100%FREE -n home vg01

ファイルシステムの作成

$ mkfs.vfat -F32 /dev/sda1
$ mkfs.ext4 /dev/mapper/vg01-root
$ mkfs.ext4 /dev/mapper/vg01-home

/mntにマウント

$ mount /dev/mapper/vg01-root /mnt
$ mkdir /mnt/boot
$ mkdir /mnt/home
$ mount /dev/sda1 /mnt/boot
$ mount /dev/mapper/vg01-home /mnt/home

ミラーサーバの選択

$ nano /etc/pacman.d/mirrorlist
 Server = http://ftp.tsukuba.wide.ad.jp/...
 Server = http://ftp.jaist.ac.jp/...
 など日本のサーバーをリストの一番上に移動する。

nanoを使用している場合、次の機能が利用可能。

  • Ctrl+W: 検索
  • Ctrl+^: 範囲選択開始
  • Ctrl+K: 切り取り
  • Ctrl+U: 貼り付け
  • Ctrl+O: 上書き保存
  • Ctrl+X: 終了

ベースシステムのインストールと基本設定

$ pacstrap /mnt base base-devel
$ genfstab -p /mnt >> /mnt/etc/fstab
$ arch-chroot /mnt
$ echo [ホスト名] > /etc/hostname
$ ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ nano /etc/locale.gen
 en_US.UTF-8 UTF-8
 ja_JP.UTF-8 UTF-8
 をアンコメント
$ locale-gen
$ echo LANG=en_US.UTF-8 > /etc/locale.conf
$ echo KEYMAP=jp106 > /etc/vconsole.conf
$ passwd

Gummibootのインストール

$ pacman -S gummiboot
$ gummiboot --path=/boot install
$ nano /boot/loader/loader.conf
 timeout 5
 default arch-*
$ nano /boot/loader/entries/arch-lvm.conf
 title Arch Linux (LVM)
 linux /vmlinuz-linux
 initrd /initramfs-linux.img
 options root=/dev/mapper/vg01-root rw
$ nano /etc/mkinitcpio.conf
 HOOKS="base udev ..."にlvm2を追加
$ mkinitcpio -p linux

chrootから戻って、アンマウント、一旦電源を切る。

$ exit
$ umount -R /mnt
$ poweroff

USBを抜いて電源オン、起動すれば成功。

※Gummibootのインストール時に"Not booted with EFI, skipping EFI variable setup."と表示されたのでUEFIブートできているのか怪しいが、自分の環境では一応起動した。

DHCPを有効化

$ systemctl enable dhcpcd.service
$ reboot

sudoユーザを追加

$ useradd -m -g wheel ユーザー名
$ passwd ユーザー名
$ visudo (nanoを使いたい場合はEDITOR=nano visudo)
 次の行をアンコメント
 Defaults env_keep += "HOME"
 %wheel ALL=(ALL) ALL

以上で基本設定は終わり。

Arch Linuxをインストールしてみた(GUI編)へ続く。