* Deployment scripts strings now supports python string formatting, if parameter or is given as options to each command-line (TODO: Add as a global parameter as well, and treat all strings as formatable) * Added two templates: workstation + 00:11:22:33:44:55, a example of how to set up a workstation using a template and a custom addition. Also added a default template that is similar to the workstation but does everything in one template. They all use some awk magic to fix alt-tab in Awesome WM, it also creates a "desktop" environment and installs some useful tools and fixes the start menu in Awesome WM. * Reordering mirrors is now a configurable option (Default turned off, to better suit offline environments) * Disk/root password now configurable as either a fixed string, or ask for via STDIN (Syntax for now is: ) * deployment targets now a variable (todo: add a parameter/argument) * SSL support (ignores certificate validation for now, I know this is bad, but until a parameter etc is in place, this has to be a nessecary evil for now) * Cleaned up a lot of custom variables and baked them into so it's easier to format strings based off information gathered along the way (such as partition names). * Error handling: Mostly for missing dependencies and situations, such as not booted in UEFI environment |
||
|---|---|---|
| deployments | ||
| README.md | ||
| archinstall.py | ||
| description.jpg | ||
| install_aur | ||
README.md
archinstall
Just a bare bone automated Arch install with network deployment instructions based on MAC-address.
Autorun on Arch Live CD
# cd ~/archlive
# echo -e "git\npython-psutil" >> packages.both
# echo "cd /root" >> ./airootfs/root/customize_airootfs.sh
# echo "git clone https://github.com/Torxed/archinstall.git" >> ./airootfs/root/customize_airootfs.sh
# echo "chmod +x ~/archinstall/archinstall.py" >> ./airootfs/root/customize_airootfs.sh
# mkdir ./airootfs/etc/skel
# echo '[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && sh -c ~/archinstall/archinstall.py' >> ./airootfs/etc/skel/.zprofile
# rm -v work/build.make_* && ./build.sh -v
Note:
~/archlivemight be different on your system, see ArchISO#Setup for more info.
Whenever this live-cd boots, from here on now - it'll run archinstall.py.
CAUTION: If no parameters are given, it will devour the first disk in your system (/dev/sda, /dev/nvme0n1p2 etc).
Manually run it on a booted Live CD
# pacman -Sy git
# git clone https://github.com/Torxed/archinstall.git
# python3 ./archinstall/archinstall.py
Note: (You could also wget the
archinstall.pyscript and skip installing git)
Rerunning a installation
# umount -R /mnt; cryptsetup close /dev/mapper/luksdev
# python3 ./archinstall/archinstall.py
Note: This assumes
--post=stayis set to avoid instant reboot at the end.
Some parameters you can give it
--drive=</dev/sdX>
Which drive to install arch on, if absent, the first disk under /dev/ is used
--size=100% (Default)
Sets the size of the root filesystem (btrfs)
--start=513MiB (Default)
Sets the starting location of the root partition
(TODO: /boot will take up space from 1MiB - <start>, make sure boot is no larger than 513MiB)
--pwfile=/tmp/diskpw (Default)
Which file to use as the disk encryption password
--hostname=Arcinstall (Default)
Sets the hostname of the box
--country=SE (Default)
Default mirror allocation for fetching packages.
--packages='' (Default)
Which additional packages to install, defaults to none.
(Space separated as it's passed unchanged to `pacstrap`
--user=<name>
Adds an additional username to the system (default group Wheel)
--post=reboot (Default)
After a successful install, reboots into the system.
