NixOS is the endgame to Distro Hopping
Find a file
2023-02-11 23:59:23 -05:00
pkg.list pkg list 2023-02-11 21:39:35 -05:00
README.md youpi 2023-02-11 23:59:23 -05:00

Lenovo Yoga 6 13ALC7

This repo is a documentation of how I installed Arch and got all the drivers for the Yoga 6, to make it work as if it was native. Since I got the touchpad issues, I'll need this once I get it fixed.

Local Pacman repo

The latest linux kernels do not have the laptop's Wifi card's drivers, therefore I'll need a custom repository to complete the ach installation.

Repo Packages
base
linux-firmware
linux
amd-ucode

patch
dkms
kmod
rtw89-dkms-git
btrfs-progs

grub
os-prober
ntfs-3g
efibootmgr
efivar

iwd
nano
sudo
texinfo
man-db


On a separate Arch installation with Wifi access, enter the following commands in a clean directory in a USB key :

git clone https://aur.archlinux.org/rtw89-dkms-git.git 
cd rtw89-dkms-git
makepkg
mv *.pkg.tar.zst ..
cd .. && sudo rm -r rtw89-dkms-git

mkdir /tmp/blankdb

pacman -Syw --cachedir . --dbpath /tmp/blankdb base linux-firmware linux amd-ucode patch dkms kmod btrfs-progs grub os-prober ntfs-3g efibootmgr efivar iwd nano sudo texinfo man-db man-pages

repo-add ./custom.db.tar.gz ./*



Archinstaller

loadkeys ca

Partionning with cryptsetup

Encrypting root partition

# cryptsetup -y -v luksFormat --type luks1 /dev/nvme0n1p?
# cryptsetup open /dev/nvme0n1p? root
# mkfs.btrfs /dev/mapper/root
# mount /dev/mapper/root /mnt

Mounting boot :

# mount --mkdir /dev/nvme0n1p1 /mnt/boot

Installing packages on the device

# pacstrap -K /mnt base linux-firmware linux amd-ucode patch dkms kmod rtw89-dkms-git btrfs-progs grub os-prober ntfs-3g efibootmgr efivar iwd nano sudo texinfo man-db man-pages

misc commands

# genfstab -U /mnt >> /mnt/etc/fstab
# arch-chroot /mnt
# ln -sf /usr/share/zoneinfo/America/Montreal /etc/localtime
# hwclock --systohc
# echo matt-laptop > /etc/hostname
# passwd

Localization

Uncomment ca_FR.UTF-8 en_CA.UTF-8 en_US.UTF-8 fr_CA.UTF-8 and run

# locale-gen
# echo LANG=en_CA.UTF-8 > /etc/locale.conf
# echo KEYMAP=ca > /etc/vconsole.conf

Edit /mnt/etc/mkinitcpio.conf for LUKS

BINARIES=(btrfs)
...
HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block encrypt filesystems fsck)

then run mkinitpcio -P

Grub install

# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch

Edit /mnt/etc/default/grub for LUKS

cryptdevice=UUID=??????:root root=/dev/mapper/root

make sure the UUID is the actual partition inside the LUKS container and run grub-mkconfig -o /boot/grub/grub.cfg

we can now reboot to the installed Arch

Inside installed Arch

Configure internet access

# systemctl enable --now iwd systemd-networkd systemd-resolved
# iwctl device list # check if powered on
# iwctl station wlan0 scan
# iwctl station wlan0 get-networks
# iwctl station wlan0 connect SSID
# cat << EOF >> /etc/iwd/main.conf
[General]
EnableNetworkConfiguration=true
EOF

User management

# useradd -m matt -G wheel
# passwd matt

yay htop 3.2.2-1 iwgtk 0.9-1 pkgfile 21-2 plocate 1.1.18-1 rsync 3.2.7-3 tailscale 1.36.1-1 tmux 3.3_a-3 usbutils 015-2 wget 1.21.3-1 git 2.39.1-1 curl 7.87.0-3 devtools 20230105-1