Installing Windows 11 on older hardware (no TPM2) and installing Ubuntu WSL2 with ZSH in it

Create Windows 11 media with Microsoft’s media creation kit.
Image the resulting ISO-file to an USB stick with e.g. Rufus.

Create bypass.reg.
———————————————
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig]
„BypassTPMCheck“=dword:00000001
„BypassSecureBootCheck“=dword:00000001
„BypassRAMCheck“=dword:00000001
„BypassStorageCheck“=dword:00000001
„BypassCPUCheck“=dword:00000001
———————————————

Copy bypass.reg to the stick.

Install Windows 11
In Setup hit shift-f10 to enter a cmd prompt
There startup notepad.exe
Use the open dialog from Notepad to navigate to the stick.
Change file types to all and right-click on the bypass.reg.
Choose merge.

Now continue to install Windows 11

After installation login with wrong credentials intentionally.
So you will get the option to use a local user only.

Where you can choose now within the OOBE setup.

Check if your Windows edition is the right one.
Maybe change in Windows settings.
Note: You might need a corresponding product key and valid license to do so.

Download and install Brave.
Download and install OpenVPN.

After finishing the setup, open up an Explorer and set options to:
– show extensions
– show hidden files and system files
– startup with This Computer
– do now show recent files
– clear recent file

Download W11ClassicMenu1.1 and start it up.
When SmartScreen is complaining – click on more information – then choose run anyway.
Then reactivate „classic context menu“.

Install chocolatey.
Open up an admin powershell and paste
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‚https://community.chocolatey.org/install.ps1‘))

Install some software.
———————————–
choco install 7zip -y
choco install notepadplusplus -y
choco install adobereader -y
choco install kitty -y
choco install paint.net -y
choco install owncloud-client -y
choco install screentogif -y
choco install networkmonitor -y
choco install wireshark -y
choco install keepass -y
choco install treesizefree -y
choco install sysinternals -y
———————————–

Check for latest updates and drivers

Setup Bitlocker (when changed edition to minimum Professional)
Might be you have to enable a local Group Policy via gpedit.msc
Computer -> Administrative Cemplate -> Windows Components -> Bitlocker -> OS Drives -> Require additional authentication on startup

#########################

 

Bring up WSL2

wsl –install
Note: This seems pretty easy under Windows 11. Saw also installation of GUI support with this installation command. Will try if it can display X application.
After wsl –install finished please reboot the system.

The system will come up with the Ubuntu installation dialog after login automaticalls.
It sets also the WSL version to 2:
wsl –list -v
NAME STATE VERSION
* Ubuntu Running 2

Enable root login then in Ubuntu
sudo passwd

Set default user to root in Windows Powershell
ubuntu config –default-user root

Update Ubuntu
apt update -y && apt dist-upgrade -y && apt autoremove –purge

Working X11 apps
Start Ubuntu
apt install x11-apps
xeyes

Enable shift+insert paste in Windows Terminal
Start up wt
Choose Settings
Add
{ „command“: „paste“, „keys“: „shift+insert“ }
right behind the „ctrl+v“ line
Save and restart the Windows Terminal

Choose Ubuntu as default profile for Windows Terminal
Start up wt
Choose Settings
Change the Default GUID to the desired profile’s GUID below
Save and restart the Windows Terminal

zsh
apt install zsh*
sh -c „$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)“
cd .oh-my-zsh/plugins
git clone https://github.com/softmoth/zsh-vim-mode.git
git clone https://github.com/zsh-users/zsh-autosuggestions.git
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git

vi /root/.zshrc
plugins (git zsh-autosuggestions zsh-syntax-highlighting zsh-vim-mode)

Change default template in .zshrc

Add vars in zsh-vim-mode plugin for changing the cursor according to vi or edit mode
See https://github.com/softmoth/zsh-vim-mode#mode-sensitive-cursor-styling

Kubuntu 21.10 on Asus Transformer T100TA with Touchscreen, Sound, Wi-Fi working

Main information based on:
https://github.com/5bentz/linux-asus-t100/blob/master/T100TA_guide.md

Added/removed some information based on my experience.

Grab 32bit efi boot loader from:
https://github.com/jfwells/linux-asus-t100ta/raw/master/boot/bootia32.efi

Download Kubuntu 21.10 ISO-file from Ubuntu homepage.

Use for example Rufus to write the ISO-file to an USB stick.

Copy over the bootia32.efi to the stick /EFI/boot.

Start from the stick.
Press ESC few times at boot time for one time boot menu.

Boot up the Kubuntu stick and choose try Kubuntu.

Open a terminal and start installation with sudo ubiquity -b.
Note: -b: So ubiquity installer won’t write a boot loader automatically.

Partitioning

Leave the 100mb efi partition.

Delete the windows partition.

Create a new ext4 partition and mount it to /

Install the system

After installation choose continue testing.

Fresh installation root partition is now mounted into /target

Mount also the 100mb efi partition to /target/boot/efi

Mount some local dirs to /target:
for dir in /dev /dev/pts /proc /sys /run; do mount –bind „$dir“ /target/“$dir“; done

Change root into the target root directory.
chroot /target /bin/bash

Install boot loader:
apt update
apt install grub-efi-ia32
grub-install –efi-directory=/boot/efi
update-grub

Set cstate parameter correctly.
Note: Otherwise system will halt randomly after approx. 30min runtime.
vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=“intel_idle.max_cstate=1 quiet splash“
update-grub

Exit chroot.

Unmount /target/boot/efi

Reboot

Install onboard:
sudo apt isntall onboard

Install evdev-rce:
https://github.com/PeterCxy/evdev-right-click-emulation
Note: Change order of cc commands – move flags to the end of line. After make you just have to start the compiled binary for tap-and-hold-for-right-click capability.
Note: I’m rarely using this, because in practice I do not need the right click function for the touchscreen very often. So when needed I just run the binary, use the right-click and then exit the binary again. Letting it run in background can bring up problems with other touchscreen operations e.g. Onboard on screen keyboard.

Replace Pulseaudio with Pipewire:
Note: The default audio server Pulseaudio will let the sound crash after few minutes. Only a high frequent sinus tone is then emitted – will also bring problems with video playback then.
Note: When you want to stick with Pulseaudio you can recover from the crash with the pulseaudio -k command. I changed to Pipewire, as I could not find any permanent solution for Pulseaudio. A good starting point for further research could be: https://github.com/thesofproject/sof/issues/3868
sudo apt install pipewire*
sudo apt install libspa-0.2-bluetooth
Note: This lib is needed for Bluetooth audio working properly.

Disable powersaving function for Wi-Fi adapter:
cd /etc/NetworkManager/conf.d
mv default-wifi-powersave-on.conf default-wifi-powersave-off.conf
vi /etc/NetworkManager/conf.d/default-wifi-powersave-off.conf
[connection]
wifi.powersave = 2

Reboot

when you experience issues with not remembering tap to click on your touchpad on reattach, add to /usr/share/X11/x11.org.conf.d/40-libinput.conf:
Note: Remember to restart libinput by at minimum relogon.
Section „InputClass“
Identifier „Asus TouchPad“
MatchDriver „libinput“
MatchIsTouchpad „on“
Option „Tapping“ „true“
Option „NaturalScrolling“ „True“
EndSection