in newt/cli/image_cmds.go [150:231]
func AddImageCommands(cmd *cobra.Command) {
createImageHelpText := "Create an image by adding an image header to the " +
"binary file created for <target-name>. Version number in the header " +
"is set to be <version>.\n\n"
createImageHelpText += "To use version 1 of image format, specify -1 on " +
"command line.\n"
createImageHelpText += "To sign version 1 of the image format give private " +
"key as <signing-key> and an optional key-id.\n\n"
createImageHelpText += "To use version 2 of image format, specify -2 on " +
"command line.\n"
createImageHelpText += "To sign version 2 of the image format give private " +
"key as <signing-key> (no key-id needed).\n\n"
createImageHelpText += "Default image format is version 1.\n"
createImageHelpText += "To encrypt the image, specify -e passing it a public" +
"key\n\n"
createImageHelpEx := " newt create-image my_target1 1.3.0\n"
createImageHelpEx += " newt create-image my_target1 1.3.0.3\n"
createImageHelpEx += " newt create-image my_target1 1.3.0.3 private.pem\n"
createImageHelpEx +=
" newt create-image -2 my_target1 1.3.0.3 private-1.pem private-2.pem\n"
createImageHelpEx += " newt create-image my_target1 1.3.0.3 -H 3 -e " +
"aes_key\n\n"
createImageCmd := &cobra.Command{
Use: "create-image <target-name> <version> [signing-key-1] " +
"[signing-key-2] [...]",
Short: "Add image header to target binary",
Long: createImageHelpText,
Example: createImageHelpEx,
Run: createImageRunCmd,
}
createImageCmd.PersistentFlags().BoolVarP(&newtutil.NewtForce,
"force", "f", false,
"Ignore flash overflow errors during image creation")
createImageCmd.PersistentFlags().BoolVar(&image.UseRsaPss,
"rsa-pss", false,
"Use RSA-PSS instead of PKCS#1 v1.5 for RSA sig. "+
"Meaningful for version 1 image format.")
createImageCmd.PersistentFlags().BoolVarP(&useV1,
"1", "1", false, "Use old image header format")
createImageCmd.PersistentFlags().BoolVarP(&useV2,
"2", "2", false, "Use new image header format (default)")
createImageCmd.PersistentFlags().StringVarP(&encKeyFilename,
"encrypt", "e", "", "Encrypt image using this key")
createImageCmd.PersistentFlags().IntVarP(&encKeyIndex,
"hw-stored-key", "H", -1, "Hardware stored key index")
createImageCmd.PersistentFlags().IntVarP(&hdrPad,
"pad-header", "p", 0, "Pad header to this length")
createImageCmd.PersistentFlags().IntVarP(&imagePad,
"pad-image", "i", 0, "Pad image to this length")
createImageCmd.PersistentFlags().StringVarP(§ions,
"sections", "S", "", "Section names for TLVs, comma delimited")
createImageCmd.PersistentFlags().BoolVarP(&useLegacyTLV,
"legacy-tlvs", "L", false, "Use legacy TLV values for NONCE and SECRET_ID")
createImageCmd.Flags().StringVarP(&util.InjectSyscfg, "syscfg", "", "",
"Injected syscfg settings, key=value pairs separated by colon")
cmd.AddCommand(createImageCmd)
AddTabCompleteFn(createImageCmd, targetList)
resignImageHelpText :=
"This command is obsolete; use the `larva` tool to resign images."
resignImageCmd := &cobra.Command{
Use: "resign-image",
Short: "Obsolete",
Long: resignImageHelpText,
Run: func(cmd *cobra.Command, args []string) {
cmd.Help()
},
}
cmd.AddCommand(resignImageCmd)
}