]> Zhao Yanbai Git Server - minix.git/commitdiff
Replace newroot with a call to mount, will make type autodetect easier
authorErik van der Kouwe <erik@minix3.org>
Mon, 2 Aug 2010 14:15:48 +0000 (14:15 +0000)
committerErik van der Kouwe <erik@minix3.org>
Mon, 2 Aug 2010 14:15:48 +0000 (14:15 +0000)
commands/newroot/Makefile
commands/newroot/newroot.c [deleted file]
commands/newroot/newroot.sh [new file with mode: 0644]
drivers/ramdisk/Makefile
drivers/ramdisk/proto

index db80764d03b1ba2b23e81d52ff8ec2f977a79c20..d23bb9dc240165dc821129a99484c99577d97544 100644 (file)
@@ -1,4 +1,4 @@
-PROG=  newroot
+SCRIPTS= newroot.sh
 MAN=
 
 .include <bsd.prog.mk>
diff --git a/commands/newroot/newroot.c b/commands/newroot/newroot.c
deleted file mode 100644 (file)
index e6ea8cc..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-newroot.c
-
-Replace the current root with a new one
-*/
-
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/mount.h>
-
-void usage(void) {
-       fprintf(stderr, "Usage: newroot [-i] <block-special>\n");
-       fprintf(stderr, "-i: copy mfs binary from boot image to memory\n");
-       exit(1);        
-}
-
-int main(int argc, char *argv[])
-{
-       int r;
-       char *dev;
-       int mountflags;
-
-       r = 0;
-       mountflags = 0; /* !read-only */
-       
-       if (argc != 2 && argc != 3) usage();
-       if(argc == 2) {
-               dev = argv[1];
-       } else if(argc == 3) {
-               /* -i flag was supposedly entered. Verify.*/            
-               if(strcmp(argv[1], "-i") != 0) usage();
-               mountflags |= MS_REUSE;
-               dev = argv[2];
-       }
-       
-       r = mount(dev, "/", mountflags, NULL, NULL);
-       if (r != 0) {
-               fprintf(stderr, "newroot: mount failed: %s\n",strerror(errno));
-               exit(1);
-       }
-       
-       return 0;
-}
diff --git a/commands/newroot/newroot.sh b/commands/newroot/newroot.sh
new file mode 100644 (file)
index 0000000..0689fc3
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+# Actually, newroot is just like mounting on the root
+exec mount "$*" /
+
index f8728f30b2ee9249315fc31eb2906e41dc861247..197faf5ea440603080359b79091ad6516df848a2 100644 (file)
@@ -1,6 +1,6 @@
 # Makefile for ramdisk image
 
-PROGRAMS=at_wini bios_wini cdprobe dev2name floppy loadramdisk newroot \
+PROGRAMS=at_wini bios_wini cdprobe dev2name floppy loadramdisk mount newroot \
        pci sh service sysenv mfs
 EXTRA=system.conf passwd rs.single
 
@@ -67,6 +67,12 @@ loadramdisk:  ../../commands/loadramdisk/loadramdisk
 ../../commands/loadramdisk/loadramdisk:
        $(MAKE) -C ../../commands/loadramdisk
 
+mount:  ../../commands/mount/mount
+       install -s ../../commands/$@/$@ $@
+
+../../commands/mount/mount:
+       $(MAKE) -C ../../commands/mount
+
 newroot:  ../../commands/newroot/newroot
        install -s ../../commands/$@/$@ $@
 
index 48d802286ae1874b94484141076a0b2e28b02889..cef0f0c68750f2a1c9b86399d70e1b1b29ff7c1d 100644 (file)
@@ -5,6 +5,7 @@ d--755 0 0
                cdprobe ---755 0 0 cdprobe
                dev2name ---755 0 0 dev2name
                loadramdisk ---755 0 0 loadramdisk
+               mount ---755 0 0 mount
                newroot ---755 0 0 newroot
                sh ---755 0 0 sh
                service ---755 0 0 service