lanzatool: add cmdline args for keys
This commit is contained in:
parent
587e388364
commit
aa86ae9e30
|
@ -14,7 +14,23 @@ pub struct Cli {
|
||||||
#[derive(Subcommand)]
|
#[derive(Subcommand)]
|
||||||
pub enum Commands {
|
pub enum Commands {
|
||||||
Install {
|
Install {
|
||||||
|
// Secure Boot Public Key
|
||||||
|
#[clap(long)]
|
||||||
public_key: PathBuf,
|
public_key: PathBuf,
|
||||||
|
|
||||||
|
// Secure Boot Private Key
|
||||||
|
#[clap(long)]
|
||||||
|
private_key: PathBuf,
|
||||||
|
|
||||||
|
// Secure Boot PKI Bundle for auto enrolling key
|
||||||
|
#[clap(long)]
|
||||||
|
pki_bundle: PathBuf,
|
||||||
|
|
||||||
|
// Enable auto enrolling your keys in UEFI
|
||||||
|
// Be aware that this might irrevocably brick your device
|
||||||
|
#[clap(long, default_value = "false")]
|
||||||
|
auto_enroll: bool,
|
||||||
|
|
||||||
bootspec: PathBuf,
|
bootspec: PathBuf,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -30,17 +46,36 @@ impl Commands {
|
||||||
match self {
|
match self {
|
||||||
Commands::Install {
|
Commands::Install {
|
||||||
public_key,
|
public_key,
|
||||||
|
private_key,
|
||||||
|
pki_bundle,
|
||||||
|
auto_enroll,
|
||||||
bootspec,
|
bootspec,
|
||||||
} => install(&public_key, &bootspec),
|
} => install(
|
||||||
|
&public_key,
|
||||||
|
&private_key,
|
||||||
|
&pki_bundle,
|
||||||
|
auto_enroll,
|
||||||
|
&bootspec,
|
||||||
|
),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn install(public_key: &Path, bootspec: &Path) -> Result<()> {
|
fn install(
|
||||||
|
public_key: &Path,
|
||||||
|
private_key: &Path,
|
||||||
|
pki_bundle: &Path,
|
||||||
|
auto_enroll: bool,
|
||||||
|
bootspec: &Path,
|
||||||
|
) -> Result<()> {
|
||||||
let lanzaboote_stub = std::env::var("LANZABOOTE_STUB")?;
|
let lanzaboote_stub = std::env::var("LANZABOOTE_STUB")?;
|
||||||
let initrd_stub = std::env::var("LANZABOOTE_INITRD_STUB")?;
|
let initrd_stub = std::env::var("LANZABOOTE_INITRD_STUB")?;
|
||||||
|
|
||||||
install::install(
|
install::install(
|
||||||
public_key,
|
public_key,
|
||||||
|
private_key,
|
||||||
|
pki_bundle,
|
||||||
|
auto_enroll,
|
||||||
bootspec,
|
bootspec,
|
||||||
Path::new(&lanzaboote_stub),
|
Path::new(&lanzaboote_stub),
|
||||||
Path::new(&initrd_stub),
|
Path::new(&initrd_stub),
|
||||||
|
|
|
@ -8,7 +8,10 @@ use crate::esp::EspPaths;
|
||||||
use crate::pe;
|
use crate::pe;
|
||||||
|
|
||||||
pub fn install(
|
pub fn install(
|
||||||
_: &Path,
|
_public_key: &Path,
|
||||||
|
_private_key: &Path,
|
||||||
|
_pki_bundle: &Path,
|
||||||
|
_auto_enroll: bool,
|
||||||
bootspec: &Path,
|
bootspec: &Path,
|
||||||
lanzaboote_stub: &Path,
|
lanzaboote_stub: &Path,
|
||||||
initrd_stub: &Path,
|
initrd_stub: &Path,
|
||||||
|
|
Loading…
Reference in New Issue