Installation Checklist

Common

  • set up SSH key and GitHub authorization (if it's personal computer)

  • set up local Git user, email and alias information

  • disable daily software upgrade (avoid race condition on apt lock)

  • install ROS and create a new ROS workspace catkin_ws

  • install VS Code IDE

    • x86-64 architecture: install from Ubuntu software center or download from official website

    • arm architecture: download customized deb (latest release) from this GitHub repository

    • after installation, add ROS, CMake extensions

  • install terminator and set up config (see this repo), set scroll-back lines to 10000 as in Gnome

  • install commonly used software as follows

sudo apt install vim nmap net-tools exfat-fuse exfat-utils 
sudo apt install openssh-server xrdp hardinfo xdotool tmux tmuxp
sudo apt install git chromium-browser simplescreenrecorder
  • set up shell alias (a few examples as follows)

alias max="xdotool key ctrl+super+Up"
alias four="max && xdotool key ctrl+shift+e && xdotool key ctrl+shift+o && xdotool key alt+Left && xdotool key ctrl+shift+o && xdotool key alt+Up"
alias jac="ssh -X administrator@jackal"
alias jacw="ssh -X administrator@jackalw"
  • Install Slack, Zoom, Teamviewer, CloudCompare, SimpleScreenRecorder, etc. (GNOME has a default screenshot software.)

  • Set up CloudCompare and Open3D Viewer as the default program to open .pcd files.

  • Install languages: settings -> manage installed languages -> install new language -> reboot -> add input sources (intelligent pinyin).

Ubuntu 18

  • add "new file" option to right click menu

    • by command touch ~/Templates/"Untitled Document"

  • fix Gazebo ignition bug

    • open file ~/.ignition/fuel/config.yaml and replace the url inside from https://api.ignitionfuel.org to https://api.ignitionrobotics.org.

  • Install Unity desktop (link)

    • sudo apt install ubuntu-unity-desktop

    • choose lightdm display manager

    • use sudo dpkg-reconfigure lightdm to reset display manager if needed

    • sudo shutdown -r now to restart the computer

Ubuntu 20

  • enable scale factor in display

sudo apt install python-is-python3  # for python in /usr/bin/env

VS Code

  • settings

    • lock to launch bar

    • window zoom level

    • editor font size

    • editor ruler set to 120

    • add folders to workspace

    • enable Wrap Tabs

  • extensions

    • Github Co-Pilot

    • ROS (include C/C++ and Python)

    • CMake (for highlight)

    • CMake Tools (for C++ IntelliSense)

      • set "configurationProvider": "ms-vscode.cmake-tools"

      • run command CMake: Configure

      • add folder to .gitignore

    • Markdown Preview GitHub Styling Ctrl + Shift + V

    • reStructuredText

    • Remote SSH (double SSH setup)

    • Doxygen Documentation Generator

    • Better C++ Syntax

  • shortcuts

    • open terminal by default set to Ctrl + `

    • maximize/minimize terminal window

      • set "View: Toggle Maximized Panel" to Ctrl + Shift + M

    • split terminal window

      • set "Terminal: Split Terminal" to Ctrl + Shift + E

  • comments

    • C++ IntelliSense jump back to function Ctrl + Alt + -

    • C++ IntelliSense is not working on arm architecture

Dual Boot on XPS 13

Tested on Dell XPS Plus 13 (9320) with Windows 11 OS pre-installed, and BIOS version 2.3.0.

Mostly following this article to install: https://infra.engineer/miscellaneous/3-how-to-dual-boot-windows-10-and-ubuntu-on-dell-xps-13

Although there are some differences in BIOS interface and Win11/Win10, basic steps are the same.

Operations in Windows 11:

  • Shrink Windows volume to create unallocated space for Ubuntu, using Disk Management.

  • Turn off BitLocker or Drive Encryption.

  • Turn off Fastboot (go to control panel, power settings, "choose what the power buttons do", and then uncheck "Turn on fast startup (Recommended)")

Changes in BIOS:

  • Press F2 to get into BIOS Setup, or F12 and then select BIOS Setup.

  • Disable "Secure Boot" (under "Boot Configuration")

  • Change Fastboot behavior to "Thorough" (under "Pre-boot Behavior" tab)

  • No BIOS settings found for USB Boot Support, but I guess this has been enabled by default. No influence on the following installation steps.

  • Save and Exit.

Change from RAID to AHCI (NVME SSD also needs to do this)

  • Get into Windows system, run Command Prompt as Administrator

  • Type command bcdedit /set safeboot minimal (the {current} variable doesn't work for me, removing it works fine); this will force the next Windows boot into safe mode

  • Restart and get into BIOS settings, find SATA/NVME Operation (under "Storage" tab) and change from RAID to AHCI

  • Save and reboot and get into Windows, run Command Prompt as Administrator, and type command bcdedit /deletevalue safeboot to disable safe mode boot.

  • Restart and get into Windows in normal mode, make sure everything is ok here.

  • Note: if you don't do these commands for safe mode boot, the system will get into blue screen and never be able to boot up. If you don't change this RAID settings, the USB installation drive won't be able to find unallocated space on the disk to install Ubuntu.

Install Ubuntu

  • Prepare a USB drive for Ubuntu installation

  • Plug in the USB drive, boot and get into BIOS settings, find "Boot Sequence" under "Boot Configuration", move this USB drive to the first one in boot sequence.

  • Restart and the system will boot into this USB drive, and then start installation as normal.

  • Better to select "Install third-party software for graphics and Wi-Fi hardware"

Upgrade Linux Kernel on Ubuntu 20 (to use WiFi on XPS 13)

# install 5.19.13
sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline
sudo mainline install 5.19.13
# fix libc6 and libssl3 errors (or ignore them)
sudo apt update
sudo apt upgrade
sudo apt install --reinstall linux-firmware
sudo apt install --install-recommends linux-generic-hwe-20.04
sudo apt install --install-recommends linux-generic-hwe-20.04-edge
# finish installation
sudo update-grub
sudo reboot
uname -a

The default kernel version on Ubuntu 20 is 5.15, which does not support this XPS wifi hardware yet. We need to use the default kernel version on Ubuntu 22 (5.19.13) in order to use WiFi on this XPS.

Last updated