Install script
Writes a bash script for a fresh Arch Linux install. You boot the official Arch ISO, copy the script over, read it, and run it as root.
How to use it from the Arch ISO
- Boot the official Arch ISO in the same mode (UEFI or BIOS) you chose here.
- Get online. Use
iwctl for Wi-Fi, or plug in a cable.
- Copy
install.sh to the ISO (curl, scp or a USB stick). You can also download the zip and copy the files.
- Read the script. It is plain bash with no hidden steps.
- Run
bash install.sh. It shows the disk layout and asks you to type the disk path again before it touches anything.
- When it finishes, remove the install medium and reboot.
Test it first. Run it in a virtual machine with the same settings before you use it on real hardware.
What the script does
- Wipes the disk and creates a GPT partition table with the layout in the plan.
- Creates the filesystems, optionally a LUKS2 container, and btrfs subvolumes.
- Mounts everything under /mnt, then runs pacstrap with the packages you chose.
- Writes fstab with genfstab, then runs a chroot step for time zone, locale, hostname, bootloader, user, network and passwords.
- Prompts you for the root password, the user password and, with LUKS, the disk passphrase.
Not generated: archinstall JSON
This tool does not write an archinstall JSON config. archinstall's schema changes between versions, so a file made here could break on the ISO you use. The script does the same job without that risk.
Safety design
- Every value that reaches the script passes a strict allowlist, such as the disk path pattern and the package name pattern.
- Values are single-quoted, so the shell does not interpret them.
- The script refuses to run unless you are root, the disk is a block device, and (for UEFI) the ISO booted in UEFI mode.
- You must retype the disk path. Check the lsblk output before you do.
Cannot do: check that you picked the right disk. Confirm the device name with lsblk on the ISO. Verify the script yourself. You are responsible for the result.
fstab builder
Builds the text of an /etc/fstab file from rows. Each row becomes one line, and the output updates as you type.
- Device is a UUID=, LABEL=, PARTUUID=, PARTLABEL= or a path such as /dev/sdb1. Prefer UUID= for disks that do not move.
- Type chooses the filesystem. Changing it can offer that type's usual options and pass value.
- Pass is 1 only for the root filesystem on ext4, and 0 for everything else.
- Quick-add buttons fill a row with a sensible starting point. Replace the placeholder device names before you use the file.
Validation
Errors block a working fstab. Warnings explain risks you may want to accept. Click a message with a line number to jump to that row. Line numbers match the # column in the table.
Options explained
Focus any row to see what each of its options does.
Using the output
Copy the text or download the file named fstab. Keep the copy under /etc/fstab on the installed system, and check it with findmnt --verify after you reboot.
Cannot do: read your disks. Device names and UUIDs are typed in by you. Use blkid on the running system to find them.
Keyboard
- Ctrl+Enter (or ⌘+Enter) generates the install script.
- ? opens this help when you are not typing in a field.
- Esc closes Help.
- Arrow keys move between the two sections and between the files and tabs.