Changeset View
Changeset View
Standalone View
Standalone View
documentation/content/en/articles/geom-class/_index.adoc
Context not available. | |||||
:sectnumlevels: 6 | :sectnumlevels: 6 | ||||
:source-highlighter: rouge | :source-highlighter: rouge | ||||
:experimental: | :experimental: | ||||
:images-path: articles/geom-class/ | |||||
ifeval::["{backend}" == "html5"] | |||||
include::shared/en/urls.adoc[] | ifdef::env-beastie[] | ||||
ifdef::backend-html5[] | |||||
include::shared/authors.adoc[] | |||||
include::shared/mirrors.adoc[] | |||||
include::shared/releases.adoc[] | |||||
include::shared/attributes/attributes-{{% lang %}}.adoc[] | |||||
include::shared/{{% lang %}}/teams.adoc[] | |||||
include::shared/{{% lang %}}/mailing-lists.adoc[] | |||||
include::shared/{{% lang %}}/urls.adoc[] | |||||
:imagesdir: ../../../images/{images-path} | |||||
endif::[] | |||||
ifdef::backend-pdf,backend-epub3[] | |||||
include::../../../../shared/asciidoctor.adoc[] | |||||
endif::[] | endif::[] | ||||
ifeval::["{backend}" == "pdf"] | |||||
include::../../../../shared/en/urls.adoc[] | |||||
endif::[] | endif::[] | ||||
ifeval::["{backend}" == "epub3"] | ifndef::env-beastie[] | ||||
include::../../../../shared/en/urls.adoc[] | include::../../../../../shared/asciidoctor.adoc[] | ||||
endif::[] | endif::[] | ||||
[.abstract-title] | [.abstract-title] | ||||
Context not available. | |||||
Documentation on kernel programming is scarce - it is one of few areas where there is nearly nothing in the way of friendly tutorials, and the phrase "use the source!" really holds true. | Documentation on kernel programming is scarce - it is one of few areas where there is nearly nothing in the way of friendly tutorials, and the phrase "use the source!" really holds true. | ||||
However, there are some bits and pieces (some of them seriously outdated) floating around that should be studied before beginning to code: | However, there are some bits and pieces (some of them seriously outdated) floating around that should be studied before beginning to code: | ||||
* The link:{developers-handbook}[FreeBSD Developer's Handbook] - part of the documentation project, it does not contain anything specific to kernel programming, but rather some general useful information. | * The extref:{developers-handbook}[FreeBSD Developer's Handbook] - part of the documentation project, it does not contain anything specific to kernel programming, but rather some general useful information. | ||||
* The link:{arch-handbook}[FreeBSD Architecture Handbook] - also from the documentation project, contains descriptions of several low-level facilities and procedures. The most important chapter is 13, link:{arch-handbook}#driverbasics[Writing FreeBSD device drivers]. | * The extref:{arch-handbook}[FreeBSD Architecture Handbook] - also from the documentation project, contains descriptions of several low-level facilities and procedures. The most important chapter is 13, extref:{arch-handbook}[Writing FreeBSD device drivers, driverbasics]. | ||||
* The Blueprints section of http://www.freebsddiary.org[FreeBSD Diary] web site - contains several interesting articles on kernel facilities. | * The Blueprints section of http://www.freebsddiary.org[FreeBSD Diary] web site - contains several interesting articles on kernel facilities. | ||||
* The man pages in section 9 - for important documentation on kernel functions. | * The man pages in section 9 - for important documentation on kernel functions. | ||||
* The man:geom[4] man page and http://phk.freebsd.dk/pubs/[PHK's GEOM slides] - for general introduction of the GEOM subsystem. | * The man:geom[4] man page and http://phk.freebsd.dk/pubs/[PHK's GEOM slides] - for general introduction of the GEOM subsystem. | ||||
Context not available. |