Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton@hvornum.se>2021-04-02 20:34:19 +0200
committerAnton Hvornum <anton@hvornum.se>2021-04-02 20:34:19 +0200
commit35855700f711381755118a5e04a46ddcc1ba47fe (patch)
tree55100bc69f58e3a2be353880bcf6cbdb533e11fb
parent0ba4e631efd5dc02390e6de0a309010be2dc08eb (diff)
parentf95faa7724dd77ca2797bad338e4272c95ba13c5 (diff)
Merge branch 'master' of github.com:Torxed/archinstall into torxed-v2.2.0
-rw-r--r--README.md4
-rw-r--r--archinstall/lib/luks.py19
2 files changed, 19 insertions, 4 deletions
diff --git a/README.md b/README.md
index 9e611dd6..5451b55f 100644
--- a/README.md
+++ b/README.md
@@ -48,7 +48,7 @@ with archinstall.Filesystem(harddrive, archinstall.GPT) as fs:
installation.add_bootloader(harddrive.partition[0])
installation.add_additional_packages(['nano', 'wget', 'git'])
- installation.install_profile('workstation')
+ installation.install_profile('awesome')
installation.user_create('anton', 'test')
installation.user_set_pw('root', 'toor')
@@ -62,7 +62,7 @@ This installer will perform the following:
* Installs a basic instance of Arch Linux *(base base-devel linux linux-firmware btrfs-progs efibootmgr)*
* Installs and configures a bootloader to partition 0 on uefi. on bios it sets the root to partition 0.
* Install additional packages *(nano, wget, git)*
- * Installs a network-profile called [workstation](https://github.com/Torxed/archinstall/blob/master/profiles/workstation.json) *(more on network profiles in the docs)*
+ * Installs a network-profile called [awesome](https://github.com/Torxed/archinstall/blob/master/profiles/awesome.py) *(more on network profiles in the documentation)*
> **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.
diff --git a/archinstall/lib/luks.py b/archinstall/lib/luks.py
index 57163e35..f36a25ab 100644
--- a/archinstall/lib/luks.py
+++ b/archinstall/lib/luks.py
@@ -1,4 +1,5 @@
import os
+import shlex
from .exceptions import *
from .general import *
from .disk import Partition
@@ -64,9 +65,23 @@ class luks2():
with open(key_file, 'wb') as fh:
fh.write(password)
+ cryptsetup_args = shlex.join([
+ '/usr/bin/cryptsetup',
+ '--batch-mode',
+ '--verbose',
+ '--type', 'luks2',
+ '--pbkdf', 'argon2i',
+ '--hash', hash_type,
+ '--key-size', str(key_size),
+ '--iter-time', str(iter_time),
+ '--key-file', os.path.abspath(key_file),
+ '--use-urandom',
+ 'luksFormat', partition.path,
+ ])
+
try:
# Try to setup the crypt-device
- cmd_handle = sys_command(f'/usr/bin/cryptsetup -q -v --type luks2 --pbkdf argon2i --hash {hash_type} --key-size {key_size} --iter-time {iter_time} --key-file {os.path.abspath(key_file)} --use-urandom luksFormat {partition.path}')
+ cmd_handle = sys_command(cryptsetup_args)
except SysCallError as err:
if err.exit_code == 256:
log(f'{partition} is being used, trying to unmount and crypt-close the device and running one more attempt at encrypting the device.', level=LOG_LEVELS.Debug)
@@ -90,7 +105,7 @@ class luks2():
sys_command(f"cryptsetup close {child['name']}")
# Then try again to set up the crypt-device
- cmd_handle = sys_command(f'/usr/bin/cryptsetup -q -v --type luks2 --pbkdf argon2i --hash {hash_type} --key-size {key_size} --iter-time {iter_time} --key-file {os.path.abspath(key_file)} --use-urandom luksFormat {partition.path}')
+ cmd_handle = sys_command(cryptsetup_args)
else:
raise err