@psarapkin Thanks! I was hoping you were still active - your thread was helpful when I was first looking into Fedora on the Snapdragon Laptops!
I have some updates but not much yet!
Hope
If you want to see Linux running on your laptop (which was VERY encouraging to me) - I would encourage everyone to give the Live USB for Ubuntu 25.04 (at time of writing) a shot - via the article link in my initial post! Your laptop (the Vivobook S15) is supported with a current note about the S15 specifically pulling in one incorrect package!
Progress
For context: I’m a Red Hatter and I’ve discovered a small group of coworkers and friends who are also interested, so I’ve gotten some help outside of this thread, but I intend to keep this thread full up to date as I make progress!
First - we verified that the dtbs that we needed were not present in F42 Workstation or Everything ISOs or Rawhide Workstation or Everything ISOs. I can confirm, they aren’t there!
Next, we found that the dtbs are in the kernel-core RPM for F42 (and friends) by grabbing the F42 kernel-core NVR (Name, Version, Rebuild Number) from the official source, pulling the RPM file, and cracking it open with:
rpm2cpio <rpm> | cpio -idv
into an empty directory!
I was able to confirm (via that command) that the included kernel RPM does include the dtb files, but they are not included in the ISO! That leaves us with our first target contribution to Fedora (once we make sure the dtbs are useful): we need to update the CI configuration for the Fedora Rawhide and future ISO builds to ensure that these dtbs are included!
Next, we wanted to include these dtbs in a home-grown aka locally modified Fedora Rawhide or 42 ISO. I’ve been stuck on this step for a while. I’ve been trying to use mkksiso (a wrapper for a few underlying tools to rebuild the ISO with the dtb files and potentially a symlink to the correct dtb within the /boot
directory, but I haven’t had any luck in successfully building the ISO.
I’ve been using the following command:
sudo mkksiso --add dtb/qcom/x1e80100-lenovo-yoga-slim7x.dtb Fedora-Workstation-Live-42-1.1.aarch64.iso test.iso
in Windows Subsystem for Linux Fedora 42 (mkksiso requires that you be on the same arch as the target to build an ISO) but I also tried it on my X86 Fedora 42 System.
I’m getting the following error every time:
INFO:program:Using internal CP850 conversion table
INFO:program:mkfs.fat 4.2 (2021-01-31)
DEBUG:program:Return code: 0
DEBUG:pylorax.imgutils:make tmp mountdir /tmp/lorax.imgutils.e2jdr40o
INFO:program:Running... mount -o shortname=winnt,umask=0077 /dev/loop0 /tmp/lorax.imgutils.e2jdr40o
DEBUG:program:Return code: 0
DEBUG:pylorax.imgutils:copytree /tmp/mkksiso-ivcwgpen/EFI/BOOT /tmp/lorax.imgutils.e2jdr40o/EFI/BOOT
INFO:program:Running... cp -R -L --preserve=timestamps /tmp/mkksiso-ivcwgpen/EFI/BOOT/. /tmp/lorax.imgutils.e2jdr40o/EFI/BOOT
INFO:program:cp: cannot create regular file '/tmp/lorax.imgutils.e2jdr40o/EFI/BOOT/bootaa64.efi': File exists
DEBUG:program:Return code: 1
INFO:program:Running... umount /tmp/lorax.imgutils.e2jdr40o
DEBUG:program:Return code: 0
DEBUG:pylorax.imgutils:remove tmp mountdir /tmp/lorax.imgutils.e2jdr40o
INFO:program:Running... losetup --detach /dev/loop0
DEBUG:program:Return code: 0
Traceback (most recent call last):
I have some colleagues working on / advising me on next steps - and I’m open to ideas! My current plan is to try to disable the arch check in mkksiso (and hope it wasn’t important) and try building on my x86 system again.
New Prior Art
Kudos to @jostone for finding Thinkpad t14s - Fedora Project Wiki which outlines some prior art, we are also going to try and replicate what they’ve done to get things up and running (but can’t get very far without these dtbs).
Next Steps
- I am going to try to build the modified ISO on my x86 system and bypass the arch check. If unsuccessful, I will try to build the ISO under Ubuntu on my aarch64 Snapdragon Laptop or ask a friend who has an aarch Fedora system to build it there (or grab and RPI and do it myself)!
- I need to locate the CI configuration that determines which dtbs are extracted from kernel-core and included in the Fedora ISOs for Rawhide and contribute a change that adds the Snapdragon X Elite / Plus laptop dtbs to the built ISOs as we work to bring up Fedora on those laptops.
- I need to learn how to make the grub configuration changes outlined in @ausil’s Fedora Wiki post - I have a colleague helping me out with that (but I’m also open to advice or links)!
How can people get involved?
I don’t know yet! I need to reach out via other comms channels to the Fedora project folks and see if this is worth of a SIG or if we should just have a focused presence on another channel! For now - we’ll keep discussion in this discussion thread!