Module Name:    src
Committed By:   skrll
Date:           Fri Jan 23 15:17:58 UTC 2015

Modified Files:
        src/distrib/utils/embedded: mkimage
        src/distrib/utils/embedded/conf: evbarm.conf rpi_inst.conf
            usermode.conf x86.conf

Log Message:
PR/49596: mkimage: incorrect permissions on evbarm images

Use NetBSD.dist in our mtree specification to populate the top level
directories, etc.

For each generated file hand craft an mtree entry.

Remove specialdirs as NetBSD.dist creates /proc and /kern.


To generate a diff of this commit:
cvs rdiff -u -r1.50 -r1.51 src/distrib/utils/embedded/mkimage
cvs rdiff -u -r1.17 -r1.18 src/distrib/utils/embedded/conf/evbarm.conf
cvs rdiff -u -r1.5 -r1.6 src/distrib/utils/embedded/conf/rpi_inst.conf \
    src/distrib/utils/embedded/conf/x86.conf
cvs rdiff -u -r1.3 -r1.4 src/distrib/utils/embedded/conf/usermode.conf

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/distrib/utils/embedded/mkimage
diff -u src/distrib/utils/embedded/mkimage:1.50 src/distrib/utils/embedded/mkimage:1.51
--- src/distrib/utils/embedded/mkimage:1.50	Sun Jan 18 17:37:54 2015
+++ src/distrib/utils/embedded/mkimage	Fri Jan 23 15:17:58 2015
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $NetBSD: mkimage,v 1.50 2015/01/18 17:37:54 skrll Exp $
+# $NetBSD: mkimage,v 1.51 2015/01/23 15:17:58 skrll Exp $
 #
 # Copyright (c) 2013, 2014 The NetBSD Foundation, Inc.
 # All rights reserved.
@@ -154,7 +154,7 @@ esac
 
 if [ -z "${bootonly}" ]; then
 	echo ${bar} configuring sets ${bar}
-	(echo '/set type=dir uname=root gname=wheel mode=0755'
+	(cat "${release}/etc/mtree/NetBSD.dist"
 	for i in $selected_sets; do
 		s="${release}/etc/mtree/set.$i"
 		if [ -f "$s" ]; then
@@ -167,10 +167,6 @@ make_fstab
 customize
 populate
 
-if [ -z "${bootonly}" ]; then
-	(cd ${mnt}; ${MTREE} -N ${release}/etc -c -k all | 
-	    ${MTREE} -N ${release}/etc -C -k all) >> "$tmp/selected_sets"
-fi
 if [ -n "${msdosid}" ]; then
 	echo ${bar} Populating msdos filesystem ${bar}
 	${MAKEFS} -N ${release}/etc -t msdos \

Index: src/distrib/utils/embedded/conf/evbarm.conf
diff -u src/distrib/utils/embedded/conf/evbarm.conf:1.17 src/distrib/utils/embedded/conf/evbarm.conf:1.18
--- src/distrib/utils/embedded/conf/evbarm.conf:1.17	Tue Nov 25 13:42:31 2014
+++ src/distrib/utils/embedded/conf/evbarm.conf	Fri Jan 23 15:17:58 2015
@@ -1,9 +1,8 @@
-# $NetBSD: evbarm.conf,v 1.17 2014/11/25 13:42:31 jmcneill Exp $
+# $NetBSD: evbarm.conf,v 1.18 2015/01/23 15:17:58 skrll Exp $
 # evbarm shared config
 #
 image=$HOME/${board}.img
 
-specialdirs="/kern /proc"
 MACHINE=evbarm
 
 swap=256
@@ -107,6 +106,8 @@ make_fstab_evbarm() {
 	else
 		make_fstab_evbarm_normal
 	fi
+	echo "./etc/fstab type=file uname=root gname=wheel mode=0644" \
+	    >> "$tmp/selected_sets"
 }
 
 customize_evbarm() {
@@ -133,6 +134,7 @@ EOF
 	${HOST_SH} ${release}/dev/MAKEDEV -s all | sed -e 's:^\./:\./dev/:' \
 	    >> "$tmp/selected_sets"
 
-	echo "${bar} creating directories ${bar}"
-	mkdir ${mnt}/proc ${mnt}/kern
+	echo "${bar} fixing up permissions"
+	echo "./boot type=dir uname=root gname=wheel mode=0755" \
+	    >> "$tmp/selected_sets"
 }

Index: src/distrib/utils/embedded/conf/rpi_inst.conf
diff -u src/distrib/utils/embedded/conf/rpi_inst.conf:1.5 src/distrib/utils/embedded/conf/rpi_inst.conf:1.6
--- src/distrib/utils/embedded/conf/rpi_inst.conf:1.5	Thu Apr  3 01:36:20 2014
+++ src/distrib/utils/embedded/conf/rpi_inst.conf	Fri Jan 23 15:17:58 2015
@@ -1,4 +1,4 @@
-# $NetBSD: rpi_inst.conf,v 1.5 2014/04/03 01:36:20 ozaki-r Exp $
+# $NetBSD: rpi_inst.conf,v 1.6 2015/01/23 15:17:58 skrll Exp $
 # Raspberry Pi customization script used by mkimage
 #
 
@@ -9,8 +9,6 @@ kernel=$src/sys/arch/evbarm/compile/RPI/
 
 image=$HOME/${board}.img
 
-specialdirs="/kern /proc"
-
 swap=8
 extra=8		# spare space
 boot=112
Index: src/distrib/utils/embedded/conf/x86.conf
diff -u src/distrib/utils/embedded/conf/x86.conf:1.5 src/distrib/utils/embedded/conf/x86.conf:1.6
--- src/distrib/utils/embedded/conf/x86.conf:1.5	Sun Dec 14 00:28:46 2014
+++ src/distrib/utils/embedded/conf/x86.conf	Fri Jan 23 15:17:58 2015
@@ -1,4 +1,4 @@
-# $NetBSD: x86.conf,v 1.5 2014/12/14 00:28:46 christos Exp $
+# $NetBSD: x86.conf,v 1.6 2015/01/23 15:17:58 skrll Exp $
 # x86 shared config
 #
 
@@ -7,8 +7,6 @@ MACHINE=${board}
 kernel=$src/sys/arch/${board}/compile/GENERIC/netbsd
 bootfile=$release/usr/mdec/boot
 
-specialdirs="/kern /proc"
-
 extra=8		# spare space
 size=0		# autocompute
 netbsdid=169
@@ -93,6 +91,8 @@ make_fstab() {
 	else
 		make_fstab_normal
 	fi
+	echo "./etc/fstab type=file uname=root gname=wheel mode=0755" \
+	    >> "$tmp/selected_sets"
 }
 
 customize() {
@@ -136,4 +136,9 @@ populate() {
 		exit 1
 	fi
 	cp ${bootfile} ${mnt}/boot
+
+	echo "./netbsd type=file uname=root gname=wheel mode=0755" \
+	    >> "$tmp/selected_sets"
+	echo "./boot type=file uname=root gname=wheel mode=0444" \
+	    >> "$tmp/selected_sets"
 }

Index: src/distrib/utils/embedded/conf/usermode.conf
diff -u src/distrib/utils/embedded/conf/usermode.conf:1.3 src/distrib/utils/embedded/conf/usermode.conf:1.4
--- src/distrib/utils/embedded/conf/usermode.conf:1.3	Sun Feb  3 09:16:25 2013
+++ src/distrib/utils/embedded/conf/usermode.conf	Fri Jan 23 15:17:58 2015
@@ -1,4 +1,4 @@
-# $NetBSD: usermode.conf,v 1.3 2013/02/03 09:16:25 christos Exp $
+# $NetBSD: usermode.conf,v 1.4 2015/01/23 15:17:58 skrll Exp $
 # NetBSD/usermode customization script used by mkimage
 
 # XXX: BROKEN, needs to be converted to makefs
@@ -8,7 +8,6 @@ overhead=8 # in MB
 sets="base etc modules"
 setsdir=/usr/build/release/$(uname -m)/binary/sets
 size=0	# in MB
-specialdirs="/kern /proc"
 usermodedirs="/var.cow /etc.cow /root.cow /pkgs"
 
 make_filesystems() {

Reply via email to