Added sample rpld.conf file to load gPXE
[rpld.git] / rpld.conf.sample
1 // A Sample rpld configuration file
2 /* 
3  * Note both c++ and c style comments are accepted
4  */
5
6 /* A host block for a Solaris(TM) client */
7 /* Note the order is reversed from Sun's rpld(1M) */ 
8 HOST
9 {
10         ethernet = 00:60:6e:33:4f:2c;    // This is the mac address of the client
11
12         FILE
13         {
14                 path = "/rplboot/10.93.43.2/inetboot";
15                 load = 0x8000;
16         };
17
18         FILE
19         {
20                 path = "/rplboot/10.93.43.2/glue.com";
21                 load = 0x35000;
22         };
23
24         FILE
25         {
26                 path = "/rplboot/10.93.43.2/hw.com";
27                 load = 0x45000;
28         };
29
30         execute = 0x35000;
31
32 // Framesize is the maximum frame size that rpld will use.
33 // this can be negociated down by the client. The default is 1500
34
35         framesize = 1500;
36
37 // Blocksize is the maximum size of data blocks sent to the
38 // client. Some clients ignore packets with blocksize not
39 // divisable by 4. The default is 1440. The client can
40 // also negociate this down. blocksize should be < (framesize-48)
41
42         blocksize = 1440;
43 };
44
45 /*
46  * A host block for a linux client 
47  * rpld is able to read and understand linux kernel images 
48  * and load them appropriately 
49  */
50
51 HOST
52 {
53         ethernet = 00:60:6e:36:f9:91;
54
55         FILE
56         {
57                 path = "/rplboot/tea/vmlinuz";
58                 linux;  //The linux directive sets the execute addr
59                         //But it can be overridden later
60         };
61 // NB: Some bootroms leave shared memory network cards initialized and
62 // spewing data over some poor innocent peice of memory (so that they
63 // can load a PXE stub or other horrors later, Intel has a bootrom API)
64 // In this case you need a small program to konk the network card firmly
65 // into the off state before you transfer control.
66
67 /*
68         FILE
69         {
70                 path = "/rplboot/tea/dmfix";
71                 load=0x92000;
72         };
73 // dmfix needs to execute first and then transfer control to the linux
74 // kernel at 0x90200
75
76         execute=0x92000;        
77 */
78
79 };
80
81
82 // The following example shows how to load memtest86, you could use
83 // the linux directive but this shows explicitly what happens
84
85
86 HOST {
87         ethernet = 08:00:02:32:1e:fc;
88
89         // Last step load the rest of the kernel starting
90         // at bootloader length + sector length=0xa00
91         // To 0x10000
92         FILE {
93                 path="/rplboot/memtest86.bin";
94                 offset=0xa00;
95                 load=0x10000;
96         };      
97
98         // Middle step, load the secondary boot loader at 0x90200
99         // The secondary boot loader is typically 4 512 byte blocks
100         // However in needn't be; the 497th byte of the kernel contains
101         // the size of the bootloader in 512 byte blocks. If zero then
102         // it is actually 0x800 (4 blocks)
103         FILE {
104                 path="/rplboot/memtest86.bin";
105                 offset=0x200;           
106                 length=0x800;
107                 load=0x90200;
108         };
109
110         // First step load the setup sector (not actually executed)
111         // but is used to determine file sizes.
112
113         FILE {
114                 path="/rplboot/memtest86.bin";
115                 length=0x200;   
116                 load=0x90000;
117         };
118
119         // Jump into the secondary boot loader
120         execute=0x90200;
121
122 };
123