目次

久しぶりにArch Linuxのインストールを行い、デスクトップを構築したのでポイントなどをメモ。

Windowsとのデュアルブートでbootloaderを何とかする

biosでsecurity bootみたいなやつをoffにする。install-usbを読み込む。

$ fdisk -l
$ cfdisk /dev/sda
sda4 : EFI, 200M
sda5 : Linux System, 200G

$ mksf.ext4 /dev/sda5
$ mksf.vfat /dev/sda4

$ mount /dev/sda5 /mnt
$ mount /dev/sda4 /mnt/boot

私の場合、grub, bootctlともにエラーは出なかったのですが当該bootloaderでarchが起動しない現象に遭遇。bootctlのoptionにnoefiを付けると良いということのようだったけど試してない。

# grub install
$ arch-chroot /mnt
$ grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub
$ grub-mkconfig -o /boot/grub/grub.cfg

# bootctl install
$ bootctl --path=/boot install
$ cp -rf /usr/share/systemd/bootctl/loader.conf /boot/loader/loader.conf
$ cp -rf /usr/share/systemd/bootctl/arch.conf /boot/loader/entries/arch.conf
$ blkid -s PARTUUID -o value /dev/sda5 >> /boot/loader/entries/arch.conf
$ vim /boot/loader/entries/arch.conf
	# options  root=UUID=<UUID identifier> rw

ここで、install-usbにはいってるgrubが動いてるということは当該パソコンで読み込まれているということなので、この設定ファイルを使うことに。具体的には、usbのgrub.cfgをarchの/bootにコピーしてsystemが入ったパーティションのuuidをsed -iする。

$ mount /dev/sda5 /mnt
$ mount /dev/sda4 /mnt/boot
	# sdb2 : usb arch system
	# sda5 : hdd arch system
$ usb=`blkid -s PARTUUID -o value /dev/sdb2`
$ arch=`blkid -s PARTUUID -o value /dev/sda5`
$ cp -rf /mnt/boot/grub/grub.cfg /mnt/boot/grub.back
$ cp -rf /boot/grub/grub.cfg /mnt/boot/grub/grub.cfg
$ sed -i "s/$usb/$arch/g" /mnt/boot/grub/grub.cfg

いけた。usb-bootの設定は大体の環境で読み込まれてるので優秀。

xorg-keymap

$ localectl status
$ echo "KEYMAP=jp106" >> /etc/vconsole.conf
$ localectl set-x11-keymap jp106

slim -> sddm

$ pacman -S sddm 
$ ls /usr/share/xsessions/
$ vim /etc/sddm.conf
$ systemctl enable sddm