Skip to content

Bringing up the SnapDragon Dev Kit for Windows with Linux ‐ without working display

Jens Glathe edited this page Oct 27, 2024 · 1 revision

What is possible

The SnapDragon Dev Kit for Windows from Qualcomm (Thundercomm) is an interesting piece of hardware. What it doesn't have, though, is a display connector that would work out of the box on Linux. Until this problem is solved, we need a way to boot the device into Linux without a display. For this I've prepared a bootable Linux image with pre-configured ssh access. The Image can be written via disks / rufus to a USB type-c stick or SSD. The use of type-c is still mandatory, the type-a ports don't work on Linux yet.

IMG_0482

Precautions you should take

  • Back up your internal SSD. We need it for UEFI access, so removing it is not an option (yet).
  • Decrypt the local Windows drive. We will disable Secure Boot, and this would trigger BitLocker.

To get it to boot from the stick

  • Boot to the UEFI menu. I found that most documented ways don't work, but entering shutdown -s -t 0 /fw in an elevated CMD does.
  • Disable Secure Boot in the UEFI menu.
  • Enable "Boot from USB first" in the UEFI menu.
  • Insert the prepared boot stick / SSD. Notice that orientation is "logo down", the UEFI doesn't seem to recognize the device in a swapped configuration.
  • Power on / reboot.

The box should boot to grub, and boot up - without a display. The working network connector is Ethernet, Wifi not yet. It should register with host name angrybox, please monitor your dhcp server to find out which ip address. When you can ping it, ssh into it:

Screenshot from 2024-10-27 07-39-36

Access credentials:

user: devkit
pass: Canceled!

The image comes without the device-specific firmware, it needs to be fetched from the Windows partition. To do this, you can execute:

sudo chmod -x /etc/initramfs-tools/hooks/x1e-firmwares 
sudo chmod +x /etc/initramfs-tools/hooks/x1e001de-firmware 
sudo fetch_x1e001de-devkit_fw.sh 

This changes the hook for initramfs, and fetches the firmware files from Windows. Afterwards it updates the initramfs. After rebooting it should show a lot of firmware loaded. The effect for now is - none, but its good to know the gpu firmware is operational (and remoteprocs, too) for further experiments.

Screenshot from 2024-10-27 08-53-52