#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

トップ   差分 履歴 リロード   一覧 検索 最終更新   ヘルプ   最終更新のRSS