Download raw body.
[patch] Autoinstall with disk encryption
On Sat, Feb 10, 2024 at 02:40:33PM -0800, Andrew Hewus Fresh wrote:
> It _is_ technically possible to use a coprocess instead of a temporary
> file, but not entirely sure the added complexity is worth is.
The dmesg listener is already running in the only available coprocess.
> set -o monitor
> doas bioctl -c C -s -l /dev/${VND}a softraid0 |&
> print -p -- test123
> fg
> set +o monitor
bioctl(8) uses readpassphrase(3) RPP_REQUIRE_TTY, so we can always pass
stdin and it only gets used with `-s', i.e. in unattended mode.
Same behaviour, no passfile.
Index: install.sub
===================================================================
RCS file: /cvs/src/distrib/miniroot/install.sub,v
diff -u -p -r1.1259 install.sub
--- install.sub 11 Feb 2024 21:56:10 -0000 1.1259
+++ install.sub 11 Feb 2024 23:28:16 -0000
@@ -3123,9 +3123,7 @@ encrypt_root() {
;;
[pP]*) $AI || break
ask_passphrase 'New passphrase?'
- PASSFILE=/tmp/i/passfile
- (umask 077 && print -r -- "$_passphrase" >$PASSFILE)
- _args=-p$PASSFILE
+ _args=-s
break
;;
[nN]*) return
@@ -3139,8 +3137,10 @@ encrypt_root() {
md_prep_fdisk $_chunk
echo 'RAID *' | disklabel -w -A -T- $_chunk
- bioctl -Cforce -cC -l${_chunk}a $_args softraid0 >/dev/null
- rm -fP $PASSFILE
+ # Standard input is ignored in interactive mode.
+ print -r -- "$_passphrase" |
+ bioctl -Cforce -cC -l${_chunk}a $_args softraid0 >/dev/null
+ unset _passphrase
# No volumes existed before asking, but we just created one.
ROOTDISK=$(get_softraid_volumes)
[patch] Autoinstall with disk encryption