# Installation Arch Linux (e.g. on Lenovo Think Pad) You have to disable secure boot in the BIOS. Enable virtualization and enable access to the USB for booting. Also, you should disable `legacy mode` and enable `UEFI` in the BIOS. Insert a prepared `ventoy` USB stick with already installed latest Arch Linux ISO file. # Change keyboard layout to German language ``` # loadkeys de-latin1 ``` ## Connect to WLAN (Wi-Fi access) If you have no ethernet access, only Wi-Fi, you can connect to the Access Point: ``` # iwctl [iwd]# device list ``` At least one device, e.g. `wlan0`, should now appear. ``` [iwd]# station wlan0 scan ... wait a moment ... [iwd]# station wlan0 get-networks ``` If, for example, the network is called ‘mynet’, then: ``` [iwd]# station wlan0 connect mynet Passphrase: ******* [iwd]# exit ``` If the network is `eduroam` follow the next section: ### Connect to EDUROAM eduroam.8021x Firstly, you have to create a new file at /var/lib/iwd/eduroam.8021x with: All personal data, such as ma0079, and the password, must of course be replaced. ``` # cd /var/lib/iwd # nano -cl eduroam.8021x ``` Content of the file: ``` [Security] EAP-Method=TTLS EAP-Identity=holo@technikum-wien.at EAP-TTLS-Phase2-Method=MSCHAPV2 EAP-TTLS-Phase2-Identity=ma0079 EAP-TTLS-Phase2-Password=Ubdaed8.Dtdpmc! EAP-TTLS-ServerDomainMask=radius.technikum-wien.at [Settings] AutoConnect=true ``` ### Start the iwctl wireless connection tool ``` # iwctl [iwd]# device list ``` At least one device, e.g. `wlan0`, should now appear. ``` [iwd]# station wlan0 scan ``` ... wait a moment ... ``` [iwd]# station wlan0 get-networks [iwd]# station wlan0 connect eduroam Passphrase: ******* [iwd]# exit ``` ## Check the internet connection ``` # ping -c 3 kuschel.at ``` ## Remote access via SSH If you are on the same network, you can easily access the machine via ssh. First you have to give the user `root` a new password to get access via the pre-installed openssh with: ``` # passwd ``` Then within the same network, connect without using a strict host key check (no hosts file is put into .ssh directory) Now from any linux machine in the same network, you can access that device with: ``` $ ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet root@archiso.local ``` or if you know the ip address (e.g. 192.168.170.2) of the machine, it could also be established with: ``` $ ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=quiet root@192.168.170.2 ``` # Start the arch installation script Hint: If possible, use a terminal window with a minimum size of approximately 160 x 46 so that all entries are clearly visible, e.g. in the partition table. ``` # archinstall ``` ### Archinstall language ``` English (100%) ``` ### Locales ``` Keyboard layout: de-latin1 Locale language: en_DK.UTF-8 Locale encoding: UTF-8 ``` Note: Using ‘en_DK’ instead of `de_DE` or `de_AT` is ideal for receiving English operating system messages. In addition, the operating system uses European date/time formats. The `en_DK.UTF-8` locale is not the only option for these formats; for example, `C.UTF-8` can also be used for 24-hour time. However, `en_DK.UTF-8` is frequently recommended in the ArchWiki and community discussions as a practical choice for users who want a consistent, internationally recognized date and time format without relying on US-centric defaults. It is also used in conjunction with other locales to mix and match formatting rules, such as using `en_GB.UTF-8` for language and `de_DE.UTF-8` for paper and measurement standards. ### Mirrors and repositories ``` Select regions: [x] Austria [ ] China [x] Czechia [x] Worldwide ``` ``` Additional repositories: [ ] multilib [ ] testing ``` ### Disk configuration #### Partitioning ``` Disk configuration type > Use a best-effort default partition layout ``` Select the correct built-in hard drive that you want to format. For instance: ``` Model | Path | Type | Size | Free space | Sector size | Read only --------------------------------------------------------------------------------------------------- [ ] VendorC ProductCode | /dev/sda | scsi | 58.6 GiB | 0 | 512 | False > [x] Samsung SSD 990 PRO 2TB | /dev/nvme0n1 | nvme | 1.8 TiB | 1907728 | 512 | False ``` Note: The `/dev/sda` is the USB stick, so we have to select and partition/format the `/dev/nvme0n1` device. Select the filesystem `BTRFS`, and create a default subvolume structure with compression, i.e. `zstd`: ``` Filesystem > btrfs ext4 xfs f2fs ``` ``` Would you like to use BTRFS subvolumes with a default structure? No > Yes ``` ``` Would you like to use compression or disable CoW? > Use compression Disable Copy-on-Write ``` My configuration looks like: ``` ┌─ Info ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ Configuration: Use a best-effort default partition layout │ │ /dev/nvme0n1: Samsung SSD 990 PRO 2TB │ │ Wipe: True │ │ Status | Device | Type | Start | End | Size | FS type | Mountpoint | Mount options | Flags | Btrfs vol. │ │ ----------------------------------------------------------------------------------------------------------------------- │ │ create | | primary | 2048 | 2099200 | 1 GiB | fat32 | /boot | | boot | │ │ create | | primary | 2099200 | 3907028992 | 1.8 TiB | btrfs | | compress=zstd | | 4 subvolumes │ │ │ │ name | mountpoint │ │ ------------------------------ │ │ @ | / │ │ @home | /home │ │ @log | /var/log │ │ @pkg | /var/cache/pacman/pkg │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ``` #### LVM We don't use LVM, a logical volume. #### Disk encryption Here we could activate hard drive encryption. If it is a company laptop (PC), the partition of a hard drive should be encrypted. Typically, LUKS is used. #### Btrfs snapshots We try out the snapshot type `Snapper` ### Swap #### Swap on zram: ``` Enabled ``` ### Bootloader If "UEFI is not detected and some options ...", you have to enable UEFI boot option in the BIOS. ``` > Systemd-boot (default) Grub Efistub Limine ``` We use Systemd-boot, formaly known as Gummiboot. Systemd-boot relies on the EFI System Partition (ESP) for configuration and boot entries. ### Unified kernel images Unified kernel images: Disabled ### Hostname I use a colourful network at home: We give the PC a nice name, e.g. a colour such as `silver` or another colour that is not yet used in our network. ### Authentication This section is self-explanatory: enter a root password and create a user. #### Root password Adding a good root password #### User account We add a user `tom` to the system ``` Should "tom" be a superuser (sudo)? No > Yes ``` ### Profile #### Type ``` > Desktop Minimal Server Xorg ``` I use `Cinnamon` as a profile and desktop environment Installed packages: ``` - cinnamon - engrampa - gnome-keyring - gnome-terminal - gvgs-smb - system-config-printer - xdb-user-dirs-gtk - xed ``` #### Graphics driver For the best compatibility with your Intel hardware, you may want to use either the all open-source or Intel options. For the best compatibility with your Nvidia hardware, you may want to use the Nvidia proprietary driver. ``` AMD /ATI (open-source) All open-source (default) Intel (open-source) Nvidia (open kernel module for newer GPUs, Turing+) Nvidia (open-source nouveau driver) > Nvidia (proprietary) VirtualBox (open-source) ``` My DELL has a built-in Nvidia card, so I selected `Nvidia (prorietary)`, with installed packages: ``` - dkms - libva-nvidia-driver - nvidia-dkms - xorg-server - xorg-xinit ``` If that doesn't work, I will try with `All open-source`. #### Greeter I choose the default `lightdm-gtk-greeter` from the list: ``` gdm > lightdm-gtk-greeter (default) lightdm-slick-greeter ly sddm ``` ### Application ### Kernels ### Network configuration ### Additional packages ### Timezone ### Automatic time sync (NTP)