diff --git a/FAQ/FAQ.sgml b/FAQ/FAQ.sgml index 382acb9d74..84050f5ad0 100644 --- a/FAQ/FAQ.sgml +++ b/FAQ/FAQ.sgml @@ -1,5 +1,5 @@ - +
@@ -7,7 +7,7 @@ Please send submissions to - $Date: 1997-10-18 16:05:59 $ + $Date: 1997-10-18 23:34:07 $ This is the FAQ for FreeBSD systems version 2.X All entries are @@ -473,10 +473,10 @@ users: - (moderated) - @@ -1753,2095 +1753,2168 @@ usenet/news.answers/mail/sendmail-faq" as the body of the message. - - Commercial Applications + + Commercial Applications -

- + Where can I get Motif for FreeBSD? - - Where can I get Motif for FreeBSD? -

Contact for a Motif 2.0 - distribution for FreeBSD. +

Contact for a Motif 2.0 + distribution for FreeBSD. - This distribution includes: - - OSF/Motif manager, xmbind, panner, wsm. - Development kit with uil, mrm, xm, xmcxx, include and Imake files. - Static and dynamic libraries. - Demonstration applets. - Preformatted man pages. - +

This distribution includes: + + OSF/Motif manager, xmbind, panner, wsm. -

Be sure to specify that you want the FreeBSD version of Motif - when ordering! Versions for BSDI and Linux are also sold by - Xi Graphics. This is currently a 4 diskette set... in the - future this will change to a unified CD distribution like their CDE.

+ Development kit with uil, mrm, xm, xmcxx, include and Imake + files. - - Where can I get CDE for FreeBSD? -

Contact for a CDE 1.0.10 - distribution for FreeBSD. This includes Motif 1.2.5, and can - be used with Motif 2.0. + Static and dynamic libraries. -

This is a unified CDROM distribution for FreeBSD and Linux.

+ Demonstration applets. - - Are there any commercial high-performance X servers? -

- Yes, - sells their Accelerated-X product for FreeBSD and other Intel - based systems. + Preformatted man pages. + - This high performance X Server offers easy configuration, support - for multiple concurrent video boards and is distributed in binary - form only, in a unified diskette distribution for FreeBSD and Linux. +

Be sure to specify that you want the FreeBSD version of Motif + when ordering! Versions for BSDI and Linux are also sold by + Xi Graphics. This is currently a 4 diskette set... in the + future this will change to a unified CD distribution like their CDE. - There is a free "compatibility demo" of version 3.1 available. + + Where can I get CDE for FreeBSD? - Xi Graphics also sells Motif and CDE for FreeBSD (see above). +

Contact for a CDE 1.0.10 + distribution for FreeBSD. This includes Motif 1.2.5, and can + be used with Motif 2.0. - - - or - - email addresses. - +

This is a unified CDROM distribution for FreeBSD and Linux. - - Are there any Database systems for FreeBSD? -

- Yes! Conetic Software Systems has ported their C/base and C/books - database systems to FreeBSD 2.0.5 and higher, and Sleepycat - Software is selling a commercially supported version of the DB - database library. + + + Are there any commercial high-performance X servers? - - - , - . - +

Yes, sells their + Accelerated-X product for FreeBSD and other Intel based systems. - - User Applications - - So, where are all the user applications? +

This high performance X Server offers easy configuration, support + for multiple concurrent video boards and is distributed in binary + form only, in a unified diskette distribution for FreeBSD and Linux. -

- Please take a look at - for info on software packages ported to FreeBSD. The list currently - tops 1000 and is growing daily, so come back to check often - or subscribe to the for periodic updates on new entries. +

There is a free "compatibility demo" of version 3.1 available. - Most ports should be available for both the 2.2 and 3.0 - branches, and many of them should work on 2.1.x systems as - well. Each time a FreeBSD release is made, a snapshot of the - ports tree at the time of release in also included in the - ports/ directory. +

Xi Graphics also sells Motif and CDE for FreeBSD (see above). - We also support the concept of a ``package'', essentially no - more than a gzipped binary distribution with a little extra - intelligence embedded in it for doing whatever custom installation - work is required. A package can installed and uninstalled - again easily without having to know the gory details of which - files it includes. + + - Use the package installation menu in /stand/sysinstall - (under the post-configuration menu item) or invoke the - pkg_add(1) command on the specific package files you're - interested in installing. Package files can usually be identified by - their .tgz suffix and CDROM distribution people will have - a packages/All directory on their CD which contains such - files. They can also be downloaded over the net for various versions - of FreeBSD at the following locations: + or + email addresses. - - for 2.1.x-release - - for 2.2.2-release/2.2-stable - - for 3.0-current - - + - or your nearest local mirror site. + + Are there any Database systems for FreeBSD? - Note that all ports may not be available as packages since - new ones are constantly being added. It is always a good - idea to check back periodically to see which packages are available - at the master site. +

Yes! Conetic Software Systems has ported their C/base and C/books + database systems to FreeBSD 2.0.5 and higher, and Sleepycat + Software is selling a commercially supported version of the DB + database library. - - ghostscript gives lots of errors with my 386/486SX. + + -

- You don't have a math co-processor, right? - You will need to add the alternative math emulator to your kernel; - you do this by adding the following to your kernel config file - and it will be compiled in. + , - - options GPL_MATH_EMULATE - + . + - + User Applications - - Where do I find libc.so.3.0? -

- You are trying to run a package for 2.2/3.0 on a 2.1.x - system. Please take a look at the previous section and get - the correct port/package for your system. + + So, where are all the user applications? - - When I run a SCO/iBCS2 application, it bombs on +

Please take a look at for info on software packages ported to + FreeBSD. The list currently tops 1000 and is growing daily, so come + back to check often or subscribe to the for periodic updates on new + entries. -

- You first need to edit the /etc/sysconfig - (or ) file in the last - section to change the following variable to - # Set to YES if you want ibcs2 (SCO) emulation loaded at startup - ibcs2=NO - - It will load the - kernel module at startup. +

Most ports should be available for both the 2.2 and 3.0 + branches, and many of them should work on 2.1.x systems as + well. Each time a FreeBSD release is made, a snapshot of the + ports tree at the time of release in also included in the + ports/ directory. - You'll then need to set up /compat/ibcs2/dev to look like: +

We also support the concept of a ``package'', essentially no + more than a gzipped binary distribution with a little extra + intelligence embedded in it for doing whatever custom installation + work is required. A package can installed and uninstalled + again easily without having to know the gory details of which + files it includes. - +

Use the package installation menu in /stand/sysinstall + (under the post-configuration menu item) or invoke the + pkg_add(1) command on the specific package files you're + interested in installing. Package files can usually be identified by + their .tgz suffix and CDROM distribution people will have + a packages/All directory on their CD which contains such + files. They can also be downloaded over the net for various versions + of FreeBSD at the following locations: + + + for 2.1.x-release + + + for 2.2.2-release/2.2-stable + + + for 3.0-current + + + +

or your nearest local mirror site. + +

Note that all ports may not be available as packages since + new ones are constantly being added. It is always a good + idea to check back periodically to see which packages are available + at the master site. + + + + ghostscript gives lots of errors with my 386/486SX. + +

You don't have a math co-processor, right? + You will need to add the alternative math emulator to your kernel; + you do this by adding the following to your kernel config file + and it will be compiled in. + + + options GPL_MATH_EMULATE + + +

+ Where do I find libc.so.3.0? + +

You are trying to run a package for 2.2/3.0 on a 2.1.x + system. Please take a look at the previous section and get + the correct port/package for your system. + + + + When I run a SCO/iBCS2 application, it bombs on + +

You first need to edit the /etc/sysconfig + (or ) file in the last section to change the + following variable to + # Set to YES if you want ibcs2 (SCO) emulation loaded at startup + ibcs2=NO + + +

It will load the + kernel module at startup. + +

You'll then need to set up /compat/ibcs2/dev to look like: + + lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -> /dev/null lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -> socksys -rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -> /dev/null crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx - - You just need socksys to go to to fake the - open & close. The code in -current will handle the rest. - This is much cleaner than the way it was done before. If you - want the - - How do I configure INN (Internet News) for my machine? +

You just need socksys to go to + to fake the open & close. The code in -current will handle the + rest. This is much cleaner than the way it was done before. If you + want the After installing the inn package or port, the - - where you'll find the INN FAQ may be an excellent place to start. + + + How do I configure INN (Internet News) for my machine? + - - Kernel Configuration -

- - I'd like to customize my kernel. Is it difficult? -

- Not at all! First, you need either the complete - After installing the inn package or port, an excelent place to + start is where you'll find the INN FAQ. - Once you have the + Kernel Configuration - - cd /usr/src/sys/i386/conf - cd ../../compile/MYKERNEL - + + + I'd like to customize my kernel. Is it difficult? + - Step 2 may not be necessary if you already have a kernel - configuration file from a previous release of FreeBSD 2.X. - - simply bring your old one over and check it carefully for any - drivers that may have changed boot syntax or been rendered - obsolete. +

Not at all! First, you need either the complete Shipping the source takes a bit more space, but it also means + that you can refer to the actual kernel sources in case of + difficulty or to further your understanding of what's + /kernel and /kernel.old! It's very important to remember this in - case the new kernel fails to work for some reason - you can still - select /kernel.old at the boot prompt to boot the old - one. When you reboot, the new kernel will boot by default. +

Once you have the + cd /usr/src/sys/i386/conf + cd ../../compile/MYKERNEL + - Finally, if you need to see your original boot messages again to - compile a new kernel that's better tailored to your hardware, try - the command. It should print out all the boot-time - messages printed by your old kernel, some of which may be quite - helpful in configuring the new one. +

Step 2 may not be necessary if you already have a kernel + configuration file from a previous release of FreeBSD 2.X. - + simply bring your old one over and check it carefully for any + drivers that may have changed boot syntax or been rendered + obsolete. - A good kernel config file to look into is - My kernel compiles fail because +

If you don't need to make any changes to /kernel and /kernel.old! It's very important to remember this in + case the new kernel fails to work for some reason - you can still + select /kernel.old at the boot prompt to boot the old + one. When you reboot, the new kernel will boot by default. -

- Let me guess. You removed from your kernel configuration - file because you don't have a math co-processor, right? Wrong! :-) - The If the compile in step 7 falls over for some reason, then it's + recommended that you start from step 4 but substitute + - Interrupt conflicts with multi-port serial code. -

- Q. When I compile a kernel with multi-port serial code, it tells me - that only the first port is probed and the rest skipped due to - interrupt conflicts. How do I fix this? +

Finally, if you need to see your original boot messages again to + compile a new kernel that's better tailored to your hardware, try + the command. It should print out all the boot-time + messages printed by your old kernel, some of which may be quite + helpful in configuring the new one. -

- A. The problem here is that FreeBSD has code built-in to keep the - kernel from getting trashed due to hardware or software - conflicts. The way to fix this is to leave out the IRQ settings - on all but one port. Here is a example: +

-# -# Multiport high-speed serial line - 16550 UARTS -# -device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr -device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr -device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr -device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr - + + + My kernel compiles fail because - - How do I enable support for QIC-40/80 drives? +

Let me guess. You removed from your + kernel configuration file because you don't have a math co-processor, + right? Wrong! :-) The - You need to uncomment the following line in the generic config - file (or add it to your config file), add a `` line and recompile. + + Interrupt conflicts with multi-port serial code. - +

+ # + # Multiport high-speed serial line - 16550 UARTS + # + device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr + device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr + device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr + device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr + + + + How do I enable support for QIC-40/80 drives? + +

You need to uncomment the following line in the generic config + file (or add it to your config file), add a `` line and recompile. + + controller fdc0 at isa? port "IO_FD1" bio irq 6 drq 2 flags 0x1 vector fdintr disk fd0 at fdc0 drive 0 ^^^^^^^^^ disk fd1 at fdc0 drive 1 #tape ft0 at fdc0 drive 2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - Next, you create a device called /dev/ft0 by going into - /dev and run the following command: - - - sh MAKEDEV ft0 - - - for the first device. /dev/ft0, which you can - write to through a special program to manage it called - `` - for further details. - Versions previous to /usr/src/sbin/ft in - - - - System Administration - - - Where are the system start-up configuration files? - -

- From 2.0.5R to 2.2.2R, the primary configuration file is - /etc/sysconfig. All the options are to be specified in - this file and other files such as and - /etc/netstart just include it. - - Look in the /etc/sysconfig file and change the value to - match your system. This file is filled with comments to show what - to put in there. - - In post-2.2.2 and 3.0, /etc/sysconfig was renamed - to a more self-describing file and the syntax - cleaned up a bit in the process. /etc/netstart was also - renamed to /etc/rc.network so that all files could be - copied with a - /usr/src/etc/rc* /etc command. - - /etc/rc.local is here as always and is the place to - start up additional local services like - or set custom options. - - The /etc/rc.serial is for serial port initialization - (e.g. locking the port characteristics, and so on.). - - The /etc/rc.i386 is for Intel-specifics settings, such - as iBCS2 emulation or the PC system console configuration. - - Starting with 2.1.0R, you can also have "local" startup files in a - directory specified in /etc/sysconfig (or - /etc/rc.conf): - - # Location of local startup files. - local_startup=/usr/local/etc/rc.local.d - - Each file ending in - 10news.sh - 15httpd.sh - 20ssh.sh - - It can be seen as ugly (or SysV :-)) but it provides a simple and - regular scheme for locally-added packages without resorting to - magical editing of /etc/rc.local. - - - How do I add a user easily? - -

- Use the command. - - There is another package called ``<roberto@FreeBSD.ORG> about it. It is currently - undergoing further development. - - To remove the user again, use the - command. - - - How can I add my new hard disk to my FreeBSD system? -

- The easiest way to do this is from the installation program. You - can start the installation program by running - /stand/sysinstall as root. -

- Alternatively, if you still have the install floppy, you can just - reboot from that and use the partition & label editors while - the system is totally quiescent. -

-

- WARNING: There is no substitute for reading carefully - & understanding what you are doing! Things described here may - DESTROY your system. Proceed with caution! Remember, a BACKUP is your - friend! -

- before you can run - /. This means doing the math for partitions - yourself. This is rumored to be easy :-) See if you can obtain a - skeletal label with ''disklabel -r <diskname>'' - (e.g. ''disklabel -r /dev/rwd0s2'', assuming - that your new disk is wd0, the first IDE drive, and the FreeBSD - slice is the second one, s2). You should see something - like:- - - -# /dev/rwd0s2: -type: ESDI -disk: wd0s2 -label: -flags: -bytes/sector: 512 -sectors/track: 63 -tracks/cylinder: 64 -sectors/cylinder: 4032 -cylinders: 610 -sectors/unit: 2459520 -rpm: 3600 -interleave: 1 -trackskew: 0 -cylinderskew: 0 -headswitch: 0 # milliseconds -track-to-track seek: 0 # milliseconds -drivedata: 0 - -8 partitions: -# size offset fstype [fsize bsize bps/cpg] - c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) - e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609) - - - Make sure that the size is correct, in this case, 2459520 - sectors/unit x 512 bytes/sector / 2**20 (1 Megabyte) = 1200 - Megabytes. The rest of the stuff (b/s, t/c, s/c, interleave, etc.) - should get suitable defaults from , but see - for older disks. 'fsize' is the - for the filesystem, - and 'bsize' is the . 'c' is - the partition covering the entire slice (or entire disk for a - non-sliced disk), and must remain as it is. It should not be - used for a filesystem. The 'c' partition is magic in that it - is faked by the kernel even if no disklabel exists. -

- In the trivial case, where you want a single filesystem spanning - the whole slice, the entry for 'e' has to be corrected. Setting fsize - to 1024 and bsize to 8192 (8 fragments/block), which are reasonable - values for a filesystem, the correct entry for 'e' would be:- - - - e: 2459520 0 4.2BSD 1024 8192 - - -

- Now, the (slightly) harder case, where we want 2 partitions for 2 - filesystems. Following the , the partitions will be -8 partitions: -# size offset fstype [fsize bsize bps/cpg] - c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) - e: 614400 0 4.2BSD 1024 8192 - f: 1843200 614400 4.2BSD 1024 8192 - - -

- disklabel -e wd0s2''. See - . -

- If you have at least FreeBSD 2.1.5, and you want to dedicate - an entire disk to FreeBSD without any care for other - systems, you might shorten the steps above to something like: - -# dd if=/dev/zero of=/dev/rwd0 count=100 -# disklabel -Brw wd0 auto -# disklabel -e wd0 - - - The first command ensures there is no old junk at - the beginning of the disk that might confuse the disk code - in the kernel. Following is an automatic skeleton label - generation using the defaults that have been probed from the - disk at boot time. Editing this label continues as described - above. -

- You're done! Time to initialize the filesystems with something - like:- - - - newfs -d0 /dev/rwd0s2e - newfs -d0 /dev/rwd0s2f - - - Depending on the disk name and slice number, it might be - required that you run the script - before in order to create the desired device nodes. - - And mount your new filesystems (See - ):- - - - mount /dev/wd0s2e /mnt/foo - mount /dev/wd0s2f /mnt/bar - - - You may wish to edit to automatically mount - the filesystems at boot time. - -

- - - The basic unit of storage for - on your system. - - A block comprises one or more fragments. See the - reference above and - - - You may need to provide more information to - if you happen to own a ``true disk'', i.e. one with a - uniform geometry, real heads, sectors, and cylinders, - such as an old ESDI drive. All of this should be easily - obtainable from the drive case, owner's manual, fellow - sufferers, etc. :-) - - Partition 'a' is by convention reserved for a bootable - partition, and partition 'b' for swap space. Regular - partition names should start with 'd'. ('d' used to be - magic in 386BSD 0.1 through FreeBSD 2.0, thus partition - 'e' is often used for the first non-bootable partition - containing a filesystem.) - - The space required by the BSD partition table is allowed - for in the file system. It's not allowed for by the swap - partition. So don't start swap at cylinder 0, either offset - it or put a file system in partition 'a'. - - - - I have a new removable drive, how do I use it? - -

- Whether it's a removable drive like a ZIP or an EZ drive (or - even a floppy, if you want to use it that way), or a new hard - disk, once it's installed and recognized by the system, and - you have your cartridge/floppy/whatever slotted in, things are - pretty much the same for all devices. - -

- The secondary DOS partitions are found after ALL the primary - partitions. For example, if you have an "E" partition as the - second DOS partition on the second SCSI drive, you need to create - the special files for "slice 5" in /dev, then mount /dev/sd1s5: - - - % cd /dev - % ./MAKEDEV sd1s5 - % mount -t msdos /dev/sd1s5 /dos/e - - - - Can I mount other foreign filesystems under FreeBSD?

- - for more information. - - Any other information on this subject would be appreciated. - - - How can I use the NT loader to boot FreeBSD? -

- The general idea is that you copy the first sector of your - native root FreeBSD or Linux partition into a file in the DOS/NT - partition. Assuming you name that file something like - c:\bootsect.bsd or c:\bootsect.lnx - (inspired by c:\bootsect.dos) you can then edit the - c:\boot.ini file to come up with something like - this: - - [boot loader] - timeout=30 - default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS - [operating systems] - multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" - C:\BOOTSECT.BSD="FreeBSD" - C:\BOOTSECT.LNX="Linux" - C:\="DOS" - - This procedure assumes that DOS, NT, Linux, FreeBSD, or whatever - have been installed into their respective fdisk partitions on the - /mnt. - - In FreeBSD: - - dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1 - - - In Linux: - - dd if=/dev/sda2 of=/mnt/bootsect.lnx bs=512 count=1 - - - Reboot into DOS or NT. NTFS users copy the - attrib -s -r c:\boot.ini - - - Edit to add the appropriate entries from the example - - attrib -r -s c:\boot.ini - - - If FreeBSD or Linux are booting from the MBR, restore it with the - DOS ``'' command after you reconfigure them to - boot from their native partitions. - - - How about FreeBSD and Linux? How do I boot FreeBSD from LILO? -

- Theoretically you should be able to boot FreeBSD from LILO by - treating it as a DOS-style operating system, but I haven't been - able to get it to work. If you put LILO at the start of your Linux - boot partition instead of in the MBR, you can boot LILO from the - FreeBSD boot manager. This is what I do. - - If you're running Windows-95 and Linux this is recommended anyway, - to make it simpler to get Linux booting again if you should need - to reinstall Windows95 (which is a Jealous Operating System, and - will bear no other Operating Systems in the Master Boot Record). - - - Will a ``dangerously dedicated'' disk endanger my health? -

- Now, while this is certainly the common case for people - coming from a PC background, those people coming more from a - Unix background and who are going to setup a machine just to - run FreeBSD and only FreeBSD, are more used to the classic - Unix way where the operating system owns the entire disks, - from the very first sector through the end. A true fdisk - table isn't of any use in this case, the machine is running - FreeBSD 24 hours per day, 7 days per week, no other operating - system should ever be booted on it. So, if you select - ``A)ll FreeBSD'' in sysinstall's fdisk editor, and answer the - next question with ``No'', you'll get this mode. Note that - this means the BSD bootstrap also forms the MBR for this drive, - so there's no space left for anything like a boot manager. - Don't ever try to install one, or you'll damage the BSD - bootstrap. - -

- So why it is called ``dangerous''? A disk in this mode - doesn't contain what normal PC utilities would consider a - valid fdisk table. Depending on how well they have been - designed, they might complain at you once they are getting - in contact with such a disk, or even worse, they might - damage the BSD bootstrap without even asking or notifying - you. Some kind of operating system that is in rather - widespread use on PCs is known for this kind of - user-unfriendliness (of course, it does this in the name of - ``user-friendliness''). At least one Award BIOS that is for - example used in HP Netservers (but not only there) is known - to ignore any harddisk that doesn't have what it believes to - be a valid fdisk table. When it comes to booting, it simply - ignores such a disk drive, advances to the floppy drive, and - barfs at you with just ``Read error''. Very impressive, eh? - They probably also call this ``user-friendly'', who knows? - -

- The advantages of this mode are: FreeBSD owns the entire - disk, no need to waste several fictitious `tracks' for just - nothing but a 1980-aged simplistic partitioning model - enforcing some artificial and now rather nonsensical - constraints on how this partitioning needs to be done. - These constraints often lead to what might be the biggest - headaches for OS installations on PCs, geometry mismatch - hassles resulting out of two different, redundant ways how - to store the partitioning information in the fdisk table. - See the chapter about . In ``dangerously dedicated'' mode, the - BSD bootstrap starts at sector 0, and this one is the only - sector that always translates into the same C/H/S values, - regardless of which `translation' your BIOS is using for - your disk. Thus, you can also swap disks between - systems/controllers that use a different translation scheme, - without risking that they won't boot anymore. - -

- To return a ``dangerously dedicated'' disk for normal PC - use, there are basically two options. The first is, you - write enough NULL bytes over the MBR to make any subsequent - installation believe this to be a blank disk. You can do - this for example with - - - dd if=/dev/zero of=/dev/rsd0 count=15 - - - Alternatively, the undocumented DOS command - - - fdisk /mbr - - - is supposed to install a new master boot record as well, - thus clobbering the BSD bootstrap. - - - - How can I add more swap space? - -

The best way is to increase the size of your swap partition, or - take advantage of this convenient excuse to add another disk (and - see if you do). -

Adding swap onto a separate disk makes things faster than - simply adding swap onto the same disk. As an example, if you - are compiling source located on one disk, and the swap is on - another disk, this is much faster than both swap and compile - on the same disk. This is true for SCSI disks specifically. -

IDE drives are not able to allow access to both drives on - the same channel at the same time. I would still suggest putting - your swap on a separate drive however. The drives are so cheap, - it is not worth worrying about. -

It is a really bad idea to locate your swap file over NFS - unless you are running in a fast networking environment, with - a good server. If you can afford fast ethernet, you will not - need my advice anyway. - - -

Here is an example for 64Mb vn-swap (/usr/swap0, though - of course you can use any name that you want). -

- Make sure your kernel was built with the line - -pseudo-device vn 1 #Vnode driver (turns a file into a device) - - in your config-file. The GENERIC kernel already contains this. -

- - - create a vn-device - -cd /dev; sh ./MAKEDEV vn0 - - - create a swapfile (/usr/swap0) - -dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 - - - enable the swap file in /etc/rc.conf - -swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. - - - reboot the machine - -

To enable the swap file immediately try - -vnconfig -ce /dev/vn0c /usr/swap0 swap - - - - - - - - - I'm having problems setting up my printer. -

- Please have a look at the Handbook entry on printing. It - should cover most of your problem. See the - - - - - The keyboard mappings are wrong for my system. -

- The kbdcontrol program has an option to load a keyboard map file. - Under /usr/share/syscons/keymaps are a number of map - files. Choose the one relevant to your system and load it. - - - kbdcontrol -l uk.iso - - - Both the /usr/share/syscons/keymaps and the . - - This can be configured in /etc/sysconfig - (or ). See the - appropriate comments in this file. - - In 2.0.5R and later, everything related to text fonts, keyboard - mapping is in /usr/share/examples/syscons. - - The following mappings are currently supported: - - - - Brazilian 275 keyboard Codepage 850 - Brazilian 275 keyboard ISO-8859-1 - Danish Codepage 865 - Danish ISO-8859-1 - French ISO-8859-1 - German Codepage 850 - German ISO-8859-1 - Italian ISO-8859-1 - Japanese 106 - Japanese 106x - Norwegian ISO-8859-1 - Russian Codepage 866 (alternative) - Russian koi8-r (shift) - Russian koi8-r - Spanish ISO-8859-1 - Swedish Codepage 850 - Swedish ISO-8859-1 - United Kingdom Codepage 850 - United Kingdom ISO-8859-1 - United States of America ISO-8859-1 - United States of America dvorak - United States of America dvorakx - - - - - I can't get user quotas to work properly. -

- - Don't turn on quotas on '/', - Put the quota file on the file system that the quotas are - to be enforced on. ie: - - FS QUOTA FILE - /usr /usr/admin/quotas - /home /home/admin/quotas - ... - - - - - What's inappropriate about my ccd? -

- The symptom of this is: - - host# ccdconfig -C - ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format - host# - - -

- This usually happens when you are trying to concatenate the - `c' partitions, which default to type `unused'. The ccd - driver requires the underlying partition type to be - FS_BSDFFS. Edit the disklabel of the disks you are trying - to concatenate and change the types of partitions to - `4.2BSD'. - - - Why can't I edit the disklabel on my ccd? -

- The symptom of this is: - - host# disklabel ccd0 - (it prints something sensible here, so let's try to edit it) - host# disklabel -e ccd0 - (edit, save, quit) - disklabel: ioctl DIOCWDINFO: No disk label on disk; - use "disklabel -r" to install initial label - host# - - -

- This is because the disklabel returned by ccd is actually a - `fake' one that is not really on the disk. You can solve - this problem by writing it back explicitly, as in: - - host# disklabel ccd0 > /tmp/disklabel.tmp - host# disklabel -Rr ccd0 /tmp/disklabel.tmp - host# disklabel -e ccd0 - (this will work now) - - - - - - Does FreeBSD support System V IPC primitives? - -

- Yes, FreeBSD supports System V-style IPC. This includes shared - memory, messages and semaphores. You need to add the following - lines to your kernel config to enable them. - - - options SYSVSHM - options "SHMMAXPGS=64" # 256Kb of sharable memory - options SYSVSEM # enable for semaphores - options SYSVMSG # enable for messaging - - - Recompile and install. - - - How do I use sendmail for mail delivery with UUCP? - -

- The sendmail configuration that ships with FreeBSD is - suited for sites that connect directly to the Internet. - Sites that wish to exchange their mail via UUCP must install - another sendmail configuration file. - -

- Tweaking /etc/sendmail.cf manually is considered - something for purists. Sendmail version 8 comes with a - new approach of generating config files via some - - preprocessing, where the actual hand-crafted configuration - is on a higher abstraction level. You should use the - configuration files under - - - /usr/src/usr.sbin/sendmail/cf - - - If you didn't install your system with full sources, - the sendmail config stuff has been - broken out into a separate source distribution tarball just - for you. Assuming you've got your CD-ROM mounted, do: - - - cd /usr/src - tar -xvzf /cdrom/dists/src/ssmailcf.aa - - - Don't panic, this is only a few hundred kilobytes in size. - The file README in the cf directory can - serve as a basic introduction to m4 configuration. - -

- For UUCP delivery, you are best advised to use the - mailertable feature. This constitutes a database - that sendmail can use to base its routing decision upon. - -

- First, you have to create your .mc file. The - directory /usr/src/usr.sbin/sendmail/cf/cf is the - home of these files. Look around, there are already a few - examples. Assuming you have named your file foo.mc, - all you need to do in order to convert it into a valid - sendmail.cf is: - - - cd /usr/src/usr.sbin/sendmail/cf/cf - make foo.cf - cp foo.cf /etc/sendmail.cf - - - A typical .mc file might look like: - - - include(`../m4/cf.m4') - VERSIONID(`Your version number') - OSTYPE(bsd4.4) - - FEATURE(nodns) - FEATURE(nocanonify) - FEATURE(mailertable) - - define(`UUCP_RELAY', your.uucp.relay) - define(`UUCP_MAX_SIZE', 200000) - - MAILER(local) - MAILER(smtp) - MAILER(uucp) - - Cw your.alias.host.name - Cw youruucpnodename.UUCP - - - The nodns and nocanonify features will - prevent any usage of the DNS during mail delivery. The - UUCP_RELAY clause is needed for bizarre reasons, - don't ask. Simply put an Internet hostname there that - is able to handle .UUCP pseudo-domain addresses; most likely, - you will enter the mail relay of your ISP there. - -

- Once you've got this, you need this file called - /etc/mailertable. A typical example of this - gender again: - - - # - # makemap hash /etc/mailertable.db < /etc/mailertable - # - horus.interface-business.de uucp-dom:horus - .interface-business.de uucp-dom:if-bus - interface-business.de uucp-dom:if-bus - .heep.sax.de smtp8:%1 - horus.UUCP uucp-dom:horus - if-bus.UUCP uucp-dom:if-bus - . uucp-dom:sax - - - As you can see, this is part of a real-life file. The first - three lines handle special cases where domain-addressed mail - should not be sent out to the default route, but instead to - some UUCP neighbor in order to ``shortcut'' the delivery - path. The next line handles mail to the local Ethernet - domain that can be delivered using SMTP. Finally, the UUCP - neighbors are mentioned in the .UUCP pseudo-domain notation, - to allow for a ``uucp-neighbor!recipient'' override of the - default rules. The last line is always a single dot, matching - everything else, with UUCP delivery to a UUCP neighbor that - serves as your universal mail gateway to the world. All of - the node names behind the uucp-dom: keyword must - be valid UUCP neighbors, as you can verify using the - command uuname. - -

- As a reminder that this file needs to be converted into a - DBM database file before being usable, the command line to - accomplish this is best placed as a comment at the top of - the mailertable. You always have to execute this command - each time you change your mailertable. - -

- Final hint: if you are uncertain whether some particular - mail routing would work, remember the -bt option to - sendmail. It starts sendmail in address test mode; - simply enter ``0 '', followed by the address you wish to - test for the mail routing. The last line tells you the used - internal mail agent, the destination host this agent will be - called with, and the (possibly translated) address. Leave - this mode by typing Control-D. - - - j@uriah 191% sendmail -bt - ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) - Enter

- > 0 foo@interface-business.de - rewrite: ruleset 0 input: foo @ interface-business . de - ... - rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ - < @ interface-business . de > - > ^D - j@uriah 192% - - - - - - - - - The X Window System and Virtual Consoles - - - I want to run X, how do I go about it? - -

- The easiest way is to simply specify that you want to run X - during the installation process. -

- Then read and follow the documentation on the tool, which assists you in - configuring XFree86(tm) for your particular graphics - card/mouse/etc. - - You may also wish to investigate the Xaccel server, which is - available at a very reasonable price. See section - for more details. - - - Why doesn't my mouse work with X - -

- If you are using syscons (the default console driver), you can - configure FreeBSD to support a mouse pointer on each virtual - screen. In order to avoid conflicting with X, syscons supports - a virtual device called ``sysmouse''. All mouse events - received from the real mouse device are written to the sysmouse - device, using the MouseSystems protocol. If you wish to use your - mouse on one or more virtual consoles, - /etc/sysconfig (or rc.conf): - mousedtype=ps/2 # or whatever your actual type is - mousedport=/dev/psm0 # or whatever your real port is - - /etc/XF86Config - Section Pointer - Protocol "MouseSystems" - Device "/dev/sysmouse" - ..... - - -

- Some people prefer to use ``/dev/mouse'' under X. To - make this work, ``/dev/mouse'' should be linked to - : + + +

Next, you create a device called /dev/ft0 by going into + /dev and run the following command: + + + sh ./MAKEDEV ft0 + + +

for the first device. You will have a device called /dev/ft0, which you can + write to through a special program to manage it called + `` + for further details. + +

Versions previous to /usr/src/sbin/ft in + + System Administration + + + Where are the system start-up configuration files? + +

From 2.0.5R to 2.2.1R, the primary configuration file is + /etc/sysconfig. All the options are to be specified in + this file and other files such as and + /etc/netstart just include it. + +

Look in the /etc/sysconfig file and change the value to + match your system. This file is filled with comments to show what + to put in there. + +

In post-2.2.1 and 3.0, /etc/sysconfig was renamed + to a more self-describing + file and the syntax cleaned up a bit in the process. + /etc/netstart was also renamed to /etc/rc.network + so that all files could be copied with a /usr/src/etc/rc* + /etc command. + +

/etc/rc.local is here as always and may be used to + start up additional local services like + or set custom options. + +

The /etc/rc.serial is for serial port initialization + (e.g. locking the port characteristics, and so on.). + +

The /etc/rc.i386 is for Intel-specifics settings, such + as iBCS2 emulation or the PC system console configuration. + +

Starting with 2.1.0R, you can also have "local" startup files in a + directory specified in /etc/sysconfig (or + /etc/rc.conf): + + + # Location of local startup files. + local_startup=/usr/local/etc/rc.local.d + + +

Each file ending in If you want to ensure a certain execution order without changing all + the file names, you can use a scheme similar to the following with + digits prepended to each file name to insure the ordering: + + + 10news.sh + 15httpd.sh + 20ssh.sh + + +

It can be seen as ugly (or SysV :-)) but it provides a simple and + regular scheme for locally-added packages without resorting to + magical editing of /etc/rc.local. Many of the ports/packages + assume that /usr/local/etc/rc.d is a local startup directory. + + + How do I add a user easily? + +

Use the command. + +

There is another package called ``<roberto@FreeBSD.ORG> + about it. It is currently undergoing further development. + +

To remove the user again, use the command. + + + How can I add my new hard disk to my FreeBSD system? + +

The easiest way to do this is from the installation program. You + can start the installation program by running + /stand/sysinstall as root. + +

Alternatively, if you still have the install floppy, you can just + reboot from that and use the partition & label editors while + the system is totally quiescent. + +

WARNING: There is no substitute for reading carefully + & understanding what you are doing! Things described here may + DESTROY your system. Proceed with caution! Remember, a BACKUP is your + friend! + +

before you can run + /. + This means doing the math for partitions yourself. This is rumored to + be easy :-) See if you can obtain a skeletal label with + ''disklabel -r <diskname>'' (e.g. + ''disklabel -r /dev/rwd0s2'', assuming that your new + disk is wd0, the first IDE drive, and the FreeBSD slice is the second + one, s2). You should see something like:- + + + # /dev/rwd0s2: + type: ESDI + disk: wd0s2 + label: + flags: + bytes/sector: 512 + sectors/track: 63 + tracks/cylinder: 64 + sectors/cylinder: 4032 + cylinders: 610 + sectors/unit: 2459520 + rpm: 3600 + interleave: 1 + trackskew: 0 + cylinderskew: 0 + headswitch: 0 # milliseconds + track-to-track seek: 0 # milliseconds + drivedata: 0 + + 8 partitions: + # size offset fstype [fsize bsize bps/cpg] + c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) + e: 2459520 0 4.2BSD 0 0 0 # (Cyl. 0 - 609) + + +

Make sure that the size is correct, in this case, 2459520 + sectors/unit x 512 bytes/sector / 2**20 (1 Megabyte) = 1200 + Megabytes. The rest of the stuff (b/s, t/c, s/c, interleave, etc.) + should get suitable defaults from , but see for older + disks. 'fsize' is the for the + filesystem, and 'bsize' is the . 'c' + is the partition covering the entire slice (or entire disk for a + non-sliced disk), and must remain as it is. It should not be + used for a filesystem. The 'c' partition is magic in that it + is faked by the kernel even if no disklabel exists. + +

In the trivial case, where you want a single filesystem spanning + the whole slice, the entry for 'e' has to be corrected. Setting fsize + to 1024 and bsize to 8192 (8 fragments/block), which are reasonable + values for a filesystem, the correct entry for 'e' would be:- + + + e: 2459520 0 4.2BSD 1024 8192 + + +

Now, the (slightly) harder case, where we want 2 partitions for 2 + filesystems. Following the , the partitions will be + 8 partitions: + # size offset fstype [fsize bsize bps/cpg] + c: 2459520 0 unused 0 0 # (Cyl. 0 - 609) + e: 614400 0 4.2BSD 1024 8192 + f: 1843200 614400 4.2BSD 1024 8192 + + +

disklabel -e wd0s2''. See + . + +

If you have at least FreeBSD 2.1.5, and you want to dedicate + an entire disk to FreeBSD without any care for other + systems, you might shorten the steps above to something like: + + + # dd if=/dev/zero of=/dev/rwd0 count=100 + # disklabel -Brw wd0 auto + # disklabel -e wd0 + + +

The first command ensures there is no old junk at + the beginning of the disk that might confuse the disk code + in the kernel. Following is an automatic skeleton label + generation using the defaults that have been probed from the + disk at boot time. Editing this label continues as described + above. + +

You're done! Time to initialize the filesystems with something + like:- + + + newfs -d0 /dev/rwd0s2e + newfs -d0 /dev/rwd0s2f + + +

Depending on the disk name and slice number, it might be + required that you run the script + before in order to create the desired device nodes. + +

And mount your new filesystems (See + ):- + + + mount /dev/wd0s2e /mnt/foo + mount /dev/wd0s2f /mnt/bar + + +

You may wish to edit to + automatically mount the filesystems at boot time. + +

+ + The basic unit of storage for on your system. + + + A block comprises one or more fragments. See the + reference above and + + + + You may need to provide more information to if you happen to own a ``true disk'', i.e. one with a + uniform geometry, real heads, sectors, and cylinders, + such as an old ESDI drive. All of this should be easily + obtainable from the drive case, owner's manual, fellow + sufferers, etc. :-) + + + Partition 'a' is by convention reserved for a bootable + partition, and partition 'b' for swap space. Regular + partition names should start with 'd'. ('d' used to be + magic in 386BSD 0.1 through FreeBSD 2.0, thus partition + 'e' is often used for the first non-bootable partition + containing a filesystem.) + + + The space required by the BSD partition table is allowed + for in the file system. It's not allowed for by the swap + partition. So don't start swap at cylinder 0, either offset + it or put a file system in partition 'a'. + + + + I have a new removable drive, how do I use it? + +

Whether it's a removable drive like a ZIP or an EZ drive (or + even a floppy, if you want to use it that way), or a new hard + disk, once it's installed and recognized by the system, and + you have your cartridge/floppy/whatever slotted in, things are + pretty much the same for all devices. + +

If it's a ZIP drive or a floppy , you've already got a DOS + filesystem on it, you can use a command like this: + + + mount -t msdos /dev/fd0c /floppy + + +

if it's a floppy, or this: + + + mount -t msdos /dev/sd2s4 /zip + + +

for a ZIP disk with the factory configuration. + +

For other disks, see how they're laid out using /stand/sysinstall. + +

The rest of the examples will be for a ZIP drive on sd2, the third + SCSI disk. + +

Unless it's a floppy, or a removable you plan on sharing with + other people, it's probably a better idea to stick a BSD file + system on it. You'll get long filename support, at least a 2X + improvement in performance, and a lot more stability. First, you + need to redo the DOS-level partitions/filesystems. You can either + use or /stand/sysinstall, or for a small + drive that you don't want to bother with multiple operating system + support on, just blow away the whole FAT partition table (slices) + and just use the BSD partitioning: + + + dd if=/dev/zero of=/dev/rsd2 count=2 + disklabel -Brw sd2 auto + + +

You can use disklabel (more info in ) or /stand/sysinstall to create multiple + BSD partitions. You'll certainly want to do this if you're adding + swap space on a fixed disk, but it's probably irrelevant on a + removable drive like a ZIP. + +

Finally, create a new file system, this one's on our ZIP drive + using the whole disk: + + + newfs /dev/rsd2c + + +

and mount it: + + + mount /dev/sd2c /zip + + +

and it's probably a good idea to add a line like this to + so you can just type "mount /zip" in the + future: + + + /dev/sd2c /zip ffs rw,noauto 0 0 + + + + How do I mount a secondary DOS partition? + +

The secondary DOS partitions are found after ALL the primary + partitions. For example, if you have an "E" partition as the + second DOS partition on the second SCSI drive, you need to create + the special files for "slice 5" in /dev, then mount /dev/sd1s5: + + + # cd /dev + # ./MAKEDEV sd1s5 + # mount -t msdos /dev/sd1s5 /dos/e + + + + Can I mount other foreign filesystems under FreeBSD? + +

for more information. + +

Any other information on this subject would be appreciated. + + + How can I use the NT loader to boot FreeBSD? + +

The general idea is that you copy the first sector of your + native root FreeBSD partition into a file in the DOS/NT + partition. Assuming you name that file something like + c:\bootsect.bsd (inspired by c:\bootsect.dos), + you can then edit the c:\boot.ini file to come up with + something like this: + + + [boot loader] + timeout=30 + default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS + [operating systems] + multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT" + C:\BOOTSECT.BSD="FreeBSD" + C:\="DOS" + + +

This procedure assumes that DOS, NT, FreeBSD, or whatever + have been installed into their respective fdisk partitions on the + Mount a DOS-formatted floppy (if you've converted to NTFS) or the + FAT partition, under, say, /mnt. + + + dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1 + + +

Reboot into DOS or NT. NTFS users copy the + attrib -s -r c:\boot.ini + + +

Edit to add the appropriate entries from the example + + attrib -r -s c:\boot.ini + + +

If FreeBSD is booting from the MBR, restore it with the DOS + `` + + How about FreeBSD and Linux? How do I boot FreeBSD from LILO? + + +

Theoretically you should be able to boot FreeBSD from LILO by + treating it as a DOS-style operating system, but I haven't been + able to get it to work. If you put LILO at the start of your Linux + boot partition instead of in the MBR, you can boot LILO from the + FreeBSD boot manager. This is what I do. + +

If you're running Windows-95 and Linux this is recommended anyway, + to make it simpler to get Linux booting again if you should need + to reinstall Windows95 (which is a Jealous Operating System, and + will bear no other Operating Systems in the Master Boot Record). + + + + Will a ``dangerously dedicated'' disk endanger my health? + + +

Now, while this is certainly the common case for people + coming from a PC background, those people coming more from a + Unix background and who are going to setup a machine just to + run FreeBSD and only FreeBSD, are more used to the classic + Unix way where the operating system owns the entire disks, + from the very first sector through the end. A true fdisk + table isn't of any use in this case, the machine is running + FreeBSD 24 hours per day, 7 days per week, no other operating + system should ever be booted on it. So, if you select + ``A)ll FreeBSD'' in sysinstall's fdisk editor, and answer the + next question with ``No'', you'll get this mode. Note that + this means the BSD bootstrap also forms the MBR for this drive, + so there's no space left for anything like a boot manager. + Don't ever try to install one, or you'll damage the BSD + bootstrap. + +

So why it is called ``dangerous''? A disk in this mode + doesn't contain what normal PC utilities would consider a + valid fdisk table. Depending on how well they have been + designed, they might complain at you once they are getting + in contact with such a disk, or even worse, they might + damage the BSD bootstrap without even asking or notifying + you. Some kind of operating system that is in rather + widespread use on PCs is known for this kind of + user-unfriendliness (of course, it does this in the name of + ``user-friendliness''). At least one Award BIOS that is for + example used in HP Netservers (but not only there) is known + to ignore any harddisk that doesn't have what it believes to + be a valid fdisk table. When it comes to booting, it simply + ignores such a disk drive, advances to the floppy drive, and + barfs at you with just ``Read error''. Very impressive, eh? + They probably also call this ``user-friendly'', who knows? + +

The advantages of this mode are: FreeBSD owns the entire + disk, no need to waste several fictitious `tracks' for just + nothing but a 1980-aged simplistic partitioning model + enforcing some artificial and now rather nonsensical + constraints on how this partitioning needs to be done. + These constraints often lead to what might be the biggest + headaches for OS installations on PCs, geometry mismatch + hassles resulting out of two different, redundant ways how + to store the partitioning information in the fdisk table. + See the chapter about . In ``dangerously dedicated'' mode, the + BSD bootstrap starts at sector 0, and this one is the only + sector that always translates into the same C/H/S values, + regardless of which `translation' your BIOS is using for + your disk. Thus, you can also swap disks between + systems/controllers that use a different translation scheme, + without risking that they won't boot anymore. + +

To return a ``dangerously dedicated'' disk for normal PC + use, there are basically two options. The first is, you + write enough NULL bytes over the MBR to make any subsequent + installation believe this to be a blank disk. You can do + this for example with + + + dd if=/dev/zero of=/dev/rsd0 count=15 + + +

Alternatively, the undocumented DOS ``feature'' + + + fdisk /mbr + + +

will to install a new master boot record as well, thus clobbering the + BSD bootstrap. + + + How can I add more swap space? + +

The best way is to increase the size of your swap partition, or + take advantage of this convenient excuse to add another disk (and + see if you do). + +

Adding swap onto a separate disk makes things faster than + simply adding swap onto the same disk. As an example, if you + are compiling source located on one disk, and the swap is on + another disk, this is much faster than both swap and compile + on the same disk. This is true for SCSI disks specifically. + +

IDE drives are not able to allow access to both drives on + the same channel at the same time (FreeBSD doesn't support mode 4, so + all IDE disk I/O is ``programmed''). I would still suggest putting + your swap on a separate drive however. The drives are so cheap, + it is not worth worrying about. + +

It is a really bad idea to locate your swap file over NFS + unless you are running in a very fast networking environment, with + a good server. + +

Here is an example for 64Mb vn-swap (/usr/swap0, though + of course you can use any name that you want). + +

Make sure your kernel was built with the line + + + pseudo-device vn 1 #Vnode driver (turns a file into a device) + + +

in your config-file. The GENERIC kernel already contains this. + + + create a vn-device cd /dev - rm -f mouse - ln -s sysmouse mouse + sh ./MAKEDEV vn0 - - Help! X Window menus and dialog boxes don't work right! -

- Try turning off the Num Lock key. + create a swapfile (/usr/swap0) - If your Num Lock key is on by default at boot-time, you may add - the following line in the `` + dd if=/dev/zero of=/usr/swap0 bs=1024k count=64 + - -# Let the server do the NumLock processing. This should only be required -# when using pre-R6 clients - ServerNumLock - + enable the swap file in /etc/rc.conf + + swapfile="/usr/swap0" # Set to name of swapfile if aux swapfile desired. + - - What is a virtual console and how do I make more? -

- Virtual consoles, put simply, enable you to have several - simultaneous sessions on the same machine without doing anything - complicated like setting up a network or running X. -

- When the system starts, it will display a login prompt on - the monitor after displaying all the boot messages. You can - then type in your login name and password and start working (or - playing!) on the first virtual console. -

- At some point, you will probably wish to start another - session, perhaps to look at documentation for a program - you are running or to read your mail while waiting for an - FTP transfer to finish. Just do Alt-F2 (hold down the Alt - key and press the F2 key), and you will find a login prompt - waiting for you on the second ``virtual console''! When you - want to go back to the original session, do Alt-F1. -

- The default FreeBSD installation has three virtual consoles - enabled, and Alt-F1, Alt-F2, and Alt-F3 will switch between - these virtual consoles. + reboot the machine + - To enable more of them, edit - and add - entries for ``To enable the swap file immediately, type - - # Edit the existing entry for ttyv3 in /etc/ttys and change - # "off" to "on". - ttyv3 "/usr/libexec/getty Pc" cons25 on secure - ttyv4 "/usr/libexec/getty Pc" cons25 on secure - ttyv5 "/usr/libexec/getty Pc" cons25 on secure - ttyv6 "/usr/libexec/getty Pc" cons25 on secure - ttyv7 "/usr/libexec/getty Pc" cons25 on secure - ttyv8 "/usr/libexec/getty Pc" cons25 on secure - ttyv9 "/usr/libexec/getty Pc" cons25 on secure - ttyva "/usr/libexec/getty Pc" cons25 on secure - ttyvb "/usr/libexec/getty Pc" cons25 on secure - + + vnconfig -ce /dev/vn0c /usr/swap0 swap + - Use as many or as few as you want. The more virtual terminals - you have, the more resources that are used; this can be important - if you have 8MB RAM or less. You may also want to change the - `` + I'm having problems setting up my printer. - Please have a look at the Handbook entry on printing. It + should cover most of your problem. See the + - The easiest way to disable a console is by turning it off. For - example, if you had the full 12 terminal allocation mentioned - above and you wanted to run X, you would change settings for - virtual terminal 12 from: + + The keyboard mappings are wrong for my system. - - ttyvb "/usr/libexec/getty Pc" cons25 on secure - - to: - - ttyvb "/usr/libexec/getty Pc" cons25 off secure - +

The kbdcontrol program has an option to load a keyboard map file. + Under /usr/share/syscons/keymaps are a number of map + files. Choose the one relevant to your system and load it. - If your keyboard has only ten function keys, you would end up with: - - ttyv9 "/usr/libexec/getty Pc" cons25 off secure - ttyva "/usr/libexec/getty Pc" cons25 off secure - ttyvb "/usr/libexec/getty Pc" cons25 off secure - - (You could also just delete these lines.) + + kbdcontrol -l uk.iso + - Once you have edited , - the next step is to make - sure that you have enough virtual terminal devices. The easiest - way to do this is: - - cd /dev - ./MAKEDEV vty12 # For 12 devices - +

Both the /usr/share/syscons/keymaps and the . - Next, the easiest (and cleanest) way to activate the virtual - consoles is to reboot. However, if you really don't want to - reboot, you can just shut down the X Window system and execute (as - - kill -HUP 1 - +

This can be configured in /etc/sysconfig (or ). + See the appropriate comments in this file. - It's imperative that you completely shut down X Window if it is - running, before running this command. If you don't, your system - will probably appear to hang/lock up after executing the kill - command. +

In 2.0.5R and later, everything related to text fonts, keyboard + mapping is in /usr/share/examples/syscons. - - How do I access the virtual consoles from X? -

- If the console is currently displaying X Window, you can use - Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however, - that once you've switched away from X Window to a virtual - terminal, you use only the Alt- function key to switch to another - virtual terminal or back to X Window. You do not also press the - Ctrl key; the Ctrl-Alt-function key combination is used only when - switching from X Window to a virtual terminal. If you insist on - using the control key to switch back to X you can find your - text console stuck in ``control-lock'' mode. Tap the control - key to wake it up again. +

The following mappings are currently supported: - - How do I start XDM from the /etc/ttys file ? -

- Starting - via is a Bad Thing. I don't know why this - crept into some README file. + + + Belgian ISO-8859-1 + Brazilian 275 keyboard Codepage 850 + Brazilian 275 keyboard ISO-8859-1 + Danish Codepage 865 + Danish ISO-8859-1 + French ISO-8859-1 + German Codepage 850 + German ISO-8859-1 + Italian ISO-8859-1 + Japanese 106 + Japanese 106x + Latin American + Norwegian ISO-8859-1 + Polish ISO-8859-2 (programmer's) + Russian Codepage 866 (alternative) + Russian koi8-r (shift) + Russian koi8-r + Spanish ISO-8859-1 + Swedish Codepage 850 + Swedish ISO-8859-1 + Swiss-German ISO-8859-1 + United Kingdom Codepage 850 + United Kingdom ISO-8859-1 + United States of America ISO-8859-1 + United States of America dvorak + United States of America dvorakx + - Start it from your , and be explicit about how it - has to start. If this is your last action in + I can't get user quotas to work properly. - + + Don't turn on quotas on '/', - /usr/X11R6/lib/X11/xdm/Xservers file. This is not necessary: - X will use the first free Put the quota file on the file system that the quotas are + to be enforced on. ie: + + FS QUOTA FILE + /usr /usr/admin/quotas + /home /home/admin/quotas + ... + + - - When I run xconsole, I get ``Couldn't open console''. -

- If you start - with , the permissions on /dev/console will - and - not working. + + What's inappropriate about my ccd? -

- This is because of the way console permissions are set by default. - On a multi-user system, one doesn't necessarily want just any user - to be able to write on the system console. For users who are logging - directly onto a machine with a VTY, the - file exists - to solve such problems. +

The symptom of this is: - In a nutshell, make sure an uncommented line of the form + + # ccdconfig -C + ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format + # + - - /dev/ttyv0 0600 /dev/console - +

This usually happens when you are trying to concatenate the + `c' partitions, which default to type `unused'. The ccd + driver requires the underlying partition type to be + FS_BSDFFS. Edit the disklabel of the disks you are trying + to concatenate and change the types of partitions to + `4.2BSD'. - is in and it will ensure that whomever logs - in on /dev/ttyv0 will own the console. + + Why can't I edit the disklabel on my ccd? +

The symptom of this is: - - My PS/2 mouse doesn't behave properly under X Window. -

- Your mouse and the mouse driver have somewhat become out of - synchronization. Switching away from X to a virtual terminal - and getting back to X again may make them re-synchronized. - If the problem occurs often, you may add the following option - in your kernel configuration file and recompile it. - - options PSM_CHECKSYNC - + + # disklabel ccd0 + (it prints something sensible here, so let's try to edit it) + # disklabel -e ccd0 + (edit, save, quit) + disklabel: ioctl DIOCWDINFO: No disk label on disk; + use "disklabel -r" to install initial label + # + - See the section on if you've no experience with building kernels. +

This is because the disklabel returned by ccd is actually a + `fake' one that is not really on the disk. You can solve + this problem by writing it back explicitly, as in: - With this option, there should be less chance of synchronization - problem between the mouse and the driver. If, however, you - still see the problem, click any mouse button while holding - the mouse still to re-synchronize the mouse and the driver. + + # disklabel ccd0 > /tmp/disklabel.tmp + # disklabel -Rr ccd0 /tmp/disklabel.tmp + # disklabel -e ccd0 + (this will work now) + - Note that unfortunately this option may not work with all the - systems and voids the ``tap'' feature of the ALPS GlidePoint - device attached to the PS/2 mouse port. + + Does FreeBSD support System V IPC primitives? +

Yes, FreeBSD supports System V-style IPC. This includes shared + memory, messages and semaphores. You need to add the following + lines to your kernel config to enable them. - - Networking + + options SYSVSHM + options "SHMMAXPGS=64" # 256Kb of sharable memory + options SYSVSEM # enable for semaphores + options SYSVMSG # enable for messaging + - - Where can I get information on ``diskless booting''? +

Recompile and install. -

- ``Diskless booting'' means that the FreeBSD box is booted over a - network, and reads the necessary files from a server instead of - its hard disk. For full details, please read +

+ + + How do I use sendmail for mail delivery with UUCP? - - Can a FreeBSD box be used as a dedicated network router? +

The sendmail configuration that ships with FreeBSD is + suited for sites that connect directly to the Internet. + Sites that wish to exchange their mail via UUCP must install + another sendmail configuration file. -

- Internet standards and good engineering practice prohibit us from - providing packet forwarding by default in FreeBSD. You can - however enable this feature by changing the following variable to - /etc/sysconfig (or ): - - # If you want this host to be a gateway, set to YES. - gateway=YES - +

Tweaking /etc/sendmail.cf manually is considered + something for purists. Sendmail version 8 comes with a + new approach of generating config files via some + preprocessing, where the actual hand-crafted configuration + is on a higher abstraction level. You should use the + configuration files under - This option will put the variable - + /usr/src/usr.sbin/sendmail/cf + - In most cases, you will also need to run a routing process to - tell other systems on your network about your router; FreeBSD - comes with the standard BSD routing daemon - , or for - more complex situations you may want to try If you didn't install your system with full sources, the sendmail + config stuff has been broken out into a separate source distribution + tarball just for you. Assuming you've got your CD-ROM mounted, do: - It is our duty to warn you that, even when FreeBSD is configured - in this way, it does not completely comply with the Internet - standard requirements for routers; however, it comes close enough - for ordinary usage. + + cd /usr/src + tar -xvzf /cdrom/dists/src/ssmailcf.aa + - - I want to recompile the latest BIND from ISC. It blows up during the compilation on some types conflicts. What can I do ? -

- There is a conflict between the ``compat/include/sys/cdefs.h. +

Don't panic, this is only a few hundred kilobytes in size. + The file README in the cf directory can + serve as a basic introduction to m4 configuration. - - Can I connect my Win95 box to the Internet via FreeBSD? -

- Typically, people who ask this question have two PC's at home, one - with FreeBSD and one with Win95; the idea is to use the FreeBSD - box to connect to the Internet and then be able to access the - Internet from the Windows95 box through the FreeBSD box. This - is really just a special case of the previous question. +

For UUCP delivery, you are best advised to use the + mailertable feature. This constitutes a database + that sendmail can use to base its routing decision upon. - There's a useful document available which explains how to set - FreeBSD up as a +

First, you have to create your .mc file. The + directory /usr/src/usr.sbin/sendmail/cf/cf is the + home of these files. Look around, there are already a few + examples. Assuming you have named your file foo.mc, + all you need to do in order to convert it into a valid + sendmail.cf is: - and - - on your FreeBSD box. + + cd /usr/src/usr.sbin/sendmail/cf/cf + make foo.cf + cp foo.cf /etc/sendmail.cf + - - Does FreeBSD support SLIP and PPP? +

A typical .mc file might look like: -

- Yes. See the man pages for - , - , - - and - . deals exclusively with incoming connections and - deals exclusively with outgoing connections. + + include(`../m4/cf.m4') + VERSIONID(`Your version number') + OSTYPE(bsd4.4) - These programs are described in the following sections of the - : + FEATURE(nodns) + FEATURE(nocanonify) + FEATURE(mailertable) -

-

-

-

+ define(`UUCP_RELAY', your.uucp.relay) + define(`UUCP_MAX_SIZE', 200000) -

- If you only have access to the Internet through a "shell - account", you may want to have a look at the - - package. It can provide you with (limited) access to services - such as ftp and http direct from your local machine. + MAILER(local) + MAILER(smtp) + MAILER(uucp) - - Does FreeBSD support NAT or Masquerading + Cw your.alias.host.name + Cw youruucpnodename.UUCP + -

- If you have a subnet (one or more local machines), but have - been allocated only a single IP number from your Internet - provider, you may want to look at the - program. - The nodns and nocanonify features will + prevent any usage of the DNS during mail delivery. The + UUCP_RELAY clause is needed for bizarre reasons, + don't ask. Simply put an Internet hostname there that + is able to handle .UUCP pseudo-domain addresses; most likely, + you will enter the mail relay of your ISP there. -

- The - program has similar functionality built in via - the Once you've got this, you need this file called + /etc/mailertable. A typical example of this + gender again: - - I can't make - + + # + # makemap hash /etc/mailertable.db < /etc/mailertable + # + horus.interface-business.de uucp-dom:horus + .interface-business.de uucp-dom:if-bus + interface-business.de uucp-dom:if-bus + .heep.sax.de smtp8:%1 + horus.UUCP uucp-dom:horus + if-bus.UUCP uucp-dom:if-bus + . uucp-dom:sax + -

- You should first read the - manual page and - the . Enable logging - with the command - - set log Phase Chat Connect Carrier lcp ipcp ccp command - - This command may be typed at the /etc/ppp/ppp.conf - configuration file (the start of the default section - is the best place to put it). Make sure that - /etc/syslog.conf contains the lines - - !ppp - *.* /var/log/ppp.log - - and that the file /var/log/ppp.log exists. You can - now find out a lot about what's going on from the log file. - Don't worry if it doesn't all make sense. If you need to - get help from someone, it may make sense to them. +

As you can see, this is part of a real-life file. The first + three lines handle special cases where domain-addressed mail + should not be sent out to the default route, but instead to + some UUCP neighbor in order to ``shortcut'' the delivery + path. The next line handles mail to the local Ethernet + domain that can be delivered using SMTP. Finally, the UUCP + neighbors are mentioned in the .UUCP pseudo-domain notation, + to allow for a ``uucp-neighbor!recipient'' override of the + default rules. The last line is always a single dot, matching + everything else, with UUCP delivery to a UUCP neighbor that + serves as your universal mail gateway to the world. All of + the node names behind the uucp-dom: keyword must + be valid UUCP neighbors, as you can verify using the + command uuname. - If your version of ppp doesn't understand the "set log" - command, you should download the - . - It will build on FreeBSD version 2.1.5 and higher. +

As a reminder that this file needs to be converted into a + DBM database file before being usable, the command line to + accomplish this is best placed as a comment at the top of + the mailertable. You always have to execute this command + each time you change your mailertable. - - Ppp won't dial in -auto mode +

Final hint: if you are uncertain whether some particular + mail routing would work, remember the -bt option to + sendmail. It starts sendmail in address test mode; + simply enter ``0 '', followed by the address you wish to + test for the mail routing. The last line tells you the used + internal mail agent, the destination host this agent will be + called with, and the (possibly translated) address. Leave + this mode by typing Control-D. -

- First, check that you've got a default route. By - running - name="netstat -rn">, you should see two entries - like this: - + + j@uriah 191% sendmail -bt + ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) + Enter

+ > 0 foo@interface-business.de + rewrite: ruleset 0 input: foo @ interface-business . de + ... + rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo \ + < @ interface-business . de > + > ^D + j@uriah 192% + + + + + How do I set up mail with a dialup connection to the 'net? + + +

If you've got a statically assigned IP number, you should not + need to adjust anything from the default. Set your host name up + as your assigned internet name and sendmail will do the rest. + +

If you've got a dynamically assigned IP number and use a dialup + In order to retrieve mail from your mailbox, you'll need to + install a retrieval agent. /etc/ppp/ppp.linkup: + + + MYADDR: + !bg su user -c fetchmail + + +

I'm assuming that you have an account for + poll myISP.com protocol pop3 fetchall pass MySecret; + + +

Needless to say, this file should not be readable by anyone except + In order to send mail with the correct The following + VERSIONID(`bsd.home.mc version 1.0') + OSTYPE(bsd4.4)dnl + FEATURE(nouucp)dnl + MAILER(local)dnl + MAILER(smtp)dnl + Cwbsd.home + CwmyISP.com + MASQUERADE_AS(`myISP.com')dnl + FEATURE(allmasquerade)dnl + FEATURE(masquerade_envelope)dnl + FEATURE(nocanonify)dnl + FEATURE(nodns)dnl + define(SMART_HOST, `relay.myISP.com') + DmmyISP.com + define(`confDOMAIN_NAME',`myISP.com')dnl + + +

Refer to the previous section for details of how to turn this + + The X Window System and Virtual Consoles + + + I want to run X, how do I go about it? + +

The easiest way is to simply specify that you want to run X + during the installation process. + +

Then read and follow the documentation on the tool, which assists you in configuring XFree86(tm) + for your particular graphics card/mouse/etc. + +

You may also wish to investigate the Xaccel server, which is + available at a very reasonable price. See the section on + for more details. + + + Why doesn't my mouse work with X + +

If you are using syscons (the default console driver), you can + configure FreeBSD to support a mouse pointer on each virtual + screen. In order to avoid conflicting with X, syscons supports + a virtual device called ``/dev/sysmouse''. All mouse events + received from the real mouse device are written to the sysmouse + device, using the MouseSystems protocol. If you wish to use your + mouse on one or more virtual consoles, + /etc/rc.conf: + moused_type=ps/2 # or whatever your actual type is + moused_port=/dev/psm0 # or whatever your real port is + moused_flags= + + /etc/XF86Config + Section Pointer + Protocol "MouseSystems" + Device "/dev/sysmouse" + ..... + + +

Some people prefer to use ``/dev/mouse'' under X. To + make this work, ``/dev/mouse'' should be linked to + : + + + # cd /dev + # rm -f mouse + # ln -s sysmouse mouse + + + + Help! X Window menus and dialog boxes don't work right! + +

Try turning off the Num Lock key. + +

If your Num Lock key is on by default at boot-time, you may add + the following line in the `` + # Let the server do the NumLock processing. This should only be + # required when using pre-R6 clients + ServerNumLock + + + + What is a virtual console and how do I make more? + +

Virtual consoles, put simply, enable you to have several + simultaneous sessions on the same machine without doing anything + complicated like setting up a network or running X. + +

When the system starts, it will display a login prompt on + the monitor after displaying all the boot messages. You can + then type in your login name and password and start working (or + playing!) on the first virtual console. + +

At some point, you will probably wish to start another + session, perhaps to look at documentation for a program + you are running or to read your mail while waiting for an + FTP transfer to finish. Just do Alt-F2 (hold down the Alt + key and press the F2 key), and you will find a login prompt + waiting for you on the second ``virtual console''! When you + want to go back to the original session, do Alt-F1. + +

The default FreeBSD installation has three virtual consoles + enabled, and Alt-F1, Alt-F2, and Alt-F3 will switch between + these virtual consoles. + + To enable more of them, edit + and add entries for `` + # Edit the existing entry for ttyv3 in /etc/ttys and change + # "off" to "on". + ttyv3 "/usr/libexec/getty Pc" cons25 on secure + ttyv4 "/usr/libexec/getty Pc" cons25 on secure + ttyv5 "/usr/libexec/getty Pc" cons25 on secure + ttyv6 "/usr/libexec/getty Pc" cons25 on secure + ttyv7 "/usr/libexec/getty Pc" cons25 on secure + ttyv8 "/usr/libexec/getty Pc" cons25 on secure + ttyv9 "/usr/libexec/getty Pc" cons25 on secure + ttyva "/usr/libexec/getty Pc" cons25 on secure + ttyvb "/usr/libexec/getty Pc" cons25 on secure + + +

Use as many or as few as you want. The more virtual terminals + you have, the more resources that are used; this can be important + if you have 8MB RAM or less. You may also want to change the + ``The easiest way to disable a console is by turning it off. For + example, if you had the full 12 terminal allocation mentioned + above and you wanted to run X, you would change settings for + virtual terminal 12 from: + + + ttyvb "/usr/libexec/getty Pc" cons25 on secure + + +

to: + + + ttyvb "/usr/libexec/getty Pc" cons25 off secure + + +

If your keyboard has only ten function keys, you would end up with: + + + ttyv9 "/usr/libexec/getty Pc" cons25 off secure + ttyva "/usr/libexec/getty Pc" cons25 off secure + ttyvb "/usr/libexec/getty Pc" cons25 off secure + + +

(You could also just delete these lines.) + +

Once you have edited , + the next step is to make sure that you have enough virtual terminal + devices. The easiest way to do this is: + + + # cd /dev + # ./MAKEDEV vty12 # For 12 devices + + +

Next, the easiest (and cleanest) way to activate the virtual + consoles is to reboot. However, if you really don't want to + reboot, you can just shut down the X Window system and execute (as + + kill -HUP 1 + + +

It's imperative that you completely shut down X Window if it is + running, before running this command. If you don't, your system + will probably appear to hang/lock up after executing the kill + command. + + + How do I access the virtual consoles from X? + +

If the console is currently displaying X Window, you can use + Ctrl-Alt-F1, etc. to switch to a virtual console. Note, however, + that once you've switched away from X Window to a virtual + terminal, you may use only the Alt- function key to switch to another + virtual terminal or back to X Window. You do not need to also press the + Ctrl key. If you use the control key to switch back to X on some + older releases, you can find your text console stuck in ``control-lock'' + mode. Tap the control key to wake it up again. + + + How do I start XDM from the /etc/ttys file ? + +

Starting via is a Start it from your (or even + from a /usr/local/etc/rc.d), and be + explicit about how it has to start. If this is your last action in + /usr/X11R6/lib/X11/xdm/Xservers file. This is not necessary: + X will use the first free + When I run xconsole, I get ``Couldn't open console''. + +

If you start with , the permissions on /dev/console will and not working. + +

This is because of the way console permissions are set by default. + On a multi-user system, one doesn't necessarily want just any user + to be able to write on the system console. For users who are logging + directly onto a machine with a VTY, the + + file exists to solve such problems. + +

In a nutshell, make sure an uncommented line of the form + + + /dev/ttyv0 0600 /dev/console + + +

is in and it will ensure that whomever logs in on + /dev/ttyv0 will own the console. + + + My PS/2 mouse doesn't behave properly under X. + +

Your mouse and the mouse driver have somewhat become out of + synchronization. Switching away from X to a virtual terminal + and getting back to X again may make them re-synchronized. + If the problem occurs often, you may add the following option + in your kernel configuration file and recompile it. + + + options PSM_CHECKSYNC + + +

See the section on + if you've no experience with building kernels. + +

With this option, there should be less chance of synchronization + problem between the mouse and the driver. If, however, you + still see the problem, click any mouse button while holding + the mouse still to re-synchronize the mouse and the driver. + +

Note that unfortunately this option may not work with all the + systems and voids the ``tap'' feature of the ALPS GlidePoint + device attached to the PS/2 mouse port. + + + Networking + + + Where can I get information on ``diskless booting''? + +

``Diskless booting'' means that the FreeBSD box is booted over a + network, and reads the necessary files from a server instead of + its hard disk. For full details, please read + + + + + Can a FreeBSD box be used as a dedicated network router? + + +

Internet standards and good engineering practice prohibit us from + providing packet forwarding by default in FreeBSD. You can + however enable this feature by changing the following variable to + : + + + gateway_enable=YES # Set to YES if this host will be a gateway + + +

This option will put the variable + In most cases, you will also need to run a routing process to + tell other systems on your network about your router; FreeBSD + comes with the standard BSD routing daemon + , or for more complex situations you may want to try + It is our duty to warn you that, even when FreeBSD is configured + in this way, it does not completely comply with the Internet + standard requirements for routers; however, it comes close enough + for ordinary usage. + + + + I want to recompile the latest BIND from ISC. It blows up during the + compilation on some types conflicts. What can I do? + + +

There is a conflict between the ``compat/include/sys/cdefs.h. + + + Can I connect my Win95 box to the Internet via FreeBSD? + +

Typically, people who ask this question have two PC's at home, one + with FreeBSD and one with Win95; the idea is to use the FreeBSD + box to connect to the Internet and then be able to access the + Internet from the Windows95 box through the FreeBSD box. This + is really just a special case of the previous question. + +

There's a useful document available which explains how to set + FreeBSD up as a + +

and + + on your FreeBSD box. + +

See also the section on . + + + Does FreeBSD support SLIP and PPP? + +

Yes. See the man pages for + , , + and + . + deals exclusively with incoming connections and + deals exclusively with outgoing connections. + +

These programs are described in the following sections of the + : + + + + + + + + + + + +

If you only have access to the Internet through a "shell + account", you may want to have a look at the + package. It can provide you with (limited) access to services + such as ftp and http direct from your local machine. + + + + Does FreeBSD support NAT or Masquerading + +

If you have a local subnet (one or more local machines), but have + been allocated only a single IP number from your Internet provider + (or even if you receive a dynamic IP number), you may want to look at + the + program. The program has similar functionality built in via + the + is used in both cases. + + + + I can't make ppp work. What am I doing wrong ? + +

You should first read the and + the . Enable logging with the command + + + set log Phase Chat Connect Carrier lcp ipcp ccp command + + +

This command may be typed at the /etc/ppp/ppp.conf configuration file + (the start of the default section is the best place to put it). + Make sure that contains the lines + + + !ppp + *.* /var/log/ppp.log + + +

and that the file /var/log/ppp.log exists. You can + now find out a lot about what's going on from the log file. + Don't worry if it doesn't all make sense. If you need to + get help from someone, it may make sense to them. + +

If your version of ppp doesn't understand the "set log" + command, you should download the + . + It will build on FreeBSD version 2.1.5 and higher. + + + Ppp won't dial in -auto mode + +

First, check that you've got a default route. By running + name="netstat -rn">, you should see two entries like this: + + Destination Gateway Flags Refs Use Netif Expire default 10.0.0.2 UGSc 0 0 tun0 10.0.0.2 10.0.0.1 UH 0 0 tun0 - - This is assuming that you've used the addresses from the - handbook, the man page or from the ppp.conf.sample file. - If you haven't got a default route, it may be because you're - running an old version of that doesn't understand the - word - add 0 0 HISADDR - - line to one saying - - add 0 0 10.0.0.2 - - Another reason for the default route line being missing is that - you have mistakenly set up a default router in your - file (this file was called - /etc/sysconfig prior to release 2.2.2), and you have - omitted the line saying - - delete ALL - - from ppp.conf. If this is the case, go back to the - section of the handbook. + - - What does "No route to host" mean +

This is assuming that you've used the addresses from the + handbook, the man page or from the ppp.conf.sample file. + If you haven't got a default route, it may be because you're + running an old version of that doesn't understand the + word - This error is usually due to a missing - -MYADDR: - delete ALL - add 0 0 HISADDR - - section in your /etc/ppp/ppp.linkup file. This is - only necessary if you have a dynamic IP address or don't - know the address of your gateway. If you're using - interactive mode, you can type the following after entering - - delete ALL - add 0 0 HISADDR - - Refer to the section of the handbook - for further details. + + add 0 0 HISADDR + - - My connection drops after about 3 minutes +

line to one saying -

- The default ppp timeout is 3 minutes. This can be adjusted - with the line - - set timeout NNN - - where NNN is the number of seconds of inactivity before the - connection is closed. If NNN is zero, the connection is - never closed due to a timeout. - It is possible to put this command in the ppp.conf - file, or to type it at the prompt in interactive mode. It - is also possible to adjust it on the fly while the line is - active by connecting to or - . Refer to the - man page for further details. + + add 0 0 10.0.0.2 + - - My connection drops under heavy load +

Another reason for the default route line being missing is that + you have mistakenly set up a default router in your + file (this file was called + /etc/sysconfig prior to release 2.2.2), and you have + omitted the line saying -

- If you have Link Quality Reporting (LQR) configured, it is - possible that too many LQR packets are lost between your - machine and the peer. Ppp deduces that the line must therefore - be bad, and disconnects. Prior to FreeBSD version 2.2.5, - LQR was enabled by default. It is now disabled by default. - LQR can be disabled with the line - - disable lqr - + + delete ALL + - - My connection drops after a random amount of time +

from ppp.conf. If this is the case, go back to the + section of the handbook. -

- Sometimes, on a noisy phone line or even on a line with - call waiting enabled, your modem may hang up because it - thinks (incorrectly) that it lost carrier. + + What does "No route to host" mean -

- There's a setting on most modems for determining how tolerant - it should be to temporary losses of carrier. On a USR - Sportster for example, this is measured by the S10 register in - tenths of a second. To make your modem more forgiving, you could - add the following send-expect sequence to your dial string: - - set dial "...... ATS10=10 OK ......" - +

This error is usually due to a missing -

- Refer to your modems manual for details. + + MYADDR: + delete ALL + add 0 0 HISADDR + - - Nothing happens after the Login OK! message +

section in your /etc/ppp/ppp.linkup file. This is + only necessary if you have a dynamic IP address or don't know the + address of your gateway. If you're using interactive mode, you can + type the following after entering - Prior to FreeBSD version 2.2.5, once the link was established, - would wait for the peer to initiate the Line Control - Protocol (LCP). Many ISPs will not initiate negotiations and - expect the client to do so. To force - set openmode active - - + delete ALL + add 0 0 HISADDR + - - I keep seeing errors about magic being the same +

Refer to the section of the handbook + for further details. -

- Occasionally, just after connecting, you may see messages in - the log that say "magic is the same". Sometimes, these - messages are harmless, and sometimes one side or the other - exits. + + My connection drops after about 3 minutes -

- This normally happens on server machines with slow disks that - are spawning a getty on the port, and executing ppp from a - login script or program after login. The reason is that in - the time taken between getty exiting and ppp starting, the - client-side ppp starts sending Line Control Protocol (LCP) - packets. Because ECHO is still switched on for the port on - the server, the client ppp sees these packets "reflect" back. +

The default ppp timeout is 3 minutes. This can be adjusted + with the line -

- One part of the LCP negotiation is to establish a magic number - for each side of the link so that "reflections" can be detected. - The protocol says that when the peer tries to negotiate - the same magic number, a NAK should be sent and a new magic - number should be chosen. During the period that the server - port has ECHO turned on, the client ppp sends LCP packets, - sees the same magic in the reflected packet and NAKs it. It - also sees the NAK reflect (which also means ppp must change - its magic). This produces a potentially enormous number of - magic number changes, all of which are happily piling into - the servers tty buffer. As soon as ppp starts on the server, - it's flooded with magic number changes and almost immediately - decides it's tried enough to negotiate LCP and gives up. - Meanwhile, the client, who no longer sees the reflections, - becomes happy just in time to see a hangup from the server. + + set timeout NNN + -

- The only way to circumvent this is to put the following line - in your ppp.conf file: - - set openmode passive - - This tells ppp to wait for the server to initiate LCP - negotiations. Some servers may never initiate negotiations. - If this is the case, please report it as a bug (using send-pr). - Ppp will need to be adjusted so that the user can configure a - variable delay before initiating LCP negotiations. +

where ppp.conf file, or to type it at the prompt in + interactive mode. It is also possible to adjust it on the fly while + the line is active by connecting to + or . Refer to the + man + page for further details. - - Ppp locks up shortly after connecting + + My connection drops under heavy load -

- Prior to version 2.2.5 of FreeBSD, it was possible that your - link was disabled shortly after connection due to - disable pred1 - +

If you have Link Quality Reporting (LQR) configured, it is + possible that too many LQR packets are lost between your + machine and the peer. Ppp deduces that the line must therefore + be bad, and disconnects. Prior to FreeBSD version 2.2.5, + LQR was enabled by default. It is now disabled by default. + LQR can be disabled with the line - - Ppp locks up when I shell out to test it + + disable lqr + -

- When you execute the + My connection drops after a random amount of time -

- If you wish to execute commands like this, use the - Sometimes, on a noisy phone line or even on a line with + call waiting enabled, your modem may hang up because it + thinks (incorrectly) that it lost carrier. - - Ppp over a null-modem cable never exits +

There's a setting on most modems for determining how tolerant + it should be to temporary losses of carrier. On a USR + Sportster for example, this is measured by the S10 register in + tenths of a second. To make your modem more forgiving, you could + add the following send-expect sequence to your dial string: -

- There is no way for - enable lqr - - LQR is accepted by default if negotiated by the peer. + + set dial "...... ATS10=10 OK ......" + - - Why does ppp dial for no reason in -auto mode +

Refer to your modem manual for details. -

- If + Nothing happens after the Login OK! message -

- To determine the cause, use the following line: - - set log +tcp/ip - - This will log all traffic through the connection. The next - time the line comes up unexpectedly, you will see the reason - logged with a convenient timestamp next to it. +

Prior to FreeBSD version 2.2.5, once the link was established, + would wait for the peer to initiate the Line Control + Protocol (LCP). Many ISPs will not initiate negotiations and + expect the client to do so. To force - You can now disable dialing under these circumstances. Usually, - this sort of problem arises due to DNS lookups. To prevent - DNS lookups from establishing a connection (this will - set dfilter 1 deny udp src eq 53 - set dfilter 2 deny udp dst eq 53 - set dfilter 3 permit 0/0 0/0 - + + set openmode active + - - What do these CCP errors mean +

- I keep seeing the following errors in my log file: - - CCP: CcpSendConfigReq - CCP: Received Terminate Ack (1) state = Req-Sent (6) - - This is because ppp is trying to negotiate Predictor1 - compression, and the peer does not want to negotiate any - compression at all. The messages are harmless, but if you - wish to remove them, you can disable Predictor1 compression - locally too: - - disable pred1 - + + I keep seeing errors about magic being the same - - Ppp locks up during file transfers with IO errors +

Occasionally, just after connecting, you may see messages in + the log that say "magic is the same". Sometimes, these + messages are harmless, and sometimes one side or the other + exits. -

- Under FreeBSD 2.2.2 and before, there was a bug in the tun - driver that prevents incoming packets of a size larger than - the tun interface's MTU size. Receipt of a packet greater than - the MTU size results in an IO error being logged via syslogd. +

This normally happens on server machines with slow disks that + are spawning a getty on the port, and executing ppp from a + login script or program after login. The reason is that in + the time taken between getty exiting and ppp starting, the + client-side ppp starts sending Line Control Protocol (LCP) + packets. Because ECHO is still switched on for the port on + the server, the client ppp sees these packets "reflect" back. -

- The ppp specification says that an MRU of 1500 should - always be accepted as a minimum, despite any LCP - negotiations, therefore it is possible that should you decrease - the MTU to less than 1500, your ISP will transmit packets of - 1500 regardless, and you will tickle this non-feature - locking - up your link. +

One part of the LCP negotiation is to establish a magic number + for each side of the link so that "reflections" can be detected. + The protocol says that when the peer tries to negotiate + the same magic number, a NAK should be sent and a new magic + number should be chosen. During the period that the server + port has ECHO turned on, the client ppp sends LCP packets, + sees the same magic in the reflected packet and NAKs it. It + also sees the NAK reflect (which also means ppp must change + its magic). This produces a potentially enormous number of + magic number changes, all of which are happily piling into + the servers tty buffer. As soon as ppp starts on the server, + it's flooded with magic number changes and almost immediately + decides it's tried enough to negotiate LCP and gives up. + Meanwhile, the client, who no longer sees the reflections, + becomes happy just in time to see a hangup from the server. -

- The problem can be circumvented by never setting an MTU of - less than 1500 under FreeBSD 2.2.2 or before. +

The only way to circumvent this is to put the following line + in your ppp.conf file: - - None of this helps - I'm desperate ! + + set openmode passive + -

- If all else fails, send as much information as you can, - including your config files, how you're starting command (before and after connecting) to the - mailing list, and someone - should point you in the right direction. +

This tells ppp to wait for the server to initiate LCP negotiations. + Some servers may never initiate negotiations. If this is the case, + please report it as a bug (using send-pr). Ppp will need to be + adjusted so that the user can configure a variable delay before + initiating LCP negotiations. - - I can't create a /dev/ed0 device! + + Ppp locks up shortly after connecting -

- In the Berkeley networking framework, network interfaces are only - directly accessible by kernel code. Please see the - /etc/netstart file and the manual pages for the various - network programs mentioned there for more information. If this - leaves you totally confused, then you should pick up a book - describing network administration on another BSD-related - operating system; with few significant exceptions, administering - networking on FreeBSD is basically the same as on SunOS 4.0 or - Ultrix. +

Prior to version 2.2.5 of FreeBSD, it was possible that your + link was disabled shortly after connection due to - How can I setup Ethernet aliases? -

- Add `` command-line like the following: - - ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff - + + disable pred1 + - - How do I get my 3C503 to use the other network port? + + Ppp locks up when I shell out to test it -

- If you want to use the other ports, you'll have to specify an - additional parameter on the - command line. The - default port is ``When you execute the - I'm having problems with NFS to/from FreeBSD. +

If you wish to execute commands like this, use the + - Certain PC network cards are better than others (to put it - mildly) and can sometimes cause problems with network intensive - applications like NFS. + + Ppp over a null-modem cable never exits - See - +

There is no way for + enable lqr + - - Why can't I NFS-mount from a Linux box? +

LQR is accepted by default if negotiated by the peer. -

- Some versions of the Linux NFS code only accept mount requests - from a privileged port; try - - mount -o -P linuxbox:/blah /mnt - - - Why can't I NFS-mount from a Sun box? + + Why does ppp dial for no reason in -auto mode -

- Sun workstations running SunOS 4.X only accept mount requests - from a privileged port; try - - mount -o -P sunbox:/blah /mnt - - I'm having problems talking PPP to NeXTStep machines. +

If - Try disabling the TCP extensions in /etc/sysconfig (or - tcp_extensions=NO - +

To determine the cause, use the following line: - Xylogic's Annex boxes are also broken in this regard and you must - use the above change to connect thru them. + + set log +tcp/ip + - - How do I enable IP multicast support? +

This will log all traffic through the connection. The next + time the line comes up unexpectedly, you will see the reason + logged with a convenient timestamp next to it. -

- Multicast host operations are fully supported in FreeBSD 2.0 by - default. If you want your box to run as a multicast router, you - will need to load the You can now disable dialing under these circumstances. Usually, + this sort of problem arises due to DNS lookups. To prevent + DNS lookups from establishing a connection (this will + + set dfilter 1 deny udp src eq 53 + set dfilter 2 deny udp dst eq 53 + set dfilter 3 permit 0/0 0/0 + + +

This is not always suitable, as it will effectively break your + demand-dial capabilities - most programs will need a DNS lookup + before doing any other network related things. + +

In the DNS case, you should try to determine what is actually + trying to resolve a host name. A lot of the time, + is the culprit. You should make sure that you tell + sendmail not to do any DNS lookups in its configuration file. See + the section on for + further details. + + + What do these CCP errors mean + +

I keep seeing the following errors in my log file: + + + CCP: CcpSendConfigReq + CCP: Received Terminate Ack (1) state = Req-Sent (6) + + +

This is because ppp is trying to negotiate Predictor1 + compression, and the peer does not want to negotiate any + compression at all. The messages are harmless, but if you + wish to remove them, you can disable Predictor1 compression + locally too: + + + disable pred1 + + + + Ppp locks up during file transfers with IO errors + +

Under FreeBSD 2.2.2 and before, there was a bug in the tun + driver that prevents incoming packets of a size larger than + the tun interface's MTU size. Receipt of a packet greater than + the MTU size results in an IO error being logged via syslogd. + +

The ppp specification says that an MRU of 1500 should + always be accepted as a minimum, despite any LCP + negotiations, therefore it is possible that should you decrease + the MTU to less than 1500, your ISP will transmit packets of + 1500 regardless, and you will tickle this non-feature - locking + up your link. + +

The problem can be circumvented by never setting an MTU of + less than 1500 under FreeBSD 2.2.2 or before. + + + None of this helps - I'm desperate ! + +

If all else fails, send as much information as you can, + including your config files, how you're starting command (before and after connecting) to the + mailing list or the + news group, and someone + should point you in the right direction. + + + I can't create a /dev/ed0 device! + +

In the Berkeley networking framework, network interfaces are only + directly accessible by kernel code. Please see the + /etc/rc.network file and the manual pages for the various + network programs mentioned there for more information. If this + leaves you totally confused, then you should pick up a book + describing network administration on another BSD-related + operating system; with few significant exceptions, administering + networking on FreeBSD is basically the same as on SunOS 4.0 or + Ultrix. + + + How can I setup Ethernet aliases? + +

Add `` + command-line like the following: + + + ifconfig ed0 alias 204.141.95.2 netmask 0xffffffff + + + + How do I get my 3C503 to use the other network port? + +

If you want to use the other ports, you'll have to specify an + additional parameter on the + command line. The + default port is ``. + + + I'm having problems with NFS to/from FreeBSD. + +

Certain PC network cards are better than others (to put it + mildly) and can sometimes cause problems with network intensive + applications like NFS. + +

See + for more information on this topic. + + + Why can't I NFS-mount from a Linux box? + +

Some versions of the Linux NFS code only accept mount requests + from a privileged port; try + + + mount -o -P linuxbox:/blah /mnt + + + + Why can't I NFS-mount from a Sun box? + +

Sun workstations running SunOS 4.X only accept mount requests + from a privileged port; try + + + mount -o -P sunbox:/blah /mnt + + + + I'm having problems talking PPP to NeXTStep machines. + +

Try disabling the TCP extensions in by + changing the following variable to NO: + + + tcp_extensions=NO + + +

Xylogic's Annex boxes are also broken in this regard and you must + use the above change to connect thru them. + + + How do I enable IP multicast support? + +

Multicast host operations are fully supported in FreeBSD 2.0 and + above by default. If you want your box to run as a multicast router, you + will need to load the For more information: + + Product Description Where --------------- ----------------------- --------------------------------------- faq.txt Mbone FAQ ftp.isi.edu:/mbone/faq.txt @@ -3859,641 +3932,650 @@ rtpqual Tools for testing the ftp.psc.edu:/pub/net_tools/rtpqual.c quality of RTP packets. vat_nv_record Recording tools for vat ftp.sics.se:archive/vat_nv_record.tar.Z and nv. - - - - - Which network cards are based on the DEC PCI chipset? - -

- Here is a list compiled by Glen Foster - -Vendor Model -- -------------------------------------------------------- -ASUS PCI-L101-TB -Accton ENI1203 -Cogent EM960PCI -Compex ENET32-PCI -D-Link DE-530 -DEC DE435 -Danpex EN-9400P3 -JCIS Condor JC1260 -Linksys EtherPCI -Mylex LNP101 -SMC EtherPower 10/100 (Model 9332) -SMC EtherPower (Model 8432) -TopWare TE-3500P -Zynx ZX342 - - - - Why do I have to use the FQDN for hosts on my site? -

- You will probably find that the host is actually in a different - domain; for example, if you are in foo.bar.edu and you wish to reach - a host called ``mumble'' in the bar.edu domain, you will have to - refer to it by the fully-qualified domain name, ``mumble.bar.edu'', - instead of just ``mumble''. -

- Traditionally, this was allowed by BSD BIND resolvers. However - the current version of BIND that ships with FreeBSD - no longer provides default abbreviations for non-fully - qualified domain names other than the domain you are in. - So an unqualified host mumble must either be found - as mumble.foo.bar.edu, or it will be searched for - in the root domain. -

- This is different from the previous behavior, where the - search continued across mumble.bar.edu, and - mumble.edu. Have a look at RFC 1535 for why this - was considered bad practice, or even a security hole. -

- As a good workaround, you can place the line -

-search foo.bar.edu bar.edu -

- instead of the previous - -

-domain foo.bar.edu -

- into your . However, make sure - that the search order does not go beyond the ``boundary - between local and public administration'', as RFC 1535 - calls it. - - - - - ``Permission denied'' for all networking operations. -

- If you have compiled your kernel with the - If you had unintentionally misconfigured your system for - firewalling, you can restore network operability by typing - the following while logged in as root: - - - ipfw add 65534 allow all from any to any - - - For further information on configuring a FreeBSD firewall, - see the - - - - - Serial Communications -

- This section answers common questions about serial communications - with FreeBSD. - - - How do I tell if FreeBSD found my serial ports? -

- As the FreeBSD kernel boots, it will probe for the serial ports - in your system for which the kernel was configured. You can - either watch your system closely for the messages it prints or - run the command - - dmesg | grep sio - - after your system's up and running. - - Here's some example output from the above command: - - sio0 at 0x3f8-0x3ff irq 4 on isa - sio0: type 16550A - sio1 at 0x2f8-0x2ff irq 3 on isa - sio1: type 16550A - - - This shows two serial ports. The first is on irq 4, is using - port address for - more details. - - - How do I tell if FreeBSD found my modem cards? -

- Please refer to the answer to the previous question. - - - I just upgraded to 2.0.5 and my -

- Don't worry, they have been merged with the - How do I access the serial ports on FreeBSD? -

- The third serial port, (known as COM3 in DOS), is on - /dev/cuaa2 for dial-out devices, and on - /dev/ttyd2 for dial-in devices. What's the difference - between these two classes of devices? - - You use /dev/ttydX in blocking mode, a process will wait for the - corresponding - How do I enable support for a multiport serial card? -

- Again, the section on kernel configuration provides information - about configuring your kernel. For a multiport serial card, - place an line for each serial port on the card in the - kernel configuration file. But place the irq and vector - specifiers on only one of the entries. All of the ports on the - card should share one irq. For consistency, use the last serial - port to specify the irq. Also, specify the - - options "COM_MULTIPORT" - device sio4 at isa? port 0x2a0 tty flags 0x781 - device sio5 at isa? port 0x2a8 tty flags 0x781 - device sio6 at isa? port 0x2b0 tty flags 0x781 - device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr - - The flags indicate that the master port has minor number 7 - ( - Can FreeBSD handle multiport serial cards sharing irqs? -

- Not yet. You'll have to use a different irq for each card. - - - How can I set the default serial parameters for a port? -

- The - stty -a -f /dev/ttyd1 - - - When you change the settings to this device, the settings are in - effect until the device is closed. When it's reopened, it goes - back to the default set. To make changes to the default set, you - can open and adjust the settings of the ``initial state'' device. - For example, to turn on XON/XOFF flow control by default for ttyd5, do: - - stty -f /dev/ttyid5 clocal cs8 ixon ixoff - - - A good place to do this is in /etc/rc.serial. Now, an - application will have these settings by default when it opens - - stty -f /dev/ttyld5 57600 - - - Now, an application that opens script does - - How can I enable dialup logins on my modem? -

- So you want to become an Internet service provider, eh? First, - you'll need one or more modems that can auto-answer. Your modem - will need to assert carrier-detect when it detects a carrier and - not assert it all the time. It will need to hang up the phone - and reset itself when the data terminal ready (RTS/CTS - flow control or no local flow control at all. Finally, it must - use a constant speed between the computer and itself, but (to be - nice to your callers) it should negotiate a speed between itself - and the remote modem. - - For many Hayes command-set--compatible modems, this command will - make these settings and store them in nonvolatile memory: - - AT &C1 &D3 &K3 &Q6 S0=1 &W - - See the section below for information on how to make these settings - without resorting to an MS-DOS terminal program. - - Next, make an entry in for the modem. This - file lists all the ports on which the operating system will await - logins. Add a line that looks something like this: - - ttyd1 "/usr/libexec/getty std.57600" dialup on insecure - - This line indicates that the second serial port - (/dev/ttyd1) has a modem connected running at 57600 bps - and no parity (). The terminal type for this port is - ``dialup.'' The port is ``on'' and is ``insecure''---meaning - root logins on the port aren't allowed. For dialin ports like - this one, use the '' to - , you need to - send a hangup or process: - - kill -1 1 - - This forces the init process to reread . The - init process will then start getty processes on all ``on'' ports. - You can find out if logins are available for your port by typing - - ps -ax | grep '[t]tyd1' - - - You should see something like: - - 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 - - - - How can I connect a dumb terminal to my FreeBSD box? -

- If you're using another computer as a terminal into your FreeBSD - system, get a null modem cable to go between the two serial - ports. If you're using an actual terminal, see its accompanying - instructions. - - Then, modify , like above. For example, if - you're hooking up a WYSE-50 terminal to the fifth serial port, - use an entry like this: - - ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure - - This example shows that the port on /dev/ttyd4 has a - wyse50 terminal connected at 38400 bps with no parity - () and - Why can't I run -

- On your system, the programs and are probably - executable only by and group - chmod 4511 /usr/bin/cu - chmod 4511 /usr/bin/tip - - - - My stock Hayes modem isn't supported---what can I do? -

- Actually, the man page for is out of date. There is a - generic Hayes dialer already built in. Just use - `` file. - - The Hayes driver isn't smart enough to recognize some of the - advanced features of newer modems---messages like (using - /usr/src/usr.bin/tip/tip Obviously you need the source - distribution to do this. - - Edit the line `` - How am I expected to enter these AT commands? -

- Make what's called a `` file. For example, if your modem's hooked - up to the first serial port, /dev/cuaa0, then put in the - following line: - - cuaa0:dv=/dev/cuaa0:br#19200:pa=none - - Use the highest bps rate your modem supports in the br - capability. Then, type and you'll be - connected to your modem. - - If there is no /dev/cuaa0 on your system, do this: - - cd /dev - MAKEDEV cuaa0 - -

- Or use cu as root with the following command: - - cu -l``line'' -s``speed'' - - with line being the serial port (e.g./dev/cuaa0) - and speed being the speed (e.g.57600). - When you are done entering the AT commands hit ~. to exit. - - - The -

- The for a phone number. But the . Escape it with a backslash: - - pn=\@ - - - - How can I dial a phone number on the command line? -

- Put what's called a `` file. For example: - - tip115200|Dial any phone number at 115200 bps:\ - :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: - tip57600|Dial any phone number at 57600 bps:\ - :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: - - - Then you can things like `` over , use a generic cu entry: - - cu115200|Use cu to dial any number at 115200bps:\ - :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: - - and type `` - Do I have to type in the bps rate every time I do that? -

- Put in an entry for thinks a good default is 1200 bps which is - why it looks for a `` - I access a number of hosts through a terminal server. -

- Rather than waiting until you're connected and typing - ``: - - pain|pain.deep13.com|Forrester's machine:\ - :cm=CONNECT pain\n:tc=deep13: - muffin|muffin.deep13.com|Frank's machine:\ - :cm=CONNECT muffin\n:tc=deep13: - deep13:Gizmonics Institute terminal server:\ - :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234: - - - will let you type `` - Can tip try more than one line for each site? -

- This is often a problem where a university has several modem lines - and several thousand students trying to use them... -

- Make an entry for your university in - and use \@ for the - big-university:\ - :pn=\@:tc=dialout - dialout:\ - :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: - - - Then, list the phone numbers for the university in - : - - big-university 5551111 - big-university 5551112 - big-university 5551113 - big-university 5551114 - - - will try each one in the listed order, then give up. If - you want to keep retrying, run - Why do I have to hit CTRL+P twice to send CTRL+P once? -

- CTRL+P is the default ``force'' character, used to tell - - that the next character is literal data. You can set the force - character to any other character with the $HOME/.tiprc - file: - - force= - - - - Suddenly everything I type is in UPPER CASE?? -

- You must've pressed CTRL+A, ``raise character,'' - specially designed for people with broken caps-lock keys. Use - - force=^^ - raisechar=^^ - - The ^^ is SHIFT+CTRL+6. - - - How can I do file transfers with -

- If you're talking to another UNIX system, you can send and - receive files with and on the remote system - to accept and send files. The syntax is: - - ~p [] - ~t [] - - - There's no error checking, so you probably should use another - protocol, like zmodem. - - - How can I run zmodem with -

- First, install one of the zmodem programs from the ports - collection (such as one of the two from the comms category, - and - ). - - To receive files, start the sending program on the remote end. - Then, press enter and type `` - - - Miscellaneous Questions -

- - - Why does FreeBSD consume far more swap space than Linux? - -

- 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. - - - What is FreeBSD's a.out executable format, and why not ELF? -

To understand why FreeBSD uses the a.out format, you must - first know a little about the 3 currently "dominant" executable - formats for UNIX: - - + + + + Which network cards are based on the DEC PCI chipset? + +

Here is a list compiled by : + + + Vendor Model + ---------------------------------------------- + ASUS PCI-L101-TB + Accton ENI1203 + Cogent EM960PCI + Compex ENET32-PCI + D-Link DE-530 + DEC DE435 + Danpex EN-9400P3 + JCIS Condor JC1260 + Linksys EtherPCI + Mylex LNP101 + SMC EtherPower 10/100 (Model 9332) + SMC EtherPower (Model 8432) + TopWare TE-3500P + Zynx ZX342 + + + + Why do I have to use the FQDN for hosts on my site? + +

You will probably find that the host is actually in a different + domain; for example, if you are in foo.bar.edu and you wish to reach + a host called ``mumble'' in the bar.edu domain, you will have to + refer to it by the fully-qualified domain name, ``mumble.bar.edu'', + instead of just ``mumble''. + +

Traditionally, this was allowed by BSD BIND resolvers. However + the current version of that ships + with FreeBSD no longer provides default abbreviations for non-fully + qualified domain names other than the domain you are in. + So an unqualified host mumble must either be found + as mumble.foo.bar.edu, or it will be searched for + in the root domain. + +

This is different from the previous behavior, where the + search continued across mumble.bar.edu, and + mumble.edu. Have a look at RFC 1535 for why this + was considered bad practice, or even a security hole. + +

As a good workaround, you can place the line + + + search foo.bar.edu bar.edu + + +

instead of the previous + + + domain foo.bar.edu + + +

into your file. However, make sure that the search order + does not go beyond the ``boundary between local and public + administration'', as RFC 1535 calls it. + + + ``Permission denied'' for all networking operations. + +

If you have compiled your kernel with the If you had unintentionally misconfigured your system for + firewalling, you can restore network operability by typing + the following while logged in as root: + + + ipfw add 65534 allow all from any to any + + +

For further information on configuring a FreeBSD firewall, + see the . + + + Serial Communications + +

This section answers common questions about serial communications + with FreeBSD. PPP and SLIP are covered in the section. + + + How do I tell if FreeBSD found my serial ports? + +

As the FreeBSD kernel boots, it will probe for the serial ports + in your system for which the kernel was configured. You can + either watch your system closely for the messages it prints or + run the command + + + dmesg | grep sio + + +

after your system's up and running. + +

Here's some example output from the above command: + + + sio0 at 0x3f8-0x3ff irq 4 on isa + sio0: type 16550A + sio1 at 0x2f8-0x2ff irq 3 on isa + sio1: type 16550A + + +

This shows two serial ports. The first is on irq 4, is using + port address The for + more details. + + + How do I tell if FreeBSD found my modem cards? + +

Refer to the answer to the previous question. + + + I just upgraded to 2.0.5 and my + +

Don't worry, they have been merged with the + How do I access the serial ports on FreeBSD? + +

The third serial port, (known as + COM3 in DOS), is on /dev/cuaa2 for dial-out devices, and on + /dev/ttyd2 for dial-in devices. What's the difference + between these two classes of devices? + +

You use /dev/ttydX + in blocking mode, a process will wait for the corresponding + + How do I enable support for a multiport serial card? + +

Again, the section on kernel configuration provides information + about configuring your kernel. For a multiport serial card, + place an line for each serial port on the card in the + kernel configuration file. But place the irq and vector + specifiers on only one of the entries. All of the ports on the + card should share one irq. For consistency, use the last serial + port to specify the irq. Also, specify the The following example is for an AST 4-port serial card on irq 7: + + + options "COM_MULTIPORT" + device sio4 at isa? port 0x2a0 tty flags 0x781 + device sio5 at isa? port 0x2a8 tty flags 0x781 + device sio6 at isa? port 0x2b0 tty flags 0x781 + device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr + + +

The flags indicate that the master port has minor number 7 + ( + Can FreeBSD handle multiport serial cards sharing irqs? + +

Not yet. You'll have to use a different irq for each card. + + + How can I set the default serial parameters for a port? + +

The + stty -a -f /dev/ttyd1 + + +

When you change the settings to this device, the settings are in + effect until the device is closed. When it's reopened, it goes + back to the default set. To make changes to the default set, you + can open and adjust the settings of the ``initial state'' device. + For example, to turn on XON/XOFF flow control by default for ttyd5, do: + + + stty -f /dev/ttyid5 clocal cs8 ixon ixoff + + +

A good place to do this is in /etc/rc.serial. Now, an + application will have these settings by default when it opens + You can also prevent certain settings from being changed by an + application by making adjustments to the ``lock state'' device. + For example, to lock the speed of + stty -f /dev/ttyld5 57600 + + +

Now, an application that opens Naturally, you should make the initial state and lock state + devices writable only by script does + How can I enable dialup logins on my modem? + +

So you want to become an Internet service provider, eh? First, + you'll need one or more modems that can auto-answer. Your modem + will need to assert carrier-detect when it detects a carrier and + not assert it all the time. It will need to hang up the phone + and reset itself when the data terminal ready (RTS/CTS + flow control or no local flow control at all. Finally, it must + use a constant speed between the computer and itself, but (to be + nice to your callers) it should negotiate a speed between itself + and the remote modem. + +

For many Hayes command-set--compatible modems, this command will + make these settings and store them in nonvolatile memory: + + + AT &C1 &D3 &K3 &Q6 S0=1 &W + + +

See the section below for information on how to make these settings + without resorting to an MS-DOS terminal program. + +

Next, make an entry in for the + modem. This file lists all the ports on which the operating system will + await logins. Add a line that looks something like this: + + + ttyd1 "/usr/libexec/getty std.57600" dialup on insecure + + +

This line indicates that the second serial port + (/dev/ttyd1) has a modem connected running at 57600 bps + and no parity (). The terminal type for this port is + ``dialup.'' The port is ``on'' and is ``insecure''---meaning + root logins on the port aren't allowed. For dialin ports like + this one, use the It's common practice to use ``dialup'' as the terminal type. + Many users set up in their .profile or .login files a prompt for + the actual terminal type if the starting type is dialup. The + example shows the port as insecure. To become root on this port, + you have to login as a regular user, then '' to + After making modifications to , you + need to send a hangup or process: + + + kill -HUP 1 + + +

This forces the init process to reread . The + init process will then start getty processes on all ``on'' ports. + You can find out if logins are available for your port by typing + + + ps -ax | grep '[t]tyd1' + + +

You should see something like: + + + 747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1 + + + + How can I connect a dumb terminal to my FreeBSD box? + +

If you're using another computer as a terminal into your FreeBSD + system, get a null modem cable to go between the two serial + ports. If you're using an actual terminal, see its accompanying + instructions. + +

Then, modify , like above. For example, if you're hooking up a + WYSE-50 terminal to the fifth serial port, use an entry like this: + + + ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure + + +

This example shows that the port on /dev/ttyd4 has a + wyse50 terminal connected at 38400 bps with no parity + () and + Why can't I run + +

On your system, the programs and are probably + executable only by and group Alternatively, you can let everyone on your system run + # chmod 4511 /usr/bin/cu + # chmod 4511 /usr/bin/tip + + + + My stock Hayes modem isn't supported---what can I do? + +

Actually, the man page for is out of + date. There is a generic Hayes dialer already built in. Just use + `` file. + +

The Hayes driver isn't smart enough to recognize some of the + advanced features of newer modems---messages like (using + Also, the dial timeout for Actually, as shipped /usr/src/usr.bin/tip/tip Obviously you need the source + distribution to do this. + +

Edit the line `` + + How am I expected to enter these AT commands? + +

Make what's called a `` file. For example, if your modem's hooked + up to the first serial port, /dev/cuaa0, then put in the + following line: + + + cuaa0:dv=/dev/cuaa0:br#19200:pa=none + + +

Use the highest bps rate your modem supports in the br + capability. Then, type and + you'll be connected to your modem. + +

If there is no /dev/cuaa0 on your system, do this: + + + # cd /dev + # ./MAKEDEV cuaa0 + + +

Or use cu as root with the following command: + + + # cu -l``line'' -s``speed'' + + +

with line being the serial port (e.g./dev/cuaa0) + and speed being the speed (e.g.57600). When you are done + entering the AT commands hit ~. to exit. + + + The + +

The for a phone number. But the . Escape it with a backslash: + + + pn=\@ + + + + How can I dial a phone number on the command line? + +

Put what's called a `` file. For example: + + + tip115200|Dial any phone number at 115200 bps:\ + :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du: + tip57600|Dial any phone number at 57600 bps:\ + :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du: + + +

Then you can things like `` over , use a + generic cu entry: + + + cu115200|Use cu to dial any number at 115200bps:\ + :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du: + + +

and type `` + Do I have to type in the bps rate every time I do that? + +

Put in an entry for thinks a good + default is 1200 bps which is why it looks for a `` + I access a number of hosts through a terminal server. + +

Rather than waiting until you're connected and typing + ``: + + + pain|pain.deep13.com|Forrester's machine:\ + :cm=CONNECT pain\n:tc=deep13: + muffin|muffin.deep13.com|Frank's machine:\ + :cm=CONNECT muffin\n:tc=deep13: + deep13:Gizmonics Institute terminal server:\ + :dv=/dev/cua02:br#38400:at=hayes:du:pa=none:pn=5551234: + + +

will let you type `` + Can tip try more than one line for each site? + +

This is often a problem where a university has several modem lines + and several thousand students trying to use them... + +

Make an entry for your university in + and use \@ for the + big-university:\ + :pn=\@:tc=dialout + dialout:\ + :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none: + + +

Then, list the phone numbers for the university in + : + + + big-university 5551111 + big-university 5551112 + big-university 5551113 + big-university 5551114 + + +

will try each one in the listed order, then give up. If + you want to keep retrying, run + Why do I have to hit CTRL+P twice to send CTRL+P once? + +

CTRL+P is the default ``force'' character, used to tell + + that the next character is literal data. You can set the force + character to any other character with the Type ``You can have the force character be whatever you want by + specifying the following in your $HOME/.tiprc + file: + + + force= + + + + Suddenly everything I type is in UPPER CASE?? + +

You must've pressed CTRL+A, ``raise + character,'' specially designed for people with broken caps-lock keys. + Use Here's a sample .tiprc file perfect for Emacs users who need to + type CTRL+2 and CTRL+A a lot: + + + force=^^ + raisechar=^^ + + +

The ^^ is SHIFT+CTRL+6. + + + How can I do file transfers with + +

If you're talking to another UNIX system, you can send and + receive files with and on the remote system to accept and send files. The syntax + is: + + + ~p [] + ~t [] + + +

There's no error checking, so you probably should use another + protocol, like zmodem. + + + How can I run zmodem with + +

First, install one of the zmodem programs from the ports + collection (such as one of the two from the comms category, + + and ). + +

To receive files, start the sending program on the remote end. + Then, press enter and type ``To send files, start the receiving program on the remote end. + Then, press enter and type `` + Miscellaneous Questions + + + + Why does FreeBSD consume far more swap space than Linux? + + +

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. + + + + What is FreeBSD's a.out executable format, and why not ELF? + + +

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 + that's often used to characterize the format (see for more details). It contains three loaded segments: .text, .data, and .bss plus a symbol table and a string table. - - COFF

The SVR3 object format. The header now comprises a section @@ -4509,465 +4591,458 @@ domain foo.bar.edu commercial SYSV world (which has at least three ABIs: SVR4, Solaris, SCO) does it hold true. - FreeBSD tries to work around this problem somewhat by +

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 uses the - format, a technology tried and proven through - many generations of BSD releases. Though it has also been possible - for some time to build and run native In FreeBSD's case, it's not quite so simple since our shared - library mechanism is based more closely on Sun's - SunOS-style shared library mechanism and, as such, is very - easy to use. The only thing we actually lack with - - - Why doesn't chmod change the permissions on symlinks? -

- You have to use either `` and - man pages for more info. - - without any options and follow the symlink with a - trailing slash (``/''). For example, if `` - chmod 555 foo/ - - - With the trailing slash, will follow the symlink, - `` - - - Why are login names - -

You'd think it'd be easy enough to change - - - Can I run DOS binaries under FreeBSD? - -

- Not yet, though BSDI has just donated their - if you're interested in joining this effort! - - For now, there is a neat utility called - in the - ports collection which emulates an 8088 and enough BIOS services - to run DOS text mode applications. It requires the X Window - System (provided as XFree86 3.1.2). - - - What is this thing called `` - -

- - stands for Software Update Protocol, and was developed by CMU - for keeping their development trees in sync. We used it to keep - remote sites in sync with our central development sources. - - SUP is not bandwidth friendly, and has been retired. The current - recommended method to keep your sources up to date is - - - - How cool is FreeBSD? -

- 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 `` - Who's scratching in my memory banks?? -

- 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! - - - - - For serious FreeBSD hackers only - - - What's with all these SNAPshot, RELENG and RELEASE releases? - -

- There are currently three active/semi-active branches in the FreeBSD - : - - - - - - - -

- How do I make my own custom release? -

- To make a release you need to do three things: First, you need to - be running a kernel with the driver configured in. Add - this to your kernel config file and build a new kernel: - - -pseudo-device vn #Vnode driver (turns a file into a device) - - - Second, you have to have the whole CVS repository at hand. - To get this you can use - - but your tag value, if any, should be `.' and your release name - should be cvs: - - -*default prefix=/home/ncvs base=/a host=cvsup.FreeBSD.org release=cvs delete compress use-rel=suffix - -## Main Source Tree -src-all -src-eBones -src-secure - -# Other stuff -ports-all -www - - - Then run /some/big/filesystem, and from the example - above you've got the CVS repository in /home/ncvs: - - -setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs -cd /usr/src/release -make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release - - - 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 - How do I create customized installation disks? -

- 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. - - - ``make world'' clobbers my existing installed binaries. - -

- 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 `` - When my system boots, it says ``(bus speed defaulted)''. - -

- 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 `` - Can I follow current with limited Internet access? - -

- Yes, you can do this - - - How did you split the distribution up into 240k files? - -

- Newer BSD based systems have a ``/usr/src/Makefile. - - - bin-tarball: - (cd ${DISTDIR}; \ - tar cf - . \ - gzip --no-name -9 -c | \ - split -b 240640 - \ - ${RELEASEDIR}/tarballs/bindist/bin_tgz.) - - - - I've written a kernel extension, who do I send it to? -

- Please take a look at: - - - - And thanks for the thought! - - - - How are Plug N Play ISA cards detected and initialised? -

- By: Frank Durda IV <uhclem@nemesis.lonestar.org> - - 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 `` - Will FreeBSD ever support other architectures? - -

- 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> - . - - - I need a major number for a device driver I've written. - -

- 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 code to create any special files - your device uses. If you do not, or are unable to because of - licensing restrictions, then character major number 32 and block - major number 8 have been reserved specifically for this purpose; - please use them. In any case, we'd appreciate hearing about your - driver on <hackers@FreeBSD.ORG>. - - - ACKNOWLEDGMENTS - -

- - If you see a problem with this FAQ, or wish to submit an entry, - please mail us at . We appreciate your - feedback, and cannot make this a better FAQ without your help! - - - FreeBSD Core Team - - - - - - And to any others we've forgotten, apologies and heartfelt thanks! + name="brandelf"> for more information. + + +

FreeBSD comes from the "classic" camp and uses the + format, a technology tried and proven through + many generations of BSD releases. Though it has also been possible + for some time to build and run native In FreeBSD's case, it's not quite so simple since our shared + library mechanism is based more closely on Sun's + SunOS-style shared library mechanism and, as such, is very + easy to use. The only thing we actually lack with + Why doesn't chmod change the permissions on symlinks? + +

You have to use either `` and + + man pages for more info. + +

+ without any options and follow the symlink with a trailing slash + (``/''). For example, if `` + chmod 555 foo/ + + +

With the trailing slash, will + follow the symlink, `` + + Why are login names + +

You'd think it'd be easy enough to change + Can I run DOS binaries under FreeBSD? + +

Not yet, though BSDI has just donated their if you're interested in + joining this effort! + +

For now, there is a neat utility called + + in the ports collection which emulates an 8088 and enough BIOS services + to run DOS text mode applications. It requires the X Window + System (provided as XFree86). + + + + What is this thing called `` + +

+ stands for Software Update Protocol, and was developed by CMU + for keeping their development trees in sync. We used it to keep + remote sites in sync with our central development sources. + +

SUP is not bandwidth friendly, and has been retired. The current + recommended method to keep your sources up to date is + + + + How cool is FreeBSD? + +

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 `` + Who's scratching in my memory banks?? + +

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! + + + For serious FreeBSD hackers only + + + + What's with all these SNAPshot, RELENG and RELEASE releases? + + +

There are currently three active/semi-active branches in the FreeBSD + : + + + + +

Right now, The + + How do I make my own custom release? + +

To make a release you need to do three things: First, you need to + be running a kernel with the driver configured + in. Add this to your kernel config file and build a new kernel: + + + pseudo-device vn #Vnode driver (turns a file into a device) + + +

Second, you have to have the whole CVS repository at hand. + To get this you can use + but your tag value, if any, should be `.' and your release name + should be cvs: + + + *default prefix=/home/ncvs + *default base=/a + *default host=cvsup.FreeBSD.org + *default release=cvs + *default delete compress use-rel-suffix + + ## Main Source Tree + src-all + src-eBones + src-secure + + # Other stuff + ports-all + www + doc-all + + +

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: + + + setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs + cd /usr/src/release + make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/some/big/filesystem/release + + +

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 + How do I create customized installation disks? + +

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. + + + ``make world'' clobbers my existing installed binaries. + +

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 `` + + When my system boots, it says ``(bus speed defaulted)''. + + +

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 `` + + Can I follow current with limited Internet access? + +

Yes, you can do this + + + How did you split the distribution up into 240k files? + +

Newer BSD based systems have a ``Here is an example from /usr/src/Makefile. + + + bin-tarball: + (cd ${DISTDIR}; \ + tar cf - . \ + gzip --no-name -9 -c | \ + split -b 240640 - \ + ${RELEASEDIR}/tarballs/bindist/bin_tgz.) + + + + I've written a kernel extension, who do I send it to? + +

Please take a look at + +

And thanks for the thought! + + + How are Plug N Play ISA cards detected and initialised? + +

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 + + Will FreeBSD ever support other architectures? + +

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> + . + + + I need a major number for a device driver I've written. + +

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 code to create any special files your device uses. If + you do not, or are unable to because of licensing restrictions, then + character major number 32 and block major number 8 have been reserved + specifically for this purpose; please use them. In any case, we'd + appreciate hearing about your driver on + <hackers@FreeBSD.ORG>. + + + ACKNOWLEDGMENTS + +

+ + If you see a problem with this FAQ, or wish to submit an entry, + please mail us at . We appreciate your + feedback, and cannot make this a better FAQ without your help! + + + FreeBSD Core Team + + + + + +

And to any others we've forgotten, apologies and heartfelt thanks!