Arch Linux を VMware Workstation にインストールした


VirtualBox にインストールするつもりだったんだけど iso イメージで起動させると以下のように panic するので VMware にしました。

参考

公式の wiki が充実してるのでそこだけ読んでもよし。

インストールの準備

VMware で仮想マシンを新規作成して iso イメージを Arch Linux JP Project - ダウンロード からダウンロード。日本のミラーサイトがあるので利用します。

efiの設定

UEFI モードで起動させるために VMware 仮想マシンを起動させる前に vmx ファイルを編集して 1 行追加します。

firmware = "efi"

起動させます。

コンソールのキーボードレイアウト

日本語で。

# loadkeys jp106

インターネットへの接続

ping して確認します

# ping archlinux.jp

SSHで接続

SSH で作業するとコピペできたりするので楽です。

sshd を起動させておきます。

# systemctl start sshd

パーティション

デバイスを確認します

# fdisk -l

パーティションを作ります。

パーティションの作成 と同じでよかろ。

パーティション 容量
ESP (EFI Syeten Partition) 512M
swap パーティション 1GB
データパーティション 残り容量全て
# gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.8

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries in memory.

Command (? for help): o
This option deletes all partitions and creates a new protective MBR.
Proceed? (Y/N): Y

Command (? for help): n
Partition number (1-128, default 1): 1
First sector (34-209715166, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-209715166, default = 209715166) or {+-}size{KMGTP}: +512M
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): EF00
Changed type of partition to 'EFI system partition'

Command (? for help): n
Partition number (2-128, default 2): 2
First sector (34-209715166, default = 1050624) or {+-}size{KMGTP}:
Last sector (1050624-209715166, default = 209715166) or {+-}size{KMGTP}: +1G
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'

Command (? for help): n
Partition number (3-128, default 3): 3
First sector (34-209715166, default = 3147776) or {+-}size{KMGTP}:
Last sector (3147776-209715166, default = 209715166) or {+-}size{KMGTP}:
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 8300
Changed type of partition to 'Linux filesystem'

w で書き込んで終了します。


Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sda.
The operation has completed successfully.

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

ファイルシステムは EXT4 にします。

# mkfs.vfat -F32 /dev/sda1

スワップを作成します。

# mkswap /dev/sda2

こんな感じになります。

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0    7:0    0 666.3M  1 loop /run/archiso/airootfs
sda      8:0    0   100G  0 disk
├─sda1   8:1    0   512M  0 part
├─sda2   8:2    0     1G  0 part
└─sda3   8:3    0  98.5G  0 part
sr0     11:0    1 824.3M  0 rom  /run/archiso/bootmnt

ファイルシステムのマウント

ルートボリュームを /mnt にマウントします。

# mount /dev/sda3 /mnt

EFI システムパーティションをマウントします。

# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot

スワップを有効化します。

# swapon /dev/sda2

インストール

パッケージをインストールします。

日本のミラーサイトを選択するようにします。

# nano /etc/pacman.d/mirrorlist

ミラーリスト一覧 https://archlinux.org/mirrorlist/ に行って Japan を選択して生成します。こんな一覧が生成されるので /etc/pacman.d/mirrorlist にコピペします。

## Japan
Server = http://mirrors.cat.net/archlinux/$repo/os/$arch
Server = https://mirrors.cat.net/archlinux/$repo/os/$arch
Server = http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/$repo/os/$arch
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
Server = https://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch

パッケージをインストールします。必須パッケージだけでなく使えると便利なものもいくつか混ざってます。

# pacstrap /mnt base base-devel linux linux-firmware networkmanager intel-ucode grub vi vim nano efibootmgr openssh dhcpcd netctl ccache zsh zsh-completions zsh-syntax-highlighting wget man-db man-pages screenfetch

システムの設定

fstab の生成

fstab を生成します。

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

chroot

インストールしたシステムに chroot します。

# arch-chroot /mnt

タイムゾーン

タイムゾーンを設定します。

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

/etc/adjtime を生成します。

# hwclock --systohc

ローカリゼーション

/etc/locale.gen を 編集 して以下 2 つをアンコメントします( 行頭の # を削除する )

  • en_US.UTF-8 UTF-8
  • ja_JP.UTF-8 UTF-8

ロケールを生成します。

# locale-gen

LANG 環境変数を設定します。

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

キーマップを設定します。

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

ネットワーク設定

ホスト名を設定します。

# echo misuzu > /etc/hostname

デーモンを起動させるようにします。

# systemctl enable systemd-networkd
# systemctl enable systemd-resolved
# systemctl enable dhcpcd.service

ついでに

# systemctl enable sshd

root のパスワード

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

# passwd

ブートローダー

よく使われる GRUB にします。

GRUB をインストールします。

# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub

grub.cfg の場所を grub-mkconfig に教えてやります。

# grub-mkconfig -o /boot/grub/grub.cfg

再起動

chroot から抜けます

# exit

アンマウントします。

# umount -R /mnt

reboot します。

# reboot

インストールは以上です。お疲れ様でした。