Dateien
scripts/arch-linux-install.md
T
2026-08-01 22:54:52 +02:00

9.8 KiB
Originalformat Blame Verlauf

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)