recovery: grow fs to partition size before starting sshd
sshd expects there to be space in /persist/secrets that it can use to write host keys, but when we make ext4fs images we don't put any free space in them
This commit is contained in:
parent
9e199c6957
commit
84ce618213
1 changed files with 14 additions and 1 deletions
|
@ -44,13 +44,16 @@ in rec {
|
||||||
dependencies = [ config.services.hostname ];
|
dependencies = [ config.services.hostname ];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.sshd = svc.ssh.build { };
|
services.sshd = svc.ssh.build {
|
||||||
|
dependencies = [ config.services.growfs ];
|
||||||
|
};
|
||||||
|
|
||||||
services.defaultroute4 = svc.network.route.build {
|
services.defaultroute4 = svc.network.route.build {
|
||||||
via = "$(output ${services.dhcpc} router)";
|
via = "$(output ${services.dhcpc} router)";
|
||||||
target = "default";
|
target = "default";
|
||||||
dependencies = [services.dhcpc];
|
dependencies = [services.dhcpc];
|
||||||
};
|
};
|
||||||
|
|
||||||
services.resolvconf = oneshot rec {
|
services.resolvconf = oneshot rec {
|
||||||
dependencies = [ services.dhcpc ];
|
dependencies = [ services.dhcpc ];
|
||||||
name = "resolvconf";
|
name = "resolvconf";
|
||||||
|
@ -63,6 +66,16 @@ in rec {
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.growfs = let name = "growfs"; in oneshot {
|
||||||
|
inherit name;
|
||||||
|
up = ''
|
||||||
|
. ${serviceFns}
|
||||||
|
device=$(grep /persist /proc/1/mountinfo | cut -f9 -d' ')
|
||||||
|
${pkgs.e2fsprogs}/bin/resize2fs $device
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
filesystem = dir {
|
filesystem = dir {
|
||||||
etc = dir {
|
etc = dir {
|
||||||
"resolv.conf" = symlink "${services.resolvconf}/.outputs/resolv.conf";
|
"resolv.conf" = symlink "${services.resolvconf}/.outputs/resolv.conf";
|
||||||
|
|
Loading…
Reference in a new issue