Ben Harris has modified the "ne at podulebus" driver to work
around a bug in the MX98905 chip used on EtherI and EtherN cards, so they
can now be used on NetBSD. He has also tweaked the vidcvideo
driver to find screen modes correctly on the ARM7500. Between them, these
allow an NC_WSCONS kernel to come up multi-user, with a proper
display.

Michael L. Hitch has updated NetBSD/amiga -current to have a two-stage booter.

The first stage is bootxx_ffs (for ffs boot partitions) or
bootxx_fd (for bootable floppy disk). These locate, load,
and execute the second stage loader boot.amiga. The console
screen is created and passed to the second stage loader.

The second stage loader uses loadfile() to load the kernel image,
which can be either a.out or ELF format, and can
also be compressed (via gzip(1)). It will load a kernel file from
ffs file systems or the ustarfs used on floppy disks.

Frank van der Linden has pulled over some recent fixes from FreeBSD by Kirk McKusick to the
softdep code. One of them is to correctly track the numbers
of free blocks/inodes, taking the pending softdeps into account.
For this, two new fields (previously spare ones) were added.

This means that if you're using the FFS_EI option, you should
recompile and install fsck_ffs(8) before booting a new kernel,
in order to have these fields correctly swapped in the case
of fsck repairing the superblock.

If the kernel mutters a little when it mounts filesystems for
the first time with a new kernel, don't worry about it. If it
continues to do that, please file a problem report.

Also, in an unrelated change to the fixes mentioned above, the
'softdep_write_complete: lock is held' panics (for
people who used DEBUG kernels) should be history now.

Grant Beattie <grant@NetBSD.org>, who will be joining the NetBSD
www team. Grant has been working on web pages for the project and
has been helping out with NetBSD www-team tasks for some time.

John Darrow <jdarrow@NetBSD.org>, who is an old-time pkgsrc user and
contributor, and will help us out with his expertise in pkgsrc. Amongst
other things, John was the first to perform xpkgwedge-based bulk builds,
and his experience will help us greatly.

John Klos <jklos@NetBSD.org>, who has been doing the bulk-package
builds for the m68k systems on his collection of Amiga and Mac68k
machines. He is currently working on scripts to allow a cluster of
systems to co-operate in doing bulk-package builds, which is a
tremendous aid for slower machines supported by NetBSD.

Jared D. McNeill <jmcneill@NetBSD.org>, who has been working on audio
drivers and pkgsrc. Jared is currently working on ESS
Allegro-1/Maestro 3 and dbri audio drivers for NetBSD.

Martin Husemann has completed in-kernel support for PPP over Ethernet
in NetBSD-current. Changes
include rc.d support, ip-up/ip-down scripts, and new documentation.
The pppoe(8) man page has more details.

Due to several requests, it is planned to backport in-kernel PPPoE support
to the netbsd-1-5 branch. This means that it should also be
available in the NetBSD 1.5.3 release.

This support has been tested thoroughly by many people and on multiple
architectures. No problems are expected, but if you do run into one
please report it with send-pr(1).

Andrew Brown has finished rolling all ports over to the new MI
kernel build machinery.

Kernel makefiles are now mostly assignments to make variables that get
digested by sys/conf/Makefile.kern.inc, which provides the glue
that makes it into a kernel. Redundancy is
now gone from kernel makefiles, meaning that development drift of one
kernel makefile (instead of over all) is no longer that much of a
problem. Additionally, new "features" for kernels and kernel
builds can now be added, modified, or removed much more easily.

Everyone should make sure their config(8) is up to date (you should do
this anyway). It is also a good idea to rerun config for any
-current kernels you've been
building lately.

Extensive testing was done before these changes, so no problems are
anticipated. If you do have any problems, please report them
with send-pr(1).

Chuck Silvers has committed changes to create three new sysctl tunables
that enforce a maximum amount of memory used for the different types
of page allocations (anonymous process memory, cached file data,
and cached executable data). He has also renamed some of the old sysctl
tunables to have less obscure names.

The values for the new tunables are percentages of RAM, just like the
old ones. The "max" limits in this context are only enforced when there
isn't enough memory to satisfy all requests, so the usage for a given
type can exceed the maximum if there is no demand for the other types.

Lennart Augustsson has added initial support for IrDA
communication to the kernel. It presents IrDA frames to
userland; the kernel has all the knowledge of how to talk to
the actual hardware and presents a uniform interface to the
userland protocol stack.

Johnny Lam has committed some changes to NetBSD
pkgsrc
to implement a variable PKG_SYSCONFDIR used to specify
the location of configuration files for NetBSD packages.

The idea of this change is to cater for various tastes of the user
community. For example, some people like to keep all of their
configuration files in /etc. Some feel that all package files
should reside in /usr/pkg, whilst others wish to share /usr/pkg between
several machines.

The variable can be set in /etc/mk.conf so that future packages use the
facility. Furthermore, the configuration file directory can be set on a
per-package basis. For example, setting

PKG_SYSCONFDIR.apache=/etc/apache

in /etc/mk.conf will
result in the Apache package using the directory /etc/apache to
hold its configuration files.

Naturally for this change to work across pkgsrc, relevant packages
need to be converted to use the new variable. This process has been
started.

Manuel Bouyer has committed some final touches to NetBSD's ATAPI tape
drive driver in NetBSD-current.
The driver has been tested with an
OnStream ATAPI drive and has been reported to work with Seagate
ATAPI drives. If you have a different ATAPI tape drive and the
driver works with it, please report it to <current-users@NetBSD.org>.

Brett Lymn has committed changes to curses in NetBSD-current to implement the
newterm and set_term functions. The changes are quite extensive at a
fundamental level.

One thing to look out for is that you must update your vi
source and recompile that after installing the new libcurses
otherwise vi will fail. This is NOT a bug with curses; this
is a problem with vi stealing library function names in certain
configurations. In this case vi defines its own newterm if
it has been told there is not one in libcurses. I have committed the
config file change for this to the vi sources so you should
be ok.

If anyone has any problems with curses after this change please report
them with send-pr(1).

November 2001

Lennart Augustsson has added support for USB v2.0 devices into NetBSD-current. The new ehci
driver is still in
development but is in a working state for some mass storage
devices, such as CD-RW drives. USB v2.0 offers a vast speed
improvement (480Mb/s instead of 12Mb/s) over the original USB
specification, and retains a good level of compatibility.

Jaromir Dolecek announced
the IBM PS/2 (MCA) machine
support in NetBSD-current has
reached the point where it's usable for general work and should
provide stable multiuser service. The system installation tool
(sysinst) was also changed to support installation on this class of
i386 machines. See the INSTALL documents for exact details, like
which boot floppies to use for installation, etc.
Until the next major release (NetBSD 1.6), PS/2 support will only
be available via NetBSD/i386 -current binary
snapshots.

The development on this support will, of course, continue, with more
device drivers to be written as well as expanded documentation.

Alistair G. Crooks has committed changes to bsd.pkg.mk to improve
the speed of source builds.

The first stage was committed last week, when the scripts directory
was removed along with the logic to look in the scripts directory for a
script named pre-<target> or post-<target>, or configure,
and was replaced by explicit calling of the scripts from a package
Makefile's corresponding target. Please note this if you have
locally-produced or maintained packages.

The next step was to remove the .USE macro, and replace it with
explicit make(1) targets, and specify the dependencies on those
targets in a normal Makefile way.

Izumi Tsutsui has committed a driver for the Tekram DC-395U/UW/F and
DC-315/U PCI SCSI host adapters, which have the Tekram TRM-S1040
ASIC. This driver is written by Rui-Xiang Guo, with some minor changes
by Izumi.

Yannick Montulet's driver for Creative Labs' popular series of
"Sound Blaster Live" sound cards has been committed to
NetBSD-current.
As of now, the MIDI port is not yet supported—this support won't be
difficult to add later.

Brett Lymn has committed changes to dump(8), in NetBSD-current, that allows one
to add timestamps to the informational messages it prints.
Timestamps are enable using the -t flag. The default timestamp is in
%H:%M:%S %Z format (e.g. 13:50:25 UTC). The TIMEFORMAT
environment variable, a customary format string containing commands
for strftime(3), can be used to change the format of dump's timestamp
to your own tastes.

Luke Mewburn and Andrew Brown have finished some major changes to
NetBSD's built-in security auditing system. The system watches a
configurable number of files, and reports changes to them. Reports can
include the changes made for text-based configuration files or general
notifications of changed files e.g. for binary files. Subsystems audited
include the system's network configuration, user authentication
information, disk configuration and many others. Of course, users can
always add more data to monitor if the need arises. See the commit
log entry.

September 2001

Jared D. McNeill has contributed a driver for the Eiger Labs PCMCIA sound
card. The driver uses programmed IO to access the sound card, as the PCMCIA
bus does not allow doing direct memory access (DMA) from the card. Still it
the driver is capable of 8- and 16-bit audio sample playback at rates up
to 44.1kHz. This is the first PCMCIA audio driver available for NetBSD!

Chris Pinnock, <cjep@NetBSD.org>, who will be helping with
htdocs, pkgsrc, and bulk-builds of binary packages. Additionally,
Chris also runs NetBSD www and ISO mirrors located in the UK, and
has been helping out with NetBSD www-team tasks for a while
now.

Alistair Crooks has committed changes to pkg_add(1); adding the
ability to verify the contents of a binary package by using
digital signatures. This has been accomplished by added a
"-s verification-type" command line
argument to pkg_add(1).

The following verification types have been defined:
gpg (pkgsrc/security/gnupg),
pgp5 (pkgsrc/security/pgp5),
and none. Callouts are made to the relevant
programs to verify the contents of the binary package, and
its provenance. You are then asked whether you want to
proceed with the installation. The "none" verification
type is the same as the existing behaviour, and is also the
default - in which case, no verification of the binary package
is done.

Thomas Gerner has committed changes to convert the NetBSD/atari port to ELF. With the
COMPAT_AOUT_M68K kernel option, all your old a.out binaries should
still work. Note that a.out versions of ifconfig(8) and
route(8) will not work due to some structure
alignment problems.

Chuck Silvers has committed a large amount of UVM changes he has been
working on for the past few months, including the vfs_reinit and
softdep-poolification changes that have been discussed recently
on the NetBSD mailing lists.

Most of the changes are related to improving performance and robustness
under load. As an example, on a PC, Chuck saw the elapsed time for
"make release" of a NetBSD 1.5 source tree took 10% less time
than it took under a 1.5 kernel. Additionally, on his DECstation 5000/200,
write throughput showed improvement to within 1% of the rate of NetBSD 1.5.

Jason Thorpe has committed a new driver for the AMD PCnet-PCI family
of Ethernet chips. This driver uses direct DMA to mbufs (like other
PCI network drivers, and unlike the old "le at pci" driver),
and also supports communication with the MII-connected PHYs on the
10/100 boards.

At the last Usenix BSD
MegaBOF, the concept of mailing lists to be used for announcing
changes to the BSD APIs was proposed. The notion was to have a
place where people can post messages about new APIs they were adding
to their flavour of BSD, so that people from other BSDs would be
aware of the activity.

Since then, two mailing lists have been created. One is for
announcements, and the other is for calmy discussing such APIs
and their design.

These two lists are:

bsd-api-announce@wasabisystems.com
bsd-api-discuss@wasabisystems.com

Both lists can be subscribed to via majordomo, and they're both
moderated. More information about the charter of these lists
is available via majordomo by sending a mail with
"info list-name" in the body.

Jun-ichiro itojun Hagino has upgraded sendmail to version 8.11.6 in NetBSD-current.
This version fixes a security problem, reported by SecurityFocus,
regarding command line processing. This vulnerability, present in
all 8.11 and 8.12.0.Beta versions up to 8.11.6 and 8.12.0Beta19, is not
remotely exploitable.

Jason Thorpe has committed support for building Ethernet bridges
to NetBSD-current. Bridges
are configured with a combination of ifconfig(8) and the new
brconfig(8) utility. brconfig(8) can also be used to show a
bridge's status, like so:

Luke Mewburn has committed changes so that mounting opposite-endian
file systems using the FFS_EI kernel option should be significantly
more stable. He has also updated various tools to reflect these
changes (fsck_ffs(8), dump(8), dumpfs(8), etc).

Support for reading and writing FFS in non-native byte order, conditioned
to "options FFS_EI", was added to NetBSD by Manuel Bouyer.
Coupled with Luke's recent changes, one should now be able to fsck,
dump, dumpfs (etc) opposite endian file systems, mount
and use them, and convert them with
'fsck_ffs -B newendian ....'.

Linux Compatibility on BSD for the PPC platform is a
five-part series of articles written by Emmanuel Dreyfus for O'Reilly ONLamp.com. The series
is intended to document various parts of the emulation subsystem,
and to highlight some architecture-dependent issues that can
arise in argument passing, signal handling, and with the way some
system calls work.

Article
One -
Implementation of Linux compatibility on NetBSD/powerpc. [20010510]

The standalone netboot program now supports DHCP in addition to
rarp/bootparams.

“Simulated” software interrupts have been replaced by real “hardware
assisted” software interrupts. This reduces the amount of overhead
on exit from exception handlers.

Numerous pmap tweaks to improve reliability.

The ECC DRAM controller(s) on MVME167/MVME177 (and optional on
MVME162/MVME172) are now fully enabled. The kernel will now detect
and log any errors reported by the controllers. You may need to change
your kernel config files, as the memc(4) driver now attaches at mainbus0
instead of pcctwo0. Note that the memc(4) driver does not yet support
the MEMC040 parity checking memory controllers found on some
boards.

And, of course, completed MVME177 support.

As usual, if you experience any problems, please report them using
send-pr(1) and/or the port-mvme68k
mailing list.

Damon Brodie, <damon@NetBSD.org>, who has been helping with
the NetBSD Packages
Collection for quite some time. He has contributed many
packages and PRs for pkgsrc, particularly regarding perl
modules, X-10, and iButtons.

Takashi Hosokawa, <takashi@NetBSD.org>, who works for Plat'Home CO., LTD.,
a well-known UNIX system solution company in Tokyo, Japan.
At Plat'Home, Takashi has been engaged in developing OpenBlockS,
a PowerPC 860 based micro server. With great affinity,
he has finished a new port of NetBSD to the OpenBlockS micro
server. He will be working on integrating
his new port into the NetBSD source tree, and will take on the
role of NetBSD/openblocks port maintainer. Takashi's other
interests include X11 and internationalization.

Bang Jun-Young, <junyoung@NetBSD.org>, who will be continuing work on
uwscons (universal wscons), a multilingual console driver for
NetBSD. More specifically, uwscons is an expansion to wscons
(NetBSD's platform-independent workstation console driver), which
allows for display of multilingual/encoding text.

Andrew Doran has committed a driver for Mylex AcceleRAID and eXtremeRAID
controllers with v6 and later firmware to NetBSD-current. The driver,
mly, is based off the FreeBSD
driver of the same name, with changes by Thor Lancelot Simon, Eric
Haszlakiewicz, and Andrew Doran.

Jason Thorpe has committed a new driver, to NetBSD-current, for the Sundance
Tech. TC9021 Gigabit Ethernet chip. The chip is found on the D-Link
DGE-550T, and will be on the Antares Gigabit Ethernet when that board
is available.

Jason has tested on both 1000BASE-SX (fiber) and 1000BASE-T (cat5)
sample boards, but has not yet been successful with the 1000BASE-T
version. That said, the 1000BASE-SX version has been working pretty
well.

NetBSD Security Advisories SA2001-009, SA2001-010, SA2001-011, and SA2001-012
have been released. More details,
including information on solutions and workarounds, are located
in each individual security advisory.

The fixes for SA2001-009, SA2001-010, and SA2001-011 are all present
in NetBSD 1.5.1. SA2001-012 affects releases up to and including
NetBSD 1.5.1.

Havard Eidnes has put together an unofficial snapshot of XFree86
version 4.0.3 built on NetBSD/i386 1.5.1. This is built from the
xsrc tree just before the 4.1 version was imported. The
build tree was subsequently modified to include Matrox's
drivers. This means that the Matrox G450 cards are supported,
instead of being probed and "refused", as would be the case with
plain 4.0.3.

Also, Hubert Feyrer has put together an unofficial snapshot of
XFree86 version 4.1.0 built on NetBSD/i386 1.5.1. This snapshot
is based on the 4.1.0 sources in the xsrc tree as of 2001-07-09.

The XFree86 4.0.3/4.1.0 snapshots for NetBSD/i386 1.5.1 are available in
the NetBSD/i386 snapshot
area of the ftp server. The files xfree403+.tgz
and xfree410.tgz are tar files to be extracted from /,
and which contain bits which will only go into usr/X11R6.

Matt DeBergalis, <deberg@NetBSD.org>, has volunteered to
take on the role of NetBSD/next68k port maintainer.

Leaving the position of next68k port maintainer, due to time
constraints, is Darrin B. Jewell. Darrin will still be contributing
to the next68k port by fixing bugs and answering questions on the
mailing lists, among other projects.

A Tour through the NetBSD Documentation is a four-part
series of articles by Hubert Feyrer. These articles offer an
introduction to all the documentation that's shipped in a NetBSD
1.5.x system. The first two articles are introductions to Manual
Pages and Info Pages. The third article gives an overview of the
available documents and papers in troff or nroff format from the
large collection of historic and current documentation available
in NetBSD. The last article in the series goes through some of the
other locations for NetBSD Documentation in a 1.5.x system, and on
the NetBSD web site.

Luke Mewburn was also a part of the scripting technical session; his
presentation was entitled, "The Design and Implementation of the NetBSD
rc.d System". In Ellen Siever's "Usenix
Technical Session Wrap-Up" article, she talks briefly about
Luke's presentation. Luke's paper can be found at the Usenix 2001 web site,
in both HTML and PDF formats, under FREENIX
Track Refereed Papers (requires USENIX membership). The paper
may also be found in PDF format
at Luke's own web site.

Last week, a port of NetBSD to the x86-64 (tm) architecture was
committed to the NetBSD CVS repository. The x86-64 is AMD's
upcoming 64-bit line of CPUs. For now, it is only known to work
on the Virtutech simulator, since no x86-64 hardware is available
yet. In this environment, it runs multi-user.

NetBSD/x86_64 is the 44th architecture that NetBSD runs on.

The porting was done by Frank van der Linden of Wasabi Systems,
with kind support from AMD, who provided the simulator and fast
machines to run it on.

Hubert Feyrer has improved the Subject: lines for the commit message
mailing lists (pkgsrc-changes,
source-changes, and www-changes). All commit messages
still include any optional branch, but also now include the least common
path of directories affected by the commit (as opposed to just the
module name):

Jason Thorpe has committed a new driver, to NetBSD-current, for the Sundance
Tech. ST-201 10/100 Ethernet chip. The chip is found on the D-Link
DFE-550TX board, which is what Jason has tested the new driver on:

Jason Fink, <jrf@NetBSD.org>, who's already been contributing
to the NetBSD Guide
and the NetBSD web site, and will be continuing his efforts to help
build and improve our documentation. In addition to documentation,
he'll still be helping out with testing and helping debug kernel
patches, and with tracking NetBSD-current.

MAEKAWA Masahide, <gehenna@NetBSD.org>, who has been working
on USB improvements. He is now developing a dynamic assignment
framework of devsw.

YAMAMOTO Takashi, <yamt@NetBSD.org>, who has sent in several
PRs via send-pr(1), covering everything from device drivers
to userland programs. He'll be mainly working on i18n.

Jaromír Dolecek has committed a port of the high performance
pipe implementation, written by John S. Dyson for the FreeBSD Project, to NetBSD-current. It's optional
at the moment, and you'll need to add 'options NEW_PIPE' to
your kernel configuration file if you wish to use it.

The speed enhancement between the old socketbased-pair implementation
and this one ranges from 20% to 300%, with machines having a slow CPU
receiving the most notable boost. Since the new pipe implementation
was changed to take advantage of UVM uvm_loan() facilities to avoid
one memory to memory copy, all machines should see a performance
improvement.

After further testing, this new implementation is planned to become
the default.

On June 7th, 2001, a BSD BoF was held as one of the night sessions at
NetWorld+Interop Tokyo. Over
300 people attended in person, 50-100 people attended over IRC
(volunteers typed the discussions to a couple of IRC channels), and some
watched the discussion over RealVideo transmission. Jun-ichiro itojun
Hagino wrote up a summary of
the BSD BoF at NetWorld+Interop Tokyo.

Matt Thomas has committed a new pmap module for the PowerPC 60x, 7xx (G3),
74xx (G4) CPUs to NetBSD-current.
The new pmap is simpler and faster than the previous pmap module it
replaced. As an example, with the new pmap module, kernel time on a
GENERIC NetBSD/macppc kernel build dropped
by 40%.

Also in Matt's commits were organization changes. In the near future,
support for PowerPCs with different MMUs will be added to NetBSD. In
preparation for this, the new pmap and its files were placed in two new
directories: sys/arch/powerpc/mpc6xx and sys/arch/powerpc/include/mpc6xx.
The MPC6xx dependent header files in powerpc/include (bat.h, hid.h,
hid_601.h, pte.h) have been moved to powerpc/include/mpc6xx along with
the mpc6xx specific pmap.h.

A new kernel configuration option has been defined (PPC_MPC6XX) and has
been added to std.<port> for the bebox
and macppc ports. The prep port will be updated soon.

Jason Thorpe has committed his changes to support in-bound and
out-bound IPv4, TCP, and UDP checksumming to NetBSD-current. It is
currently supported on the NatSemi DP83820 Gigabit Ethernet
(gsip), 3Com Etherlink XL (ex), and Alteon
Tigon/Tigon2 Gigabit Ethernet (ti). There is also
support for caching the IPv6 pseudo-header checksum, which
should save some CPU time for IPv6 users, as well.

If you have any problems with these changes, please report them
with send-pr(1).

May 2001

Anders Magnusson got his VAX 8350 to use all three processors.
From the testing done so far, the system works quite fine. Most
of the code is in the source tree already, the rest will undergo
a bit more cleanup and polishing, and will then be committed to
the development branch, NetBSD-current.

The VAX 8350 system is probably the slowest multiprocessor system
that NetBSD will ever support; each CPU does about 2VUPS (~2MIPS).
Note that the 8350 normally only has two CPUs, the third one was
plugged in for testing purpose.

It shouldn't be too hard to make NetBSD/vax running on some funnier
machines, like the 8800, which has two 6VUPS KA88 CPUs, and the
6000 series, which can take up to six CPUs with upto 32VUPS
altogether. Stay tuned!

For curious parties, there's a dmesg(8) and top(1) output below.
Also, for all the youth
out there spoiled by workstations and PCs, here are a few pictures
showing what a real computer looks like:

Here's a VAX 8800 (the four rightmost sections with brown top),
the 8350
Anders has been working with, and here's a picture of a
6000,
merely a 6320 (two CPUs with 4 VUPS each).

Update 06/01: Jason Thorpe, the NetBSD/algor port maintainer,
has added support for the Algorithmics P-4032 board. This new
support is untested as Jason doesn't have a P-4032 yet.

Jason Thorpe has ported NetBSD to the Algorithmics MIPS evaluation boards.
The new port is called NetBSD/algor, and it currently supports the
P-5064, which has a QED RM5xxx CPU soldered on.

There is some skeletal support for the P-4032 (an older board, which has
an R4xxx CPU). There are some placeholders for the P-6032, which is
their newest board, but no real code yet (the P-6032 has a different PCI
controller, the Algorithmics BONITO).

There are still some issues with the NetBSD/algor kernel (apparently
softintr-related), but it works well-enough to self-host.

Thank you to Allegro Networks
for loaning Jason a P-5064 board on which to do the port.

NetBSD Security Advisories SA2001-006, SA2001-007, and SA2001-008
have been released. More details,
including information on solutions and workarounds, are located
in each individual security advisory.

The fixes for these have been pulled up to the netbsd-1-5
branch, and will be in the NetBSD 1.5.1 release.

NetBSD
Security Advisory SA2001-006 -
Malicious parties may be able to prevent a NetBSD node from
communicating with other nodes by transmitting a lot of bogus
fragmented IPv4 packets.

NetBSD
Security Advisory SA2001-007 -
IP Filter (ipf), the IP packet filtering software in NetBSD, has a
bug where the checks on a fragmented packet are incomplete and
it may be possible to abuse this to bypass filter rules.

NetBSD
Security Advisory SA2001-008 -
Missing validation of user-supplied arguments to a system call can
allow user applications on the sh3 platform to execute code with
supervisor privileges, bypassing normal system protections.
This problem is only present on the sh3 platform, which includes
the dreamcast, evbsh3, hpcsh and mmeye ports.

A new release of lukemftpd, a port of the enhanced NetBSD ftp
server to older versions of NetBSD and to foreign systems (such as
Solaris and Linux), is now available. lukemftpd uses an autoconf
configure script and replacement library for systems which don't have
NetBSD-specific library functions.

Jason Thorpe has committed a driver for the National Semiconductor
DP83820 Gigabit Ethernet chip to NetBSD-current. This chip is found
on several low-cost Gigabit Ethernet boards, including the
NetGear GA-622 and the Asante FriendlyNet GigaNIX boards.

Jason hasn't written a driver for the PHY yet, but you should still
be able to use the case in 100base and 1000base modes. There is
still some tuning to do for this driver, but it certainly works well
enough for people to use now.

Chuck Silvers has committed changes to convert the NetBSD/next68k port to ELF. With the
COMPAT_AOUT_M68K kernel option, all your old a.out binaries should
still work. Note that a.out versions of ifconfig(8) and
route(8) will not work due to some structure
alignment problems.

No full NetBSD/next68k ELF snapshot has been made available yet, but
you can grab the NetBSD/sun3 ELF snapshot at:

Rafal K. Boni has added a lot of new support to NetBSD/sgimips
that has been committed to NetBSD-current. Most notably is new
support for the IP22 (Indigo2, Indy, Challenge S). A list of all
the major new additions is as follows:

Support for the IP22 (Indigo2, Indy, Challenge S)

Support for the HPC I/O peripheral ASIC. There is where SCSI,
Ethernet, etc. live on the Indigo2 and Indy

Support for the Seeq 8003 Ethernet attached to the HPC ASIC,
found on the Indigo2 and Indy

Support for the Dallas 1286 clock found on the Indigo2 and
Indy

IOC1/2 memory map

Support for the Indigo2/Indy IMC (this is that to which all other
devices are attached)

10 May 2001 - Paper about Linux Compatibility on BSD for the PPC platform (top)

Update 05/18: Note availability of second article.
06/08: Third article is available. 06/21: Fourth
article is available. 08/15: Fifth and final article
in the series is now available.

Linux Compatibility on BSD for the PPC platform is a
series of articles written by Emmanuel Dreyfus for O'Reilly ONLamp.com. The series
is intended to document various parts of the emulation subsystem,
and to highlight some architecture-dependent issues that can
arise in argument passing, signal handling, and with the way some
system calls work.

Article
One -
Implementation of Linux compatibility on NetBSD/powerpc.
[20010510]

On April 6th, the release cycle for NetBSD 1.5.1 started. NetBSD 1.5.1
will be a patch release,
improving stability and fixing bugs in NetBSD 1.5.

The release cycle started with a thorough testing period of the
netbsd-1-5 branch. This was NetBSD 1.5.1_BETA; and so far
it looks to have been successful. During this period, the 1.5.1
source tree did see some activity - as documentation was updated,
a couple of bugs were fixed, and some drivers from the trunk (NetBSD-current) were pulled up
to the netbsd-1-5 branch. A complete
list of changes to the netbsd-1-5 branch from the release
of NetBSD 1.5 through the end of NetBSD 1.5.1_BETA is available.

What will happen now are 1.5.1_BETA2 snapshots. This is to ensure
that the fixes and additions during NetBSD 1.5.1_BETA sit well (there's
no reason to believe otherwise, but better safe than sorry). The
1.5.1_BETA2 snapshots will be appearing shortly (both the relevant
port pages and this news entry will be updated when they're available).
If you can, please test these.

The 1.5.1_BETA2 source tree is the netbsd-1-5 branch as
it is now. If you want to retrieve it - anoncvs, ftp, and sup are
three ways for you to do so.

anoncvs: If you want to retrieve the NetBSD 1.5.1_BETA2 source
code using anoncvs, update your source tree using the
"-r netbsd-1-5" flag to the cvs "update" command, or check out a
separate tree using this flag to the "checkout" command. If you
want to update your 1.5.1_BETA2 source tree, you should always use
the "-r netbsd-1-5" flag to make sure you aren't retrieving
NetBSD-current mistakenly.

ftp: On the FTP server, the 1.5.1_BETA2 source tree is
available in the /pub/NetBSD/NetBSD-release-1-5/
directory. The extracted sources are updated daily, and the tar
files are updated weekly.

sup: For people who want to retrieve the 1.5.1_BETA2 source
tree via SUP, you'll want the "release-1-5" collection.

The planned release date of NetBSD 1.5.1 is after 1.5.1_BETA2. This
most likely means early June.

In January 2001, Matthew Fredette began porting NetBSD to the Sun Microsystems Sun 2 series of
computers. These machines are based on the Motorola 68010 CPU with
a Sun-designed custom MMU, and were sold as both servers
and desktop workstations from the early to mid 1980's. They were
superceded by the Sun 3 systems, which are supported by NetBSD under
the NetBSD/sun3 port.

After some work, Matt had his new port booting multiuser; and in
April 2001 he began merging it into the NetBSD tree.

April 2001

Tim Rightnour has committed new networking configuration and
processes menu structures to sushi. In addition, a new
sysctl form has been added to the existing system
menu structure.

Sushi is an interactive, menu-based program that is
designed to aid the user or administrator with administrative
and complex tasks on their machines.
Sushi provides a menu of various functions that the user can perform on
his or her machine. Once the user selects a desired function, the
function is either performed outright, or in most cases, the user is
asked to fill in a simple form with required and optional information,
which is then processed by sushi, and the action occurs.

The new networking configuration menu structure allows sushi to do
tasks like edit /etc/exports, modify NIC configuration, and setup
YP/NIS. The processes menu structure will allow starting /
stopping / showing / restarting of things in /etc/rc.d. The new
sysctl form in the system menu structure allows a user to both set
sysctl's interactively, and save them in /etc/sysctl.conf.

People running a NetBSD system with sushi already installed can
update their menu structures easily by running 'make install'
in 'sharesrc/share/sushi'. Of course if you do a 'make
build' or install a snapshot based on NetBSD-current sources
past 2001-04-26, you'll get the updated menus also.

Manuel Bouyer has merged the thorpej_scsipi branch in NetBSD-current. The
thorpej_scsipi branch was created for a complete rewrite of
the SCSI/ATAPI mid-layer. After the merge today, that rewrite
is now in NetBSD-current. The following is an overview of the
changes and features:

All xfers are queued in the mid-layer, rather than doing so in
an ad-hoc fashion in individual adapter drivers.

Adapter/channel resource management in the mid-layer, avoids
even trying to start running an xfer if the adapter/channel doesn't
have the resources.

Better communication between the mid-layer and the adapters.

Asynchronous event notification mechanism from adapter to
mid-layer and peripherals.

Kernel thread for each scsipi_channel makes error recovery much
easier (no more dealing with interrupt context when recovering from
an error).

Mid-layer support for tagged queueing: commands can have the tag
type set explicitly, tag IDs are allocated in the mid-layer (thus
eliminating the need to use buggy tag ID allocation schemes in many
adapter drivers).

Support for QUEUE FULL and CHECK CONDITION status in mid-layer;
the command will be requeued, or a REQUEST SENSE will be sent as
appropriate.

The core scsipi is well tested, but a number of HBA drivers need
testing. If you encounter any problems please report them with
send-pr(1) and they'll get handled as soon as possible.

FSMLabs announced that its
RTLinux operating system is now available with a NetBSD component.
The new RTLinux on BSD (RTL/BSD) uses NetBSD as its general purpose OS.

RTLinux is a 'high speed, efficient and small realtime kernel' based
on the POSIX 10003.13 PS51 specification. Using a patented
dual-kernel design, RTLinux runs a general purpose OS as the lowest
priority thread of the realtime kernel.

FSMLabs Principal Engineer Michael Barabanov stated that "RTLinux
applications can transparently make use of either Linux or
BSD. We are very happy to be able to be able to give customers this
additional choice."

RTL/BSD is available from FSMLabs
and is provided with source code, under a binary distribution
license.

Jason Thorpe has gotten multiprocessor NetBSD/alpha kernels to go multi-user,
running both user and kernel code on multiple processors. So far,
through a kernel build and full userland build, it seems pretty
stable.

All the code to make this work has been committed to NetBSD-current,
and testing so far has been on an AlphaServer 1200. This is the same
systype as the AlphaServer 4100, so MP configurations of that should
also work well.

Systems that should work in an MP configuration:

AlphaServer 1200

AlphaServer 4100

DEC/Alpha Processor, Inc. DP264

DEC/Alpha Processor, Inc. UP2000

DEC/Alpha Processor, Inc. UP2000+

API CS20

Compaq DS20

The AlphaServer 8200/8400 won't work yet. There are a couple fixes
which will need to be done before the 8200 and 8400 will work in an
MP configuration.

More information, including dmesg output from Jason's system, is
available in his announcement in the tech-smp
mail archive.

Frank van der Linden has created a VMware compatibility package for
NetBSD/i386. The package consists of
a set of kernel modules and scripts that will allow owners of the
Linux version of VMware to run their binaries under NetBSD. To use
this software, a user will need to buy a copy of VMware for Linux
and download and install the VMware compatibility package. This
can be downloaded at:

If you're not running NetBSD-current or NetBSD 1.5.1_BETA, you'll
need to run a 1.5 branch kernel (based on netbsd-1-5 sources
after March 31st, 2001) also. You can either compile that
yourself, or just grab the kernel from the NetBSD/i386 1.5.1_BETA
snapshot.

Alistair Crooks has made some more structural changes to the
pkgsrc system. All the distfile and distpatch digests have been
moved from files/md5 into a new file called distinfo.
Also, if applicable, the digests for any patches have been moved
from files/patch-sum to distinfo also.

These changes mean that, due to information being centralized in
the distinfo file, there are a reduced number of files in
pkgsrc. You'll see that in the majority of cases there will be
no files/ subdirectory in packages now. Also, you should see a
corresponding speedup in extraction from the pkgsrc.tar.gz file,
and any cvs updates should also be quicker now.

NetBSD/sandpoint is a new port of NetBSD to the MotorolaSandpoint
reference platform.

The Sandpoint is a reference platform designed by Motorola to help
people develop hardware and software around various PowerPC processors.
The basic system is an ATX form-factor motherboard with standard PC
devices (IDE, floppy, serial, parallel), 4 PCI slots, and a mezzanine
slot to which several different processor modules may be attached.

Two processor modules have been tested with this port: The "Unity"
module with the MPC8240, and the "Altimus" with MPC7400 (G4) and MPC107.

Allen Briggs is the NetBSD/sandpoint port maintainer. His porting
efforts were sponsored by Wasabi Systems; who've put
out their own press
release regarding NetBSD/sandpoint.

Masanori Kanaoka, <kanaoka@NetBSD.org>, who will be working on
CardBus improvements and miscellaneous device drivers.

KAWAMOTO Yosihisa, <kawamoto@NetBSD.org>, who has already done a
substantial amount of Japanese translation work with the Japan NetBSD
Users' Group. Yosihisa will be working on the Japanese
translation of the NetBSD web site.

The first release of lukemftpd, a port of the enhanced NetBSD ftp
server to older versions of NetBSD and to foreign systems (such as
Solaris and Linux), is now available. lukemftpd uses an autoconf
configure script and replacement library for systems which don't have
NetBSD-specific library functions.

More information is available in the README present in the lukemftpd
1.0 distribution, and in Luke Mewburn's announcement in the current-users
mail archive.

Today, the release cycle for NetBSD 1.5.1 has started. NetBSD 1.5.1
will be a patch release,
improving stability and fixing bugs in NetBSD 1.5.

A complete
list of changes, so far, from NetBSD 1.5 to NetBSD 1.5.1 is
available. It is planned that what is now on the netbsd-1-5
branch, after a thorough testing period, will be NetBSD 1.5.1.

The testing period has started now; 1.5.1_BETA snapshots for NetBSD/alpha and NetBSD/i386 are available via ftp, and
snapshots for other ports will show up soon. Please test these
if you can, and report any bugs you find via send-pr(1).

The 1.5.1 source tree (which is the netbsd-1-5 branch as it
exists now) is available to you in a number of ways - three of which
are anoncvs, ftp, and sup.

anoncvs: If you want to retrieve the NetBSD 1.5.1 source
code using anoncvs, update your source tree using the
"-r netbsd-1-5" flag to the cvs "update" command, or check out a
separate tree using this flag to the "checkout" command. To be
sure that you get the 1.5.1 source tree, you should always use the
"-r netbsd-1-5" flag.

ftp: On the FTP server, the 1.5.1 source tree is available
in the /pub/NetBSD/NetBSD-release-1-5/
directory. The extracted sources are updated daily, and the tar
files are updated weekly.

sup: For people who want to track the 1.5.1 source tree
via SUP, you'll want the "release-1-5" collection.

The planned release date of NetBSD 1.5.1 is sometime in early May granted
no major problems are found; else a BETA2 may be cut first, to give
a further opportunity to test.

There will be a few changes to the 1.5.1 source tree as bugs found in
the testing period are fixed and documentation is updated. You may wish
to follow the source-changes
mailing list (also available in digest form) to keep up with any
commits to the netbsd-1-5 branch. These commits are to a branch,
so you'll see "[netbsd-1-5]" in the Subject: lines of any commits updating
what will be NetBSD 1.5.1.

NetBSD Security Advisory SA2001-004 has been released. It contains a
description and a patch for a buffer overflow vulnerability in
the NTP time synchronisation daemon which (if it is running) could
lead to remote root compromise.

Andrew Brown, <atatat@NetBSD.org>, who has already contributed
numerous patches to NetBSD, and will continue working on general
improvements.

Chris Gilbert, <chris@NetBSD.org>, who has been instrumental in
organizing NetBSD's presence at various Acorn shows (the next
one being Wakefield
2001 on May 19th and 20th). Chris will be contributing to NetBSD/arm32 in general, and support for
the Castle Kinetic board in particular.

Izumi Tsutsui has committed changes to convert the NetBSD/news68k port to ELF. With the
COMPAT_AOUT_M68K kernel option, all your old a.out binaries should
still work. Note that a.out versions of ifconfig(8) and
route(8) will not work due to some structure
alignment problems.

The Test Drive Program is a free service of Compaq, with the main purpose of
providing developers with access to new Compaq hardware running
a variety of operating systems and applications. After you
register, you can get a free shell account which you can use to log into
the systems on their Test Drive network and try out the software and
operating systems running on them. More information on what the Test
Drive network is, and what you can do with your account, is located in
the Test Drive
FAQ.

NetBSD 1.5 is the latest formal
release of NetBSD, which includes many significant new features and
enhancements. You can try NetBSD/alpha
1.5 running on an AlphaServer DS-10L
and see if NetBSD supports your software, or if it's something you'd
like on your own system.

Tamura Kent, <kent@NetBSD.org>, who is one of the most active
developers of the PEACE
Project, an effort to provide a Win32 API implementation
on NetBSD. In the NetBSD Project, he will
be working on reflecting their activity to the NetBSD Project,
especially on the toolchain and development environment.

Emmanuel Dreyfus has integrated the Linux
compatibility feature for the NetBSD PowerPC ports (macppc, prep, bebox,
ofppc, and amigappc). Linux compatibility on the PowerPC is still an
experimental feature, but some real world applications such as Netscape
Communicator already work. Now, it is time to crash test your favourite
application and to report problems if you want the Linux compatibility
to be really reliable.

In order to enable Linux compatibility for NetBSD/PowerPC, you need to
upgrade your kernel to NetBSD-current, rebuild it with the COMPAT_LINUX
option, and install the emulators/linuxppc_lib package. More details are
available at http://gizmo.minet.net:8080/emul_linux/.

"Add UBC memory-usage balancing. We track the number of pages in use for
each of the basic types (anonymous data, executable image, cached files)
and prevent the pagedaemon from reusing a given page if that would reduce
the count of that type of page below a sysctl-setable minimum threshold.
The thresholds are controlled via three new sysctl tunables:
vm.anonmin, vm.vnodemin, and vm.vtextmin. These tunables are the
percentages of pageable memory reserved for each usage, and we do not
allow the sum of the minimums to be more than 95% so that there's always
some memory that can be reused."

This should fix a lot of the interactive performance problems that people
have been reporting. Hopefully the default settings for the new sysctl
tunables will be reasonable for everyone, but if anyone finds that
things are much better with different settings, please post about it
to the tech-kern mailing list.

Chuck Silvers has committed changes to convert the NetBSD/sun3 port to ELF. With the
COMPAT_AOUT_M68K kernel option, all your old a.out binaries should
still work. Note that a.out versions of ifconfig(8) and
route(8) will not work due to some structure
alignment problems.

NetBSD-SA2001-002 describes a vulnerability that could lead to
local root compromise on i386 systems with the
USER_LDT kernel option enabled.

NetBSD-SA2001-003 describes NetBSD's vulnerability position
with regard to various implementations of the Secure Shell (SSH)
daemon, either integrated releases or via pkgsrc. It also
describes a requirement for all users to ensure that the rnd(4)
device is properly configured to prevent weak random number
generation by integrated SSH and OpenSSL on NetBSD-1.5.

These advisories both contain recommendations that may require
some users to rebuild kernels; they have been released together so
that users can apply both fixes in the one kernel build if
necessary.

Please welcome Simon Burge to the NetBSD/pmax co-port-maintainer position.
Simon has been a long-term contributor to the pmax port (and
NetBSD in general), and has effectively performed many of the
pmax port-maintainer tasks, including building the past few
NetBSD/pmax releases.

NetBSD-SA2001-001 has been released, which documents the
vulnerabilities and upgrade procedures to correct the recent BIND
problems. This contains no new vulnerabilities beyond those
addressed by the recent upgrade to BIND
8.2.3.

Michael Kukat
has written support for a bunch of new system models in NetBSD/vax.
Among those newly supported are MicroVAX 3100m90,
MicroVAX 3100m95, VAX 4000/100, VAX 4000/105A, VAX 4000/108,
VAX 4000/400, VAX 4000/500 and VAX 4000/600.

Update: BIND has been upgraded to 8.2.3 on both the netbsd-1-4
and netbsd-1-5 branches. This means that in addition to the next major release and pkgsrc, this will also
be available in the 1.4.4 and 1.5.1 patch
releases as well.

We already have support for singlebyte encodings, like ISO-8859-1 or KOI8-R.

Now we should be able to start attacking other work areas, like wide
character stdio functions (like fgetwc), wide character curses/regex
functions, other locale types like LC_TIME and LC_COLLATE, more
locale definition files, and so forth.

Note: To avoid code footprint bloat, we disabled multibyte
LC_CTYPE locale support for statically linked binaries. Statically
linked binaries can still enjoy singlebyte LC_CTYPE locale support
(like "fr_FR.ISO8859-1"). In the future, when NetBSD supports
dlopen() from within statically linked binaries, we may be able to
support multibyte LC_CTYPE locale from statically linked binaries.

Thanks to the efforts of Guillain Seuillot, the NetBSD Guide now has a French
translation, in addition to the current English
and Italian
versions. In addition to HTML format, Federico Lupi's NetBSD Guide may
also be downloaded
in PostScript or RTF format.

The 3rd party software team of the NetBSD Project is proud to be able to
provide a 2-CD-set with precompiled binary packages for the i386 port of
NetBSD 1.5. The CDs are based on the NetBSD Packages Collection (pkgsrc)
as of start of January 2001. At that time, pkgsrc included almost 1800
applications ranging from shell tools over mail, web and other server
software, various programming languages and a lot of programs for
scientific applications to productivity software like KDE and the GNOME
desktop environments, the Mozilla web browser and the GNU image
manipulation program, GIMP. Many applications are ready for IPv6 to
explore the full potential of NetBSD 1.5.

Connectix Virtual
PC is a PC emulator for Macs. It emulates the behaviour of a fairly
standard PC, including text mode video, graphics, and sound. It's
totally software based, and it acts like a computer similar to a PC.

Peter Seebach tried to get "VirtualPC with Linux" working with NetBSD,
and found it was quite functional. What does this mean? It means you
can run NetBSD/i386, either in a window or
full-screen, under Mac OS.

Peter contributed an image of NetBSD/i386 running on his PowerMac to
the NetBSD in action gallery.
Later he wrote an article for BSD Today entitled BSD on
Virtual PC. The article mainly focused on how usable it is, and
had some more (very nice) screenshots.

Thank you to Connectix for their
willingness to work with the BSD community. The folks at Connectix did
a fair amount of work between version 3 and version 4 to make NetBSD work
better even though NetBSD is not officially supported by them.

The ISDN4BSD ISDN subsystem, which is also integrated into FreeBSD,
has been brought into shape for NetBSD and imported into NetBSD-current.
Drivers are available for a multitude of ISA, PCI, and PCMCIA cards.
Currently only the EuroISDN (DSS1) variant is supported, which means
there's some needed work for the protocol variants used in the U.S.

Update: Amiga Zorro-Bus driver support for ISDN4BSD has
been committed also. To take advantage of this, you'll need
NetBSD-current as of 20010122. After that, the documentation
links above will provide you with further instructions.

IMPORTANT NOTICE: For those who use the "all" or "all-export"
release of the SUP "mirror" collection, for the first SUP transfer
after the switch, please use the "-o" option for the "sup" command or
use "old" option for your SUP configuration file. Also, it is not
recommended to rename existing directories for those "all" or
"all-export" users, unless you have a understanding of how SUP works
(if you will rename the existing directories, you have to re-create
SUP "last" file).

Simon Burge has committed changes to convert the NetBSD/hp300 port to ELF. With the
COMPAT_AOUT_M68K kernel option, all your old a.out binaries should
still work. Note that a.out versions of ifconfig(8) and
route(8) will not work due to some structure
alignment problems.

The instructions that Steve Woodford put together when the NetBSD/mvme68k port switched to ELF should
also apply as far as building the toolchain for NetBSD/hp300. A modified
version of those instructions can be found at:

In July, Saitoh Masanobu <msaitoh@NetBSD.org>, a developer in Japan,
successfully booted the NetBSD kernel on his Dreamcast, a game console
made by SEGA Corporation. The port used was the NetBSD/evbsh3 port
for evaluation boards using the Super-H processor family also used in
the SEGA Dreamcast. Although this port contained no code specific to
the Dreamcast, the fact that the CPU contained builtin peripheral
modules such as timers and serial ports meant that the generic code
could still make a working system with a serial port console.

The Dreamcast port has now been split from the NetBSD/evbsh3 port into
a port in its own right. This means that the work on support for
Dreamcast-specific hardware can now begin. The Dreamcast port can boot
up in single-user mode from a ramdisk (and play Rogue!), but since the
serial port is still the only supported hardware device, it is not yet
very useful to end users. Please see below for a current dmesg
output.

The NetBSD/dreamcast port has been made possible by the developers of
NetBSD/sh3:

If you're interested in keeping up-to-date on the progress of this port,
or in becoming a part of the development efforts, there's now a separate
mailing list for the Dreamcast: port-dreamcast@NetBSD.org. This list can
be subscribed to either on the
NetBSD web
site or by sending a mail with the body of "subscribe port-dreamcast"
to majordomo@NetBSD.org. More information will soon be available on the
NetBSD/dreamcast port
page.

Tim Rightnour has written and imported sushi - an interactive, menu-based
program that is designed to aid the user or administrator with
administrative and complex tasks on their machines.

Sushi provides a menu of various functions that the user can perform on
his or her machine. Once the user selects a desired function, the
function is either performed outright, or in most cases, the user is
asked to fill in a simple form with required and optional information,
which is then processed by sushi, and the action occurs.

The programming interface for sushi is very simple. There are
directories containing various files, such as menu indexes, or forms for
the user to fill out. These files are interpreted by sushi to generate
the menus the user sees on his/her screen. When the form is filled out
by the user, the entries are passed as command-line arguments to a
program, or script contained in one of the subdirectories. In this way,
it is possible to add new entries to the sushi menu structure, by simply
adding a new menu item, form and script, the binary does not need to be
recompiled to take advantage of this new menu.

Update: People interested in trying sushi out on their machines
will need to upgrade their machines to -current as of 01/06/2001 (or wait
for the next -current snapshot). A number of extensive changes in
libcurses were made, as well as the addition of the CDK and libform
supporting libraries. The binary itself is installed into /usr/sbin, and
the menu structures are installed into /usr/share/sushi. The menu
structures will be installed normally as part of a make build, out of
the sharesrc CVS module.

If you do try out this development version of sushi, please send any
problem reports via send-pr(1). If you wish to develop menu items for
sushi, these may be submitted via send-pr(1) as well.

Brett Lymn has implemented the a curses base forms library which
forms part of the ETI suite of libraries (originally done by AT&T).
This library provides a terminal independent forms interface for
character terminals.