[Bug]Check-initrd-data: XenClient RC2 using bootmedia source
I noticed that it's possible to add the packages.main to the rootfs.gz using the sh script: add-repository-to-initrd.sh
So I went to work on a unix machine to slipstream my answerfile and the packages.main into the initrd data (rootfs.gz).
In the answerfile i used the <source type="bootmedia"></source> element so the installer would look for the packages.main in the root of the filesystem.
I put everything on my usb stick, created the syslinux.cfg file, syslinuxed the usb stick and booted up..
The installer booted up perfectly, I could see that it was using my answerfile, but then it kept looping in the Verifying installation media screen...
Switching to Alt+F2 I could see the script Check-initrd-data was returning CheckFail
So I switched to Alt+F3, logged in as root and looked at the contents of /install/stages/Check-initrd-data
I compared this script to /install/stages/Verify-optical-media and noticed a difference in the link functions.
Check-initrd-data:
link_bootmedia_repo()
{
# symlink so the installer can locate the install data
if [ -r "/${PACKAGES_DOT_MAIN}" ] ; then
mkdir -p $(dirname "${INSTALL_SOURCE_DIR}")
rm -rf "${INSTALL_SOURCE_DIR}/${PACKAGES_DOT_MAIN}"
ln -s "/${PACKAGES_DOT_MAIN}" "${INSTALL_SOURCE_DIR}/"
fi
[ -r "${INSTALL_SOURCE_DIR}/${PACKAGES_DOT_MAIN}/${DOM0_ROOTFS}" ] || exit ${CheckFail}
for F in "${PKGDATA_FILENAME}" "${REPOSITORY_FILENAME}" ; do
cp -f "${INSTALL_SOURCE_DIR}/${PACKAGES_DOT_MAIN}/${F}" "${INSTALL_DATA}/" || exit ${Abort}
done
}
Verify-optical-media:
link_bootmedia_repo()
{
# symlink so the installer can locate the install data
if [ -r "/${PACKAGES_DOT_MAIN}" ] ; then
mkdir -p $(dirname "${INSTALL_SOURCE_DIR}")
rm -rf "${INSTALL_SOURCE_DIR}/${PACKAGES_DOT_MAIN}"
ln -s "/${PACKAGES_DOT_MAIN}" "${INSTALL_SOURCE_DIR}/"
fi
# [ -r "${INSTALL_SOURCE_DIR}/${PACKAGES_DOT_MAIN}/${DOM0_ROOTFS}" ] || exit ${CheckFail}
for F in "${PKGDATA_FILENAME}" "${REPOSITORY_FILENAME}" ; do
cp -f "${INSTALL_SOURCE_DIR}/${PACKAGES_DOT_MAIN}/${F}" "${INSTALL_DATA}/" || exit ${Abort}
done
}
When I changed the line in Check-initrd-media (red) to match the one from Verify-optical-media (green), the installer worked, and finished my installation successfully.
Of course I had to change this line by booting the installer from my usb disk using an answerfile that ran interactively (so I could change the Check-initrd-media script using vi before it was invoked, by using Alt+F3 to switch to an interactive shell)
My guess is that the variable: ${DOM0_ROOTFS} is either not being populated by the other scripts that run before this script, or the value of ${DOM0_ROOTFS} is not correct... I wonder why this check has been commented out in the Verify-optical-media script, which is responsible for checking the repository when installing from CD...
I know there has not been an official statement or documentation from Citrix about booting up from USB disk and/or slipstreaming the packages.main into the initrd. But I thought, hey the functions are all there... let's try them ![]()
SUMMARY:
The script /install/stages/Check-initrd-media contains an error on line 15:
ORIGINAL LINE:
[ -r "${INSTALL_SOURCE_DIR}/${PACKAGES_DOT_MAIN}/${DOM0_ROOTFS}" ] || exit ${CheckFail}
FIX:
# [ -r "${INSTALL_SOURCE_DIR}/${PACKAGES_DOT_MAIN}/${DOM0_ROOTFS}" ] || exit ${CheckFail}
WORKAROUND:
Use a preinstall script in your answer file to comment out the faulty script
<preinstall>
# !/bin/bash
sed '/ || exit \${CheckFail}/s/^/#/' /install/stages/Check-initrd-data > Check-initrd-data.tmp
cat Check-initrd-data.tmp > /install/stages/Check-initrd-data
chmod 755 /install/stagse/Check-initrd-data
</preinstall>
-Henk Hofs
Citrix Edgesight will break march 25th
Well it’s always nice to know when you production environment will break, i wish i knew this for all software running in my environment
. But it doesn't look really professional from the vendor side. And this time the vendor is: Citrix!
As of 2010-03-25 (March 25th, 2010), EdgeSight 5.0 and 5.1 (all service packs) will stop functioning.
Customers will receive the following error message for payload uploads:
“Archive load error: The archive '/edgesight/app/suser/ZRemoteLib.zpd#12!lsync.htm' is not appropriately signed. The system cannot find the file specified.”
General symptoms: Payloads will not be uploaded and many of the EdgeSight components will not work properly resulting in different errors.
Congratz to Citrix for reintroducing a bug the already discovered in version 4.5 of their software product!
MDT 2010: Fix for ‘Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed”
There is now a fix for the problem that MDT 2010 has when connecting to the deployment share with different credentials in sysprep, refresh, replace and custom task-sequences.
Read more about it here