Change Microsoft Surface Pro OS to *NIX: Wifi/Bluetooth/TouchScreen/Battery Status (No Camera) Or LTSC - NETSEC


Learning, Sharing, Creating

Cybersecurity Memo

Saturday, January 14, 2023

Change Microsoft Surface Pro OS to *NIX: Wifi/Bluetooth/TouchScreen/Battery Status (No Camera) Or LTSC

This post is used to record the steps how I changed my Surface Pro from Windows to those ChromeOS like systems. The Surface Pro 7 original OS is Windows 10, and upgrade to Windows 11. For fun, I am switching it to *NIX OS to se how it looks like. 

What you need

  • Disable Secure Boot from Surface Pro
  • Enable USB boot
  • USB flash drive with enough capacity for your Zorin OS edition:
    • at least 8 GB
  • An external drive or cloud storage for backup of your data. All data will be wiped off from Surface Pro's hard drive. (optional)

Zorin OS

Not working hardware:
- Camera
- Touch Screen / Stylus Input

- Battery , but always showing no charging
- Wireless
- Bluetooth

Core Edition Usng GNOME  (Ubuntu)

LibreOffice suitecompatible with Microsoft Office/365 documents
Advanced desktopbased on GNOME
Lightweight desktopbased on XFCE
Zorin Connectlink your phone and computer together
Standard desktop layoutsin Zorin Appearance
Premium desktop layoutsmacOS, Windows 11 & Classic, and Ubuntu
Professional-grade creative suite of apps
Advanced productivity software
Additional artworkcurated collection of abstract wallpapers
Zorin Installation Support

Download your Zorin OS .iso file 

If you haven’t already downloaded your copy of Zorin OS, you will need to get it from our website to proceed.

Download Zorin OS

Create a bootable USB Install Drive 

You will need to write the Zorin OS .iso file to your USB flash drive using an app called balenaEtcher. The computer that you use to do this can be different from the computer you plan to install Zorin OS onto.

Download balenaEtcher

  1. Plug the USB flash drive into your computer.
  2. Double-click on the balenaEtcher download file to run the app.
    • On Linux. If the balenaEtcher app doesn’t open after double-clicking on it, you may need to mark its downloaded “.AppImage” file as executable. To do so, right-click on the file in the file browser and open its Properties. Navigate to the Permissions section to enable the “Allow executing file as program” option.
  3. Press “Flash from file” to select the downloaded Zorin OS .iso file on your computer. The file should be in your “Downloads” folder. balenaEtcher
  4. Press “Select target” and choose the correct USB flash drive in the list. balenaEtcher USB flash drive list
  5. Press “Flash!” to begin writing Zorin OS to the USB flash drive. balenaEtcher press Flash!
  6. After a few minutes, the USB flash drive will be ready for booting into Zorin OS.

Boot from the USB Install Drive 

To install Zorin OS, you must boot your computer from the USB Install Drive.
  1. Switch off the computer you want to install Zorin OS onto. Make sure it’s completely powered off, and not in sleep or hibernate mode.

  2. Plug the Zorin OS USB Install Drive into the computer.

  3. Switch on the computer. Immediately at start-up, repeatedly press the designated key to open the Boot Device Menu.

    • On a PC. This key should be indicated on the screen at start-up or in your computer’s manual. If you’re unsure which key to press, it is usually either EscDeleteF2F12, or another function key.
    • On a Mac. Press and hold the ⌥ Option key at start-up. If you’re using a wireless keyboard, you may need to plug in a USB keyboard instead to be able to select the boot device.
  4. At the Boot Device Menu, use the arrow keys to highlight the option which mentions “USB”, “EFI”, or the flash drive manufacturer’s name. Press Enter to boot from the Install Drive.

    • On a Mac. Sometimes the Install Drive might be incorrectly identified as “Windows”, which is normal.
  5. Select the “Try or Install Zorin OS” option in the Zorin OS boot selection menu using the Enter key.

    • If your computer has a modern NVIDIA graphics card (produced after 2013). You can select the “Try or Install Zorin OS (modern NVIDIA drivers)” option using the   keys. Press Enter to boot and install with the official NVIDIA proprietary graphics drivers.
    Welcome menu
  6. While booting, Zorin OS will check the USB Install Drive to ensure there aren’t any defects. We recommend that you do not skip this check the first time you use the USB Install Drive. It helps prevent issues while installing Zorin OS to your computer.

Install your new copy of Zorin OS 

Complete the installation of your new copy of Zorin OS to your computer.
  1. Follow the on-screen instructions to start the installation. Installer
  2. When prompted by the installer, please connect to the Internet (if possible). This makes sure all necessary software gets downloaded during the installation process.
  3. You should reach a step titled “Installation type”.
    • If you want to keep your current operating system installed alongside Zorin OS (dual-boot). Select the “Install Zorin OS alongside [your current operating system]” option and press “Continue” to choose how much space to allocate to Zorin OS. If this option didn’t appear for you, see the “Manual partitioning” instructions below.
    • If you want to have only Zorin OS installed on your computer. Select the “Erase disk and install Zorin OS” option and press “Install Now”. Use this option to enable advanced features like disk encryption and LVM.
    • Manual partitioning. If your computer has a non-standard storage drive configuration (such as multiple internal hard drives/SSDs), select the “Something else” option and press “Continue”. You can learn how to use this option in this article ›
  4. Continue following the on-screen instructions to complete the installation.
  5. After the installation completes, restart the computer to boot into your installed copy of Zorin OS.



Not working hardware:
- Camera
- Touch Screen / Stylus Input
- Battery status

- Wireless
- Bluetooth

1. Create bootable USB sticks with  balenaEtcher
You can download the balenaEtcher installation package for Windows, macOS or Linux from balenaEtcher official website

2. Download FydeOS Image file from
After the download is complete, you will see a .xz file. No need to unzip and rename; open the image file directly with balenaEtcher; next, select the USB disk that will be used to flash FydeOS; finally, you only need to click the "Flash!" button, and balenaEtcher will handle the rest for you!

3. After flashing, you can remove the USB card and insert it into your PC, restart the computer, and configure your PC to boot through the USB drive to enjoy FydeOS.


By the way, we also can install FydeOS into VMware environment, or Raspberry PI to test it first. 


Chrom OS Flex

Not working hardware:
- Camera
- Touch Screen / Stylus Input
- Battery status
- Bluetooth

- Wireless

Create the Chrome OS Flex Install Drive

1. Open the Chrome browser on your PC, not necessarily the computer you wish to install Chrome OS Flex on.

2. Install the Chromebook Recovery Utility extension from the Chrome Web Store.

3. Click on the Extensions, then select Manage Extension via the three dots next to Chromebook Recovery Utility. 

4. Slide the switch to the right to ensure that the extension is On 

5. Click on Extensions, and then Chromebook Recovery Utility to load the installer.

6. Click on Get Started to start the installation.

7. Click on “Select a model from a list”.

8. Choose “Google Chrome OS Flex” and “Chrome OS Flex” from the dropdown menu

9. Insert your USB drive, select it from the dropdown menu and click Continue.

10. Click Create now to download and write the OS to the USB drive. Double check that the correct drive has been selected before clicking Continue.

11. When the installation is complete, click on Ok to close the Chromebook Recovery Utility application.

12. Remove the USB drive from the computer.

Installing Chrome OS Flex

1. Insert the USB drive into the laptop / desktop that you wish to install to.

2. Power on and select the USB drive as your boot device. Every machine handles this a little differently, please consult the manual for your machine.

3. Select your location and then click Get started to install.

4. Connect to your Wi-Fi access point and click Next. Alternatively, connect an Ethernet cable to automatically connect. 

5.  Accept Google’s Terms of Service to continue. 

6. Select who will be using Chrome OS Flex and click Next.  

7. Enter your Google account details and click Next. This will link this device with your Google account, it will also trigger a series of security settings to verify the inclusion of the device. This will differ depending on how your account has been configured. 

9. Check or uncheck the box to allow Google to collect hardware data, then click Accept and continue.

10. Choose how Google Assistant will integrate with your device. Our device has no microphone or camera so we skipped these screens. 

11. Click Get Started to finish the installation.

Your new Chrome OS Flex device is ready to use.


Brunch Project

Limitation from above solutions:

Chrome OS cannot be installed directly to PC due to hardware compatibility. Some hardware, e.g. the Intel Precise Touch Screen of Surface Pro, even requires special driver. Moreover, Chrome OS, or Android, are built to install on the entire disk (not a partition).

Brunch Solution

'brunch' is a framework project featuring these problems by including support for PC hardwares and installing Chrome OS on a .img disk mirror file.

  • Rammus recovery bin from CrOS Updates Serving

More steps can be found from :

Linux Mint on USB without Installation

Not working hardware:
- Camera
- Touch Screen / Stylus Input

- Wireless
- Battery status
- Bluetooth

Install New Kernel and Enable TouchScreen Support

Github Project:  /linux-surface



First you need to import the keys we use to sign packages.

wget -qO - \
    | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/linux-surface.gpg

After this you can add the repository configuration and update APT.

echo "deb [arch=amd64] release main" \
	| sudo tee /etc/apt/sources.list.d/linux-surface.list
sudo apt update

If you encounter any issues reading "Error 401 Unauthorized" during the update or the installation below, please have a look at this. (The workaround is working based on my testing on my Surface Pro 7)

Now you can install the linux-surface kernel and its dependencies. You should also enable the iptsd service for touchscreen support.

sudo apt install linux-image-surface linux-headers-surface iptsd libwacom-surface
sudo systemctl enable iptsd

After that you can install our secureboot key. This will import the key that the linux-surface kernel is signed with into your bootloader, so that the kernel is bootable without disabling secureboot.

sudo apt install linux-surface-secureboot-mok

This package will print instructions to the terminal. In case you missed those: It will ask you to reboot. Then, upon reboot, a blue menu should pop up, asking you whether you want to enroll the key. Confirm with ok/yes and when asked for a password enter surface. In case you missed the menu or accidentally chose the wrong options, you can uninstall (fully) and then reinstall the package and reboot to trigger the menu again.

Note that this will only work if your Debian derivative supports secure boot out-of-the-box. If if not, please consult the wiki of your distribution and set up secure boot for distro/stock kernels first. You also want to skip installing the package for now and only install it after you have set this up.

The linux-surface kernel will be installed alongside the default kernel provided by the distribution. This way you have a backup kernel you can use if something goes wrong. The bootloader will pick up the kernel by default, but you should update its configuration to make sure it was recognized.

sudo update-grub

Finally, reboot your system and you should boot into the linux-surface kernel. Please make sure you are actually using the right kernel by checking if the output of uname -a contains the string surface. If it doesn't contain that string, you are still using the default kernel and need to configure your bootloader.

Win10 LTSC 2021

All other *NIX like OS still does not support multi-touch and camera function on the Surface. To get this part  working, only working system is still Windows. Win10 LTSC 2021 is a good option here considering the poor performance of Surface Pro's CPU and Graphic Card. 

Check this post ( to see how to upgrade from evaluation version to full version

2. Afte upgrade to full:

3. How LTSC version resource usage looks like from Task Manager:

4. Hardware support from Device Manager

No comments:

Post a Comment