--- a/pkvlm-create Wed Feb 01 15:53:27 2012 +0200
+++ b/pkvlm-create Thu Feb 02 13:50:57 2012 +0200
@@ -176,6 +176,9 @@
# OS variant (for virt-install)
GUEST_OS_VARIANT=$opt_os
+# I/O
+GUEST_DISK_BUS=$opt_disk_bus
+
## Disk
# Size of LV to create
DISK_SIZE=$opt_disk_size
@@ -188,7 +191,6 @@
# Path to disk block device
DISK_PATH=/dev/mapper/${DISK_VG}-${DISK_NAME}
-GUEST_DISK_BUS=$opt_disk_bus
## Serial
# Serial console?
@@ -196,12 +198,10 @@
case x"$opt_serial_console" in
# xtty*) SERIAL_CONSOLE="$opt_serial_console" ;;
x) SERIAL_CONSOLE= ;;
- x*) SERIAL_CONSOLE="ttyS0" ;;
+ x*) SERIAL_CONSOLE="ttyS0" ;;
esac
### Preseed content
-GUEST_DISK=$opt_guest_disk
-
## Network
# Network configuration, for /etc/network/interfaces
NET_DOMAIN=${DOMAIN}
@@ -329,7 +329,41 @@
[ -d ${STAGE_DIR} ] && cmd rm -r ${STAGE_DIR}
cmd mkdir ${STAGE_DIR}
-## preseed.cfg contents
+function stage_file () {
+ local src=$1
+ local name=$2
+
+ local tgt=${STAGE_DIR}/$name
+
+ log_debug "stage: file: $name"
+ cmd cp $src $tgt
+}
+
+### preseed.cfg contents
+
+## Disk
+# Disk to install to
+PARTMAN_DISK=$opt_guest_disk
+
+# regular/lvm/crypto
+PARTMAN_METHOD=regular
+
+# Recipe to use
+PARTMAN_RECIPE='Trvial'
+
+# recipe file
+PARTMAN_RECIPE_FILE_NAME="partman.recipe"
+PRESEED_PARTMAN_RECIPE_FILE="${PRESEED_DIR}/${PARTMAN_RECIPE_FILE_NAME}"
+INSTALL_PARTMAN_RECIPE_FILE_NAME="${PARTMAN_RECIPE_FILE_NAME}"
+INSTALLER_PARTMAN_RECIPE_FILE="${INSTALLER_PRESEED_DIR}/${PARTMAN_RECIPE_FILE_NAME}"
+
+# deploy
+stage_file ${PRESEED_PARTMAN_RECIPE_FILE} ${INSTALL_PARTMAN_RECIPE_FILE_NAME}
+
+# path for d-i to find it
+PARTMAN_RECIPE_FILE="${INSTALLER_PARTMAN_RECIPE_FILE}"
+
+## Misc
# List of additional packages to install
PRESEED_PACKAGES=( sudo screen vim )
@@ -570,8 +604,6 @@
RAM: $GUEST_RAM
OS: $GUEST_OS_VARIANT
- Disk: $GUEST_DISK
-
Boot:
Serial console: $SERIAL_CONSOLE
Grub terminal: $BOOT_GRUB_TERMINAL
@@ -586,6 +618,8 @@
Path: $DISK_PATH
Bus: $GUEST_DISK_BUS
+
+ Name: $PARTMAN_DISK
Net:
Hostname: $NET_HOSTNAME
@@ -690,10 +724,6 @@
cmd expand_tree $tree ${INSTALL_PRESEED_FILES_DIR}
done
-# Staged files
-# PRESEED_FILES_DIR must be the same name as INSTALL_PRESEED_FILES_DIR
-cmd cp -rv ${STAGE_PRESEED_FILES_DIR}/ ${INSTALL_PRESEED_DIR}/
-
# debug?
[ $LOG_DEBUG ] && tree ${INSTALL_PRESEED_FILES_DIR}
@@ -701,8 +731,13 @@
## Copy preseed scripts
log_info "Copy preseed-scripts..."
-# Staged scripts
-cmd cp -rv "$STAGE_PRESEED_SCRIPTS_DIR" "$INSTALL_PRESEED_SCRIPTS_DIR"
+
+## Staged files
+log_info "Copy staged preseed files..."
+
+# STAGE_PRESEED_*_DIR must be the same name as INSTALL_PRESEED_*_DIR
+cmd cp -rv ${STAGE_DIR}/* ${INSTALL_PRESEED_DIR}/
+
### Create .iso