# Installation of Desktop system
> Install stable/testing Debian with Xfce from image to encrypted disk
This text documents initial setting up a computer
for use as desktop (or laptop) workstation.
## Prerequisites
You need a computer with monitor and keyboard connected.
**Recommended:**
Either a [Teres-1] laptop or a [LIME2] box.
You also need a microSD card as install medium.
**Recommended:**
microSD card from SanDisk marked as "A1" or "A2".
You will need internet access during install,
both to get the install image
and to finalize system setup.
**Beware:**
Many wifi controllers does not work out of the box
with Free systems like [Debian].
You can either avoid wifi (i.e. use ethernet instead),
use a [Debian-compatible USB wifi dongle][Debian wifi],
or (if acceptable to you) include suitable nonfree drivers.
[Debian]:
"Debian - the Universal Operating System"
[Teres-1]:
"Olimex Teres-I Do-It-Yourself laptop"
[LIME2]:
"Olimex A20-OLinuXino-LIME2"
[Debian wifi]:
"List of Debian-compatible wifi chipsets"
## Download image
You are generally recommended to install a stable system.
Alternatively you can install a testing system -
more exciting but also less reliable.
Download newest image for Teres-I or LIME2
among available [core images].
Or for Teres-I with working built-in wifi
(if non-free licensed drivers are acceptable to to you)
then instead download a [nonfree image].
[core images]:
"Debian system images tailored for various computers and purposes"
[nonfree image]:
"Pre-installed 'box' images with nonfree firmware"
## Store image
You need to transfer the downloaded image onto your install device -
i.e. overwrite the whole raw **disk** device
(not a partition on the disk).
**Beware:**
Take great care not to accidentally overwrite the wrong disk device!
First identify the **path** name of the install device
by running a command repeatedly -
with and without the install device plugged in -
to notice which device changes in the output of the command.
**Linux:**
Try this command:
lsblk --paths
**MacOS:**
Try this command:
ls /dev/rdisk?
The path is listed in the first column -
something like `/dev/sdf` or `/dev/rdisk7`.
Check also that the disk is not mounted,
on linux shown in last column of output of above command.
If the device disk has anything mounted
then **unmount** it before preceeding.
Decompress and copy image onto card
(adjust image name and device path as needed):
gunzip core-lime2-buster.img.gz
sudo cp core-lime2-buster.img PATH_TO_YOUR_SDCARD
## Install core system
Turn off the target computer,
plug in the microSD card,
turn on power,
and log in.
**Username:**
debian
**Password:**
insecure
## Setup network
Check network access (status should ideally be _routable_):
networkctl status
Optionally you can additionally test connectivity
towards a common public host:
mtr --displaymode=1 1.1.1.1
With **ethernet**
(builtin or a USB dongle),
just connect cable.
With **wifi**,
do something like this:
iwctl station wlan0 get-networks
iwctl station wlan0 connect SSID_LISTED_ABOVE
If above fails with error message
> Operation failed
then try restart iwd:
sudo service iwd restart
...and then repeat the `iwctl` commands.
## Finalize core system
You are recommended to use full disk encryption,
which protects your personal data stored on the harddisk
from being accessible by others
e.g. if your computer gets stolen.
**Beware:**
Disk encryption only protects your data
while the computer is **turned off**
(also use a strong user password and a screensaver with locking).
Also, if you forget your disk password then **all your data is lost!**
Finalize setup of the core system:
sudo system-setup
System is succesfully finalized when it ends with this message:
> Box setup configured succesfully!
Otherwise follow the instructions provided, if any,
or {{contact_sysadmins}} if something seems off.
## Install desktop environment and helper tools
Install the "Xfce" desktop environment,
and tools for systems moving around or sometimes turned off,
and tools for automated administration of system updates:
sudo box-add-gui
sudo box-add-mobile
sudo box-add-admin
## Disk space
A simple system allocates all disk space for direct use.
A system setup to use logical volume management (LVM), however,
has allocated only a smaller portion of disk space,
reserving the rest for later allocation as needed.
Initial disk space should be enough to extend with default gui addon.
When you need more space then allocate it manually,
either to "root" for system use or to "home" for personal data.
Get an impression of how your disk is organized into partitions:
lsblk
Show disk space available but unallocated by LVM:
sudo vgs
Show disk space allocated to LVM:
sudo lvs
Allocate (if you want and it is available) 1 GB extra space for system use:
sudo lvextend --size +1G --resizefs /dev/vg_sys/lv_root
Allocate (if you want and it is available) 3 GB extra space for personal use:
sudo lvextend --size +3G --resizefs /dev/vg_sys/lv_home
If you prefer a graphical tool,
then you might appreciate (after adding a gui) adding the tool `gparted`:
sudo apt install gparted