X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsteps%2FMakeInitrd.py;h=fc587c4788a7dfa8ffa99667af4b8452389d2c15;hb=ec8fde740ff146f175aa2e8a3fd05b85cfe3e56a;hp=3abbd738c6da7c554393f5d611a50c4fbe1d500e;hpb=05fcdf2237fe6100cc31828ca206d42b24e8ae5a;p=bootmanager.git diff --git a/source/steps/MakeInitrd.py b/source/steps/MakeInitrd.py index 3abbd73..fc587c4 100644 --- a/source/steps/MakeInitrd.py +++ b/source/steps/MakeInitrd.py @@ -6,12 +6,11 @@ # Copyright (c) 2004-2006 The Trustees of Princeton University # All rights reserved. -import os, string +import os from Exceptions import * import utils import systeminfo -import shutil def kernelHasMkinitrd(): # Older bootcds only support LinuxThreads. This hack is to get mkinitrd @@ -63,15 +62,24 @@ def Run( vars, log ): # mkinitrd needs /dev and /proc to do the right thing. # /proc is already mounted, so bind-mount /dev here + # xxx tmp - trying to work around the f14 case: + # check that /dev/ is mounted with devtmpfs + # tmp - sysexec_noerr not returning what one would expect + # if utils.sysexec_noerr ("grep devtmpfs /proc/mounts") != 0: + utils.sysexec_noerr("mount -t devtmpfs none /dev") utils.sysexec("mount -o bind /dev %s/dev" % SYSIMG_PATH) utils.sysexec("mount -t sysfs none %s/sys" % SYSIMG_PATH) initrd, kernel_version= systeminfo.getKernelVersion(vars,log) - utils.removefile( "%s/boot/%s" % (SYSIMG_PATH, initrd) ) + try: + utils.removefile( "%s/boot/%s" % (SYSIMG_PATH, initrd) ) + except: + print "%s/boot/%s is already removed" % (SYSIMG_PATH, initrd) + # hack for CentOS 5.3 bypassRaidIfNeeded(SYSIMG_PATH) if kernelHasMkinitrd() == True: - utils.sysexec_chroot( SYSIMG_PATH, "mkinitrd -v /boot/initrd-%s.img %s" % \ + utils.sysexec_chroot( SYSIMG_PATH, "mkinitrd -v --allow-missing /boot/initrd-%s.img %s" % \ (kernel_version, kernel_version), log ) else: shutil.copy("./mkinitrd.sh","%s/tmp/mkinitrd.sh" % SYSIMG_PATH)