1 >#+TITLE: Driver delivery schema.
2 #+OPTIONS: H:3 num:t toc:t \n:t @:t ::t |:t ^:t -:t f:t *:t TeX:t LaTeX:nil skip:t d:nil tags:not-in-toc
7 |------+----------------+----------------|
11 |------+----------------+----------------|
12 | ACCS | lab oper oplhc | lab oper oplhc |
13 |------+----------------+----------------|
14 | KVER | 4.0.0 | 2.6.24.7-rt21 |
22 $(ACCS) == { lab, oper, oplhc }
23 $(CPU) == { ppc4, L864, L865 }
24 $(KVER) == { 4.0.0, 2.6.24.7-rt21, 2.6.24.7-rt27, 2.6.29.1-rt7,
25 2.6.29.4-rt15, 2.6.29.6-rt23 }
29 /acc/dsc/$(ACCS)/$(CPU)/$(KVER)/<DriverName>
31 which on FEC corresponds to
32 /usr/local/drivers/<DriverName>
35 /acc/dsc/$(ACCS)/$(CPU)/bin
37 which on FEC corresponds to
41 /acc/local/$(CPU)/lib/<DriverName>
43 which on FEC corresponds to
44 /usr/local/lib/<DriverName>
47 /acc/local/$(CPU)/include/<DriverName>
49 which on FEC corresponds to
50 /usr/local/include/<DriverName>
52 * General programs delivery
54 /acc/dsc/$(ACCS)/$(CPU)/bin/instprog
56 which on FEC corresponds to
57 /usr/local/bin/instprog
61 /acc/dsc/$(ACCS)/$(CPU)/bin/dgmod[inst/uninst]
63 which on FEC corresponds to
64 /usr/local/bin/dgmod[inst/uninst]
67 /acc/local/$(CPU)/lib/libdal.a
69 which on FEC corresponds to
70 /usr/local/lib/libdal.a
73 /acc/local/$(CPU)/include/dg
75 which on FEC corresponds to
81 -- Several CTR modules declared in the DB.
82 | Module | Driver | directory | Inst script |
83 |--------+--------+-----------+-------------|
85 | CTRI | CTRP | ctr | ctrinstall |
86 | CTRP | CTRP | ctr | ctrinstall |
87 | CTRV | CTRV | ctr | ctrvinstall |
90 /acc/dsc/lab/L865/2.6.24.7-rt27/{ctrp, ctrv}
93 /acc/dsc/lab/L865/2.6.24.7-rt27/ctr/{ctrinstall, ctrvinstall}
96 /usr/local/drivers/ctr/{ctrinstall, ctrvinstall}
98 With the new installation schema, {ctrinstall && ctrvinstall} will
99 host a script to descend into the
100 /usr/local/drivers/{ctrp, ctrv}
101 and call instprog (from /usr/bin) with the parameters:
102 instprog -sCTRV -nctr <-- for CTRV
103 instprog -sCTRP -nctr <-- for CTRP
106 Several command line options can be provided in the command line during
107 compilation. These are:
108 -- CPU {L864, L865, ppc4}
109 -- KVER All supported FEC kernels are in /acc/sys/$(CPU)/usr/src/kernels
110 and (if you want to compile for local SLC5 machine) are in
112 -- KSRC {/acc/sys/$(CPU)/usr/src/kernels, /usr/src/kernels}
114 Note, that if you are compiling for FEC -- KSRC should __not__ be provided
115 in the make command line parameters.
117 If you are compiling for the local machine -- KSRC __should__ be provided
119 I.e. /usr/src/kernels is not a standard kernel path, while
120 /acc/sys/$(CPU)/usr/src/kernels is a standard kernel path for FEC kernels.
122 To compile the driver -- cdcm and library (if used )should be compiled first
125 2. make (provide CPU, KVER, KSRC if needed)
126 It will build you CDCM && "library" (in cdcm/utils/driver)
128 Then compile your driver:
130 2. make (provide CPU, KVER, KSRC if needed)
131 To compile for SLC4 -- you should be on the SLC4 machine.
132 Won't work from SLC5!
134 ** CTR compilation for local kernel Example:
135 Let's compile CTRP for local SLC5 machine.
136 One should provide KVER of the current machine `uname -r`
137 Kernel src files can be found in [/usr/src/kernels]
139 So we should set KVER=2.6.18-164.el5 and KSRC=/usr/src/kernels
140 Now we should compile driver utils library (which is in cdcm/utils/driver)
143 -> make utils CPU=L865 KSRC=/usr/src/kernels KVER=2.6.18-164.el5
146 -> cd coht/ctr/driver_pci
147 -> make CPU=L865 KSRC=/usr/src/kernels KVER=2.6.18-164.el5
150 -> make deliver lab CPU=L865 KSRC=/usr/src/kernels KVER=2.6.18-164.el5