This is the method I used to install Arch on the yoga slim 7x. This is from memory so I may have forgotten things
- disable bitlocker in windows
- resize the windows partition
- disable secure boot in BIOS
- Download the Debian 12 image from https://git.codelinaro.org/linaro/qcomlt/demos/debian-12-installer-image
- write it to USB, use gparted to resize the partition
- download the latest (ancient) arch linux arm generic image from https://archlinuxarm.org/platforms/armv8/generic
- unpack the initrd and add this tarball
- also add some tools like mkfs.ext4 and fdisk (I downloaded debian 12 versions and unpacked the necessary libs and binaries)
- boot from the USB (use F12)
- once in installer, press Fn+alt+F2 to get to another TTY
- create a wpa_supplicant file and start wpa_supplicant
- back on tty1, continue the installer until it has setup networking
- return to tty2
- create /boot and / partitions (and any other you want)
- mount / on /mnt
- unpack the tarball into /mnt
- mount /boot on /mnt/boot
- bind mount /sys, /dev, /proc and /run in /mnt
- chroot in /mnt
- set the date with the
date
command (otherwise signature verification fails) - use
pacman-key --init
pacman-key --populate archlinuxarm
- update with
pacman -Syyu
- copy kernel, initrd and device tree from the USB
- do the rest of Arch setup
- do some of the steps outlined by linaro, in particular the zink environment
- exit the chroot
- edit the USB grub to load from the nvme
- reboot with F12 and boot from the nvme
- build newer kernel, initrd and dtb
- get firmware from https://github.com/Seraphin-/linux-firmware-x1e80100-lenovo-yoga-slim7x
- I replaced the windows nvme with a bigger one that has only linux, that way I was able to update the UEFI boot manager to load Arch without the USB stick
- Download shellaa64.efi and place it on USB stick
- use the following grub entry:
menuentry "UEFI Shell" { insmod fat insmod chain search --no-floppy --set=root --file /shellaa64.efi chainloader /shellaa64.efi }
- boot to UEFI shell
- use the commands in the debian 12 image explanation to set Arch as first boot entry
- install mesa from this PKGBUILD https://github.com/joske/PKGBUILDs-x1e/tree/master/mesa
I followed this method and stuck on kernel building
Looks like current 6.11-rc kernels already contains snapdragon device tree and drivers, but
Codelinaro image might be a bit outdated, i cant proceed debian installation further than "downloading additional components", cause of glibc version mismatch in
anna
binaryI created partitions on nvme,
Copied arch tarball files into it;
Chrooted in this unpacked arch-env;
Built 6.11-rc7 kernel from kernel.org in this chroot;
Installed it into chroot, generated a new initramfs;
Now i can 'boot' kernel, using grub on usb stick (specify new initramfs, kernel and devicetree in grub console), but kernel boot logs just stops and switches to black screen. Looks like graphics fault, cause i can enter login creds and 'reboot' command, and laptop really trying to poweroff
So, what can i do wrong? Did anyone tried to build latest kernel from kernel.org for this laptop? How to build newer kernel for it, or just debug kernel loading at least?