Using rpld for linux to remote boot Novell RPL boot workstations.
1) | booting WS queries boot server |
2) | server replies with its data |
3) | Booting WS asks specific server - specifying the boot eprom's load data area, let's say: 0x0250 [kblocks] |
4) | Novell RPL server multiplies 0x0250 by 0x400 = 0x94000 and adds 0xFFFFE070 = 0x92070. This will be the load address and the execute address is offset +0 to it, so it will be the same. The the "result" (0x92070 for load and for execute address) is passed to the client which will load and execute the image for that address. |
tcpdump -xi eth0 >somefile
03:00:02:00:00:00
. This is the RPL functional/multicast address on Ethernet.C0:00:40:00:00:00
for Token-Ring and FDDI).23:41:16.622610 [BootingWorkstation's MAC] > 03:00:02:00:00:00 sap fc ui/C len=83 0x0000: fcfc 0300 5300 0100 0840 0300 0000 0000 ....S....@...... 0x0010: 1000 0800 0640 0905 ea00 0640 0a00 0100 .....@.....@.... 0x0020: 0a40 0600 00e8 d41f a200 0540 07fc 0028 .@.........@...( 0x0030: 0004 0024 c005 0800 fc01 0070 0000 4423 ...$.......p..D# 0x0040: 0251 0100 0000 0000 0000 5342 4e57 4d4c .Q........SBNWML 0x0050: 4944 IDTranslation: Hi, I'm a poor diskless workstation, is there anyone able to provide me RPL booting possibilities?
23:41:16.622757 [RPLD server's MAC] > [BootingWorkstation's MAC] sap fc ui/C len=58 0x0000: fcfc 0300 3a00 0200 0840 034e 6574 5700 ....:....@.NetW. 0x0010: 0540 0b00 000a 400c 0000 0000 0000 000a .@....@......... 0x0020: 4006 0008 5a23 9a58 0010 0008 0006 4009 @...Z#.X......@. 0x0030: 05ea 0006 400a 0001 0005 4007 fc ....@.....@..Translation: Hello fellow, I'm a (NetW) RPL server at your service. How may I help you?
23:41:17.539636 [BootingWorkstation's MAC] > [RPLD server's MAC] sap fc ui/C len=83 0x0000: fcfc 0300 5300 1000 0840 1100 0000 0000 ....S....@...... 0x0010: 1000 0800 0640 0905 ea00 0640 0a00 0100 .....@.....@.... 0x0020: 0a40 0600 00e8 d41f a200 0540 07fc 0028 .@.........@...( 0x0030: 0004 0024 c005 0800 fc01 0070 0000 4423 ...$.......p..D# 0x0040: 0251 0100 0000 0000 0000 5342 4e57 4d4c .Q........SBNWML 0x0050: 4944 IDTranslation: Gee, thanks! I'm an idiot and can't calculate what is the result of (0x0251 * 0x400) - 0x1F90. Can you help?
23:41:17.541078 [RPLD server's MAC] > [BootingWorkstation's MAC] sap fc ui/C len=1496 0x0000: fcfc 0305 d800 2000 0840 1100 0000 0000 .........@...... 0x0010: 0dc0 1400 0924 7000 0924 7030 05bf 4018 .....$p..$p0..@. 0x0020: fae9 961c 4e65 7477 2e52 704c 0505 c700 ....Netw.RpL.... 0x0030: 0000 0002 9000 5342 0504 0000 0000 0200 ......SB........ 0x0040: 0000 0000 ffff ffff ffff ffff ffff ffff ................ 0x0050: ffff ..Translation: Certainly, stupid one. That would be 0x00092470, I repeat 0x00092470...
- | on linux, using bc: echo "obase=16;
ibase=16; 251*400-1F90" | bc |
- |
on Windows, start calc, change to scientific mode, change to HEX mode, type: 251 * 400 - 1F90 = |
- | DOC: A.4.3 Dynamic Memory Allocation |
- | ZIP:/DLC/RIPL.INC SEND.FILE.REQUEST Frame Format Structure (see: packet 3) SFR_MemSize DB ?, ? ; Memory Size (see: red highlights, for example: 0x0250) File.Data.Response Frame Format Structure (see: packet 4) |
// The following example shows how to load the RBOOT.RPL for // a Novell NetWare RPL (not for the older RPL) booting card. // From then on, "standard" (old) RPL procedure follows, looking // for SYS:LOGIN/BOOTCONF.SYS and the appropriate boot file, or // SYS:LOGIN/NET$DOS.SYS if one is not specified for a MAC address. // // BOOTCONF.SYS can contain lines like: // 0x????????,000D873?????=VIA.SYS // 0x80230001,0000E8D41D5C=HUNET.SYS HOST { ethernet = 00:0d:87:38:14:b3; // Load RBOOT.RPL from the beginning to 0x8E070 FILE { path="/mnt/md2/sys/login/rboot.rpl"; offset=0x0; load=0x8E070; }; // Jump into the start execute=0x8E070; };
version - yyyy.mm.dd note... v1.00 - 2004.06.07 First version v1.01 - 2004.06.23 Beta NWFS.SYS download link v1.02 - 2004.07.02 Removed beta NWFS.SYS, added 49SP2 info v1.03 - 2005.02.08 Added 4.91 link v1.04 - 2005.09.20 Added 4.91SP1 links v1.05 - 2006.07.04 Added 4.91SP2 links, create "old links" section v1.05 - 2006.07.28 Added 4.91SP2 Full client link, remark "old links" section |