LCP_MLEHASH(8)
π LCP_MLEHASH π
okay bestie, gather round, because we're talking about lcp2_mlehash β the little cutie from the tboot manual pages that hashes your TXT MLE binary and yells the result at STDOUT as text. no cap, she's a whole vibe π
β¨ NAME β¨
lcp2_mlehash β generate a hash of a TXT MLE binary file and print it to STDOUT as text. that's it, that's the job, and she does it flawlessly π
πΈ SYNOPSIS πΈ
lcp2_mlehash [--create] [--cmdline cmdline] [--alg hashalg] [--help]
[--verbose] mle-file
literally just hand her a file and some flags and she'll handle the rest π«Ά
π¦ DESCRIPTION π¦
so here's the tea, bestie β β lcp2_mlehash generates a hash of the portion of an executable file that contains the Intel(R) TXT measured launched environment (MLE). iconic, right?
and the way it knows which portion? in the MLE binary file, the portion of the file to be used as the MLE is specified in the MLE header structure. she reads the header, she finds the slice, she hashes it. main character energy fr fr π
oh and pookie, listen β if verbose mode is not used, the output is suitable for use as the mle-file to the lcp2_crtpolelt command. so like, no extra chatter, just a clean little hash you can pass straight along. that's the whole point β¨
π OPTIONS π
mle-fileβ the file name of the MLE binary. and okay here's a fun one: if it's a gzip file then it will be un-zipped before hashing π she's not gonna hash a compressed blob, she's gonna unwrap it first. thoughtful queen.--createβ create a hash. that's the whole flag. short, sweet, slay.--cmdline cmdlineβ specify quote-delimited command line. and bestie this one is IMPORTANT π¨ it is important to specify the command line that is used when launching the MLE or the hash will not match what is calculated by SINIT. like, mismatch city. do not skip this. i'm not being dramatic, the manpage said it first π--alg hashalgβ specify the hash algorithm to use. supported values aresha1,sha256,sha384andsha512. pick your fighter π--helpβ print out the help message. when in doubt, ask her, she'll tell you π--verboseβ verbose mode, display progress indications. perfect if you're the kind of girl who needs to see the little progress moments π¦ (just remember what we said up in DESCRIPTION about the output not being the clean pass-it-to-lcp2_crtpoleltversion when you do this, iykyk)
π EXAMPLES π
here's the moment you've all been waiting for, the demo, the serve, the MOMENT:
lcp2_mlehash --create --cmdline "logging=memory,serial,vga" --alg sha1 /boot/tboot.gz > mle-hash
look at her go. --create, a quoted --cmdline, --alg sha1, and the file /boot/tboot.gz piped right into mle-hash. ate that up, no crumbs π₯
π SEE ALSO π
full documentation of MLE, Intel(R) TXT and LCP is available in Intel(R) TXT Measured Launch Environment Deleveloper's Guide, available at:
http://www.intel.com/content/www/us/en/software-developers/intel-txt-software-development-guide.html
also go say hi to her sisters π:
and that's the whole page, bestie!! π«Ά this one came to you from the tboot manual pages, dated 2020-05-10, and she's still out here hashing and slaying. mwah π go generate something iconic β¨ππ
π¦ where this page comes from
- centos-stream 10: tboot 1:1.11.12-1.el10 Β· BSD-3-Clause
- centos-stream 9: tboot 1:1.11.12-1.el9 Β· BSD
- debian bookworm: tboot 1.10.5-4 Β· BSD-3-Clause
- debian trixie: tboot 1.10.5-5 Β· BSD-3-Clause
- fedora 43: tboot 1:1.11.7-13.fc43 Β· BSD-3-Clause
- fedora 44: tboot 1:1.11.7-15.fc44 Β· BSD-3-Clause
- nixos 26.05: tboot 1.11.9
- opensuse-leap 16.0: tboot 20250417_1.11.10-160000.2.1 Β· BSD-3-Clause
- ubuntu jammy: tboot 1.10.2+dfsg.0-1ubuntu1 Β· BSD-3-Clause
- ubuntu noble: tboot 1.10.5-4 Β· BSD-3-Clause
- ubuntu questing: tboot 1.10.5-5ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms