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
@kmeaw just to give an update, in the last 5 days I made a lot of progress. I can now boot my machine in EL2, and run QEMU VMs without issues. Steps that are needed (also see this draft PR for my NixOS repo):
id_aa64mmfr0.ecv=1
kernel param (without this QEMU will crash the whole system)tcblaunch.exe
fromC:\Windows\System32\tcblaunch.exe
, and copy it to the root of your ESPThe things that don't work compared to EL1 are the battery indicator and DP altmode.
(There is also a patch that makes slbounce detect whether you are loading an overlayed device tree (see my PR for that), and only do SL if that's the case. This way you can select between EL1 and EL2 mode from the boot menu without having to go through an EFI shell.)