Module Name: src Committed By: mlelstv Date: Fri Jun 5 05:03:21 UTC 2015
Modified Files: src/usr.sbin/installboot: Makefile installboot.c Log Message: Support wedge names. To generate a diff of this commit: cvs rdiff -u -r1.48 -r1.49 src/usr.sbin/installboot/Makefile cvs rdiff -u -r1.36 -r1.37 src/usr.sbin/installboot/installboot.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/installboot/Makefile diff -u src/usr.sbin/installboot/Makefile:1.48 src/usr.sbin/installboot/Makefile:1.49 --- src/usr.sbin/installboot/Makefile:1.48 Mon Feb 24 07:23:44 2014 +++ src/usr.sbin/installboot/Makefile Fri Jun 5 05:03:21 2015 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.48 2014/02/24 07:23:44 skrll Exp $ +# $NetBSD: Makefile,v 1.49 2015/06/05 05:03:21 mlelstv Exp $ # .include <bsd.own.mk> @@ -7,7 +7,6 @@ PROG= installboot MAN= installboot.8 SRCS= installboot.c sum.c machines.c fstypes.c - ARCH_XLAT= amd64-i386.c news68k-news.c newsmips-news.c ARCH_XLAT+= sun2-sun68k.c sun3-sun68k.c @@ -49,4 +48,7 @@ COPTS.${f}.c+= -Wno-pointer-sign .endfor .endif +LDADD+= -lutil +DPADD+= ${LIBUTIL} + .include <bsd.prog.mk> Index: src/usr.sbin/installboot/installboot.c diff -u src/usr.sbin/installboot/installboot.c:1.36 src/usr.sbin/installboot/installboot.c:1.37 --- src/usr.sbin/installboot/installboot.c:1.36 Thu Nov 3 20:46:41 2011 +++ src/usr.sbin/installboot/installboot.c Fri Jun 5 05:03:21 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: installboot.c,v 1.36 2011/11/03 20:46:41 martin Exp $ */ +/* $NetBSD: installboot.c,v 1.37 2015/06/05 05:03:21 mlelstv Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -35,9 +35,10 @@ #include <sys/cdefs.h> #if !defined(__lint) -__RCSID("$NetBSD: installboot.c,v 1.36 2011/11/03 20:46:41 martin Exp $"); +__RCSID("$NetBSD: installboot.c,v 1.37 2015/06/05 05:03:21 mlelstv Exp $"); #endif /* !__lint */ +#include <sys/param.h> #include <sys/ioctl.h> #include <sys/utsname.h> @@ -50,6 +51,7 @@ __RCSID("$NetBSD: installboot.c,v 1.36 2 #include <stddef.h> #include <string.h> #include <unistd.h> +#include <util.h> #include "installboot.h" @@ -105,6 +107,9 @@ main(int argc, char *argv[]) char *p; const char *op; ib_flags unsupported_flags; + char specname[MAXPATHLEN]; + char rawname[MAXPATHLEN]; + const char *special, *raw; setprogname(argv[0]); params = &installboot_params; @@ -229,7 +234,12 @@ main(int argc, char *argv[]) params->stage2 = argv[2]; } - params->filesystem = argv[0]; + special = getfsspecname(specname, sizeof(specname), argv[0]); + raw = getdiskrawname(rawname, sizeof(rawname), special); + if (raw != NULL) + special = raw; + + params->filesystem = special; if (params->flags & IB_NOWRITE) { op = "only"; mode = O_RDONLY;