174 GUEST_VCPUS=$opt_cpus |
174 GUEST_VCPUS=$opt_cpus |
175 |
175 |
176 # OS variant (for virt-install) |
176 # OS variant (for virt-install) |
177 GUEST_OS_VARIANT=$opt_os |
177 GUEST_OS_VARIANT=$opt_os |
178 |
178 |
|
179 # I/O |
|
180 GUEST_DISK_BUS=$opt_disk_bus |
|
181 |
179 ## Disk |
182 ## Disk |
180 # Size of LV to create |
183 # Size of LV to create |
181 DISK_SIZE=$opt_disk_size |
184 DISK_SIZE=$opt_disk_size |
182 |
185 |
183 # LVM vg to use |
186 # LVM vg to use |
186 # LVM lv to use |
189 # LVM lv to use |
187 DISK_NAME=$opt_disk_lv |
190 DISK_NAME=$opt_disk_lv |
188 |
191 |
189 # Path to disk block device |
192 # Path to disk block device |
190 DISK_PATH=/dev/mapper/${DISK_VG}-${DISK_NAME} |
193 DISK_PATH=/dev/mapper/${DISK_VG}-${DISK_NAME} |
191 GUEST_DISK_BUS=$opt_disk_bus |
|
192 |
194 |
193 ## Serial |
195 ## Serial |
194 # Serial console? |
196 # Serial console? |
195 # XXX: hardcoded as ttyS0 |
197 # XXX: hardcoded as ttyS0 |
196 case x"$opt_serial_console" in |
198 case x"$opt_serial_console" in |
197 # xtty*) SERIAL_CONSOLE="$opt_serial_console" ;; |
199 # xtty*) SERIAL_CONSOLE="$opt_serial_console" ;; |
198 x) SERIAL_CONSOLE= ;; |
200 x) SERIAL_CONSOLE= ;; |
199 x*) SERIAL_CONSOLE="ttyS0" ;; |
201 x*) SERIAL_CONSOLE="ttyS0" ;; |
200 esac |
202 esac |
201 |
203 |
202 ### Preseed content |
204 ### Preseed content |
203 GUEST_DISK=$opt_guest_disk |
|
204 |
|
205 ## Network |
205 ## Network |
206 # Network configuration, for /etc/network/interfaces |
206 # Network configuration, for /etc/network/interfaces |
207 NET_DOMAIN=${DOMAIN} |
207 NET_DOMAIN=${DOMAIN} |
208 NET_HOSTNAME=${NAME} |
208 NET_HOSTNAME=${NAME} |
209 NET_BRIDGE=$opt_bridge |
209 NET_BRIDGE=$opt_bridge |
327 |
327 |
328 # host-specific; clean |
328 # host-specific; clean |
329 [ -d ${STAGE_DIR} ] && cmd rm -r ${STAGE_DIR} |
329 [ -d ${STAGE_DIR} ] && cmd rm -r ${STAGE_DIR} |
330 cmd mkdir ${STAGE_DIR} |
330 cmd mkdir ${STAGE_DIR} |
331 |
331 |
332 ## preseed.cfg contents |
332 function stage_file () { |
|
333 local src=$1 |
|
334 local name=$2 |
|
335 |
|
336 local tgt=${STAGE_DIR}/$name |
|
337 |
|
338 log_debug "stage: file: $name" |
|
339 cmd cp $src $tgt |
|
340 } |
|
341 |
|
342 ### preseed.cfg contents |
|
343 |
|
344 ## Disk |
|
345 # Disk to install to |
|
346 PARTMAN_DISK=$opt_guest_disk |
|
347 |
|
348 # regular/lvm/crypto |
|
349 PARTMAN_METHOD=regular |
|
350 |
|
351 # Recipe to use |
|
352 PARTMAN_RECIPE='Trvial' |
|
353 |
|
354 # recipe file |
|
355 PARTMAN_RECIPE_FILE_NAME="partman.recipe" |
|
356 PRESEED_PARTMAN_RECIPE_FILE="${PRESEED_DIR}/${PARTMAN_RECIPE_FILE_NAME}" |
|
357 INSTALL_PARTMAN_RECIPE_FILE_NAME="${PARTMAN_RECIPE_FILE_NAME}" |
|
358 INSTALLER_PARTMAN_RECIPE_FILE="${INSTALLER_PRESEED_DIR}/${PARTMAN_RECIPE_FILE_NAME}" |
|
359 |
|
360 # deploy |
|
361 stage_file ${PRESEED_PARTMAN_RECIPE_FILE} ${INSTALL_PARTMAN_RECIPE_FILE_NAME} |
|
362 |
|
363 # path for d-i to find it |
|
364 PARTMAN_RECIPE_FILE="${INSTALLER_PARTMAN_RECIPE_FILE}" |
|
365 |
|
366 ## Misc |
333 # List of additional packages to install |
367 # List of additional packages to install |
334 PRESEED_PACKAGES=( sudo screen vim ) |
368 PRESEED_PACKAGES=( sudo screen vim ) |
335 |
369 |
336 # Script commands to execute |
370 # Script commands to execute |
337 PRESEED_LATE_COMMANDS=( ) |
371 PRESEED_LATE_COMMANDS=( ) |
688 log_info "preseed-files: $tree" |
722 log_info "preseed-files: $tree" |
689 |
723 |
690 cmd expand_tree $tree ${INSTALL_PRESEED_FILES_DIR} |
724 cmd expand_tree $tree ${INSTALL_PRESEED_FILES_DIR} |
691 done |
725 done |
692 |
726 |
693 # Staged files |
|
694 # PRESEED_FILES_DIR must be the same name as INSTALL_PRESEED_FILES_DIR |
|
695 cmd cp -rv ${STAGE_PRESEED_FILES_DIR}/ ${INSTALL_PRESEED_DIR}/ |
|
696 |
|
697 # debug? |
727 # debug? |
698 [ $LOG_DEBUG ] && tree ${INSTALL_PRESEED_FILES_DIR} |
728 [ $LOG_DEBUG ] && tree ${INSTALL_PRESEED_FILES_DIR} |
699 |
729 |
700 |
730 |
701 ## Copy preseed scripts |
731 ## Copy preseed scripts |
702 log_info "Copy preseed-scripts..." |
732 log_info "Copy preseed-scripts..." |
703 |
733 |
704 # Staged scripts |
734 |
705 cmd cp -rv "$STAGE_PRESEED_SCRIPTS_DIR" "$INSTALL_PRESEED_SCRIPTS_DIR" |
735 ## Staged files |
|
736 log_info "Copy staged preseed files..." |
|
737 |
|
738 # STAGE_PRESEED_*_DIR must be the same name as INSTALL_PRESEED_*_DIR |
|
739 cmd cp -rv ${STAGE_DIR}/* ${INSTALL_PRESEED_DIR}/ |
|
740 |
706 |
741 |
707 |
742 |
708 ### Create .iso |
743 ### Create .iso |
709 log_info "Generate ISO..." |
744 log_info "Generate ISO..." |
710 |
745 |