| tags:linux arch categories:computing

BtrfsにArchをインストール

すでにDebianとManjaroで利用中のBTRFSパーティションに あらたにArchを追加・新規インストールした際のメモ。

自分の作業メモとして残す。

現在Wifiネットワーク設定方法がいくつかの選択肢があって、 Window Magagerも何で使うかをまだ決めていないので、 少々面倒になりつつあるのでとりあえず放置。 現在デビアン&マンジャーロを使ってます。

インストールメディアの作成はお馴染みのEtcherを使う。

Thinkpad T480sを使っているので、ネットワークケーブルをつなぎ、 起動後F12を押しブートメニュー、USBスティックで起動。

自動でログインされる。

root@archiso $

サブボリュームの作成・マウント

すでに、BTRFSでのフォーマットがされているので、 パーティションをマウントしてArchのためのサブボリュームを作る。

root@archiso $ mount /dev/nvme0n1p5 /mnt
root@archiso $ btrfs subvolume create /mnt/@arch

※ ちなみに削除は btrfs subvolume delete /mnt/@arch 、パーティションのフォーマットは mkfs.btrfs -L “Linuxes” /dev/nvme0n1p5

/homeと/var/cacheは共有しているので、 すでに @debian, @manjaro, @cache, @home がある。

root@archiso $ cat /mnt/@manjaro/etc/fstab

でマンジャーロで使っているマウントオプションを表示しておく。

そして、マウントを解除、必要なディレクトリを作成、インストール先をマウントする。

root@archiso $ umount /mnt
root@archiso $ mount /dev/nvme0n1p5 /mnt -o rw,noatime,compress=lzo,ssd,space_cache,commit=120,subvol=@arch

root@archiso $ mkdir -p /mnt/home
root@archiso $ mkdir -p /mnt/var/cache
root@archiso $ mount /dev/nvme0n1p5 /mnt/home -o rw,noatime,,,,,subvol=@home
root@archiso $ mount /dev/nvme0n1p5 /mnt/var/cache -o rw,noatime,,,,,subvol=@cache

root@archiso $ mkdir -p /mnt/boot/efi
root@archiso $ mount /dev/nvme0n1p1 /mnt/boot/efi

インストール作業

エラーが出たので、Keyringをリフレッシュして、ミラーを選択。 vimは入っていない、インストールされているnanoの使い方が分からん+日本探しがちと面倒。 (ALT+6でコピー、CTR+uでペースト)

root@archiso $ pacman -Sy archlinux-keyring
root@archiso $ nano /etc/pacman.d/mirrorlist

ベース・システムをインストール。とりあえず、ノーマルのカーネル。 (血をみる環境にするつもりならlinux-zenかな。)

root@archiso $ pacstrap /mnt base base-devel linux linux-headers

fstabを書き込み、subvol表記がダブるので修正。 swapは後から追加する。 swapon /dev/nvme0n1p10で有効にできたかも。

root@archiso $ genfstab -U -p /mnt >> /mnt/etc/fstab
root@archiso $ nano /mnt/etc/fstab

システムの基本設定

root@archiso $ arch-chroot /mnt
root@archiso $ pacman -S vim

nanoもviもないのでインストール。 私はvim、お好みでnano。

ロケーション、ハードウェアクロック、ホスト名の設定。

root@archiso $ ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
root@archiso $ hwclock --systohc --utc

ロケールの設定

root@archiso $ vim /etc/locale.gen
root@archiso $ locale-gen

root@archiso $ echo LANG=en_US.UTF-8 > /etc/locale.conf
root@archiso $ export LANG=en_US.UTF-8 

root@archiso $ echo guiness > /etc/hostname
root@archiso $ vim /etc/hosts

127.0.0.1   localhost
::1     localhost
127.0.1.1   guiness.localdomain guiness

BTRFSのための調整

root@archiso $ vim /etc/mkinitcpio.conf

52行目:HOOKS=( base … -fsck, +btrfs)

root@archiso $ mkinitcpio -P

ユーザーとパスワード

パスワードとユーザーの設定、wheelユーザーにsudoの権限を与える。 viがないと怒られるたら、vimにシンボリックリンクをはる。

root@archiso $ passwd
root@archiso $ useradd -m -G users,wheel,storage,power,network -s /bin/zsh -c “NAME” jin
root@archiso $ passwd jin
root@archiso $ passwd visudo

EFI ブートマネージャー

ブートマネージャーGrub関連のインストール

root@archiso $ pacman -S btrfs-progs dosfstools efibootmgr grub
root@archiso $ grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch 

設定の書き出し。

root@archiso $ grub-mkconfig -o /boot/grub/grub.cfg

有線LAN設定

有線の設定ファイルを作成する。

root@archiso $ vim /etc/systemd/network/20-wired.network

[Match]
Name=enp0s31f6

[Network]
DHCP=ipv4

ipアドレスは取れたけれどDNSの設定は他のところする必要がある。 ルーターのDNSアドレスをとりあえず加える。

root@archiso $ vim /etc/systemd/resolved.cof

DNS=10.10.10.10

そしてサービスを登録しておく。

root@archiso $ systemctl restart systemd-networkd.service
root@archiso $ systemctl start systemd-resolved.service

でとりあえず、ネットワークに繋がる。ネットワーク関連は鬼門。

https://wiki.archlinux.jp/index.php/Systemd-networkd

終了

マウントを解除して終了。

root@archiso $ exit
root@archiso $ umount /mnt/boot/efi
root@archiso $ umount /mnt/var/cache
root@archiso $ umount /mnt/home
root@archiso $ umount /mnt/
root@archiso $ reboot

とりあえず、ベアメタル環境ができあがる。

wifiとzfsはdkmsを使う。

See Also

🏝 tipping

🌷 sat ⚡️ goozenlab@getalby.com
🌻 bitcoin : bc1qnjhnsxgqah050995dkdveav4y3t3d7uxyme4ud

If you do send a tip, Please email me so that I can say thank you.