From: Aaron Lauterer <a.lauterer@proxmox.com>
To: Proxmox VE development discussion <pve-devel@lists.proxmox.com>,
Christoph Heiss <c.heiss@proxmox.com>
Subject: Re: [pve-devel] [PATCH installer v2 06/17] common: setup: deserialize `secure_boot` property from runtime env
Date: Tue, 23 Jul 2024 16:31:35 +0200 [thread overview]
Message-ID: <f78a5f8b-9f70-44e9-996f-fe1567b9b56b@proxmox.com> (raw)
In-Reply-To: <20240718134905.1177775-7-c.heiss@proxmox.com>
In my tests, with secure boot disabled, it failed to parse the
run-env-info.json because the Perl code wrote it this way:
"secure_boot":""
And it currently cannot parse a string. Setting it manually to:
"secure_boot":0
helped. The question is, if we want the parser to be more flexible or
fix the Perl code that dumps that info.
On 2024-07-18 15:48, Christoph Heiss wrote:
> Needed for the post-hook functionality, which sends this information as
> part of its information set.
>
> Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
> ---
> Changes v1 -> v2:
> * new patch
> ---
> Proxmox/Install/RunEnv.pm | 1 +
> proxmox-installer-common/src/setup.rs | 12 ++++++++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/Proxmox/Install/RunEnv.pm b/Proxmox/Install/RunEnv.pm
> index 7eaf96a..bb60080 100644
> --- a/Proxmox/Install/RunEnv.pm
> +++ b/Proxmox/Install/RunEnv.pm
> @@ -236,6 +236,7 @@ my sub detect_country_tracing_to : prototype($$) {
> # kernel_cmdline = <contents of /proc/cmdline>,
> # total_memory = <memory size in MiB>,
> # hvm_supported = <1 if the CPU supports hardware-accelerated virtualization>,
> +# secure_boot = <1 if SecureBoot is enabled>,
> # boot_type = <either 'efi' or 'bios'>,
> # disks => <see Proxmox::Sys::Block::hd_list()>,
> # network => {
> diff --git a/proxmox-installer-common/src/setup.rs b/proxmox-installer-common/src/setup.rs
> index ee3d0c9..2ca9641 100644
> --- a/proxmox-installer-common/src/setup.rs
> +++ b/proxmox-installer-common/src/setup.rs
> @@ -236,6 +236,14 @@ where
> Ok(val != 0)
> }
>
> +fn deserialize_bool_from_int_maybe<'de, D>(deserializer: D) -> Result<Option<bool>, D::Error>
> +where
> + D: Deserializer<'de>,
> +{
> + let val: Option<u32> = Deserialize::deserialize(deserializer)?;
> + Ok(val.map(|v| v != 0))
> +}
> +
> fn deserialize_cczones_map<'de, D>(
> deserializer: D,
> ) -> Result<HashMap<String, Vec<String>>, D::Error>
> @@ -333,6 +341,10 @@ pub struct RuntimeInfo {
> /// Whether the CPU supports hardware-accelerated virtualization
> #[serde(deserialize_with = "deserialize_bool_from_int")]
> pub hvm_supported: bool,
> +
> + /// Whether the system was booted with SecureBoot enabled
> + #[serde(default, deserialize_with = "deserialize_bool_from_int_maybe")]
> + pub secure_boot: Option<bool>,
> }
>
> #[derive(Copy, Clone, Eq, Deserialize, PartialEq)]
_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2024-07-23 14:31 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-18 13:48 [pve-devel] [PATCH installer v2 00/17] fix #5536: implement post-(auto-)installation notification mechanism Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 01/17] tree-wide: fix some typos Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 02/17] fetch-answer: partition: fix clippy warning Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 03/17] common: simplify filesystem type serializing & Display trait impl Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 04/17] common: setup: serialize `target_hd` as string explicitly Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 05/17] common: split out installer setup files loading functionality Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 06/17] common: setup: deserialize `secure_boot` property from runtime env Christoph Heiss
2024-07-23 14:31 ` Aaron Lauterer [this message]
2024-08-05 13:12 ` Christoph Heiss
2024-08-19 10:32 ` Christoph Heiss
2024-08-20 14:56 ` Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 07/17] debian: strip unused library dependencies Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 08/17] fetch-answer: move http-related code to gated module in installer-common Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 09/17] tree-wide: convert some more crates to use workspace dependencies Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 10/17] auto-install-assistant: replace `PathBuf` parameters with `AsRef<Path>` Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 11/17] auto-installer: tests: replace manual panic!() with assert_eq!() Christoph Heiss
2024-07-23 10:39 ` Aaron Lauterer
2024-07-23 10:40 ` Aaron Lauterer
2024-07-23 10:46 ` Christoph Heiss
2024-07-23 11:04 ` Aaron Lauterer
2024-07-23 11:37 ` Christoph Heiss
2024-07-24 7:54 ` Thomas Lamprecht
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 12/17] auto-installer: tests: simplify empty disks check Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 13/17] auto-installer: tests: replace `PathBuf` parameters with `AsRef<Path>` Christoph Heiss
2024-07-18 13:48 ` [pve-devel] [PATCH installer v2 14/17] auto-installer: move `SystemDMI` struct to common crate Christoph Heiss
2024-07-18 13:49 ` [pve-devel] [PATCH installer v2 15/17] fix #5536: auto-installer: answer: add `posthook` section Christoph Heiss
2024-07-18 13:49 ` [pve-devel] [PATCH installer v2 16/17] fix #5536: post-hook: add utility for sending notifications after auto-install Christoph Heiss
2024-07-23 14:57 ` Aaron Lauterer
2024-07-24 8:24 ` Thomas Lamprecht
2024-07-24 11:21 ` Aaron Lauterer
2024-08-05 13:17 ` Christoph Heiss
2024-07-18 13:49 ` [pve-devel] [PATCH installer v2 17/17] unconfigured.sh: run proxmox-post-hook after successful auto-install Christoph Heiss
2024-07-24 11:34 ` [pve-devel] [PATCH installer v2 00/17] fix #5536: implement post-(auto-)installation notification mechanism Aaron Lauterer
2024-08-21 9:41 ` Christoph Heiss
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f78a5f8b-9f70-44e9-996f-fe1567b9b56b@proxmox.com \
--to=a.lauterer@proxmox.com \
--cc=c.heiss@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox