pkvlm-create
changeset 31 d33e971fd25e
parent 30 574ac60e5a4b
child 34 34f0edd3aab7
--- 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