Re: LVM2 logical volumes on Loop-AES

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jari Ruusu wrote:
> Below is experimental patch for build-initrd.sh that adds these between
> steps 4 and 5:

Fixed one bug. Try this one instead of the one I posted earlier.

-- 
Jari Ruusu  1024R/3A220F51 5B 4B F9 BB D3 3F 52 E9  DB 1D EB E3 24 0E A9 DD


--- ../loop-AES-v3.2a/build-initrd.sh	2007-05-14 15:18:12.000000000 +0300
+++ ./build-initrd.sh	2007-08-17 22:12:06.000000000 +0300
@@ -2,7 +2,7 @@
 #
 #  build-initrd.sh
 #
-#  Written by Jari Ruusu, May 14 2007
+#  Written by Jari Ruusu, August 14 2007
 #
 #  Copyright 2001-2007 by Jari Ruusu.
 #  Redistribution of this file is permitted under the GNU Public License.
@@ -192,6 +192,11 @@
 # The dietlibc can be found at http://www.fefe.de/dietlibc/
 USEDIETLIBC=1
 
+# C compiler used to compile /linuxrc program.
+# 32bit x86 ubuntu-7.04 gcc-4.1.2 is known to miscompile /linuxrc. Affected
+# users should install gcc-3.3 package, and change this to GCC=gcc-3.3
+GCC=gcc
+
 # 1 = load extra module, 0 = don't load
 # If this is enabled, module must be manually copied to
 # /boot/modules-KERNELRELEASE/ directory under name like foomatic.o
@@ -553,9 +558,17 @@
     wrStr("\n");
 #endif
 
+    mount("none", "/proc", "proc", MS_MGC_VAL, 0);
+    mount("none", "/sys", "sysfs", MS_MGC_VAL, 0);
+    buf[0] = 0;
+    strCat(buf, "/lib/losetup -a");
+    exeWait(buf);
+    umount("/sys");
+    umount("/proc");
+
 #if ${USEPIVOT}
-    if(mount("/dev/loop${DEVFSSLASH1}${ROOTLOOPINDEX}", "/new-root", "${ROOTTYPE}", MS_MGC_VAL | MS_RDONLY, 0)) {
-        wrStr("Looks like you didn't say the magic word. Mounting /dev/loop${DEVFSSLASH1}${ROOTLOOPINDEX} failed\n");
+    if(mount("/dev/root", "/new-root", "${ROOTTYPE}", MS_MGC_VAL | MS_RDONLY, 0)) {
+        wrStr("Looks like you didn't say the magic word. Mounting /dev/root failed\n");
         buf[0] = 0;
         strCat(buf, "/lib/${LOSETUPPROG} -d /dev/loop${DEVFSSLASH1}${ROOTLOOPINDEX}");
         if(exeWait(buf)) goto fail3;
@@ -632,9 +645,9 @@
 EOF
 
 if [ ${USEDIETLIBC} == 1 ] ; then
-    diet gcc -Wall -O2 -s -static -pipe tmp-c-$$.c -o tmp-c-$$
+    diet ${GCC} -Wall -O2 -s -static -pipe tmp-c-$$.c -o tmp-c-$$
 else
-    gcc -Wall -O2 -s -static -nostartfiles -pipe tmp-c-$$.c -o tmp-c-$$
+    ${GCC} -Wall -O2 -s -static -nostartfiles -pipe tmp-c-$$.c -o tmp-c-$$
 fi
 rm -f tmp-c-$$.[co]
 
@@ -655,6 +668,8 @@
     y=`expr ${y} + 1`
 fi
 
+y=`expr ${y} + 2`
+
 dd if=/dev/zero of=tmp-i-$$ bs=1024 count=${y}
 /sbin/mkfs -t minix -i 32 tmp-i-$$
 mkdir tmp-d-$$
@@ -675,6 +690,7 @@
 
 if [ ${USEPIVOT} == 1 ] ; then
     mkdir new-root
+    mkdir proc sys
 else
     mkdir proc
 fi
@@ -744,6 +760,9 @@
     mknod dev/ram0 b 1 0
     mknod dev/ram1 b 1 1
     mknod dev/loop${ROOTLOOPINDEX} b 7 ${ROOTLOOPINDEX}
+
+    # root device node, this device is what gets mounted as root
+    mknod dev/root b 7 5
 fi
 
 cd ..

-
Linux-crypto:  cryptography in and on the Linux system
Archive:       http://mail.nl.linux.org/linux-crypto/


[Index of Archives]     [Kernel]     [Linux Crypto]     [Gnu Crypto]     [Gnu Classpath]     [Netfilter]     [Bugtraq]
  Powered by Linux