1 Introduction

This document provides a concise guide to installing Linux. It can be used as a standalone guide, although we recommend that you attend our Install Events during the LinuxDays so that experienced users can help you with your installation.

The guide includes installation instructions for Windows 10, macOS and some general hard disk partitioning recommendations. We include some links to distribution-specific installation resources, for the most up-to-date instructions.

At the end of the guide, we include some software recommendations for people that are new to Linux.

If you are reading this guide outside of our event, you can skip the following subsection. Make sure that you have a USB stick available for installing Linux.

1.1 LinuxDays Install Event

Welcome to the LinuxDays Install Event. This document is designed to help you understand where you can find everything you need. Please also pay attention to any announcements we make.

1.1.1 Material

You will some things for the installation. You can find power outlets and LAN cables on the tables. For all other material we have set up a supply desk. There you can get:

  • Printed installation guides
  • USB installers
  • USB hubs
  • USB to LAN adapters

Please note we require your Legi to be deposited, so we can make sure we don’t loose anything.

1.1.2 Staff

Our staff is easily recognizable by their blue T-Shirts. Feel free to ask them about Linux Distributions, TheAlternative, Free Software or anything else.

1.1.3 Demolaptops

We have some laptops prepared with different distributions and desktop environments. If you have any troubles deciding which distribution or desktop environment you want, feel free to go to the demo table and have a look at these laptops. There should be a staff member present near the demo laptops to answer any questions you might have.

1.1.4 Apéro

We have free sandwiches and drinks ready for you. During the installation, there will be times when you have to wait for your computer to do things. You can use these moments to take a break.

Have fun, and welcome to the wonderful world of Linux!

2 Windows 10

Prepare Windows for dual boot.

2.1 Making Space for Linux

We recommend to have at least 40GB of free space on your disk. If you know you need large programs for your studies (e.g. Matlab, which is around 30GB), you probably want to increase your partition size accordingly.

Make space:

  • Open Disk Cleanup and click on Clean up system files. Select all that apply.
  • Open Add or Remove Programs and remove unneeded programs
  • Download WinDirStat from https://windirstat.net/ and find where the large files are hiding

Shrink Windows partition:

  • Open create and format hard disk partitions or diskmgmt.msc.
  • Look for the large Windows partition at the bottom.
  • Right-click on it and select Shrink Volume...
  • Shrink it so you have enough space available.

If you cannot shrink the partition, you can try to shrink it in the Linux installer.

If that does not work either, you need to use a tool like EaseUS Partition Master. Maybe ask a helper for assistance.

2.2 Disable Bitlocker

Bitlocker encrypts your disk, but unfortunately it is not compatible with Linux boot loaders.

Disable Bitlocker:

  • Open Manage Bitlocker
  • Select Turn off for all drives
  • Wait for decryption to end (click on the icon in the task bar to see the progress)

Alternatively: Disable Bitlocker over the command line:

  • Open cmd as administrator
  • Type manage-bde -unlock C:. Replace C: with the drive you need to decrypt, and press Enter. If you have multiple drives, do this once for each drive.
  • Wait for decryption to end (execute manage-bde -status for status information)

If you do not have Bitlocker enabled, then you will only see the Turn on option for Bitlocker. In that case, you don’t have to do anything and you can move on.

2.3 Disabling Fast Boot

Fast boot allows Windows to boot faster, but makes the file system inaccessible to other OSes (like Linux). Disable fast boot if you need to access Windows files from Linux.

To disable fast boot:

  • Find the battery icon in the task bar
  • Right-click and select Power Options
  • Select Choose what the power buttons do
  • Select Change settings that are currently unavailable
  • Remove the check mark at Turn on fast startup

2.4 Booting the installer

Make sure your Linux install stick is plugged into your PC.

Click Restart in the Windows start menu, while holding down the Shift key. A Please wait-text appears, after which Windows should enter the troubleshooting menu.

From this menu you can choose a startup device, or enter the UEFI settings.

  • To choose the startup device, select Use a device. We want to boot from the Linux USB stick. Choose USB FDD or similar.
  • To enter the UEFI settings, select Troubleshoot, Advanced Options and then UEFI Firmware Settings.

To continue with this guide, you should choose the first option, i.e. choose the startup device to boot into the Linux install stick.

3 macOS

Note that on modern Apple computers it is generally not advisable to install Linux (MacBooks after 2016 simply are not very compatible with Linux.)

Up-to-date information on the status of Linux support on MacBooks can be found here.

3.1 Preparation

We recommend to have at least 40GB of free space on your disk. If you know you need programs for your studies (e.g. Matlab), please have enough free disk space to install the desired programs and probably some extra, just in case. In case you are missing space, you can try emptying the Trash folder.

3.1.1 Shrink your OS X partition

On OS X, we will resize your existing partition before the installation of Linux. The idea is to shrink your OS X partition in order to make space for your new Linux system.

  • Go to /Applications/Utilities and open the Disk Utility.
  • Select your main disk in the list to the left (usually the first or the largest).
  • Select the tab Partition.
  • On the left side there is a white rectangle with some blue threshold indicating the space consumed by Mac OS X.
  • Click and hold the lower right corner of that rectangle and draw the cursor upwards, to shrink the volume.
  • The text on the right will give you information about the freed memory.
  • Once you are satisfied, click Apply to confirm the shrinking operation.

3.1.2 Install rEFInd

We will install the bootloader on OS X before the Linux installation. rEFInd will boot your USB Install Medium as well as your operating system later on.

  • Browse the web for http://www.rodsbooks.com/refind/getting.html and scroll down a bit to click the link A binary zip file.
  • Once the download has completed, go to the Download folder and extract the file.
  • Open a Mac terminal by going to Application/Utilities and opening Terminal.
  • Type cd (with a space afterwards, but do not press Enter yet) and drag the extracted folder into the terminal.
  • Now, hit Enter and then type ./refind-install.
  • When prompted for your password, enter it. (You won’t see what you enter at the password prompt at all. You have to enter your password blindly.)

3.1.3 Troubleshoot

In case you get an error message saying ALERT: SIP ENABLED, you need to do the following:

  • Turn off your Mac and start it again, pressing Cmd + R immediately after turning it on again (you might want to hold it for a while).
  • Your Mac should boot in recovery mode. Go to Utilities and open up a terminal.
  • Now type: csrutil disable.
  • Then reboot back into your normal system and try to install rEFInd again.
  • After installation, feel free to go once more into recovery and type csrutil enable.

3.2 Boot

We will now boot from your USB Install Medium.

  • Plug your USB Install Medium into your laptop.
  • Reboot your machine and rEFInd should see the USB key.
  • Your USB installer may have several ways to boot. They all will show up and have a little USB icon to the bottom right.
  • Usually the first USB installer is correct. If it doesn’t work, reboot and try the others.
  • If your USB installer doesn’t show up, hit Escape to refresh the list. It should show up now.
  • If you see multiple USB keys, try each of them until you find the Linux installer.

4 Partitioning

In this chapter, we cover recommendations for partitioning setups. It should give you a general idea of what partitioning is. This is useful to know before continuing with the distribution-specific install guides.

If you want to use Linux alongside your existing operating system (Windows/Mac), you will have to to some partitioning. Disk partitioning is the separation of different regions on a hard drive or an SSD. This separation is used to install two different operating systems on a computer.

This step can either be done automatically by the Linux distributions installer, or manually if you want more control over your setup. If you are unsure about what setup you want, it might be best to follow the automatic setup.

Example partitions for a system with Linux only
Example partitions for a dual boot system

4.1 Automatic setup

The various installers usually offer an option to either install alongside an existing operating system (Windows/Mac), or to use the entire disk and erase previously installed systems. If you choose to install alongside something else, there is usually an option to choose how much space you want to allocate for the new system. Note that the partition for the old system will also have to shrink by this amount.

4.2 Manual setup

If you want a manual setup these are some partitions you might consider:

  • /boot: This is the boot partition for EFI. This already exists for your other operating system, and should be reused.
  • / (root). A root partition is required for all installations. This is where all the operating system files live.
  • /home: Some users like to their home directory on a different partition. This can make re-installation of a distribution easier. However, this is entirely optional.
  • /swap: A swap partition is used as an extension for your machines memory, if it ever fills up. Nowadays, a lot of people omit this on personal computers.

You will also be able to choose a file system for / and /home. Almost always the ext4 filesystem should be used. If you know what you are doing, you can of course also choose something else.

5 Fedora

The top-level documentation for Fedora can be found on the official Fedora docs website.

The following links are a good starting point:

6 Ubuntu

We recommend to follow the official install-guide for installing Ubuntu.

As further resources, we recommend the Ubuntu Wiki and the askubuntu StackExchange.

7 Open SUSE

For getting started with OpenSuse we recommend going through Unofficial openSUSE Guide, since it gives a good overview and can save you some time.

Also check out the Start-Up Guide from their website and the documentation if you have further questions or want to work with the official material.

8 Software

These are software recommendations for Linux. Most of these are graphical programs, but there are some programs that run in the terminal only. Note that these programs have various licenses, some might not even be “libre” software (due to them becoming closed source at a later point, or this list having errors)!

Some programs are annotated if they are best used on GNOME or KDE. This does not mean they cannot be used on the other environment, but the visual integration might be lacking in these cases.

8.1 Office

Use case Application Comment
Office suite LibreOffice
PDF viewer Zathura All desktop environments include a PDF viewer. Zathura is another, more simple option.
Note taking, PDF annotation Xournal
LaTeX editor Texstudio, Texmaker, GNOME LaTeX Texstudio/Texmaker are “what you see is what you get”, GNOME LaTeX uses a “write, then compile” workflow.
Mindmapping vym
Design/Publishing Scribus
Simple Text Editor Gedit/Geany (GNOME), Kwrite/Kate (KDE)
Advanced Text Editor vim, emacs These are a bit more difficult to learn, but are very popular with power users.
File manager PCManFM, ranger/nnn (Terminal) All desktop environments include a file manager, these are other more advanced options.
CAD FreeCAD

8.2 Graphics

Use case Application Comment
Image editing GIMP, Pinta GIMP is a more fully featured editor, similar to Photoshop. Pinta is inspired by Paint.NET.
Painting Krita
3D Animation Blender
Photo management Darktable, Digikam
Scanning Skanlite (KDE), SimpleScan (GNOME)
OCR (Text Recognition) OCRGui, OCRmyPDF (Terminal)

8.3 Multimedia

Use case Application Comment
Video Player mpv, VLC, Totem (GNOME) Desktop environments have a default video player, but mpv/VLC are usually more powerful.
Audio editing Audacity
MP3 tagging Picard
Digital Audio Workstation (DAW) Ardour
YouTube downloader youtube-dl (Terminal) Requires regular updates, because YouTube changes their website rather often
Screen recording OBS, SimpleScreenRecorder OBS is very powerful, SimpleScreenRecorder is more simple option.

8.4 Scientific

Use case Application Comment
Matlab Python+Numpy, Octave Octave tries to be similar to Matlab, while Python+Numpy is rather different.
Statistics R, PSPP
ArcGIS QGIS, GRASS GIS

8.5 Internet

Use case Application Comment
Web Browser Firefox, Chromium, qutebrowser We recommend using Chromium instead of Google Chrome on Linux
Mail Thunderbird, KMail (KDE), Evolution (GNOME), mutt (Terminal)
Instant Messaging Telegram, Pidgin, Empathy (GNOME)
Torrent client Transmission (GNOME), Ktorrent (KDE), Deluge, rtorrent (Terminal)
Voice chat Mumble, Empathy (GNOME)
File synchronization Syncthing, Nextcloud, OwnCloud, Seafile

8.6 System

Use case Application Comment
Disk usage Baobab (GNOME), Filelight (KDE), ncdu (Terminal)
Virtualization virt-manager, VirtualBox, GNOME Boxes
Backup borg backup, Déjà Dup
System monitor htop (Terminal) The desktop environment have their own system monitor included.

8.7 Development

Use case Application Comment
IDE IntelliJ, Eclipse, Code::Blocks, Android Studio, Geany, Qt Creator, Gnome Builder Some of these might not be Free and Open Source!

8.8 Other

Use case Application Comment
Dropdown terminal Guake (GNOME), Yakuake (KDE)
Clipboard manager Glipper (GNOME), Clipman (XFCE) The desktop environment each have their own clipboard manager.

9 Troubleshooting

9.1 Microsoft Surface

9.1.1 Something doesn’t work

Microsoft Surface devices usually require a patched kernel. See this project to install such a kernel.

9.2 Wireless

9.2.1 Broadcom on Ubuntu doesn’t work

See this.

9.2.2 Installing Broadcom Firmware

openSUSE:

sudo zypper install b43-fwcutter sudo /usr/sbin/install_bcm43xx_firmware

See also this site.

Ubuntu:

sudo apt install firmware-b43-installer

See also this site.

9.3 OpenSUSE

9.3.1 Installing Broadcom Wireless Drivers (broadcom-wl)

  • Add the packman repo: YaST -> Software repos -> Add -> Select community -> repos -> Next -> Select packman -> Finish
  • zypper ref
  • zypper install broadcom-wl

9.4 Graphics drivers

9.5 System hangs at boot (NVIDIA present)

Boot with nomodeset kernel parameter, then either install proprietary NVIDIA drivers or disable the NVIDIA graphics entirely.

9.6 I want to disable the Nouveau driver

echo 'blacklist nouveau' | tee /etc/modprobe.d/blacklist.conf

9.7 System

9.7.1 chroot into an installed system

To chroot into an installed system from a live iso, do the following:

  • sudo su
  • mount /dev/sdaX /mnt, where sdaX is your root partition
  • If you have EFI: mount /dev/sda1 /mnt/boot/efi (assuming sda1 is your EFI partition)
  • mount -t proc proc /mnt/proc/
  • mount -t sysfs sys /mnt/sys/
  • mount -o bind /dev /mnt/dev/
  • chroot /mnt /bin/bash

9.7.2 Cleaning up boot entries

  • efibootmgr prints all boot entries.
  • efibootmgr -o XXXX,YYYY,ZZZZ sets the boot order.
  • efibootmgr -b <number> -B deletes an EFI boot entry.

9.7.3 Drives are not found in the installer

Especially newer laptops (2018+) have options to switch between RAID and AHCI boot mode.

If the laptop is running in RAID mode and Linux does not recognize its drives, it will have to be switched to AHCI. Unfortunately, this also means Windows needs to be reconfigured, otherwise it won’t boot anymore.

  1. Click the Start Button and type cmd
  2. Right-click the result and select Run as administrator
  3. Type this command and press ENTER: bcdedit /set {current} safeboot minimal (ALT: bcdedit /set safeboot minimal)
  4. Restart the computer and enter BIOS Setup
  5. Change the SATA Operation mode to AHCI from either IDE or RAID
  6. Save changes and exit Setup and Windows will automatically boot to Safe Mode.
  7. Right-click the Windows Start Menu once more. Choose Command Prompt (Admin).
  8. Type this command and press ENTER: bcdedit /deletevalue {current} safeboot (ALT: bcdedit /deletevalue safeboot)
  9. Reboot once more and Windows will automatically start with AHCI drivers enabled.

9.7.4 32-bit EFI is used

  • No provided install image will boot.
  • Windows is installed in 32-bit mode.
  • Some older Macbooks have this configuration.
  • To install 64-bit Linux (we never encountered an actual 32-bit CPU with this problem!), manually replace the bootloader with a grub standalone. See the Arch Wiki.

9.7.5 I need to turn off Bitlocker

Do not change any BIOS/UEFI settings before disabling BitLocker! You will have to provide the decryption key otherwise, which the user typically has no access to.

  • Launch a command prompt with administrator rights and use manage-bde -off C:, where C: is the drive you want to decrypt.
  • Use the command manage-bde -status to query the decryption status.
  • You will need to wait until decryption is complete, which can take a long time.

9.7.6 Unlock BitLocker Encrypted Devices

If you change any UEFI settings on a BitLocker encrypted device (typically Surface devices), you will be prompted for the BitLocker key on next boot.

Since Surface devices come encrypted out of the box, the user does typically not have that key and Windows will refuse to boot. If this happens, resetting the UEFI settings to factory settings should fix the issue.

Alternatively, you can just enter the correct Bitlocker key. This works only if the user has a Microsoft account linked to the device. You can get the BitLocker key as follows:

  • On another device, google for “BitLocker Recovery Key”. You should find several Microsoft Support or FAQ pages on how to recover the key.
  • Search for a link saying “To get your recovery key, go to BitLocker Recovery Keys” or similar. Go there.
  • Ask the user to sign in using their Microsoft account. The website will then display their recovery key, which can be used to unlock the device.

9.7.7 System will not boot under any circumstance

Some very bad firmwares just refuse to boot GRUB, however you configure it. This “bootloader hack” can be applied in these cases.

  • Try to boot the actual distro that has been installed by “using a device” to boot. Do so by holding shift while clicking on “reboot” in Windows.
  • If that doesn’t work, boot a live system and chroot into the installed system.
  • Once booted or chrooted into the Linux system, become root (sudo su) and go to /boot/efi/EFI/Microsoft/Boot and locate a file named bootmgfw.efi. Rename it to bootmgfw-original.efi.
  • Go to /boot/efi/EFI/grub2 (sometimes also just grub) and locate the file grubx64.efi. Copy it over to /boot/efi/EFI/Microsoft/Boot/. If a file called shimx64.efi exists, copy that one over as well.
  • Find the file grub.cfg in /boot/efi/EFI/grub2 and copy it over to /boot/efi/EFI/Microsoft/Boot/.
  • Go back to /boot/efi/EFI/Microsoft/Boot/. If shimx64.efi exists, rename it to bootmgfw.efi. If it does not exist, rename grubx64.efi to bootmgfw.efi.
  • Now go to /boot/grub/, or /boot/opensuse/ (the exact folder path may vary). Find the file grub.cfg and open it. Find the menuentry block for Windows (usually called “Windows Bootloader (on /dev/sdx)” or similar). Copy the entire block.
  • Uninstall the package os-prober.
  • Now go to /etc/grub.d. If a file with os-prober in its name exists, delete it.
  • Find the file 40-custom.cfg. If it doesn’t exist, create it. Paste the menuentry block you copied earlier in this file.
  • In the text you just pasted, look for bootmgfw.efi and change it to bootmgfw-original.efi.
  • Save the file.
  • Run grub-mkconfig -o /boot/grub/grub.cfg. Make sure the file path matches the path where you originally found the grub.cfg you copied the menuentry from.
  • Reboot and verify that grub now loads properly. Also test whether Windows boots!