diff --git a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml index cb0eaac5d9..a764931830 100644 --- a/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/cutting-edge/chapter.sgml @@ -712,21 +712,13 @@ In some cases make buildworld will check to see if these users or groups exist. - A recent example of this is when the + An example of this is when the smmsp user was added. Users had the installation process fail for them when &man.mtree.8; was trying to create /var/spool/clientmqueue. - The solution is to examine - /usr/src/etc/group and compare its list of - groups with your own. If there are any groups in the new file that - are not in your file then copy them over. Similarly, you should - rename any groups in /etc/group which have - the same GID but a different name to those in - /usr/src/etc/group. - - Since 4.6-RELEASE you can run &man.mergemaster.8; in + The solution is to run &man.mergemaster.8; in pre-buildworld mode by providing the option. This will compare only those files that are essential for the success of buildworld or @@ -779,7 +771,7 @@ mode. Alternatively, reboot the system, and at the boot prompt, - enter the flag. The system will then boot + select the single user option. The system will then boot single user. At the shell prompt you should then run: &prompt.root; fsck -p @@ -920,19 +912,16 @@ Script done, … &prompt.root; make target - Beginning with version 2.2.5 of &os; (actually, it was - first created on the &os.current; branch, and then retrofitted to - &os.stable; midway between 2.2.2 and 2.2.5) the - world target has been split in - two: buildworld and - installworld. + Where target will be one of + many build options. The first target should always be + buildworld. As the names imply, buildworld builds a complete new tree under /usr/obj, - and installworld installs this tree on + and installworld, another target, installs this tree on the current machine. - This is very useful for 2 reasons. First, it allows you + Having separate options is very useful for two reasons. First, it allows you to do the build safe in the knowledge that no components of your running system will be affected. The build is self hosted. Because of this, you can safely @@ -958,7 +947,7 @@ Script done, … &prompt.root; make buildworld - It is now possible to specify a option to + It is possible to specify a option to make which will cause it to spawn several simultaneous processes. This is most useful on multi-CPU machines. However, since much of the compiling process is IO bound rather @@ -1164,7 +1153,7 @@ Script done, … After &man.mergemaster.8; is done with the system files you will be prompted for other options. &man.mergemaster.8; may ask if you want to rebuild - the password file and/or run &man.MAKEDEV.8; if you run a FreeBSD version prior to 5.0, and will finish up with an option to + the password file and will finish up with an option to remove left-over temporary files. @@ -1182,8 +1171,7 @@ Script done, … not in /usr/src/etc. If you are using &man.mergemaster.8; (as recommended), - you can skip forward to the next - section. + you can skip this section. The simplest way to do this by hand is to install the files into a new directory, and then work through them looking @@ -1329,101 +1317,6 @@ Script done, … - - - Update <filename>/dev</filename> - - - DEVFS - If you are running FreeBSD 5.0 or later you can safely - skip this section. These versions use &man.devfs.5; to - allocate device nodes transparently for the user. - - - In most cases, the &man.mergemaster.8; tool will realize when - it is necessary to update the device nodes, and offer to complete it - automatically. These instructions tell how to update the device - nodes manually. - - For safety's sake, this is a multi-step process. - - - - Copy /var/tmp/root/dev/MAKEDEV to - /dev: - - &prompt.root; cp /var/tmp/root/dev/MAKEDEV /dev - - MAKEDEV - - - If you used &man.mergemaster.8; to - update /etc, then your - MAKEDEV script should have been updated - already, though it cannot hurt to check (with &man.diff.1;) - and copy it manually if necessary. - - - - Now, take a snapshot of your current - /dev. This snapshot needs to contain the - permissions, ownerships, major and minor numbers of each filename, - but it should not contain the time stamps. The easiest way to do - this is to use &man.awk.1; to strip out some of the - information: - - &prompt.root; cd /dev -&prompt.root; ls -l | awk '{print $1, $2, $3, $4, $5, $6, $NF}' > /var/tmp/dev.out - - - - Remake all the device nodes: - - &prompt.root; sh MAKEDEV all - - - - Write another snapshot of the directory, this time to - /var/tmp/dev2.out. Now look through these - two files for any device node that you missed creating. There should - not be any, but it is better to be safe than sorry. - - &prompt.root; diff /var/tmp/dev.out /var/tmp/dev2.out - - You are most likely to notice disk slice discrepancies which - will involve commands such as: - - &prompt.root; sh MAKEDEV sd0s1 - - to recreate the slice entries. Your precise circumstances may - vary. - - - - - - Update <filename>/stand</filename> - - - This step is included only for completeness. It can safely be - omitted. If you are using FreeBSD 5.2 or later, the - /rescue directory is automatically updated - for the user with current, statically compiled binaries during - make installworld, thus obsoleting the need - to update /stand (which does not exist at - all on &os; 6.0 and later). - - - For the sake of completeness, you may want to update the files in - /stand as well. These files consist of hard - links to the /stand/sysinstall binary. This - binary should be statically linked, so that it can work when no other - file systems (and in particular /usr) have been - mounted. - - &prompt.root; cd /usr/src/release/sysinstall -&prompt.root; make all install - Rebooting @@ -1572,9 +1465,6 @@ Script done, … &prompt.root; cd /usr/src &prompt.root; make -DNO_CLEAN all - On &os; 5.X and older, use - -DNOCLEAN instead. - This will not undo the work of the previous make buildworld.