index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Dylan M. Taylor <dylan@dylanmtaylor.com> | 2021-04-09 10:18:34 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-09 10:18:34 -0400 |
commit | 4904b70db69f3c4f155524e7ad1c95a15337ddca (patch) | |
tree | d9b8267bec6aacdd60cd9bd28a96aca44950585f /README.md | |
parent | 8f48e1ac697b00eff4d2d6e3cbcd7686ecc3bd3f (diff) |
-rw-r--r-- | README.md | 61 |
@@ -68,66 +68,7 @@ This installer will perform the following: ## 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 -``` +It is possible to automatically run a custom profile when launching archinstall in unattended mode based on the MAC address of the system. There is an example in the docs which would go into a file called `profiles/52-54-00-12-34-56.py`, and would be run on a sytem where the MAC address matched this profile name. # Help |