refactor to use _write_cpio_common

This commit is contained in:
Alex Polvi 2014-03-31 16:08:29 -07:00
parent 0d3cd4b417
commit e3156672ce

View File

@ -298,9 +298,7 @@ _write_vmdk_scsi_disk() {
qemu-img convert -f raw "$1" -O vmdk -o adapter_type=lsilogic "$2" qemu-img convert -f raw "$1" -O vmdk -o adapter_type=lsilogic "$2"
} }
# The cpio "disk" is a bit special, _write_cpio_common() {
# consists of a kernel+initrd not a block device
_write_cpio_disk() {
local cpio_target="${VM_TMP_DIR}/rootcpio" local cpio_target="${VM_TMP_DIR}/rootcpio"
local dst_dir=$(_dst_dir) local dst_dir=$(_dst_dir)
local vmlinuz_name="$(_dst_name ".vmlinuz")" local vmlinuz_name="$(_dst_name ".vmlinuz")"
@ -356,32 +354,38 @@ EOF
find . | cpio -o -H newc | gzip > "$2" find . | cpio -o -H newc | gzip > "$2"
popd >/dev/null popd >/dev/null
}
# The cpio "disk" is a bit special,
# consists of a kernel+initrd not a block device
_write_cpio_disk() {
local base_dir="${VM_TMP_ROOT}/usr"
local dst_dir=$(_dst_dir)
local vmlinuz_name="$(_dst_name ".vmlinuz")"
_write_cpio_common $@
# Pull the kernel out of the filesystem # Pull the kernel out of the filesystem
cp "${base_dir}"/boot/vmlinuz "${dst_dir}/${vmlinuz_name}" cp "${base_dir}"/boot/vmlinuz "${dst_dir}/${vmlinuz_name}"
VM_GENERATED_FILES+=( "${dst_dir}/${vmlinuz_name}" ) VM_GENERATED_FILES+=( "${dst_dir}/${vmlinuz_name}" )
} }
_write_iso_disk() { _write_iso_disk() {
local base_dir="${VM_TMP_ROOT}/usr"
local iso_target="${VM_TMP_DIR}/rootiso" local iso_target="${VM_TMP_DIR}/rootiso"
local dst_dir=$(_dst_dir) local dst_dir=$(_dst_dir)
local vmlinuz_name="$(_dst_name ".vmlinuz")" local vmlinuz_name="$(_dst_name ".vmlinuz")"
_write_cpio_disk $@
VM_GENERATED_FILES=
mkdir ${iso_target} mkdir "${iso_target}"
pushd "${iso_target}" >/dev/null pushd "${iso_target}" >/dev/null
mkdir isolinux syslinux coreos mkdir isolinux syslinux coreos
mv $2 coreos/cpio.gz _write_cpio_common "$1" "${iso_target}/coreos/cpio.gz"
mv "${dst_dir}/${vmlinuz_name}" coreos/vmlinuz cp "${base_dir}"/boot/vmlinuz "${iso_target}/coreos/vmlinuz"
#for file in chain.c32 libcom32.c32 libutil.c32 memdisk; do
#for file in isolinux.bin ldlinux.c32; do
cp -R /usr/share/syslinux/* isolinux/ cp -R /usr/share/syslinux/* isolinux/
cat<<EOF > isolinux/isolinux.cfg cat<<EOF > isolinux/isolinux.cfg
INCLUDE /syslinux/syslinux.cfg INCLUDE /syslinux/syslinux.cfg
EOF EOF
cat<<EOF > syslinux/syslinux.cfg cat<<EOF > syslinux/syslinux.cfg
default coreos default coreos
prompt 0 prompt 1
timeout 15 timeout 15
label coreos label coreos