RELEASE(7) | Miscellaneous Information Manual | RELEASE(7)

# NAME

`release` — layout of NetBSD releases and snapshots

# DESCRIPTION

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
    gzimg/
      compressed system images
      ⟨machine⟩.tar.gz
        The primary system image on those platforms that provide them. These images may not be bootable.
      ⟨machine⟩-⟨board⟩.tar.gz
        A bootable system image for a particular board, on platforms that provide them.
    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.
      rescue.tgz
        This set contains the rescue(8) utilities.
      tests.tgz
        This set includes the tests(7) for atf(7), the automated test framework used by NetBSD.
      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

# SEE ALSO

cksum(1), dd(1), gzip(1), split(1), tar(1)

# HISTORY

The `release` manual page first appeared in NetBSD 1.3.

July 13, 2020 | NetBSD 11.99