Update README.md

This commit is contained in:
Dylan M. Taylor 2021-04-09 09:55:16 -04:00 committed by GitHub
parent 057f9cd028
commit 8f48e1ac69
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 63 additions and 0 deletions

View File

@ -66,6 +66,69 @@ This installer will perform the following:
> **Creating your own ISO with this script on it:** 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.
## Unattended installation based on MAC address
It is possible to add a file in the profiles directory that will automatically run when launching archinstall using the unattended mode if the MAC address of the system matches the profile name. In the following example, this profile would go into a file called `profiles/52-54-00-12-34-56.py`:
```
import archinstall
import json
import urllib.request
import git
# Unmount and close previous runs (Mainly only used for re-runs, but won't hurt.)
archinstall.sys_command(f'umount -R /mnt', suppress_errors=True)
archinstall.sys_command(f'cryptsetup close /dev/mapper/luksloop', suppress_errors=True)
# Select a harddrive and a disk password
harddrive = archinstall.all_disks()['/dev/sda']
disk_password = '1234'
with archinstall.Filesystem(harddrive, archinstall.GPT) as fs:
# Use the entire disk instead of setting up partitions on your own
fs.use_entire_disk('luks2')
if harddrive.partition[1].size == '512M':
raise OSError('Trying to encrypt the boot partition for petes sake..')
harddrive.partition[0].format('fat32')
with archinstall.luks2(harddrive.partition[1], 'luksloop', disk_password) as unlocked_device:
unlocked_device.format('btrfs')
with archinstall.Installer(
unlocked_device,
boot_partition=harddrive.partition[0],
hostname="testmachine"
) as installation:
if installation.minimal_installation():
installation.add_bootloader()
installation.add_additional_packages(['nano', 'wget', 'git'])
installation.install_profile('minimum')
installation.user_create('devel', 'devel')
installation.user_set_pw('root', 'toor')
repo = git.Repo('./')
commit = repo.head.commit.hexsha[:7]
print(f'Submitting {commit}: success')
conditions = {
"project": "archinstall",
"profile": "52-54-00-12-34-56",
"status": "success",
"commit": commit
}
req = urllib.request.Request("https://api.archlinux.life/build/success",
data=json.dumps(conditions).encode('utf8'),
headers={'content-type': 'application/json'})
try:
urllib.request.urlopen(req, timeout=5)
except:
pass
```
# Help
Submit an issue on Github, or submit a post in the discord help channel.<br>