installation-cd-base.nix: Add 'live.nixos.passwd' boot option
For interactive SSH access to a system without a (working) keyboard and monitor, without rebuilding the image itself.
This commit is contained in:
parent
fa1d0259f4
commit
2e4849b841
@ -30,6 +30,12 @@ If NixOS fails to boot, there are a number of kernel command line parameters tha
|
|||||||
|
|
||||||
: Make systemd very verbose and send log messages to the console instead of the journal. For more parameters recognised by systemd, see systemd(1).
|
: Make systemd very verbose and send log messages to the console instead of the journal. For more parameters recognised by systemd, see systemd(1).
|
||||||
|
|
||||||
|
In addition, these arguments are recognised by the live image only:
|
||||||
|
|
||||||
|
`live.nixos.passwd=password`
|
||||||
|
|
||||||
|
: Set the password for the `nixos` live user. This can be used for SSH access if there are issues using the terminal.
|
||||||
|
|
||||||
Notice that for `boot.shell_on_fail`, `boot.debug1`, `boot.debug1devices`, and `boot.debug1mounts`, if you did **not** select "start the new shell as pid 1", and you `exit` from the new shell, boot will proceed normally from the point where it failed, as if you'd chosen "ignore the error and continue".
|
Notice that for `boot.shell_on_fail`, `boot.debug1`, `boot.debug1devices`, and `boot.debug1mounts`, if you did **not** select "start the new shell as pid 1", and you `exit` from the new shell, boot will proceed normally from the point where it failed, as if you'd chosen "ignore the error and continue".
|
||||||
|
|
||||||
If no login prompts or X11 login screens appear (e.g. due to hanging dependencies), you can press Alt+ArrowUp. If you’re lucky, this will start rescue mode (described above). (Also note that since most units have a 90-second timeout before systemd gives up on them, the `agetty` login prompts should appear eventually unless something is very wrong.)
|
If no login prompts or X11 login screens appear (e.g. due to hanging dependencies), you can press Alt+ArrowUp. If you’re lucky, this will start rescue mode (described above). (Also note that since most units have a 90-second timeout before systemd gives up on them, the `agetty` login prompts should appear eventually unless something is very wrong.)
|
||||||
|
@ -106,6 +106,23 @@
|
|||||||
</listitem>
|
</listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
<para>
|
||||||
|
In addition, these arguments are recognised by the live image only:
|
||||||
|
</para>
|
||||||
|
<variablelist>
|
||||||
|
<varlistentry>
|
||||||
|
<term>
|
||||||
|
<literal>live.nixos.passwd=password</literal>
|
||||||
|
</term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Set the password for the <literal>nixos</literal> live user.
|
||||||
|
This can be used for SSH access if there are issues using the
|
||||||
|
terminal.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
<para>
|
<para>
|
||||||
Notice that for <literal>boot.shell_on_fail</literal>,
|
Notice that for <literal>boot.shell_on_fail</literal>,
|
||||||
<literal>boot.debug1</literal>,
|
<literal>boot.debug1</literal>,
|
||||||
|
@ -30,5 +30,16 @@ with lib;
|
|||||||
# Add Memtest86+ to the CD.
|
# Add Memtest86+ to the CD.
|
||||||
boot.loader.grub.memtest86.enable = true;
|
boot.loader.grub.memtest86.enable = true;
|
||||||
|
|
||||||
|
boot.postBootCommands = ''
|
||||||
|
for o in $(</proc/cmdline); do
|
||||||
|
case "$o" in
|
||||||
|
live.nixos.passwd=*)
|
||||||
|
set -- $(IFS==; echo $o)
|
||||||
|
echo "nixos:$2" | ${pkgs.shadow}/bin/chpasswd
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
system.stateVersion = mkDefault "18.03";
|
system.stateVersion = mkDefault "18.03";
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user