pkvlm-create
changeset 31 d33e971fd25e
parent 30 574ac60e5a4b
child 34 34f0edd3aab7
equal deleted inserted replaced
30:574ac60e5a4b 31:d33e971fd25e
   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=( )
   568     Name:       $GUEST_NAME
   602     Name:       $GUEST_NAME
   569     CPUs:       $GUEST_VCPUS
   603     CPUs:       $GUEST_VCPUS
   570     RAM:        $GUEST_RAM
   604     RAM:        $GUEST_RAM
   571     OS:         $GUEST_OS_VARIANT
   605     OS:         $GUEST_OS_VARIANT
   572 
   606 
   573     Disk:       $GUEST_DISK
       
   574 
       
   575 Boot:
   607 Boot:
   576     Serial console: $SERIAL_CONSOLE
   608     Serial console: $SERIAL_CONSOLE
   577     Grub terminal:  $BOOT_GRUB_TERMINAL
   609     Grub terminal:  $BOOT_GRUB_TERMINAL
   578     Kernel args:    $BOOT_KERNEL_ARGS ($BOOT_KERNEL_ARGS_DEFAULT)
   610     Kernel args:    $BOOT_KERNEL_ARGS ($BOOT_KERNEL_ARGS_DEFAULT)
   579 
   611 
   584         VG:     $DISK_VG
   616         VG:     $DISK_VG
   585         LV:     $DISK_NAME
   617         LV:     $DISK_NAME
   586 
   618 
   587     Path:       $DISK_PATH
   619     Path:       $DISK_PATH
   588     Bus:        $GUEST_DISK_BUS
   620     Bus:        $GUEST_DISK_BUS
       
   621     
       
   622     Name:       $PARTMAN_DISK
   589 
   623 
   590 Net:
   624 Net:
   591     Hostname:   $NET_HOSTNAME
   625     Hostname:   $NET_HOSTNAME
   592     Method:     Bridge
   626     Method:     Bridge
   593     IP:         $NET_IPADDR
   627     IP:         $NET_IPADDR
   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