Arch Linux インストールメモ


Arch Linux のインストーラが抹殺されたようなので、メモがてら晒してみる。

前提

/dev/sdb が、SSD で、こちらに Arch Linux を入れる。
/dev/sda が、プリインストール Windows が入っている HDD で、こいつはそのままにしておく。

はじめ

/boot (sdb1) と LVM 用 (sdb2) のパーティションを作る
/boot は 83 Linux
LVM は 8e Linux LVM

# fdisk /dev/sdb

LVM

LVM の物理ボリュームを作る

# pvcreate /dev/sdb2

LVM のボリュームグループを作る

# vgcreate VolGroup00 /dev/sdb2

device-mapper モジュールのロード

# modprobe dm-mod

とりあえず、/ に全割り当て

# lvcreate -l +100%FREE VolGroup00 -n lvolroot

ファイルシステムを作る

# mkfs.ext3 /dev/sdb1
# mkfs.ext4 /dev/mapper/VolGroup00-lvolroot

マウント

# mount /dev/mapper/VolGroup00-lvolroot /mnt
# mkdir /mnt/boot
# mount /dev/sdb1 /mnt/boot

ネット

ネットにつなげられるようにする
(/etc/network.d/examples/ に各種サンプルあり)

# vi /etc/network.d/my
...
# vi /etc/resolv.conf
...
# netcfg up my

パッケージのインストール

システムのインストール

# pacstrap /mnt base base-devel

GRUB2

# pacstrap /mnt grub-bios

ネット設定コピー

今使っている設定を、コピー
これで、インストール後、すぐにネット接続できる

# pacstrap /mnt netcfg
# cp /etc/network.d/my /mnt/etc/network.d/my
# cp /etc/resolv.conf /mnt/etc/resolv.conf

fstab

fstab の生成確認
マウントオプションとかチェックしておく

# genfstab -p /mnt

fstab を書き加える
足りなかったオプションとかは追加しとく
(discard とか)

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

インストール先の環境に入る

良い感じに chroot してくれる

# arch-chroot /mnt

基本的な設定とか

ここら辺は、後でもいいだろうが…。

ホスト名設定
単純にホスト名だけを書く
デフォルトでは存在しないっぽい

vi /etc/hostname

タイムゾーン

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

Locale

# vi /etc/locale.conf
LANG="en_US.UTF8"
LC_COLLATE="C"
export LANGUAGE="en_US:en"

# vi /etc/locale.gen
en_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8

# vi /etc/vconsole.conf
KEYMAP="us"

# locale-gen

起動用イメージ

mkinitcpio
LVM を使うので "lvm2" を "HOOKS" に追加

# vi /etc/mkinitcpio.conf
HOOKS="base udev autodetect pata scsi sata lvm2 filesystems usbinput fsck"

# mkinitcpio -p linux

ブートローダ

grub2
Windows を起動できるようにする

# vi /etc/grub.d/40_custom
menuentry "Windows 7"{
  set root=(hd0,1)
  chainloader +1
}

# grub-install --root-directory=/ --recheck /dev/sdb
# grub-mkconfig -o /boot/grub/grub.cfg

ついでに fdisk で、/dev/sdb1 をアクティブに、
元々アクティブだった /dev/sda2 を非アクティブにしておく。

root のパスワード

# passwd

umount

# exit
# umount /mnt/{boot,}

おわり

# reboot

あとは、普通に起動するので、好きなパッケージいれたりする。

コンテニューコマンド

なにかやらかしてたら、また CD なんぞから起動して…

# modprobe dm-mod
# vgchange -ay
# mount /dev/mapper/VolGroup00-... /mnt
# mount /dev/sdb1 /boot
# arch-chroot /mnt

感想

割と時間がかかってしまったが、2 度目からはそう問題ないかと思う。
もともと、あまり親切なインストーラじゃなかったので、これはこれで良いかと思う。

しかし、systemd のことはすっかり忘れていた。

あとは、zsh とか諸々のツールの設定をうまく共有&バージョン管理できるようにしたいところ。
まだ、メイン環境からサブ環境へコピーすることを前提にした、中途半端なスクリプトしかない。