summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2019-11-06 18:53:24 +0100
committerChristian Poessinger <christian@poessinger.com>2019-11-06 18:53:24 +0100
commit24896d28d4d994c3f61c5b48c86a9d417946372f (patch)
treeb5a08ae6ef671a4de4258db80f18e207f487745e
parent6620b221ba301268998bf3354af0ef673cd42127 (diff)
downloadvyos-documentation-24896d28d4d994c3f61c5b48c86a9d417946372f.tar.gz
vyos-documentation-24896d28d4d994c3f61c5b48c86a9d417946372f.zip
contributing: document Kernel, Firmware, Accel-PPP and Intel drivers
-rw-r--r--docs/contributing/upstream-packages.rst41
1 files changed, 32 insertions, 9 deletions
diff --git a/docs/contributing/upstream-packages.rst b/docs/contributing/upstream-packages.rst
index 089ed141..161cc627 100644
--- a/docs/contributing/upstream-packages.rst
+++ b/docs/contributing/upstream-packages.rst
@@ -93,27 +93,50 @@ No special build procedure is required.
Linux kernel
------------
-TBD
+In the past a fork of the Kernel source code was kept at the well-known
+location of https://github.com/vyos/vyos-kernel - where it is kept for history.
+
+Nowadays the Kernel we use is the upstream source code which is patched
+with two additional patches from the good old Vyatta times which never made it
+into the mainstream Kernel. The patches can be found here:
+https://github.com/vyos/vyos-build-kernel/tree/current/patches/kernel and are
+automatically applied to the Kernel by the Jenkins Pipeline which is used to
+generate the Kernel binaries.
+
+The Pipeline script not only builds the Kernel with the configuration named
+``x86_64_vyos_defconfig`` which is located in the vyos-build-kernel repository,
+too - but in addition also builds some Intel out-of-tree drivers, WireGuard
+(as long it is not upstreamed) and Accel-PPP.
+
+The ``Jenkinsfile`` tries to be as verbose as possible on each individual build
+step.
Linux firmware
--------------
-TBD
+More and more hardware cards require an additional firmware which is not open
+source. The Kernel community hosts a special linux-firmware Git repository
+with all available binary files which can be loaded by the Kernel.
+
+The ``vyos-build`` repository fetches a specific commit of the linux-firmware
+repository and embeds those binaries into the resulting ISO image. This step is
+done in the ``data/live-build-config/hooks/live/40-linux-firmware.chroot`` file.
+
+If the firmware needs to be updated it is sufficient to just exchange the Git
+commit id we reference in our build.
Intel drivers
-------------
-TBD
+Are build as part of the Kernel Pipeline - read above.
-accel-ppp
+Accel-PPP
---------
-accel-ppp has been packaged for the use with vyos, due to the kernel
-dependencies for its modules.
-
-* https://github.com/vyos/vyos-accel-ppp
+Accel-PPP used to be an upstream fork for quiet some time but now has been
+converted to make use of the upstream source code and build system.
-Build instructions are being kept up to date on the repos Readme.
+It is build as part of the Kernel Pipeline - read above.
hvinfo
------