Installation on a headless host

From Alpine Linux
Revision as of 05:06, 28 March 2025 by Prabuanand (talk | contribs) (created page with contents from Installation page Raspberry Pi page)

This page documents the Installation procedure for Alpine Linux on a headless host i.e a system without a keyboard, mouse & display to interract with but otherwise available only through a network connection.

Note: These steps still require physical access to the headless machine. Somebody has to insert the installation medium and power up the headless server.

Headless install media

A Custom-made headless apkovl file can be created as per the below process.

Todo: Verification of the below steps and adding missing details(if any) is needed


  • Booting the install media on some computer with a display and keyboard attached, or in a virtual machine, and doing an intermediate "diskless" setup of just the boot media (more details below), i.e. using the offical setup-alpine to configure the system's network, possibly for dhcp if needed, a ssh server, and a login user.
  • Choosing "disks=none" for now, yet, configure to store configs on the boot media (if it is writable, otherwise on a separate storage media).
  • Use lbu commit to store the configs as local backup. Then your completed setup, including its securely created own private keys, will readily get (re)loaded on every subsequent (headless) boot from your custom-build <hostname>.apkovl.tar.gz stored on the boot media (or on an auxilary media or server location, in case the boot media is read-only).

Alternate solution

Note: The below solution is from github repository. The author macmpi is also the maintainer of a number of raspberrypi-* Alpine Linux packages.

To Install Alpine Linux on a headless host, a bootstrapping configuration overlay file headless.apkovl.tar.gz may be added as-is at the root of Alpine Linux Installation media.

To enable wifi, create a file wpa_supplicant.conf in the install media as follows:

Contents of wpa_supplicant.conf

country=FR network={ key_mgmt=WPA-PSK ssid="mySSID" psk="myPassPhrase" }

Alternately, wpa_passphrase utility from wpa_supplicant package can be used to create the encrypted version of the above file as follows: wpa_passphrase 'mySSID' 'myPassPhrase' > wpa_supplicant.conf The above encrypted version of the wpa_supplicant.conf file may be placed in the Install media.

With the above setup, the usual Installation steps can be performed remotely using ssh. Use the nmap tool from nmap package as follows: nmap -v -sn 192.168.1.0/24 to find the ip of your headless host.

See also