1*8617a60dSAndroid Build Coastguard Worker% FUTILITY(1) Version 1.0 | Unified Firmware Utility Program 2*8617a60dSAndroid Build Coastguard Worker 3*8617a60dSAndroid Build Coastguard Worker[TOC] 4*8617a60dSAndroid Build Coastguard Worker 5*8617a60dSAndroid Build Coastguard WorkerNAME 6*8617a60dSAndroid Build Coastguard Worker============ 7*8617a60dSAndroid Build Coastguard Worker 8*8617a60dSAndroid Build Coastguard Worker**futility** - Futility is a unified firmware tool that provides a variety of 9*8617a60dSAndroid Build Coastguard Workerfirmware peripheral functions and subcommands. 10*8617a60dSAndroid Build Coastguard Worker 11*8617a60dSAndroid Build Coastguard WorkerSYNOPSIS 12*8617a60dSAndroid Build Coastguard Worker======== 13*8617a60dSAndroid Build Coastguard Worker 14*8617a60dSAndroid Build Coastguard Worker- **futility** \[options] COMMAND \[args...] 15*8617a60dSAndroid Build Coastguard Worker- **futility** **help** COMMAND 16*8617a60dSAndroid Build Coastguard Worker 17*8617a60dSAndroid Build Coastguard WorkerDESCRIPTION 18*8617a60dSAndroid Build Coastguard Worker=========== 19*8617a60dSAndroid Build Coastguard Worker 20*8617a60dSAndroid Build Coastguard WorkerThis is the unified firmware utility, which contains various of distinct verified 21*8617a60dSAndroid Build Coastguard Workerboot tools as subcommands. 22*8617a60dSAndroid Build Coastguard Worker 23*8617a60dSAndroid Build Coastguard WorkerOptions 24*8617a60dSAndroid Build Coastguard Worker------- 25*8617a60dSAndroid Build Coastguard Worker 26*8617a60dSAndroid Build Coastguard Worker### Global Options: 27*8617a60dSAndroid Build Coastguard Worker 28*8617a60dSAndroid Build Coastguard Worker\--vb1 29*8617a60dSAndroid Build Coastguard Worker 30*8617a60dSAndroid Build Coastguard Worker: Use only vboot v1.0 binary formats. 31*8617a60dSAndroid Build Coastguard Worker 32*8617a60dSAndroid Build Coastguard Worker\--vb21 33*8617a60dSAndroid Build Coastguard Worker 34*8617a60dSAndroid Build Coastguard Worker: Use only vboot v2.1 binary formats. 35*8617a60dSAndroid Build Coastguard Worker 36*8617a60dSAndroid Build Coastguard Worker\--debug 37*8617a60dSAndroid Build Coastguard Worker 38*8617a60dSAndroid Build Coastguard Worker: Be noisy about what's going on. 39*8617a60dSAndroid Build Coastguard Worker 40*8617a60dSAndroid Build Coastguard Worker 41*8617a60dSAndroid Build Coastguard Worker### Commands 42*8617a60dSAndroid Build Coastguard Worker 43*8617a60dSAndroid Build Coastguard Workercreate 44*8617a60dSAndroid Build Coastguard Worker 45*8617a60dSAndroid Build Coastguard Worker: Create a keypair from an RSA .pem file. 46*8617a60dSAndroid Build Coastguard Worker 47*8617a60dSAndroid Build Coastguard Workerdump_fmap 48*8617a60dSAndroid Build Coastguard Worker 49*8617a60dSAndroid Build Coastguard Worker: Display FMAP contents from a firmware image. 50*8617a60dSAndroid Build Coastguard Worker 51*8617a60dSAndroid Build Coastguard Workerdump_kernel_config 52*8617a60dSAndroid Build Coastguard Worker 53*8617a60dSAndroid Build Coastguard Worker: Prints the kernel command line. 54*8617a60dSAndroid Build Coastguard Worker 55*8617a60dSAndroid Build Coastguard Workerflash 56*8617a60dSAndroid Build Coastguard Worker 57*8617a60dSAndroid Build Coastguard Worker: Manage AP SPI flash properties and writeprotect configuration. 58*8617a60dSAndroid Build Coastguard Worker 59*8617a60dSAndroid Build Coastguard Workergbb, gbb_utility 60*8617a60dSAndroid Build Coastguard Worker 61*8617a60dSAndroid Build Coastguard Worker: Manipulate the Google Binary Block (GBB). 62*8617a60dSAndroid Build Coastguard Worker See [cmd_gbb_utility](./docs/cmd_gbb_utility.md) for detailed information. 63*8617a60dSAndroid Build Coastguard Worker 64*8617a60dSAndroid Build Coastguard Worker Examples: 65*8617a60dSAndroid Build Coastguard Worker 66*8617a60dSAndroid Build Coastguard Worker futility gbb --get $FILE 67*8617a60dSAndroid Build Coastguard Worker (dut) futility gbb --get --flash 68*8617a60dSAndroid Build Coastguard Worker (host) futility gbb --get --servo 69*8617a60dSAndroid Build Coastguard Worker (host) futility gbb --set --flags=$FLAGS --servo 70*8617a60dSAndroid Build Coastguard Worker 71*8617a60dSAndroid Build Coastguard Workergscvd 72*8617a60dSAndroid Build Coastguard Worker 73*8617a60dSAndroid Build Coastguard Worker: Create RO verification structure. 74*8617a60dSAndroid Build Coastguard Worker 75*8617a60dSAndroid Build Coastguard Workerhelp 76*8617a60dSAndroid Build Coastguard Worker 77*8617a60dSAndroid Build Coastguard Worker: Show a bit of help. 78*8617a60dSAndroid Build Coastguard Worker 79*8617a60dSAndroid Build Coastguard Workerload_fmap 80*8617a60dSAndroid Build Coastguard Worker 81*8617a60dSAndroid Build Coastguard Worker: Replace the contents of specified FMAP areas. 82*8617a60dSAndroid Build Coastguard Worker 83*8617a60dSAndroid Build Coastguard Workerpcr 84*8617a60dSAndroid Build Coastguard Worker 85*8617a60dSAndroid Build Coastguard Worker: Simulate a TPM PCR extension operation. 86*8617a60dSAndroid Build Coastguard Worker 87*8617a60dSAndroid Build Coastguard Workerread 88*8617a60dSAndroid Build Coastguard Worker 89*8617a60dSAndroid Build Coastguard Worker: Read AP firmware. 90*8617a60dSAndroid Build Coastguard Worker 91*8617a60dSAndroid Build Coastguard Worker Examples: 92*8617a60dSAndroid Build Coastguard Worker 93*8617a60dSAndroid Build Coastguard Worker (dut) futility read $IMG_OUT 94*8617a60dSAndroid Build Coastguard Worker (host) futility read --servo $IMG_OUT 95*8617a60dSAndroid Build Coastguard Worker (host) futility read --ccd_without_servod -r RO_VPD $IMG_OUT 96*8617a60dSAndroid Build Coastguard Worker 97*8617a60dSAndroid Build Coastguard Workershow 98*8617a60dSAndroid Build Coastguard Worker 99*8617a60dSAndroid Build Coastguard Worker: Display the content of various binary components. 100*8617a60dSAndroid Build Coastguard Worker 101*8617a60dSAndroid Build Coastguard Workersign 102*8617a60dSAndroid Build Coastguard Worker 103*8617a60dSAndroid Build Coastguard Worker: Sign / resign various binary components. 104*8617a60dSAndroid Build Coastguard Worker 105*8617a60dSAndroid Build Coastguard Workerupdate 106*8617a60dSAndroid Build Coastguard Worker 107*8617a60dSAndroid Build Coastguard Worker: Update system firmware. 108*8617a60dSAndroid Build Coastguard Worker 109*8617a60dSAndroid Build Coastguard Worker Examples: 110*8617a60dSAndroid Build Coastguard Worker 111*8617a60dSAndroid Build Coastguard Worker (dut) futility update -i $IMG 112*8617a60dSAndroid Build Coastguard Worker (host) futility update --wp 0 -i $IMG --servo 113*8617a60dSAndroid Build Coastguard Worker (host) futility update --force -i $IMG --servo 114*8617a60dSAndroid Build Coastguard Worker 115*8617a60dSAndroid Build Coastguard Workervbutil_firmware 116*8617a60dSAndroid Build Coastguard Worker 117*8617a60dSAndroid Build Coastguard Worker: Verified boot firmware utility. 118*8617a60dSAndroid Build Coastguard Worker 119*8617a60dSAndroid Build Coastguard Workervbutil_kernel 120*8617a60dSAndroid Build Coastguard Worker 121*8617a60dSAndroid Build Coastguard Worker: Creates, signs, and verifies the kernel partition. 122*8617a60dSAndroid Build Coastguard Worker 123*8617a60dSAndroid Build Coastguard Workervbutil_key 124*8617a60dSAndroid Build Coastguard Worker 125*8617a60dSAndroid Build Coastguard Worker: Wraps RSA keys with vboot headers. 126*8617a60dSAndroid Build Coastguard Worker 127*8617a60dSAndroid Build Coastguard Workervbutil_keyblock 128*8617a60dSAndroid Build Coastguard Worker 129*8617a60dSAndroid Build Coastguard Worker: Creates, signs, and verifies a keyblock. 130*8617a60dSAndroid Build Coastguard Worker 131*8617a60dSAndroid Build Coastguard Workerverify 132*8617a60dSAndroid Build Coastguard Worker 133*8617a60dSAndroid Build Coastguard Worker: Verify the signatures of various binary components. This does not verify GSCVD contents. 134*8617a60dSAndroid Build Coastguard Worker 135*8617a60dSAndroid Build Coastguard Workerversion 136*8617a60dSAndroid Build Coastguard Worker 137*8617a60dSAndroid Build Coastguard Worker: Show the futility source revision and build date. 138