Subject: Can't create i386 installation floppies under -current
To: None <port-i386@NetBSD.ORG>
From: Greg Earle <earle@isolar.Tujunga.CA.US>
List: port-i386
Date: 04/30/1996 12:04:34
I've just finished a "make build" on a Pentium 120 with yesterday's sources and
I wanted to build a new set of install disks.  We have a 200 MHz Pentium Pro
system downstairs that is booted up in Windows 95, but a colleague can't get
the Ethernet card to work right.  It's a 3Com 3c595 10/100 Mbit Fast Ethernet
card that's apparently supported in -current, but not on the 1.1 boot floppies.
I was hoping to gen -current boot floppies and then try to boot this machine
from them (stopping before the install, of course) and see if I could talk to
the card from NetBSD.

So I made "crunchgen" & friends and then tried a "make" down in the i386
distrib area:

scipio# pwd
/usr/src/distrib/i386/floppies

scipio# make
===> inst
crunchgen -D /usr/src/distrib/i386/floppies/inst/../../../.. -L /usr/lib \
/usr/src/distrib/i386/floppies/inst/../inst-common/instbin.conf
/usr/src/distrib/i386/floppies/inst/../inst-common/instbin.conf: fsck: warning:
could not find source directory.
/usr/src/distrib/i386/floppies/inst/../inst-common/instbin.conf: fsck: warning:
could not find any .o files.
/usr/src/distrib/i386/floppies/inst/../inst-common/instbin.conf: fsck: error:
no objpaths specified or calculated.
/usr/src/distrib/i386/floppies/inst/../inst-common/instbin.conf: fsck: ignoring
program because of errors.
Run "make -f instbin.mk objs exe" to build crunched binary.
*** Error code 1

Stop.
*** Error code 1

Stop.

This created "instbin.c", "instbin.mk" and "instbin.cache" in the "inst"
sub-directory, but that was it.  I then cd'ed down into "inst" and did the
"make -f instbin.mk objs exe" as directed, and it successfully made "instbin".

I then went into "kcadp" and repeated the experience:

scipio# make
crunchgen -D /usr/src/distrib/i386/floppies/kcadp/../../../.. -L /usr/lib \
/usr/src/distrib/i386/floppies/kcadp/../kc-common/kcbin.conf
/usr/src/distrib/i386/floppies/kcadp/../kc-common/kcbin.conf: fsck: warning:
could not find source directory.
/usr/src/distrib/i386/floppies/kcadp/../kc-common/kcbin.conf: fsck: warning:
could not find any .o files.
/usr/src/distrib/i386/floppies/kcadp/../kc-common/kcbin.conf: fsck: error:
no objpaths specified or calculated.
/usr/src/distrib/i386/floppies/kcadp/../kc-common/kcbin.conf: fsck: ignoring
program because of errors.
Run "make -f kcbin.mk objs exe" to build crunched binary.
*** Error code 1

Stop.

Again, I did the requisite "make -f kcbin.mk objs exe" and it created "kcbin"
just fine.

I was then able to do a "make" from the top-level directory and it tried to
do the Right Thing:

scipio# make
===> inst
dd if=/dev/zero of=inst-11.fs bs=100k count=12
12+0 records in
12+0 records out
1228800 bytes transferred in 1 secs (1228800 bytes/sec)
vnconfig -v -c /dev/vnd0a inst-11.fs
/dev/vnd0a: 1228800 bytes on inst-11.fs
[...]
===> kcadp
dd if=/dev/zero of=kcadp11.fs bs=100k count=12
12+0 records in
12+0 records out
1228800 bytes transferred in 1 secs (1228800 bytes/sec)
vnconfig -v -c /dev/vnd0a kcadp11.fs
/dev/vnd0a: 1228800 bytes on kcadp11.fs
disklabel -w -B -b /usr/mdec/fdboot -s /usr/mdec/bootfd vnd0 floppy5
ioctl DIOCWLABEL: Inappropriate ioctl for device
ioctl DIOCWLABEL: Inappropriate ioctl for device

(These can be ignored, I presume)

[...]
COPY    ${CURDIR}/../../../../sys/arch/i386/compile/INSTADP/netbsd      netbsd
cp: /usr/src/distrib/i386/floppies/kcadp/../../../../sys/arch/i386/compile/INSTADP/netbsd: No such file or directory
*** Error code 1

Stop.

(Is there a way to introduce a Makefile dependancy that checks to see whether
 the directory "${CURDIR}/../../../../sys/arch/i386/compile/INSTADP" exists?)

What do I make of the above errors?  Is one not supposed to use "make" in
the directories under "/usr/src/distrib/i386/floppies" to start off with?
Should I worry about the fact that both instances complain about "fsck"?
This seems like a bug; I suspect the correct output of "make" in these
two directories should be nothing more than

	Run "make -f {inst,kc}bin.mk objs exe" to build crunched binary.

Am I doing anything wrong?  (Or not doing, as the case may be?)

	- Greg