There are currently three active/semi-active branches in the FreeBSD
To make a release you need to do three things: First, you need to
be running a kernel with the Second, you have to have the whole CVS repository at hand.
To get this you can use Then run Finally, you need a chunk of empty space to build into. Let's
say it's in /some/big/filesystem, and from the example
above you've got the CVS repository in /home/ncvs:
An entire release will be built in
/some/big/filesystem/release and you will have a full FTP-type
installation in /some/big/filesystem/release/R/ftp when you're
done. If you want to build your SNAP along some other branch than
-current, you can also add
The entire process of creating installation disks and source and
binary archives is automated by various targets in
/usr/src/release/Makefile. The information there should
be enough to get you started. However, it should be said that this
involves doing a ``make world'' and will therefore take up a lot of
time and disk space.
Yes, this is the general idea; as its name might suggest,
``make world'' rebuilds every system binary from scratch, so you can be
certain of having a clean and consistent environment at the end (which
is why it takes so long).
If the environment variable ${DESTDIR}.
Some random combination of shared libraries modifications and
program rebuilds can cause this to fail in ``
The Adaptec 1542 SCSI host adapters allow the user to configure
their bus access speed in software. Previous versions of the
1542 driver tried to determine the fastest usable speed and set
the adapter to that. We found that this breaks some users'
systems, so you now have to define the ``
Yes, you can do this
Newer BSD based systems have a ``Here is an example from /usr/src/Makefile.
Please take a look at And thanks for the thought!
By: In a nutshell, there a few I/O ports that all of the PnP boards
respond to when the host asks if anyone is out there. So when
the PnP probe routine starts, he asks if there are any PnP boards
present, and all the PnP boards respond with their model # to
a I/O read of the same port, so the probe routine gets a wired-OR
``yes'' to that question. At least one bit will be on in that
reply. Then the probe code is able to cause boards with board
model IDs (assigned by Microsoft/Intel) lower than X to go
``off-line''. It then looks to see if any boards are still
responding to the query. If the answer was ``The IDs are two 32-bit fields (hence 2ˆ64) + 8 bit checksum.
The first 32 bits are a vendor identifier. They never come out
and say it, but it appears to be assumed that different types of
boards from the same vendor could have different 32-bit vendor
ids. The idea of needing 32 bits just for unique manufacturers
is a bit excessive.
The lower 32 bits are a serial #, ethernet address, something
that makes this one board unique. The vendor must never produce
a second board that has the same lower 32 bits unless the upper
32 bits are also different. So you can have multiple boards of
the same type in the machine and the full 64 bits will still be
unique.
The 32 bit groups can never be all zero. This allows the
wired-OR to show non-zero bits during the initial binary search.
Once the system has identified all the board IDs present, it will
reactivate each board, one at a time (via the same I/O ports),
and find out what resources the given board needs, what interrupt
choices are available, etc. A scan is made over all the boards
to collect this information.
This info is then combined with info from any ECU files on the
hard disk or wired into the MLB BIOS. The ECU and BIOS PnP
support for hardware on the MLB is usually synthetic, and the
peripherals don't really do genuine PnP. However by examining
the BIOS info plus the ECU info, the probe routines can cause the
devices that are PnP to avoid those devices the probe code cannot
relocate.
Then the PnP devices are visited once more and given their I/O,
DMA, IRQ and Memory-map address assignments. The devices will
then appear at those locations and remain there until the next
reboot, although there is nothing that says you can't move them
around whenever you want.
There is a lot of oversimplification above, but you should get
the general idea.
Microsoft took over some of the primary printer status ports to
do PnP, on the logic that no boards decoded those addresses for
the opposing I/O cycles. I found a genuine IBM printer board
that did decode writes of the status port during the early PnP
proposal review period, but MS said ``tough''. So they do a
write to the printer status port for setting addresses, plus that
use that address +
Several different groups have expressed interest in working on
multi-architecture support for FreeBSD and some people are
currently working on a port of FreeBSD to the ALPHA, with the
cooperation of DEC. For general discussion on new architectures,
- use the <platforms@FreeBSD.ORG>
+ use the <freebsd-platforms@FreeBSD.ORG>
.
This depends on whether or not you plan on making the driver
publicly available. If you do, then please send us a copy of the
driver source code, plus the appropriate modifications to
files.i386, a sample configuration file entry, and the
appropriate
It doesn't. You might mean ``why does my swap seem full?''. If that is what you really meant, it's because putting stuff in swap rather than discarding it makes it faster to recover than if the pager had to go through the file system to pull in clean (unmodified) blocks from an executable.
The actual amount of dirty pages that you can have in core at
once is not reduced; the clean pages are displaced as necessary.
To understand why FreeBSD uses the a.out format, you must
first know a little about the 3 currently "dominant" executable
formats for UNIX:
The oldest and `classic' unix object format. It uses a
short and compact header with a magic number at the beginning
that's often used to characterize the format (see
The SVR3 object format. The header now comprises a section
table, so you can have more than just .text, .data, and .bss
sections. The successor to FreeBSD tries to work around this problem somewhat by
providing a utility for branding a known for more information.
FreeBSD comes from the "classic" camp and has traditionally used
the You have to use either `` and
With the trailing slash, You'd think it'd be easy enough to change Yes, starting with version 3.0 you can using BSDI's if you're interested in
joining this ongoing effort!
For pre-3.0 systems, there is a neat utility called
SUP is not bandwidth friendly, and has been retired. The current
recommended method to keep your sources up to date is
Q. Has anyone done any temperature testing while running FreeBSD?
I know Linux runs cooler than dos, but have never seen a mention of
FreeBSD. It seems to run really hot.
A. No, but we have done numerous taste tests on blindfolded
volunteers who have also had 250 micrograms of LSD-25
administered beforehand. 35% of the volunteers said that FreeBSD
tasted sort of orange, whereas Linux tasted like purple haze.
Neither group mentioned any particular variances in temperature
that I can remember. We eventually had to throw the results of
this survey out entirely anyway when we found that too many
volunteers were wandering out of the room during the tests, thus
skewing the results. I think most of the volunteers are at Apple
now, working on their new ``scratch and sniff'' GUI. It's a
funny old business we're in!
Seriously, both FreeBSD and Linux uses the ``
Q. Is there anything "odd" that FreeBSD does when compiling the
kernel which would cause the memory to make a scratchy sound? When
compiling (and for a brief moment after recognizing the floppy drive
upon startup, as well), a strange scratchy sound emanates from what
appears to be the memory banks.
A. Yes! You'll see frequent references to ``daemons'' in the BSD
documentation, and what most people don't know is that this
refers to genuine, non-corporeal entities that now possess your
computer. The scratchy sound coming from your memory is actually
high-pitched whispering exchanged among the daemons as they best
decide how to deal with various system administration tasks.
If the noise gets to you, a good ``fdisk /mbr'' from DOS
will get rid of them, but don't be surprised if they react
adversely and try to stop you. In fact, if at any point during
the exercise you hear the satanic voice of Bill Gates coming from
the built-in speaker, take off running and don't ever look back!
Freed from the counterbalancing influence of the BSD daemons, the
twin demons of DOS and Windows are often able to re-assert total
control over your machine to the eternal damnation of your soul.
Given a choice, I think I'd prefer to get used to the scratchy
noises, myself!
Welcome to the FreeBSD 2.X FAQ!
As is usual with Usenet FAQs, this document aims to cover the most
frequently asked questions concerning the FreeBSD operating system
(and of course answer them!). Although originally intended to reduce
bandwidth and avoid the same old questions being asked over and over
again, FAQs have become recognized as valuable information resources.
Every effort has been made to make this FAQ as informative as
possible; if you have any suggestions as to how it may be improved,
please feel free to mail them to the Briefly, FreeBSD 2.X is a UN*X-like operating system based on
U.C. Berkeley's 4.4BSD-lite release for the i386 platform. It is
also based indirectly on William Jolitz's port of U.C. Berkeley's
Net/2 to the i386, known as 386BSD, though very little of the 386BSD
code remains. A fuller description of what FreeBSD is and how
it can work for you may be found on the FreeBSD is used by companies, Internet Service Providers, researchers,
computer professionals, students and home users all over the world
in their work, education and recreation. See some of them in the
For more detailed information on FreeBSD, please see the
The goals of the FreeBSD Project are to provide software that may
be used for any purpose and without strings attached. Many of us
have a significant investment in the code (and project) and would
certainly not mind a little financial compensation now and then,
but we're definitely not prepared to insist on it. We believe
that our first and foremost "mission" is to provide code to any
and all comers, and for whatever purpose, so that the code gets
the widest possible use and provides the widest possible benefit.
This is, we believe, one of the most fundamental goals of Free
Software and one that we enthusiastically support.
That code in our source tree which falls under the GNU Public License
(GPL) or GNU Library Public License (GLPL) comes with slightly more
strings attached, though at least on the side of enforced
access rather than the usual opposite. Due to the additional
complexities that can evolve in the commercial use of GPL software,
we do, however, endeavor to replace such software with submissions
under the more relaxed BSD copyright whenever possible.
For those of our readers whose first language is not English, it
may be worth pointing out that the word ``free'' is being used in two
ways here, one meaning ``at no cost'', the other meaning ``you can do
whatever you like''. Apart from one or two things you
Version Briefly explained, This is not to say that a 3.0-current snapshot is unusable for
business services, and many people who need some 3.0 specific feature
(newer compiler technology, faster networking code, etc) have decided
to take a chance with it with very good results. We simply do not
wish to "certify" 3.0 as mission-worthy until it's been better
shaken-out.
If you are not familiar with the operating system or are not
capable of identifying the difference between a real problem and
a temporary problem, you should not use FreeBSD-current. This
branch sometimes evolves quite quickly and can be un-buildable
for a number of days at a time. People that use FreeBSD-current
are expected to be able to analyze any problems and only report them
if they are deemed to be mistakes rather than ``glitches''. Questions
such as ``make world produces some error about groups'' on the
-current mailing list are sometimes treated with contempt.
Every now and again, a No claims are made that any snapshot can be considered
``production quality'' for any purpose. For stability
and tested mettle, you will have to stick to full releases.
Snapshot releases are directly available from Back when FreeBSD 2.0.5 was released, we decided to branch FreeBSD
development into two parts. One branch was named The -current branch is slowly progressing towards 3.0 and beyond,
whereas the previous 2.1-stable branch was superceded by the
release of 2.2.0, the new "stability branch" aka 2.2-stable.
3.0-current will continue to be where the active development takes
place, up until the actual release of 3.0. At that point, 3.0 will
become yet another branch and 3.1-current will become the next
"current branch".
While we'd certainly like to be able to continue 3 branches of
development, we've found that the version control tools available to
us are not particularly well-suited for this; in fact, they quickly
result in a maintenance nightmare for any branch which lives much
beyond 2-3 months. The 2.1-stable branch has, by contrast, lasted for
well over a year and what little sanity the FreeBSD developers have
left would be in serious jeopardy if we continued in this way.
Perhaps in the future we'll figure out another model which gives
everyone what they want, and we are working on such a model, but in
the meantime it's probably best to think of the old -stable coming
to an end with As a general principle, the FreeBSD core team only release a new
version of FreeBSD when they believe that there are sufficient new
features and/or bug fixes to justify one, and are satisfied that the
changes made have settled down sufficiently to avoid compromising the
stability of the release. Many users regard this caution as one of
the best things about FreeBSD, although it can be a little
frustrating when waiting for all the latest goodies to become
available...
Releases are made about every 6 months on average.
For people needing (or wanting) a little more excitement, there are
SNAPs released more frequently, particularly during the month or so
leading up to a release.
At present, yes, though a port to the The key decisions concerning the FreeBSD project, such as the
overall direction of the project and who is allowed to add code to
the source tree, are made by a However, most non-trivial changes are discussed in advance in the
, and there are no restrictions
on who may take part in the discussion.
Every significant release of FreeBSD is available via anonymous ftp
from the FreeBSD is also available via CDROM, from the following place(s):
Walnut Creek CDROM In Australia, you may find it at:
Advanced Multimedia Distributors You can find full information in the You can find full information in the There are two channels about FreeBSD on IRC:
Greg Lehey's book ``Installing and Running FreeBSD'' is available
from Walnut Creek and ships with the 2.2.6 CDROM. There is also
a larger book entitled ``The Complete FreeBSD'', which comes with
additional printed manpages and includes the 2.2.6 CDROM set. It
should be available in most good book shops now.
There is a FreeBSD Documentation Project which you may contact (or
even better, join) on the doc mailing list:
- A FreeBSD ``handbook'' is available, and can be found as:
However, as FreeBSD 2.2.X is based upon Berkeley 4.4BSD-Lite2, most
of the 4.4BSD manuals are applicable to FreeBSD 2.2.X. O'Reilly
and Associates publishes these manuals:
A description of these can be found via WWW as:
For a more in-depth look at the 4.4BSD kernel organization,
you can't go wrong with:
McKusick, Marshall Kirk, Keith Bostic, Michael J Karels,
and John Quarterman. The Design and Implementation of the 4.4BSD Operating
System. Reading, Mass. : Addison-Wesley, 1996. A good book on system administration is:
Evi Nemeth, Garth Snyder, Scott Seebass & Trent R. Hein, The Problem Report database of all open user change requests
may be queried (or submitted to) by using our web-based PR
The following newsgroups contain pertinent discussion for FreeBSD
users:
Web resources:
The FreeBSD handbook also has a fairly complete