1{ lib, pkgs, ... }:
2{
3 name = "systemd-initrd-modprobe";
4
5 nodes.machine =
6 { pkgs, ... }:
7 {
8 testing.initrdBackdoor = true;
9 boot.initrd.systemd.enable = true;
10 boot.initrd.kernelModules = [ "tcp_hybla" ]; # Load module in initrd.
11 boot.extraModprobeConfig = ''
12 options tcp_hybla rtt0=42
13 '';
14 };
15
16 testScript = ''
17 machine.wait_for_unit("initrd.target")
18 rtt = machine.succeed("cat /sys/module/tcp_hybla/parameters/rtt0")
19 assert int(rtt) == 42, "Parameter should be respected for initrd kernel modules"
20
21 # Make sure it sticks in stage 2
22 machine.switch_root()
23 machine.wait_for_unit("multi-user.target")
24 rtt = machine.succeed("cat /sys/module/tcp_hybla/parameters/rtt0")
25 assert int(rtt) == 42, "Parameter should be respected for initrd kernel modules"
26 '';
27}