From 3d7effb8445f77f33e57074fcfacd2da1ab6fa9d Mon Sep 17 00:00:00 2001 From: Daniel Hokka Zakrisson Date: Thu, 29 Nov 2007 19:29:27 +0000 Subject: [PATCH] Update for Linux-VServer 2.3 and Fedora 7's mkinitrd. --- source/steps/InstallWriteConfig.py | 2 +- source/steps/MakeInitrd.py | 20 ++++++-------------- 2 files changed, 7 insertions(+), 15 deletions(-) diff --git a/source/steps/InstallWriteConfig.py b/source/steps/InstallWriteConfig.py index 2d19d47..4cc6193 100644 --- a/source/steps/InstallWriteConfig.py +++ b/source/steps/InstallWriteConfig.py @@ -93,7 +93,7 @@ def Run( vars, log ): PARTITIONS["mapper-swap"] ) fstab.write( "%s / ext3 defaults 0 0\n" % \ PARTITIONS["mapper-root"] ) - fstab.write( "%s /vservers ext3 tagxid,defaults 0 0\n" % \ + fstab.write( "%s /vservers ext3 tag,defaults 0 0\n" % \ PARTITIONS["mapper-vservers"] ) fstab.write( "none /proc proc defaults 0 0\n" ) fstab.write( "none /dev/shm tmpfs defaults 0 0\n" ) diff --git a/source/steps/MakeInitrd.py b/source/steps/MakeInitrd.py index 918af03..f742859 100644 --- a/source/steps/MakeInitrd.py +++ b/source/steps/MakeInitrd.py @@ -36,18 +36,10 @@ def Run( vars, log ): except ValueError, var: raise BootManagerException, "Variable in vars, shouldn't be: %s\n" % var - # mkinitrd attempts to determine if the root fs is on a logical - # volume by checking if the root device contains /dev/mapper in - # its path. The device node must exist for the check to succeed, - # but since it's usually managed by devfs or udev, so is probably - # not present, we just create a dummy file. - - fake_root_lvm= False - if not os.path.exists( "%s/%s" % (SYSIMG_PATH,PARTITIONS["mapper-root"]) ): - fake_root_lvm= True - utils.makedirs( "%s/dev/mapper" % SYSIMG_PATH ) - rootdev= file( "%s/%s" % (SYSIMG_PATH,PARTITIONS["mapper-root"]), "w" ) - rootdev.close() + # 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) + 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) ) @@ -59,8 +51,8 @@ def Run( vars, log ): os.chmod("%s/tmp/mkinitrd.sh" % SYSIMG_PATH, 755) utils.sysexec( "chroot %s /tmp/mkinitrd.sh %s" % (SYSIMG_PATH, kernel_version)) - if fake_root_lvm == True: - utils.removefile( "%s/%s" % (SYSIMG_PATH,PARTITIONS["mapper-root"]) ) + utils.sysexec_noerr("umount %s/sys" % SYSIMG_PATH) + utils.sysexec_noerr("umount %s/dev" % SYSIMG_PATH) def checkKern(): # Older bootcds only support LinuxThreads. This hack is to get mkinitrd -- 2.43.0