Update README.md

This commit is contained in:
Anton Hvornum 2020-06-30 21:51:41 +02:00 committed by GitHub
parent 0399df8c25
commit 9ea9589042
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 59 additions and 6 deletions

View File

@ -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.