Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds+github@gmail.com>2020-06-30 21:51:41 +0200
committerGitHub <noreply@github.com>2020-06-30 21:51:41 +0200
commit9ea95890429f50cb7057a47d9d1625cb312ad1b3 (patch)
tree6f1b75e1b2d697e3a1679210f06950ed27c2101c /README.md
parent0399df8c25caccd26ef61b703d6b1c43a7ddcec9 (diff)
Update README.md
Diffstat (limited to 'README.md')
-rw-r--r--README.md65
1 files changed, 59 insertions, 6 deletions
diff --git a/README.md b/README.md
index 0be80bad..236529f5 100644
--- a/README.md
+++ b/README.md
@@ -3,20 +3,73 @@ Just another guided/automated [Arch Linux](https://wiki.archlinux.org/index.php/
Pre-built ISO's can be found here which autostarts this script *(in guided mode)*: https://hvornum.se/archiso/
-# How-to / Usecases
+# Usage
## Run on Live-CD (Binary)
# wget https://gzip.app/archinstall
# chmod +x archinstall; ./archinstall
-## Run on Live-CD (Python):
+This downloads and runs a "compiled" *(using nuitka)* version of the project.<br>
+It defaults to starting a guided install with some safety checks in place.
- # wget https://raw.githubusercontent.com/Torxed/archinstall/master/archinstall.py
- # pacman -S --noconfirm python; python archinstall.py
+## Run on Live-CD with Python:
-This will start a guided install.<br>
-Add `--default` for a unattended minimalistic installation of Arch Linux.
+ # wget https://raw.githubusercontent.com/Torxed/archinstall/master/installer.py
+ # pacman -S --noconfirm python; python install.py
+
+This will start a guided install with the same safety checks as previous.<br>
+
+## Run using PIP and Python module:
+
+ # pip install archinstall
+ # python -m archinstall
+
+Again, a guided install starts with safety checks.<br>
+This assumes tho that Python and Pip is present (not always the case on the default Arch Linux ISO), see above for pre-built ISO's containing Python+pip
+
+## Scripting a installation
+
+So, assuming you're building your own ISO and want to create an automated install.<br>
+This is probably what you'll need, a minimal example of how to install using the library.
+
+ import archinstall, getpass
+
+
+ selected_hdd = archinstall.select_disk(archinstall.all_disks())
+ disk_password = getpass.getpass(prompt='Disk password (won\'t echo): ')
+
+ with archinstall.Filesystem(selected_hdd, archinstall.GPT) as fs:
+ fs.use_entire_disk('luks2')
+ with archinstall.luks2(fs) as crypt:
+ if selected_hdd.partition[1]['size'] == '512M':
+ raise OSError('Trying to encrypt the boot partition for petes sake..')
+
+ key_file = crypt.encrypt(selected_hdd.partition[1], password=disk_password, key_size=512, hash_type='sha512', iter_time=10000, key_file='./pwfile')
+ crypt.mount(selected_hdd.partition[1], 'luksloop', key_file)
+
+ with archinstall.installer(root_partition, hostname='testmachine') as installation:
+ if installation.minimal_installation():
+ installation.add_bootloader()
+
+ installation.add_additional_packages(['nano', 'wget', 'git'])
+ installation.install_profile('desktop')
+
+ installation.user_create('anton', 'test')
+ installation.user_set_pw('root', 'toor')
+
+ installation.add_AUR_support()
+
+This installer will perform the following:
+
+ * Prompt the user to select a disk and disk-password
+ * Proceed to wipe said disk
+ * Sets up a default 100% used disk with encryption
+ * Installs a basic instance of Arch Linux *(base base-devel linux linux-firmware btrfs-progs efibootmgr)*
+ * Installs and configures a bootloader
+ * Install additional packages *(nano, wget, git)*
+ * Installs a network-profile called `desktop` *(more on network profiles in the docs)*
+ * Adds AUR support by compiling and installing [yay](https://github.com/Jguer/yay)
> **Creating your own ISO:** 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. Further down are examples and cheat sheets on how to create different live ISO's.