<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://www.freebsdwiki.net/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://www.freebsdwiki.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Taxman</id>
		<title>FreeBSDwiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://www.freebsdwiki.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Taxman"/>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/Special:Contributions/Taxman"/>
		<updated>2026-05-03T14:26:33Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.18.0</generator>

	<entry>
		<id>http://www.freebsdwiki.net/index.php/Custom_Kernel</id>
		<title>Custom Kernel</title>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/Custom_Kernel"/>
				<updated>2004-09-17T18:43:36Z</updated>
		
		<summary type="html">&lt;p&gt;Taxman: linked to the kernel article I wrote.  Accidentally duplicated some of this&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The default [[kernel]] installed with the system, also known as GENERIC, is generally a good choice for all-purpose use but sometimes you may want to tweak it a little.  For example, if you have a motherboard with flaky [[ACPI]] support, you may need to change your kernel configurations to disable [[APIC]] so that you can still use the [[ACPI]] features.  Or you may choose to [[Disable ACPI]] altogether.  Or perhaps you just want to remove unnecessary kernel drivers to [[conserve memory]] on some legacy hardware you're trying to keep useful.  Here's how you do it:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Copying GENERIC so that you can edit it ==&lt;br /&gt;
&lt;br /&gt;
First, you'll need to know your system architecture - are you using an i386 (386, 486, athlon, pentium, etc) machine, an ia64 (Intel Itanium 64-bit) machine, an AMD64 (Athlon64 or Opteron) machine...?  If you have no idea, odds are good that 1. you're using an i386 machine, and 2. you should really start paying more attention to your system's hardware specs.&lt;br /&gt;
&lt;br /&gt;
Once you've got that figured out, '''cd''' into the appropriate directory like this: '''cd /usr/src/sys/&amp;lt;nowiki&amp;gt;[i386/amd64/ia64/whatever]&amp;lt;/nowiki&amp;gt;/conf''', and '''ls'''.  You'll see something like this:&lt;br /&gt;
&lt;br /&gt;
 ph34r#''' cd /usr/src/sys/amd64/conf'''&lt;br /&gt;
 ph34r#''' ls'''&lt;br /&gt;
 GENERIC         GENERIC.hints   Makefile        gethints.awk    noSMPnoAPIC&lt;br /&gt;
 ph34r#&lt;br /&gt;
&lt;br /&gt;
See that file named GENERIC?  That's the kernel configuration.  YOU DO NOT WANT TO EDIT THIS ONE DIRECTLY - for one thing, if you screw up your kernel configuration so badly you need to start over, you'll want GENERIC to refer back to.  For another, even if you're a genius and never ever ever screw up, the next time you update your system sources, you could lose your shiny new kernel config!  So this is what we'll do instead.&lt;br /&gt;
&lt;br /&gt;
 ph34r#''' mkdir /root/kernels'''&lt;br /&gt;
 ph34r#''' cp GENERIC /root/kernels/MYKERNEL'''&lt;br /&gt;
 ph34r#''' ln -s /root/kernels/MYKERNEL MYKERNEL'''&lt;br /&gt;
&lt;br /&gt;
What we just did is make a directory named &amp;quot;kernels&amp;quot; in root's home directory, then copy GENERIC to MYKERNEL in that directory, then make a symlink from /usr/src/sys/yourarchitecture/conf/MYKERNEL to that file to make sure that any scripts looking for your kernel in ''this'' directory will find it.  (This IS important for later.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Editing your new kernel ==&lt;br /&gt;
&lt;br /&gt;
This is relatively easy: just '''edit /root/kernels/MYKERNEL'''.  This article isn't going to go into much detail about all the wonderful things you can do to a custom kernel - see [[Why Custom Kernels]] if you're interested in that.&lt;br /&gt;
&lt;br /&gt;
== Compiling your new kernel ==&lt;br /&gt;
&lt;br /&gt;
Still easy... do it like this:&lt;br /&gt;
&lt;br /&gt;
 ph34r#''' cd /usr/src'''&lt;br /&gt;
 ph34r#''' make buildkernel KERNCONF=MYKERNEL'''&lt;br /&gt;
&lt;br /&gt;
This is going to take a while - on my Athlon64 3000+, it takes approximately three and a half minutes.  On [[User:Pete | Pete]]'s Athlon 2000+, it took around seven minutes.  If you're trying to build a stripped down kernel for legacy hardware with very few resources to work with at all, you could easily be in for half an hour or so of hot kernel compiling action, so go get a cup of coffee or something while it compiles.&lt;br /&gt;
&lt;br /&gt;
== Installing your new kernel ==&lt;br /&gt;
&lt;br /&gt;
Does it ever get hard?  Nah.&lt;br /&gt;
&lt;br /&gt;
 ph34r#''' make installkernel KERNCONF=MYKERNEL'''&lt;br /&gt;
&lt;br /&gt;
This won't take any time at all - but if it ''does'' take a lot of time and throw pages and pages of text on the screen, you made a typo in the KERNCONF section of the command, and it's trying to build and install some other kernel, and you will have to hit Ctrl-C to break out of the compilation and go right back up to '''Compiling your new kernel''' and start from there.  Whoops.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Recovering from your new kernel if you messed up ==&lt;br /&gt;
&lt;br /&gt;
Did you screw something up in your kernel, and the system won't boot?  Fear not, recovery is easier than you think.  When the system boots, instead of selecting &amp;quot;Normal&amp;quot;, &amp;quot;ACPI Disabled&amp;quot;, or &amp;quot;Safe&amp;quot; at the menu (FreeBSD 5.x) or hitting enter to boot (FreeBSD 4.x), go into the boot loader - it's the option at the bottom of the menu on FreeBSD 5.x, and you just press any key OTHER than enter to get into it if you're running FreeBSD 4.x.  Now that you're looking at this ominous and unhelpful-seeming command line, type '''boot kernel.old''' and you should be in business - and once the system is back up, you will probably want to '''mv /boot/kernel /boot/kernel.oops''' and '''cp -Rpv /boot/kernel.old /boot/kernel''' so that you'll have your old, working kernel in place again in case you have to reboot again before trying to fix what you did wrong the last time and reinstall a new kernel again.&lt;br /&gt;
&lt;br /&gt;
[[Category:Common Tasks]]&lt;/div&gt;</summary>
		<author><name>Taxman</name></author>	</entry>

	<entry>
		<id>http://www.freebsdwiki.net/index.php/Kernel</id>
		<title>Kernel</title>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/Kernel"/>
				<updated>2004-09-17T18:39:53Z</updated>
		
		<summary type="html">&lt;p&gt;Taxman: new&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The '''kernel''' is the core of the operating system that provides the basic services that programs need such as multi-tasking (process management), memory and virtual memory management, access to the filesystem, device drivers (or access to them), networking and interprocess communication.&lt;br /&gt;
&lt;br /&gt;
The FreeBSD kernel is primarily a ''monolithic'' kernel meaning that most of its core services are tightly integrated and run in kernel space.  It is also flexible in that it can be extended while running, with external modules using the [[kldload]] command.  In a monolithic kernel, the services the kernel provides are made available through a set of '''system calls''' to programs that need to access them.&lt;br /&gt;
&lt;br /&gt;
==Recompiling the kernel==&lt;br /&gt;
The FreeBSD kernel can be recompiled in a number of simple steps.  This may need to be done either while [[upgrading the system]] to a new version, to add support for various hardware not in the GENERIC kernel, or to change various kernel options.  You cannot upgrade to a newer version of the kernel than the rest of the system.  They must be upgraded together.  This tight integration and coordination is one of the strengths of FreeBSD and contributes to its stability.&lt;br /&gt;
&lt;br /&gt;
===Overview of the steps in the process===&lt;br /&gt;
The steps are as follows:&lt;br /&gt;
*Edit the kernel config file, copying it to a new name such as CUSTOM1&lt;br /&gt;
*Build the new kernel - make buildkernel KERNCONF=CUSTOM1&lt;br /&gt;
*Install the new kernel - make installkernel KERNCONF=CUSTOM1&lt;br /&gt;
*Reboot to test the new kernel&lt;br /&gt;
&lt;br /&gt;
===More detail===&lt;br /&gt;
1. [[su]] to root or use [[sudo]] for every command&lt;br /&gt;
 # su root&lt;br /&gt;
2. Copy the file /usr/src/sys/i386/conf/GENERIC to a new file such as /usr/src/sys/i386/conf/CUSTOM1&lt;br /&gt;
 # cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/CUSTOM1&lt;br /&gt;
:*Edit the new file using your favorite editor such as vi, emacs, or pico. Use a # to comment out lines, but still keep the in the file for later reference.  Commented out options will not be built into the kernel.&lt;br /&gt;
 # vi /usr/src/sys/i386/conf/CUSTOM1&lt;br /&gt;
:*Look in the files /usr/src/sys/i386/NOTES and /usr/src/sys/??? for the various options available to add into your custom kernel file.&lt;br /&gt;
 # more /usr/src/sys/i386/NOTES&lt;br /&gt;
:*Be careful which options or devices you remove from your custom config file.  Don't remove any you don't understand, or at least read very carefully to learn which are needed to support others.  If you remove too many and the kernel fails to build properly, assume the cause is you removed something you shouldn't have.&lt;br /&gt;
3. Change to the /usr/src directory to run the buildkernel command&lt;br /&gt;
:*You may want to use the script command to save a record of the compile in case there are any errors to report or to read and learn more about the build proces.&lt;br /&gt;
 # cd /usr/src&lt;br /&gt;
 # script build1&lt;br /&gt;
 # make buildkernel KERNCONF=CUSTOM1&lt;br /&gt;
4. If the build process completes without errors, proceed to installing the kernel.  It will automatically backup your old kernel for you. Then exit to end the scripting process, and finally reboot to test the new kernel.&lt;br /&gt;
 # make installkernel KERNCONF=CUSTOM1&lt;br /&gt;
 # exit&lt;br /&gt;
 # reboot&lt;br /&gt;
&lt;br /&gt;
Now you're running a new custom kernel.  Try editing a new config file and remove more things or add others.  Some combinations will break things, so try again.  That is a great way to learn about the kernel.&lt;/div&gt;</summary>
		<author><name>Taxman</name></author>	</entry>

	<entry>
		<id>http://www.freebsdwiki.net/index.php/Upgrading_the_system</id>
		<title>Upgrading the system</title>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/Upgrading_the_system"/>
				<updated>2004-09-17T16:08:39Z</updated>
		
		<summary type="html">&lt;p&gt;Taxman: mediawiki won't make that link properly&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Upgrading a FreeBSD system is relatively painless if the proper steps are followed.  The standard way to upgrade a FreeBSD system is to update the source code to the new version then recompile the source and install.  There are automatic commands for much of the process. &lt;br /&gt;
&lt;br /&gt;
In overview the steps are:&lt;br /&gt;
*Backup important files&lt;br /&gt;
*Update the system source code ([[cvsup]] over the internet or install source from a new CD)&lt;br /&gt;
*Read [[UPDATING|/usr/src/UPDATING]] to look for any gotcha's or recent changes&lt;br /&gt;
*Compile the source for the system except for the kernel (make buildworld)&lt;br /&gt;
*Compile the source for the [[kernel]] ([[make buildkernel]])&lt;br /&gt;
*Install any critical config files that have been updated (mergemaster -p)&lt;br /&gt;
*Install the new kernel if it has built successfully (make installkernel)&lt;br /&gt;
*Reboot to run the new kernel&lt;br /&gt;
*Drop to [[single user mode]] (see [[init]])&lt;br /&gt;
*Install the rest of the system (make installworld)&lt;br /&gt;
*Update the config files ([[mergemaster]])&lt;br /&gt;
&lt;br /&gt;
[[Category:Common Tasks]]&lt;/div&gt;</summary>
		<author><name>Taxman</name></author>	</entry>

	<entry>
		<id>http://www.freebsdwiki.net/index.php/UPDATING</id>
		<title>UPDATING</title>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/UPDATING"/>
				<updated>2004-09-17T15:46:04Z</updated>
		
		<summary type="html">&lt;p&gt;Taxman: new&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''/usr/src/UPDATING''' is the location of the file describing all the current information needed to [[upgrading the system|upgrade a system]] properly from source.  Sometimes special procedures are needed due to recent changes in the system such as the addition of new user groups.  Reading the top sections of this file is very important to successfully upgrading, and many upgrade failures are a result of users skipping this step.&lt;/div&gt;</summary>
		<author><name>Taxman</name></author>	</entry>

	<entry>
		<id>http://www.freebsdwiki.net/index.php/Upgrading_the_system</id>
		<title>Upgrading the system</title>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/Upgrading_the_system"/>
				<updated>2004-09-17T15:40:22Z</updated>
		
		<summary type="html">&lt;p&gt;Taxman: linked to some topics I'd like to write&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Upgrading a FreeBSD system is relatively painless if the proper steps are followed.  The standard way to upgrade a FreeBSD system is to update the source code to the new version then recompile the source and install.  There are automatic commands for much of the process. &lt;br /&gt;
&lt;br /&gt;
In overview the steps are:&lt;br /&gt;
*Backup important files&lt;br /&gt;
*Update the system source code ([[cvsup]] over the internet or install source from a new CD)&lt;br /&gt;
*Read [[/usr/src/UPDATING]] to look for any gotcha's or recent changes&lt;br /&gt;
*Compile the source for the system except for the kernel (make buildworld)&lt;br /&gt;
*Compile the source for the [[kernel]] ([[make buildkernel]])&lt;br /&gt;
*Install any critical config files that have been updated (mergemaster -p)&lt;br /&gt;
*Install the new kernel if it has built successfully (make installkernel)&lt;br /&gt;
*Reboot to run the new kernel&lt;br /&gt;
*Drop to [[single user mode]] (see [[init]])&lt;br /&gt;
*Install the rest of the system (make installworld)&lt;br /&gt;
*Update the config files ([[mergemaster]])&lt;br /&gt;
&lt;br /&gt;
[[Category:Common Tasks]]&lt;/div&gt;</summary>
		<author><name>Taxman</name></author>	</entry>

	<entry>
		<id>http://www.freebsdwiki.net/index.php/User_talk:Dave</id>
		<title>User talk:Dave</title>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/User_talk:Dave"/>
				<updated>2004-09-17T15:28:11Z</updated>
		
		<summary type="html">&lt;p&gt;Taxman: question&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;HI A/S/L&lt;br /&gt;
&lt;br /&gt;
== you asked ==&lt;br /&gt;
&lt;br /&gt;
27/m/miami&lt;br /&gt;
&lt;br /&gt;
==RE:welcome==&lt;br /&gt;
What do you think of the idea of putting the whole handbook in here and improving it through the wiki process?  We may be able to get the doc project on board with that, especially since there are some tools (crude as of yet I think) that can convert mediawiki markup to docbook.  Do you have the space and bandwidth for that? If it really takes off it could be merged back into the official FreeBSD webspace. - [[User:Taxman|Taxman]] 15:28, 17 Sep 2004 (GMT)&lt;/div&gt;</summary>
		<author><name>Taxman</name></author>	</entry>

	<entry>
		<id>http://www.freebsdwiki.net/index.php/Upgrading_the_system</id>
		<title>Upgrading the system</title>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/Upgrading_the_system"/>
				<updated>2004-09-16T20:05:19Z</updated>
		
		<summary type="html">&lt;p&gt;Taxman: started an overview of the upgrade process&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Upgrading a FreeBSD system is relatively painless if the proper steps are followed.  The standard way to upgrade a FreeBSD system is to update the source code to the new version then recompile the source and install.  There are automatic commands for much of the process. &lt;br /&gt;
&lt;br /&gt;
In overview the steps are:&lt;br /&gt;
*Backup important files&lt;br /&gt;
*Update the system source code ([[cvsup]] over the internet or install source from a new CD)&lt;br /&gt;
*Read /usr/src/UPDATING to look for any gotcha's or recent changes&lt;br /&gt;
*Compile the source for the system except for the kernel (make buildworld)&lt;br /&gt;
*Compile the source for the [[kernel]] (make buildkernel)&lt;br /&gt;
*Install any critical config files that have been updated (mergemaster -p)&lt;br /&gt;
*Install the new kernel if it has built successfully (make installkernel)&lt;br /&gt;
*Reboot to run the new kernel&lt;br /&gt;
*Drop to single user mode&lt;br /&gt;
*Install the rest of the system (make installworld)&lt;br /&gt;
*Update the config files ([[mergemaster]])&lt;/div&gt;</summary>
		<author><name>Taxman</name></author>	</entry>

	<entry>
		<id>http://www.freebsdwiki.net/index.php/FreeBSDwiki_talk:Deletion_log</id>
		<title>FreeBSDwiki talk:Deletion log</title>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/FreeBSDwiki_talk:Deletion_log"/>
				<updated>2004-09-16T16:15:09Z</updated>
		
		<summary type="html">&lt;p&gt;Taxman: cat manpage says it is short for concatenate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I just wanted to comment, that at least according to the manpage, and all sources I can remember, cat is in fact short for concatenate, apparently its original use was for % cat file1 file2 &amp;gt; combofile. - [[User:Taxman|Taxman]] 16:15, 16 Sep 2004 (GMT)&lt;/div&gt;</summary>
		<author><name>Taxman</name></author>	</entry>

	<entry>
		<id>http://www.freebsdwiki.net/index.php/User:Taxman</id>
		<title>User:Taxman</title>
		<link rel="alternate" type="text/html" href="http://www.freebsdwiki.net/index.php/User:Taxman"/>
				<updated>2004-09-16T16:11:19Z</updated>
		
		<summary type="html">&lt;p&gt;Taxman: start my user page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi, I'm a long time FreeBSD user since 3.4 or so.  I'm a relatively advanced non-programming user and have experience contributing to the FreeBSD handbook.  I had been thinking of starting a wiki for the FreeBSD documentation when I found this site had already beat me to it. I believe putting all the FreeBSD documentation in a wiki such as this would allow the documentation to improve much faster, since the current system involving docbook, sgml and such creates a high barrier for newer users to contribute or help improve the docs.&lt;br /&gt;
&lt;br /&gt;
I am also active in the [http://en.wikipedia.org English Wikipedia] using the same nickname.&lt;/div&gt;</summary>
		<author><name>Taxman</name></author>	</entry>

	</feed>