RPLD(8)
π RPLD(8) β the system manager's manual, but make it cute π
okay bestie, so this is rpld, section 8 of the system manager's manual. it's an RPL/RIPL remote boot server and honestly? it's giving vintage network magic. let's get into it π«Ά
β¨ NAME β¨
rpld β an RPL/RIPL remote boot server πΈ
β¨ SYNOPSIS β¨
rpld [-f] [-C configfile] [-i iface] [-s sap] [-h]
that's it. that's the whole vibe check. π
π¨ WARRANTY π¨
okay so not me having to be the one to tell you this but:
rpld DOES NOT come with ANY WARRANTY, NOT even an IMPLIED WARRANTY. π
like, fr fr. zero warranty. none. not even the implied kind. i'm just the messenger bestie π
β¨ OPTIONS β¨
every single flag, no skips, we're thorough in this house π
-fβ this flag makesrpldrun in the foreground instead of forking off and running as a daemon. main character energy, refuses to go in the background β¨-Cconfigfile β makesrpldread configfile instead of the default configuration file. you get to pick your own config, custom era π-iiface β makesrpldbind to network interface iface instead of the default one. important caveat incoming: because of the limitations of the LLC 802.2 protocol,rpldcan only bind to one interface. monogamous interface behavior, no cap π¦-ssap β changes the SAP number thatrpldbinds to. the IBM standard says this should be0xf8but most network cards seem to use0xfcand some even use0xf4. you can specify the sap as either a hex number with a leading0xor a decimal one. and hmm, bestie, listen β beware of specifying a SAP number which is used for system control packets on a machine with native llc support. that's a real one, don't do that π-hβ makesrpldprint a brief help message. the little "hi, here's the deal" moment π
π DESCRIPTION π
okay so here's the whole plot. rpld will net-boot IBM style RPL boot ROMs. π₯Ύ
communication between the client and the server is done in LLC-1 ui/C frames with the source and destination SAP both being 0xfc. iconic pairing, honestly.
here's the timeline of the whole boot-up situationship:
- on booting, the client transmits a FIND frame containing the client's MAC address, adapter type and frame length.
- the server replies with a FOUND frame containing the server's MAC address and a possibly smaller frame length.
- the client issues a SEND.FILE.REQUEST frame requesting the first block of the boot file.
- the server then issues a sequence of FILE.DATA.RESPONSE frames with increasing block numbers. these frames contain a load address, an execute address and a flag.
- if the client fails to receive a
FILE.DATA.RESPONSEframe within a certain period, it sends anotherSEND.FILE.REQUESTframe requesting the block which follows the last block that was successfully received. retry era, we love resilience πͺ - on the last
FILE.DATA.RESPONSEframe the server sets a special value of the flags which cause the client to transfer execution to the execute address specified in the frame. and that's the finale, curtains, slay π¬
so how does the server actually start up? rpld starts by reading the configuration file in /etc/rpld.conf β see rpld.conf(5). after the configuration file has been read, it opens the system's default network interface and listens for RPL frames. πβ¨
and a lil detail you do NOT wanna miss: the server recalculates the length of all the files to be downloaded every time it receives a SEND.FILE.REQUEST frame. every single time. dedicated. obsessed. π₯
π BUGS π
bestie. i need you to know that i am not the one who did this. the original text is literally, character-for-character, this:
Wheneconcurrentlyoservingpmultipleaclientsorplduwillochoose.theapacingy.
rpldineedshtonmeetdmoresnetworkladapters.ified in bits not bytes.
i am passing it along exactly as it was handed to me because i refuse to be the girl who drops a detail. someone's keyboard had a moment. we respect the artifact π
π NOTES π
- IBM is a trademark of IBM Corp. (legal girlies stay winning βοΈ)
- and the makefile in the distribution for more information.
π FILES π
/usr/sbin/rpldβ the main character itself π/etc/rpld.confβ the config, the lore π/rplbootβ the boot files live here π₯Ύ
π SEE ALSO π
rpld.conf(5)bootpd(1)dhcpd(1)http://gimel.esc.cam.ac.uk/james/rpld;
go read those too, iykyk π
π«Ά AUTHORS AND COPYRIGHT π«Ά
(c) 1999,2000 James McKenzie, and Christopher Lightfoot. All rights reserved.
absolute legends, we thank them for their service πΈπ
this little masterpiece is from the Linux distribution, version dated Jun 16, 2000, and it lives in section RPLD(8) of the manual. that's the whole page bestie, you ate it up, periodt πβ¨π
π¦ where this page comes from
- fedora 43: rpld 1.8-0.44.beta1.fc41 Β· GPL-1.0-or-later
- fedora 44: rpld 1.8-0.44.beta1.fc41 Β· GPL-1.0-or-later
- Copyright (c) 1999,2000, James McKenzie
- Copyright (c) 1998,2000, Christopher Lightfoot
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms