#author("2023-09-15T10:58:50+00:00","","") #author("2023-09-15T11:28:29+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 $ yay -S google-chrome google-drive-linux firefox discord slack obsidian --Steamいれるのはちょっと手間。 $ sudo vi /etc/pacman.conf 下記コメントアウトを解除 #[multilib] #Include = /etc/pacman.d/mirrorlist $ yay -Syu $ yay -S steam steam-native-runtime