This howto was written for the installation of Ubuntu 20.04 on a Dell XPS 15 9520 laptop. They may well work on other laptops.
1 Preliminary steps on Windows prior to installing Ubuntu
Install the latest BIOS onto your laptop under Windows
Install any chipset drivers that are available on the Dell website onto your machine
Find and record your Windows 11 license key, you will need this if you want to run Windows 11 in a VM in Virtualbox in Ubuntu
At the Windows command line run
Find and record the type of Windows 11 license you have, at the Windows command line run
2. Create a bootable USB
Please follow instructions on how to create a bootable Ubuntu 20.04 USB:
3. Preparation for Dual Boot
If you want to keep the pre-installed windows on your computer (and install Ubuntu on an other partition), you'll need to create a partition for it. To create the empty partition in Windows:
- Boot into Windows and start the application called "Create and format hard disk partitions"
- Right click on the biggest partition and shrink it to 100-500GB
- Create a new partition in the freshly created space
The Ubuntu partition resizer function may also be used to resize the Windows partition but it has not been tested here.
If you want to change between Ubuntu and Windows later, you'll need to reset the following BIOS options to their original values:
- AHCI mode
- Disable Windows Boot Manager
4. BIOS Settings
Power up PC and press F2 to enter the BIOS
- Enable AHCI mode so that Ubuntu can see your hard disk.
Go to Storage → SATA/NVMe Operation
Select AHCI/NVMe mode
- Disable Windows Boot Manager
Go to Boot Configuration → Boot sequence
Disable Windows Boot Manager
- Enable Secure Boot and set it to the Audit Mode for the installation
Go to Boot Configuration → Secure Boot
Please make sure the Secure Boot is set to ON
Go to Boot Configuration → Secure Boot Mode
Please set the mode to "Audit Mode"
- Configure Thunderbolt. If you don't do this, the dock integration for USB can be flaky
Go to Integrated Devices and make sure the following options are checked:
- "Enable Thunderbolt Boot Support"
- "Enable Thunderbolt (and PCIe behind TBT) Pre-Boot Modules
Press Apply Changes followed by Exit.
Note: Instructions created based on Dell KB-000123462.
5. Install Ubuntu
5.1 Boot off Ubuntu Install USB stick
- Insert Ubuntu 20.04 boot USB drive into laptop
- Boot Dell PC and press F12 to access One-Time Boot Menu
- Select USB Storage as a boot device. The laptop will boot off the Ubuntu setup disk
- Click on "Install Ubuntu" icon in the installer.
- Select correct Keyboard layout when asked during installation.
5.2 Updates and other software
- Check "Normal Installation"
- Check "Install third-party software for graphics and Wi-Fi hardware"
- If the internet is configured please select "Download Updates while installing Ubuntu" in order to get latest software.
5.3 Disk Encryption
You MUST set up disk encryption to comply with European GDPR and other security requirements.
On the "Installation Type" pane:
- Select "Erase disk and install Ubuntu"
- Select "Encrypt the new Ubuntu Installation for security"
- Click "OK" and then "Install Now"
- In "Choose a security key" enter a strong password.
This is your disk encryption password, ensure you remember it because you will be asked for it each time you boot the computer. The only way to reset it is to reinstall the computer.
5.4 Complete Ubuntu Installation
- Complete the installation (Time Zone configuration, User Details)
- After installation finishes, please remove the USB key and reboot
5.5 Set Secure Boot to the Deployed Mode
When the laptop is starting up press F2 to enter the BIOS.
Make sure the Secure Boot is set to the Deployed Mode:
Go to Boot Configuration → Secure Boot Mode
Please set the mode to "Deployed Mode"
6. Update Ubuntu Software
Once the computer boots, you can login. The first thing you need to do is to connect to the internet either using Wi-Fi or Ethernet.
After that please update the software on the computer to the latest version that is available on the software repository. Please use the commands below:
Bluetooth is ropey on all but the very latest firmware. Ensure that the Linux firmware package is at version 1.173.2 or better with the command:
If not, make sure to take the firmware upgrade to at least version 1.173.2.
It might be a good idea to install Nvidia utility as well to control the display driver:
Reboot your computer.
7. Optional step - Install BIOS Update on Ubuntu
This is optional.
Ubuntu 16.04 and later natively notify you of new BIOS updates. When an update is available, a notification is displayed to flash the update.
At the time of writing, the latest BIOS version for Dell XPS 15 9520 laptops is 1.4.0. The latest BIOS updates are at the Dell support site.
You can check the current BIOS version using:
Follow these instructions from Dell to install a BIOS update on a Linux laptop.
The laptop may very well boot a number of times if there are multiple BIOS updates in the BIOS update package.
7.1 Unbricking a laptop bricked by a BIOS update
Following this procedure has, on one occasion, resulted in a temporary bricking of a laptop.
If the BIOS update bricks your laptop, it reports progress of 100% on the BIOS update and freezes at that screen. If this happens, you cannot do anything with the laptop, even long-holding the power button does not work. The laptop fan runs very fast if this happens.
The only option to unbrick the laptop is to drain the laptop battery and let it shut down.
- Disconnect the power from the laptop
- Leave the laptop until it drains the battery and shuts down
Now charge the laptop for 10-15 minutes to get a small amount of power into the battery. At this point, pressing the Laptop power button will not power on the laptop.
- Hold the power button for 45 seconds to a minute
- Eventually the "Dell" welcome screen shows up
You may have to try holding the power button a few times to get the laptop back.
Now, complete installation of the BIOS updates:
- Reboot the laptop
- The remainder of the BIOS updates should now install
8. Configuring your Ubuntu Machine
8.1 Install Gnome Tweaks
Gnome Tweaks allows you to change font sizes and stand customize fonts, colours and other attributes of your desktop.
Gnome Tweaks is now available under Super-A as the Tweaks application.
Font settings that work well are:
- Window Title: 11
- Regular: 9
- Sans Regular: 9
- Mono Regular: 11
8.2 Thunderbird email client
Thunderbird is not recommended email client anymore. Please use the Evolution email client instead as it's also syncing the Calendar and Global Address List.
The instructions below are kept as a reference only.
Thunderbird works well for corporate e-mail hosted on Microsoft Office 365 with OAuth2 modern authentication.
Office 365 hosted e-mail works fine with IMAP/SMTP configuration and OAuth2 modern authentication so use whatever email client you like.
Launch Thunderbird and select Email under the Setup Another Account section in the main window. In the Account Setup enter the following information:
- Your full name: <Your Name>
- email address: email@example.com
Note: Do not provide the password at this stage. Only enter your email address and name.
Thunderbird should automatically discover IMAP as the available configuration and fill in the server settings base on your account
Please confirm the settings and then click Done. You will be promted to completed 2FA authentication for your O365 account. After this is done your account will be set up in Thunderbird.
If you expirence any problem with sending or reciving emails. Please make sure the the Authentication Method is set to OAuth2 for both IMAP and SMTP protocols. Here is an example how this should be done under the Account Settings for both IMAP and SMTP:
8.2.1 Calendar configuration in Thunderbird (not verified)
To set up Calendar support in Thunderbird, use the command below to install the Thunderbird Lightning plugin
The Exchange EWS Provider allows you to synchronize your Thunderbird calendar with an Exchange server on Microsoft Office 365.
Clone the Exchange EWS provider from github
Check out the latest tagged version for the latest version of Thunderbird (currently v5.0.0-alpha3)
Build the Thunderbird plugin
Install the plugin in Thunderbird
Click Extensions in the left pane and then click on the drop down menu beside the "gear" icon
- Click "Install Add-on from File..."
- Browse to the directory where you built the Exchange EWS Provider plugin
Select the exchangecalendar-v5.0.0-alpha3.xpi file
Click the "Install" button on the warning dialogue
8.3 Evolution email client
Evolution is a good choice for Office 365 accounts with modern authentication and 2FA.
Compared with Outlook, the support for mail in Evolution could be classed as about 7 out of 10, and the support for corporate Calendar and Tasks in Evolution could be classed as 3 out of 10. Viewing calendar appointments and setting individual appointments works pretty well but for recurring meetings, you probably should use Outlook on the web or running in a Windows VM.
Ubuntu Online Accounts - Prerequisite
If you use the Ubuntu Online Accounts in order to set up Evolution, please remove Microsoft Exchange account as it is not compatible with MS Moder Authentication.
Before you start configuring Evolution for Office 365 account please install the EWS (Exchange Web Service):
Requirements: evolution-ews 3.27.91+
After that please launch Evolution email client and select: File → New → Mail Account.
On the Identity page please provide your Full Name and Email Address, uncheck the box for "Look up mail server details based on the entered e-mail address", and click Next.
On the Receiving Email page change the following:
- Server Type to "Exchange Web Services"
- Enter your email address as a Username
- Ensure that the Host URL is set to "https://outlook.office365.com/EWS/Exchange.asmx"
- Ensure that Authentication is set to "OAuth2 (Office365)"
If the Next button is disabled, please Override Office365 OAuth2 settings and in the "Application ID" field, enter 20460e5d-ce91-49af-a3a5-70b6be7486d1
Feel free to configure the rest of the settings as required. In the end, you will be asked to authenticate to your O365 account using your email account, password, and 2FA code.
When this is done Evolution will start syncing data from your Office 365 account, it might take a significant amount of time for the first sync.
It will sync emails, calendars, and global address lists (GAL).
8.4 Install a certificate for secure mail
8.4.1 Generate a certificate
Use whatever mechanism your organization recommends for generating a certificate. Once the certificate has been generated and downloaded, it should be in a file with a name such as mycert.p12. You should also have received a password or passphrase for your certificate.
8.4.2 Installing your certificate in Evolution
- Click Certificates
- Click Import
- Enter the password of your certificate
- Click Mail Accounts
- Select your firstname.lastname@example.org account, click Edit
- Click Security
- Select the certificate you just entered for signing and encryption.
You can now read and send encrypted mails.
8.4.3 Installing your certificate in Thunderbird
- Click "Certificates" tag
- Click "Manage Certificates"
- Click "Your Certificates"
- Click "Import..." and import your certificate
8.5 Application Shortcuts in Ubuntu
To create shortcuts in Ubuntu for apps see this howto. Save the <whatever>.desktop file to ~/.local/share/applications for it to show up in Gnome as an application.
Not critical for work but indulge me!
Download Spotify from the Spotify web site.
8.7 To get special characters like é and Ó
To get special characters on the keyboard, set a compose key. It allows you to get Irish Fadas, French graves/acutes and Swedish Umlauts etc, see this site.
- Start Gnome tweaks (Super-A→Tweaks)
- Keyboard & Mouse
- Click Compose Key "Disabled"
- Select the key you want to be your compose key
8.8 KeypassXC for Passwords
Unless you have a fabulous memory, KeepassXC, utility is very useful for managing passwords
The keepass2 application is now available under Super-A. Add your password entries.
On an entry on the Keepass2 list, CTRL_U opens the URL, CTRL_B copies the username for keepass2 for pasting, and CTRL_C copies the password for pasting.
8.9 The Zoom Conferencing System
To install Zoom
- Follow these instructions
- Download the Zoom ubuntu/debian package
Zoom depends on the gdebi package, install that using the following command:
Now install Zoom
In Zoom, the location for selecting an input/output source (eg if you are using bluetooth headphones) is hidden on a popup window activated by clicking on the little inverted v icon to the right of the microphone icon.
8.10 Microsoft Teams - chat and collaboration system
The best way to install MS Teams and keep it updated is to add the Teams apt repository to Ubuntu.
First, please import the GPG key of the Microsoft repository.
Now please add the repository to your system.
When this is done you can install MS team using this command:
Now you can open the MS Teams application and log in using your Office 365 account details.
Note: If you are using this guide but installing Ubuntu 22.04, follow these instructions to be able to use screen sharing
8.11 Internet Bookmarks
- Export your bookmarks on your old laptop
- Import your bookmarks
- uBlock Origin is a good ad blocker for Firefox, install it using the addons menu in Firefox
8.12 Other Applications
There are loads of software applications in the Ubuntu software "App manager". have a look in there for various things. A few that work well are:
- WhatsDesk for WhatsApp
- VLC (Video swiss knife)
- Gimp (Photoshop killer)
- Inkscape (Vector Gaphics editor)
- Sublime Text Editor
8.13 Ubuntu/Gnome Keyboard Shortcuts
There are many shortcuts defined, see the Gnome cheatsheet for a complete list.
8.14 Install Google Chrome
Install Google Chrome from the official Google repository so the browser is kept up to date.
First, please import the google repository key:
Then add the repository to your system via command:
Refresh system package cache and install Google Chrome via commands:
8.15 Google Chrome Apps
Google Chrome has a feature that allows Google Chrome "apps" to be installed in Gnome. Web "apps" such as Facebook and WhatsApp can be integrated into Ubuntu in this way, and, although they are running as Chrome web pages, they look like Ubuntu applications.
- Launch Chrome, Menu→More Tools→Extensions
- Go to chrome://apps
- Right Click on an app such as Google Drive and click "Create Shortcuts.."
- Select the shortcuts you want and the "app" appears as an Ubuntu application
8.16 Startup Applications
You can define applications that are started when you login. Use the Startup applications utility (Available under Super-A) to define these.
9. Install Windows and MS Office in Virtualbox
You may need to install Windows in order to participate in Skype for Business conferences and to manage your Outlook calendar properly. You can use the license of the Windows software that came with the computer even if it is running in the VM.
9.1 Install Virtualbox
9.2 Download Windows
Download an ISO image of Windows that is licensed on your host (such as Windows 10 64 bit) from this Microsoft site.
9.3 Install Windows 10 in Virtualbox
9.3.1 Create a VM in Virtualbox for Windows 10
- Start Virtualbox
- Create a VM for Windows 10, click "New"
- Name: Whatever
- Type: Microsoft Windows
- Version: WIndows 10 (64 Bit)
- Click "Next" for the next few panes accepting all the default values
You now have created a VM for Windows 10.
9.3.2 Set the Windows ISO file on the VM
- Select the VM you just created and right click selecting Settings
- Select "Storage"
- Under Controller SATA select the Optical disk "Empty" Entry
- On the Attributes pane, click on the optical disc icon
- Click Choose a virtual optical disk file and browse to the Windows 10 ISO you just downloaded
- Select audio
- Tick the "Enable Audio Input" check box
- click OK
9.3.3 Install Windows 10
To get the Windows product key in Ubuntu, run the command:
Start your VM and configure Windows
- Select your language and on the next pane, click "Install Now"
- When asked for a product key, enter it now
- Accept the EULA click Next
- When asked for the install type, click "Custom ...."
- Select the 50 GB drive for installation and click Next
Windows now installs and the VM reboots. Following the VM reboot, carry on with the installation:
- Set the keyboard/region/language and so on
- When asked if install is for personal use or organzation, select "Personal Use"
- When asked to sign into Microsoft, click "Offline Account" in the bottom left corner (It's hard to see!)
- Click "No" on the next screen to not set up an online account
- Create an account, set up a userid and password
- Set your security questions and set the next options as you wish
Windows now sets up and installs. When the installation completes, check your Windows license is activated, at a Windows command prompt enter:
The result should say License Status: Licensed
9.3.4 Install Windows updates
- In the control Panel, go to Settings→Check for updates
- Install any updates that are available
- reboot the VM
9.4 Install MS Office
Some Office 365 account allows you to download and install Microsoft Office. Others do not.
- In a web browser, sign into Office365 with your Office 365 credentials at this site.
- Click on the "Install Office" link on the right of the Office 365 home page to download the Office 365 installer
- Make sure to select the 64 bit version of Office365
- Run the installer to install Office365
9.5 Install Virtualbox Display Drivers
Virtualbox display drivers allow scaling of your Windows screen to work correctly. To install them:
- Run your Windows 10 VM
- Select Devices→Insert Guest Additions CD Image
- Follow the instructions to download the Guest Additions CD, mount the CD on the VM and install the Windows 64 Bit enhancements on the VM
- Install the enhancements and you will be able to resize the Windows VM window on the fly
9.6 Configure the VM sound for Headphones
There is a sound setting that improves the audio quality of headphones in Windows. This works well for USB headphones.
- In the Windows VM, right click on the speaker icon (Bottom right corner)
- Select Spatial Sound→ Windows Sonic for Headphones
9.7 Bluetooth Headset Sound Issues on Virtualbox
The headset settings for Bluetooth headsets on your Ubuntu laptop and on the Windows VM can get out of sync. Each time you use the VM, ensure the Ubuntu sound settings are the same as what they were when the VM was restarted in order not to have to restart the VM again. In other words, the VM does not follow live switching of Ubuntu sound devices. Do the following:
- Set the sound settings on Ubuntu to the sound devices you wish to use
- Start your Windows VM and then reboot the VM
Sound should then work properly.
10 Software Development Setup
Install java 8
Install meld, meld is a graphical tool for doing git merges
Configure your ~/.gitconfig so that git uses meld for merges. Edit the file and add the lines:
If you prefer to use nano (instead of vi) as your default git commit message editor, configure git to use nano with line length <120 (e.g. 72), soft word-wrapping and line-numbers:
11 Install Eclipse
This Howto has been verified to work with the following Eclipse versions:
11.1 Save your current settings
- Click Next
- Check "Export All"
- Select export location
- Transfer saved EclipseSettings.epf file to new machine
11.2 Download and Install Eclipse
- • Download Eclipse from eclipse.org
- Unzip the installer and run it
- Install the Eclipse IDE for Java developers
11.3 Recommended Eclipse Plugins
11.3.1 Plugins from the Eclipse repositories
The following Eclipse plugins from the Eclipse repositories are recommended:
- Eclipse Web Developer Tools
- Dynamic Languages Toolkit - ShellEd IDE (for bash scripting)
11.3.2 Plugins from the Eclipse Marketplace
The following Eclipse plugins from the Eclipse Marketplace are strongly recommended:
- Eclipse Checkstyle plugin
The following Eclipse plugins from the Eclipse Marketplace are also useful:
- JSON Editor Plugin
- Yaml Editor
Install Lombok into Eclipse
- Download the Lombok jar
Execute the jar by double clicking on it or giving the following command in a terminal
- If your Eclipse installation does not appear on the list, browse to the install location of your Eclipse install
- Click the "Install/Update" button
- Lombok is now installed on your Eclipse installation, restart Eclipse
- You may need to do a maven→update for the changes to be reflected in your error/warming messages
- (NB: Many classes in the ONAP Policy Framework use Lombok to generate getters/setters etc, so will not compile in Eclipse without installing Lombok for Eclipse)