Documentation ¶
Index ¶
Constants ¶
View Source
const BuilderId = "yuval-k.arm-image"
View Source
const ChrootKey = "mount_path"
View Source
const SectorShift = 9
sector size is 512 bytes
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Artifact ¶
type Artifact struct { StateData map[string]interface{} // contains filtered or unexported fields }
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
func NewBuilder ¶
func NewBuilder() *Builder
func (*Builder) ConfigSpec ¶
func (b *Builder) ConfigSpec() hcldec.ObjectSpec
type Config ¶
type Config struct { packer_common_common.PackerConfig `mapstructure:",squash"` // While arm image are not ISOs, we resuse the ISO logic as it basically has no ISO specific code. // Provide the arm image in the iso_url fields. packer_common_commonsteps.ISOConfig `mapstructure:",squash"` // Lets you prefix all builder commands, such as with ssh for a remote build host. Defaults to "". // Copied from other builders :) CommandWrapper string `mapstructure:"command_wrapper"` // Output directory, where the final image will be stored. // Deprecated - Use OutputFile instead OutputDir string `mapstructure:"output_directory"` // Output filename, where the final image will be stored OutputFile string `mapstructure:"output_filename"` // Image type. this is used to deduce other settings like image mounts and qemu args. // If not provided, we will try to deduce it from the image url. (see autoDetectType()) // For list of valid values, see: pkg/image/utils/images.go ImageType utils.KnownImageType `mapstructure:"image_type"` // Image's target CPU architecture. // This is used to determine if qemu is necessary and which flavor to use. // Defaults to "arm". For list of valid values, see: pkg/image/arch/arch.go ImageArch arch.KnownArchType `mapstructure:"image_arch"` // Where to mounts the image partitions in the chroot. // first entry is the mount point of the first partition. etc.. ImageMounts []string `mapstructure:"image_mounts"` // The path where the volume will be mounted. This is where the chroot environment will be. // Will be a temporary directory if left unspecified. MountPath string `mapstructure:"mount_path"` // What directories mount from the host to the chroot. // leave it empty for reasonable defaults. // array of triplets: [type, device, mntpoint]. ChrootMounts [][]string `mapstructure:"chroot_mounts"` // What directories mount from the host to the chroot, in addition to the default ones. // Use this instead of `chroot_mounts` if you want to add to the existing defaults instead of // overriding them // array of triplets: [type, device, mntpoint]. // for example: `["bind", "/run/systemd", "/run/systemd"]` AdditionalChrootMounts [][]string `mapstructure:"additional_chroot_mounts"` // Can be one of: off, copy-host, bind-host, delete. Defaults to off ResolvConf ResolvConfBehavior `mapstructure:"resolv-conf"` // Should the last partition be extended? this only works for the last partition in the // dos partition table, and ext filesystem LastPartitionExtraSize uint64 `mapstructure:"last_partition_extra_size"` // The target size of the final image. The last partition will be extended to // fill up this much room. I.e. if the generated image is 256MB and TargetImageSize // is set to 384MB the last partition will be extended with an additional 128MB. TargetImageSize uint64 `mapstructure:"target_image_size"` // Qemu binary to use. default is determined based on `image_arch`. // If this is an absolute path, it will be used. Otherwise, we will look for one in your PATH // and finally, try to auto fetch one from https://github.com/multiarch/qemu-user-static/ QemuBinary string `mapstructure:"qemu_binary"` // Do not use embedded qemu. DisableEmbedded bool `mapstructure:"disable_embedded"` // Arguments to qemu binary. default depends on the image type. see init() function above. QemuArgs []string `mapstructure:"qemu_args"` // Use qemu even when the build machine's CPU architecture matches the image's CPU architecture. // Defaults to true if non-default `qemu_binary` or `qemu_args` are supplied. QemuRequired bool `mapstructure:"qemu_required"` // contains filtered or unexported fields }
type FlatConfig ¶
type FlatConfig struct { PackerBuildName *string `mapstructure:"packer_build_name" cty:"packer_build_name" hcl:"packer_build_name"` PackerBuilderType *string `mapstructure:"packer_builder_type" cty:"packer_builder_type" hcl:"packer_builder_type"` PackerCoreVersion *string `mapstructure:"packer_core_version" cty:"packer_core_version" hcl:"packer_core_version"` PackerDebug *bool `mapstructure:"packer_debug" cty:"packer_debug" hcl:"packer_debug"` PackerForce *bool `mapstructure:"packer_force" cty:"packer_force" hcl:"packer_force"` PackerOnError *string `mapstructure:"packer_on_error" cty:"packer_on_error" hcl:"packer_on_error"` PackerUserVars map[string]string `mapstructure:"packer_user_variables" cty:"packer_user_variables" hcl:"packer_user_variables"` PackerSensitiveVars []string `mapstructure:"packer_sensitive_variables" cty:"packer_sensitive_variables" hcl:"packer_sensitive_variables"` ISOChecksum *string `mapstructure:"iso_checksum" required:"true" cty:"iso_checksum" hcl:"iso_checksum"` RawSingleISOUrl *string `mapstructure:"iso_url" required:"true" cty:"iso_url" hcl:"iso_url"` ISOUrls []string `mapstructure:"iso_urls" cty:"iso_urls" hcl:"iso_urls"` TargetPath *string `mapstructure:"iso_target_path" cty:"iso_target_path" hcl:"iso_target_path"` TargetExtension *string `mapstructure:"iso_target_extension" cty:"iso_target_extension" hcl:"iso_target_extension"` CommandWrapper *string `mapstructure:"command_wrapper" cty:"command_wrapper" hcl:"command_wrapper"` OutputDir *string `mapstructure:"output_directory" cty:"output_directory" hcl:"output_directory"` OutputFile *string `mapstructure:"output_filename" cty:"output_filename" hcl:"output_filename"` ImageType *utils.KnownImageType `mapstructure:"image_type" cty:"image_type" hcl:"image_type"` ImageArch *arch.KnownArchType `mapstructure:"image_arch" cty:"image_arch" hcl:"image_arch"` ImageMounts []string `mapstructure:"image_mounts" cty:"image_mounts" hcl:"image_mounts"` MountPath *string `mapstructure:"mount_path" cty:"mount_path" hcl:"mount_path"` ChrootMounts [][]string `mapstructure:"chroot_mounts" cty:"chroot_mounts" hcl:"chroot_mounts"` AdditionalChrootMounts [][]string `mapstructure:"additional_chroot_mounts" cty:"additional_chroot_mounts" hcl:"additional_chroot_mounts"` ResolvConf *ResolvConfBehavior `mapstructure:"resolv-conf" cty:"resolv-conf" hcl:"resolv-conf"` LastPartitionExtraSize *uint64 `mapstructure:"last_partition_extra_size" cty:"last_partition_extra_size" hcl:"last_partition_extra_size"` TargetImageSize *uint64 `mapstructure:"target_image_size" cty:"target_image_size" hcl:"target_image_size"` QemuBinary *string `mapstructure:"qemu_binary" cty:"qemu_binary" hcl:"qemu_binary"` DisableEmbedded *bool `mapstructure:"disable_embedded" cty:"disable_embedded" hcl:"disable_embedded"` QemuArgs []string `mapstructure:"qemu_args" cty:"qemu_args" hcl:"qemu_args"` QemuRequired *bool `mapstructure:"qemu_required" cty:"qemu_required" hcl:"qemu_required"` }
FlatConfig is an auto-generated flat version of Config. Where the contents of a field with a `mapstructure:,squash` tag are bubbled up.
type ResolvConfBehavior ¶
type ResolvConfBehavior string
const ( Off ResolvConfBehavior = "off" CopyHost ResolvConfBehavior = "copy-host" BindHost ResolvConfBehavior = "bind-host" Delete ResolvConfBehavior = "delete" )
type StepMountCleanup ¶ added in v0.2.2
type StepMountCleanup struct { }
StepMountCleanup mounts the attached device.
Produces:
mount_extra_cleanup CleanupFunc - To perform early cleanup
func (*StepMountCleanup) Cleanup ¶ added in v0.2.2
func (s *StepMountCleanup) Cleanup(state multistep.StateBag)
func (*StepMountCleanup) Run ¶ added in v0.2.2
func (s *StepMountCleanup) Run(ctx context.Context, state multistep.StateBag) multistep.StepAction
Source Files ¶
Click to show internal directories.
Click to hide internal directories.