klowner / fuse_pxebootfs Goto Github PK
View Code? Open in Web Editor NEWA FUSE filesystem which serves up dynamically generated pxelinux config files and triggers auto-creation of new AUFS/UnionFS mounts, then shares them via NFS
A FUSE filesystem which serves up dynamically generated pxelinux config files and triggers auto-creation of new AUFS/UnionFS mounts, then shares them via NFS
---------------- .fuse_pxebootfs. ---------------- EXAMPLE USAGE: The easiest way to explain how this thing works is probably to present an example setup which you can modify to suit your needs. See the pxebootfs.cfg and pxelinux.cfg.template files for examples. They are currently set up to be fully operational with the following assumptions. - Your PXE nfsroot is located at /netboot/root - Your NFS server will be serving each PXE client from /netboot/node/<NODE> - The server will store all client file modifications in /netboot/overlay/<NODE> - pxelinux.cfg.template specifies nfsroot=/netboot/node/<NODE> note: "<NODE>" is replaced by the hexadecimal representation of the PXE client's IP address. eg. 'C0A80102' = '192.168.1.2' when tftpd reads the config data from pxebootfs. To clarify: *ACTUALLY* put '<NODE>' in the PXE config. - fuse_pxebootfs probably needs to be run as root, since it needs to mount new AUFS filesystems and export them through NFS via exportfs. - Mount pxebootfs onto the pxelinux.cfg directory in your tftpd's root. In the example configuration file, we use /var/lib/tftpd/pxelinux.cfg pxebootfs.cfg example [PXEBOOTFS] pxe_template: /var/lib/tftpd/pxelinux.cfg.template node_dir: /netboot/node root_dir: /netboot/root overlay_dir: /netboot/overlay start_fsid: 10000 CONFIGURATION: - pxe_template example: pxe_template: /var/lib/tftpd/pxelinux.cfg.template The filepath to your pxelinux.cfg file. The nfsroot= entry should be something like: nfsroot=SERVERIP:/netboot/node/<NODE> Where /netboot/node is also pointed to by the node_dir config option. - node_dir example: node_dir: /netboot/node This is the directory where new pxe client nodes will be built and shared via NFS. This directly needs to be writable by the FUSE filesystem. - root_dir example: root_dir: /netboot/root Path to the root filesystem which will be used as the read-only portion of the client's new nfsroot construction. This can be read-only, because client writes will be directed to the overlay_dir aufs branch (explained next). - overlay_dir example: overlay_dir: /netboot/overlay New a directory is created in the overlay_dir for each PXE client. All PXE client filesystem modifications will be stored in their respesctive overlay directories. - start_fsid example: start_fsid: 10000 Any big integer, exportfs uses this for the fsid option. The value is incremented with each export.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.