socsvn commit: r298291 - soc2015/kczekirda/asiabsdcon2016
kczekirda at FreeBSD.org
kczekirda at FreeBSD.org
Tue Feb 2 22:19:47 UTC 2016
Date: Tue Feb 2 22:19:46 2016
New Revision: 298291
iPXE and server side init
Binary file (source and/or target). No diff available.
--- soc2015/kczekirda/asiabsdcon2016/paper.tex Tue Feb 2 21:58:17 2016 (r298290)
+++ soc2015/kczekirda/asiabsdcon2016/paper.tex Tue Feb 2 22:19:46 2016 (r298291)
@@ -54,13 +54,38 @@
On the server side the main part of the project is FreeNAS, it is used to provide shared storage and jails for applications. The ZFS filesystem with deduplication enabled on dataset for source code allows to save every tested revision of the source code with space saving.
+The scope of the project was only infrastructure, without focusing on tests. During the project was made simple tests of building and installing FreeBSD, it's similar to https://jenkins.freebsd.org/ but on the bare metal infrustructure and it's possible to test all commits, not all commits from one of period of time like in jenkins.
+Another interesting application for this project is testing drivers, for example network card drivers. Inside testing cluster it's possible build driver after any commit, test it, measure and report.
The most important requirement during this project was as little intervention as possible.
+iPXE is open source network boot firmware, it provides a full PXE implementation extended with additional features such as:
+\item boot from a web server via HTTP and HTTPS
+\item boot from iSCSI
+\item boot from wireless network
+And the most important for this project: control the boot process with a scripts.
The firts stage of the project was creating iPXE port for FreeBSD. The port is ready for submition and has many possibilities for extensions.
-Details of configuration I'll include in final paper.
+The Preboot eXecution Environment allows to boot from a network interface. Host broadcasts a DHCP discover a request and a DHCP server responds with a DHCP packet that includes PXE options (the name of a boot server and a boot file). The client downloads his boot file by using TFTP and then executes it. In this project it is iPXE loader. In the next step iPXE loads MEMDISK kernel with the location of modified mfsBSD iso file as its parameter and then nodes mount shared storage via NFS protocol.
+As you can see, there is a lot of services to configure:
+\item DHCP server
+\item TFTP server
+\item HTTP server
+\item NFS server
+\item Management application
Firts step of booting node from network is DHCP service. DHCP server responds with a DHCP packet that included PXE options, in this case the name of TFTP boot server and a boot file.
More information about the svn-soc-all