FreeBSD 8.0-RELEASE, ready for consumption – omnomnom!

Finally, after a few days of mirror syncing and documentation preparation, The FreeBSD Release Engineering (RELENG) Team finally decided to announce the availability of FreeBSD 8.0!

FreeBSD logo

The source code for 8.0 was got it’s final touches during the weekend, and on Sunday I had the oportunity to upgrade my server to the latest and greatest. After some upgrade jiffies conserning migration and upgrade of my experimental ZFS filesystem setup, everything seems to work without a hitch.

The only notable showstopper I know about this far is the breakage of the fxp network interface driver, which was not ready in time for release. This will probably be fixed within a week or two, I assume.

It’s a relief to have upgraded to ZFS v13, by the way. Finally I can start trusting my now nearly 3TB striped storage setup :-).

System information about the currently running system on my own server can be found at http://grimstveit.no/admin/phpsysinfo.

The highlights in the 8.0-RELEASE are the following:

  • A new virtualization container named “vimage” has been implemented. This is a jail with a virtualized instance of the FreeBSD network stack and can be created by using jail(8) command.
  • The FreeBSD netisr framework has been reimplemented for parallel threading support. This is a kernel network dispatch interface which allows device drivers (and other packet sources) to direct packets to protocols for directly dispatched or deferred processing. The new implementation supports up to one netisr thread per CPU, and several benchmarks on SMP machines show substantial performance improvement over the previous version.
  • The FreeBSD TTY layer has been replaced with a new one which has better support for SMP and robust resource handling. A tty now has own mutex and it is expected to improve scalability when compared to the old implementation based on the Giant lock.
  • [amd64, i386] The FreeBSD Linux emulation layer has been updated to version 2.6.16 and the default Linux infrastructure port is now emulators/linux_base-f10 (Fedora 10).
  • The FreeBSD GENERIC kernel now includes Trusted BSD MAC (Mandatory Access Control) support. No MAC policy module is loaded by default.
  • The FreeBSD USB subsystem has been reimplemented to support modern devices and better SMP scalability. The new implementation includes Giant-lock-free device drivers, a Linux compatibility layer, usbconfig(8) utility, full support for split transaction and isochronous transaction, and so on.
  • The FreeBSD CAM SCSI subsystem ( cam(4)) now includes experimental support for ATA/SATA/AHCI-compliant devices.
  • The shared vnode locking for pathname lookups in the VFS(9) subsystem has been improved.
  • The ZFS file system has been updated to version 13. The changes include ZFS operations by a regular user, L2ARC, ZFS Intent Log on separated disks (slog), sparse volumes, and so on.
  • The FreeBSD NFS subsystem now supports RPCSEC_GSS authentication on both the client and server.
  • The FreeBSD NFS subsystem now includes a new, experimental implementation with support for NFSv2, NFSv3, and NFSv4.
  • The wireless network support layer (net80211) now supports multiple BSS instances on the supported network devices.
  • The FreeBSD L2 address translation table has been reimplemented to reduce lock contention on parallel processing and simplify the routing logic.
  • The IGMPv3 and SSM (Source-Specific Multicast) including IPv6 SSM and MLDv2 have been added.
  • The ipsec(4) subsystem now supports NAT-Traversal (RFC 3948).
  • The GCC stack protection (also known as ProPolice) has been enabled in the FreeBSD base system.
  • The supported version of the GNOME desktop environment (x11/gnome2) has been updated to 2.26.3.
  • The supported version of the KDE desktop environment (x11/kde4) has been updated to 4.3.1.

Official announcement follows:

The FreeBSD Release Engineering Team is pleased to announce the availability
of FreeBSD 8.0-RELEASE.  This release starts off the new 8-STABLE branch
which improves on the functionality of FreeBSD 7.X and introduces many
new features.  Some of the highlights:

       - Xen Dom-U, VirtualBox guest and host, hierarchal jails
       - NFSv3 GSSAPI support, experimental NFSv4 client and server
       - 802.11s D3.03 wireless mesh networking and Virtual Access Point
         support
       - ZFS no longer in experimental status
       - ground-up rewrite of USB, including USB target support
       - continued SMP scalability improvements in many areas, especially
         VFS
       - revised network link layer subsystem
       - experimental MIPS architecture support

For a complete list of new features and known problems, please see the
online release notes and errata list, available at:

   http://www.FreeBSD.org/releases/8.0R/relnotes.html
   http://www.FreeBSD.org/releases/8.0R/errata.html

For more information about FreeBSD release engineering activities,
please see:

   http://www.FreeBSD.org/releng/

 Dedication
 ----------

 The FreeBSD Project dedicates this release to the memories of
 Jean-Marc Zucconi (jmz@) and John Birrell (jb@) who passed away
 in May and November of 2009 respectively.  Jean-Marc and John were
 both FreeBSD committers since the mid-1990s and made extensive
 contributions to the operating system.  They will be missed.

 Availability
 -------------

FreeBSD 8.0-RELEASE is now available for the amd64, i386, ia64, pc98,
powerpc, and sparc64 architectures.

FreeBSD 8.0 can be installed from bootable ISO images or over the
network.  Some architectures (currently amd64 and i386) also support
installing from a USB memory stick.  The required files can be downloaded
via FTP or BitTorrent as described in the sections below.  While some
of the smaller FTP mirrors may not carry all architectures, they will
all generally contain the more common ones such as amd64 and i386.

MD5 and SHA256 hashes for the release ISO and memory stick images are
included at the bottom of this message.

The purpose of the images provided as part of the release are as follows:

 dvd1: This contains everything necessary to install the base FreeBSD
       operating system, a collection of pre-built packages, and the
       documentation.  It also supports booting into a "livefs" based
       rescue mode.  This should be all you need if you can burn
       and use DVD-sized media.

 disc1: This contains the base FreeBSD operating system and the
       documentation packages for CDROM-sized media.  There are no
       other packages.

 livefs: This contains support for booting into a "livefs" based
       rescue mode but does not support doing an install from the
       CD itself.  It is meant to help rescue an existing system
       but could be used to do a network based install if necessary.

 bootonly: This supports booting a machine using the CDROM drive but
       does not contain the support for installing FreeBSD from the
       CD itself.  You would need to perform a network based install
       (e.g. from an FTP server) after booting from the CD.

 memstick: This can be written to an USB memory stick (flash drive) and
       used to do an install on machines capable of booting off USB
       drives.  It also supports booting into a "livefs" based rescue
       mode.  The documentation packages are provided but no other
       packages.

As one example of how to use the memstick image, assuming the USB drive
appears as /dev/da0 on your machine something like this should work:

 # dd if=8.0-RELEASE-amd64-memstick.img of=/dev/da0 bs=10240 conv=sync

Be careful to make sure you get the target (of=) correct.

FreeBSD 8.0-RELEASE can also be purchased on CD-ROM or DVD from several
vendors.  One of the vendors that will be offering FreeBSD 8.0-based
products is:

~   FreeBSD Mall, Inc.        http://www.freebsdmall.com/

 BitTorrent
 ----------

8.0-RELEASE ISOs are available via BitTorrent.  A collection of torrent
files to download the images is available at:

       http://torrents.freebsd.org:8080/

 FTP
 ---

At the time of this announcement the following FTP sites have
FreeBSD 8.0-RELEASE available.

       ftp://ftp.freebsd.org/pub/FreeBSD/
       ftp://ftp1.freebsd.org/pub/FreeBSD/
       ftp://ftp5.freebsd.org/pub/FreeBSD/
       ftp://ftp10.freebsd.org/pub/FreeBSD/
       ftp://ftp13.freebsd.org/pub/FreeBSD/
       ftp://ftp14.freebsd.org/pub/FreeBSD/
       ftp://ftp.br.freebsd.org/pub/FreeBSD/
       ftp://ftp.cz.freebsd.org/pub/FreeBSD/
       ftp://ftp.dk.freebsd.org/pub/FreeBSD/
       ftp://ftp.fr.freebsd.org/pub/FreeBSD/
       ftp://ftp.jp.freebsd.org/pub/FreeBSD/
       ftp://ftp.ru.freebsd.org/pub/FreeBSD/
       ftp://ftp1.ru.freebsd.org/pub/FreeBSD/
       ftp://ftp.tw.freebsd.org/pub/FreeBSD/
       ftp://ftp4.tw.freebsd.org/pub/FreeBSD/
       ftp://ftp.uk.freebsd.org/pub/FreeBSD/
       ftp://ftp1.us.freebsd.org/pub/FreeBSD/
       ftp://ftp5.us.freebsd.org/pub/FreeBSD/
       ftp://ftp10.us.freebsd.org/pub/FreeBSD/

However before trying these sites please check your regional mirror(s)
first by going to:

 ftp://ftp..FreeBSD.org/pub/FreeBSD

Any additional mirror sites will be labeled ftp2, ftp3 and so on.

More information about FreeBSD mirror sites can be found at:

 http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html

For instructions on installing FreeBSD, please see Chapter 2 of The
FreeBSD Handbook.  It provides a complete installation walk-through
for users new to FreeBSD, and can be found online at:

 http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/install.html

 Updates from Source
 -------------------

The procedure for doing a source code based update is described in the
FreeBSD Handbook:

 http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/synching.html
 http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html

The branch tag to use for updating the source is RELENG_8_0.

 FreeBSD Update
 --------------

The freebsd-update(8) utility supports binary upgrades of i386 and amd64
systems running earlier FreeBSD releases. Systems running 7.[012]-RELEASE,
8.0-BETA[1234], or 8.0-RC[123] can upgrade as follows:

# freebsd-update upgrade -r 8.0-RELEASE

During this process, FreeBSD Update may ask the user to help by merging
some configuration files or by confirming that the automatically
performed merging was done correctly.

# freebsd-update install

The system must be rebooted with the newly installed kernel before continuing.

# shutdown -r now

After rebooting, freebsd-update needs to be run again to install the new
userland components:

# freebsd-update install

At this point, users of systems being upgraded from FreeBSD 8.0-BETA2 or
earlier will be prompted by freebsd-update to rebuild all third-party
applications (e.g., ports installed from the ports tree) due to updates
in system libraries.  See:

http://www.daemonology.net/blog/2009-07-11-freebsd-update-to-8.0-beta1.html

for more details.  After updating installed third-party applications
(and again, only if freebsd-update printed a message indicating that
this was necessary), run freebsd-update again so that it can delete the
old (no longer used) system libraries:

# freebsd-update install

Finally, reboot into 8.0-RELEASE:

# shutdown -r now

 Support
 -------

The FreeBSD Security Team currently plans to support FreeBSD 8.0 until
November 30th, 2010.  For more information on the Security Team and
their support of the various FreeBSD branches see:

 http://www.freebsd.org/security/

 Acknowledgments
 ---------------

Many companies donated equipment, network access, or man-hours to
support the release engineering activities for FreeBSD 8.0 including
The FreeBSD Foundation, Hewlett-Packard, Yahoo!, NetApp,
Internet Systems Consortium, and Sentex Communications.

The release engineering team for 8.0-RELEASE includes:

Ken Smith         Release Engineering,
                                       amd64, i386, sparc64 Release Building,
                                       Mirror Site Coordination
Robert Watson      Release Engineering, Security
Konstantin Belousov    Release Engineering
Marc Fonvieille   Release Engineering, Documentation
George Neville-Neil    Release Engineering
Hiroki Sato            Release Engineering, Documentation
Bjoern Zeeb             Release Engineering
Marcel Moolenaar    ia64, powerpc Release Building
Takahashi Yoshihiro   PC98 Release Building
Joe Marcus Clarke   Package Building
Erwin Lansing        Package Building
Mark Linimon
      Package Building
Pav Lucistnik
         Package Building
Ion-Mihai Tetcu     Package Building
Martin Wilke (miwi@FreeBSD.org>         Package Building
Colin Percival    Security Officer

 Trademark
 ---------

FreeBSD is a registered trademark of The FreeBSD Foundation.

 ISO Image Checksums
 -------------------

MD5 (8.0-RELEASE-amd64-bootonly.iso) = 49ccdac2e01b33c943ae89233c465ef1
MD5 (8.0-RELEASE-amd64-disc1.iso) = eba84fbd08133cbc8c9ed67be27ee0c8
MD5 (8.0-RELEASE-amd64-dvd1.iso) = 44c016ae8812a266f710d1845722366d
MD5 (8.0-RELEASE-amd64-livefs.iso) = 8db54cfc97b2afa97fb13dbccace4bfa
MD5 (8.0-RELEASE-amd64-memstick.img) = b4558fa30d13776988d86477e9631887

MD5 (8.0-RELEASE-i386-bootonly.iso) = aede8888c250b648bf799d508bc9bf9d
MD5 (8.0-RELEASE-i386-disc1.iso) = ace0afedfa7c6e0ad12c77b6652b02ab
MD5 (8.0-RELEASE-i386-dvd1.iso) = 5336cd827991e4d4cff6d73c4a5ca105
MD5 (8.0-RELEASE-i386-livefs.iso) = 7f4f0ab014f853c8a99c053c2dc12641
MD5 (8.0-RELEASE-i386-memstick.img) = 0a769af739a92f5f495d1a6842e8150b

MD5 (8.0-RELEASE-ia64-bootonly.iso) = be9dcfc2f638d5f86e21b0b344bec91b
MD5 (8.0-RELEASE-ia64-disc1.iso) = e982547f376432d09be603b117f4da54
MD5 (8.0-RELEASE-ia64-disc2.iso) = 5bc7616212e6977c4f054a84ef538615
MD5 (8.0-RELEASE-ia64-disc3.iso) = cefe2fd4694f5065e55778f879dc5852
MD5 (8.0-RELEASE-ia64-dvd1.iso) = 6b8df7fb34d5960ecf91a291926a1e6f
MD5 (8.0-RELEASE-ia64-livefs.iso) = fe7933f2c1ddc2f4a90d5dfc48c38995

MD5 (8.0-RELEASE-pc98-bootonly.iso) = 16a29c2e31025c02997de21aac5041bb
MD5 (8.0-RELEASE-pc98-disc1.iso) = 58e423d5a0a69a72016ebbecde265abd
MD5 (8.0-RELEASE-pc98-livefs.iso) = 6ad13607eb305338edd9501310e6699c

MD5 (8.0-RELEASE-powerpc-bootonly.iso) = f60f73d55100f664c635c6848f00c6d8
MD5 (8.0-RELEASE-powerpc-disc1.iso) = 1323203ffeb317f47219ed8927449980
MD5 (8.0-RELEASE-powerpc-disc2.iso) = 5967750bf681428d59070a133b272bfd
MD5 (8.0-RELEASE-powerpc-disc3.iso) = 43e4846683ce43fa8d6158c703767635

MD5 (8.0-RELEASE-sparc64-bootonly.iso) = 75b2f04c29e6b81058944e42055fe604
MD5 (8.0-RELEASE-sparc64-disc1.iso) = f4aa61db620c97089641a0c63531225a
MD5 (8.0-RELEASE-sparc64-dvd1.iso) = 85307705213a86a383e21941ee34d8e2
MD5 (8.0-RELEASE-sparc64-livefs.iso) = 1ff6d6a449975dcc829f328b866f8128

SHA256 (8.0-RELEASE-amd64-bootonly.iso) = b0e07e8f92303b61220cba18691e86ab50d67c7df974bb62a6f1d4ffb94a1ee6
SHA256 (8.0-RELEASE-amd64-disc1.iso) = 7d4583c20c651093b208170a7fd4ed5f38ee5af0cbe19fb742f67175a9fee10f
SHA256 (8.0-RELEASE-amd64-dvd1.iso) = 408f7fdf3226d72564f2476fff365e4fd071bd48ddae26cd34755d808ad54b8b
SHA256 (8.0-RELEASE-amd64-livefs.iso) = ae939a96b3b3691df84227a33de5d5f4a76d469379dca27114c3557ed443a8f3
SHA256 (8.0-RELEASE-amd64-memstick.img) = b6cd7b0644f636f2099820ad1250940975fa3bfc19f74a0a94f69e75cc2be4c2

SHA256 (8.0-RELEASE-i386-bootonly.iso) = 12e32cea29b2f7bf873df43321a1a93d45b48a6fbb37c8e1c7f3003d5ce82e5d
SHA256 (8.0-RELEASE-i386-disc1.iso) = d7ef47a76a20a716c006a635b476ed3515830b8442ded2702ed015f0bde32bcf
SHA256 (8.0-RELEASE-i386-dvd1.iso) = 8b7bc67599fffc443ebc08efae8a49dd4a0fed7512cfb02b963b9a218e7c286c
SHA256 (8.0-RELEASE-i386-livefs.iso) = feb8998bf2b9dbd6ae86f24feb9ab3c25983dc62c9f4a27f6a5314c3a4a7b59a
SHA256 (8.0-RELEASE-i386-memstick.img) = 7e9b9cd2fd7af0fa0715b826a034b83b0f732a544a51cac7539ead5522a08806

SHA256 (8.0-RELEASE-ia64-bootonly.iso) = c594debd1cb629bf4c906da79c4a6d47b24cf4836d7690f18bc42ee9e31b6b92
SHA256 (8.0-RELEASE-ia64-disc1.iso) = c7f4bd197ff9996ead66f4c77d077e115d18a2822e006bdfdc86a5824dcef37e
SHA256 (8.0-RELEASE-ia64-disc2.iso) = bfcd99680bc15e1b66329a0e71eaf6b38b44d1909a3fb43ba5485238e6807dfd
SHA256 (8.0-RELEASE-ia64-disc3.iso) = 8e8edea7117239af60c07c7e724567ea276fa32d8634f04dd30312e72b35df9a
SHA256 (8.0-RELEASE-ia64-dvd1.iso) = bd1c9a3e8a6a287ee7bef62b3e15646d76a97dec3108177a7c606706a7ee9952
SHA256 (8.0-RELEASE-ia64-livefs.iso) = 60a9a7738ad94765cad45dbc4f62913dd728b335d22bb4e5b065c0cae40a99db

SHA256 (8.0-RELEASE-pc98-bootonly.iso) = 7df38839c8da226bca8ef18b00f0b680074267b8333a393c3431f9b620f0ab9f
SHA256 (8.0-RELEASE-pc98-disc1.iso) = b41fb185b1e057ee36ae6e080021f309a379c3fdf5d45a0a40461092d31e052a
SHA256 (8.0-RELEASE-pc98-livefs.iso) = 1313ec3d5a28af8a85c181cd702b2adb91c783db7e2ad2021d311686ce5e0c2d

SHA256 (8.0-RELEASE-powerpc-bootonly.iso) = 78e18d76c24c9636b87f1946f2020a0a58fc70b80bcb925c27fa497b3c9e5bb4
SHA256 (8.0-RELEASE-powerpc-disc1.iso) = 80f5c024b61629b77a73fd396917c68b4d0215019a5e5aaf5882cf14144764a2
SHA256 (8.0-RELEASE-powerpc-disc2.iso) = 28c8e62c10b42fe5fb1e7a2235a6decbddbbfece0535ea42174c7ac937735068
SHA256 (8.0-RELEASE-powerpc-disc3.iso) = e36db6e05b434a0256e977cab9e3eedb5984b2c45c400a14d7c69bbf4dda9065

SHA256 (8.0-RELEASE-sparc64-bootonly.iso) = 941b5e76a67960045040c268894b8666f5b7a8cbd2e9f98186f2618abb5bf431
SHA256 (8.0-RELEASE-sparc64-disc1.iso) = 2d0a74cf867fa34c5a073777cf2d8e2469906425c9a54068892bd2d58ac9c3c5
SHA256 (8.0-RELEASE-sparc64-dvd1.iso) = 482447b382fa50ffdc80e02a0cfd774e0eecf7d009e5b06864e8a4f828536876
SHA256 (8.0-RELEASE-sparc64-livefs.iso) = 7499ca1af16de7b3d431741b1551a4b59f277fda997d57cf2615155992beaef7

See also “Welcome to FreeBSD 8!” over at EvilCoder.org!