fix for loop device mounting
authorBrad House <brad_mssw@gentoo.org>
Sun, 11 Jan 2004 21:50:50 +0000 (21:50 +0000)
committerBrad House <brad_mssw@gentoo.org>
Sun, 11 Jan 2004 21:50:50 +0000 (21:50 +0000)
git-svn-id: svn+ssh://svn.gentoo.org/var/svnroot/genkernel/trunk@51 67a159dc-881f-0410-a524-ba9dfbe2cb84

generic/linuxrc
genkernel

index 0760181dd1409b214ecfa9de58191d7a0fbfc9f9..a3c39238d0ce001b19e24f3130f974d1d54da9eb 100644 (file)
@@ -78,6 +78,9 @@ then
        [ ! -e /newroot/dev/.devfsd ] && mount -t devfs devfs /newroot/dev
        devfsd /newroot/dev
        sleep 1
+       # Bind our mounted dev to /dev  otherwise we may not be able to mount
+       # our loop device later on
+       mount -o bind /newroot/dev /dev
        findcdmount /newroot/dev/cdroms/*
        # not in /dev/cdroms try /dev/ide/cd
        if [ "${REAL_ROOT}" = "" ]
@@ -172,7 +175,7 @@ then
        if [ "${LOOP}" != "" ]
        then
                echo "STEP 5a1: mounting loop filesystem"
-               mount -o loop /newroot/mnt/cdrom/${LOOP} /newroot/mnt/loop
+               mount -t ext3 -o loop,ro /newroot/mnt/cdrom/${LOOP} /newroot/mnt/loop
                if [ "$?" != 0 ]
                then
                        echo "FAILED TO MOUNT LOOP FILESYSTEM, barfing out to shell"
@@ -190,6 +193,9 @@ then
        mkdir initrd proc tmp sys
        chmod 1777 tmp
        (cd /newroot/${FS_LOCATION}; cp -a ${ROOT_TREES} /newroot)
+       
+       # Unmount the -o bind /dev and kill devfsd
+       umount /dev
        kill_devfsd
 else
        echo "STEP 5b: setting up stuff for pivot_root"
index e50ebdfbda8977dc5a9c3ffc4d3114c4782fb2d4..ddd9f83a8c393982d9f908dc4b7a52b74268dd2e 100755 (executable)
--- a/genkernel
+++ b/genkernel
@@ -1,7 +1,7 @@
 #!/bin/bash
 # Genkernel v3
 
-GK_V="3.0.1_beta4-2"
+GK_V="3.0.1_beta4-3"
 TEMP="/tmp"
 
 small_die() {