Skip to content

Commit 85ff194

Browse files
committed
updated Beginners Guide to 3.3.7 & added 3.3.7 Debian Deployment Guide
1 parent d27f9b7 commit 85ff194

File tree

5 files changed

+434
-18
lines changed

5 files changed

+434
-18
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
### Apt setup
2+
# Choose, if you want to scan additional installation media
3+
# (default: false).
4+
d-i apt-setup/cdrom/set-first boolean false
5+
# You can choose to install non-free firmware.
6+
#d-i apt-setup/non-free-firmware boolean true
7+
# You can choose to install non-free and contrib software.
8+
#d-i apt-setup/non-free boolean true
9+
#d-i apt-setup/contrib boolean true
10+
# Uncomment the following line, if you don't want to have the sources.list
11+
# entry for a DVD/BD installation image active in the installed system
12+
# (entries for netinst or CD images will be disabled anyway, regardless of
13+
# this setting).
14+
#d-i apt-setup/disable-cdrom-entries boolean true
15+
# Uncomment this if you don't want to use a network mirror.
16+
#d-i apt-setup/use_mirror boolean false
17+
# Select which update services to use; define the mirrors to be used.
18+
# Values shown below are the normal defaults.
19+
#d-i apt-setup/services-select multiselect security, updates
20+
#d-i apt-setup/security_host string security.debian.org
21+
22+
# Additional repositories, local[0-9] available
23+
#d-i apt-setup/local0/repository string \
24+
# http://local.server/debian stable main
25+
#d-i apt-setup/local0/comment string local server
26+
# Enable deb-src lines
27+
#d-i apt-setup/local0/source boolean true
28+
# URL to the public key of the local repository; you must provide a key or
29+
# apt will complain about the unauthenticated repository and so the
30+
# sources.list line will be left commented out.
31+
#d-i apt-setup/local0/key string http://local.server/key
32+
# or one can provide it in-line by base64 encoding the contents of the
33+
# key file (with `base64 -w0`) and specifying it thus:
34+
#d-i apt-setup/local0/key string base64://LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCi4uLgo=
35+
# The content of the key file is checked to see if it appears to be ASCII-armoured.
36+
# If so it will be saved with an ".asc" extension, otherwise it gets a '.gpg' extension.
37+
# "keybox database" format is currently not supported. (see generators/60local in apt-setup's source)
38+
39+
# By default the installer requires that repositories be authenticated
40+
# using a known gpg key. This setting can be used to disable that
41+
# authentication. Warning: Insecure, not recommended.
42+
#d-i debian-installer/allow_unauthenticated boolean true

_posts/2024/2024-11-12-Cobbler-v3.3.6-Beginners-Guide.md renamed to _posts/2024/2024-11-12-Cobbler-v3.3.7-Beginners-Guide.md

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
layout: post
3-
title: Cobbler v3.3.6 Beginner's Guide
3+
title: Cobbler v3.3.7 Beginner's Guide
44
author: Sus-Admin
5-
summary: Getting started with Cobbler v3.3.6; basic installation, setup and automated PXE client provisioning
5+
summary: Getting started with Cobbler v3.3.7; basic installation, setup and automated PXE client provisioning
66
---
77

88
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.
@@ -17,7 +17,7 @@ Cobbler is an open-source, system deployment and provisioning software which can
1717

1818
## Objective
1919

20-
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.
20+
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.
2121

2222
## Environment
2323

@@ -58,14 +58,14 @@ This guide assumes that both the **Cobbler Server** and **PXE Clinet(s)** are ru
5858
<div class="row mt-3">
5959
<div class="col-sm mt-3 mt-md-0">
6060
<h3><b>Physical Network Diagram</b></h3>
61-
{% include figure.liquid loading="eager" path="images/Cobbler-3.3.6-Beginners_Physical.jpg" class="img-fluid rounded z-depth-1" zoomable=true %}
61+
{% include figure.liquid loading="eager" path="images/Cobbler-3.3.7-Beginners_Physical.jpg" class="img-fluid rounded z-depth-1" zoomable=true %}
6262
<div class="caption">
6363
The Cobbler server and PXE client(s) are not shown here, as they are VMs, not physical workstations.
6464
</div>
6565
</div>
6666
<div class="col-sm mt-3 mt-md-0">
6767
<h3><span style="float:right;"><b>Logical Network Diagram</b></span></h3>
68-
{% include figure.liquid loading="eager" path="images/Cobbler-3.3.6-Beginners_Logical.jpg" class="img-fluid rounded z-depth-1" zoomable=true %}
68+
{% include figure.liquid loading="eager" path="images/Cobbler-3.3.7-Beginners_Logical.jpg" class="img-fluid rounded z-depth-1" zoomable=true %}
6969
<div class="caption">
7070
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.
7171
</div>
@@ -78,7 +78,7 @@ This guide assumes that both the **Cobbler Server** and **PXE Clinet(s)** are ru
7878

7979
## Fedora Server Basics
8080

81-
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.**
81+
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.**
8282

8383
### Updating
8484

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

144144
> Cobbler is also available through the YUM repos, using `yum install cobbler`
145145
146-
Download **cobbler v3.3.6** source code from the official GitHub repo
146+
Download **cobbler v3.3.7** source code from the official GitHub repo
147147

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

151151
mkdir -p /usr/src/cobbler
152152
cd /usr/src/cobbler
153-
unzip -d . ~/Downloads/v3.3.6
153+
unzip -d . ~/Downloads/v3.3.7
154154
```
155155

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

173173
```shell
174-
cd /usr/src/cobbler/cobbler-3.3.6
174+
cd /usr/src/cobbler/cobbler-3.3.7
175175
make install
176176
systemctl restart httpd
177177
```
@@ -203,6 +203,12 @@ sed -i "s/pxe_just_once: true/pxe_just_once: false/" /etc/cobbler/settings.yaml
203203
sed -i "s/enable_ipxe: false/enable_ipxe: true/" /etc/cobbler/settings.yaml
204204
```
205205

206+
> 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.
207+
>
208+
> ```shell
209+
> ln -s /usr/share/ipxe/undionly.kpxe /var/lib/cobbler/loaders/undionly.kpxe
210+
> ```
211+
206212
Edit the subnet decaration in **/etc/cobbler/dhcp.tempate** to match the **enp0s8** interface:
207213
208214
```shell
@@ -270,12 +276,12 @@ Now, create the **PXE Client** VM according to the specs described in the **Envi
270276
Finally, create a new Cobbler System, replacing `aa:bb:cc:dd:ee:ff` with the MAC Address of the **PXE Client** VM created above, and sync up Cobbler *(More information on Cobbler autoinstall templates and kickstart files in the* ***Tips & Troubleshooting*** *section below)*:
271277
272278
```shell
273-
cobbler system add --name Fedora34 --profile Fedora34-x86_64 --netboot-enabled true --hostname fedora34 --interface enp0s3 --static true --mac-address "aa:bb:cc:dd:ee:ff" --ip-address 10.0.0.11 --gateway 10.0.0.1 --netmask 255.255.255.0 --name-servers "10.0.0.1"
279+
cobbler system add --name Fedora34 --profile Fedora34-x86_64 --mac-adress "aa:bb:cc:dd:ee:ff" --netboot-enabled true --hostname fedora34 --interface enp0s3 --static true --ip-address 10.0.0.11 --gateway 10.0.0.1 --netmask 255.255.255.0 --name-servers "10.0.0.1"
274280
systemctl restart cobblerd && sleep 10
275281
cobbler sync
276282
```
277283
278-
*leave out the `--static true` option in the above command to configure the PXE client to use DHCP for its IP configuration post-install; if using DHCP, you may omit all the command parameters following `--hostname fedora34`.*
284+
*leave out the `--static true` option in the above command to configure the PXE client to use DHCP for its IP configuration post-install; if using DHCP, you may omit all the command parameters following `--netboot-enabled true`.*
279285
280286
> *The* ***PXE Client*** *VM can now be powered on, and should automatically boot to PXE and install Fedora 34 to the VM HDD using the "Fedora34.ks" kickstart template created above.*
281287
>
@@ -291,7 +297,7 @@ cobbler import --name=Fedora37 --arch=x86_64 --path=/mnt/Fedora
291297
cobbler distro edit --name Fedora37-x86_64 --kernel-options ""
292298
cat /var/lib/cobbler/templates/sample.ks | grep -v "\--useshadow" | grep -v ^install | sed 's,selinux --disabled,selinux --permissive,' | sed 's,rootpw --iscrypted \$default_password_crypted,rootpw --iscrypted \$default_password_crypted\nuser --groups=wheel --name=fedora --password=\$default_password_crypted --iscrypted --gecos="fedora",' | tee /var/lib/cobbler/templates/Fedora37.ks
293299
cobbler profile edit --name Fedora37-x86_64 --autoinstall Fedora37.ks
294-
cobbler system add --name Fedora37 --profile Fedora37-x86_64 --netboot-enabled true --hostname fedora37 --interface enp0s3 --static true --mac-address "aa:bb:cc:dd:ee:ff" --ip-address 10.0.0.12 --gateway 10.0.0.1 --netmask 255.255.255.0 --name-servers "10.0.0.1"
300+
cobbler system add --name Fedora37 --profile Fedora37-x86_64 --mac-address "aa:bb:cc:dd:ee:ff" --netboot-enabled true --hostname fedora37 --interface enp0s3 --static true --ip-address 10.0.0.12 --gateway 10.0.0.1 --netmask 255.255.255.0 --name-servers "10.0.0.1"
295301
systemctl restart cobblerd && sleep 10
296302
cobbler sync
297303
```
@@ -443,7 +449,7 @@ systemctl restart tftp httpd
443449
444450
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.
445451
446-
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.
452+
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.
447453
448454
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.
449455
@@ -472,10 +478,6 @@ systemctl restart tftp httpd
472478
echo $SHELL
473479
```
474480
475-
1. The PXE client software that comes with VirtualBox VM firmware **DOES NOT** support HTTP as a download protocol, so it may be best to leave iPXE disabled in `/etc/cobbler/settings.yaml`
476-
477-
- HTTP can always be utilized if you boot the PXE client from CD using the latest [ipxe.iso](https://boot.ipxe.org/ipxe.iso)
478-
479481
1. By default, Cobbler's DHCP server attempts to detect the PXE client's boot firmware type in order to provide a BIOS or UEFI compatible bootloader *(BIOS: "grub.0" - UEFI: "grubx64.efi")*. If using **BIOS firmware** for the PXE client VM, the Cobbler server's DHCP service may not provide the right bootloader.
480482
481483
1. manually set the bootloader for a Cobbler Profile or System with the following command (the `filename` value corresponds to the `filename` variable for the Cobbler System in the generated `dhcpd.conf` file, and is a local system path to the desired bootloader file relative to Cobbler's tftp root directory: `/var/lib/tftpboot`):

0 commit comments

Comments
 (0)