Subject: RE: Building -current fails in conf.c
To: Rose, Brian <Brian.Rose@icn.siemens.com>
From: Bill Studenmund <wrstuden@netbsd.org>
List: current-users
Date: 09/26/2002 11:36:03
On Thu, 26 Sep 2002, Rose, Brian wrote:

> >
> > as of NetBSD 1.6 you don't run make directly in the tree anymore
> > but use build.sh.  you want to use the config binary which was
> > built into the tools directory.  same with make later in kernel
> > building process.
> >
> > i'd suggest you to build binary release and upgrade from the
> > sets.
> >
> > e.g.
> >
> >  cd /usr/src
> >  ./build.sh -D /path/to/DESTDIR -d -O /path/to/OBJDIR \
> >  -R /path/to/RELEASEDIR -T /path/to/TOOLDIR

Note that using -d precludes using -R (well precludes making a release).
Since the -R is later in the command line, you get what you want, but you
don't need it.

> > (you don't need to specify DESTDIR, OBJDIR and TOOLDIR but i
> > prefer to have /usr/src clean)

I especially set TOOLDIR since otherwise the tools are built into a
date-specific tool dir. The latter's good for keeping different versions
of the tools around, but I don't need that usually.

> > and wait.  then upgrade from binary sets built in
> > /path/to/RELEASEDIR. if the GENERIC kernel isn't suitable for
> > you, you can build your custom one using tools from
> > /path/to/TOOLDIR, nbconfig and nbmake.
> >
> > after rebooting to single-user with new kernel unpack your
> > sets to / (except etc.tgz) and update your /etc with etcupdate

Note when you use tar, make sure you set 'p' for preserve (tar xzvpf file)
as otherwise sticky bits won't get set. Then set-id binaries won't work.

> > binary after unpacking etc.tgz to some location (e.g. etcupdate
> > -b /root/tmproot).
>
>  # cd /usr
>  # mkdir sets
>  # mkdir sets/dest
>  # mkdir sets/obj
>  # mkdir sets/tools
>  # mkdir sets/release
>  # cd src
>  # ./build.sh -D /usr/sets/dest -d -O /usr/sets/obj \
>    -R /usr/sets/release -T /usr/sets/tools
>  config: cannot create /usr/sets/obj/sys/arch/i386/compile/GENERIC: Nos such
> file or directory
>  *** Error code 2
>
>  Stop.
>  nmake: stopped in /usr/src/etc
>  *** Error code 1
>
>  Stop.
>  nmake: stopped in /usr/src
>
> There's that troublesome config again. If I ls /usr/sets/obj I see a binary
> and an installation folder. No sys folder. Should config create it or should
> it already be there? Is config getting the wrong path?

Not sure.

Take care,

Bill