Skip to content
42 changes: 42 additions & 0 deletions _includes/example-preseed-excerpt.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
### Apt setup
# Choose, if you want to scan additional installation media
# (default: false).
d-i apt-setup/cdrom/set-first boolean false
# You can choose to install non-free firmware.
#d-i apt-setup/non-free-firmware boolean true
# You can choose to install non-free and contrib software.
#d-i apt-setup/non-free boolean true
#d-i apt-setup/contrib boolean true
# Uncomment the following line, if you don't want to have the sources.list
# entry for a DVD/BD installation image active in the installed system
# (entries for netinst or CD images will be disabled anyway, regardless of
# this setting).
#d-i apt-setup/disable-cdrom-entries boolean true
# Uncomment this if you don't want to use a network mirror.
#d-i apt-setup/use_mirror boolean false
# Select which update services to use; define the mirrors to be used.
# Values shown below are the normal defaults.
#d-i apt-setup/services-select multiselect security, updates
#d-i apt-setup/security_host string security.debian.org

# Additional repositories, local[0-9] available
#d-i apt-setup/local0/repository string \
# http://local.server/debian stable main
#d-i apt-setup/local0/comment string local server
# Enable deb-src lines
#d-i apt-setup/local0/source boolean true
# URL to the public key of the local repository; you must provide a key or
# apt will complain about the unauthenticated repository and so the
# sources.list line will be left commented out.
#d-i apt-setup/local0/key string http://local.server/key
# or one can provide it in-line by base64 encoding the contents of the
# key file (with `base64 -w0`) and specifying it thus:
#d-i apt-setup/local0/key string base64://LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCi4uLgo=
# The content of the key file is checked to see if it appears to be ASCII-armoured.
# If so it will be saved with an ".asc" extension, otherwise it gets a '.gpg' extension.
# "keybox database" format is currently not supported. (see generators/60local in apt-setup's source)

# By default the installer requires that repositories be authenticated
# using a known gpg key. This setting can be used to disable that
# authentication. Warning: Insecure, not recommended.
#d-i debian-installer/allow_unauthenticated boolean true
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
layout: post
title: Cobbler v3.3.6 Beginner's Guide
title: Cobbler v3.3.7 Beginner's Guide
author: Sus-Admin
summary: Getting started with Cobbler v3.3.6; basic installation, setup and automated PXE client provisioning
summary: Getting started with Cobbler v3.3.7; basic installation, setup and automated PXE client provisioning
---

This guide is intended to accompany and extend the official Cobbler [Installation](https://cobbler.readthedocs.io/en/v3.3.6/installation-guide.html) and [Quick Start](https://cobbler.readthedocs.io/en/v3.3.6/quickstart-guide.html) guides.
Expand All @@ -17,7 +17,7 @@ Cobbler is an open-source, system deployment and provisioning software which can

## Objective

Starting with a fresh installation of Fedora 34 Server (or Workstation - [Fedora download archive](https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/34/Server/x86_64/iso/)), this guide will detail preparing the system for Cobbler v3.3.6 installation from source, including prerequisite/dependency installations and network setup, and then provide all necessary steps to install and configure Cobbler to automatically provision another LAN host with Fedora 34 or 37 Server through PXE network boot.
Starting with a fresh installation of Fedora 34 Server (or Workstation - [Fedora download archive](https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/34/Server/x86_64/iso/)), this guide will detail preparing the system for Cobbler v3.3.7 installation from source, including prerequisite/dependency installations and network setup, and then provide all necessary steps to install and configure Cobbler to automatically provision another LAN host with Fedora 34 or 37 Server through PXE network boot.

## Environment

Expand Down Expand Up @@ -58,14 +58,14 @@ This guide assumes that both the **Cobbler Server** and **PXE Clinet(s)** are ru
<div class="row mt-3">
<div class="col-sm mt-3 mt-md-0">
<h3><b>Physical Network Diagram</b></h3>
{% include figure.liquid loading="eager" path="images/Cobbler-3.3.6-Beginners_Physical.jpg" class="img-fluid rounded z-depth-1" zoomable=true %}
{% include figure.liquid loading="eager" path="images/Cobbler-3.3.7-Beginners_Physical.jpg" class="img-fluid rounded z-depth-1" zoomable=true %}
<div class="caption">
The Cobbler server and PXE client(s) are not shown here, as they are VMs, not physical workstations.
</div>
</div>
<div class="col-sm mt-3 mt-md-0">
<h3><span style="float:right;"><b>Logical Network Diagram</b></span></h3>
{% include figure.liquid loading="eager" path="images/Cobbler-3.3.6-Beginners_Logical.jpg" class="img-fluid rounded z-depth-1" zoomable=true %}
{% include figure.liquid loading="eager" path="images/Cobbler-3.3.7-Beginners_Logical.jpg" class="img-fluid rounded z-depth-1" zoomable=true %}
<div class="caption">
The VirtualBox host (my Windows 10 laptop) is only shown for completeness, it is not used in the procedures other than the VM settings described above.
</div>
Expand All @@ -78,7 +78,7 @@ This guide assumes that both the **Cobbler Server** and **PXE Clinet(s)** are ru

## Fedora Server Basics

As stated above, this document outlines the procedures necessary to install and configure Cobbler v3.3.6 on a Fedora 34 host server for local network installations/provisioning through PXE. Additionally, necessary adjustments will be made for security through **selinux** and **firewalld** on the Cobbler server. As such, it is recommended to keep things simple and **limit the number of additional applications installed** to the Cobbler server to **minimize unexpected firewall and selinux complications.**
As stated above, this document outlines the procedures necessary to install and configure Cobbler v3.3.7 on a Fedora 34 host server for local network installations/provisioning through PXE. Additionally, necessary adjustments will be made for security through **selinux** and **firewalld** on the Cobbler server. As such, it is recommended to keep things simple and **limit the number of additional applications installed** to the Cobbler server to **minimize unexpected firewall and selinux complications.**

### Updating

Expand Down Expand Up @@ -143,14 +143,14 @@ yum install make git python3-devel python3-sphinx python3-coverage openssl httpd

> Cobbler is also available through the YUM repos, using `yum install cobbler`

Download **cobbler v3.3.6** source code from the official GitHub repo
Download **cobbler v3.3.7** source code from the official GitHub repo

```shell
wget -P ~/Downloads/. https://github.com/cobbler/cobbler/archive/refs/tags/v3.3.6.zip
wget -P ~/Downloads/. https://github.com/cobbler/cobbler/archive/refs/tags/v3.3.7.zip

mkdir -p /usr/src/cobbler
cd /usr/src/cobbler
unzip -d . ~/Downloads/v3.3.6
unzip -d . ~/Downloads/v3.3.7
```

Install the runtime dependencies and enable system services *(systemd will probably report some errors...)*
Expand All @@ -171,7 +171,7 @@ yum install grub2-pc grub2-pc-modules grub2-efi-x64-modules grub2-efi-aa64-modul
Install Cobbler

```shell
cd /usr/src/cobbler/cobbler-3.3.6
cd /usr/src/cobbler/cobbler-3.3.7
make install
systemctl restart httpd
```
Expand Down Expand Up @@ -203,6 +203,12 @@ sed -i "s/pxe_just_once: true/pxe_just_once: false/" /etc/cobbler/settings.yaml
sed -i "s/enable_ipxe: false/enable_ipxe: true/" /etc/cobbler/settings.yaml
```

> Even if you do not enable iPXE above, it won't hurt to symlink the correct file that cobbler points to in the `/etc/cobbler/dhcp.template` file.
>
> ```shell
> ln -s /usr/share/ipxe/undionly.kpxe /var/lib/cobbler/loaders/undionly.kpxe
> ```

Edit the subnet decaration in **/etc/cobbler/dhcp.tempate** to match the **enp0s8** interface:

```shell
Expand Down Expand Up @@ -443,7 +449,7 @@ systemctl restart tftp httpd

1. Cobbler's [official docs](https://cobbler.readthedocs.io/en/v3.3.6/installation-guide.html#id2) advise that installing and running Cobbler in a virtual environment is not possible, but I have had no issues related to virtualization.

1. Some dependencies are missing from the official [Cobbler docs](https://cobbler.readthedocs.io/en/v3.3.6/installation-guide.html#packages). Have a look at the [dockerfile](https://github.com/cobbler/cobbler/blob/v3.3.6/docker/rpms/Fedora_34/Fedora34.dockerfile) located in cobbler's source code for a more complete list.
1. Some dependencies are missing from the official [Cobbler docs](https://cobbler.readthedocs.io/en/v3.3.6/installation-guide.html#packages). Have a look at the [dockerfile](https://github.com/cobbler/cobbler/blob/v3.3.7/docker/rpms/Fedora_34/Fedora34.dockerfile) located in cobbler's source code for a more complete list.

1. It's always a good idea to manually install the desired distro (Fedora 34 or 37 Server in the case of this guide) to the desired hardware (VirtualBox VM in this case) before attempting a network installation, to validate compatability.

Expand Down
Loading
Loading