Using rpld for linux to remote boot Novell RPL boot workstations.
rpld CAN remote boot Novell RPL workstations, but currently you have to calculate
the image load and execute address (depending on the boot rom) to use it.
 
Some more technical info on this:
 
 
1st packet, request from booting workstation to ethernet broadcast address (030002000000)
 
VIA Rhino
DLC: Dest Address: 030002000000
DLC: Src Address: remote WS (000D873814B3)
DLC: Type: 802.2 Length = (0056)
LLC: SSAP DSAP: RPL (FCFC)
LLC: Control: UI (03)
[83 bytes of data]
──────────────────────────────── Hex Decode ─────────────────────────────
0000:  03 00 02 00 00 00 00 0D - 87 38 14 B3 00 56 FC FC | .........8...V..
0010:  03 00 53 00 01 00 08 40 - 03 00 00 00 00 00 10 00 | ..S....@........
0020:  08 00 06 40 09 05 EA 00 - 06 40 0A 00 01 00 0A 40 | ...@.....@.....@
0030:  06 00 0D 87 38 14 B3 00 - 05 40 07 FC 00 28 00 04 | ....8....@...(..
0040:  00 24 C0 05 08 00 FC 01 - 00 74 00 00 42 23 02 40 | .$.......t..B#.@
0050:  01 00 00 00 00 00 00 00 - 53 42 46 45 54 4F 44 49 | ........SBFETODI
0060:  00 00 00 00 | ....
Realtek 819x
DLC: Dest Address: 030002000000
DLC: Src Address: remote WS2 (000EA678F29E)
DLC: Type: 802.2 Length = (0056)
LLC: SSAP DSAP: RPL (FCFC)
LLC: Control: UI (03)
[83 bytes of data]
──────────────────────────────── Hex Decode ─────────────────────────────
0000:  03 00 02 00 00 00 00 0E - A6 78 F2 9E 00 56 FC FC | .........x...V..
0010:  03 00 53 00 01 00 08 40 - 03 00 00 00 00 00 10 00 | ..S....@........
0020:  08 00 06 40 09 05 EA 00 - 06 40 0A 00 01 00 0A 40 | ...@.....@.....@
0030:  06 00 0E A6 78 F2 9E 00 - 05 40 07 FC 00 28 00 04 | ....x....@...(..
0040:  00 24 C0 05 08 00 FC 01 - 00 70 00 00 44 23 02 39 | .$.......p..D#.9
0050:  03 10 00 00 00 00 00 00 - 53 42 52 54 53 4F 44 49 | ........SBRTSODI
0060:  00 00 00 00 | ....
NE2000 (Accton LANStation 486)
DLC: Dest Address: 030002000000
DLC: Src Address: 0000E8D41FA2
DLC: Type: 802.2 Length = (0056)
LLC: SSAP DSAP: RPL (FCFC)
LLC: Control: UI (03)
[83 bytes of data]
──────────────────────────────── Hex Decode ─────────────────────────────
0000:  03 00 02 00 00 00 00 00 - E8 D4 1F A2 00 56 FC FC | .............V..
0010:  03 00 53 00 01 00 08 40 - 03 00 00 00 00 00 10 00 | ..S....@........
0020:  08 00 06 40 09 05 EA 00 - 06 40 0A 00 01 00 0A 40 | ...@.....@.....@
0030:  06 00 00 E8 D4 1F A2 00 - 05 40 07 FC 00 28 00 04 | .........@...(..
0040:  00 24 C0 05 08 00 FC 01 - 00 70 00 00 44 23 02 50 | .$.......p..D#.P
0050:  01 00 00 00 00 00 00 00 - 53 42 4E 57 4D 4C 49 44 | ........SBNWMLID
0060:  00 00 00 00 | ....
2nd packet, reply from RPL server to booting WS - (irrelevant)
3rd packet, request from booting workstation to specified RPL server
VIA Rhino
DLC: Dest Address: 00B086635A36
DLC: Src Address: remote WS (000D873814B3)
DLC: Type: 802.2 Length = (0056)
LLC: SSAP DSAP: RPL (FCFC)
LLC: Control: UI (03)
[83 bytes of data]
──────────────────────────────── Hex Decode ─────────────────────────────
0000:  00 B0 86 63 5A 36 00 0D - 87 38 14 B3 00 56 FC FC | ...cZ6...8...V..
0010:  03 00 53 00 10 00 08 40 - 11 00 00 00 00 00 10 00 | ..S....@........
0020:  08 00 06 40 09 05 DC 00 - 06 40 0A 00 01 00 0A 40 | ...@.....@.....@
0030:  06 00 0D 87 38 14 B3 00 - 05 40 07 FC 00 28 00 04 | ....8....@...(..
0040:  00 24 C0 05 08 00 FC 01 - 00 74 00 00 42 23 02 40 | .$.......t..B#.@
0050:  01 00 00 00 00 00 00 00 - 53 42 46 45 54 4F 44 49 | ........SBFETODI
0060:  00 00 00 00 | ....
Realtek 819x
DLC: Dest Address: 030002000000
DLC: Src Address: remote WS2 (000EA678F29E)
DLC: Type: 802.2 Length = (0056)
LLC: SSAP DSAP: RPL (FCFC)
LLC: Control: UI (03)
[83 bytes of data]
──────────────────────────────── Hex Decode ─────────────────────────────
0000:  03 00 02 00 00 00 00 0E - A6 78 F2 9E 00 56 FC FC | .........x...V..
0010:  03 00 53 00 10 00 08 40 - 11 00 00 00 00 00 10 00 | ..S....@........
0020:  08 00 06 40 09 05 DC 00 - 06 40 0A 00 01 00 0A 40 | ...@.....@.....@
0030:  06 00 0E A6 78 F2 9E 00 - 05 40 07 FC 00 28 00 04 | ....x....@...(..
0040:  00 24 C0 05 08 00 FC 01 - 00 70 00 00 44 23 02 39 | .$.......p..D#.9
0050:  03 10 00 00 00 00 00 00 - 53 42 52 54 53 4F 44 49 | ........SBRTSODI
0060:  00 00 00 00 | ....
NE2000 (Accton LANStation 486)
DLC: Dest Address: Hunetwork10 (00105AC4591A)
DLC: Src Address: 0000E8D41FA2
DLC: Type: 802.2 Length = (0056)
LLC: SSAP DSAP: RPL (FCFC)
LLC: Control: UI (03)
[83 bytes of data]
──────────────────────────────── Hex Decode ─────────────────────────────
0000:  00 10 5A C4 59 1A 00 00 - E8 D4 1F A2 00 56 FC FC | ..Z.Y........V..
0010:  03 00 53 00 10 00 08 40 - 11 00 00 00 00 00 10 00 | ..S....@........
0020:  08 00 06 40 09 05 EA 00 - 06 40 0A 00 01 00 0A 40 | ...@.....@.....@
0030:  06 00 00 E8 D4 1F A2 00 - 05 40 07 FC 00 28 00 04 | .........@...(..
0040:  00 24 C0 05 08 00 FC 01 - 00 70 00 00 44 23 02 50 | .$.......p..D#.P
0050:  01 00 00 00 00 00 00 00 - 53 42 4E 57 4D 4C 49 44 | ........SBNWMLID
0060:  00 00 00 00 | ....
4th packet, reply ro specific request from RPL server, containing the load and execute addresses
VIA Rhino
DLC: Dest Address: remote WS (000D873814B3)
DLC: Src Address: MARS NWE (000D61C65A6C)
DLC: Type: 802.2 Length = (05C0)
LLC: SSAP DSAP: RPL (FCFC)
LLC: Control: UI (03)
[1469 bytes of data]
──────────────────────────────── Hex Decode ─────────────────────────────
0000:  00 0D 87 38 14 B3 00 0D - 61 C6 5A 6C 05 C0 FC FC | ...8....a.Zl....
0010:  03 05 BD 00 20 00 08 40 - 11 00 00 00 00 00 0D C0 | .... ..@........
0020:  14 00 08 E0 70 00 08 E0 - 70 20 05 A4 40 18 FA E9 | ....p...p ..@...
0030:  96 1C 4E 65 74 77 2E 52 - 70 4C 05 05 C7 00 FF FF | ..Netw.RpL......
0040:  00 02 90 00 00 00 00 04 - C2 70 C2 70 00 00 C2 70 | .........p.p...p
0050:  FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0060:  FF FF FF FF FF FF FF FF FF FF FF FF 14 02 00 00 | ................
0070:  59 00 00 7C 00 00 00 00 00 00 00 00 00 22 22 00 | Y..|........."".
Realtek 819x
DLC: Dest Address: remote WS2 (000EA678F29E)
DLC: Src Address: MARS2 (000D61C5F228)
DLC: Type: 802.2 Length = (05C0)
LLC: SSAP DSAP: RPL (FCFC)
LLC: Control: UI (03)
[1469 bytes of data]
──────────────────────────────── Hex Decode ─────────────────────────────
0000:  00 0E A6 78 F2 9E 00 0D - 61 C5 F2 28 05 C0 FC FC | ...x....a..(....
0010:  03 05 BD 00 20 00 08 40 - 11 00 00 00 00 00 0D C0 | .... ..@........
0020:  14 00 08 C4 70 00 08 C4 - 70 20 05 A4 40 18 FA E9 | ....p...p ..@...
0030:  96 1C 4E 65 74 77 2E 52 - 70 4C 05 05 C7 00 FF FF | ..Netw.RpL......
0040:  00 02 90 00 00 00 00 04 - C2 70 C2 70 00 00 C2 70 | .........p.p...p
0050:  FF FF FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0060:  FF FF FF FF FF FF FF FF FF FF FF FF 14 02 00 00 | ................
0070:  59 00 00 7C 00 00 00 00 00 00 00 00 00 22 22 00 | Y..|........."".
NE2000 (Accton LANStation 486)
DLC: Dest Address: 0000E8D41FA2
DLC: Src Address: Hunetwork10 (00105AC4591A)
DLC: Type: 802.2 Length = (05DB)
LLC: SSAP DSAP: RPL (FCFC)
LLC: Control: UI (03)
[1496 bytes of data]
──────────────────────────────── Hex Decode ─────────────────────────────
0000:  00 00 E8 D4 1F A2 00 10 - 5A C4 59 1A 05 DB FC FC | ........Z.Y.....
0010:  03 05 D8 00 20 00 08 40 - 11 00 00 00 00 00 0D C0 | .... ..@........
0020:  14 00 09 20 70 00 09 20 - 70 30 05 BF 40 18 FA E9 | ... p.. p0..@...
0030:  96 1C 4E 65 74 77 2E 52 - 70 4C 05 05 C7 00 00 00 | ..Netw.RpL......
0040:  00 02 90 00 53 42 05 04 - 00 00 00 00 02 00 00 00 | ....SB..........
0050:  00 00 FF FF FF FF FF FF - FF FF FF FF FF FF FF FF | ................
0060:  FF FF FF FF FF FF FF FF FF FF FF FF 14 02 00 00 | ................
0070:  59 00 00 7C 00 00 00 00 00 00 00 00 00 22 22 00 | Y..|........."".
To calculate the load and execute (same) addresses, we have to use the following formula:
signed FFFFFFE070 (-8080 decimal) + returned byte * 0x400 hex (1K, 1024 decimal)
Some samples:
returned byte: load/exec address:
240 8E070
239 8C470
250 92070
0 FFFFFFE070
1 FFFFFFE470
2 FFFFFFE870
7 FFFFFFFC70
8 70
9 470
A 870
100 3E070
200 7E070
300 BE070
A00 27E070
1000 3FE070
4000 FFE070
An excel formula to calc this: =DEC2HEX((HEX2DEC( ReturnedByteInHex )*1024)-8080)
So if the captured packet of your booting workstation sends "200" in the
requesting packet, you have to set RPLD.CONF as follows:
HOST {
ethernet = 00:0d:87:38:14:b3;
// Load RBOOT.RPL from the beginning to load address
FILE {
path="/mnt/md2/sys/login/rboot.rpl";
offset=0x0;
load=0x7E070;
};
// Jump into the start
execute=0x7E070;
};
Of course the best would be that RPLD would do this math - as Novell's
RPL server does -, instead of this manual action...