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