- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2023-09-14T16:03:52+00:00","","")
*Arch Linux on APF
#author("2024-05-18T17:49:31+00:00","","")
*Arch Linux on APF [#h547c08f]
**なんとなく Windows 11 とデュアルブート [#x622b4bf]
というわけで走り書きのメモ。
***事前のWindows 11設定 [#a7fca37f]
管理者権限のコンソールを開く。
> reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f
まざぼの時間をローカルタイムではなくUTCに設定する (後ほど時刻調整必須)
> powercfg /h off
高速スタートアップとハイバネートの無効化 (後ほどいちどWindowsをシャットダウンして起動しなおすこと)
**ArchISO 起動 [#d7d297d6]
-デュアルモニタなので4Kモニタの画面が3/4ほどぶっ壊れている。
-下記設定して、外部からSSHでつなぐ。
# passwd root
# ip addr
(IPアドレス確認)
***時刻設定とか [#oc361395]
# loadkeys jp106
(日本語キー設定 実機用 / ssh の場合は特に不要)
# timedatectl set-ntp true; timedatectl set-timezone Asia/Tokyo
(NTP同期スタート + EFI/BIOS時刻を日本時間準拠に)
# timedatectl status
(日本時間設定とNTP同期ONの確認)
***パーティション確認と確保 [#sef0db83]
-パーティションわけ (HDD Drive)
# fdisk -l
sda1 に EFIが、sdd2以降がハードディスクの空きと確認。
# gdisk /dev/sdd
n -> +1GB, EF00 (EFI System) sdd2 EFI 領域
n -> +32GB, 0700 (MS Reserved) sdd3 予約領域 (利用しない)
n -> +256GB, 8e00 (Linux LVM) sdd4 ArchLinux 投入領域
# mkfs.vfat -F 32 /dev/sdd2
予約を仮初期化
-暗号化パーティション設定
# cryptsetup -v --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random --verify-passphrase luksFormat /dev/sdd4
Are you sure? : YES
Password : 任意のなにか。
# cryptsetup luksDump /dev/sdd4
(ダンプ確認)
# cryptsetup open --type luks /dev/sdd4 cryptroot
(パスワードいれてマウント)
LVつくってく(256GB のパーティションわけ on sdd4)
# pvcreate /dev/mapper/cryptroot
# vgcreate vg-system /dev/mapper/cryptroot
# lvcreate --size 160G vg-system -n root
# lvcreate --size 16G vg-system -n swap
# lvcreate --size 78G vg-system -n home
# mkfs.ext4 /dev/vg-system/root; mkfs.ext4 /dev/vg-system/home; mkswap /dev/vg-system/swap;
ファイルシステム初期化
-マウントしていく。
# mount /dev/vg-system/root /mnt
# mkdir -p /mnt/home; mount /dev/vg-system/home /mnt/home
# swapon /dev/vg-system/swap
#
# fdisk -l
(パーティションを確認しなおす sda1とsdd2がEFI)
# mkdir -p /mnt/boot; mount /dev/sdd2 /mnt/boot
***OSをいれはじめる [#c2fec526]
-pacstrap設定
# cd /etc/pacman.d/; mv mirrorlist mirrorlist.org; reflector --country 'Japan' --age 24 --sort rate --save /etc/pacman.d/mirrorlist;
# vim /etc/pacman.conf
(Color ParallelDownloads のコメントアウトを解除し、導入)
-投入開始 (とりあえずいっきに)
# pacstrap /mnt base base-devel linux linux-headers linux-firmware lvm2 vi vim nano grub efibootmgr lvm2 sudo openssh networkmanager dosfstools bash-completion git go zsh grml-zsh-config zsh-completions zsh-syntax-highlighting zsh-autosuggestions ttf-dejavu otf-ipafont noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra ttf-dejavu lightdm lightdm-gtk-greeter lightdm lightdm-gtk-greeter archlinux-wallpaper feh lxrandr pulseaudio pavucontrol
# genfstab -U /mnt >> /mnt/etc/fstab
パーティション設定
# arch-chroot /mnt
chrootする
-パーティション情報保存
# pacman -Syu
(なにもおこらないはず)
# nano /etc/default/grub
( GRUB_CMDLINE_LINUX を検索、"" の中に...)
cryptdevice=/dev/sdd4:cryptroot と追記する
# nano /etc/mkinitcpio.conf
この行を)
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)
(こういうふうに追記する。block / filesystems のまんなかに encrypt lvm2 // consolefont が存在する場合削除しても良い)
HOOKS=(base udev autodetect modconf block encrypt lvm2 filesystems keyboard fsck)
-GRUB関連をつづける
# mkinitcpio -p linux
(linux関連生成)
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=boot
(EFIにgrub登録)
# grub-mkconfig -o /boot/grub/grub.cfg
(grubの設定ファイル書き出し)
-最終設定
# passwd root
# exit
(chroot 終了)
# cd ~
# swapoff --all
# umount -R /mnt
# cryptsetup close cryptroot
# reboot
**EFI から boot をえらんで GRUB2 経由で ArchLinuxを起動 [#wb244924]
ここから次の準備。
sdd4のパスワードをいれて、rootパスワードをいれてログイン。
*** CUI 方面設定進行 [#o59ea15d]
- シェルを zsh に変更
# chsh
-> /bin/zsh と入力、終わったらリログイン
- ネットワークとsshdを有効に
# systemctl enable NetworkManager sshd
# systemctl start NetworkManager sshd
# ip addr
- ユーザーの登録
arqtan / sudo 権限もちとする。
# useradd -m -g users -s /bin/zsh arqtan; passwd arqtan
# groupadd sudo; usermod -G sudo arqtan
# visudo
( %sudo ALL=(ALL) ALL が # でコメントアウトされてるので有効にする)
-pacman方面
# sudo vim /etc/pacman.conf
(Color / ParallelDownloads = 5 のコメントアウトを解除)
# pacman -Syu
-ロケールならびにキーボード設定
# vim /etc/locale.gen
(ja_JP.UTF8 とen_US.UTF8 のコメントアウト # 部分をはずして有効に)
# locale-gen
(ロケール再構築)
# echo LANG=en_US.UTF-8 >> /etc/locale.conf
(ロケール設定を保存)
# echo -e "KEYMAP=jp106\nFONT=lat9w-16" >> /etc/vconsole.conf
(キーボード設定等の保存)
-タイムゾーン
タイムゾーンの手動設定
# timedatectl set-ntp true; timedatectl set-timezone Asia/Tokyo
(NTP同期スタート + EFI/BIOS時刻を日本時間準拠に)
# timedatectl status
(日本時間設定とNTP同期ONの確認)
-ホスト名変更
# hostnamectl set-hostname apf-arch
-yay投入
$ cd ~;git clone https://aur.archlinux.org/yay.git;cd yay; makepkg -si
$ cd ~;rm -rf yay
$ yay -Syua
***GUI方面設定進行 [#m4e809b5]
$ sudo nano /etc/locale.conf
LANG=ja_JP.UTF-8
(リログイン)
$
$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
$ sudo mkdir /etc/pacman.d/hooks/; sudo touch /etc/pacman.d/hooks/nvidia.hook; sudo nano /etc/pacman.d/hooks/nvidia.hook
[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia
Target=linux
[Action]
Description=Update NVIDIA module in initcpio
Depends=mkinitcpio
When=PostTransaction
NeedsTargets
Exec=/bin/sh -c 'while read -r trg; do case $trg in linux*) exit 0; esac; done; /usr/bin/mkinitcpio -P'
$ pacman -S nvidia
(グラフィック系の機能導入)
$ cat /proc/cpuinfo | grep 'model name' | uniq
model name : AMD Ryzen 5 3400G with Radeon Vega Graphics
$ sudo pacman -S amd-ucode
(マイクロコード機能導入。intelなら intel-ucode にしてください)
***GUI方面 (i3wm) [#ofbf48d7]
-i3wm with 便利ツールをまとめて導入し、再起動
$ sudo pacman -S i3-wm dmenu xss-lock i3status alacritty lightdm lightdm-gtk-greeter lxrandr archlinux-wallpaper feh pulseaudio pavucontrol neovim neovim-qt ranger
$ yay -S fcitx fcitx-mozc fcitx-im fcitx-configtool
$ nano ~/.xprofile
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
fcitx
$ sudo localectl set-x11-keymap jp
$ sudo systemctl enable lightdm
$ sudo shutdown -r now
-アプリを追加導入
--$mod+Enterでコンソール呼び出して...
$ yay -S google-chrome google-drive-linux firefox discord slack-desktop obsidian
(注意点として、slackは -desktop までいれないと別のコマンドラインのなにかがはいってしまう)
--Steamいれるのはちょっと手間。
$ sudo vi /etc/pacman.conf
下記コメントアウトを解除
#[multilib]
#Include = /etc/pacman.d/mirrorlist
$ yay -Syu
$ yay -S steam steam-native-runtime