]> Zhao Yanbai Git Server - minix.git/commitdiff
ramdisk: Add procfs to ramdisk
authorArun Thomas <arun@minix3.org>
Wed, 23 Feb 2011 13:05:28 +0000 (13:05 +0000)
committerArun Thomas <arun@minix3.org>
Wed, 23 Feb 2011 13:05:28 +0000 (13:05 +0000)
-Prevents kernel/procfs mismatches
-Also, strip ELF binaries in ramdisk

drivers/ramdisk/Makefile
drivers/ramdisk/proto
drivers/ramdisk/rc
etc/rc

index 751d4879b97f66a9778bae9aa6eb5f9783311cd6..4a47f281bec1921e79e015b432303c3e9a8d1f7e 100644 (file)
@@ -1,18 +1,27 @@
 # Makefile for ramdisk image
 
+.include <bsd.own.mk>
+
 PROGRAMS=ahci at_wini bios_wini cdprobe dev2name floppy loadramdisk mount \
-       newroot pci sh service sysenv mfs ext2
+       pci procfs sh service sysenv mfs ext2
+SCRIPTS=newroot
 
 # acpi is not compiled with ack
 .if ${COMPILER_TYPE} == "gnu"
 PROGRAMS += acpi
 .endif
 
+.if ${OBJECT_FMT} == "ELF"
+ELFSTRIP=/usr/gnu_cross/bin/i386-pc-minix3-strip
+.else
+STRIPFLAG+= -s
+.endif
+
 EXTRA=system.conf passwd rs.single
 
 CPPFLAGS+= -I${MINIXSRCDIR}/servers -I${MINIXSRCDIR}
 MAKEDEV=/usr/bin/MAKEDEV
-CLEANFILES += $(PROGRAMS) $(EXTRA) bintoc image image.c t proto.gen
+CLEANFILES += $(PROGRAMS) $(SCRIPTS) $(EXTRA) bintoc image image.c t proto.gen
 
 install: all
 
@@ -30,111 +39,126 @@ image:    proto.gen mtab rc $(EXTRA)
        mkfs.mfs image proto.gen || { rm -f image; false; }
 
 ahci: ../ahci/ahci
-       install -s ../$@/$@ $@
+       install ${STRIPFLAG} ../$@/$@ $@
 
 ../ahci/ahci:
        $(MAKE) -C ../ahci
 
 at_wini: ../at_wini/at_wini
-       install -s ../$@/$@ $@
+       install ${STRIPFLAG} ../$@/$@ $@
 
 ../at_wini/at_wini:
        $(MAKE) -C ../at_wini
 
 bios_wini: ../bios_wini/bios_wini
-       install -s ../$@/$@ $@
+       install ${STRIPFLAG} ../$@/$@ $@
 
 ../bios_wini/bios_wini:
        $(MAKE) -C ../bios_wini
 
 floppy: ../floppy/floppy
-       install -s ../$@/$@ $@
+       install ${STRIPFLAG} ../$@/$@ $@
 
 ../floppy/floppy:
        $(MAKE) -C ../floppy
 
 acpi: ../acpi/acpi
-       install -s ../$@/$@ $@
+       install ${STRIPFLAG} ../$@/$@ $@
 
 ../acpi/acpi:
        $(MAKE) -C ../acpi
 
 pci: ../pci/pci
-       install -s ../$@/$@ $@
+       install ${STRIPFLAG} ../$@/$@ $@
 
 ../pci/pci:
        $(MAKE) -C ../pci
 
 cdprobe:  ../../commands/cdprobe/cdprobe
-       install -s ../../commands/$@/$@ $@
+       install ${STRIPFLAG} ../../commands/$@/$@ $@
 
 ../../commands/cdprobe:
        $(MAKE) -C ../../commands/cdprobe
 
 dev2name:  ../../commands/dev2name/dev2name
-       install -s ../../commands/$@/$@ $@
+       install ${STRIPFLAG} ../../commands/$@/$@ $@
 
 ../../commands/dev2name/dev2name:
        $(MAKE) -C ../../commands/dev2name
 
 loadramdisk:  ../../commands/loadramdisk/loadramdisk
-       install -s ../../commands/$@/$@ $@
+       install ${STRIPFLAG} ../../commands/$@/$@ $@
 
 ../../commands/loadramdisk/loadramdisk:
        $(MAKE) -C ../../commands/loadramdisk
 
 mount:  ../../commands/mount/mount
-       install -s ../../commands/$@/$@ $@
+       install ${STRIPFLAG} ../../commands/$@/$@ $@
 
 ../../commands/mount/mount:
        $(MAKE) -C ../../commands/mount
 
 newroot:  ../../commands/newroot/newroot.sh
-       install -s ../../commands/$@/$@.sh $@
+       install ${STRIPFLAG} ../../commands/$@/$@.sh $@
 
 ../../commands/newroot/newroot:
        $(MAKE) -C ../../commands/newroot
 
 sysenv:  ../../commands/sysenv/sysenv
-       install -s ../../commands/$@/$@ $@
+       install ${STRIPFLAG} ../../commands/$@/$@ $@
 
 ../../commands/sysenv:
        $(MAKE) -C ../../commands/sysenv
 
 sh:    ../../commands/ash/sh
-       install -s ../../commands/ash/$@ $@
+       install ${STRIPFLAG} ../../commands/ash/$@ $@
 
 ../../commands/ash/sh:
        $(MAKE) -C ../../commands/ash sh
 
 service: ../../commands/service/service
-       install -s ../../commands/service/$@ $@
+       install ${STRIPFLAG} ../../commands/service/$@ $@
 
 ../../commands/service:
        $(MAKE) -C ../../commands/service
 
 mfs: ../../servers/mfs/mfs
-       install -s ../../servers/mfs/$@ $@
+       install ${STRIPFLAG} ../../servers/mfs/$@ $@
 
 ../../servers/mfs/mfs:
        $(MAKE) -C ../../servers/mfs
 
+procfs: ../../servers/procfs/procfs
+       install ${STRIPFLAG} ../../servers/procfs/$@ $@
+
+../../servers/procfs/procfs:
+       $(MAKE) -C ../../servers/procfs
+
 ext2: ../../servers/ext2/ext2
-       install -s ../../servers/ext2/$@ $@
+       install ${STRIPFLAG} ../../servers/ext2/$@ $@
 
 ../../servers/ext2/ext2:
        $(MAKE) -C ../../servers/ext2
 
 system.conf: ../../etc/system.conf
-       install -s ../../etc/$@ $@
+       install ${STRIPFLAG} ../../etc/$@ $@
 
 passwd: ../../etc/passwd
-       install -s ../../etc/$@ $@
+       install ${STRIPFLAG} ../../etc/$@ $@
 
 rs.single: ../../etc/rs.single
-       install -s ../../etc/$@ $@
+       install ${STRIPFLAG} ../../etc/$@ $@
 
-proto.gen: $(PROGRAMS) $(MAKEDEV) proto.sh proto
+proto.gen: $(PROGRAMS) $(SCRIPTS) $(MAKEDEV) proto.sh proto
        sh -e proto.sh >proto.gen
 
+.if ${OBJECT_FMT} == "ELF"
+proto.gen: elfstrip
+
+.PHONY: elfstrip
+
+elfstrip: $(PROGRAMS)
+       ${ELFSTRIP} $(PROGRAMS)
+.endif
+
 .include <bsd.prog.mk>
index 3e0f9f30e4fc05f84a3101e87a06d19c27777203..e723ddf85456f989350394206746e2d12042cd0f 100644 (file)
@@ -20,6 +20,7 @@ d--755 0 0
                floppy ---755 0 0 floppy
                pci ---755 0 0 pci
                mfs ---755 0 0 mfs
+               procfs ---755 0 0 procfs
        $
        dev d--755 0 0
 @DEV@
index c86bf5e543df88d72757713fc30cea1f5faf6af0..f0eeee9a408a908a28dc07939e69a959f1f9e37f 100644 (file)
@@ -24,6 +24,7 @@ else
        /bin/service -cr up /sbin/at_wini -dev /dev/c1d0 -label at_wini_1 -args instance=1
 fi
 /bin/service -c edit /sbin/mfs -label fs_imgrd
+/bin/service up /sbin/procfs || echo "WARNING: couldn't start procfs"
 
 rootdev=`sysenv rootdev` || echo 'No rootdev?'
 rootdevname=`/bin/dev2name "$rootdev"` ||
@@ -55,4 +56,5 @@ then
 fi
 echo "Root device name is $rootdevname"
 /bin/newroot $bin_img"$rootdevname"
+/bin/mount -e -t procfs none /proc || echo "WARNING: couldn't mount procfs"
 exec /bin/sh /etc/rc "$@"
diff --git a/etc/rc b/etc/rc
index 8c5325717ec3736cf535c6e47c19860b3d5b02fd..3b66262804c4b75e1b4f76abdde81e3060a02256 100755 (executable)
--- a/etc/rc
+++ b/etc/rc
@@ -192,8 +192,6 @@ Mount $usr /usr failed -- Single user."
     then mount $bin_img $home /home || echo "WARNING: couldn't mount $home on /home"
     fi
 
-    mount -t procfs none /proc || echo "WARNING: couldn't mount procfs"
-
     # This file is necessary for above 'shutdown -C' check.
     # (Silence stderr in case of running from cd.)
     touch /usr/adm/wtmp 2>/dev/null