Arch Linux メモ - Install

はい、インストールのメモです。基本的なことしかかいてないし、下手するとぐぐったほうが最適解あるかもね。

自動インストール

下記については手動インストールのメモです。

# archinstall

これがisoイメージから起動できる場合、このほうが早い可能性があります。

手動インストールメモ

ISOイメージ入手

ArchWikiのインストールガイド から最新のISOイメージをダウンロードしよう。 CD/DVDのイメージは月初に作られてるので、たとえば2022年8月なら 2022.08.01 といったナンバリングのイメージがあるはず。

仮想環境/実機の設定

仮想環境なら、DVD仮想ドライブにISOファイルを指定すればOK。実機なら、USBメモリ(ないしSDカード等のメディア)に焼き付けるのが適当でしょう。なんらかの Linux 環境 (もちろん Arch でもいいし、Ubuntu Debian 等でもよいです)で下記コマンドを実行し、USBメモリをブータブルにしましょう。

$ sudo dd bs=4M if=archlinux-202X.XX.01-x86_64.iso of=/dev/sdx conv=fsync oflag=direct status=progress

仮想PCでEFI/BIOSブート環境

ArchISO ブート

設定が最小限すんだら、ISOイメージを起動しましょう。

# passwd root
(パスワードを設定)
# ip addr
(IPv4アドレスがでてくるのでメモ)

ここまできたら、DVDのブートイメージに外部からsshでアクセスできるので、ssh でアクセスするなりなんなり。

事前設定

# loadkeys jp106
(日本語キー設定 実機用 / ssh の場合は特に不要)
# timedatectl set-ntp true; timedatectl set-timezone Asia/Tokyo
(NTP同期スタート + EFI/BIOS時刻を日本時間準拠に)
# timedatectl status
(日本時間設定とNTP同期ONの確認)

パーティション確保

# fdisk -l
(ディスク構成確認: 仮想 PC の場合、 /dev/sda が手つかずであるはず)

パーティション初期化とマウント

pacman / pacstrap で基本イメージをいれる

まずミラーリストを更新。

# cd /etc/pacman.d/; mv mirrorlist mirrorlist.org; reflector | grep .jp > ./mirrorlist
# vim ./mirrorlist
(juniorjpdj.pl 鯖の行を全部削除、.jp ドメインだけにする)

あるいはこっちのほうが適切かも。

# cd /etc/pacman.d/; mv mirrorlist mirrorlist.org; reflector --country 'Japan' --age 24 --sort rate --save /etc/pacman.d/mirrorlist;
# vim ./mirrorlist; vim /etc/pacman.conf
(vimは内容確認のためだけのもの。後者は ColorとかのオプションをONしたいときにコメントアウトを解除する)

mirrorlist の確認が終わったら導入。( カーネルの更新が頻繁にあるので、linux のかわりに linux-lts を指定してもいいかもです)

# pacstrap /mnt base linux linux-firmware
Linux本体を最小限だけ /mnt に放り込むおまじない
  + base Archの基本パッケージ
  + Linux Linux コア部分、ブート構成用
  + linux-firmware 一般的なハードウェア関連

スワップ作成

lvm2でSwapパーティションがsda2にあるなら省略する。

# dd if=/dev/zero of=/mnt/swap.img bs=1024 count=8388608 status=progress
8GiBのダミーファイル swap 用を生成。試験的に1GBにしたいなら下記。
# dd if=/dev/zero of=/mnt/swap.img bs=1024 count=1048576 status=progress

# chmod 600 /mnt/swap.img; mkswap /mnt/swap.img; swapon /mnt/swap.img; free
SWAPのパーミッションを適切に設定し、初期化して運用開始

パーティション構成保存

# genfstab -U /mnt >> /mnt/etc/fstab
/mnt 内部の fstab を適切に設定

# arch-chroot /mnt
ルートが /mnt になる

# passwd root
(rootパスワードを設定 : HDD/SSD上のパーティション上で)

# pacman -S grub efibootmgr lvm2 sudo openssh networkmanager nano vi vim dosfstools bash-completion
最小限の追加ツールをいれる (GRUB : ブート用 efibootmgr : EFIブート用でBIOSなら省略可能  lvm2 : LVM2未使用なら省略可能 sudo/openssh/networkmanager 遠隔アクセス用 nano vi vim はエディタ dosfstools は FAT16or32の初期化等用 bash-completion は補完機能用)

GRUB設定編集 (暗号化時のみ)

# nano /etc/default/grub
( GRUB_CMDLINE_LINUX  を検索、"" の中に...)
   cryptdevice=/dev/sda2:cryptroot     と追記する
(キーファイルがある場合は、GRUB_CMDLINE_LINUX_DEFAULT 行を置換 (lvm次第では設定を変えないといけない)。ない場合は変更しない)
GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=/dev/sda2:cryptroot cryptkey=rootfs:/etc/luks_keyfile root=/dev/mapper/cryptroot"  (sda2の直接暗号化の場合)
GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=/dev/sda2:cryptroot cryptkey=rootfs:/etc/luks_keyfile root=/dev/vg-system/root"    (sda2にlvm2をしいている場合)
# nano /etc/mkinitcpio.conf 
 (この行を)
   HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
 (こういうふうに追記する。block / filesystems のまんなかに encrypt lvm2 / lvm未使用なら lvm2は省略可能。 consolefont が存在する場合削除しても良い)
   HOOKS=(base udev autodetect modconf block encrypt lvm2 filesystems keyboard fsck)
# 鍵ファイルがある場合は追記する、ない場合はなにもかかない。
FILES=(/etc/luks_keyfile)

# mkinitcpio -p linux
Image generation successful

GRUBの登録

ユーザーを登録

あとしまつ

# swapoff --all
# exit
(chroot 終了)
# umount /mnt/boot; umount /mnt
(アンマウント)

リブート

# shutdown -r now
(ISOイメージを終了、HDD/SSDから再起動)

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-12-20 (水) 18:44:02