Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/README.md
blob: 6ad1e13cc03ef50f07cd0bc95c87a0debf293c73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# archinstall
Just a bare bone automated [Arch Linux](https://wiki.archlinux.org/index.php/Arch_Linux) installer *(with optional network deployment instructions based on MAC-address)*.

Pre-built ISO's can be found here which autostarts this installer: https://hvornum.se/archiso/

# How-to / usecases

## Run on Live-CD (Python):

    # wget https://raw.githubusercontent.com/Torxed/archinstall/master/archinstall.py
    # pacman -S --noconfirm python; python archinstall.py

This will start a guided install. Add `--default` for unattended.

> NOTE: Follow [ArchISO](https://wiki.archlinux.org/index.php/archiso)'s guide on how to create your own ISO or use a pre-built [guided ISO](https://hvornum.se/archiso/) to skip the python installation step, or to create auto-installing ISO templates. Fruther down are examples and cheat sheets on how to create different live ISO's.

## Run on Live-CD (Binary)

    # wget https://gzip.app/archinstall
    # chmod +x archinstall; ./archinstall

# Features

 * User guided install of Arch Linux *(Like most other distros have)*
 * Supports `AUR` packages.
 * Unattended install of Arch Linux
 * Profile / Template based installs
 * Full disk encryption, locale/region settings and customizable application selection
 * YubiKey support for disk and root password *(TBD / next release)*
 * Supports offline-installation of Arch Linux *(currently broken)*
 * Never creates or leave post-install/service scripts *(usually used to finalize databases etc)*

# Examples:

 * `./archinstall --profile=workstation --drive=/dev/sda` - Installs the workstation template on the drive `/dev/sda`


# [Build a Arch Linux ISO to autorun archinstall](https://github.com/Torxed/archinstall/wiki/Autorun-on-Arch-Live-CD)

More options for the built ISO:

### [Unattended install of a profile](https://github.com/Torxed/archinstall/wiki/Unattended-install-of-a-profile)

### [User guided install (DEFAULT)](https://github.com/Torxed/archinstall/wiki/User-guided-installation-(DEFAULT))

### [Custom web-server for deployment profiles](https://github.com/Torxed/archinstall/wiki/Custom-web-server-for-deployment-profiles)

# [Rerunning the installation](https://github.com/Torxed/archinstall/wiki/Rerunning-the-installation)

# Some parameters you can give it

    --drive=</dev/sdX>
      Which drive to install arch on, if absent, the first disk under /dev/ is used
    
    --size=100% (Default)
      Sets the size of the root filesystem (btrfs)
    
    --start=513MiB (Default)
      Sets the starting location of the root partition
      (TODO: /boot will take up space from 1MiB - <start>, make sure boot is no larger than 513MiB)
    
    --password=0000 (Default)
      Which disk password to use,
        --password="<STDIN>" for prompt of password
        --password="<YUBIKEY>" for setting a unique password on the YubiKey and use that as a password
        (NOTE: This will wipe/replace slot 1 on the YubiKey)

    --pwfile=/tmp/diskpw (Default)
      Which file to store the disk encryption password while sending it to cryptsetup
    
    --hostname=Arcinstall (Default)
      Sets the hostname of the box
    
    --country=SE (Default)
      Default mirror allocation for fetching packages.
    
    --packages='' (Default)
      Which additional packages to install, defaults to none.
      (Space separated as it's passed unchanged to `pacstrap`
    
    --user=<name>
      Adds an additional username to the system (default group Wheel)
    
    --post=reboot (Default)
      After a successful install, reboots into the system. Use --post=stay to not reboot.

    --default
      This parameter causes the installation script to install arch unattended on the first disk

    --profile=<name>
      For instance, --profile=workstation will install the workstation profile.

    --profiles-path=https://example.com/profiles
      Changes the default path the script looks for deployment profiles.
      The default path is 'https://raw.githubusercontent.com/Torxed/archinstall/master/deployments'

    --rerun="Name of step in profile"
      Enables you to skip the format, encryption and base install steps.
      And head straight for a step in the profile specified.
      (Useful for debugging a step in your profile)

    --localtime="Europe/Stockholm" (Default if --country=SE, otherwise GMT+0)
      Specify a localtime you're used to.

Deployment profile structs support all the above parameters and more, for instance, custom arguments with string formatting.
See [deployments/workstation.json](https://github.com/Torxed/archinstall/blob/net-deploy/deployments/workstation.json) for examples.

# Contact

IRC: `#archinstall@FreeNode`

## End note

 ![description](description.jpg)