Commit graph

53 commits

Author SHA1 Message Date
Jörg Thalheim
2251e8485c
nix/kexec-installer/test.nix: comment why we wait 6s 2024-05-19 19:28:59 +02:00
David
a8032e0428
fix: docstrings 2024-05-19 19:22:48 +02:00
David
eeb2377839
refactor: adapt to cherry pick 2024-05-19 18:00:43 +02:00
David
a087c0d135
remove some extra weight 2024-05-19 18:00:42 +02:00
David
f274f19bbc
feat: free caches and log free mem before kexec 2024-05-19 18:00:06 +02:00
David
deff4302a7
chore: anticipate expected delay in tests 2024-05-19 18:00:06 +02:00
David
2881477e1b
refactor: bash+jq instead of python closure 2024-05-19 18:00:02 +02:00
Jörg Thalheim
2c54ebe7b8 Reduce memory requirements to 1GB 2024-05-19 14:43:29 +00:00
Jörg Thalheim
8d35d4a180 add image-installer
add image-installer
2024-04-17 11:56:46 +02:00
Shea Levy
c090b94b08 kexec-run: Get pubkeys for DOAS_USER.
doas is a smaller replacement for sudo, used by some
distributions (such as Alpine).
2024-02-28 19:11:52 +00:00
Jörg Thalheim
56b5279131 fix kexec-syscall-auto check 2023-12-24 07:07:56 +00:00
Jörg Thalheim
eaf2d21fa9 disable kexec-syscall-auto flag on old kernels 2023-12-23 17:18:52 +00:00
Jörg Thalheim
bebc30e7fd also copy machine-id into installer
This can help with keeping the same dhcp leases when the dhcp server uses DUID rather than mac addresses
2023-11-22 10:45:18 +01:00
Gary Guo
7d89d7c99f
Copy ecdsa/sk keys from /root/.ssh/authorized_keys 2023-11-08 16:13:10 +00:00
Jörg Thalheim
1afdae78b7 reduce test in VM to 1.2 GB RAM 2023-11-02 13:01:36 +01:00
Jörg Thalheim
fba4a2bf0d apply nixpkgs-fmt 2023-11-02 10:43:57 +01:00
Jörg Thalheim
8239d6079a no longer depend on dhcpcd for dhcp networking 2023-11-02 10:43:08 +01:00
Felix Buehler
e62ab61f81 fix some typos 2023-10-16 23:22:54 +02:00
Jörg Thalheim
f11fd49c78 kexec-installer: re-enable kexec-syscall-auto
Seems like GCP changed something about their boot process and the same instance types that failed to kexec, now just works.
This fixes secureboot as well: https://github.com/nix-community/nixos-images/issues/128
2023-08-26 19:36:51 +02:00
Jörg Thalheim
9089946fc0 move out code from kexec-installer into its own module 2023-05-15 14:56:00 +02:00
Jörg Thalheim
8451894552 kexec-installer: add smoketest for binaries 2023-05-15 13:32:59 +02:00
Jörg Thalheim
4ad9c55cf2 kexec-installer: use latest kernel compatible with zfs 2023-05-15 13:32:59 +02:00
Jörg Thalheim
3db198a018 kexec-installer: print dmesg if kexec --load fails
In some cases dmesg contains interesting errors
2023-05-15 13:32:59 +02:00
Jörg Thalheim
8d32c7409c kexec-installer/test: use our kexecTarball directly
before we were importing the configuration into a nixos module.
Now we are actually using our unmodified tarball.
This saves some rebuilds and is closer to what we ship.
2023-05-15 13:32:59 +02:00
Jean-François Roche
b2256e68d3 feat: speed up kexec boot
Do not check if the new kernel is correctly copied in memory.

On ARM64 (Hetzner CAX21, CAX41) it improves boot from 4 minutes to a few seconds.

Option introduced in kexec-tools here: 0481e9ed61
More on this https://eastrivervillage.com/kexec-tools-with-the-hidden-purgatory/
2023-05-08 10:30:28 +02:00
Jörg Thalheim
340303d82b reduce minimum RAM requirements 2023-05-07 21:44:20 +02:00
Jörg Thalheim
e855c9b4b9 get rid of virtual variant again
In unstable this has now the same size as the noninteractive one.
2023-05-07 21:33:03 +02:00
Jörg Thalheim
470d1918ab kexec-installer: build variants 2023-05-07 21:06:12 +02:00
Jörg Thalheim
11c7f7b900 run shellcheck on kexec-run 2023-05-07 13:41:22 +02:00
lassulus
58b51adbb4 kexec-installer: don't die on missing json keys 2023-03-23 08:41:35 +00:00
Jörg Thalheim
085cc99ca7 disable kexec-syscall-auto again
this breaks on GCP (not enough memory when unpacking initrd on a 32GB
instance for a 700MB compressed initrd -> should actually have enough memory)
2023-03-02 14:43:03 +01:00
Jörg Thalheim
0a346c724c don't fail kexec if no key can be found in an account 2023-02-22 16:20:19 +01:00
Jörg Thalheim
cf172a5922 kexec-installer: put ttyS0 last
otherwise consoles are broken in qemu
2023-02-22 16:19:08 +01:00
Jörg Thalheim
950f1e5ce8 also run shellcheck on kexec-run script 2023-01-24 15:54:43 +01:00
Jörg Thalheim
29f72fead3 also copy key from sudo user to new image 2023-01-24 15:54:43 +01:00
Jörg Thalheim
7d87a50a20 kexec-installer: no longer use deprecated <node>.config interface 2023-01-05 11:12:35 +01:00
Jörg Thalheim
312e02e923 kexec-installer: log network status after becoming online 2023-01-05 11:07:27 +01:00
Jörg Thalheim
1fde0cda9e kexec-installer: use camel case for service names 2023-01-05 11:07:27 +01:00
Jörg Thalheim
fed9c662d4 kexec-installer: make serial console more universal 2022-12-30 20:16:28 +01:00
lassulus
9c7acd729d kexec-installer: add jq 2022-12-27 23:31:20 +01:00
Jörg Thalheim
339235be35 increase memory a bit 2022-12-19 13:52:05 +01:00
Jörg Thalheim
c81bcbc1a8 kexec-installer-test: fix eval on 22.11 2022-12-16 13:45:54 +01:00
Jörg Thalheim
fa24694578 add static iproute binary
This adds 500KB to the tarball but fixes hosts where iproute2 is old
2022-12-01 15:43:39 +00:00
Jörg Thalheim
f603bff7ff kexec: use kexec-syscall-auto
apparantly faster on aarch64-linux: https://github.com/NixOS/nixpkgs/pull/203415
2022-12-01 14:10:18 +01:00
Jörg Thalheim
7d065a82c0 Merge remote-tracking branch 'origin/main' into static_ips 2022-11-27 19:03:02 +00:00
Jörg Thalheim
2be59edf63 kexec-installer: fix static ip tests 2022-11-27 19:01:22 +00:00
Jörg Thalheim
7f2ba67850 node1: print network configuration on start 2022-11-27 16:55:25 +00:00
Jörg Thalheim
b70c9d2fe9 kexec-installer: only one file for addresses is needed 2022-11-27 16:55:14 +00:00
Jörg Thalheim
be9c564503 kexec-installer: networking test 2022-11-27 17:45:21 +01:00
Jörg Thalheim
915d558cd5 kexec-installer: avoid copying initrd
instead we append the extra data.
2022-11-27 17:32:40 +01:00