Raito Bezarius
1330292008
tool/systemd: make clippy happy I guess
2023-09-14 16:35:53 +02:00
Raito Bezarius
0107754d62
tool(architecture): make it generic
...
Architecture is now a generic structure that can be specialized
via an "external" trait for generating the paths you care about
depending on your target bootloader.
2023-09-14 16:35:53 +02:00
Raito Bezarius
609c11f26d
tool(systemd-boot): install it once instead of checking for each generation
...
systemd-boot is now installed once for many generations rather than multiple times.
This means it is not really possible to manage different system in the same "machine", which is a very
obscure usecase, theoretically possible, but not yet encountered.
2023-09-14 16:35:53 +02:00
Raito Bezarius
e5c1d74e3f
tool: introduce --target-system to choose target architecture
...
We will hard fail in case of encountering different architectures in bootspec.
This should still be compatible with cross-compiling systems in the future.
2023-09-14 16:35:53 +02:00
Raito Bezarius
acc4c2e0a1
tool(tests): use library to use the "target architecture" properly in tests
2023-09-14 16:35:53 +02:00
Raito Bezarius
9af0e56527
tool(esp): add systemd stub filenames mapping for systems
2023-09-14 16:35:53 +02:00
Raito Bezarius
7acb1b218a
tool: implement general architecture support - for aarch64, x86 for now
2023-09-14 16:35:53 +02:00
Raito Bezarius
18771d30f4
lanzaboote: add aarch64-unknown-efi target
2023-09-14 16:35:53 +02:00
nikstur
3dab5531b1
stub: remove TPM 1 support
...
TPM 1 will not be supported by newer systemd versions and is not widely
available anyways.
2023-09-14 15:04:53 +02:00
nikstur
ff442cd032
tool: introduce some more whitespace
2023-09-14 12:38:40 +02:00
nikstur
143a000f36
tool: separates use statements correctly with whitespace
2023-09-14 12:36:02 +02:00
nikstur
baf2f5f6bb
tool: use workspace values in Cargo.toml
2023-09-14 12:35:42 +02:00
nikstur
efd8c50214
tool: remove superfluous lock file
2023-09-14 12:29:54 +02:00
Raito Bezarius
eba963b6f1
tool/shared: make clippy happy
...
- implements a trivial Default for Roots
- implements a FromStr for OsRelease
2023-09-14 11:55:09 +02:00
Raito Bezarius
fd188a0e32
tool/shared: make constraints less concrete and drop lockfile
...
In a library, a lockfile is not really needed per se
and we should avoid creating duplicate dependencies
as much as possible.
2023-09-14 11:55:09 +02:00
Raito Bezarius
923567d08a
systemd-tool: make integration test pass
2023-09-14 11:55:09 +02:00
Raito Bezarius
8029449cba
tool: split systemd into a new crate and make tool into a lib-only crate
...
This is necessary to make integration testing specific to the backend.
2023-09-14 11:55:09 +02:00
Raito Bezarius
efe7b40f5c
lzbt: abstraction for multiple backends
...
This generates `lzbt-systemd` binary instead of `lzbt`
which is using a special systemd-specific entrypoint.
This is part of the effort to enable multiple backends.
2023-09-14 11:55:09 +02:00
Ryan Lahfa
3dc8778c32
Merge pull request #215 from nix-community/linux-bootloader-crate
...
stub: split up into a linux-bootloader crate
2023-09-13 16:43:16 +00:00
nikstur
83f4376929
uefi: move uefi code to separate workspace
2023-09-13 17:46:05 +02:00
Raito Bezarius
51d9c1dff8
stub: split up into a linux-bootloader crate
...
We introduce `linux-bootloader` a crate made to build Rust-based Linux-oriented bootloaders.
It follows systemd/UAPI group and semantics as much as possible, e.g. BLS/loader capabilities/stub capabilities.
2023-09-13 17:43:35 +02:00
tilpner
3895c94eb5
tool: only sync ESP filesystem
2023-08-17 21:23:33 +02:00
nikstur
e7246c6bce
Merge pull request #212 from nix-community/update-flake-inputs
...
flake.lock: Update
2023-07-20 23:42:57 +02:00
nikstur
ec210ff40d
stub: fix typo
2023-07-20 22:49:45 +02:00
renovate[bot]
9cceec4008
fix(deps): update all dependencies
2023-07-20 01:27:43 +02:00
Raito Bezarius
63bbfe35d8
feat(stub): throw compile error in case of enabling fat and thin features
...
This is more helpful than a weird compilation error on borrow checking rules!
2023-06-10 18:06:50 +02:00
renovate[bot]
3cae2f1c63
fix(deps): update all dependencies
2023-06-05 02:00:30 +00:00
Raito Bezarius
88aeb61d85
stub: upgrade to uefi-rs 0.22.0
...
This upgrade is necessary to avoid borking boot on bad UEFI implementations.
2023-06-02 13:16:44 +02:00
nikstur
da24357977
Merge pull request #182 from nix-community/fat-uki
...
stub: add fat variant
2023-06-01 22:43:53 +02:00
renovate[bot]
f1d199d0b4
fix(deps): update rust crate log to 0.4.18
2023-05-29 01:38:08 +00:00
nikstur
7ecafb2947
stub: add fat variant
...
A compile time feature is introduced that allows to build "fat" stubs
that can be used to build "fat" UKIs. "fat" here means that the actual
kernel and initrd are embedded in the PE binary, not only the file path
and hash. This brings us one step closer to feature partiy with
systemd-stub and thus one step closer to replacing it fully. Such a
"fat" or "real" UKI is also interesting for image-based deployments of
NixOS.
2023-05-24 22:09:28 +02:00
nikstur
30ddfcd2ce
tool: improve command error messages
2023-05-24 00:17:11 +02:00
renovate[bot]
5ecd73cdac
fix(deps): update all dependencies
2023-05-22 02:56:28 +00:00
Raito Bezarius
c96299ea46
deps: update to uefi-rs 0.21.0
...
It simplifies our filesystem handling.
2023-05-20 23:05:15 +02:00
Raito Bezarius
77f1279406
tool(bootspec): remove boilerplate with newest bootspec
2023-05-20 19:41:31 +02:00
nikstur
7ed294c84d
Merge pull request #180 from nix-community/sync-packages-ver
...
chore: sync our crates version to latest tag
2023-05-19 00:36:31 +02:00
Raito Bezarius
606b9e8bab
stub(tpm): Measure "UKI" (i.e. all unified sections in our stub)
2023-05-18 19:05:53 +02:00
Raito Bezarius
ad28b4cd01
stub: bump crate to 0.3.0
2023-05-18 19:03:42 +02:00
Raito Bezarius
39cda9e457
tool: bump crate to 0.3.0
2023-05-18 19:03:37 +02:00
nikstur
65dbe44999
stub: format with rustfmt
2023-05-17 21:40:03 +02:00
nikstur
e37bf51ed3
stub: format with rustfmt
2023-05-17 21:39:40 +02:00
renovate[bot]
7378e06257
fix(deps): update all dependencies
2023-05-08 01:30:03 +00:00
nikstur
ae49611bd6
Merge pull request #166 from nix-community/sd-stub-efi-variables
...
feat: minimal poc for exporting UEFI variables à la sd-boot
2023-05-05 21:32:50 +02:00
Raito Bezarius
a5372db91f
hotfix(stub): rust_version -> rust-version in Cargo.toml
2023-05-05 20:11:55 +02:00
Raito Bezarius
9dd9116b1e
stub: export boot loader interface efivars
2023-05-05 20:11:55 +02:00
renovate[bot]
008e7a65fd
fix(deps): update all dependencies
2023-05-01 02:39:28 +00:00
Raito Bezarius
4ef6957f88
feat: enable synthesis support
...
Bootspec has a mechanism called synthesis where you can synthesize
bootspecs if they are not present based on the generation link only.
This is useful for "vanilla bootspec" which does not contain any
extensions, as this is what we do right now.
If we need extensions, we can also implement our synthesis mechanism on
the top of it.
Enabling synthesis gives us the superpower to support non-bootspec
users. :-)
2023-04-29 22:55:39 +02:00
Raito Bezarius
9fe979d2d6
tests: adopt bootspec v1 format
2023-04-29 15:21:38 +02:00
Raito Bezarius
48ff4cb7c4
tool: adopt bootspec 0.1.0
2023-04-29 15:21:38 +02:00
nikstur
06edad2e83
tool: improve log message about malformed gens
...
Tells the user which generations are malformed and how to remove them.
2023-04-27 00:33:45 +02:00