Index: head/release/sysinstall/help/configure.hlp =================================================================== --- head/release/sysinstall/help/configure.hlp (revision 44618) +++ head/release/sysinstall/help/configure.hlp (revision 44619) @@ -1,10 +1,10 @@ This menu allows you to configure your system after the installation process is complete. At the minimum, you should probably set the system manager's password and the system time zone. For extra goodies like bash, emacs, Pascal, etc., you should look at the Packages item in this menu. For setting the timezone after the system is installed, type ``tzsetup''. For more information on the overall general system -configuration, see the ``/etc/rc.conf'' file. +configuration, see the ``/etc/defaults/rc.conf'' file. Index: head/release/sysinstall/help/distributions.hlp =================================================================== --- head/release/sysinstall/help/distributions.hlp (revision 44618) +++ head/release/sysinstall/help/distributions.hlp (revision 44619) @@ -1,62 +1,63 @@ DISTRIBUTION INFORMATION ------------------------ An ``X-'' prefixed before a distribution set means that the XFree86 -3.3.3 base distribution, libraries, manual pages, SVGA server and a +3.3.3.1 base distribution, libraries, manual pages, SVGA server and a set of default fonts will be selected in addition to the set itself. If you select such a set, you will also be presented with a set of menus for customizing the selections to your desired X Window System setup. Any distribution may be further customized by selecting the `Custom' item before leaving the menu. N.B. All references in this document to `complete source' mean the complete source tree minus any legally encumbered cryptography code. The current "canned" installations are provided: Developer: Base ("bin") distribution, man pages, dictionary files, profiling libraries and the complete source tree. Kern-Developer: As above, but with only kernel sources instead of the complete source tree. User: The base distribution, man pages, dictionary files and - the FreeBSD 1.x, 2.0 and 2.1.x compatibility sets. + the FreeBSD 1.x, 2.0, 2.1.x and 2.2.x compatibility sets. Minimal: Only the base distribution. Everything: The base distribution, man pages, dictionary files, - profiling libraries, the FreeBSD 1.x and the FreeBSD 2.0 - compatibility libraries, the complete source tree, - games and your choice of XFree86 distribution components. + profiling libraries, the FreeBSD compatibility libraries, + the complete source tree, games and your choice of XFree86 + distribution components. + Note that the cryptography source code is NOT included in this collection. You will need to select that by hand if you're inside the United States. Custom: Allows you to create or modify your distribution set on a piece-by-piece basis. Reset: Clear all currently selected distributions. --- ENCRYPTION SOFTWARE: -------------------- You may notice that certain distributions, like "des" and "krb", are marked "NOT FOR EXPORT!" This is because it's illegal to export them from the United States (or any other country which considers encryption technology to be on its restricted export list). Since breaking this law only gets the _originating_ site (US!) in trouble, please do not load these distributions from U.S. servers! We don't like these restrictions any more than you do, but can't do much about it (write your U.S. congress person!). A number of "foreign" servers do exist for the benefit of non-U.S. sites, the official site being: ftp://ftp.internat.freebsd.org/pub/FreeBSD Please get all such export restricted software from there if you are outside the U.S., thanks! Index: head/release/sysinstall/help/partition.hlp =================================================================== --- head/release/sysinstall/help/partition.hlp (revision 44618) +++ head/release/sysinstall/help/partition.hlp (revision 44619) @@ -1,144 +1,118 @@ This is the FreeBSD DiskLabel Editor. NOTE: If you're entering this editor from the update procedure then you probably shouldn't (C)reate anything at all but rather use only the (M)ount command to check and mount existing partitions for upgrading. If you would like the label editor to do most of the following for you, simply type `A' for automatic partitioning of the disk. If you wish to create partitions manually you may do so by moving the highlighted selection bar with the arrow keys over the FreeBSD partition(s) displayed at the top of the screen. Typing (C)reate while a partition with available free space is selected will allow you to create a BSD partition inside of it using some or all of its available space. Typing (M)ount over an existing partition entry (displayed in the middle of the screen) will allow you to set a mount point for it without initializing it. If you want it initialized, use the (T)oggle command to flip the Newfs flag. When Newfs is set to "Y", the filesystem in question will be ERASED and rebuilt from scratch! You should use this editor to create at least the following filesystems: Name Purpose Min Size? Optional? ---- ------- --------- --------- / Root filesystem 20MB No swap Swap space 2 * MEM No /usr System & user files 80MB or more Yes Note: If you do not create a /usr filesystem then your / filesystem will need to be bigger - at least 100MB. This is not recommended as any media errors that may occur during disk I/O to user files will corrupt the filesystem containing vital system files as well. It is for this reason that / is generally kept on its own filesystem, where it should be considered essentially "read only" in your administration of it. Swap space is a little tricker, and the rule of "2 * MEM" is simply a best-guess approximation and not necessarily accurate for your intended usage of the system. If you intend to use the system heavily in a server or multi-user application, you may be well advised to increase this size. You may also create swap space on multiple drives for a larger "total" swap and this is, in fact, recommended if you have multiple, fast drives for which such load-balancing can only help overall I/O performance. The /usr filesystem should be sized according to what kind of distributions you're trying to load and how many packages you intend to install in locations like /usr/local. You can also make /usr/local a separate filesystem if you don't want to risk filling up your /usr by mistake. Another useful filesystem to create is /var, which contains mail, news printer spool files and other temporary items. It is a popular candidate for a separate partition and should be sized according to your estimates of the amount of mail, news or spooled print jobs that may be stored there. WARNING: If you do not create a separate filesystem for /var, space for such files will be allocated out of the root (/) filesystem instead. You may therefore wish to make the / partition bigger if you expect a lot of mail or news and do not want to make /var its own partition. If you're new to this installation, you might also want to read the following explanation of how FreeBSD's new "slice" paradigm for looking at disk storage works: In FreeBSD's new system, a device name can be broken up into up to 3 parts. Take a typical name like ``/dev/da0s1a'': The first three characters represent the drive name. If we had a system with two SCSI drives on it then we'd see /dev/da0 and /dev/da1 as the device entries representing the entire drives. Next you have the "slice" (or "FDISK Partition") number, as seen in the Partition Editor. Assuming that our da0 contained two slices, a FreeBSD slice and a DOS slice, that would give us /dev/da0s1 and /dev/da0s2 as device entries pointing to the entire slices. Next, if a slice is a FreeBSD slice, you can have a number of (confusingly named) "partitions" inside of it. These partitions are where various filesystems or swap areas live, and using our hypothetical two-SCSI-disk machine again, we might have something like the following layout on da0: Name Mountpoint ---- ---------- da0s1a / da0s1b da0s1e /usr - Because of historical convention, there is also a short-cut, - or "compatibility slice", that is maintained for easy access - to the *first* FreeBSD slice on a disk. This gives some - backwards compatibility to utilities that still may not know - how to deal with the new slice scheme. - - The compatibility slice names for our filesystem above would - also look like: - - Name Mountpoint - ---- ---------- - da0a / - da0b - da0e /usr - - Again, let it be noted: FreeBSD automatically maps the - compatibility slice to the first FreeBSD slice it finds - (in this case, da0s1). You may have multiple FreeBSD slices on a - drive, but only the first one will be mapped to the compatibility - slice! - - The compatibility slice has essentially been phased out, but - it's important to be aware of when looking at or upgrading - older systems. - Once you understand all this, then the purpose of the label editor becomes fairly clear: You're carving up the FreeBSD slices displayed at the top of the screen into smaller pieces, which are displayed in the middle of the screen, and then assigning FreeBSD file system names (mount points) to them. You can also use the label editor to mount existing partitions/slices into your filesystem hierarchy, as is frequently done for DOS FAT slices. For FreeBSD partitions, you can also toggle the "newfs" state so that the partitions are either (re)created from scratch or simply checked and mounted (the contents are preserved). When you're done, type `Q' to exit. No actual changes will be made to the disk until you (C)ommit from the Install menu or (W)rite directly from this one. You're working with what is essentially a copy of the disk label(s), both here and in the FDISK Partition Editor, and the actual on-disk labels won't be affected by any changes you make until you explicitly say so. - Index: head/release/sysinstall/help/usermgmt.hlp =================================================================== --- head/release/sysinstall/help/usermgmt.hlp (revision 44618) +++ head/release/sysinstall/help/usermgmt.hlp (revision 44619) @@ -1,89 +1,89 @@ These screens allow you to add groups and users to your system. You can move through the fields with the TAB, BACK-TAB and ENTER keys. To edit a field, use DELETE or BACKSPACE. You may also use ^A (control-A) to go to the beginning of the line, ^E (control-E) to go to the end, ^F (control-F) to go forward a character, ^B (control-B) to go backward one character, ^D (control-D) to delete the character under the cursor and ^K (control-K) to delete to the end of the line. Basically, the standard EMACS motion sequences. When you're done with this form, select OK. Many of the settings get reasonable defaults if you leave them blank. The first time you have entered the name of the new group or user, the system will show you what it would chose for most of these fields. You are free to change them, of course. User groups =========== It's certainly almost generally a good idea to first create a new group for your users. Common names for such a group are "users", or even simply "other". Group names are used to control file access permissions for users that belong to the same group. Several group names are already used for system files. The numerical user or group IDs are often nothing you want to care for explicitly. If you don't fill in these fields, the system will chose reasonable defaults. However, these numbers (rather than the associated names) are what the operating system actually uses to distinguish users and groups -- hence they should normally be unique to each person or group, respectively. (The initial membership list for a new group is currently unimplemented, sorry.) Users ===== -The user's login ID is a short (8 characters) alphanumeric ID the user -must enter when logging into the system. It's often the initial -letters of the user's name, and commonly used in lower case. It's -also the local mail name for this user (though it's possible to also -setup more descriptive mail alias names later). +The user's login ID is a short (up to 15 characters) alphanumeric ID +the user must enter when logging into the system. It's often the +initial letters of the user's name, and commonly used in lower case. +It's also the local mail name for this user (though it's possible to +also setup more descriptive mail alias names later). The user's login group determines which group access rights the user will initially get when logging in. If an additional list of groups is provided where the user will become a member of, (s)he will also be able to access files of those groups later without providing any additional password etc. Except for the "wheel" case mentioned below, the additional group membership list should normally not contain the login group again. The user's password can also be set here, and should be chosen with care - 6 or more characters, intermixing punctuation and numerics, and *not* a word from the dictionary or related to the username is a good password choice. Some of the system's groups have a special meaning. In particular, members of group "wheel" are the only people who are later allowed to become superuser using the command su(1). So if you're going to add a new user who should later perform administrative tasks, don't forget to add him to this group! (Well, ``he'' will most likely be yourself in the very first place. :) Also, members of group "operator" will by default get permissions for minor administrative operations, like performing system backups, or shutting down the system -- without first becoming superuser! So, take care with adding people to this group. The ``full name'' field serves as a comment only. It is also used by mail front ends to determine the real name of the user, hence you should actually fill in the first and last name of this user. By convention, this field can be divided into comma-separated subfields, where the office location, the work phone number, and the home phone number follow the full name of the user. The home directory is the directory in the filesystem where the user is being logged into, and where his personalized setup files (``dot files'', since they usually begin with a `.' and are not displayed by the ls(1) command by default) will be looked up. It is often created under /usr/home/ or /home/. Finally, the shell is the user's initial command interpreter. The default shell is /bin/sh, some users prefer the more historic /bin/csh. Other, often more user-friendly and comfortable shells can be found in the ports and packages collection. Index: head/release/sysinstall/kget.c =================================================================== --- head/release/sysinstall/kget.c (revision 44618) +++ head/release/sysinstall/kget.c (revision 44619) @@ -1,150 +1,151 @@ /*- * Copyright (c) 1999 Andrzej Bialecki * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kget.c,v 1.2 1999/02/15 07:07:37 jkh Exp $ + * $Id: kget.c,v 1.3 1999/02/16 01:58:04 jkh Exp $ */ #include "sysinstall.h" #include #include "i386/isa/isa_device.h" #include "i386/isa/pnp.h" int kget(char *out) { int len, i, bytes_written = 0; char *buf; char *mib = "machdep.uc_devlist"; char *mib2 = "machdep.uc_pnplist"; char name[9]; FILE *fout; struct isa_device *id; struct pnp_cinfo *c; char *p; fout = fopen(out, "w"); if (fout == NULL) { msgDebug("kget: Unable to open %s for writing.\n", out); return -1; } /* We use sysctlbyname, because the oid is unknown (OID_AUTO) */ /* get the buffer size */ i = sysctlbyname(mib, NULL, &len, NULL, NULL); if (i) { msgDebug("kget: error buffer sizing\n"); return -1; } buf = (char *)malloc(len * sizeof(char)); i = sysctlbyname(mib, buf, &len, NULL, NULL); if (i) { msgDebug("kget: error retrieving data\n"); return -1; } i = 0; while (i < len) { id = (struct isa_device *)(buf + i); p = (buf + i + sizeof(struct isa_device)); strncpy(name, p, 8); if (!id->id_enabled) { bytes_written += fprintf(fout, "di %s%d\n", name, id->id_unit); } else { bytes_written += fprintf(fout, "en %s%d\n", name, id->id_unit); if (id->id_iobase > 0) { bytes_written += fprintf(fout, "po %s%d %#x\n", name, id->id_unit, id->id_iobase); } if (id->id_irq > 0) { bytes_written += fprintf(fout, "ir %s%d %d\n", name, id->id_unit, ffs(id->id_irq) - 1); } if (id->id_drq > 0) { bytes_written += fprintf(fout, "dr %s%d %d\n", name, id->id_unit, id->id_drq); } if (id->id_maddr > 0) { bytes_written += fprintf(fout, "iom %s%d %#x\n", name, id->id_unit, (u_int)id->id_maddr); } if (id->id_msize > 0) { bytes_written += fprintf(fout, "ios %s%d %d\n", name, id->id_unit, id->id_msize); } bytes_written += fprintf(fout, "f %s%d %#x\n", name, id->id_unit, id->id_flags); } i += sizeof(struct isa_device) + 8; } free(buf), buf = NULL; /* Now, print the changes to PnP override table */ i = sysctlbyname(mib2, NULL, &len, NULL, NULL); if (i) { - msgDebug("kget: error sizing buffer\n"); + /* Possibly our kernel doesn't support PnP. Ignore the error. */ + msgDebug("kget: can't get PnP data - skipping...\n"); goto bail; } buf = (char *)malloc(len * sizeof(char)); i = sysctlbyname(mib2, buf, &len, NULL, NULL); if (i) { msgDebug("kget: error retrieving data\n"); goto bail; } i = 0; /* Print the PnP override table. Taken from userconfig.c */ do { c = (struct pnp_cinfo *)(buf + i); if (c->csn >0 && c->csn != 255) { int pmax, mmax; if (c->enable == 0) { bytes_written += fprintf(fout, "pnp %d %d disable\n", c->csn, c->ldn); continue; } bytes_written += fprintf(fout, "pnp %d %d %s irq0 %d irq1 %d drq0 %d drq1 %d", c->csn, c->ldn, c->override ? "os":"bios", c->irq[0], c->irq[1], c->drq[0], c->drq[1]); if (c->flags) bytes_written += fprintf(fout, " flags 0x%lx", c->flags); pmax = 0; while (c->port[pmax] != 0 && pmax < 8) { bytes_written += fprintf(fout, " port%d %d", pmax, c->port[pmax]); pmax++; } mmax = 0; while (c->mem[mmax].base != 0 && mmax < 8) { bytes_written += fprintf(fout, " mem%d %d", mmax, (int)c->mem[mmax].base); mmax++; } bytes_written += fprintf(fout,"\n"); } } while ((i += sizeof(struct pnp_cinfo)) < len); bail: fprintf(fout, "q\n"); fclose(fout); if (buf) free(buf); return 0; } Index: head/usr.sbin/sade/help/partition.hlp =================================================================== --- head/usr.sbin/sade/help/partition.hlp (revision 44618) +++ head/usr.sbin/sade/help/partition.hlp (revision 44619) @@ -1,144 +1,118 @@ This is the FreeBSD DiskLabel Editor. NOTE: If you're entering this editor from the update procedure then you probably shouldn't (C)reate anything at all but rather use only the (M)ount command to check and mount existing partitions for upgrading. If you would like the label editor to do most of the following for you, simply type `A' for automatic partitioning of the disk. If you wish to create partitions manually you may do so by moving the highlighted selection bar with the arrow keys over the FreeBSD partition(s) displayed at the top of the screen. Typing (C)reate while a partition with available free space is selected will allow you to create a BSD partition inside of it using some or all of its available space. Typing (M)ount over an existing partition entry (displayed in the middle of the screen) will allow you to set a mount point for it without initializing it. If you want it initialized, use the (T)oggle command to flip the Newfs flag. When Newfs is set to "Y", the filesystem in question will be ERASED and rebuilt from scratch! You should use this editor to create at least the following filesystems: Name Purpose Min Size? Optional? ---- ------- --------- --------- / Root filesystem 20MB No swap Swap space 2 * MEM No /usr System & user files 80MB or more Yes Note: If you do not create a /usr filesystem then your / filesystem will need to be bigger - at least 100MB. This is not recommended as any media errors that may occur during disk I/O to user files will corrupt the filesystem containing vital system files as well. It is for this reason that / is generally kept on its own filesystem, where it should be considered essentially "read only" in your administration of it. Swap space is a little tricker, and the rule of "2 * MEM" is simply a best-guess approximation and not necessarily accurate for your intended usage of the system. If you intend to use the system heavily in a server or multi-user application, you may be well advised to increase this size. You may also create swap space on multiple drives for a larger "total" swap and this is, in fact, recommended if you have multiple, fast drives for which such load-balancing can only help overall I/O performance. The /usr filesystem should be sized according to what kind of distributions you're trying to load and how many packages you intend to install in locations like /usr/local. You can also make /usr/local a separate filesystem if you don't want to risk filling up your /usr by mistake. Another useful filesystem to create is /var, which contains mail, news printer spool files and other temporary items. It is a popular candidate for a separate partition and should be sized according to your estimates of the amount of mail, news or spooled print jobs that may be stored there. WARNING: If you do not create a separate filesystem for /var, space for such files will be allocated out of the root (/) filesystem instead. You may therefore wish to make the / partition bigger if you expect a lot of mail or news and do not want to make /var its own partition. If you're new to this installation, you might also want to read the following explanation of how FreeBSD's new "slice" paradigm for looking at disk storage works: In FreeBSD's new system, a device name can be broken up into up to 3 parts. Take a typical name like ``/dev/da0s1a'': The first three characters represent the drive name. If we had a system with two SCSI drives on it then we'd see /dev/da0 and /dev/da1 as the device entries representing the entire drives. Next you have the "slice" (or "FDISK Partition") number, as seen in the Partition Editor. Assuming that our da0 contained two slices, a FreeBSD slice and a DOS slice, that would give us /dev/da0s1 and /dev/da0s2 as device entries pointing to the entire slices. Next, if a slice is a FreeBSD slice, you can have a number of (confusingly named) "partitions" inside of it. These partitions are where various filesystems or swap areas live, and using our hypothetical two-SCSI-disk machine again, we might have something like the following layout on da0: Name Mountpoint ---- ---------- da0s1a / da0s1b da0s1e /usr - Because of historical convention, there is also a short-cut, - or "compatibility slice", that is maintained for easy access - to the *first* FreeBSD slice on a disk. This gives some - backwards compatibility to utilities that still may not know - how to deal with the new slice scheme. - - The compatibility slice names for our filesystem above would - also look like: - - Name Mountpoint - ---- ---------- - da0a / - da0b - da0e /usr - - Again, let it be noted: FreeBSD automatically maps the - compatibility slice to the first FreeBSD slice it finds - (in this case, da0s1). You may have multiple FreeBSD slices on a - drive, but only the first one will be mapped to the compatibility - slice! - - The compatibility slice has essentially been phased out, but - it's important to be aware of when looking at or upgrading - older systems. - Once you understand all this, then the purpose of the label editor becomes fairly clear: You're carving up the FreeBSD slices displayed at the top of the screen into smaller pieces, which are displayed in the middle of the screen, and then assigning FreeBSD file system names (mount points) to them. You can also use the label editor to mount existing partitions/slices into your filesystem hierarchy, as is frequently done for DOS FAT slices. For FreeBSD partitions, you can also toggle the "newfs" state so that the partitions are either (re)created from scratch or simply checked and mounted (the contents are preserved). When you're done, type `Q' to exit. No actual changes will be made to the disk until you (C)ommit from the Install menu or (W)rite directly from this one. You're working with what is essentially a copy of the disk label(s), both here and in the FDISK Partition Editor, and the actual on-disk labels won't be affected by any changes you make until you explicitly say so. - Index: head/usr.sbin/sysinstall/help/configure.hlp =================================================================== --- head/usr.sbin/sysinstall/help/configure.hlp (revision 44618) +++ head/usr.sbin/sysinstall/help/configure.hlp (revision 44619) @@ -1,10 +1,10 @@ This menu allows you to configure your system after the installation process is complete. At the minimum, you should probably set the system manager's password and the system time zone. For extra goodies like bash, emacs, Pascal, etc., you should look at the Packages item in this menu. For setting the timezone after the system is installed, type ``tzsetup''. For more information on the overall general system -configuration, see the ``/etc/rc.conf'' file. +configuration, see the ``/etc/defaults/rc.conf'' file. Index: head/usr.sbin/sysinstall/help/distributions.hlp =================================================================== --- head/usr.sbin/sysinstall/help/distributions.hlp (revision 44618) +++ head/usr.sbin/sysinstall/help/distributions.hlp (revision 44619) @@ -1,62 +1,63 @@ DISTRIBUTION INFORMATION ------------------------ An ``X-'' prefixed before a distribution set means that the XFree86 -3.3.3 base distribution, libraries, manual pages, SVGA server and a +3.3.3.1 base distribution, libraries, manual pages, SVGA server and a set of default fonts will be selected in addition to the set itself. If you select such a set, you will also be presented with a set of menus for customizing the selections to your desired X Window System setup. Any distribution may be further customized by selecting the `Custom' item before leaving the menu. N.B. All references in this document to `complete source' mean the complete source tree minus any legally encumbered cryptography code. The current "canned" installations are provided: Developer: Base ("bin") distribution, man pages, dictionary files, profiling libraries and the complete source tree. Kern-Developer: As above, but with only kernel sources instead of the complete source tree. User: The base distribution, man pages, dictionary files and - the FreeBSD 1.x, 2.0 and 2.1.x compatibility sets. + the FreeBSD 1.x, 2.0, 2.1.x and 2.2.x compatibility sets. Minimal: Only the base distribution. Everything: The base distribution, man pages, dictionary files, - profiling libraries, the FreeBSD 1.x and the FreeBSD 2.0 - compatibility libraries, the complete source tree, - games and your choice of XFree86 distribution components. + profiling libraries, the FreeBSD compatibility libraries, + the complete source tree, games and your choice of XFree86 + distribution components. + Note that the cryptography source code is NOT included in this collection. You will need to select that by hand if you're inside the United States. Custom: Allows you to create or modify your distribution set on a piece-by-piece basis. Reset: Clear all currently selected distributions. --- ENCRYPTION SOFTWARE: -------------------- You may notice that certain distributions, like "des" and "krb", are marked "NOT FOR EXPORT!" This is because it's illegal to export them from the United States (or any other country which considers encryption technology to be on its restricted export list). Since breaking this law only gets the _originating_ site (US!) in trouble, please do not load these distributions from U.S. servers! We don't like these restrictions any more than you do, but can't do much about it (write your U.S. congress person!). A number of "foreign" servers do exist for the benefit of non-U.S. sites, the official site being: ftp://ftp.internat.freebsd.org/pub/FreeBSD Please get all such export restricted software from there if you are outside the U.S., thanks! Index: head/usr.sbin/sysinstall/help/partition.hlp =================================================================== --- head/usr.sbin/sysinstall/help/partition.hlp (revision 44618) +++ head/usr.sbin/sysinstall/help/partition.hlp (revision 44619) @@ -1,144 +1,118 @@ This is the FreeBSD DiskLabel Editor. NOTE: If you're entering this editor from the update procedure then you probably shouldn't (C)reate anything at all but rather use only the (M)ount command to check and mount existing partitions for upgrading. If you would like the label editor to do most of the following for you, simply type `A' for automatic partitioning of the disk. If you wish to create partitions manually you may do so by moving the highlighted selection bar with the arrow keys over the FreeBSD partition(s) displayed at the top of the screen. Typing (C)reate while a partition with available free space is selected will allow you to create a BSD partition inside of it using some or all of its available space. Typing (M)ount over an existing partition entry (displayed in the middle of the screen) will allow you to set a mount point for it without initializing it. If you want it initialized, use the (T)oggle command to flip the Newfs flag. When Newfs is set to "Y", the filesystem in question will be ERASED and rebuilt from scratch! You should use this editor to create at least the following filesystems: Name Purpose Min Size? Optional? ---- ------- --------- --------- / Root filesystem 20MB No swap Swap space 2 * MEM No /usr System & user files 80MB or more Yes Note: If you do not create a /usr filesystem then your / filesystem will need to be bigger - at least 100MB. This is not recommended as any media errors that may occur during disk I/O to user files will corrupt the filesystem containing vital system files as well. It is for this reason that / is generally kept on its own filesystem, where it should be considered essentially "read only" in your administration of it. Swap space is a little tricker, and the rule of "2 * MEM" is simply a best-guess approximation and not necessarily accurate for your intended usage of the system. If you intend to use the system heavily in a server or multi-user application, you may be well advised to increase this size. You may also create swap space on multiple drives for a larger "total" swap and this is, in fact, recommended if you have multiple, fast drives for which such load-balancing can only help overall I/O performance. The /usr filesystem should be sized according to what kind of distributions you're trying to load and how many packages you intend to install in locations like /usr/local. You can also make /usr/local a separate filesystem if you don't want to risk filling up your /usr by mistake. Another useful filesystem to create is /var, which contains mail, news printer spool files and other temporary items. It is a popular candidate for a separate partition and should be sized according to your estimates of the amount of mail, news or spooled print jobs that may be stored there. WARNING: If you do not create a separate filesystem for /var, space for such files will be allocated out of the root (/) filesystem instead. You may therefore wish to make the / partition bigger if you expect a lot of mail or news and do not want to make /var its own partition. If you're new to this installation, you might also want to read the following explanation of how FreeBSD's new "slice" paradigm for looking at disk storage works: In FreeBSD's new system, a device name can be broken up into up to 3 parts. Take a typical name like ``/dev/da0s1a'': The first three characters represent the drive name. If we had a system with two SCSI drives on it then we'd see /dev/da0 and /dev/da1 as the device entries representing the entire drives. Next you have the "slice" (or "FDISK Partition") number, as seen in the Partition Editor. Assuming that our da0 contained two slices, a FreeBSD slice and a DOS slice, that would give us /dev/da0s1 and /dev/da0s2 as device entries pointing to the entire slices. Next, if a slice is a FreeBSD slice, you can have a number of (confusingly named) "partitions" inside of it. These partitions are where various filesystems or swap areas live, and using our hypothetical two-SCSI-disk machine again, we might have something like the following layout on da0: Name Mountpoint ---- ---------- da0s1a / da0s1b da0s1e /usr - Because of historical convention, there is also a short-cut, - or "compatibility slice", that is maintained for easy access - to the *first* FreeBSD slice on a disk. This gives some - backwards compatibility to utilities that still may not know - how to deal with the new slice scheme. - - The compatibility slice names for our filesystem above would - also look like: - - Name Mountpoint - ---- ---------- - da0a / - da0b - da0e /usr - - Again, let it be noted: FreeBSD automatically maps the - compatibility slice to the first FreeBSD slice it finds - (in this case, da0s1). You may have multiple FreeBSD slices on a - drive, but only the first one will be mapped to the compatibility - slice! - - The compatibility slice has essentially been phased out, but - it's important to be aware of when looking at or upgrading - older systems. - Once you understand all this, then the purpose of the label editor becomes fairly clear: You're carving up the FreeBSD slices displayed at the top of the screen into smaller pieces, which are displayed in the middle of the screen, and then assigning FreeBSD file system names (mount points) to them. You can also use the label editor to mount existing partitions/slices into your filesystem hierarchy, as is frequently done for DOS FAT slices. For FreeBSD partitions, you can also toggle the "newfs" state so that the partitions are either (re)created from scratch or simply checked and mounted (the contents are preserved). When you're done, type `Q' to exit. No actual changes will be made to the disk until you (C)ommit from the Install menu or (W)rite directly from this one. You're working with what is essentially a copy of the disk label(s), both here and in the FDISK Partition Editor, and the actual on-disk labels won't be affected by any changes you make until you explicitly say so. - Index: head/usr.sbin/sysinstall/help/usermgmt.hlp =================================================================== --- head/usr.sbin/sysinstall/help/usermgmt.hlp (revision 44618) +++ head/usr.sbin/sysinstall/help/usermgmt.hlp (revision 44619) @@ -1,89 +1,89 @@ These screens allow you to add groups and users to your system. You can move through the fields with the TAB, BACK-TAB and ENTER keys. To edit a field, use DELETE or BACKSPACE. You may also use ^A (control-A) to go to the beginning of the line, ^E (control-E) to go to the end, ^F (control-F) to go forward a character, ^B (control-B) to go backward one character, ^D (control-D) to delete the character under the cursor and ^K (control-K) to delete to the end of the line. Basically, the standard EMACS motion sequences. When you're done with this form, select OK. Many of the settings get reasonable defaults if you leave them blank. The first time you have entered the name of the new group or user, the system will show you what it would chose for most of these fields. You are free to change them, of course. User groups =========== It's certainly almost generally a good idea to first create a new group for your users. Common names for such a group are "users", or even simply "other". Group names are used to control file access permissions for users that belong to the same group. Several group names are already used for system files. The numerical user or group IDs are often nothing you want to care for explicitly. If you don't fill in these fields, the system will chose reasonable defaults. However, these numbers (rather than the associated names) are what the operating system actually uses to distinguish users and groups -- hence they should normally be unique to each person or group, respectively. (The initial membership list for a new group is currently unimplemented, sorry.) Users ===== -The user's login ID is a short (8 characters) alphanumeric ID the user -must enter when logging into the system. It's often the initial -letters of the user's name, and commonly used in lower case. It's -also the local mail name for this user (though it's possible to also -setup more descriptive mail alias names later). +The user's login ID is a short (up to 15 characters) alphanumeric ID +the user must enter when logging into the system. It's often the +initial letters of the user's name, and commonly used in lower case. +It's also the local mail name for this user (though it's possible to +also setup more descriptive mail alias names later). The user's login group determines which group access rights the user will initially get when logging in. If an additional list of groups is provided where the user will become a member of, (s)he will also be able to access files of those groups later without providing any additional password etc. Except for the "wheel" case mentioned below, the additional group membership list should normally not contain the login group again. The user's password can also be set here, and should be chosen with care - 6 or more characters, intermixing punctuation and numerics, and *not* a word from the dictionary or related to the username is a good password choice. Some of the system's groups have a special meaning. In particular, members of group "wheel" are the only people who are later allowed to become superuser using the command su(1). So if you're going to add a new user who should later perform administrative tasks, don't forget to add him to this group! (Well, ``he'' will most likely be yourself in the very first place. :) Also, members of group "operator" will by default get permissions for minor administrative operations, like performing system backups, or shutting down the system -- without first becoming superuser! So, take care with adding people to this group. The ``full name'' field serves as a comment only. It is also used by mail front ends to determine the real name of the user, hence you should actually fill in the first and last name of this user. By convention, this field can be divided into comma-separated subfields, where the office location, the work phone number, and the home phone number follow the full name of the user. The home directory is the directory in the filesystem where the user is being logged into, and where his personalized setup files (``dot files'', since they usually begin with a `.' and are not displayed by the ls(1) command by default) will be looked up. It is often created under /usr/home/ or /home/. Finally, the shell is the user's initial command interpreter. The default shell is /bin/sh, some users prefer the more historic /bin/csh. Other, often more user-friendly and comfortable shells can be found in the ports and packages collection. Index: head/usr.sbin/sysinstall/kget.c =================================================================== --- head/usr.sbin/sysinstall/kget.c (revision 44618) +++ head/usr.sbin/sysinstall/kget.c (revision 44619) @@ -1,150 +1,151 @@ /*- * Copyright (c) 1999 Andrzej Bialecki * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: kget.c,v 1.2 1999/02/15 07:07:37 jkh Exp $ + * $Id: kget.c,v 1.3 1999/02/16 01:58:04 jkh Exp $ */ #include "sysinstall.h" #include #include "i386/isa/isa_device.h" #include "i386/isa/pnp.h" int kget(char *out) { int len, i, bytes_written = 0; char *buf; char *mib = "machdep.uc_devlist"; char *mib2 = "machdep.uc_pnplist"; char name[9]; FILE *fout; struct isa_device *id; struct pnp_cinfo *c; char *p; fout = fopen(out, "w"); if (fout == NULL) { msgDebug("kget: Unable to open %s for writing.\n", out); return -1; } /* We use sysctlbyname, because the oid is unknown (OID_AUTO) */ /* get the buffer size */ i = sysctlbyname(mib, NULL, &len, NULL, NULL); if (i) { msgDebug("kget: error buffer sizing\n"); return -1; } buf = (char *)malloc(len * sizeof(char)); i = sysctlbyname(mib, buf, &len, NULL, NULL); if (i) { msgDebug("kget: error retrieving data\n"); return -1; } i = 0; while (i < len) { id = (struct isa_device *)(buf + i); p = (buf + i + sizeof(struct isa_device)); strncpy(name, p, 8); if (!id->id_enabled) { bytes_written += fprintf(fout, "di %s%d\n", name, id->id_unit); } else { bytes_written += fprintf(fout, "en %s%d\n", name, id->id_unit); if (id->id_iobase > 0) { bytes_written += fprintf(fout, "po %s%d %#x\n", name, id->id_unit, id->id_iobase); } if (id->id_irq > 0) { bytes_written += fprintf(fout, "ir %s%d %d\n", name, id->id_unit, ffs(id->id_irq) - 1); } if (id->id_drq > 0) { bytes_written += fprintf(fout, "dr %s%d %d\n", name, id->id_unit, id->id_drq); } if (id->id_maddr > 0) { bytes_written += fprintf(fout, "iom %s%d %#x\n", name, id->id_unit, (u_int)id->id_maddr); } if (id->id_msize > 0) { bytes_written += fprintf(fout, "ios %s%d %d\n", name, id->id_unit, id->id_msize); } bytes_written += fprintf(fout, "f %s%d %#x\n", name, id->id_unit, id->id_flags); } i += sizeof(struct isa_device) + 8; } free(buf), buf = NULL; /* Now, print the changes to PnP override table */ i = sysctlbyname(mib2, NULL, &len, NULL, NULL); if (i) { - msgDebug("kget: error sizing buffer\n"); + /* Possibly our kernel doesn't support PnP. Ignore the error. */ + msgDebug("kget: can't get PnP data - skipping...\n"); goto bail; } buf = (char *)malloc(len * sizeof(char)); i = sysctlbyname(mib2, buf, &len, NULL, NULL); if (i) { msgDebug("kget: error retrieving data\n"); goto bail; } i = 0; /* Print the PnP override table. Taken from userconfig.c */ do { c = (struct pnp_cinfo *)(buf + i); if (c->csn >0 && c->csn != 255) { int pmax, mmax; if (c->enable == 0) { bytes_written += fprintf(fout, "pnp %d %d disable\n", c->csn, c->ldn); continue; } bytes_written += fprintf(fout, "pnp %d %d %s irq0 %d irq1 %d drq0 %d drq1 %d", c->csn, c->ldn, c->override ? "os":"bios", c->irq[0], c->irq[1], c->drq[0], c->drq[1]); if (c->flags) bytes_written += fprintf(fout, " flags 0x%lx", c->flags); pmax = 0; while (c->port[pmax] != 0 && pmax < 8) { bytes_written += fprintf(fout, " port%d %d", pmax, c->port[pmax]); pmax++; } mmax = 0; while (c->mem[mmax].base != 0 && mmax < 8) { bytes_written += fprintf(fout, " mem%d %d", mmax, (int)c->mem[mmax].base); mmax++; } bytes_written += fprintf(fout,"\n"); } } while ((i += sizeof(struct pnp_cinfo)) < len); bail: fprintf(fout, "q\n"); fclose(fout); if (buf) free(buf); return 0; }