From owner-svn-doc-projects@FreeBSD.ORG Wed Dec 12 22:41:27 2012 Return-Path: Delivered-To: svn-doc-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id C04873D2; Wed, 12 Dec 2012 22:41:27 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id A25FC8FC08; Wed, 12 Dec 2012 22:41:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qBCMfRdc068659; Wed, 12 Dec 2012 22:41:27 GMT (envelope-from gjb@svn.freebsd.org) Received: (from gjb@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qBCMfP2v068643; Wed, 12 Dec 2012 22:41:25 GMT (envelope-from gjb@svn.freebsd.org) Message-Id: <201212122241.qBCMfP2v068643@svn.freebsd.org> From: Glen Barber Date: Wed, 12 Dec 2012 22:41:25 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-projects@freebsd.org Subject: svn commit: r40370 - in projects/pkgng/en_US.ISO8859-1: articles/committers-guide articles/contributors articles/portbuild books books/arch-handbook/driverbasics books/arch-handbook/sound books/cor... X-SVN-Group: doc-projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for doc projects trees List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 12 Dec 2012 22:41:27 -0000 Author: gjb Date: Wed Dec 12 22:41:25 2012 New Revision: 40370 URL: http://svnweb.freebsd.org/changeset/doc/40370 Log: Merged /head/en_US.ISO8859-1:r40151-40365 to projects/pkgng/en_US.ISO8859-1 Added: projects/pkgng/en_US.ISO8859-1/htdocs/google6bb24ed0b804d5e9.html - copied unchanged from r40365, head/en_US.ISO8859-1/htdocs/google6bb24ed0b804d5e9.html Deleted: projects/pkgng/en_US.ISO8859-1/books/corp-net-guide/ Modified: projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.additional.xml projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.committers.xml projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.corealumni.xml projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml projects/pkgng/en_US.ISO8859-1/books/Makefile projects/pkgng/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml projects/pkgng/en_US.ISO8859-1/books/arch-handbook/sound/chapter.xml projects/pkgng/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.xml projects/pkgng/en_US.ISO8859-1/books/faq/book.xml projects/pkgng/en_US.ISO8859-1/books/handbook/eresources/chapter.xml projects/pkgng/en_US.ISO8859-1/books/handbook/filesystems/chapter.xml projects/pkgng/en_US.ISO8859-1/books/handbook/mac/chapter.xml projects/pkgng/en_US.ISO8859-1/books/handbook/mail/chapter.xml projects/pkgng/en_US.ISO8859-1/books/handbook/mirrors/chapter.xml projects/pkgng/en_US.ISO8859-1/books/handbook/network-servers/chapter.xml projects/pkgng/en_US.ISO8859-1/books/porters-handbook/book.xml projects/pkgng/en_US.ISO8859-1/htdocs/Makefile projects/pkgng/en_US.ISO8859-1/htdocs/administration.xml projects/pkgng/en_US.ISO8859-1/htdocs/docs/books.xml projects/pkgng/en_US.ISO8859-1/htdocs/donations/index.xml projects/pkgng/en_US.ISO8859-1/htdocs/index.xsl projects/pkgng/en_US.ISO8859-1/htdocs/internal/bylaws.xml projects/pkgng/en_US.ISO8859-1/htdocs/internal/i18n.xml projects/pkgng/en_US.ISO8859-1/htdocs/layout/css/layout.css projects/pkgng/en_US.ISO8859-1/htdocs/layout/js/google.js projects/pkgng/en_US.ISO8859-1/htdocs/news/2012-compromise.xml projects/pkgng/en_US.ISO8859-1/htdocs/news/status/report-2001-08.xml projects/pkgng/en_US.ISO8859-1/htdocs/news/status/report-2002-05-2002-06.xml projects/pkgng/en_US.ISO8859-1/htdocs/platforms/arm.xml projects/pkgng/en_US.ISO8859-1/htdocs/releng/charter.xml projects/pkgng/en_US.ISO8859-1/htdocs/releng/index.xml projects/pkgng/en_US.ISO8859-1/htdocs/where.xml projects/pkgng/en_US.ISO8859-1/share/xml/mailing-lists.ent Directory Properties: projects/pkgng/en_US.ISO8859-1/ (props changed) Modified: projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/articles/committers-guide/article.xml Wed Dec 12 22:41:25 2012 (r40370) @@ -1883,37 +1883,20 @@ U stable/9/share/man/man4/netmap.4 Don't remove and re-add the same file in a single commit as this will break the CVS exporter. - Speeding up checkouts and minimising network traffic is - possible with the following recipe: + Speeding up svn is + possible by adding the following to ~/.ssh/config: - &prompt.user; svn co --depth=empty svn+ssh://svn.freebsd.org/base fbsvn -&prompt.user; cd fbsvn -&prompt.user; svn up --depth=empty stable -&prompt.user; svn up head -&prompt.user; cd stable -&prompt.user; cp -r ../head/ 7 -&prompt.user; cd 7 -&prompt.user; svn switch svn+ssh://svn.freebsd.org/base/stable/7 -&prompt.user; cd .. -&prompt.user; cp -r 7/ 6 -&prompt.user; cd 6 -&prompt.user; svn switch svn+ssh://svn.freebsd.org/base/stable/6 - - What this bit of evil does is check out head, stable/7 and - stable/6. We create the empty checkout directories under - SVN's control. In SVN, - subtrees are self identifying, like in CVS. - We check out head and clone it as stable/7. Except we don't - want the head version so we switch it to the - 7.x tree location. SVN downloads diffs to - convert the head files to - stable/7 instead of doing a fresh checkout. - The same goes for stable/6. This does, however, definitely - count as abuse of the working copy client code! + Host * +ControlPath ~/.ssh/sockets/master-%l-%r@%h:%p +ControlMaster auto +ControlPersist yes + + and then typing + mkdir ~/.ssh/sockets Checking out a working copy with a stock Subversion client without &os;-specific patches - (WITH_FREEBSD_TEMPLATE) will mean that + (OPTIONS_SET=FREEBSD_TEMPLATE) will mean that $FreeBSD$ tags will not be expanded. Once the correct version has been installed, trick Subversion into expanding them like so: @@ -1921,8 +1904,7 @@ U stable/9/share/man/man4/netmap.4 &prompt.user; svn propdel -R svn:keywords . &prompt.user; svn revert -R . - This is not a good idea if uncommitted patches exist, - however. + This will wipe out uncommitted patches. @@ -1950,7 +1932,7 @@ U stable/9/share/man/man4/netmap.4 Add your author entity to - head/en_US.ISO8859-1/share/xml/authors.ent; + head/share/xml/authors.ent; this should be done first since an omission of this commit will cause the next commits to break the doc/ build. @@ -2463,14 +2445,13 @@ U stable/9/share/man/man4/netmap.4 &a.committers; - cvs-committers is the entity that the version control system uses to send you all your - commit messages. You should never send email - directly to this list. You should only send replies to this list - when they are short and are directly related to a commit. - - There is a similar list, svn-committers, which has a - similar purpose but is a normal list, i.e., you are free to - send any suitable message to this list. + &a.svn-src-all.name;, &a.svn-ports-all.name; and + &a.svn-doc-all.name; are the mailing lists that the + version control system uses to send commit messages to. + You should never send email directly + to these lists. You should only send replies to this list + when they are short and are directly related to a + commit. Modified: projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.additional.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.additional.xml Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.additional.xml Wed Dec 12 22:41:25 2012 (r40370) @@ -1144,11 +1144,6 @@ - Barbara - - - - Barry Bierbauch pivrnec@vszbr.cz Modified: projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.committers.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.committers.xml Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.committers.xml Wed Dec 12 22:41:25 2012 (r40370) @@ -500,6 +500,10 @@ + &a.bar; + + + &a.jmg; @@ -1642,4 +1646,8 @@ &a.az; + + + &a.syuu; + Modified: projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.corealumni.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.corealumni.xml Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/articles/contributors/contrib.corealumni.xml Wed Dec 12 22:41:25 2012 (r40370) @@ -3,6 +3,10 @@ + &a.attilio; (2012) + + + &a.wilko; (2006 - 2012) Modified: projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/articles/portbuild/article.xml Wed Dec 12 22:41:25 2012 (r40370) @@ -301,7 +301,7 @@ CXX=clang++ .if !defined(CPP) || ${CPP} == "cpp" CPP=clang-cpp .endif -# Don't die on warnings +# Do not die on warnings NO_WERROR= WERROR= @@ -950,8 +950,8 @@ umount: pointyhat.freebsd.org:/var/portb umount: Cleanup of /x/tmp/8-exp/chroot/53837/compat/linux/proc failed! /x/tmp/8-exp/chroot/53837/compat/linux/proc: not a file system root directory - The former 2 mean that that client did not have those mounted; - the latter 2 are a bug. + The former two mean that the client did not have those mounted; + the latter two are a bug. You may also see messages about procfs. @@ -1753,8 +1753,6 @@ inetd_enable="YES" linux_enable="YES" nfs_client_enable="YES" ntpd_enable="YES" -ntpdate_enable="YES" -ntpdate_flags="north-america.pool.ntp.org" sendmail_enable="NONE" sshd_enable="YES" sshd_program="/usr/local/sbin/sshd" @@ -1920,7 +1918,7 @@ scratchdir=/usr2< ln -sf ${scratchdir}/portbuild /var/ # Identify builds ready for use -cd /var/portbuild/${arch} +cd /var/portbuild/arch for i in */builds/*; do if [ -f ${i}/.ready ]; then mkdir /tmp/.setup-${i##*/} @@ -1979,13 +1977,11 @@ touch /tmp/.boot_finished - Modify - usr/local/etc/sudoers: -38a39,42 -> -> # local changes for package building -> %wheel ALL=(ALL) ALL -> ports-${arch} ALL=(ALL) NOPASSWD: ALL + Create + usr/local/etc/sudoers/sudoers.d/portbuild: +# local changes for package building +%wheel ALL=(ALL) ALL +ports-${arch} ALL=(ALL) NOPASSWD: ALL @@ -2043,23 +2039,24 @@ touch /tmp/.boot_finished - Configuration on <literal>pointyhat</literal> + Configuration on the server These steps need to be taken by a portmgr acting as ports-${arch} - on pointyhat. + on the server. If any of the default TCP ports is not available (see above), you will need to create an ssh - tunnel for it and include it in the + tunnel for them and include its invocation command in + ports-${arch}'s crontab. - Add an entry to + Unless you can use the defaults, add an entry to /home/ports-${arch}/.ssh/config to specify the public IP address, TCP port for ssh, username, and any other necessary @@ -2855,20 +2852,19 @@ apache_pidfile="/var/run/httpd.pid" gmetad_enable="YES" gmond_enable="YES" inetd_enable="YES" -# XXX MCL these do not work! -#inetd_flags="-R 10000 -lw" +# XXX MCL try these instead. +inetd_flags="-R 10000 -l -w" mountd_enable="YES" nfs_server_enable="YES" nfs_server_flags="-u -t -n 12" nfs_remote_port_only="YES" ntpd_enable="YES" -ntpdate_enable="YES" -ntpdate_flags="north-america.pool.ntp.org" rpcbind_enable="YES" rpc_lockd_enable="NO" rpc_statd_enable="YES" sendmail_enable="NONE" smartd_enable="YES" +zfs_enable="YES" @@ -2924,7 +2920,7 @@ devel/subversion net/nc net/rsync sysutils/ganglia-monitor-core (with GMETAD off) -sysutils/ganglia-webfrontend (WITHOUT_X11) +sysutils/ganglia-webfrontend (compile with -DWITHOUT_X11) www/apache22 (with EXT_FILTER) @@ -2951,7 +2947,8 @@ sysutils/screen benchmarks/bonnie++ ports-mgmt/pkg_tree sysutils/dmidecode -sysutils/smartmontools +sysutils/smartmontools +sysutils/zfs-stats @@ -2965,6 +2962,10 @@ sysutils/smartmontools + Create /a. + + + Create a zfs volume named a and mount it on /a. @@ -3126,7 +3127,7 @@ sysutils/smartmontools Copy the following files from - /var/portbuild/conf/etc/rc.d/ to + /var/portbuild/etc/rc.d/ to /usr/local/etc/rc.d/: buildproxy.sh pollmachine.sh @@ -3212,12 +3213,11 @@ qmanager.sh - If not already created, add the following users: -squid:*:100:100::0:0:User &:/usr/local/squid:/bin/sh + If not already created, add the following user: ganglia:*:102:102::0:0:User &:/usr/local/ganglia:/bin/sh - Add them to /etc/group as well. + Add it to /etc/group as well. Modified: projects/pkgng/en_US.ISO8859-1/books/Makefile ============================================================================== --- projects/pkgng/en_US.ISO8859-1/books/Makefile Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/books/Makefile Wed Dec 12 22:41:25 2012 (r40370) @@ -1,7 +1,6 @@ # $FreeBSD$ SUBDIR = arch-handbook -SUBDIR+= corp-net-guide SUBDIR+= design-44bsd SUBDIR+= dev-model SUBDIR+= developers-handbook Modified: projects/pkgng/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/books/arch-handbook/driverbasics/chapter.xml Wed Dec 12 22:41:25 2012 (r40370) @@ -48,13 +48,7 @@ Most devices in a &unix;-like operating system are accessed through device-nodes, sometimes also called special files. These files are usually located under the directory - /dev in the filesystem hierarchy. - In releases of FreeBSD older than 5.0-RELEASE, where - &man.devfs.5; support is not integrated into FreeBSD, - each device node must be - created statically and independent of the existence of the - associated device driver. Most device nodes on the system are - created by running MAKEDEV. + /dev in the filesystem hierarchy. Device drivers can roughly be broken down into two categories; character and network device drivers. @@ -212,20 +206,19 @@ KMOD=skeleton Example of a Sample Echo Pseudo-Device Driver for - &os; 5.X + &os; 10.X /* - * Simple `echo' pseudo-device KLD + * Simple Echo pseudo-device KLD * * Murray Stokely - * - * Converted to 5.X by Søren (Xride) Straarup + * Søren (Xride) Straarup + * Eitan Adler */ #include <sys/types.h> #include <sys/module.h> #include <sys/systm.h> /* uprintf */ -#include <sys/errno.h> #include <sys/param.h> /* defines used in kernel.h */ #include <sys/kernel.h> /* types used in module initialization */ #include <sys/conf.h> /* cdevsw struct */ @@ -234,7 +227,6 @@ KMOD=skeleton #define BUFFERSIZE 256 - /* Function prototypes */ static d_open_t echo_open; static d_close_t echo_close; @@ -251,15 +243,14 @@ static struct cdevsw echo_cdevsw = { .d_name = "echo", }; -typedef struct s_echo { +struct s_echo { char msg[BUFFERSIZE]; int len; -} t_echo; +}; /* vars */ static struct cdev *echo_dev; -static int count; -static t_echo *echomsg; +static struct s_echo *echomsg; MALLOC_DECLARE(M_ECHOBUF); MALLOC_DEFINE(M_ECHOBUF, "echobuffer", "buffer for echo module"); @@ -270,20 +261,25 @@ MALLOC_DEFINE(M_ECHOBUF, "echobuffer", " */ static int -echo_loader(struct module *m, int what, void *arg) +echo_loader(struct module *m __unused, int what, void *arg __unused) { - int err = 0; + int error = 0; switch (what) { case MOD_LOAD: /* kldload */ - echo_dev = make_dev(&echo_cdevsw, + error = make_dev_p(MAKEDEV_CHECKNAME | MAKEDEV_WAITOK, + &echo_dev, + &echo_cdevsw, 0, UID_ROOT, GID_WHEEL, 0600, "echo"); + if (error != 0) + break; + /* kmalloc memory for use by this driver */ - echomsg = malloc(sizeof(t_echo), M_ECHOBUF, M_WAITOK); + echomsg = malloc(sizeof(*echomsg), M_ECHOBUF, M_WAITOK); printf("Echo device loaded.\n"); break; case MOD_UNLOAD: @@ -292,26 +288,27 @@ echo_loader(struct module *m, int what, printf("Echo device unloaded.\n"); break; default: - err = EOPNOTSUPP; + error = EOPNOTSUPP; break; } - return(err); + return (error); } static int -echo_open(struct cdev *dev, int oflags, int devtype, struct thread *p) +echo_open(struct cdev *dev __unused, int oflags __unused, int devtype __unused, struct thread *p __unused) { - int err = 0; + int error = 0; uprintf("Opened device \"echo\" successfully.\n"); - return(err); + return (error); } static int -echo_close(struct cdev *dev, int fflag, int devtype, struct thread *p) +echo_close(struct cdev *dev __unused, int fflag __unused, int devtype __unused, struct thread *p __unused) { - uprintf("Closing device \"echo.\"\n"); - return(0); + + uprintf("Closing device \"echo\".\n"); + return (0); } /* @@ -321,21 +318,21 @@ echo_close(struct cdev *dev, int fflag, */ static int -echo_read(struct cdev *dev, struct uio *uio, int ioflag) +echo_read(struct cdev *dev __unused, struct uio *uio, int ioflag __unused) { - int err = 0; - int amt; + int error, amt; /* * How big is this read operation? Either as big as the user wants, * or as big as the remaining data */ - amt = MIN(uio->uio_resid, (echomsg->len - uio->uio_offset > 0) ? - echomsg->len - uio->uio_offset : 0); - if ((err = uiomove(echomsg->msg + uio->uio_offset, amt, uio)) != 0) { + + amt = MIN(uio->uio_resid, echomsg->len - uio->uio_offset); + uio->uio_offset += amt; + if ((error = uiomove(echomsg->msg, amt, uio)) != 0) uprintf("uiomove failed!\n"); - } - return(err); + + return (error); } /* @@ -344,23 +341,42 @@ echo_read(struct cdev *dev, struct uio * */ static int -echo_write(struct cdev *dev, struct uio *uio, int ioflag) +echo_write(struct cdev *dev __unused, struct uio *uio, int ioflag __unused) { - int err = 0; + int error, amt; + + /* Copy the string in from user memory to kernel memory */ + + /* + * We either write from the beginning or are appending -- do + * not allow random access. + */ + if (uio->uio_offset != 0 && (uio->uio_offset != echomsg->len)) + return (EINVAL); + + /* + * This is new message, reset length + */ + if (uio->uio_offset == 0) + echomsg->len = 0; + + /* NULL charcter should be overriden */ + if (echomsg->len != 0) + echomsg->len--; /* Copy the string in from user memory to kernel memory */ - err = copyin(uio->uio_iov->iov_base, echomsg->msg, - MIN(uio->uio_iov->iov_len, BUFFERSIZE - 1)); + amt = MIN(uio->uio_resid, (BUFFERSIZE - echomsg->len)); + + error = uiomove(echomsg->msg + uio->uio_offset, amt, uio); /* Now we need to null terminate, then record the length */ - *(echomsg->msg + MIN(uio->uio_iov->iov_len, BUFFERSIZE - 1)) = 0; - echomsg->len = MIN(uio->uio_iov->iov_len, BUFFERSIZE); + echomsg->len += amt + 1; + uio->uio_offset += amt + 1; + echomsg->msg[echomsg->len - 1] = 0; - if (err != 0) { + if (error != 0) uprintf("Write failed: bad address!\n"); - } - count++; - return(err); + return (error); } DEV_MODULE(echo,echo_loader,NULL); @@ -371,23 +387,11 @@ DEV_MODULE(echo,echo_loader,NULL);&prompt.root; echo -n "Test Data" > /dev/echo &prompt.root; cat /dev/echo -Test Data +Opened device "echo" successfully. +Test Data +Closing device "echo". Real hardware devices are described in the next chapter. - - Additional Resources - - Dynamic - Kernel Linker (KLD) Facility Programming Tutorial - - Daemonnews October 2000 - How - to Write Kernel Drivers with NEWBUS - Daemonnews July - 2000 - - Modified: projects/pkgng/en_US.ISO8859-1/books/arch-handbook/sound/chapter.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/books/arch-handbook/sound/chapter.xml Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/books/arch-handbook/sound/chapter.xml Wed Dec 12 22:41:25 2012 (r40370) @@ -82,16 +82,16 @@ Files - All the relevant code currently (FreeBSD 4.4) lives in + All the relevant code lives in /usr/src/sys/dev/sound/, except for the public ioctl interface definitions, found in /usr/src/sys/sys/soundcard.h Under /usr/src/sys/dev/sound/, the pcm/ directory holds the central code, - while the isa/ and - pci/ directories have the drivers for ISA - and PCI boards. + while the pci/, isa/ + and usb/ directories have the drivers + for PCI and ISA boards, and for USB audio devices. @@ -527,7 +527,7 @@ channel_resetdone(), and channel_notify() are for special purposes and should not be implemented in a driver without discussing - it with the authorities (&a.cg;). + it on the &a.multimedia;. channel_setdir() is deprecated. Modified: projects/pkgng/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.xml Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/books/developers-handbook/kernelbuild/chapter.xml Wed Dec 12 22:41:25 2012 (r40370) @@ -10,8 +10,80 @@ Being a kernel developer requires understanding of the kernel build process. To debug the &os; kernel it is required to be able - to build one. This procedure is documented in the Building and - Installing a Custom Kernel chapter of the &os; - Handbook. + to build one. There are two known ways to do so: + + + + The Traditional Way + + + + The New Way + + + + + It is supposed that the reader of this chapter is familiar + with the information described in the Building and + Installing a Custom Kernel chapter of the &os; + Handbook. If this is not the case, please read through the above + mentioned chapter to understand how the build process + works. + + + + Building a Kernel the <quote>Traditional</quote> Way + + Up to version 4.X of &os; this was the recommended way to + build a new kernel. It can still be used on newer versions + (instead of the buildkernel target of the toplevel + /usr/src/ makefiles). + Building the kernel this way may be useful when working on the + kernel code and it may actually be faster than the + New procedure when only a single option or two were + tweaked in the kernel configuration file. On the other hand, it + might lead to unexpected kernel build breakage when used by + beginners on newer versions of &os;. + + + + Run &man.config.8; to generate the kernel source + code: + + &prompt.root; /usr/sbin/config MYKERNEL + + + + Change into the build directory. &man.config.8; will + print the name of this directory after being run as + above. + + &prompt.root; cd ../compile/MYKERNEL + + + + Compile the kernel: + + &prompt.root; make depend +&prompt.root; make + + + + Install the new kernel: + + &prompt.root; make install + + + + + + Building a Kernel the <quote>New</quote> Way + + This procedure is well supported and recommended under the + latest &os; releases and is documented in the Building and + Installing a Custom Kernel chapter of the &os; + Handbook. + Modified: projects/pkgng/en_US.ISO8859-1/books/faq/book.xml ============================================================================== --- projects/pkgng/en_US.ISO8859-1/books/faq/book.xml Wed Dec 12 22:41:03 2012 (r40369) +++ projects/pkgng/en_US.ISO8859-1/books/faq/book.xml Wed Dec 12 22:41:25 2012 (r40370) @@ -64,7 +64,6 @@ &tm-attrib.ibm; &tm-attrib.ieee; &tm-attrib.intel; - &tm-attrib.iomega; &tm-attrib.linux; &tm-attrib.microsoft; &tm-attrib.mips; @@ -87,14 +86,13 @@ unless otherwise noted. If you are interested in helping with this project, send email to the &a.doc;. The latest version of this document is always available from the &os; World Wide Web server. + url="http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/index.html">&os; website. It may also be downloaded as one large HTML file with HTTP or as plain text, - &postscript;, PDF, etc. from the HTML file with HTTP or as a variety + of other formats from the &os; FTP server. You may also want to Search the FAQ. - + url="&url.base;/search/index.html">Search the FAQ. @@ -123,17 +121,18 @@ - Briefly, &os; is a &unix; like operating system for - AMD64 and &intel; EM64T, &i386; PC-98, IA-64, &arm;, - &powerpc; and &ultrasparc; platforms based on U.C. + &os; is a modern operating system for desktops, + laptops, servers, and embedded systems with + support for a large number of platforms. + + It is based on U.C. Berkeley's 4.4BSD-Lite release, with some 4.4BSD-Lite2 enhancements. It is also based indirectly on William Jolitz's port of U.C. Berkeley's Net/2 to the &i386;, known as 386BSD, though very little of the 386BSD code - remains. A fuller description of what &os; is and how it - can work for you may be found on the &os; home page. + remains. &os; is used by companies, Internet Service Providers, researchers, computer professionals, students and home users @@ -315,11 +314,6 @@ What is the latest version of &os;? - - At any point in the development of &os;, there can be multiple parallel branches. &rel.relx; releases are @@ -389,17 +383,12 @@ url="&url.books.handbook;/index.html">Handbook for details on running -CURRENT. - If you are not familiar with the operating system or are - not capable of identifying the difference between a real - problem and a temporary problem, you should not use + If you are not familiar with &os; + you should not use &os.current;. This branch sometimes evolves quite quickly - and can be un-buildable sometimes. + and due to mistake can be un-buildable at times. People that use &os.current; are expected to be able to - analyze any problems and only report them if they are deemed - to be mistakes rather than glitches. - Questions such as make world produces some error - about groups on the &a.current; may be treated with - contempt. + analyze, debug, and report problems. Every month, snapshot @@ -613,19 +602,6 @@ an article on how to write good problem reports. - - - - What other sources of information are there? - - - - Please check the Documentation - list on the main &os; web site. - - @@ -1146,8 +1122,8 @@ On the - Get &os; page - select [iso] next to the + Getting &os; + page select [iso] next to the architecture you want to use. Any of the following can be used: @@ -1171,11 +1147,11 @@ dvd1.iso Similar to disc1.iso - but with addtional packages. + but with additional packages. - memstick.iso + memstick.img A bootable image sufficient for copying to a USB stick. @@ -1262,8 +1238,11 @@ - Installation instructions can be found in the Handbook entry on installing &os;. + Installation instructions for versions since + &os; 9.0 can be found at Handbook entry on installing &os;. + Older instructions can be found in the legacy entry on installing &os;. @@ -1283,7 +1262,7 @@ - How can I make my own custom install disk? + How can I make my own custom release or install disk? @@ -1390,41 +1369,19 @@ - Strange things happen when I boot the install floppy! + Strange things happen when I boot the install disk! What is happening? If you are seeing things like the machine grinding to a halt or spontaneously rebooting when you try to boot the - install floppy, here are three questions to ask - yourself: - - - - Did you use a new, freshly-formatted, error-free - floppy (preferably a brand-new one straight out of the - box, as opposed to the magazine cover disk that has been - lying under the bed for the last three years)? - - - - Did you download the floppy image in binary (or - image) mode? (do not be embarrassed, even the best of us - have accidentally downloaded a binary file in ASCII mode - at least once!) - - - - If you are using &windows; 95 or - &windows; 98 did you run fdimage - or rawrite in pure DOS mode? These - operating systems can interfere with programs that write - directly to hardware, which the disk creation program - does; even running it inside a DOS shell in the GUI can - cause this problem. - - + &os; installer, make sure that the SHA256 hash of + the image matches the one on the website. If you + accidently downloaded the disk image in binary (or + image) mode the will be corrupted. (Do not be embarrassed, + even the best of us have accidentally downloaded a binary + file in ASCII mode at least once!) @@ -1483,22 +1440,6 @@ - - Why can I not get past the boot manager's - F? prompt? - - - - This is another symptom of the problem described in the - preceding question. Your BIOS geometry and &os; geometry - settings do not agree! If your controller or BIOS supports - cylinder translation (often marked as >1GB drive - support), try toggling its setting and reinstalling - &os;. - - - - Do I need to install the source? @@ -1561,21 +1502,6 @@ - - Why does the boot floppy start, but hang at the - Probing Devices... screen? - - - - If you have a IDE &iomegazip; or &jaz; drive installed, - remove it and try again. The boot floppy can get confused by - the drives. After the system is installed you can reconnect - the drive. Hopefully this will be fixed in a later - release. - - - - Why do I get a panic: can't mount root error when rebooting the system after @@ -2074,118 +2000,6 @@ - - Does &os; support my USB keyboard? - - - - &os; supports USB keyboards out-of-the-box. Once you - have USB keyboard support enabled on your system, the AT - keyboard becomes /dev/kbd0 and - the USB keyboard becomes - /dev/kbd1, if both are connected - to the system. If there is the USB keyboard only, it will - be /dev/ukbd0. - - If you want to use the USB keyboard in the console, - you have to explicitly tell the console driver to use the - existing USB keyboard. This can be done by running the - following command as a part of system - initialization. - - &prompt.root; kbdcontrol -k /dev/kbd1 < /dev/console > /dev/null - - Note that if the USB keyboard is the only keyboard, it - is accessed as /dev/ukbd0, thus, - the command should look like: - - &prompt.root; kbdcontrol -k /dev/ukbd0 < /dev/console > /dev/null - - - To make this change permanent across reboots, add - keyboard="/dev/ukbd0" to - /etc/rc.conf. - - - Once this is done, the USB keyboard should work in the - X environment as well without any special settings. - - If you want to switch back to the default keyboard, - use this command: - - &prompt.root; kbdcontrol -k /dev/kbd0 > /dev/null - - To allow using both the second USB keyboard and the - first AT keyboard at the same time on a console via - &man.kbdmux.4; driver type the following commands: - - &prompt.root; kbdcontrol -K < /dev/console > /dev/null -&prompt.root; kbdcontrol -a atkbd0 < /dev/kbdmux0 > /dev/null -&prompt.root; kbdcontrol -a ukbd1 < /dev/kbdmux0 > /dev/null -&prompt.root; kbdcontrol -k /dev/kbdmux0 < /dev/console > /dev/null - - See the &man.ukbd.4;, &man.kbdcontrol.1; and - &man.kbdmux.4; manual pages for more information. - - - Hot-plugging and unplugging of the USB keyboard may - not work quite right yet. We recommend connecting the - keyboard before starting the system and leaving it - connected until the system is shutdown to avoid - issues. - - - - - - - I have an unusual bus mouse. How do I set it *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***