release
—
layout of NetBSD releases and snapshots
This document describes the layout of NetBSD releases
and snapshots. This layout should be consistent between FTP servers and
CD-ROMs, except possibly the path that leads to the release hierarchy.
In this document, the following special words have these
definitions:
- ⟨machine⟩
- The platform for which the release was built, corresponding to the
hw.machine sysctl variable, e.g., i386
or amiga.
- ⟨machine_arch⟩
- The architecture for which a particular installation set was built,
corresponding to the hw.machine_arch sysctl variable,
e.g., i386 or m68k.
- ⟨rel⟩
- The release version number.
All README files are descriptions of the various
files in directories that have “non-standard” contents. There
may also be a README file at the top-level, describing who
built the snapshot and under what circumstances (e.g., whether it's an
official NetBSD snapshot, or not).
All MD5 files are MD5 digests for the various
files in that directory, in the format produced by the command:
cksum -a MD5 ⟨file⟩.
All SHA512 files are SHA512 digests for the
various files in that directory, in the format produced by the command:
cksum -a SHA512
⟨file⟩.
The SHA512 digest is safer, but MD5 checksums are provided so that
a wider range of operating systems can check the integrity of the release
files.
Files that end in .tgz are gzipped tar archives.
This is used in lieu of .tar.gz because the software used
to download the sets may incorrectly auto-unpack files ending in
.gz and to accommodate systems which only support 3
character extensions to file names.
All tar archives are relative to the target's /
directory, and do not include the leading
“/”.
The root of the release hierarchy may be the root directory of a
CD-ROM, but in all other cases it should be
.../NetBSD-⟨rel⟩/.
The root of the release hierarchy should contain the following
files and subdirectories:
- images/
- Image files intended for use in installing NetBSD.
There are different types of images for different platforms, and sometimes
multiple different image types for a single platform.
Images in this directory, unlike images in the
.../NetBSD-
⟨rel⟩/⟨machine⟩/installation/
directories, contain file systems that have an internal layout that
corresponds to a complete release for a given machine type. If built
with “iso-image-source”, then it will also contain a
“source” directory. These images are usually bootable.
- MD5
-
- SHA512
-
- NetBSD-⟨rel⟩-⟨machine⟩.iso
- CD-ROM images in ISO 9660 format, usually created with
“./build.sh ... iso-image ...” after a
“./build.sh -x ... release ...” in
src or created with “./build.sh ...
iso-image-source ...” after a “./build.sh -x ... release
sourcesets ...” in src.
- NetBSD-⟨rel⟩-⟨machine⟩-install.img.gz
- Bootable installation images intended to be written to any drive which
appears as an sd(4) type,
such as USB flash disks. These images are created with
“./build.sh ... install-image” in
src.
- shared/
- Files shared by two or more machine types.
- ⟨machine_arch⟩/
- Files which may be shared by all systems of the same
⟨machine_arch⟩ will be located in
.../NetBSD-⟨rel⟩/shared/⟨machine_arch⟩/
with symbolic links pointing to these files from the
⟨machine⟩ subdirectory.
- ALL/
- Files which are completely machine-independent will be located in
.../NetBSD-⟨rel⟩/shared/ALL/
with symbolic links pointing to these files from the
⟨machine⟩ subdirectory.
- source/
- Source code of the operating system should be put into
.../NetBSD-⟨rel⟩/source/
using the following layout:
- sets/
- Sources for the various system sets.
- MD5
-
- SHA512
-
- gnusrc.tgz
- Contains sources for all GPLed and possibly other programs that
contains restrictions in their licensing that prevent others from
using these programs in closed-source environments.
- sharesrc.tgz
- Contains machine-independent data files that can be shared across
architectures/systems.
- src.tgz
- The operating system's userland source code, including all
programs, tools, libraries, etc.
- syssrc.tgz
- Kernel sources for all architectures plus sources of the tools
needed to build kernels (like
config(1)).
- xsrc.tgz
- Source code of the X Window System used on all
NetBSD architectures. Includes X clients
and servers.
- ⟨machine⟩/
- The binary releases in
.../NetBSD-⟨rel⟩/⟨machine⟩/
fit the following layout:
- INSTALL.txt
- Installation notes, including complete descriptions of files contained
within the release hierarchy
- INSTALL.more
- pretty version, suited for viewing with
more(1)
- INSTALL.html
- HTML version
- INSTALL.ps
- PostScript version
- binary/
- system binaries
- sets/
- installation sets
- MD5
-
- SHA512
-
- base.tgz
- The base binary distribution. This set contains the base
NetBSD utilities that are necessary
for the system to run and be minimally functional. This set
excludes all things listed in the sets described below.
- comp.tgz
- The compiler tools distribution. This set contains the C and
C++ compilers, assembler, linker, other toolchain components,
and their manual pages. It also includes the system include
files (/usr/include) and the static
system libraries.
- etc.tgz
- This set contains the system configuration files that reside
in /etc and in several other places
throughout the file system hierarchy.
- games.tgz
- This set includes the games and their manual pages.
- kern-GENERIC.tgz
- This set includes a kernel built from the
GENERIC kernel configuration file. This is
meant as an example only; different platforms may have
differently named kernels.
- man.tgz
- This set includes all of the manual pages for the binaries and
other software contained in the base set
which are not included in the other sets.
- misc.tgz
- This set includes miscellaneous non-essential files, including
dictionaries, the typesettable document set, and various other
documentation and example configuration files.
- modules.tgz
- This set includes all the kernel modules.
- text.tgz
- This set includes the NetBSD text
processing tools, including
groff(1), all
related programs, and their manual pages.
- xbase.tgz
- This set includes the base X11 distribution, including manual
pages and excluding everything contained in the other X11
sets.
- xetc.tgz
- This set includes X11 configuration files.
- xcomp.tgz
- This set includes the X11 include files and static X11
libraries.
- xfont.tgz
- This set includes the X11 fonts.
- xserver.tgz
- This set includes the X servers and manual pages for a given
machine. Note: this set may not be available on
some platforms.
- kernel/
- suitably named, gzipped kernels
- MD5
-
- SHA512
-
- netbsd-GENERIC.gz
- A kernel built from the GENERIC kernel
configuration file. This is meant as an example only;
different platforms may have differently named kernels.
- installation/
- installation helper items
- cdrom/
- CD-ROM images in ISO 9660 format, created as part of
“build.sh ... release ...” in
src.
Images in this directory are bootable, and contain one
a kernel, installation tools, and rescue tools. They do not
contain installation sets, source sets, or other components of a
complete release.
Note: These images are only present in
the amd64 and i386 distributions.
- MD5
-
- SHA512
-
- boot.iso
- VGA console
- boot-com.iso
- Serial console
- diskimage/
- disk images, on those platforms that provide them
- MD5
-
- SHA512
-
- diskimage.gz
-
- floppy/
- floppy images, on those platforms that provide them
- MD5
-
- SHA512
-
- boot1.fs
-
- boot2.fs
-
- instkernel/
- installation kernels for platforms that can boot them directly
- MD5
-
- SHA512
-
- netbsd.gz
-
- miniroot/
- miniroot images, on those platforms that provide them
- MD5
-
- SHA512
-
- miniroot.fs.gz
-
- misc/
- miscellaneous installation helper utilities, including boot
selectors, floppy writing software, other software that runs under
foreign operating systems, etc.
- MD5
-
- SHA512
-
- ...
-
- netboot/
- network boot programs
- MD5
-
- SHA512
-
- netboot.gz
-
- tapeimage/
- tape images, on those platforms that provide them
- MD5
-
- SHA512
-
- tapeboot
-
The release
manual page first appeared in
NetBSD 1.3.