Hi there,
i think i found a bug in the build process, im not able to build miniroot
with multiple processes through - for example - 'make -j4'
$ pwd
/usr/src/distrib/amd64/ramdisk_cd
$ sudo make -j 4
awk -f /usr/src/distrib/amd64/ramdisk_cd/../../miniroot/makeconf.awk
CBIN=instbin /usr/src/distrib/amd64/ramdisk_cd/../common/list
/usr/src/distrib/amd64/ramdisk_cd/list.local > instbin.conf
mtree -def /usr/src/distrib/amd64/ramdisk_cd/../../miniroot/mtree.conf -p /mnt/
-u
cd /usr/src/distrib/amd64/ramdisk_cd/../../../sys/arch/amd64/conf && config
RAMDISK_CD
Filesystem 512-blocks Used Avail Capacity iused ifree %iused
Mounted on
/dev/sd0a 2057756 448656 1506216 23% 6151 149751 4% /
umount /mnt
umount: /mnt: not currently mounted
*** Error 1 in target 'rd_teardown' (ignored)
vnconfig -u vnd0
vnconfig: VNDIOCCLR: Device not configured
*** Error 1 in target 'rd_teardown' (ignored)
cp /var/tmp/image.31801 mr.fs
cp: /var/tmp/image.31801: No such file or directory
*** Error 1 in target 'rd_teardown'
TOPDIR=/usr/src/distrib/amd64/ramdisk_cd/..
CURDIR=/usr/src/distrib/amd64/ramdisk_cd
OBJDIR=/usr/src/distrib/amd64/ramdisk_cd REV=56 TARGDIR=/mnt
UTILS=/usr/src/distrib/amd64/ramdisk_cd/../../miniroot RELEASEDIR= sh
/usr/src/distrib/amd64/ramdisk_cd/../../miniroot/runlist.sh
/usr/src/distrib/amd64/ramdisk_cd/../common/list
/usr/src/distrib/amd64/ramdisk_cd/list.local
COPY ${OBJDIR}/instbin
instbin
cp: /usr/src/distrib/amd64/ramdisk_cd/instbin: No such file or directory
*** Error 1 in target 'do_files'
cd /usr/src/distrib/amd64/ramdisk_cd/../../../sys/arch/amd64/compile/RAMDISK_CD
&& make clean && COPTS=-Os exec make
rm -f eddep *bsd *bsd.gdb tags *.[dio] [a-z]*.s [Ee]rrs linterrs assym.h
cc -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-main
-Wno-uninitialized -Wstack-larger-than-2047 -mcmodel=kernel -mno-red-zone
-mno-sse2 -mno-sse -mno-3dnow -mno-mmx -msoft-float -fno-omit-frame-pointer
-fno-builtin-printf -fno-builtin-snprintf -fno-builtin-vsnprintf
-fno-builtin-log -fno-builtin-log2 -fno-builtin-malloc -fno-pie
-fno-stack-protector -Wa,-n -Os -pipe -nostdinc -I../../../.. -I.
-I../../../../arch -DSCSITERSE -DSMALL_KERNEL -DNO_PROPOLICE -DTIMEZONE="0"
-DDST="0" -DFFS -DFFS2 -DEXT2FS -DNFSCLIENT -DCD9660 -DUDF -DMSDOSFS -DINET
-DINET6 -DBOOT_CONFIG -DCRYPTO -DRAMDISK_HOOKS -DMINIROOTSIZE="0x1180"
-DPCIVERBOSE -DMAXUSERS=4 -D_KERNEL -MD -MP -c swapbsd.c
I think this is a bug in the dependency tree of
src/distrib/amd64/ramdisk_cd/Makefile.inc
This Patch would fix it:
Index: distrib/amd64/common/Makefile.inc
===================================================================
RCS file: /home/cvs/src/distrib/amd64/common/Makefile.inc,v
retrieving revision 1.26
diff -u -p -r1.26 Makefile.inc
--- distrib/amd64/common/Makefile.inc 29 Mar 2014 17:31:40 -0000 1.26
+++ distrib/amd64/common/Makefile.inc 13 Mar 2015 14:28:53 -0000
@@ -71,7 +71,7 @@ bsd:
${MAKE} clean && COPTS=-Os exec ${MAKE}
cp ${.CURDIR}/../../../sys/arch/amd64/compile/${RAMDISK}/bsd bsd
-${IMAGE}: ${CBIN} rd_setup do_files rd_teardown
+${IMAGE}: rd_teardown
rd_setup: ${CBIN}
dd if=/dev/zero of=${REALIMAGE} bs=512 count=${NBLKS}
@@ -81,7 +81,7 @@ rd_setup: ${CBIN}
fsck ${VND_RDEV}
mount ${VND_DEV} ${MOUNT_POINT}
-rd_teardown:
+rd_teardown: do_files
@df -i ${MOUNT_POINT}
-umount ${MOUNT_POINT}
-vnconfig -u ${VND}
@@ -120,7 +120,7 @@ ${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN
${CRUNCHCONF}: ${LISTS}
awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CRUNCHCONF}
-do_files:
+do_files: rd_setup
mtree -def ${MTREE} -p ${MOUNT_POINT}/ -u
TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \