Source string Read only

(itstool) path: listitem/para
236/2360
Context English State
The <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/arch-handbook/index.html">FreeBSD Architecture Handbook</link> — also from the documentation project, contains descriptions of several low-level facilities and procedures. The most important chapter is 13, <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/arch-handbook/driverbasics.html">Writing FreeBSD device drivers</link>.
The Blueprints section of <link xlink:href="http://www.freebsddiary.org">FreeBSD Diary</link> web site — contains several interesting articles on kernel facilities.
The man pages in section 9 — for important documentation on kernel functions.
The <citerefentry><refentrytitle>geom</refentrytitle><manvolnum>4</manvolnum></citerefentry> man page and <link xlink:href="http://phk.freebsd.dk/pubs/">PHK's GEOM slides</link> — for general introduction of the GEOM subsystem.
Man pages <citerefentry><refentrytitle>g_bio</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_event</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_data</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_geom</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_provider</refentrytitle><manvolnum>9</manvolnum></citerefentry> <citerefentry><refentrytitle>g_consumer</refentrytitle><manvolnum>9</manvolnum></citerefentry>, <citerefentry><refentrytitle>g_access</refentrytitle><manvolnum>9</manvolnum></citerefentry> &amp; others linked from those, for documentation on specific functionalities.
The <citerefentry><refentrytitle>style</refentrytitle><manvolnum>9</manvolnum></citerefentry> man page — for documentation on the coding-style conventions which must be followed for any code which is to be committed to the FreeBSD tree.
Preliminaries
The best way to do kernel development is to have (at least) two separate computers. One of these would contain the development environment and sources, and the other would be used to test the newly written code by network-booting and network-mounting filesystems from the first one. This way if the new code contains bugs and crashes the machine, it will not mess up the sources (and other <quote>live</quote> data). The second system does not even require a proper display. Instead, it could be connected with a serial cable or KVM to the first one.
But, since not everybody has two or more computers handy, there are a few things that can be done to prepare an otherwise <quote>live</quote> system for developing kernel code. This setup is also applicable for developing in a <link xlink:href="http://www.vmware.com/">VMWare</link> or <link xlink:href="http://www.qemu.org/">QEmu</link> virtual machine (the next best thing after a dedicated development machine).
Modifying a System for Development
For any kernel programming a kernel with <option>INVARIANTS</option> enabled is a must-have. So enter these in your kernel configuration file:

Loading…

None

New source string

FreeBSD Doc / articles_geom-classEnglish

New source string 2 weeks ago
Browse all component changes

Glossary

English English
No related strings found in the glossary.

Source information

Source string comment
(itstool) path: listitem/para
Labels
No labels currently set.
Flags
read-only
Source string location
article.translate.xml:107
Source string age
2 weeks ago
Translation file
, string 19