version 1.59.2.2, 2007/04/16 19:52:26 |
version 1.62.4.1, 2007/11/06 23:07:09 |
Line 3 BUILDING(8) NetBSD System Ma |
|
Line 3 BUILDING(8) NetBSD System Ma |
|
NAME |
NAME |
BUILDING -- Procedure for building NetBSD from source code. |
BUILDING -- Procedure for building NetBSD from source code. |
|
|
STATUS |
|
This document is a work-in-progress. As such, the information described |
|
here may not match the reality of the build system as of this writing. |
|
Once this document is completely in sync with reality, this paragraph |
|
will be removed. |
|
|
|
Discrepancies between this documentation and the current reality of |
|
implementation are noted specially, as with the note below: |
|
|
|
Note: This document applies only to platforms which use the new toolchain |
|
as indicated by the default setting of TOOLCHAIN_MISSING in <bsd.own.mk>. |
|
Platforms which have not yet been switched to the new toolchain should |
|
continue building traditionally, using the notes specified in the file |
|
UPDATING. |
|
|
|
REQUIREMENTS |
REQUIREMENTS |
NetBSD is designed to be buildable on most POSIX-compliant host systems. |
NetBSD is designed to be buildable on most POSIX-compliant host systems. |
The basic build procedure is the same whether compiling natively (on the |
The basic build procedure is the same whether compiling natively (on the |
|
|
ity, which is not part of NetBSD, but which can be |
ity, which is not part of NetBSD, but which can be |
installed from pkgsrc/sysutils/cdrtools. |
installed from pkgsrc/sysutils/cdrtools. |
|
|
|
iso-image-source |
|
Create a NetBSD installation CD-ROM image in the |
|
RELEASEDIR/iso directory. The CD-ROM file system will have |
|
a layout as described in release(7). It will have top |
|
level directories for the machine type and source. |
|
|
|
For most machine types, the CD-ROM will be bootable, and |
|
will automatically run the sysinst(8) menu-based installa- |
|
tion program, which can be used to install or upgrade a |
|
NetBSD system. Bootable CD-ROMs also contain tools that |
|
may be useful in repairing a damaged NetBSD installation. |
|
|
|
Before ``make iso-image-source'' is attempted, RELEASEDIR |
|
must be populated by ``make sourcesets release'' or equiva- |
|
lent. |
|
|
|
Note that other, smaller, CD-ROM images may be created in |
|
the RELEASEDIR/MACHINE/installation/cdrom directory by |
|
``make release''. These smaller images usually contain the |
|
same tools as the larger images in RELEASEDIR/iso, but do |
|
not contain additional content such as the distribution |
|
sets. |
|
|
|
Note that the mac68k port still uses an older method of |
|
creating CD-ROM images. This requires the mkisofs(1) util- |
|
ity, which is not part of NetBSD, but which can be |
|
installed from pkgsrc/sysutils/cdrtools. |
|
|
regression-tests |
regression-tests |
Can only be run after building the regression tests in the |
Can only be run after building the regression tests in the |
directory ``regress''. Runs the compiled regression tests |
directory ``regress''. Runs the compiled regression tests |
|
|
|
|
iso-image Perform ``make iso-image''. |
iso-image Perform ``make iso-image''. |
|
|
|
iso-image-source |
|
Perform ``make iso-image-source''. |
|
|
The following command line options alter the behaviour of the build.sh |
The following command line options alter the behaviour of the build.sh |
operations described above: |
operations described above: |
|
|
|
|
that the resulting name is of the form |
that the resulting name is of the form |
``nbmake-MACHINE-BUILDID''. |
``nbmake-MACHINE-BUILDID''. |
|
|
|
-C cddir Set the value of CDEXTRA to cddir. If a relative path is spec- |
|
ified, it will be converted to an absolute path before being |
|
used. When combined with ``iso-image'' or |
|
``iso-image-source'', it will cause the contents of cddir to be |
|
added to the CD-ROM image. |
|
|
-D dest Set the value of DESTDIR to dest. If a relative path is speci- |
-D dest Set the value of DESTDIR to dest. If a relative path is speci- |
fied, it will be converted to an absolute path before being |
fied, it will be converted to an absolute path before being |
used. |
used. |
|
|
it will be converted to an absolute path before being used. |
it will be converted to an absolute path before being used. |
Unsets MAKEOBJDIR. |
Unsets MAKEOBJDIR. |
|
|
-m mach Set the value of MACHINE to mach. This will also override any |
-m mach Set the value of MACHINE to mach, except in some special cases |
value of MACHINE_ARCH in the process environment with a value |
listed below. This will also override any value of |
deduced from mach, unless -a is specified, or mach is a special |
MACHINE_ARCH in the process environment with a value deduced |
case listed below. All cross builds require -m, but if unset |
from mach, unless -a is specified. All cross builds require |
on a NetBSD host, the host's value of MACHINE will be detected |
-m, but if unset on a NetBSD host, the host's value of MACHINE |
and used automatically. |
will be detected and used automatically. |
|
|
Some machines support multiple values for MACHINE_ARCH. For a |
Some machines support multiple values for MACHINE_ARCH. The |
given value of mach, the following MACHINE and MACHINE_ARCH |
following special cases for the mach argument are defined to |
values will result: |
set the listed values of MACHINE and MACHINE_ARCH: |
|
|
mach MACHINE MACHINE_ARCH |
mach MACHINE MACHINE_ARCH |
|
evbarm evbarm (not set) |
|
evbarm-eb evbarm armeb |
|
evbarm-el evbarm arm |
evbmips evbmips (not set) |
evbmips evbmips (not set) |
evbmips-eb evbmips mipseb |
evbmips-eb evbmips mipseb |
evbmips-el evbmips mipsel |
evbmips-el evbmips mipsel |
|
|
BUGS |
BUGS |
A few platforms are not yet using this build system. |
A few platforms are not yet using this build system. |
|
|
NetBSD April 13, 2007 NetBSD |
NetBSD September 1, 2007 NetBSD |