Changeset 68164 in vbox for trunk/src/VBox/Main
- Timestamp:
- Jul 28, 2017 8:59:17 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 117256
- Location:
- trunk/src/VBox/Main
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/UnattendedTemplates/debian_postinstall.sh
r68160 r68164 26 26 MY_TARGET="/target" 27 27 MY_LOGFILE="${MY_TARGET}/var/log/vboxpostinstall.log" 28 MY_CHROOT_CDROM="/cdrom" 29 MY_CDROM_NOCHROOT="/cdrom" 28 30 MY_EXITCODE=0 29 31 MY_DEBUG="" # "yes" … … 134 136 # We want the ISO available inside the target jail. 135 137 # 136 if [ -d "${MY_TARGET} /cdrom" ]; then138 if [ -d "${MY_TARGET}${MY_CHROOT_CDROM}" ]; then 137 139 MY_RMDIR_TARGET_CDROM= 138 140 else 139 141 MY_RMDIR_TARGET_CDROM="yes" 140 log_command mkdir -p ${MY_TARGET} /cdrom141 fi 142 143 if [ -f "${MY_TARGET} /cdrom/vboxpostinstall.sh" ]; then142 log_command mkdir -p ${MY_TARGET}${MY_CHROOT_CDROM} 143 fi 144 145 if [ -f "${MY_TARGET}${MY_CHROOT_CDROM}/vboxpostinstall.sh" ]; then 144 146 MY_UNMOUNT_TARGET_CDROM= 145 147 echo "** binding cdrom into jail: already done" | tee -a "${MY_LOGFILE}" 146 148 else 147 149 MY_UNMOUNT_TARGET_CDROM="yes" 148 log_command mount -o bind /cdrom "${MY_TARGET}/cdrom"149 if [ -f "${MY_TARGET} /cdrom/vboxpostinstall.sh" ]; then150 log_command mount -o bind "${MY_CDROM_NOCHROOT}" "${MY_TARGET}${MY_CHROOT_CDROM}" 151 if [ -f "${MY_TARGET}${MY_CHROOT_CDROM}/vboxpostinstall.sh" ]; then 150 152 echo "** binding cdrom into jail: success" | tee -a "${MY_LOGFILE}" 151 153 else … … 153 155 fi 154 156 if [ "${MY_DEBUG}" = "yes" ]; then 155 log_command find "${MY_TARGET} /cdrom"157 log_command find "${MY_TARGET}${MY_CHROOT_CDROM}" 156 158 fi 157 159 fi … … 191 193 echo '** Installing VirtualBox Guest Additions...' | tee -a "${MY_LOGFILE}" 192 194 MY_IGNORE_EXITCODE=2 # returned if modules already loaded and reboot required. 193 log_command_in_target /bin/bash /cdrom/vboxadditions/VBoxLinuxAdditions.run--nox11195 log_command_in_target /bin/bash "${MY_CHROOT_CDROM}/vboxadditions/VBoxLinuxAdditions.run" --nox11 194 196 MY_IGNORE_EXITCODE= 195 197 log_command_in_target usermod -a -G vboxsf "@@VBOX_INSERT_USER_LOGIN@@" … … 203 205 echo "--------------------------------------------------" >> "${MY_LOGFILE}" 204 206 echo '** Installing Test Execution Service...' | tee -a "${MY_LOGFILE}" 205 log_command_in_target test " /cdrom/vboxvalidationkit/linux/@@VBOX_INSERT_OS_ARCH@@/TestExecService"206 log_command mkdir -p "${MY_TARGET}/root/validationkit" "${MY_TARGET}/ target/cdrom"207 log_command cp -R /cdrom/vboxvalidationkit/* "${MY_TARGET}/root/validationkit/"207 log_command_in_target test "${MY_CHROOT_CDROM}/vboxvalidationkit/linux/@@VBOX_INSERT_OS_ARCH@@/TestExecService" 208 log_command mkdir -p "${MY_TARGET}/root/validationkit" "${MY_TARGET}/media/cdrom" 209 log_command cp -R ${MY_CDROM_NOCHROOT}/vboxvalidationkit/* "${MY_TARGET}/root/validationkit/" 208 210 log_command chmod -R u+rw,a+xr "${MY_TARGET}/root/validationkit/" 209 211 … … 212 214 test -d "${MY_TARGET}/usr/lib/systemd/system" && MY_UNIT_PATH="${MY_TARGET}/usr/lib/systemd/system" 213 215 if [ -d "${MY_UNIT_PATH}" ]; then 214 log_command cp "${MY_ TARGET}/linux/vboxtxs.service" "${MY_UNIT_PATH}/vboxtxs.service"216 log_command cp "${MY_CDROM_NOCHROOT}/vboxvalidationkit/linux/vboxtxs.service" "${MY_UNIT_PATH}/vboxtxs.service" 215 217 log_command chmod 644 "${MY_UNIT_PATH}/vboxtxs.service" 216 218 log_command_in_target systemctl -q enable vboxtxs … … 238 240 if [ -n "${MY_UNMOUNT_TARGET_CDROM}" ]; then 239 241 echo "** unbinding cdrom from jail..." | tee -a "${MY_LOGFILE}" 240 log_command umount "${MY_TARGET} /cdrom"242 log_command umount "${MY_TARGET}${MY_CHROOT_CDROM}" 241 243 fi 242 244 243 245 if [ -n "${MY_RMDIR_TARGET_CDROM}" ]; then 244 log_command rmdir "${MY_TARGET} /cdrom"246 log_command rmdir "${MY_TARGET}${MY_CHROOT_CDROM}" 245 247 fi 246 248 -
trunk/src/VBox/Main/UnattendedTemplates/debian_preseed.cfg
r68126 r68164 24 24 25 25 # Clock 26 @@VBOX_COND_IS_RTC_USING_UTC@@ 26 27 d-i clock-setup/utc-auto boolean true 27 28 d-i clock-setup/utc boolean true 29 @@VBOX_COND_END@@ 30 @@VBOX_COND_IS_NOT_RTC_USING_UTC@@ 31 d-i clock-setup/utc-auto boolean false 32 d-i clock-setup/utc boolean false 33 @@VBOX_COND_END@@ 28 34 d-i time/zone string @@VBOX_INSERT_TIME_ZONE_UX@@ 29 35 @@VBOX_COND_IS_INSTALLING_ADDITIONS@@d-i clock-setup/ntp boolean false@@VBOX_COND_END@@ -
trunk/src/VBox/Main/UnattendedTemplates/fedora_ks.cfg
r68160 r68164 33 33 34 34 # System timezone 35 timezone --utc@@VBOX_INSERT_TIME_ZONE_UX@@35 timezone@@VBOX_COND_IS_RTC_USING_UTC@@ --utc@@VBOX_COND_END@@ @@VBOX_INSERT_TIME_ZONE_UX@@ 36 36 37 37 # Network information -
trunk/src/VBox/Main/UnattendedTemplates/redhat_postinstall.sh
r68160 r68164 24 24 MY_TARGET="/mnt/sysimage" 25 25 MY_LOGFILE="${MY_TARGET}/var/log/vboxpostinstall.log" 26 MY_CHROOT_CDROM="/cdrom" 26 27 MY_CDROM_NOCHROOT="/run/install/repo" 27 28 MY_EXITCODE=0 … … 108 109 # We want the ISO available inside the target jail. 109 110 # 110 if [ -d "${MY_TARGET} /cdrom" ]; then111 if [ -d "${MY_TARGET}${MY_CHROOT_CDROM}" ]; then 111 112 MY_RMDIR_TARGET_CDROM= 112 113 else 113 114 MY_RMDIR_TARGET_CDROM="yes" 114 log_command mkdir -p ${MY_TARGET} /cdrom115 fi 116 117 if [ -f "${MY_TARGET} /cdrom/vboxpostinstall.sh" ]; then115 log_command mkdir -p ${MY_TARGET}${MY_CHROOT_CDROM} 116 fi 117 118 if [ -f "${MY_TARGET}${MY_CHROOT_CDROM}/vboxpostinstall.sh" ]; then 118 119 MY_UNMOUNT_TARGET_CDROM= 119 120 echo "** binding cdrom into jail: already done" | tee -a "${MY_LOGFILE}" 120 121 else 121 122 MY_UNMOUNT_TARGET_CDROM="yes" 122 log_command mount -o bind "${MY_CDROM_NOCHROOT}" "${MY_TARGET} /cdrom"123 if [ -f "${MY_TARGET} /cdrom/vboxpostinstall.sh" ]; then123 log_command mount -o bind "${MY_CDROM_NOCHROOT}" "${MY_TARGET}${MY_CHROOT_CDROM}" 124 if [ -f "${MY_TARGET}${MY_CHROOT_CDROM}/vboxpostinstall.sh" ]; then 124 125 echo "** binding cdrom into jail: success" | tee -a "${MY_LOGFILE}" 125 126 else … … 127 128 fi 128 129 if [ "${MY_DEBUG}" = "yes" ]; then 129 log_command find "${MY_TARGET} /cdrom"130 log_command find "${MY_TARGET}${MY_CHROOT_CDROM}" 130 131 fi 131 132 fi … … 161 162 log_command_in_target yum -y install dkms 162 163 log_command_in_target yum -y install make 163 log_command_in_target yum -y install gzip2164 log_command_in_target yum -y install bzip2 164 165 log_command_in_target yum -y install perl 165 166 … … 172 173 echo '** Installing VirtualBox Guest Additions...' | tee -a "${MY_LOGFILE}" 173 174 MY_IGNORE_EXITCODE=2 # returned if modules already loaded and reboot required. 174 log_command_in_target /bin/bash /cdrom/vboxadditions/VBoxLinuxAdditions.run--nox11175 log_command_in_target /bin/bash "${MY_CHROOT_CDROM}/vboxadditions/VBoxLinuxAdditions.run" --nox11 175 176 MY_IGNORE_EXITCODE= 176 177 log_command_in_target usermod -a -G vboxsf "@@VBOX_INSERT_USER_LOGIN@@" … … 184 185 echo "--------------------------------------------------" >> "${MY_LOGFILE}" 185 186 echo '** Installing Test Execution Service...' | tee -a "${MY_LOGFILE}" 186 log_command_in_target test "${MY_C DROM_NOCHROOT}/vboxvalidationkit/linux/@@VBOX_INSERT_OS_ARCH@@/TestExecService"187 log_command mkdir -p "${MY_TARGET}/root/validationkit" "${MY_TARGET}/ target/cdrom"187 log_command_in_target test "${MY_CHROOT_CDROM}/vboxvalidationkit/linux/@@VBOX_INSERT_OS_ARCH@@/TestExecService" 188 log_command mkdir -p "${MY_TARGET}/root/validationkit" "${MY_TARGET}/media/cdrom" 188 189 log_command cp -R ${MY_CDROM_NOCHROOT}/vboxvalidationkit/* "${MY_TARGET}/root/validationkit/" 189 190 log_command chmod -R u+rw,a+xr "${MY_TARGET}/root/validationkit/" … … 193 194 test -d "${MY_TARGET}/usr/lib/systemd/system" && MY_UNIT_PATH="${MY_TARGET}/usr/lib/systemd/system" 194 195 if [ -d "${MY_UNIT_PATH}" ]; then 195 log_command cp "${MY_ TARGET}/linux/vboxtxs.service" "${MY_UNIT_PATH}/vboxtxs.service"196 log_command cp "${MY_CDROM_NOCHROOT}/vboxvalidationkit/linux/vboxtxs.service" "${MY_UNIT_PATH}/vboxtxs.service" 196 197 log_command chmod 644 "${MY_UNIT_PATH}/vboxtxs.service" 197 198 log_command_in_target systemctl -q enable vboxtxs … … 219 220 if [ -n "${MY_UNMOUNT_TARGET_CDROM}" ]; then 220 221 echo "** unbinding cdrom from jail..." | tee -a "${MY_LOGFILE}" 221 log_command umount "${MY_TARGET} /cdrom"222 log_command umount "${MY_TARGET}${MY_CHROOT_CDROM}" 222 223 fi 223 224 224 225 if [ -n "${MY_RMDIR_TARGET_CDROM}" ]; then 225 log_command rmdir "${MY_TARGET} /cdrom"226 log_command rmdir "${MY_TARGET}${MY_CHROOT_CDROM}" 226 227 fi 227 228 -
trunk/src/VBox/Main/UnattendedTemplates/ubuntu_preseed.cfg
r68130 r68164 24 24 25 25 # Clock 26 @@VBOX_COND_IS_RTC_USING_UTC@@ 26 27 d-i clock-setup/utc-auto boolean true 27 28 d-i clock-setup/utc boolean true 29 @@VBOX_COND_END@@ 30 @@VBOX_COND_IS_NOT_RTC_USING_UTC@@ 31 d-i clock-setup/utc-auto boolean false 32 d-i clock-setup/utc boolean false 33 @@VBOX_COND_END@@ 28 34 d-i time/zone string @@VBOX_INSERT_TIME_ZONE_UX@@ 29 35 @@VBOX_COND_IS_INSTALLING_ADDITIONS@@d-i clock-setup/ntp boolean false@@VBOX_COND_END@@ -
trunk/src/VBox/Main/include/UnattendedImpl.h
r68162 r68164 70 70 Utf8Str const &i_getExtraInstallKernelParameters() const; 71 71 72 bool i_isRtcUsingUtc() const; 72 73 bool i_isGuestOs64Bit() const; 73 74 VBOXOSTYPE i_getGuestOsType() const; … … 80 81 RTNATIVETHREAD mhThreadReconfigureVM; /**< Set when reconfigureVM is running. */ 81 82 Utf8Str mStrGuestOsTypeId; /**< Guest OS type ID (set by prepare). */ 83 bool mfRtcUseUtc; /**< Copy of IMachine::RTCUseUTC (locking reasons). */ 82 84 bool mfGuestOs64Bit; /**< 64-bit (true) or 32-bit guest OS (set by prepare). */ 83 85 VBOXOSTYPE meGuestOsType; /**< The guest OS type (set by prepare). */ -
trunk/src/VBox/Main/src-server/UnattendedImpl.cpp
r68162 r68164 150 150 151 151 Unattended::Unattended() 152 : mhThreadReconfigureVM(NIL_RTNATIVETHREAD), mfGuestOs64Bit(false), m pInstaller(NULL), mpTimeZoneInfo(NULL)153 , m fIsDefaultAuxiliaryBasePath(true)152 : mhThreadReconfigureVM(NIL_RTNATIVETHREAD), mfGuestOs64Bit(false), mfRtcUseUtc(false) 153 , mpInstaller(NULL), mpTimeZoneInfo(NULL), mfIsDefaultAuxiliaryBasePath(true) 154 154 { } 155 155 … … 266 266 { 267 267 strGuestOsTypeId = bstrTmp; 268 hrc = mMachine->COMGETTER(Name)(bstrTmp.asOutParam());268 hrc = ptrMachine->COMGETTER(Name)(bstrTmp.asOutParam()); 269 269 if (SUCCEEDED(hrc)) 270 270 strMachineName = bstrTmp; … … 280 280 bool const fIs64Bit = i_isGuestOSArchX64(strGuestOsTypeId); 281 281 282 283 /* 284 * Write lock this object. 285 */ 286 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 282 BOOL fRtcUseUtc = FALSE; 283 hrc = ptrMachine->COMGETTER(RTCUseUTC)(&fRtcUseUtc); 284 if (FAILED(hrc)) 285 return hrc; 286 287 /* 288 * Write lock this object and set attributes we got from IMachine. 289 */ 290 AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS); 291 292 mStrGuestOsTypeId = strGuestOsTypeId; 293 mfGuestOs64Bit = fIs64Bit; 294 mfRtcUseUtc = RT_BOOL(fRtcUseUtc); 287 295 288 296 /* … … 389 397 * Get the guest OS type info and instantiate the appropriate installer. 390 398 */ 391 mStrGuestOsTypeId = strGuestOsTypeId;392 mfGuestOs64Bit = fIs64Bit;393 399 uint32_t const idxOSType = Global::getOSTypeIndexFromId(mStrGuestOsTypeId.c_str()); 394 400 meGuestOsType = idxOSType < Global::cOSTypes ? Global::sOSTypes[idxOSType].osType : VBOXOSTYPE_Unknown; … … 575 581 /* 576 582 * Set the boot order. 577 */ 583 * 584 * ASSUME that the HD isn't bootable when we start out, but it will be what 585 * we boot from after the first stage of the installation is done. Setting 586 * it first prevents endless reboot cylces. 587 */ 588 /** @todo consider making 100% sure the disk isn't bootable (edit partition 589 * table active bits and EFI stuff). */ 578 590 Assert( mpInstaller->getBootableDeviceType() == DeviceType_DVD 579 591 || mpInstaller->getBootableDeviceType() == DeviceType_Floppy); 580 hrc = rPtrSessionMachine->SetBootOrder(1, mpInstaller->getBootableDeviceType());592 hrc = rPtrSessionMachine->SetBootOrder(1, DeviceType_HardDisk); 581 593 if (SUCCEEDED(hrc)) 582 hrc = rPtrSessionMachine->SetBootOrder(2, DeviceType_HardDisk);594 hrc = rPtrSessionMachine->SetBootOrder(2, mpInstaller->getBootableDeviceType()); 583 595 if (SUCCEEDED(hrc)) 584 596 hrc = rPtrSessionMachine->SetBootOrder(3, mpInstaller->getBootableDeviceType() == DeviceType_DVD … … 1646 1658 } 1647 1659 1660 bool Unattended::i_isRtcUsingUtc() const 1661 { 1662 Assert(isReadLockedOnCurrentThread()); 1663 return mfRtcUseUtc; 1664 } 1665 1648 1666 bool Unattended::i_isGuestOs64Bit() const 1649 1667 { -
trunk/src/VBox/Main/src-server/UnattendedScript.cpp
r68162 r68164 608 608 else if (IS_PLACEHOLDER_MATCH("IS_NOT_MINIMAL_INSTALLATION")) 609 609 *pfOutputting = !mpUnattended->i_isMinimalInstallation(); 610 /* Is RTC using UTC (i.e. set to UTC time on startup): */ 611 else if (IS_PLACEHOLDER_MATCH("IS_RTC_USING_UTC")) 612 *pfOutputting = mpUnattended->i_isRtcUsingUtc(); 613 else if (IS_PLACEHOLDER_MATCH("IS_NOT_RTC_USING_UTC")) 614 *pfOutputting = !mpUnattended->i_isRtcUsingUtc(); 610 615 else 611 616 return mpSetError->setErrorBoth(E_FAIL, VERR_NOT_FOUND, mpSetError->tr("Unknown conditional placeholder '%.*s'"),
Note:
See TracChangeset
for help on using the changeset viewer.