@@ -14,6 +14,7 @@ Linux kernel sources can be downloaded from
14
14
.. code-block :: console
15
15
16
16
git clone https://github.com/MarvellEmbeddedProcessors/linux-marvell.git
17
+ cd linux-marvell
17
18
git checkout linux-6.1.x-release
18
19
19
20
Setting up the environment
@@ -148,7 +149,96 @@ Kernel boot parameters
148
149
Some important kernel boot parameters that need to be defined before booting the
149
150
kernel
150
151
152
+ ``vfio-pci.enable_sriov=1 `` to enable sriov support in userspace applications
153
+
154
+ ``rvu_af.kpu_profile=ovs_kpu_cnxk `` load profile to configure flow classifier HW for
155
+ extracting/parsingdifferent headers including tunnels. Required for OVS use cases only.
156
+
157
+ ``vfio_platform.reset_required=0 `` required only for virtio use case
158
+
151
159
.. code ::
152
160
153
- vfio-pci.enable_sriov=1
154
- rvu_af.kpu_profile=ovs_kpu_cnxk
161
+ Eg. booting rootfs from mmc card
162
+ setenv bootargs "console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=24 rootwait rw \
163
+ coherent_pool=16M root=/dev/mmcblk0p2 vfio-pci.enable_sriov=1 rvu_af.kpu_profile=ovs_kpu_cnxk"
164
+
165
+ Eg. booting rootfs from nfs
166
+ setenv bootargs "console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=24 rootwait rw \
167
+ coherent_pool=16M root=/dev/nfs nfsroot=<path_to_rootfs_hosted_on_nfs_server> \
168
+ vfio-pci.enable_sriov=1 rvu_af.kpu_profile=ovs_kpu_cnxk vfio_platform.reset_required=0"
169
+
170
+ Booting Kernel Image
171
+ ====================
172
+
173
+ * Boot the target platform and stop at u-boot prompt.
174
+
175
+ * Setting up board environment and TFTP server:
176
+
177
+ .. code-block :: console
178
+
179
+ # Set ethernet adaptor, some common adaptors are ax88179_eth or r8152_eth or e1000#0 or rvu_pf#4
180
+ # set ethact <ethernet adaptor>
181
+ Eg.
182
+ crb106-pcie> set ethact e1000#0
183
+
184
+ # Obtain dynamic IP using dhcp for the board or assign static IP
185
+ # setenv ipaddr <board IP>
186
+ Eg
187
+ crb106-pcie> dhcp
188
+ or
189
+ crb106-pcie> setenv ipaddr 10.28.35.116
190
+
191
+ # Set TFTP server IP
192
+ # setenv serverip <TFTP server IP>
193
+ Eg.
194
+ crb106-pcie> setenv serverip 10.28.35.121
195
+
196
+ # Verify the tftp server is reachable from the board.
197
+ # ping $serverip
198
+ Eg.
199
+ crb106-pcie> ping 10.28.35.121
200
+ Waiting for RPM1 LMAC0 link status... 10G_R [10G]
201
+ Using rvu_pf#1 device
202
+ host 10.28.35.121 is alive
203
+
204
+ * Load kernel image to DDR from the tftp server
205
+
206
+ .. code-block :: console
207
+
208
+ # tftpboot $loadaddr <Path to firmware image in TFTP server>
209
+
210
+ Eg.
211
+ crb106-pcie> tftpboot $loadaddr Image_dao
212
+ Waiting for RPM1 LMAC0 link status... 10G_R [10G]
213
+ Using rvu_pf#1 device
214
+ TFTP from server 10.28.34.13; our IP address is 10.28.35.115
215
+ Filename 'Image_dao'.
216
+ Load address: 0x20080000
217
+ Loading: ################################################## 40.6 MiB
218
+ 8.5 MiB/s
219
+ done
220
+ Bytes transferred = 42615296 (28a4200 hex)
221
+
222
+ * Booting the kernel
223
+
224
+ .. code-block :: console
225
+
226
+ # booti $loadaddr - $fdtcontroladdr
227
+
228
+ Eg.
229
+ crb106-pcie> booti $loadaddr - $fdtcontroladdr
230
+ Moving Image from 0x20080000 to 0x20200000, end=22bf0000
231
+ ## Flattened Device Tree blob at 9f3909b20
232
+ Booting using the fdt blob at 0x9f3909b20
233
+ Working FDT set to 9f3909b20
234
+ Loading Device Tree to 00000009f28e1000, end 00000009f2901264 ... OK
235
+ Working FDT set to 9f28e1000
236
+
237
+ Skip Switch micro-init option is set
238
+
239
+ Starting kernel ...
240
+
241
+ [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd490]
242
+ ...
243
+ <snip>
244
+ ...
0 commit comments