ext4ファイルシステムでインストールする場合は下記ページを参照してください
Contents
1.パーティションの作成
1.1 インストールデバイスの確認
lsblkコマンドで対象のデバイスを確認する
1 2 3 4 5 |
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 788.9M 1 loop /run/archiso/airootfs sr0 11:0 1 1.1G 0 rom /run/archiso/bootmnt nvme0n1 259:0 0 30G 0 disk |
今回は上記からデバイスは/dev/nvme0n1にあります
1.2 パーティションの作成
GPT の場合
1 2 3 4 5 6 7 8 9 10 |
# gdisk /dev/nvme0n1 GPT fdisk (gdisk) version 1.0.10 Partition table scan: MBR: not present BSD: not present APM: not present GPT: not present Creating new GPT entries in memory. |
・o コマンドで、空のパーティションテーブルを作成
1 2 3 |
Command (? for help): o This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): Y |
・EFI システムパーティションを作成
n コマンドで、パーティションを追加
1 2 3 4 5 6 7 |
Command (? for help): n Partition number (1-128, default 1): First sector (34-62914526, default = 2048) or {+-}size{KMGTP}: Last sector (2048-62914526, default = 62912511) 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' |
・Arch Linux 用パーティションを作成
n コマンドで、パーティションを追加
1 2 3 4 5 6 7 |
Command (? for help): n Partition number (2-128, default 2): First sector (34-62914526, default = 1050624) or {+-}size{KMGTP}: Last sector (1050624-62914526, default = 62912511) 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コマンドを使用します
1 2 3 4 5 6 7 8 |
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/nvme0n1. The operation has completed successfully. |
1.3 パーティションのフォーマット
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# mkfs.vfat -F32 /dev/nvme0n1p1 mkfs.fat 4.2 (2021-01-31) # mkfs.btrfs /dev/nvme0n1p2 btrfs-progs v6.8 See https://btrfs.readthedocs.io for more information. Performing full device TRIM /dev/nvme0n1p2 (29.50GiB) ... NOTE: several default settings have changed in version 5.15, please make sure this does not affect your deployments: - DUP for metadata (-m dup) - enabled no-holes (-O no-holes) - enabled free-space-tree (-R free-space-tree) Label: (null) UUID: 84f32982-597f-4f2e-939f-6b0226d7038b Node size: 16384 Sector size: 4096 (CPU page size: 4096) Filesystem size: 29.50GiB Block group profiles: Data: single 8.00MiB Metadata: DUP 256.00MiB System: DUP 8.00MiB SSD detected: yes Zoned device: no Features: extref, skinny-metadata, no-holes, free-space-tree Checksum: crc32c Number of devices: 1 Devices: ID SIZE PATH 1 29.50GiB /dev/nvme0n1p2 |
1.4 パーティションのマウント
Arch Linux 用パーティションの/dev/sda2を/mntディレクトリにマウント
EFI システムパーティションに、ブートローダーや Linux カーネルをインストールする/dev/sda1を/mnt/bootディレクトリへマウントする
1 2 3 |
# mount /dev/nvme0n1p2 /mnt # mkdir /mnt/boot # mount /dev/nvme0n1p1 /mnt/boot |
2.Arch Linuxのインストール
2.1 baseシステム等のインストール
以下のコマンドでbase、base-devel, linux、linux-headers、linux-firmwareグループ、btrfsのユーティリティ、エディタとしてvimもインストールする
1 |
# pacstrap /mnt base base-devel linux linux-headers linux-firmware btrfs-progs vim |
2.2 fstabの作成
起動時に自動的にマウントするパーティションなどの情報を、/etc/fstab のファイルに記述します。
1 |
# genfstab -U /mnt >> /mnt/etc/fstab |
fstab ファイルの内容を確認
1 2 3 4 5 6 7 8 9 10 11 |
# vim /mnt/etc/fstab # Static information about the filesystems. # See fstab(5) for details. # <file system> <dir> <type> <options> <dump> <pass> # /dev/nvme0n1p2 UUID=84f32982-597f-4f2e-939f-6b0226d7038b / btrfs rw,relatime,ssd,space_cache=v2,subvolid=5,subvol=/ 0 0 # /dev/nvme0n1p1 UUID=913B-2813 /boot vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro 0 2 |
3.インストールしたシステム内で初期設定
インストールしたシステムに入るにはarch-chrootコマンドを使います。
arch-chroot は、Arch Linux インストール用のスクリプトで、指定したパスがルート "/" になるようにマウントします。
ただし、これ以降はインストール先ArchLinuxにあるコマンドしか使えません、インストールメディア内にあるコマンドは利用できません。
例えばパッケージをインストールする場合pacstrapは利用できずpacmanを使用します。
インストールしたシステムに入る(/mntが/になる)
1 2 |
# arch-chroot /mnt [root@archiso /]# |
3.1 ファイル検索コマンドの利用
ファイルを検索するlocateコマンドをインストール
1 |
# pacman -S locate |
3.2 timezoneの設定
以下のコマンドを実行してtimezoneを日本に設定します。
1 |
# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime |
3.3 時刻の設定
再起動しても時刻が正しくなるように、現在の Linux 上での時刻を、マザーボードの内部時計に書き込みます。
1 |
# hwclock --systohc --utc |
3.4 使用する言語を設定
今回は英語にする
/etc/locale.genの「#en_US.UTF-8 UTF-8」 「#ja_JP.UTF-8 UTF-8」 の先頭の# を削除
locale-gen コマンドで、各言語のロケールを生成
1 2 3 4 5 6 7 8 9 10 11 |
# vim /etc/locale.gen 171行目 en_US.UTF-8 UTF-8 296行目 ja_JP.UTF-8 UTF-8 # locale-gen Generating locales... es_US.UTF-8... done ja_JP.UTF-8... done Generation complete. |
/etc/locale.conf ファイルを作成して、デフォルトのロケールを指定(今回は英語にする)
1 |
# echo LANG=en_US.UTF-8 > /etc/locale.conf |
3.5 キーボードレイアウト設定
キーボード配列を日本語に指定
1 |
# echo KEYMAP=jp106 > /etc/vconsole.conf |
3.6 ホスト名設定
パソコンのホスト名を決めて、設定する
ローカーネットワーク内だけで使用するのであれば適当な名前でよい(今回はLepard)
外部に公開する場合はFQDNにする
1 |
# echo Lepard > /etc/hostname |
同じhostnameを/etc/hostsにも記述する
1 2 3 4 |
# vim /etc/hosts 127.0.0.1 localhost ::1 localhost 127.0.1.1 【ホストネーム】.localdomain 【ホストネーム】 |
4. ネットワーク関連設定
インストール先の Arch Linux 上では、まだネットワークの設定を行っていないので、別途設定する必要がある
今回はsystemd-networkd を使い設定する
ただし、DNS を管理するために、systemd-resolved も必要になる
4.1 systemd-networkdとsystemd-resolvedが起動時に有効になるようにする
1 2 3 4 5 6 7 8 9 |
# systemctl enable systemd-networkd systemd-resolved Created symlink /etc/systemd/system/dbus-org.freedesktop.network1.service → /usr/lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/multi-user.target.wants/systemd-networkd.service → /usr/lib/systemd/system/systemd-networkd.service. Created symlink /etc/systemd/system/sockets.target.wants/systemd-networkd.socket → /usr/lib/systemd/system/systemd-networkd.socket. Created symlink /etc/systemd/system/sysinit.target.wants/systemd-network-generator.service → /usr/lib/systemd/system/systemd-network-generator.service. Created symlink /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service → /usr/lib/systemd/system/systemd-networkd-wait-online.service. Created symlink /etc/systemd/system/dbus-org.freedesktop.resolve1.service → /usr/lib/systemd/system/systemd-resolved.service. Created symlink /etc/systemd/system/sysinit.target.wants/systemd-resolved.service → /usr/lib/systemd/system/systemd-resolved.service. |
4.2 ネットワーク設定ファイル作成
各ネットワークごとに、テキストファイルを生成し、設定する必要がある
/etc/systemd/network/ に mynet.network ファイルを新規作成する(mynetの部分は任意でよい)
1 2 3 4 5 6 7 |
# vim /etc/systemd/network/mynet.network 下記を記述する [Match] Name=<インターフェイス名> [Network] DHCP=yes |
<インターフェイス名>は次のコマンドで確認できる
#ip a
4.3 systemd-resolved 設定
systemd-resolved は、DNS を管理するサービスでDNS サーバの IP アドレスは、/etc/resolv.conf に記述する必要がありますが、systemd-resolved を使う場合、このファイルは自動で生成されません。
代わりに、/run/systemd/resolve/ にあるファイルを下記コマンドでリンクする必要がありますがインストール段階では作成されませんのでインストール後Arch Linuxを起動してから実行します。
この段階では実施しないでください。
1 |
# ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf |
5. パスワード設定
root (管理者権限) のパスワードを設定
最初に簡単なパスワードを作成しましたが、正式なパスワードとして複雑なパスワードを設定します
1 |
# passwd |
6. ブートローダーインストール
今回はBIOS/UEFI 両方に対応しているGRUBをインストールする
6.1 マイクロコードのインストール
マイクロコードのパッケージ intel-ucode, もしくはamd-ucode をあらかじめインストールしておくと、grub-mkconfig 時に、GRUB が自動でその処理を設定してくれるので、先にインストールしておく(今回はintel-ucode,)
1 |
# pacman -Sy intel-ucode |
6.2 GRUBをUEFI-GPT 64bit 環境にインストール
1 |
# pacman -S grub efibootmgr |
1 |
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=archlinux_grub |
archlinux_grubの名称は任意でよい
最後にNo error reported.と表示されれば成功
※ .efi のコピー
UEFI のファームウェアによっては、/boot/EFI/boot 内に bootx64.efi という名前で、デフォルトの efi ファイルが必要な場合があるのでGRUB 用の *.efi ファイルをコピーして、作成しておく
1 2 |
# mkdir /boot/EFI/boot # cp /boot/EFI/archlinux_grub/grubx64.efi /boot/EFI/boot/bootx64.efi |
6.3 grub.cfg の生成
起動情報などが書かれた設定ファイルを、自動で生成
1 |
# grub-mkconfig -o /boot/grub/grub.cfg |
7. 再起動
インストールは完了したので再起動する
1 2 3 |
# exit # umount -R /mnt # reboot |
再起動後
一般ユーザーをまた作成していないのでrootでログインする
パスワードは上記で作成したものを使用する
続けてインストールしたArchLinuxを起動した環境で初期設定を行います。