Commit graph

61 commits

Author SHA1 Message Date
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
e73cbf20a3 add missing gptfdisk
This is needed by disko for gpt
2023-07-04 18:07:03 +02:00
Jörg Thalheim
a7f73290d5 nixos noninteractive: re-add missing filesystems 2023-06-11 07:31:34 +02:00
dantefromhell
eafead23ae
Add zfs packages
ZFS related binaries like `zpool`, `zfs` and `zdb` were missing from the kexec image.

This PR fixes the following issues I encountered during testing in the OVH "Public Cloud":

- Machines pre-installed with Debian 11 print error `zdb: command not found` during `disk-deactivate` when trying to remove `/dev/sda14`

- Trying to create a simple zpool + zfs dataset that is mounted as `/` fails with `zpool: command not found`
On OVH machines the installer would print an error being unable to locate the `zdb` binary,
2023-05-22 00:01:53 +00:00
Jörg Thalheim
25f782b4ce add netboot-installer-nixos-unstable 2023-05-15 15:40:39 +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
d7311ed7f8 add missing parted package back to 22.11 release 2023-05-15 13:32:59 +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
1408e3ed2a noninteractive: bring rsync back
We need this in nixos-anywhere to upload files.
2023-05-07 22:19:05 +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
Jörg Thalheim
35ce9a23d5
Update nix/noninteractive.nix 2023-04-24 10:19:48 +01:00
tilpner
c48cb331ea
kexec-installer: add virtual and noninteractive variants for smaller images
Co-Authored-By: Jean-François Roche <jfroche@pyxel.be>
2023-04-19 19:57:43 +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
Jörg Thalheim
a39ed8aa59 kexec-installer/test: also apply minimal profile to node1 2022-11-27 17:25:24 +01:00
Jörg Thalheim
025b15866f kexec-installer: fix start conditions for restore-network unit 2022-11-27 17:24:12 +01:00
Jörg Thalheim
c0fb626fd2 move kexec installer to subdirectory 2022-11-27 17:13:33 +01:00
Jörg Thalheim
98638b3f38 kexec-installer: generate networkd units instead of iproute
This should be more robust when interfaces appear late.
It also makes ipv6 support easier to implement.
2022-11-27 17:06:18 +01:00
lassulus
94384afdb6 kexec-installer: fixes for restoreNetwork 2022-11-25 11:37:50 +00:00
Jörg Thalheim
483c55c0ab kexec-installer: also support authorized_keys2 2022-11-25 10:14:19 +01:00
Jörg Thalheim
3928958de5 kexec-installer: no need to put restoreNetwork into systemPackages 2022-11-25 10:08:39 +01:00
Jörg Thalheim
91abdb7e6e kexec-installer: make iproute2 optional 2022-11-25 09:58:23 +01:00
Jörg Thalheim
ddaae7671a kexec-installer: check ip command exit codes 2022-11-25 09:50:54 +01:00
Jörg Thalheim
efb8452b0f check number of arguments 2022-11-25 09:50:03 +01:00