Adding support for virtualbox binary images (incomplete).
This commit is contained in:
parent
87f788b31d
commit
3de9626c27
|
@ -556,9 +556,6 @@ Set_defaults ()
|
|||
# Setting chroot filesystem
|
||||
LB_CHROOT_FILESYSTEM="${LB_CHROOT_FILESYSTEM:-squashfs}"
|
||||
|
||||
# Setting virtual root size
|
||||
LB_VIRTUAL_ROOT_SIZE="${LB_VIRTUAL_ROOT_SIZE:-10000}"
|
||||
|
||||
# Setting whether to expose root filesystem as read only
|
||||
LB_EXPOSED_ROOT="${LB_EXPOSED_ROOT:-false}"
|
||||
|
||||
|
@ -1013,6 +1010,49 @@ Set_defaults ()
|
|||
;;
|
||||
esac
|
||||
|
||||
LB_VIRTUALBOX_NAME="${LB_VIRTUALBOX_NAME:-${LB_ISO_APPLICATION}}"
|
||||
|
||||
case "${LB_MODE}" in
|
||||
debian|emdebian|progress)
|
||||
case "${LB_ARCHITECTURE}" in
|
||||
amd64)
|
||||
LB_VIRTUALBOX_OSTYPE="${LB_VIRTUALBOX_OSTYPE:-Debian_64}"
|
||||
;;
|
||||
|
||||
*)
|
||||
LB_VIRTUALBOX_OSTYPE="${LB_VIRTUALBOX_OSTYPE:-Debian}"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
ubuntu)
|
||||
case "${LB_ARCHITECTURE}" in
|
||||
amd64)
|
||||
LB_VIRTUALBOX_OSTYPE="${LB_VIRTUALBOX_OSTYPE:-Ubuntu_64}"
|
||||
;;
|
||||
|
||||
*)
|
||||
LB_VIRTUALBOX_OSTYPE="${LB_VIRTUALBOX_OSTYPE:-Ubuntu}"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
|
||||
*)
|
||||
case "${LB_ARCHITECTURE}" in
|
||||
amd64)
|
||||
LB_VIRTUALBOX_OSTYPE="${LB_VIRTUALBOX_OSTYPE:-Linux26_64}"
|
||||
;;
|
||||
|
||||
*)
|
||||
LB_VIRTUALBOX_OSTYPE="${LB_VIRTUALBOX_OSTYPE:-Linux26}"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
# Setting virtual root size
|
||||
LB_VIRTUAL_ROOT_SIZE="${LB_VIRTUAL_ROOT_SIZE:-10000}"
|
||||
|
||||
# Setting memtest option
|
||||
LB_MEMTEST="${LB_MEMTEST:-memtest86+}"
|
||||
|
||||
|
|
|
@ -87,6 +87,7 @@ lb binary_iso ${*}
|
|||
lb binary_net ${*}
|
||||
lb binary_tar ${*}
|
||||
lb binary_usb ${*}
|
||||
lb binary_virtualbox ${*}
|
||||
lb binary_virtual-hdd ${*}
|
||||
|
||||
if [ "${LB_BUILD_WITH_CHROOT}" = "true" ]
|
||||
|
|
|
@ -0,0 +1,125 @@
|
|||
#!/bin/sh
|
||||
|
||||
## live-build(7) - System Build Scripts
|
||||
## Copyright (C) 2006-2011 Daniel Baumann <daniel@debian.org>
|
||||
##
|
||||
## live-build comes with ABSOLUTELY NO WARRANTY; for details see COPYING.
|
||||
## This is free software, and you are welcome to redistribute it
|
||||
## under certain conditions; see COPYING for details.
|
||||
|
||||
|
||||
## FIXME:
|
||||
## - make it work with chrooted builds
|
||||
## - tune the different .vbox settings
|
||||
|
||||
set -e
|
||||
|
||||
# Including common functions
|
||||
. "${LB_BASE:-/usr/share/live/build}"/scripts/build.sh
|
||||
|
||||
# Setting static variables
|
||||
DESCRIPTION="$(Echo 'build binary image')"
|
||||
HELP=""
|
||||
USAGE="${PROGRAM} [--force]"
|
||||
|
||||
Arguments "${@}"
|
||||
|
||||
# Reading configuration files
|
||||
Read_conffiles config/all config/common config/bootstrap config/chroot config/binary config/source
|
||||
Set_defaults
|
||||
|
||||
if ! In_list virtualbox "${LB_BINARY_IMAGES}"
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
Echo_message "Begin building binary virtualbox image..."
|
||||
|
||||
# Requiring stage file
|
||||
Require_stagefile .stage/config .stage/bootstrap .stage/chroot_proc
|
||||
|
||||
# Checking stage file
|
||||
Check_stagefile .stage/binary_virtualbox
|
||||
|
||||
# Checking lock file
|
||||
Check_lockfile .lock
|
||||
|
||||
# Creating lock file
|
||||
Create_lockfile .lock
|
||||
|
||||
# Checking depends
|
||||
Check_package chroot/usr/bin/VBoxManage virtualbox-ose
|
||||
|
||||
case "${LB_BOOTLOADER}" in
|
||||
grub)
|
||||
Check_package chroot/usr/sbin/grub grub
|
||||
;;
|
||||
|
||||
syslinux)
|
||||
Check_package chroot/usr/bin/syslinux syslinux
|
||||
;;
|
||||
esac
|
||||
|
||||
# Restoring cache
|
||||
Restore_cache cache/packages_binary
|
||||
|
||||
# Installing depends
|
||||
Install_package
|
||||
|
||||
# Remove old binary
|
||||
rm -f binary-vbox.tar.bz2 binary-vbox.tar.gz binary-vbox.tar.lz binary-vbox.tar binary-vbox
|
||||
|
||||
# Create initial virtual machine
|
||||
VBoxManage createvm --name "${LB_VIRTUALBOX_NAME}" --ostype "${LB_VIRTUALBOX_OSTYPE}" --basefolder "${PWD}/binary-vbox"
|
||||
|
||||
# Add storage
|
||||
VBoxManage storageattach "${LB_VIRTUALBOX_NAME}" --storagectl "$(echo ${LB_VIRTUALBOX_NAME} | sed -e 's| |-|g' | tr [A-Z] [a-z])"
|
||||
|
||||
# Set some sane defaults
|
||||
VBoxManage modifyvm "${LB_VIRTUALBOX_NAME}" \
|
||||
--bioslogofadeout off \
|
||||
--bioslogofadein off \
|
||||
--bioslogodisplaytime 0 \
|
||||
--boot1 disk \
|
||||
--rtcuseutc on
|
||||
|
||||
|
||||
|
||||
DU_DIM="$(du -ms binary | cut -f1)"
|
||||
REAL_DIM="$(Calculate_partition_size ${DU_DIM} ${LB_BINARY_FILESYSTEM})"
|
||||
|
||||
|
||||
|
||||
|
||||
cd binary-vbox
|
||||
tar cfz ../binary-vbox.tar *
|
||||
cd "${OLDPWD}"
|
||||
|
||||
case "${LB_COMPRESSION}" in
|
||||
bzip2)
|
||||
bzip2 ${BZIP2_OPTIONS} binary-vbox.tar
|
||||
rm -rf binary-vbox
|
||||
;;
|
||||
|
||||
gzip)
|
||||
gzip ${GZIP_OPTIONS} binary-vbox.tar
|
||||
rm -rf binary-vbox
|
||||
;;
|
||||
|
||||
lzip)
|
||||
lzip ${LZIP_OPTIONS} binary-vbox.tar
|
||||
rm -rf binary-vbox
|
||||
;;
|
||||
|
||||
none)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Saving cache
|
||||
Save_cache cache/packages_binary
|
||||
|
||||
# Removing depends
|
||||
Remove_package
|
||||
|
||||
# Creating stage file
|
||||
Create_stagefile .stage/binary_virtualbox
|
Loading…
Reference in New Issue