Help with squashfs boot using custom squashfs file from ipxe

My goal is to create a simple kiosk machine that has no SSD…just ram…configure a ubuntu server with auto login and firefox launching in kiosk mode. The client should boot from a boot server using ipxe. I have a server boot server built with Ubuntu-Server 24.04.2 LTS amd64 running dhcp, tftp, http, and nfs. The boot server is fully functional and i have the client ipxe booting … and ultimately pulling files from the nfs server.

My boot.ipxe looks like this
#!ipxe
dhcp
kernel http://10.0.0.1/ubuntu/vmlinuz boot=casper netboot=nfs nfsroot=10.0.0.1:/var/nfs/ ip=dhcp rd.net.dhcp.retry=10
initrd http://10.0.0.1/ubuntu/initrd
boot

If i put the contents of the ISO image /casper/ folder in my nfsroot/casper folder the clients succesfully boots the minimal.squashfs file.

I also created a custom squashfs file by doing a clean install…and fully configuring the client kisosk mode the way i want it.

So…i have a boot server configured and operating … i have a client ipxe bootin to the squash files from the iso image copied to my nfs drive…but i cant figure out how to get it to boot my custom squashfs file.
Ubuntu Version:

Ubuntu-Server 24.04.2 LTS amd64
Desktop Environment (if applicable):

Problem Description:

So…i have a boot server configured and operating … i have a client ipxe bootin to the squash files from the iso image copied to my nfs drive…but i cant figure out how to get it to boot my custom squashfs file.
Relevant System Information:

Screenshots or Error Messages:

What I’ve Tried:

I tried renaming my squashfs file to ubuntu-server-minimal.squashfs and it seemed to try to load it but ultimately did not like it. Any suggestions on what i can do…i think i have all the hooks in place…i basically just want a way to boot one or more kiosk systems from a boot server so that they run in ram with no persistence (IE each time they are booted they are clean). Also a slight complication is that the entire system has no internet access…once configured and running, the boot server and kiosk machines are networked together but have no internet access.

Am open to other approaches as well.


I’d take a look at nbd instead of nfs, with that you could export the squashfs as a networked disk device and set up some copy on write stuff using i.e. overlayfs, we used to use this in LTSP in the past (not sure if the guys still use this, I left the project a while ago, but it was a very easy way to achieve a “live system network boot”)

This topic was automatically closed after 30 days. New replies are no longer allowed.