@@ -18,7 +18,7 @@ memory image to a dump file on the local disk, or across the network to
18
18
a remote system.
19
19
20
20
Kdump and kexec are currently supported on the x86, x86_64, ppc64, ia64,
21
- and s390x architectures.
21
+ s390x and arm architectures.
22
22
23
23
When the system kernel boots, it reserves a small section of memory for
24
24
the dump-capture kernel. This ensures that ongoing Direct Memory Access
@@ -112,7 +112,7 @@ There are two possible methods of using Kdump.
112
112
2) Or use the system kernel binary itself as dump-capture kernel and there is
113
113
no need to build a separate dump-capture kernel. This is possible
114
114
only with the architectures which support a relocatable kernel. As
115
- of today, i386, x86_64, ppc64 and ia64 architectures support relocatable
115
+ of today, i386, x86_64, ppc64, ia64 and arm architectures support relocatable
116
116
kernel.
117
117
118
118
Building a relocatable kernel is advantageous from the point of view that
@@ -241,6 +241,13 @@ Dump-capture kernel config options (Arch Dependent, ia64)
241
241
kernel will be aligned to 64Mb, so if the start address is not then
242
242
any space below the alignment point will be wasted.
243
243
244
+ Dump-capture kernel config options (Arch Dependent, arm)
245
+ ----------------------------------------------------------
246
+
247
+ - To use a relocatable kernel,
248
+ Enable "AUTO_ZRELADDR" support under "Boot" options:
249
+
250
+ AUTO_ZRELADDR=y
244
251
245
252
Extended crashkernel syntax
246
253
===========================
@@ -256,6 +263,10 @@ The syntax is:
256
263
crashkernel=<range1>:<size1>[,<range2>:<size2>,...][@offset]
257
264
range=start-[end]
258
265
266
+ Please note, on arm, the offset is required.
267
+ crashkernel=<range1>:<size1>[,<range2>:<size2>,...]@offset
268
+ range=start-[end]
269
+
259
270
'start' is inclusive and 'end' is exclusive.
260
271
261
272
For example:
@@ -296,6 +307,12 @@ Boot into System Kernel
296
307
on the memory consumption of the kdump system. In general this is not
297
308
dependent on the memory size of the production system.
298
309
310
+ On arm, use "crashkernel=Y@X". Note that the start address of the kernel
311
+ will be aligned to 128MiB (0x08000000), so if the start address is not then
312
+ any space below the alignment point may be overwritten by the dump-capture kernel,
313
+ which means it is possible that the vmcore is not that precise as expected.
314
+
315
+
299
316
Load the Dump-capture Kernel
300
317
============================
301
318
@@ -315,7 +332,8 @@ For ia64:
315
332
- Use vmlinux or vmlinuz.gz
316
333
For s390x:
317
334
- Use image or bzImage
318
-
335
+ For arm:
336
+ - Use zImage
319
337
320
338
If you are using a uncompressed vmlinux image then use following command
321
339
to load dump-capture kernel.
@@ -331,6 +349,15 @@ to load dump-capture kernel.
331
349
--initrd=<initrd-for-dump-capture-kernel> \
332
350
--append="root=<root-dev> <arch-specific-options>"
333
351
352
+ If you are using a compressed zImage, then use following command
353
+ to load dump-capture kernel.
354
+
355
+ kexec --type zImage -p <dump-capture-kernel-bzImage> \
356
+ --initrd=<initrd-for-dump-capture-kernel> \
357
+ --dtb=<dtb-for-dump-capture-kernel> \
358
+ --append="root=<root-dev> <arch-specific-options>"
359
+
360
+
334
361
Please note, that --args-linux does not need to be specified for ia64.
335
362
It is planned to make this a no-op on that architecture, but for now
336
363
it should be omitted
@@ -347,6 +374,9 @@ For ppc64:
347
374
For s390x:
348
375
"1 maxcpus=1 cgroup_disable=memory"
349
376
377
+ For arm:
378
+ "1 maxcpus=1 reset_devices"
379
+
350
380
Notes on loading the dump-capture kernel:
351
381
352
382
* By default, the ELF headers are stored in ELF64 format to support
0 commit comments