X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=source%2Fsteps%2FMakeInitrd.py;h=66ba5e642a8602b0ba2c5d0fb20e74b18b2376d2;hb=3062136ba008ecd9e9bf326803063e26ace3ad4b;hp=bf1ba95a04e8bfd12901f9beec7ecac04b4a9a25;hpb=f319a8525c96631ec3e679994fc7cea5c935a209;p=bootmanager.git diff --git a/source/steps/MakeInitrd.py b/source/steps/MakeInitrd.py index bf1ba95..66ba5e6 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, os.path from Exceptions import * import utils import systeminfo -import shutil def kernelHasMkinitrd(): # Older bootcds only support LinuxThreads. This hack is to get mkinitrd @@ -63,19 +62,21 @@ def Run( vars, log ): # mkinitrd needs /dev and /proc to do the right thing. # /proc is already mounted, so bind-mount /dev here - utils.sysexec("mount -o bind /dev %s/dev" % SYSIMG_PATH) + # looks like this dir somehow already exists under f14 + if not os.path.isdir ("%s/dev" % SYSIMG_PATH): + 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) try: utils.removefile( "%s/boot/%s" % (SYSIMG_PATH, initrd) ) except: - print "%s/boot/%s is already removed" % (SYSIMG_PATH, initrd) ) + 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)