The searches that will probably help you the most are liveCD PXE boot.  If
you build a liveCD type image with a storage area for your customization
(using NFS or something) that will allow you to save things across
reboots.  If not the live CD is the way to go.  The key is that you need to
create a TFTP server to hold the PXE boot images as well as the OS images.
You will want to launch pxelinux to then pull down and launch the larger OS
image.  You will need to build the customization scripts into the liveCD
for it to be able be different based on MAC address.  One thing you can do
is to specify hostname via DHCP when you register the MAC address.  That
will help.  Make sure that you have enough RAM on the machines because the
entire OS disk images will be living on RAM.

I have done a few things on PXE, but it has been a long time, but what you
are describing is definitely possible.

Nathan

On Sat, Dec 12, 2020 at 8:31 AM Matthew Frederico <[email protected]>
wrote:

> Another option may be NOMACHINE with a thin client?
> https://www.nomachine.com/
> http://pxes.sourceforge.net/howtos/PXES-NX_client.pdf
>
> On Sat, Dec 12, 2020 at 12:12 AM Dan Egli <[email protected]> wrote:
>
> > Okay, any idea where I should start looking? I don't mind that it's not
> > a weekend project, but I really don't want to replicate the same system
> > 50+ times. My original idea was that since each computer would need it's
> > own working directory to keep track of all work done and to work on it's
> > own scratch files what I'd do is have a script that creates a symlink to
> > the correct directory. I.e. /home/worker -> /tmp/worker ->
> > /home/worker-25. Each worker MUST have it's own directory, and it can
> > not be volatile. If they info is missing they will go onto the internet
> > to re-download it before doing anything. That's a lot of wasted time and
> > bandwidth.
> >
> > Like I said, the main goal here is to be DISKLESS. If I make another
> > machine, I want to get all the hardware plugged in, register it's MAC,
> > then boot it and let it run. No software installation needed since all
> > the software is already being used on the network. Just have the
> > registration process make a new worker folder, copy the base contents
> > across into the new folder, add the MAC and give it a hostname (i.e.
> > worker-21) and reserved IP in the DHCP system. And since I've never been
> > able to figure out how to serve specific IP addresses to specific MAC
> > addresses with Systemd's networkd, I'll just use ISC DHCPd.
> >
> > On 12/11/2020 11:12 PM, James Simister wrote:
> > > That sounds like a perfect use of puppet/chef/salt, although I do see
> the
> > > attraction of running diskless. I had a PXE-boot Gentoo machine running
> > for
> > > a while (with openrc), but wasn't satisfied with the speed. Maybe I did
> > > something wrong or had something misconfigured, but I had a pretty
> decent
> > > core i7 machine with 16G ram (fastest in my house) but the KDE desktop
> > felt
> > > closer to my cheapo Celeron laptop from 20 years ago (yes, it still
> > works).
> > > Once it loaded an app into RAM, it was spunky, but whenever it went to
> > > "disk" it was excruciatingly slow (yes, it was a wired connection). I
> > never
> > > bothered to profile where the bottleneck was and just put a disk in the
> > > machine for a local boot.
> > >
> > > I am not as familiar with systemd, but usually everything is setup by
> the
> > > initrd (which is loaded over the network via TFTP with the kernel)
> before
> > > loading the rest of the system. The initrd should get the networking
> > setup
> > > and prepare for mounting the root fs. Another option is to just pack
> the
> > > entire distro into the "initrd" and never pivotroot. I know some SBCs
> > used
> > > this tactic to "fastboot" - the initrd would be a cramfs that would
> > expand
> > > into RAM and the entire machine ran from RAM. You could further mount
> NFS
> > > or NAS from there.
> > >
> > > I agree with Daniel - probably not a single weekend project. But it
> could
> > > be a lot of fun and you'd learn a ton about the intricacies of booting
> > the
> > > kernel.
> > >
> > > On Fri, Dec 11, 2020 at 6:47 PM Dan Egli <[email protected]> wrote:
> > >
> > >> On 12/11/2020 3:01 PM, Daniel Fussell wrote:
> > >>> PXE booting is usually done to install a base image to a machine.  If
> > >>> you want to PXE boot and run diskless clients, you may have to
> shuffle
> > >>> some things into the initrd and change systemd service dependencies
> to
> > >>> start the network before mounting the root filesystem and chrooting
> to
> > >> it.
> > >>> As said before, to have a common filesystem/image with
> machine-specific
> > >>> customization (whether made by systemd, admin, or user) , you are
> going
> > >>> to have to get clever with overlayfs or some combination of small NFS
> > or
> > >>> local volumes mounted into the tree.  You will have to be careful
> that
> > >>> processes needing files in the customized mount areas are not run
> > before
> > >>> the overlay/mounts are ready, else the processes may continue to use
> > the
> > >>> open file descriptors from the original volume.
> > >>>
> > >> Who said anything about machine specific? I'm looking at the idea of
> > >> having 25-50 machines, identical hardware, identical software,
> identical
> > >> uses. Only difference between them would be 1) hostname, 2) ip and 3)
> > >> specific SET of data being processed.
> > >>
> > >> --
> > >> Dan Egli
> > >>   From my Test Server
> > >>
> > >>
> > >> /*
> > >> PLUG: http://plug.org, #utah on irc.freenode.net
> > >> Unsubscribe: http://plug.org/mailman/options/plug
> > >> Don't fear the penguin.
> > >> */
> > > /*
> > > PLUG: http://plug.org, #utah on irc.freenode.net
> > > Unsubscribe: http://plug.org/mailman/options/plug
> > > Don't fear the penguin.
> > > */
> >
> > --
> > Dan Egli
> >  From my Test Server
> >
> >
> > /*
> > PLUG: http://plug.org, #utah on irc.freenode.net
> > Unsubscribe: http://plug.org/mailman/options/plug
> > Don't fear the penguin.
> > */
> >
>
>
> --
> -`;'- Matthew Frederico
>
> /*
> PLUG: http://plug.org, #utah on irc.freenode.net
> Unsubscribe: http://plug.org/mailman/options/plug
> Don't fear the penguin.
> */
>

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to