Offline installation - ArchWiki

# Offline installation

From ArchWiki

Related articles

- Offline installation of packages
- Archiso offline

The factual accuracy of this article or section is disputed.

Reason: Instead of copying the files from the archiso, the "bootstrap" images available on the Arch mirrors can be extracted directly to the target disk. You will get a minimal system without the need to deal with the archiso modifications. (Discuss in Talk:Offline installation#)

If you wish to install the Archiso (e.g. the official monthly release) as it is without an Internet connection, or, if you do not want to download the packages you want again:

First, follow the Installation guide, skipping the Installation guide#Connect to the Internet section, until the Installation guide#Install the base packages step.

## Install the archiso to the new root

Instead of installing the packages with `pacstrap` (which would try to download from the remote repositories), copy everything in the live environment to the new root:

    # cp -ax / /mnt

Note: The option (`-x`) excludes some special directories, as they should not be copied to the new root.

Then, copy the kernel image to the new root, in order to keep the integrity of the new system:

    # cp -vaT /run/archiso/bootmnt/arch/boot/$(uname -m)/vmlinuz /mnt/boot/vmlinuz-linux

After that, generate a fstab as described in Installation guide#Fstab.

## Chroot and configure the base system

Next, chroot into your newly installed system:

    # arch-chroot /mnt /bin/bash

Note: Before performing the other Installation guide#Configure the system steps (e.g. locale, keymap, etc.), it is necessary to get rid of the trace of the Live environment (in other words, the customization of archiso which does not fit a non-Live environment).

### Restore the configuration of journald

This customization of archiso will lead to storing the system journal in RAM, it means that the journal will not be available after reboot:

    # sed -i 's/Storage=volatile/#Storage=auto/' /etc/systemd/journald.conf

### Remove special udev rule

This rule of udev starts the dhcpcd automatically if there are any wired network interfaces.

    # rm /etc/udev/rules.d/81-dhcpcd.rules

### Disable and remove the services created by archiso

Some service files are created for the Live environment, please disable the services and remove the file as they are unnecessary for the new system:

    # systemctl disable pacman-init.service choose-mirror.service
    # rm -r /etc/systemd/system/{choose-mirror.service,pacman-init.service,etc-pacman.d-gnupg.mount,getty@tty1.service.d}
    # rm /etc/systemd/scripts/choose-mirror

### Remove special scripts of the Live environment

There are some scripts installed in the live system by archiso scripts, which are unnecessary for the new system:

    # rm /etc/systemd/system/getty@tty1.service.d/autologin.conf
    # rm /root/{.automated_script.sh,.zlogin}
    # rm /etc/mkinitcpio-archiso.conf
    # rm -r /etc/initcpio

### Importing archlinux keys

In order to use the official repositories, we need to import the archlinux master keys (pacman/Package signing#Initializing the keyring). This step is usually done by pacstrap but can be achieved with

    # pacman-key --init
    # pacman-key --populate archlinux

Note: Keyboard or mouse activity is needed to generate entropy and speed-up the first step.

### Configure the system

Now you can follow the skipped steps of the Installation guide#Configure the system section (setting a locale, timezone, hostname, etc.) and finish the installation by creating an initial ramdisk as described in Installation guide#Initramfs.

### Enable graphical login (optional)

If using a display manager like GDM, you may want to change the systemd default target from multi-user.target to one that allows graphical login.

    # systemctl disable multi-user.target
    # systemctl enable graphical.target

Categories:

- Live Arch systems
- Installation process

Hidden category:

- Pages or sections flagged with Template:Accuracy