* Create a shim for systemctl in container Implement a shim for systemctl to handle service actions in a container environment, with a critical fix to ignore 'samba-ad-dc' to prevent RPC conflicts. * Add permissions and symlink for systemctl Added executable permissions to systemctl and created a symlink. * Add script to start PXE-related services * Add script to start PXE services on initialization This script starts essential PXE services using systemctl. * Rename root/etc/cont-init.d/99-start-pxe-services.sh to root/cont-init.d/99-start-pxe-services.sh * Rename root/cont-init.d/99-start-pxe-services.sh to root/etc/cont-init.d/99-start-pxe-services.sh * Fix rpcbind by creating missing directory Create missing directory for rpcbind service. * Update and rename root/etc/s6-overlay/s6-rc.d/cont-init.d/99-start-pxe-services.sh to 0 * Rename root/etc/s6-overlay/s6-rc.d/user/contents.d/init-pxe-boot-config to 1 * Rename root/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/up to 2 * Rename root/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/type to 3 * Rename root/etc/s6-overlay/s6-rc.d/init-pxe-boot-config/run to 4 * Rename root/etc/s6-overlay/.DS_Store to 5 * Rename root/etc/.DS_Store to 6 * delete old files * ignore
HowToBuild and setup
Clone this repo: "git clone https://github.com/pi-farm/Docker-PXE-Server.git" and cd into it: "cd Docker-PXE-Server"
#############################################################################################
1: run: "bash start" or "bash t-start"
1.1: choose (b) to build the image and installing everything in the PXE-Container
1.2: restart your pi
#############################################################################################
2: run: "bash start" or "bash t-start"
2.1: choose (e) to edit the p2-include-handle file in RPi-PXE-Server (look here: https://github.com/beta-tester/RPi-PXE-Server#p2-include-handle--c2-custom-handle)
2.2: choose (s) to setup the PXE-Container
2.3: restart your pi
#############################################################################################
3: run: "bash start" or "bash t-start"
3.1: choose (u) for update
After that, your PXE-Container is ready!
#############################################################################################
to check, if the volumes are mounted, go into the running container:
- run: "docker exec -it pxe-container bash"
- run: "df -h"
- run: "showmount -e"
Check if all services are up and running:
"systemctl status chrony dnsmasq lighttpd nfs-mountd nfs-server nfs-kernel-server"
if not, try to start the services:
"systemctl start chrony dnsmasq lighttpd nfs-mountd nfs-server nfs-kernel-server"
NOTE: win-pxe / SAMBA feature not tested... coming soon!