mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-08 05:26:58 +02:00
commit
1539ff334e
@ -63,7 +63,7 @@
|
||||
"num": 9,
|
||||
"label":"STATE",
|
||||
"type":"data",
|
||||
"blocks":"2097152"
|
||||
"blocks":"1048576"
|
||||
}
|
||||
],
|
||||
"vm": [
|
||||
@ -73,6 +73,14 @@
|
||||
"type":"data",
|
||||
"blocks":"6291456"
|
||||
}
|
||||
],
|
||||
"vagrant": [
|
||||
{
|
||||
"num": 9,
|
||||
"label":"STATE",
|
||||
"type":"data",
|
||||
"blocks":"33587200"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
@ -48,6 +48,9 @@ IMG_DEFAULT_OEM_PACKAGE=
|
||||
# May be raw, qcow2 (qemu), or vmdk (vmware, virtualbox)
|
||||
IMG_DEFAULT_DISK_FORMAT=raw
|
||||
|
||||
# Name of the partition layout from legacy_disk_layout.json
|
||||
IMG_DEFAULT_DISK_LAYOUT=base
|
||||
|
||||
# Name of the target config format, default is no config
|
||||
IMG_DEFAULT_CONF_FORMAT=
|
||||
|
||||
@ -56,6 +59,7 @@ IMG_DEFAULT_MEM=1024
|
||||
|
||||
## qemu
|
||||
IMG_qemu_DISK_FORMAT=qcow2
|
||||
IMG_qemu_DISK_LAYOUT=vm
|
||||
IMG_qemu_CONF_FORMAT=qemu
|
||||
|
||||
## xen
|
||||
@ -65,24 +69,29 @@ IMG_xen_CONF_FORMAT=xl
|
||||
|
||||
## virtualbox
|
||||
IMG_virtualbox_DISK_FORMAT=vmdk
|
||||
IMG_virtualbox_DISK_LAYOUT=vm
|
||||
IMG_virtualbox_CONF_FORMAT=ovf
|
||||
|
||||
## vagrant
|
||||
IMG_vagrant_DISK_FORMAT=vmdk
|
||||
IMG_vagrant_DISK_LAYOUT=vagrant
|
||||
IMG_vagrant_CONF_FORMAT=vagrant
|
||||
IMG_vagrant_OEM_PACKAGE=oem-vagrant
|
||||
|
||||
## vagrant_vmware
|
||||
IMG_vagrant_vmware_fusion_DISK_FORMAT=vmdk
|
||||
IMG_vagrant_vmware_fusion_DISK_LAYOUT=vagrant
|
||||
IMG_vagrant_vmware_fusion_CONF_FORMAT=vagrant_vmware_fusion
|
||||
IMG_vagrant_vmware_fusion_OEM_PACKAGE=oem-vagrant
|
||||
|
||||
## vmware
|
||||
IMG_vmware_DISK_FORMAT=vmdk
|
||||
IMG_vmware_DISK_LAYOUT=vm
|
||||
IMG_vmware_CONF_FORMAT=vmx
|
||||
|
||||
## vmware_insecure
|
||||
IMG_vmware_insecure_DISK_FORMAT=vmdk
|
||||
IMG_vmware_insecure_DISK_LAYOUT=vm
|
||||
IMG_vmware_insecure_CONF_FORMAT=vmware_zip
|
||||
IMG_vmware_insecure_OEM_PACKAGE=oem-vagrant
|
||||
|
||||
@ -92,6 +101,7 @@ IMG_ami_OEM_PACKAGE=oem-ami
|
||||
|
||||
## openstack, supports ec2's metadata format so use oem-ami
|
||||
IMG_openstack_DISK_FORMAT=qcow2
|
||||
IMG_openstack_DISK_LAYOUT=vm
|
||||
IMG_openstack_OEM_PACKAGE=oem-ami
|
||||
|
||||
## pxe, which is an cpio image
|
||||
@ -182,7 +192,7 @@ _disk_ext() {
|
||||
# alternate filesystem image for the state partition instead of the one
|
||||
# from VM_SRC_IMG. Start new image using the given disk layout.
|
||||
unpack_source_disk() {
|
||||
local disk_layout="$1"
|
||||
local disk_layout="${1:-$(_get_vm_opt DISK_LAYOUT)}"
|
||||
local alternate_state_image="$2"
|
||||
|
||||
if [[ -n "${alternate_state_image}" && ! -f "${alternate_state_image}" ]]
|
||||
@ -217,7 +227,8 @@ unpack_source_disk() {
|
||||
}
|
||||
|
||||
resize_state_partition() {
|
||||
local size_in_bytes="$1"
|
||||
local disk_layout="${1:-$(_get_vm_opt DISK_LAYOUT)}"
|
||||
local size_in_bytes=$(get_filesystem_size "${disk_layout}" ${NUM_STATEFUL})
|
||||
local size_in_sectors=$(( size_in_bytes / 512 ))
|
||||
local size_in_mb=$(( size_in_bytes / 1024 / 1024 ))
|
||||
local original_size=$(stat -c%s "${TEMP_STATE}")
|
||||
|
@ -37,7 +37,7 @@ DEFINE_string format "qemu" \
|
||||
"Output format, one of: ${VALID_IMG_TYPES[*]}"
|
||||
DEFINE_string from "" \
|
||||
"Directory containing rootfs.image and mbr.image"
|
||||
DEFINE_string disk_layout "vm" \
|
||||
DEFINE_string disk_layout "" \
|
||||
"The disk layout type to use for this image."
|
||||
DEFINE_integer mem "${DEFAULT_MEM}" \
|
||||
"Memory size for the vm config in MBs."
|
||||
@ -111,9 +111,8 @@ trap vm_cleanup EXIT
|
||||
|
||||
# Unpack image, using alternate state image if defined
|
||||
# Resize to use all available space in new disk layout
|
||||
STATEFUL_SIZE=$(get_filesystem_size "${FLAGS_disk_layout}" ${NUM_STATEFUL})
|
||||
unpack_source_disk "${FLAGS_disk_layout}" "${FLAGS_state_image}"
|
||||
resize_state_partition "${STATEFUL_SIZE}"
|
||||
resize_state_partition "${FLAGS_disk_layout}"
|
||||
|
||||
# Optionally install any OEM packages
|
||||
install_oem_package
|
||||
|
Loading…
Reference in New Issue
Block a user