というわけで走り書きのメモ。
管理者権限のコンソールを開く。
> reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_DWORD /f まざぼの時間をローカルタイムではなくUTCに設定する (後ほど時刻調整必須) > powercfg /h off 高速スタートアップとハイバネートの無効化 (後ほどいちどWindowsをシャットダウンして起動しなおすこと)
# passwd root # ip addr (IPアドレス確認)
# loadkeys jp106 (日本語キー設定 実機用 / ssh の場合は特に不要) # timedatectl set-ntp true; timedatectl set-timezone Asia/Tokyo (NTP同期スタート + EFI/BIOS時刻を日本時間準拠に) # timedatectl status (日本時間設定とNTP同期ONの確認)
# 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
# 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)
# 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
ここから次の準備。 sdd4のパスワードをいれて、rootパスワードをいれてログイン。
# chsh -> /bin/zsh と入力、終わったらリログイン
# systemctl enable NetworkManager sshd # systemctl start NetworkManager sshd # ip addr
# useradd -m -g users -s /bin/zsh arqtan; passwd arqtan # groupadd sudo; usermod -G sudo arqtan # visudo ( %sudo ALL=(ALL) ALL が # でコメントアウトされてるので有効にする)
# 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
$ cd ~;git clone https://aur.archlinux.org/yay.git;cd yay; makepkg -si $ cd ~;rm -rf yay $ yay -Syua
$ 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 にしてください)
$ 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
$ yay -S google-chrome google-drive-linux firefox discord slack obsidian
$ sudo vi /etc/pacman.conf
下記コメントアウトを解除 #[multilib] #Include = /etc/pacman.d/mirrorlist
$ yay -Syu $ yay -S steam steam-native-runtime