mattintosh note

どこかのエンジニアモドキの備忘録

Arch Linux 64-bit and UEFI Installation

VirtualBox/Arch Linux 64-bit/UEFI/1GB RAM 環境で。

loadkeys jp106
lsblk
sgdisk -Z /dev/sda
sgdisk -o
  -n 1::+512M -t 1:ef00 \
  -n 2::: \
  /dev/sda
mkfs.vfat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
pacstrap /mnt base dosfstools efibootmgr gummiboot
genfstab -U -p /mnt >>/mnt/etc/fstab
arch-chroot /mnt
ln -sf /usr/share/timezone/Asia/Tokyo /etc/localtime
echo KEYMAP=jp106 >/etc/vconsole.conf
sed -i '/^#\(en_US\|ja_JP\).UTF-8/s/^#//' /etc/locale.gen
locale-gen
echo LANG=en_US.UTF-8 >/etc/locale.conf
dd if=/dev/zero of=/swapfile bs=1M count=1K
chmod 0600 /swapfile
mkswap /swapfile
echo /swapfile none swap swap 0 0 >>/etc/fstab
ip addr
systemctl enable dhcpcd@enp0s3
mkinitcpio -p linux
gummiboot install
sed -i 's/^#//' /boot/loader/loader.conf
cat <<! >/boot/loader/entries/arch.conf
title Arch Linux (64-bit)
linux /vmlinuz-linux
initrd /initramfs.img
options root=PARTUUID=`blkid -s PARTUUID /dev/sda2 | cut -d\" -f2` rw
!
cat /boot/loader/entries/arch.conf
exit
reboot

Description

日本語配列キーボード用に jp106 キーマップを読み込む。

loadkeys jp106

デバイスリストを確認する。

lsblk

ディスクを GPT で初期化する。ターゲットは /dev/sda とする。UEFIパーティションは 512 MB 以上とし、パーティションタイプを ef00EFI System)とする。スワップ領域はファイルにするのでパーティションは作成しない。

sgdisk -Z /dev/sda
sgdisk -o \
  -n 1::+512M -t 1:ef00 \
  -n 2::: /dev/sda

ファイルシステムを作成する。UEFI パーティションは FAT32 でフォーマットする。

mkfs.vfat -F32 /dev/sda1
mkfs.ext4 /dev/sda2

ルートパーティション/mnt にマウントし、/boot パーティション/mnt/boot にマウントする。

mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

pacstrap/mnt に対して実行。base の他に UEFI 用に dosfstoolsefibootmgrgumiboot が必要。grub を使用する場合は grub をインストール。

pacstrap /mnt base dosfstools efibootmgr gummiboot

fstab を作成する。-U は UUID で作成する場合のオプション。

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

chroot 環境に入る。シェルを指定する場合は引数に /bin/bash などを追加。

arch-chroot /mnt

タイムゾーン設定。

ln -sf /usr/share/timezone/Asia/Tokyo /etc/localtime

キーマップ自動設定用。

echo KEYMAP=jp106 >/etc/vconsole.conf

ロケール設定。/etc/locale.gen は vi などで編集しても可。

sed -i '/^#\(en_US\|ja_JP\).UTF-8/s/^#//' /etc/locale.gen
locale-gen
echo LANG=en_US.UTF-8 >/etc/locale.conf

スワップファイル作成。

dd if=/dev/zero of=/swapfile bs=1M count=1K
chmod 0600 /swapfile
mkswap /swapfile
echo /swapfile none swap swap 0 0 >>/etc/fstab

NIC 設定。

ip addr
systemctl enable dhcpcd@enp0s3

初期 RAM ディスクを作成。

mkinitcpio -p linux

ブートローダをインストール。

gummiboot install

timeout コメントアウト外し。(適当に省略可)

sed -i 's/^#//' /boot/loader/loader.conf

エントリファイルを作成する。ここで間違うとまた Live ディスクから起動することになる。

cat <<! >/boot/loader/entries/arch.conf
title Arch Linux (64-bit)
linux /vmlinuz-linux
initrd /initramfs.img
options root=PARTUUID=`blkid -s PARTUUID /dev/sda2 | cut -d\" -f2` rw
!

エントリファイルを再確認。

cat /boot/efi/loader/entries/arch.conf

chroot 環境を抜ける。

exit

再起動。

reboot

Raspberry Pi 2 Model B (1)

Raspberry Pi 2 Model B (1)

Raspberry Piユーザーガイド 第2版

Raspberry Piユーザーガイド 第2版