index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
author | Anton Hvornum <anton.feeds@gmail.com> | 2019-09-24 15:58:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-24 15:58:56 +0200 |
commit | 0b59fe245b9d195c9f883fe7ff3d2371e3896fd4 (patch) | |
tree | c10ca06c1a580ebaa812332b78379c556345faee | |
parent | f382a3a48e9748b9be203ccf5efc484a928756e0 (diff) | |
parent | b66720b001f574630ce37b37bb089863fa0702dc (diff) |
-rw-r--r-- | README.md | 11 | ||||
-rw-r--r-- | archinstall.py | 12 |
@@ -1,5 +1,5 @@ # archinstall -Just a bare bone automated [Arch](https://wiki.archlinux.org/index.php/Arch_Linux) install with network deployment instructions based on MAC-address. +Just a bare bone automated [Arch](https://wiki.archlinux.org/index.php/Arch_Linux) install with optional network deployment instructions based on MAC-address. Pre-built ISO's can be found here: https://hvornum.se/archiso/ @@ -7,13 +7,12 @@ Pre-built ISO's can be found here: https://hvornum.se/archiso/ In a live-cd environment, do: # wget https://raw.githubusercontent.com/Torxed/archinstall/master/archinstall.py - # python3 archinstall.py --default + # pacman -S --noconfirm python; python archinstall.py --default -> **CAUTION**: If no **other** parameters are given, **it will devour the first disk in your system** (Usually `/dev/sda`, `/dev/nvme0n1` etc). +This will install a basic Arch Linux, without interaction, on the first drive it finds *(after user confirms it)*.<br> +Use `--drive=/dev/sdb` etc to change the desired destination, or skip `--default` if you want to get options for your installation. -This will install a basic Arch Linux, without interaction, on the first drive it finds. Use `--drive=/dev/sdb` etc to change the desired destination, or skip `--default` if you want to get options for your installation. - -> NOTE: This assumes Python is installed on your 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/). Below is examples and a cheat sheet on how to create such a ISO *(with different flavors)*. +> NOTE: 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. Below is examples and a cheat sheet on how to create such a ISO *(with different flavors)*. # Features diff --git a/archinstall.py b/archinstall.py index d45a36b6..7247eb33 100644 --- a/archinstall.py +++ b/archinstall.py @@ -466,7 +466,6 @@ if __name__ == '__main__': exit(1) ## Setup some defaults (in case no command-line parameters or netdeploy-params were given) - if not 'drive' in args: args['drive'] = sorted(list(harddrives.keys()))[0] # First drive found if not 'size' in args: args['size'] = '100%' if not 'start' in args: args['start'] = '513MiB' if not 'pwfile' in args: args['pwfile'] = '/tmp/diskpw' @@ -480,6 +479,12 @@ if __name__ == '__main__': if not 'profiles-path' in args: args['profiles-path'] = profiles_path if not 'rerun' in args: args['rerun'] = None if not 'ignore-rerun' in args: args['ignore-rerun'] = False + if not 'localtime' in args: args['localtime'] = 'Europe/Stockholm' if args['country'] == 'SE' else 'GMT+0' # TODO: Arbitrary for now + if not 'drive' in args: + drives = list(harddrives.keys()) + if len(drives) > 1 and 'force' not in args and ('default' in args and 'first-drive' not in args): + raise KeyError("Multiple disks found, --drive=/dev/X not specified (or --force/--first-drive)") + args['drive'] = sorted(drives)[0] # First drive found rerun = args['ignore-rerun'] if args['drive'][0] != '/': @@ -580,6 +585,9 @@ if __name__ == '__main__': # if not args['password']: print(json.dumps(args, indent=4)) + if args['default'] and not 'force' in args: + if(input('Are these settings OK? (No return beyond this point) N/y: ').lower() != 'y'): + exit(1) if not os.path.isfile(args['pwfile']): #PIN = '0000' @@ -722,7 +730,7 @@ if __name__ == '__main__': fstab.write('\ntmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0\n') # Redundant \n at the start? who knoes? o = b''.join(sys_command('/usr/bin/arch-chroot /mnt rm /etc/localtime').exec()) - o = b''.join(sys_command('/usr/bin/arch-chroot /mnt ln -s /usr/share/zoneinfo/Europe/Stockholm /etc/localtime').exec()) + o = b''.join(sys_command('/usr/bin/arch-chroot /mnt ln -s /usr/share/zoneinfo/{localtime} /etc/localtime'.format(**args)).exec()) o = b''.join(sys_command('/usr/bin/arch-chroot /mnt hwclock --hctosys --localtime').exec()) #o = sys_command('arch-chroot /mnt echo "{hostname}" > /etc/hostname'.format(**args)).exec() #o = sys_command("arch-chroot /mnt sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen").exec() |