Compare commits

...
Sign in to create a new pull request.

788 commits

Author SHA1 Message Date
Packit
ec2fbe250b Update to 2.0.32 upstream release
- Resolves: rhbz#2404365

Upstream tag: v2.0.32
Upstream commit: 15d78e57

Commit authored by Packit automation (https://packit.dev/)
2025-10-16 08:59:41 +00:00
Fedora Release Engineering
9de58b57c9 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 18:23:42 +00:00
Coiby Xu
725e6be894 Release 2.0.31-2
Signed-off-by: Coiby Xu <coxu@redhat.com>
2025-05-21 12:10:59 +08:00
Pingfan Liu
58ea13cd4b
Add BuildRequires libzstd-devel
If a buildroot enviornment does not provide libzstd and kexec_file_load a
zstd compressed kernel, it will suffer from coredump.

The following is observed from the coredump

    Core was generated by `/sbin/kexec -s -p --command-line=BOOT_IMAGE=\(hd0,gpt2\)/vmlinuz-6.15.0-0.rc5.250509g9c69f8884904.47.fc43.aarch64\ ro\ rootflags=subvol=root\ irqpoll\ nr_cpus=1\ reset_devices\ cgroup_disable=memory\ udev.children-max=2\ panic=10\ swiotlb=noforce\ novmcoredd\ cma=0\ hugetlb_cma=0\ sbsa_gwdt.pretimeout=0 --initrd=/boot/initramfs-6.15.0-0.rc5.250509g9c69f8884904.47.fc43.aarch64kdump.img /boot/vmlinuz-6.15.0-0.rc5.250509g9c69f8884904.47.fc43.aarch64'.
    Program terminated with signal SIGSEGV, Segmentation fault.
    143             if (!!memcmp(buf, "PE\0\0", 4)) {
    (gdb)

Besides providing some C code to fix the segfault issue in upstream.
There should be explicit requirement in the spec to ask the buildroot
enviorment to provide libzstd. So it can work with the zstd compressed
linux kernel.

With this patch, the following can be observed in the configuration
process of kexec-tools
	,,,
	checking for zstd.h... yes
	checking for ZSTD_decompress in -lzstd... yes
	,,,

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Lichen Liu <lichliu@redhat.com>
2025-05-21 10:43:15 +08:00
Coiby Xu
4c7819a6e7 Merge #40 Update rawhide to upstream release 2.0.31 2025-04-23 01:27:26 +00:00
Coiby Xu
25c93a31fd Also allow all users with commit access to the repo to create a build
Follow [1][2] to allow all users with commit access to the dist-git repo
to create a koji build and a Bodhi update.

[1] https://packit.dev/docs/configuration/downstream/koji_build#optional-parameters
[2] https://packit.dev/docs/configuration/downstream/bodhi_update#optional-parameters

Signed-off-by: Coiby Xu <coxu@redhat.com>
2025-04-22 17:59:31 +08:00
Packit
e514d0f7e1 Update to 2.0.31 upstream release
- Resolves: rhbz#2359477

Upstream tag: v2.0.31
Upstream commit: d0d0a599

Commit authored by Packit automation (https://packit.dev/)
2025-04-22 09:47:34 +00:00
Fedora Release Engineering
057212f0be Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 08:38:33 +00:00
Zbigniew Jędrzejewski-Szmek
768af19c31 Rebuilt for the bin-sbin merge (2nd attempt)
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
2025-01-12 14:32:29 +01:00
Coiby Xu
cfb51fe894 Disable packit-stg
Currently both production and staging deployments of Packit are enabled
and both of them will create pull requests when there is a new upstream
release. So disable packit-stg to avoid creating duplicate PRs.

Signed-off-by: Coiby Xu <coiby.xu@gmail.com>
2024-12-03 08:55:55 +08:00
Packit
bc6c854686 Update to 2.0.30 upstream release
- Resolves: rhbz#2326470

Upstream tag: v2.0.30
Upstream commit: 2c8ca052

Commit authored by Packit automation (https://packit.dev/)
2024-12-02 13:22:02 +00:00
Coiby Xu
23e0e44579 Update to 2.0.29 upstream release
- Resolves: 2297928

Upstream tag: v2.0.29
Upstream commit: 5b76649e

Commit authored by Packit automation (https://packit.dev/)

Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-08-06 17:32:04 +08:00
Coiby Xu
2e200421b1 SPEC file cleanups
- stop mkdir'ing kcp as kcp.c has been gone long time ago
- use autosetup to automatically apply patches
- clean up SOURCE file

Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-08-05 16:55:53 +08:00
Fedora Release Engineering
9d472a6793 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 11:39:44 +00:00
Zbigniew Jędrzejewski-Szmek
542f9c90ad Rebuilt for the bin-sbin merge (again)
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
2024-07-13 09:28:19 +02:00
Coiby Xu
ed5f7a5df5 Release 2.0.28-12
Re-add missing build dependencies.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2024-07-11 11:33:22 +08:00
Coiby Xu
9ade09f00f Add build dependencies on needed libraries
Resolves: https://github.com/rhkdump/kdump-utils/issues/22

As found by Dave, built kexec-tools wasn't linked to libraries like
libz.so.1,
    # ldd /sbin/kexec
    linux-vdso.so.1 (0x0000ffff8cfa1000)
    libc.so.6 => /lib64/libc.so.6 (0x0000ffff8cd10000)
    /lib/ld-linux-aarch64.so.1 (0x0000ffff8cf54000)

As a consequence, kexec fails to load the aarch64 kernel.

Previous version of /sbin/kexec is linked to liblzma.so and
libz.so,
    # ldd /sbin/kexec
    linux-vdso.so.1 (0x00007f28d392c000)
    liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f28d37e7000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f28d37c6000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f28d35d4000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f28d392e000)

So add build dependencies on those needed libraries.

Fixes: 28ced79 ("Split out kdump-utils and makedumpfile")
Reported-by: Jean Baptiste Trystram <jbtrystram@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2024-07-11 11:31:36 +08:00
Zbigniew Jędrzejewski-Szmek
6ffaa95fe0 Rebuilt for the bin-sbin merge
https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin
2024-07-09 13:27:42 +02:00
Coiby Xu
de0600ec04 rm makedumpfile.spec kdump-utils.spec
Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-06-24 09:30:23 +08:00
Coiby Xu
318c6e61a6 kdump-utils: no debuginfo for this package
Fix the follow mockbuild error,
    Processing files: kdump-utils-debugsource-1.0.42-10.fc41.x86_64
    RPM build errors:
    error: Empty %files file /builddir/build/BUILD/kdump-utils-1.0.42-build/kdump-utils-1.0.42/debugsourcefiles.list
        Empty %files file /builddir/build/BUILD/kdump-utils-1.0.42-build/kdump-utils-1.0.42/debugsourcefiles.list

Suggested-by: Lichen Liu <lichliu@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Lichen Liu <lichliu@redhat.com>
2024-06-24 09:29:48 +08:00
Coiby Xu
8a8882c3b8 kdump-utils: Remove LGPL-2.1-or-later
As suggested by Richard [1],
> Given the trivial nature of these files I think `LGPL-2.1-or-later` can be omitted from the license tag.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2239566#c7

Suggested-by: Richard Fontana <rfontana@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Lichen Liu <lichliu@redhat.com>
2024-06-24 09:29:48 +08:00
Coiby Xu
28ced791b4 Split out kdump-utils and makedumpfile
Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-05-09 13:40:22 +08:00
Coiby Xu
6902d149d3 Update to makedumpfile-1.7.5
Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-04-25 12:50:42 +08:00
Zbigniew Jędrzejewski-Szmek
e3a1eb06ac Fix build when %_bindir==%_sbindir
Preparation for https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin.
2024-04-14 19:36:08 +02:00
Coiby Xu
5be9c9af09 Use upstream source
Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
b3620b0dbc makedumpfile: remove explicit-lib-dependency zlib
Fix the following error found by rpmlint,
    makedumpfile.x86_64: E: explicit-lib-dependency zlib
    You must let rpm find the library dependencies by itself. Do not put unneeded
    explicit Requires: tags.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
2ed88633ad kexec-tools: use make_install
use consistent build flags  %make_install to have the benefits like
enabling parallel building automatically.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
a5c17afe7e Fix potential-bashisms in monitor_dd_progress
As suggested by Carl [1],
> /usr/lib/dracut/modules.d/99kdumpbase/monitor_dd_progress has some
> inconsistencies with other scripts in that directory.  It is missing the
> .sh extension and is not executable.  The latter is resulting in an
> rpmlint error.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2239566#c2

Suggested-by: Carl George <carl@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
fe372afddd Upstream kdump-utils
This patch upstreams the to-be-split-out kdump-utils to
https://github.com/rhkdump/kdump-utils. And it also simplify the .spec
file by putting the installation logic into a Makefile.

Cc: Philipp Rudo <prudo@redhat.com>
Cc: Carl George <carl@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
3fa5df9a68 Add URL for kexec-tools and kump-utils
Suggested-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
f7bd239656 makedumpfile: re-use source Makefile's install logic
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
a442b4e512 Remove unused scriptlets
Suggested-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
c7683d8aab Don't disrupt current kdump users
Majority of current kexec-tools users have installed kexec-tools out of
the need for the kdump feature. To ensure a smooth transition, add
kdump-utils as weak dependency. If users only want to use kexec-tools,
they can uninstall kdump-utils.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Suggested-by: Carl George <carl@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
5fe098fec8 Don't systemctl preset kdump when updating kexec-tools to kdump-utils
When an old version of kexec-tools gets replaced by kdump-utils,
"%systemd_post" will be executed in the post scriptlet which has the
purpose to "systemctl preset kdump" for freshly installed kexec-tools.
But in the case of kdump-utils replacing kexec-tools, it is not needed
so skip this case.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Suggested-by: Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:07 +08:00
Coiby Xu
372b4c6c15 Add kdump-utils subpackage
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2024-04-13 10:04:05 +08:00
Coiby Xu
20dc67f0ea Release 2.0.26-7
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2269991

Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-04-07 16:28:02 +08:00
Coiby Xu
858de28447 doc/kdump.conf: properly format list
man files doesn't preserve line breaks. Construct a list to list the
cases where additional memory will be reserved.

Fixes: c752cbb2 ("Explain the auto_reset_crashkernel option in more details")
Reported-by: Jie Li <jieli@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2024-03-20 16:08:13 +08:00
Coiby Xu
d6e1edc677 doc/kdump.conf: correctly align the options
Currently, the other options like "raw <partition>" become child items
of the auto_reset_crashkernel option,

       auto_reset_crashkernel <yes|no>
              ...

              raw <partition>
                     ...

              nfs <nfs mount>
                     ...
              ...

Fix it by ending the auto_reset_crashkernel with ".RE".

Fixes: 73ced7f4 ("introduce the auto_reset_crashkernel option to kdump.conf")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2024-03-20 16:08:13 +08:00
Sourabh Jain
44a1b7da90 ppc64le: replace kernel cmdline maxcpu=1 with nr_cpus=1
With patch series [1], PowerPC supports nr_cpus=1,
so use nr_cpus=1 instead of maxcpu=1 in the kdump environment.

Note this changes is dependent on kernel changes [1]

[1] https://lore.kernel.org/all/170800202447.601034.7290612623478478380.b4-ty@ellerman.id.au/#t

Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Cc: Hari Bathini <hbathini@linux.ibm.com>
Cc: Mahesh Salgaonkar <mahesh@linux.ibm.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2024-03-20 15:42:37 +08:00
Philipp Rudo
d2b6547f55 Supported targets: Merge hypervisor sections
The supported targets list has two separate hypervisor sections. Merge
them into one.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2024-03-20 14:51:26 +08:00
Philipp Rudo
b6a066db53 Supported targets: Import from CentOS Stream 9
In CentOS Stream a list of supported targets is maintained. Where
"supported" means that these targets are tested regularly. Even though
there are some small differences between CentOS Stream and Fedora when
it comes to provided/supported packages and kernel configs, having this
list in Fedora as well makes sense. As it provides a entry point for
users to find out if a given setup is meant to work or not. Thus include
the supported-kdump-targets.txt from CentOS Stream 9 [1] into Fedora.

[1] 0a09d12d89/supported-kdump-targets.txt

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2024-03-20 14:51:26 +08:00
Coiby Xu
f9986edd25 Release 2.0.28-6
Resovles: https://bugzilla.redhat.com/show_bug.cgi?id=2269640

Let kexec-tools depends on makedumpfile.

Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-03-16 10:22:54 +08:00
Carl George
ec3bccdf32 Add a makedumpfile subpackage 2024-02-23 16:32:28 -06:00
Coiby Xu
4eec72b56b 2.0.28 upstream release
Upstream tag: v2.0.28
Upstream commit: 328de8e0

Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-02-02 20:13:00 +08:00
Kairui Song
2974fa3f26 kdump-dep-generator: source kdump-lib-initramfs.sh instead
Currently kdump-dep-generator will source kdump-lib.sh. Notice
kdump-dep-generator have #!/bin/sh so it should be POSIX, but
kdump-lib.sh is a non-POSIX bash script. When Bash is configured to run
in POSIX mode for #!/bin/sh scripts, it will fail with:

/usr/lib/kdump/kdump-lib.sh: line 1042: syntax error near unexpected token `<'
/usr/lib/kdump/kdump-lib.sh: line 1042: `	done < <( _crashkernel_parse "$ck")'

This subshell call is easy to convert into a pipe but we should just
source kdump-lib-initramfs.sh here, the only thing kdump-dep-generator
needs is is_ssh_dump_target which is in kdump-lib-initramfs.sh, also
prevents further POSIX violations.

Signed-off-by: Kairui Song <kasong@tencent.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2024-01-31 14:38:49 +08:00
Coiby Xu
97b3b962a9 Get rid of "grep: warning: stray \ before /"
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2242185

grep (3.8) warnings when running the unit tests or running
"kdumpctl reset-crashkernel" on >= F39,
    # unit tests
    Examples:
      1) kdumpctl _find_kernel_path_by_release() returns the kernel path for the given release
         When call _find_kernel_path_by_release vmlinuz-6.2.11-200.fc37.x86_64

         1.1) WARNING: There was output to stderr but not found expectation

                stderr: grep: warning: stray \ before /

              # spec/kdumpctl_general_spec.sh:169-172

    # kdumpctl reset-crashkernel
    grep: warning: stray \ before /
    kdump: Updated crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M for kernel=/boot/vmlinuz-6.6.8-200.fc39.x86_64. Please reboot the system for the change to take effect.

This warning can be reproduced by
  echo 'kernel="/boot/vmlinuz-6.4.6-200.fc38.x86_64"' | grep -E "^kernel=.*$_release(\/\w+)?\"$"

This patch removes unneeded backslash. It also adds a test for
systemd-boot path. And for simplification, Parameters:dynamic is now
used to generate test data dynamically.

Fixes: 8af05dc4 ("kdumpctl: Add support for systemd-boot paths")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2024-01-31 14:38:49 +08:00
Fedora Release Engineering
95f086ca9f Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-24 23:55:58 +00:00
Lichen Liu
468336700d dracut-module-setup: Skip initrd-cleanup and initrd-parse-etc in kdump
When using multipath devices as the target for kdump, if user_friendly_name
is also specified, devices default to names like "mpath*", e.g., mpatha.
In dracut, we obtain a persistent device name via get_persistent_dev. However,
dracut currently believes using /dev/mapper/mpath* could cause issues, thus
alternatively names are used, here it's /dev/disk/by-uuid/<FS_UUID>.

During the kdump boot progress, the /dev/disk/by-uuid/<FS_UUID> will exist as
soon as one of the path devices exists, but it won't be usable by systemd,
since multipathd will claim that device as a path device. Then multipathd will
get stopped before it can create the multipath device.

Without user_friendly_name, /dev/mapper/<WWID> is considered a persistent
device name, avoiding the issue.

The exit of multipathd is due to two dependencies in the current dracut module
90multipath/multipathd.service, "Before=initrd-cleanup.service" and
"Conflicts=initrd-cleanup.service".

As per man 5 systemd.unit, if A.service has "Conflicts=B.service", starting
B.service will stop A.service.

This is useful during normal boot. However, we will never switch-root after
capturing vmcore in kdump.

We need to ensure that multipathd is not killed due to such dependency issue.
Without modifying multipathd.service, we add ConditionPathExists=!/proc/vmcore
to skip initrd-cleanup.service in kdump. This approach is beneficial as
it avoid the potential termination of other services that conflict with
initrd-cleanup.service. Also skip initrd-parse-etc.service as it will try to
start initrd-cleanup.service. Both of these services are used for switch root,
so they can be safely skipped in kdump.

Suggested-by: Benjamin Marzinski <bmarzins@redhat.com>
Suggested-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2024-01-24 15:13:31 +08:00
Lichen Liu
6943de2cdc Print error msg when forget to specify user for ssh target
Resolves: https://issues.redhat.com/browse/FC-1046

We require that <user> be explicitly specified in 'ssh <user>@<hostname>'. When
forgetting to specify, such as 'ssh 192.168.10.2', a useful error log should be
printed instead of exiting directly.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2024-01-24 15:13:31 +08:00
Fedora Release Engineering
753e5060d7 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 00:15:51 +00:00
Coiby Xu
d78cab14bc 2.0.28 upstream release
Upstream tag: v2.0.28
Upstream commit: adef8a8e

Signed-off-by: Coiby Xu <coxu@redhat.com>
2024-01-17 13:51:27 +08:00
Steffen Maier
73c9eb71e9 dracut-module-setup: remove old s390 network device config (#1937048)
Since the previous commit reworks znet configuration to be based on the
active system configuration, there is no dependency on any existing
persistent configuration any more. Hence the old code handling systems with
exactly one s390-specific nmconnection as persistent configuration can be
removed.

Migration of the old persistent device configuration mechanism with
nmconnections (or ifcfg) to zdev is handled independently in s390utils.
[https://github.com/steffen-maier/s390utils/pull/1/commits
 ("znet: migrate to consolidated persistent device config with zdev
   (#1937046,#1937048))"]

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2024-01-17 11:59:58 +08:00
Steffen Maier
0d90d580b4 dracut-module-setup: consolidate s390 network device config (#1937048)
This is a preparation for consolidating s390 network device config with
https://github.com/dracutdevs/dracut/pull/2534
  ("feat(znet): use zdev for consolidated device configuration")
https://github.com/steffen-maier/s390utils/pull/1/commits
  ("znet: migrate to consolidated persistent device config with zdev
    (#1937046,#1937048))"
  ("znet: clean up old deprecated persistent device config
    (#1937046,#1937048)").
With above consolidation, s390-specific low-level configuration information
will no longer be in NetworkManager connections (nor ifcfg files), but in
the persistent configuration database of chzdev from s390-tools.

Since the kdump dracut module here depends on the "znet" dracut module [1]
and "znet" will copy all persistent configuration into initrd as of above
commit, all s390-specific information would already be in the kdump initrd.
[1] 08de712528 ("Move some dracut module dependencies checks to
module-setup.sh"), 7148c0a30d ("add s390x netdev setup")

However, it is more appropriate and also removes the copy dependency from
"znet" to introduce the consolidated zdev mechanism for importing just the
required network device config from the current active system
configuration. It does not depend on any of the pull requests above.
It does not depend on any existing persistent configuration
and can replace the old function code. This is similar to dracut block
device dependency handling in s390-tools zdev/dracut/95zdev-kdump.

The old code only seems to work if there is exactly one s390-specific
nmconnection (or ifcfg file). Related commits:
b5577c163a ("Simplify setup_znet by copying connection profile to initrd"),
7d47251568 ("Iterate /sys/bus/ccwgroup/devices to tell if we should set up rd.znet"),
8b08b4f17b ("Set up s390 znet cmdline by "nmcli --get-values""),
ce0305d4f9 ("Add a new option 'rd.znet_ifname' in order to use it in udev rules"),
7148c0a30d ("add s390x netdev setup").

A bonding or teaming setup would have multiple following network
interfaces, each of which would need a low-level config if they're s390
channel-attached network devices. The new code should be able to handle
that by iterating the involved network interfaces. Chzdev only exports
something if it's a device type it deems itself responsible for.

Additional debugging output can be generated with e.g. dracut option
"--stdlog 5" (or short -L5). It shows the chzdev export result, the output
of chzdev export and import, and an overview of the resulting persistent
config within the initrd. On systems, which default to using dracut option
"--quiet", you might need an additional "--verbose" to counter "--quiet" so
-L5 has effect. Typically combined with "--debug" to get a shell trace from
building an initrd (Note: --debug does not increase the log levels).

Signed-off-by: Steffen Maier <maier@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2024-01-17 11:59:58 +08:00
Coiby Xu
38d9990389 Use the same /etc/resolve.conf in kdump initrd if it's managed manually
Resolves: https://issues.redhat.com/browse/RHEL-11897

Previously fix 0177e248 ("Use the same /etc/resolve.conf in kdump initrd
if it's managed manually") is problematic,
   1) it generated .conf file unrecognized by NetowrkManager ;
   2) this .conf file was installed to current file system instead of to the kdump initrd;
   3) this incorrect .conf file prevented the starting of NetworkManager.

This patch fixes the above issues and also suppresses a harmless warning
when systemd-resolved.service doesn't exist,

    # systemctl -q is-enabled systemd-resolved
    Failed to get unit file state for systemd-resolved.service: No such file or directory

Fixes: 0177e248 ("Use the same /etc/resolve.conf in kdump initrd if it's managed manually")
Reported-by: Jie Li <jieli@redhat.com>
Cc: Dave Young <dyoung@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-12-26 12:44:14 +08:00
Coiby Xu
c752cbb2d3 Explain the auto_reset_crashkernel option in more details
Resolves: https://issues.redhat.com/browse/RHEL-17451

Explain what factors affect the default crashkernel value and ask users
to reset it manually if needed.

Cc: Baoquan He <bhe@redhat.com>
Cc: Jie Li <jieli@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-12-20 18:29:41 +08:00
Coiby Xu
00d40c448b Release 2.0.27-5
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-12-11 18:17:57 +08:00
Coiby Xu
bc31f6dd0f Let %post scriptlet always exits with the zero exit status
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2247940

Currently, CoreOS image fails to be built. This is because since commit
00c37d8c ("spec: Drop special handling for IA64 machines"), the last
command is now servicelog_notify and it fails to run in such
invocation environment. Thus the %post scriptlet returns a non-zero
exit code which breaks package installation,

    Running scriptlet: kexec-tools-2.0.27-4.fc40.ppc64le
    /proc/ is not mounted. This is not a supported mode of operation. Please fix your invocation environment to mount /proc/ and /sys/ properly. Proceeding anyway. Your mileage may vary.
    servicelog_notify: is not supported on the Unknown platform
    warning: %post(kexec-tools-2.0.27-4.fc40.ppc64le) scriptlet failed, exit status 1
    Error in POSTIN scriptlet in rpm package kexec-tools

Quoting [1],
> Non-zero exit codes from scriptlets can break installs/upgrades/erases
> such that no further actions will be taken for that package in a
> transaction (see Ordering), which may for example prevent an old version
> of a package from being erased on upgrades, ...
>
> All scriptlets MUST exit with the zero exit status. Because RPM in its
> default configuration does not execute shell scriptlets with the -e
> argument to the shell, excluding explicit exit calls (frowned upon with
> a non-zero argument!), the exit status of the last command in a
> scriptlet determines its exit status...
>
> Usually the most important bit is to apply this to the last command
> executed in a scriptlet, or to add a separate command such as plain “:”
> or “exit 0” as the last one in a scriptlet.

Following the above suggestion, add a separate command ":" as the last
one to the %post scriptlet.

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/

Reported-by: Colin Walters <walters@redhat.com>
Cc: Dusty Mabe <dustymabe@redhat.com>
Cc: Philipp Rudo <prudo@redhat.com>
Fixes: 00c37d8c ("spec: Drop special handling for IA64 machines")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-12-11 18:16:30 +08:00
Coiby Xu
0177e24832 Use the same /etc/resolve.conf in kdump initrd if it's managed manually
Resolves: https://issues.redhat.com/browse/RHEL-11897

Some users may choose to manage /etc/resolve.conf manually [1]
by setting dns=none or use a symbolic link resolve.conf [2].
In this case, network dumping will not work because DNS resolution
fails. Use the same /etc/resolve.conf in kdump initrd to fix this
problem.

[1] https://bugzilla.gnome.org/show_bug.cgi?id=690404
[2] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_and_managing_networking/manually-configuring-the-etc-resolv-conf-file_configuring-and-managing-networking

Fixes: 63c3805c ("Set up kdump network by directly copying NM connection profile to initrd")
Reported-by: Curtis Taylor <cutaylor@redhat.com>
Cc: Jie Li <jieli@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Dave Young <dyoung@redhat.com>
2023-11-24 15:44:02 +08:00
Lichen Liu
741861164e kdumpctl: Only returns immediately after an error occurs in check_*_modified
Currently is_system_modified will return immediately when check_*_modified
return a non-zero value, and the remaining checks will not be executed.

For example, if there is a fs-related error exists, and someone changes the
kdump.conf, check_files_modified will return 1 and is_system_modified will
return 1 immediately. This will cause kdumpctl to skip check_fs/drivers_modified,
kdump.service will rebuild the initrd and start successfully, however, any
errors should prevent kdump.service from starting.

This patch will cause check_*_modifed to continue running until an error occurs
or all execution ends.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Acked-by: Tao Liu <ltao@redhat.com>
2023-11-16 13:18:35 +08:00
Coiby Xu
cb761c7224 Release 2.0.27-4
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-11-08 11:28:28 +08:00
Baoquan He
4841bc6a6d kdump-lib.sh: add extra 64M to default crashkernel if sme/sev is active
It's reported that kdump kernel failed to boot and can't dump vmcore
when crashkernel=192M and SME/SEV is active.

This is because swiotlb will be enabled and reserves 64M memory by
default on system with SME/SEV enabled. Then kdump kernel will be out of
memory after taking 64M away for swiotlb init.

So here add extra 64M memory to default crashkernel value so that kdump
kernel can function well as before. When doing that, search journalctl
for the "Memory Encryption Features active: AMD" to check if SME or SEV
is active. This line of log is printed out in kernel function as below
and the type SME is mutual exclusive with type SEV.
  ***:
  arch/x86/mm/mem_encrypt.c:print_mem_encrypt_feature_info()

Note:
1) The conditional check is relying on journalctl log because I didn't
   find available system interface to check if SEV is active. Even
   though we can check if SME is active via /proc/cpuinfo. For
   consistency, I take the same check for both SME and SEV by searching
   journalctl.

2) The conditional check is relying on journalctl log, means it won't
   work for crashkernel setting in anoconda because the installation
   kernel doesn't have the SME/SEV setting. So customer need manually
   run 'kdumpctl reset-crashkernel' to reset crashkernel to add the
   extra 64M after OS installation.

3) We need watch the line of log printing in
   print_mem_encrypt_feature_info() in kernel just in case people may
   change it in the future.

Signed-off-by: Baoquan He <bhe@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-11-08 09:42:31 +08:00
Coiby Xu
3d253ab811 Allow _crashkernel_add to address larger memory ranges
Currently _crashkernel_add can't deal with larger memory ranges like
terabyte. For example, '_crashkernel_add "128G-1T:4G" "0"' actually
returns empty result. This patch allows _crashkernel_add to address
terabyte, petabyte and exabyte memory ranges.

Fixes: 64f2827a ("kdump-lib: Harden _crashkernel_add")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2023-11-08 09:42:31 +08:00
Coiby Xu
c9ac933cc2 Release 2.0.27-3
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-10-17 13:54:48 +08:00
Coiby Xu
0ffce0ef4e Only try to reset crashkernel when kdump.service is enabled
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2243068

Currently, when kexec-tools is installed, the kernel will automatically
have the crashkernel parameter set up. In the case where users only want
the kexec reboot feature, this is not what users want as a 1G-RAM system
will lose 192M memory. Considering Fedora's systemd preset policy has
kdump.service disabled and RHEL' has kdump.service enabled, this patch
makes kexec-tools only reset crashkernel when kdump.service is enabled.

Reported-by: Chris Murphy <bugzilla@colorremedies.com>
Cc: Philipp Rudo <prudo@redhat.com>
Cc: Adam Williamson <awilliam@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-10-17 13:45:30 +08:00
Coiby Xu
5058cef90c Release 2.0.27-2
This release fixes https://datawarehouse.cki-project.org/kcidb/tests/9435999.

Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-10-13 11:00:07 +08:00
Coiby Xu
7af94019cf [packit] 2.0.27 upstream release
Upstream tag: v2.0.27
Upstream commit: 2495ccfc
2023-10-10 15:58:01 +08:00
Nayna Jain
4fa17b2ee4 powerpc: update kdumpctl to load kernel signing key for fadump
On secure boot enabled systems with static keys, kexec with kexec_file_load(-s)
fails as "Permission Denied" when fadump is enabled.

Similar to kdump, load kernel signing key for fadump as well.

Reported-by: Sachin P Bappalige <sachinpb@linux.vnet.ibm.com>
Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
2023-10-10 08:42:01 +08:00
Nayna Jain
fe6eb30e67 powerpc: update kdumpctl to remove deletion of kernel signing key once loaded
Kernel signing key is deleted once kdump is loaded. This causes confusion in
debugging since key is no longer visible. Unless someone knows how
kdumpctl script works, it is difficult to find out how kdump could be
loaded when there is no key on .ima keyring.

Remove deletion of kernel signing key once loaded. And then to prevent
multiple loading of same key when kdump service is disabled/enabled, update
key description field as well.

Suggested-by: Mimi Zohar <zohar@linux.ibm.com>
Signed-off-by: Nayna Jain <nayna@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-10-10 08:42:01 +08:00
Coiby Xu
8bf11dc3f6 unit tests: fix test failures "The param /boot/boot/vmlinuz-xxx is incorrect"
Currently, some tests failed with "The param /boot/boot/vmlinuz-xxx is
incorrect", for example,

    [root@fedora kexec-tools]# shellspec spec/kdumpctl_manage_reset_spec.sh
    Examples:
      1) kdumpctl reset-crashkernel [--kernel] [--fadump] Test the kdump dump mode  --kernel=ALL kdumpctl should warn the user that crashkernel has been udpated
         When call reset_crashkernel --kernel=ALL

         1.1) The error should include Updated crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M for kernel=/boot/vmlinuz-5.15.6-100.fc34.x86_64

                expected "The param /boot/boot/vmlinuz-5.15.6-100.fc34.x86_64 is incorrect
                The param /boot/boot/vmlinuz-5.15.6-100.fc34.x86_64 is incorrect
                kdump: Updated crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M for kernel=/boot/boot/vmlinuz-5.15.6-100.fc34.x86_64. Please reboot the system for the change to take effect.
                The param /boot/boot/vmlinuz-5.14.14-200.fc34.x86_64 is incorrect
                The param /boot/boot/vmlinuz-5.14.14-200.fc34.x86_64 is incorrect
                kdump: Updated crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M for kernel=/boot/boot/vmlinuz-5.14.14-200.fc34.x86_64. Please reboot the system for the change to take effect.
                The param /boot/boot/vmlinuz-0-rescue-e986846f63134c7295458cf36300ba5b is incorrect
                The param /boot/boot/vmlinuz-0-rescue-e986846f63134c7295458cf36300ba5b is incorrect
                kdump: Updated crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M for kernel=/boot/boot/vmlinuz-0-rescue-e986846f63134c7295458cf36300ba5b. Please reboot the system for the change to take effect." to include "Updated crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M for kernel=/boot/vmlinuz-5.15.6-100.fc34.x86_64"

              # spec/kdumpctl_reset_crashkernel_spec.sh:69

This happens because when a system has a boot partition, grubby
automatically prefixes a path with "/boot". The current boot loader
entries used for tests already has the prefix "/boot" in the path and
prefixing a path again will cause the above problem.

grubby uses "mountpoint -q /boot" to tell if there is a boot partition.
This patch mocks mountpoint so grubby knows the boot loader entries
are for a system without a boot partition.

Note this patch also avoids another error seen in the setup phase of the
test "The param /boot/vmlinuz-xxx is incorrect". I believe this error is
a bug of "grubby --update-kernel" in testing mode because running the
grubby in normal mode actually works and "grubby --info=/boot/vmlinuz-*"
also works in testing mode,

    [root@fedora support]# grubby --no-etc-grub-update --grub2 --bad-image-okay --env=grub_env -b boot_load_entries --args crashkernel=333M --update-kernel=/boot/vmlinuz-5.15.6-100.fc34.x86_64
    The param /boot/vmlinuz-5.15.6-100.fc34.x86_64 is incorrect

    [root@fedora support]# grubby --no-etc-grub-update --grub2 --bad-image-okay --env=grub_env -b boot_load_entries --info=/boot/vmlinuz-5.15.6-100.fc34.x86_64
    index=0
    kernel="/boot/boot/vmlinuz-5.15.6-100.fc34.x86_64"

    [root@fedora support]]# grubby --args crashkernel=333M --update-kernel=/boot/vmlinuz-6.0.7-301.fc37.x86_64 && echo "succeed"
    succeed

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-10-10 08:40:26 +08:00
Philipp Rudo
2f52973feb unit tests: Fix parse_config test case
The test case for parse_config creates a default kdump.conf in the pwd.
This fails when the pwd is read only. Thus move the default kdump.conf
to /tmp just like it is done for the "bad" kdump.conf. This also allows
to reuse the temporary file used for the "bad" case.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
00c37d8c2c spec: Drop special handling for IA64 machines
The two systems are IA64 based which is no longer supported by Fedora
and was only supported in RHEL up to RHEL5. So it is safe to simply drop
the special handling. In case it is still wanted nevertheless the
special handling should be added to kdump-lib.sh:prepare_cmdline rather
than editing the sysconfig in the spec file.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
64f2827a4b kdump-lib: Harden _crashkernel_add
_crashkernel_add currently always assumes the good case, i.e. that the
value of the crashkernel parameter has the correct syntax and that the
delta added is a number. Both doesn't have to be true when the values
are provided by users. Thus add some additional checks.

Furthermore require the delta to have a explicit unit, i.e. no longer
assume that is in megabytes, i.e. 100 -> 100M.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
d89459c5ec spec: Silence unversioned Obsolete warning
rpmbuild throws a warning with

    line 80: It's not recommended to have unversioned Obsoletes: Obsoletes: diskdumputils netdump kexec-tools-eppic

In that diskdump and netdump were last used in RHEL4 and
kexec-tools-eppic was removed with Fedora 22. There is no supported
update path in which a current package could replace one of these three.
Thus simply drop the Obsoletes.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
8e0b3598c1 spec: Clean up handling of dracut files
Currently the dracut modules are first prepared in a temporary directory
before they are moved to modules.d. All the preparation work can be done
by a single call to 'install' per file. Thus get rid off the indirection
and install the dracut modules directly to modules.d.

While at it merge the three macros to remove the prefix into one.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
755ba199a7 kdump.conf: Remove option override_resettable
When override_resettable was introduced in 2013 with 4b850d2 ("Check if
block device as dump target is resettable") it was forgotten to add the
new option to check_config (today the function is called parse_config).
So if a user would have set override_resettable check_config would have
returned an error ("Invalid kdump config option override_resettable")
and starting the kdump service would have failed. As there has been no
bug report in the last ~10 years it is safe to assume that the option
was never used. Thus simply remove the option.

Fixes: 4b850d2 ("Check if block device as dump target is resettable")
Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
8175924e89 kdumpctl: Stop updating grub config in reset_crashkernel
With multiple kernel variants on the same architecture, e.g. the 4k and
64k kernel on aarch64, we can no longer assume that the crashkernel
value for the currently running kernel will work for all installed
kernels. This also means that we can no longer update the grub config as
we don't know which value to set it to. Thus get the crashkernel value
for each kernel and stop updating the grub config.

While at it merge the _new_fadump and _fadump_val variables and remove
_read_kernel_arg_in_grub_etc_default which has no user.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
099434b993 kdumpctl: Prevent option --fadump on non-PPC in reset_crashkernel
Prevent the --fadump option to be used on non-PPC systems. This not only
prevents user errors but also guarantees that _dump_mode and _fadump_val are
empty on these systems.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
f5785c60aa kdumpctl: simplify _update_kernel_cmdline
_update_kernel_cmdline handles two cmdline parameters at once. This does not
only make the function itself but also its callers more complicated than
necessary. For example in _update_crashkernel the fadump gets "updated" to
the value that has been read from grubby. Thus simplify
_update_kernel_cmdline to only update one parameter at once.

While at it shorten some variable named in the callers.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
1049e1c79c kdumpctl: drop condrestart subcommand
condrestart is a left over from the time of SysVinit that is no longer
needed since the kexec-tools switched to systemd (10c91a1 ("Removing
sysvinit files") plus the one before). What's especially intriguing is
that from the beginning (0112f36 ("- Add a kdump sysconfig file and init
script - Spec file additions for pre/post install/uninstall")) the
sub-command never did any actual work (other than not returning an
error). Thus simply remove the condrestart sub-command.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
b9738affc9 kdumpctl: drop _get_current_running_kernel_path
_get_current_running_kernel_path is identical to
_find_kernel_path_by_release $(uname -r) so simply use this instead of
defining a new function.

While at it simplify reset_crashkernel slightly. This changes the
behavior of the function for the case when KDUMP_KERNELVER is defined
but no kernel with this version is installed. Before, the missing
kernel is silently ignored and the currently running kernel is used
instead. Now, kdumpctl will exit with an error.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
f01fef4016 kdump-lib: simplify _get_kdump_kernel_version
Only check whether modules for a given kernel version are installed
instead of searching for a kernel image. It's safer to assume that every
kernel uses kernel modules compared to that it follows certain naming
conventions. Furthermore it is much more lightweight and thus allows to
determine the KDUMP_KERNELVER much earlier for every command in
kdumpctl.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
bbda12a5ac kdump-lib: make is_zstd_command_available more generic
There is value to use the function in other places as well. For example
it can be used to check whether optional dependencies, like grubby, are
installed. Thus make it more generic so it can be reused in later
commits.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Philipp Rudo
026edc2b59 Fix various shellcheck findings
This includes fixes for

SC2295 (info): Expansions inside ${..} need to be quoted separately, otherwise they match as patterns.
SC2005 (style): Useless echo? Instead of 'echo $(cmd)', just use 'cmd'.
SC2162 (info): read without -r will mangle backslashes.
SC2086 (info): Double quote to prevent globbing and word splitting.
SC2317 (info): Command appears to be unreachable. Check usage (or ignore if invoked indirectly).

In addition add some source hints to prevent false positive findings.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2023-09-14 15:01:52 +08:00
Sourabh Jain
fc7c65312a powerpc: update fadump sysfs node path
The fadump sysfs nodes /sys/kernel/fadump_[enabled|registered], have
been relocated to /sys/kernel/fadump/[enabled|registered] by kernel
commits d418b19f34ed ("powerpc/fadump: Reorganize /sys/kernel/fadump_*
sysfs files").

To ensure compatibility, symbolic links were added for each relocated
sysfs entry. Nonetheless, note that these symbolic links might be
removed later, as they have been deprecated by kernel commit
3f5f1f22ef10 ("Documentation/ABI: Mark /sys/kernel/fadump_* sysfs files
deprecated")

This patch updates the scripts to use the updated fadump sysfs files.

Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-09-01 13:48:28 +08:00
Coiby Xu
98c7c6ee6a [packit] 2.0.27 upstream release
Upstream tag: v2.0.27
Upstream commit: 17590eed
2023-08-31 11:29:43 +08:00
Sourabh Jain
4b7b7736ee Introduce a function to get reserved memory size
The size of the reserved memory in the functions show_reserved_mem,
check_crash_mem_reserved, and do_estimate are fetched from the sysfs
node `/sys/kernel/kexec_crash_size`. However, in the case of fadump,
the reserved area size is instead present in
/sys/kernel/fadump/mem_reserved.

For example:

$ kdumpctl showmem
kdump: Dump mode is fadump
kdump: Reserved 0MB memory for crash kernel

The above command showed 0MB for Reserved memory which is incorrect, the
actual reservation was 2048MB.

To resolve this issue a new helper function is introduced to fetch
reserved memory size based on the dump mode. For "fadump" mode,
it looks in `/sys/kernel/fadump/mem_reserved`, otherwise, it uses
`/sys/kernel/kexec_crash_size`. And all functions that previously
fetching reserved memory directly from `/sys/kernel/kexec_crash_size`
sysfs node are now updated to use this new function to get the reserved
memory size.

With the fix in place, the `kdumpctl showmem` command will now display
correct reserved memory size.

$ kdumpctl showmem
kdump: Dump mode is fadump
kdump: Reserved 2048MB memory for crash kernel

Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Reported-by: Sachin P Bappalige <sachinpb@linux.vnet.ibm.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-08-15 13:51:14 +08:00
Fedora Release Engineering
b725cdb45e Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 08:42:47 +00:00
Coiby Xu
52a034eb10 Use SPDX licence
Convert to SPDX license by https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_2,
    # license-fedora2spdx GPLv2
    GPL-2.0-only

Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-07-04 11:56:11 +08:00
Lichen Liu
daa829f79e spec: kdump/ppc64: make servicelog_notify silent when there are no errors
There is confusing message in /var/log/anaconda/packaging.log when installing
kexec-tools during the system installation on ppc64le:

	Event Notification Registration successful (id: 1)

Make servicelog_notify slient when there are no erros.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-06-25 10:42:02 +08:00
Pingfan Liu
f3139012f2 kdump-lib: Match 64k debug kernel in prepare_kdump_bootinfo()
For kernel 64k variant, it terminates with substring 64k-debug, e.g.
vmlinuz-5.14.0-327.el9.aarch64+64k-debug.

Providing an extra matching pattern to filter out it.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-06-20 11:17:43 +08:00
Philipp Rudo
dda81d72c2 kdumpctl: Fix temporary directory location
The temporary directory is currently created under the current working
directory. That alone isn't ideal but works most of the time. However,
it will fail when the current working directory is not writable. So make
sure the directory is created within TMPDIR.

Fixes: ea00b7d ("kdumpctl: Move temp file in get_kernel_size to global temp dir")
Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-06-20 11:17:43 +08:00
Coiby Xu
17c26558d9 tests: use the default crashkernel value
And with commit t5b31b099 ("Simplify the management of the kernel
parameter crashkernel"), the default crashkernel value will be
used for the kernel. But the test VM has a RAM of 768M thus this is no
actual reserved memory for kdump.  Even With the old crashkernel=224M,
network dumping tests like nfs-kdump will fail out of memory when
running against current Fedora Cloud images (>=F37).

This patch address the above two issues by
 1. increasing the RAM of test VM to 1G
 2. installing the kernel-modules which contains the squashfs module in
    order to use the dracut squash module for kdump initrd.

Thanks to the dracut squash module, now even crashkernel=192M (the
default crashkernel value for RAM between 1G and 4G) works for
network dumping. Another benefit brought by this change is the default
crashkernel value can be tested as well.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-06-20 10:24:25 +08:00
Coiby Xu
7cd799462e tests: skip checking if the second partition has the boot label
All the tests failed to run on the Fedora 37 host because the boot
partition failed to be mounted and in turn the key kernel cmdline
parameters like selinux=0 couldn't be added.

The root problem is somehow running lsblk on the second partition
returns an empty label unless we wait for enough time. Before figuring
out the root cause, simply skip check that the second partition
needs to have the boot label.

Note the root problem can be produced by building a test image,
    cd tests
    ./scripts/build-image.sh Fedora-Cloud-Base-37-1.7.x86_64.qcow2 output_image   scripts/build-scripts/base-image_test.sh
    Source image is qcow2, using snapshot...
    Formatting 'build/base-image1.building', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=5368709120 backing_file=Fedora-Cloud-Base-37-1.7.x86_64.qcow2 backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
    It's a image with multiple partitions, using last partition as main partition
    grep: /boot/grub2/grubenv: No such file or directory
    grub2-editenv: error: cannot open `/boot/grub2/grubenv.new': No such file or directory.
    /dev/nbd0 disconnected

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-06-20 10:24:25 +08:00
Coiby Xu
8f243d2ab1 tests: generate correct RPM name
Tests failed to run against Fedora 37 or newer cloud images because of
the following error,
    It's a image with multiple partitions, using last partition as main partition
    'xxx/tests/build/x86_64/kexec-tools-2.0.26-5.fc37.src.rpm' not found
    /dev/nbd0 disconnected
    make: *** [Makefile:73: xxx/tests/output/test-base-image] Error 1

This is because starting with Fedora 37, rpm changes its API,
    # Fedora >= 37
    $ rpm -q --specfile kexec-tools.spec
    kexec-tools-2.0.26-5.fc37.src
    # Fedora 36
    $ rpm -q --specfile kexec-tools.spec
    kexec-tools-2.0.26-5.fc36

The tests depends on rpm to generate correct RPM name. Fix this issue by
removing the trailing .src from the output of "rpm -q --specfile".

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-06-20 10:24:08 +08:00
Coiby Xu
471c136481 Release 2.0.26-7
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-06-14 17:39:41 +08:00
Pingfan Liu
64d93c886f kdumpctl: Fix the matching of plus symbol by grep's EREs
After introducing 64k variant kernel on aarch64, an example kernel name
looks like "vmlinuz-5.14.0-316.el9.aarch64+64k". To match the plus
symbol, it demands an escape charater.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-06-14 17:33:16 +08:00
Pingfan Liu
7a2c4cbc3b kdump-lib: Evaluate the memory consumption by smmu and mlx5 separately
On 4k and 64k kernels, the typical consumption values for SMMU are 36MB
and 384MB, respectively. Hence for 64k kernel, the consumption by smmu
should be taken into account carefully.

To do it by adding the extra 384MB value if installing a 64k kernel.
The upper limit value 384MB is calculated according to the formula in
the kernel smmu driver.

As for mlx5 network cards, it is measured by a pratical test, 200M for
64k variant, 150M for 4k variant

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-06-14 17:33:16 +08:00
Pingfan Liu
05c4861443 kdump-lib: add support for 64K aarch64
On aarch64, both 4K and 64K kernel can be installed, while they demand
different size reserved memory for kdump kernel.

'get_conf PAGE_SIZE' can not work if installing a 64K kernel when
running a 4K kernel. Hence resorting to the kernel release naming rules.
At present, the 64K kernel has the keyword '64k' in its suffix.

The base line for 64K is decided based on 4K. The diff 100M is picked up
since on a high end machine without smmu enabled, the diff of MemFree is
82M.

As for the smmu case, a huge difference in the memory consumption lies
between 64k and 4k driver. And it should be calculated separatedly.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-06-14 17:33:16 +08:00
Pingfan Liu
d8b961be37 kdump-lib: Introduce parse_kver_from_path() to get kernel version from its path name
kdump_get_arch_recommend_crashkernel() expects the kernel version info,
while _update_kernel() provides the absolute path, which contains the
kernel version info.

This patch introduce a dedicated function parse_kver_from_path() to
extract the kernel info from the path

Credit to Philipp, who contributes the original code.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-06-14 17:33:16 +08:00
Pingfan Liu
51efbcf83e kdump-lib: Introduce a help function _crashkernel_add()
This help function can manipulate the crashkernel cmdline by adding an
number for each item. Also a basic test case for _crashkernel_add() is
provided in this patch.

Credit to Philipp, who contributes the original code.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-06-14 17:33:16 +08:00
Coiby Xu
0471131a16 Merge #14 Make binutils a recommend as it's only needed for UKI support 2023-06-14 09:31:45 +00:00
Lichen Liu
29fe563644 kdump.conf: redirect unknown architecture warning to stderr
The warning messages should not be included in the generated files.
Redirecting the warning for an unknown architecture to stderr.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-06-09 10:19:04 +08:00
Timothée Ravier
eabbf9d6a0 Whitespace fixes 2023-06-02 13:11:01 +02:00
Timothée Ravier
4da1ffe730 Make binutils a recommend as it's only needed for UKI support
UKI are not supported on rpm-ostree based Fedora variants so let's use
recommend for binutils for now to let those not include the package
until needed.

See: https://github.com/coreos/fedora-coreos-tracker/issues/1496
See: https://github.com/ostreedev/ostree/issues/2753
See: https://src.fedoraproject.org/rpms/kexec-tools/c/ea7be0608ed719cc1cb134ecf6ef51a4b7e9f104?branch=rawhide
2023-06-02 13:11:01 +02:00
Coiby Xu
e42a823dae mkdumprd: Use the correct syntax to redirect the stderr to null
A space was added by mistake and unfortunately fips-mode-setup refuses
an extra parameter,

    # fips-mode-setup --is-enabled 2 > /dev/null
    # echo $?
    2
    # fips-mode-setup --is-enabled 2
    Check, enable, or disable the system FIPS mode.
    usage: /usr/bin/fips-mode-setup --enable|--disable [--no-bootcfg]
    usage: /usr/bin/fips-mode-setup --check
    usage: /usr/bin/fips-mode-setup --is-enabled

So in this case mkdumprd can never detect if FIPS is enabled. Fix this
mistake.

Fixes: 443a43e0 ("mkdumprd: call dracut with --add-device to install the drivers needed by /boot partition automatically for FIPS")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
2023-06-01 16:39:12 +08:00
Coiby Xu
4311534c85 Release 2.0.26-5
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-05-29 17:42:49 +08:00
Coiby Xu
07b99ecab7 Add ShellSpec tests for managing the crashkernel kernel parameter
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-05-29 14:40:57 +08:00
Coiby Xu
5b31b099ae Simplify the management of the kernel parameter crashkernel
Currently, kexec-tools only updates the crashkernel to a new default
value only when both two conditions are met,
 - auto_reset_crashkernel=yes in kdump.conf
 - existing kernels or current running kernel should use the old default
   value.

To address seen corner cases, the logic to tell if the second condition
is met becomes quite complex. Instead of making the logic more complex
to support aarch64-64k, this patch drops the second condition to
simplify the management of the crashkernel kernel parameter.

Another change brought by this simplification is kexec-tools will also
set up the kernel crashkernel parameter for a fresh install (previously
it's limited to osbuild).

Note
1. This patch also stop trying to update /etc/default/grub because
   a) it only affects the static file /boot/grub2/grub.cfg
   b) grubby is recommended to change the kernel command-line parameters
      for both Fedora [1] and RHEL9 [2][3]
   c) For the cases of aarch64 and POWER, different kernels could have
      different default crashkernel value.

2. Starting with Fedora 37,  posttrans rpm scriplet distinguish between
   package install and upgrade.

[1] https://fedoraproject.org/wiki/GRUB_2
[2] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/managing_monitoring_and_updating_the_kernel/configuring-kernel-command-line-parameters_managing-monitoring-and-updating-the-kernel#changing-kernel-command-line-parameters-for-all-boot-entries_configuring-kernel-command-line-parameters
[3] https://access.redhat.com/solutions/1136173

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-05-29 14:40:57 +08:00
Coiby Xu
cdc0253a3c Let _update_kernel_cmdline return the correct return code
Currently, for non-s390x systems, the return code is 1 even when
_update_kernel_cmdline is correctly executed. This makes callers like
reset_crashkernel_after_update fail to print a message if a kernel has
its crashkernel updated. Fix it by put the code inside if block for
s390x.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-05-29 14:40:57 +08:00
Coiby Xu
443a43e075 mkdumprd: call dracut with --add-device to install the drivers needed by /boot partition automatically for FIPS
Currently, kdump doesn't work on many FIPS-enabled systems including
Azure, ESXI, Hyper, POWER and etc. When FIPS is enabled, it needs to
access /boot//.vmlinuz-xxx.hmac to verify the integrity of the kernel.
However, on those systems, /boot fails to be mounted due to a lack of
fs and block device drivers and the system just halted after failing to
verify the integrity of the kernel. For example, on Hyper-V, sd_mod, sg,
scsi_transport_fc, hv_storvsc and hv_vmbus need to be installed in order
for /boot to be mounted.

mkdumprd calls dracut with the --no-hostonly-default-device. Following
the documentation (man dracut),
    --no-hostonly-default-device
      Do not generate implicit host devices like root, swap, fstab, etc.
      Use "--mount" or "--add-device" to explicitly add devices as needed

this patch uses "--add-device" to explicitly add the device of /boot.

Note there is already an attempt to fix it in dracut's 01fips module
i.e. via the commit 83651776 ("fips: ensure fs module for /boot is
installed"). Unfortunately it only installs the file system driver e.g.
xfs.

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-05-29 10:20:11 +08:00
Pingfan Liu
81d3cc344d kdump-lib: fix the matching pattern for debug-kernel
On aarch64, a 64k kernel's name looks like:
vmlinuz-5.14.0-300.el9.aarch64+64k and the corresponding debug kernel's
name looks like: vmlinuz-5.14.0-300.el9.aarch64+64k-debug, which ends
with the suffix -debug instead of +debug.

Fix the matching pattern by [+|-]debug

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-05-23 14:59:09 +08:00
Coiby Xu
5e3d629da7 Release 2.0.26-4
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-05-16 09:44:56 +08:00
Jeremy Linton
8af05dc45a kdumpctl: Add support for systemd-boot paths
The default systemd-boot installed kernels on fedora end up in the form:

/boot/efi/36b54597c46383/6.4.0-0.rc0.20230427git6e98b09da931.5.fc39.aarch64/linux

Where the kernel version is a directory containing the kernel (linux)
and the initrd. Thus _find_kernel_path_by release needs to be a bit less
strict and allow some futher characters on the grubby (really bootctl)
output.

Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-05-16 09:21:13 +08:00
Kairui Song
c8643af270 mkdumprd: add --aggressive-strip as default dracut args
The new aggressive strip option was added in dracut 058, which tell
dracut to build the initramfs stripping more sections of the ELF
binaries (basically strip .symtab, .strtab).

These section are only useful for debugging runtime failures, but in
kdump kernel, neccessary tools for debug any runtime failure are
absent, there is no point keeping these sections.

Stripping these section can help save some memory with almost no side
effect. So let enable --aggressive-strip by default.

Comparison of unpacked initramfs before / after enabling aggressive strip:

du -hs image image.aggressive-strip
31M     image
29M     image.aggressive-strip

Signed-off-by: Kairui Song <kasong@tencent.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-05-16 09:21:13 +08:00
Philipp Rudo
ea7be0608e kdumpctl: Add basic UKI support
A Unified Kernel Image (UKI) is a single EFI PE executable combining an
EFI stub, a kernel image, an initrd image, and the kernel command line.
They are defined in the Boot Loader Specification [1] as type #2
entries. UKIs have the advantage that all code as well as meta data that
is required to boot the system, not only the kernel image, is combined
in a single PE file and can be signed for EFI SecureBoot. This extends
the coverage of SecureBoot extensively.

For RHEL support for UKI were included into kernel-ark with 16c7e3ee836e
("redhat: Add sub-RPM with a EFI unified kernel image for virtual
machines").

There are two problems with UKIs from the kdump point of view at the
moment. First, they cannot be directly loaded via kexec_file_load and
second, the initrd included isn't suitable for kdump. In order to enable
kdump on systems with UKIs build the kdump initrd as usual and extract
the kernel image before loading the crash kernel.

[1] https://uapi-group.org/specifications/specs/boot_loader_specification/

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-05-16 09:21:13 +08:00
Philipp Rudo
ea00b7db43 kdumpctl: Move temp file in get_kernel_size to global temp dir
Others will need to use a temporary files, too. In order to avoid
potential clashes of multiple trap handlers move the local temp file
into a global temp dir.

While at it make sure that the trap handler returns the correct exit
code.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-05-16 09:21:13 +08:00
Philipp Rudo
81d89c885f kdumpctl: Move get_kernel_size to kdumpctl
The function is only used in do_estimate. Move it to kdumpctl to
prevent confusion.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-05-16 09:20:59 +08:00
Philipp Rudo
0ff44ca6e8 kdumpctl: fix is_dracut_mod_omitted
The function is pretty broken right now. To start with the -o/--omit
option allows a quoted, space separated list of modules. But using 'set'
breaks quotation and thus only considers the first element in the list.
Furthermore dracut uses getopt internally. This means that it is also
possible to pass the list via --omit=.

Fix the function by making use of getopt for parsing the dracut_args.
While at it also add a test cases to cover the functions.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-04-17 14:49:51 +08:00
Philipp Rudo
f81e6ca8da kdump-lib: move is_dracut_mod_omitted to kdumpctl
The function is only used in kdumpctl. Thus move it there to keep
kdump-lib small and simple.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-04-17 14:49:51 +08:00
Philipp Rudo
9eb39cda3c kdump-lib: remove get_nmcli_connection_apath_by_ifname
The function isn't used anywhere. Thus remove it to keep kdump-lib small
and simple.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-04-17 14:49:51 +08:00
Philipp Rudo
62c41e5343 kdump-lib: remove get_nmcli_field_by_conpath
The function isn't used anywhere. Thus remove it to keep kdump-lib small
and simple.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-04-17 14:49:51 +08:00
Philipp Rudo
f9d8cabfd1 dracut-module-setup: remove dead source_ifcfg_file
With the NetworkManager rewrite this function in no longer used. This
also allows to remove a lot of dead code in kdump-lib.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-04-17 14:49:51 +08:00
Philipp Rudo
258d285c63 kdump-lib-initramfs: remove is_fs_dump_target
The function isn't used anywhere. Thus remove it to keep
kdump-lib-initramfs small and simple.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-04-17 14:49:51 +08:00
Philipp Rudo
ca306cd403 kdump-lib-initramfs: harden is_mounted
If the device/mountpoint for findmnt is omitted findmnt will list all
mounted filesystems. In that case it will always return "true". So
explicitly check if an argument was passed to prevent false-positives.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-04-17 14:49:51 +08:00
Coiby Xu
12d9eff9dc Show how much time kdump has waited for the network to be ready
Relates: https://bugzilla.redhat.com/show_bug.cgi?id=2151504

Currently, when the network isn't ready, kdump would repeatedly print
the same info,

    [   29.537230] kdump[671]: Bad kdump network destination: 192.123.1.21
    [   30.559418] kdump[679]: Bad kdump network destination: 192.123.1.21
    [   31.580189] kdump[687]: Bad kdump network destination: 192.123.1.21

This is not user-friendly and users may think kdump has got stuck. So
also show much time has waited for the network to be ready,

    [   29.546258] kdump[673]: Waiting for network to be ready (50s / 10min)
    ...
    [   32.608967] kdump[697]: Waiting for network to be ready (56s / 10min)

Note kdump_get_ip_route no longer prints an error message and it's up to
the caller to determine the log level and print relevant messages. And
kdump_collect_netif_usage aborts when kdump_get_ip_route fails.

Reported-by: Martin Pitt <mpitt@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-04-15 06:39:17 +08:00
Coiby Xu
df6f25ff20 Tell nmcli to not escape colon when getting the path of connection profile
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2151504

When a NetworManager connection profile contains a colon in the name,
"nmcli --get-values UUID,FILENAME" by default would escape the colon
because a colon is also used for separating the values. In this case,
99kdumpbase fails to get the correct connection profile path,
	kdumpctl[5439]: cp: cannot stat '/run/NetworkManager/system-connections/static-52\\\:54\\\:01.nmconnection': No such file or directory
	kdumpctl[5440]: sed: can't read /tmp/1977-DRACUT_KDUMP_NM/ifcfg-static-52-54-01: No such file or directory
	kdumpctl[5449]: dracut-install: ERROR: installing '/tmp/1977-DRACUT_KDUMP_NM/ifcfg-static-52-54-01' to '/etc/NetworkManager/system-connections/ifcfg-static-52-54-01'

As a result, dumping vmcore to a remote nfs would fail.

In our case of getting connection profile path, there is no need to escape the
colon so pass "-escape no" to nmcli,

	[root@localhost ~]# nmcli --get-values UUID,FILENAME c show
	659e09c1-a6bd-3549-9be4-a07a1a9a8ffd:/etc/NetworkManager/system-connections/aa\:bb.nmconnection

	[root@localhost ~]# nmcli -escape no --get-values UUID,FILENAME c show
	659e09c1-a6bd-3549-9be4-a07a1a9a8ffd:/etc/NetworkManager/system-connections/aa:bb.nmconnection

Suggested-by: Beniamino Galvani <bgalvani@redhat.com>
Reported-by: Martin Pitt <mpitt@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-04-14 20:22:49 +08:00
Lichen Liu
d619b6dabe kdumpctl: lower the log level in reset_crashkernel_for_installed_kernel
Although upgrading the kernel with `rpm -Uvh` is not recommended, the
kexec-tools plugin prints confusing error logs when a customer upgrades the
kernel through it.

```
kdump: kernel 5.14.0-80.el9.x86_64 doesn't exist
kdump: Couldn't find current running kernel
```

Not finding the currently running kernel will only make kdump unable to copy the
grub entry parameters to the newly installed kernel, so lower the log level.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-04-10 12:20:15 +08:00
Coiby Xu
70c7598ef0 Install nfsv4-related drivers when users specify nfs dumping via dracut_args
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2140721

Currently, if users specify dumping to nfsv4 target via
  dracut_args --mount "<NFS-server-ip>:/var/crash /mnt nfs defaults"
it fails with the following errors,
    [    5.159760] mount[446]: mount.nfs: Protocol not supported
    [    5.164502] systemd[1]: mnt.mount: Mount process exited, code=exited, status=32/n/a
    [    5.167616] systemd[1]: mnt.mount: Failed with result 'exit-code'.
    [FAILED] Failed to mount /mnt.

This is because nfsv4-releted drivers are not installed to kdump initrd.
mkdumprd calls dracut with "--hostonly-mode strict". If nfsv4-related
drivers aren't loaded before calling dracut, they won't be installed.
When users specify nfs dumping via dracut_args, kexec-tools won't mount
the nfs fs beforehand hence nfsv4-related drivers won't be installed.
Note dracut only installs the nfs driver i.e. nfsv3 driver for "--mount
... nfs". So also install nfsv4-related drivers when users specify nfs
dumping via dracut_args. Since nfs_layout_nfsv41_files depends on nfsv4,
the nfsv4 driver will be installed automatically.

As for the reason why we support nfs dumping via dracut_args instead of
asking user to use the nfs directive, please refer to commit 74c6f464
("Support special mount information via 'dracut_args'").

Fixes: 4eedcae5 ("dracut-module-setup.sh: don't include multipath-hostonly")
Reported-by: rcheerla@redhat.com
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2023-03-21 15:55:57 +08:00
Philipp Rudo
d9dfea12da sysconfig: add zfcp.allow_lun_scan to KDUMP_COMMANDLINE_REMOVE on s390
Probing unnecessary I/O devices wastes memory and in extreme cases can
cause the crashkernel to run OOM. That's why the s390-tools maintain
their own module, 95zdev-kdump [1], that disables auto LUN scanning and
only configures zfcp devices that can be used as dump target. So remove
zfcp.allow_lun_scan from the kernel command line to prevent that we
accidentally overwrite the default set by the module.

[1] https://github.com/ibm-s390-linux/s390-tools/blob/master/zdev/dracut/95zdev-kdump/module-setup.sh

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-03-13 15:30:00 +08:00
Coiby Xu
12e6cd2b76 Use the correct command to get architecture
`uname -m` was used by mistake. As a result, kexec-tools failed to
update crashkernel=auto during in-place upgrade from RHEL8 to RHEL9.

`uname -m` should be used to get architecture instead.

Fixes: 5951b5e2 ("Don't try to update crashkernel when bootloader is not installed")

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Lichen Liu <lichliu@redhat.com>
2023-02-21 11:33:06 +08:00
Coiby Xu
b41cab7099 Release 2.0.26-3
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:39:35 +08:00
Philipp Rudo
d4e877214c kdumpctl: make do_estimate more robust
At the beginning of do_estimate it currently checks whether the
TARGET_INITRD exists and if not fails with an error message. This not
only requires the user to manually trigger the build of the initrd but
also ignores all cases where the TARGET_INITRD exists but need to be
rebuild. For example when there were changes to kdump.conf or when the
system switches from kdump to fadump. All these changes will impact the
outcome of do_estimate. Thus properly check whether the initrd needs to
be rebuild and if it does trigger the rebuild automatically.

To do so move the check whether the TARGET_INITRD has fadump enabled to
is_system_modified and call this function. With this force_(no_)rebuild
options in kdump.conf are ignored to avoid unnecessary rebuilds.

While at it cleanup check_system_modified and rename it to
is_system_modified. Furthermore move printing the info that the initrd
gets rebuild to rebuild_initrd to avoid every caller has the same line.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
37577b93ed kdumpctl: refractor check_rebuild
check_rebuild uses a bunch of local variables to store the result of the
different checks performed. At the end of the function it then evaluates
which check failed to print an appropriate info and trigger a rebuild if
needed. This not only makes the function hard to read but also requires
all checks to be executed even if an earlier one already determined that
the initrd needs to be rebuild. Thus refractor check_rebuild such that
it only checks whether the initrd needs to rebuild and trigger the
rebuild by the caller (if needed). While at it rename the function to
need_initrd_rebuild.

Furthermore also move setup_initrd to the caller so it is more consisted
with the other users of the function.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
5eefcf2e94 kdumpctl: cleanup 'stop'
Like for 'start' move the printing of the error message to the calling
function. This not only makes the code more consistent to 'start' but
also prevents 'kdumpctl restart' to call 'start' in case 'stop' has
failed. This doesn't impact the case when 'kdumpctl restart' is run
without any crash kernel being loaded as kexec will still return success
in that case.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
33b307af20 kdumpctl: cleanup 'start'
The function has many block of the kind

if ! cmd; then
  derror "Starting kdump: [FAILED]"
  return 1
fi

This duplicates code and makes the function hard to read. Thus move the
block to the calling function.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
0f6ad91be8 kdump-lib: fix prepare_cmdline
A recently added unit test found that prepare_cmdline has several
problems. For example an empty remove list will remove all spaces or
when the cmdline contains a parameter with quoted values containing
spaces will only remove the beginning up to the first space. Furthermore
the old design requires lots of subshells and pipes.

This patch rewrites prepare_cmdline in a way that makes the unit test
happy and tries to use as many bash built-ins as possible.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
d55a056558 kdumpctl: move aws workaround to kdump-lib
Move the workaround for aws graviton cpus from load_kdump to
prepare_cmdline. This (1) makes the workaround available also for other
callers of prepare_cmdline (although not needed at the moment) and (2)
makes it easier to fix the problems found by the unit test included
earlier as all changes to the cmdline are done at one place now.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
269c26972d unit tests: add tests for prepare_cmdline
prepare_cmdline is totally broken. For example if the remove list ($2)
is empty it removes all white spaces or if a parameter has a quoted
value containing a white space it only removes the first part of the
parameter up to the first space. Thus add a test case that shows what the
function should do in order to fix it in subsequent patches.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
88919b73f0 kdump-lib: always specify version in is_squash_available
is_squash_available is only used in dracut-module-setup.sh and mkdumprd.
Neither of the two scripts calls prepare_kdump_bootinfo which determines
and sets KDUMP_KERNELVER. Thus KDUMP_KERNELVER is only non-zero if it
explicitly specified by the user in /etc/sysconfig/kdump (and the file
gets sourced, which is not the case for drachu-module-setup.sh).

In theory this can even lead to bugs. For example consider the case when
a debug kernel is running. In that case kdumpctl will try to use the
non-debug version of the kernel while is_squash_available will make its
decision based on the debug version. So in case the debug kernel has
squash available but the non-debug kernel doesn't mkdumprd will try to
add it nevertheless.

Thus factor out the kernel version detection from prepare_kdump_bootinfo
and make use of the new function when checking for the availability of
those kernel modules.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
383cb62202 mkfadumprd: drop unset globals from debug output
mkfadumprd doesn't call prepare_kdump_bootinfo from kdump-lib.sh. Thus
both KDUMP_KERNELVER and DEFAULT_INITRD are always empty. Simply remove
them from the debug print.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
b9fd7a4076 kdumpctl: merge check_current_{kdump,fadump}_status
Both functions are almost identical. The only differences are (1) the
sysfs node the status is read from and (2) the fact the fadump version
doesn't verify if the file it's trying to read actually exists. Thus
merge the two functions and get rid of the check_current_status wrapper.

While at it rename the function to is_kernel_loaded which explains
better what the function does.

Finally, after moving FADUMP_REGISTER_SYS_NODE shellcheck can no longer
access the definition and starts complaining about it not being quoted.
Thus quote all uses of FADUMP_REGISTER_SYS_NODE.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
ed6936f9fc dracut-early-kdump: explicitly use bash
Currently dracut-early-kdump.sh claims to be POSIX compliant but it
sources kdump-lib.sh which uses bash-only syntax. Thus require bash for
dracut-early-kdump.sh as well.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
0578245746 dracut-early-kdump: fix shellcheck findings
Fix the following issues found by shellcheck. For the second one disable
shellcheck as EARLY_KEXEC_ARGS can contain multiple arguments.

In dracut-early-kdump.sh line 9:
EARLY_KDUMP_KERNELVER=""
^-------------------^ SC2034: EARLY_KDUMP_KERNELVER appears unused. Verify use (or export if used externally).

In dracut-early-kdump.sh line 61:
    if $KEXEC $EARLY_KEXEC_ARGS $standard_kexec_args \
              ^---------------^ SC2086: Double quote to prevent globbing and word splitting.

For more information:
  https://www.shellcheck.net/wiki/SC2034
  https://www.shellcheck.net/wiki/SC2086

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Philipp Rudo
d5faaee62b kdumpctl: simplify check_failure_action_config
With the deprecation of the 'default' option in kdump.conf
check_failure_action_config needed to track which option was used
(default or failure_action). This made the function quite complex.Thus
make option 'default' a true alias of 'failure_action' when parsing
kdump.conf and simplify check_failure_action_config.

Do the same simplifications for check_final_action_config as both
functions are basically identical.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Coiby Xu
f4c04c3d63 makedumpfile: Fix wrong exclusion of slab pages on Linux 6.2-rc1
Resolves: bz2155754
Upstream: https://github.com/makedumpfile/makedumpfile
Conflict: None

commit 5f17bdd2128998a3eeeb4521d136a192222fadb6
Author: Kazuhito Hagio <k-hagio-ab@nec.com>
Date:   Wed Dec 21 11:06:39 2022 +0900

    [PATCH] Fix wrong exclusion of slab pages on Linux 6.2-rc1

    * Required for kernel 6.2

    Kernel commit 130d4df57390 ("mm/sl[au]b: rearrange struct slab fields to
    allow larger rcu_head"), which is contained in Linux 6.2-rc1 and later,
    made the offset of slab.slabs equal to page.mapping's one.  As a result,
    "makedumpfile -d 8", which should exclude user data, excludes some slab
    pages wrongly because isAnon() returns true when slab.slabs is an odd
    number.  With such dumpfiles, crash can fail to start session with an
    error like this:

      # crash vmlinux dumpfile
      ...
      crash: page excluded: kernel virtual address: ffff8fa047ac2fe8 type: "xa_node shift"

    Make isAnon() check that the page is not slab to fix this.

    Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>

Reported-by: Baoquan He <bhe@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2023-01-30 17:37:23 +08:00
Fedora Release Engineering
4ffc0113a6 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 14:23:04 +00:00
Coiby Xu
4895f2a2e9 Release 2.0.26-1
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-12-22 12:55:14 +08:00
Coiby Xu
5951b5e268 Don't try to update crashkernel when bootloader is not installed
Currently when using anaconda to install the OS, the following errors
occur,

    INF packaging: Configuring (running scriptlet for): kernel-core-5.14.0-70.el9.x86_64 ...
    INF dnf.rpm: grep: /boot/grub2/grubenv: No such file or directory
    grep: /boot/grub2/grubenv: No such file or directory
    grep: /boot/grub2/grubenv: No such file or directory
    grep: /boot/grub2/grubenv: No such file or directory
    ...
    INF packaging: Configuring (running scriptlet for): kexec-tools-2.0.23-9.el9.x86_64 ...
    INF dnf.rpm: grep: /boot/grub2/grubenv: No such file or directory
    grep: /boot/grub2/grubenv: No such file or directory
    grep: /boot/grub2/grubenv: No such file or directory

Or for s390, the following errors occur,

    INF packaging: Configuring (running scriptlet for): kernel-core-5.14.0-71.el9.s390x ...
    03:37:51,232 INF dnf.rpm: grep: /etc/zipl.conf: No such file or directory
    grep: /etc/zipl.conf: No such file or directory
    grep: /etc/zipl.conf: No such file or directory

    INF packaging: Configuring (running scriptlet for): kexec-tools-2.0.23-9_1.el9_0.s390x ...
    INF dnf.rpm: grep: /etc/zipl.conf: No such file or directory

This is because when anaconda installs the packages, bootloader hasn't
been installed and /boot/grub2/grubenv or /etc/zipl.conf doesn't exist.
So don't try to update crashkernel when bootloader isn't ready to avoid
the above errors.

Note this is the second attempt to fix this issue. Previously a file
/tmp/kexec_tools_package_install was created to avoid running the
related code thus to avoid the above errors but unfortunately that
approach has two issues a) somehow osbuild doesn't delete it for RHEL b)
this file could still exist if users manually remove kexec-tools.

Fixes: e218128 ("Only try to reset crashkernel for osbuild during package install")
Reported-by: Jan Stodola <jstodola@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-12-22 10:33:00 +08:00
Coiby Xu
bc101086e2 dracut-module-setup.sh: also install the driver of physical NIC for
Hyper-V VM with accelerated networking

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2151842

Currently, vmcore dumping to remote fs fails on Azure Hyper-V VM with
accelerated networking because it uses a physical NIC for accrelarated
networking [1]. In this case, the driver for this physical NIC should be
installed as well.

[1] https://learn.microsoft.com/en-us/azure/virtual-network/accelerated-networking-overview

Fixes: a65dde2d ("Reduce kdump memory consumption by only installing needed NIC drivers")

Reported-by: Xiaoqiang Xiong <xxiong@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-12-20 14:04:49 +08:00
Coiby Xu
3b22cce1cb dracut-module-setup.sh: skip installing driver for the loopback
interface

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2151500

Currently, kdump initrd fails to be built when dumping vmcore to
localhost via ssh or nfs,

  kdumpctl[3331]: Cannot get driver information: Operation not supported
  kdumpctl[1991]: dracut: Failed to get the driver of lo
  dracut[2020]: Failed to get the driver of lo
  kdumpctl[1775]: kdump: mkdumprd: failed to make kdump initrd
  kdumpctl[1775]: kdump: Starting kdump: [FAILED]
  systemd[1]: kdump.service: Main process exited, code=exited, status=1/FAILURE
  systemd[1]: kdump.service: Failed with result 'exit-code'.
  systemd[1]: Failed to start Crash recovery kernel arming.
  systemd[1]: kdump.service: Consumed 1.710s CPU time.

This is because the loopback interface is used for transferring vmcore and
ethtool can't get the driver of the loopback interface. In fact, once
COFNIG_NET is enabled, the loopback device is enabled and there is no driver
for the loopback device. So skip installing driver for the loopback device.
The loopback interface is implemented in linux/drivers/net/loopback.c
and always has the name "lo". So we can safely tell if a network
interface is the loopback interface by its name.

Fixes: a65dde2d ("Reduce kdump memory consumption by only installing needed NIC drivers")
Reported-by: Martin Pitt <mpitt@redhat.com>
Reported-by: Rich Megginson <rmeggins@redhat.com>
Reviewed-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-12-20 14:03:12 +08:00
Coiby Xu
bc4196afc1
Release 2.0.25-4
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-12-07 17:47:58 +08:00
Coiby Xu
b45896c620 dracut-module-setup.sh: stop overwriting dracut's trap handler
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2149246

Latest Workstation live x86_64 image has an excess increase of ~300 MB
in size. This is because kdumpbase module's trap handler overwrites
dracut's handler and DRACUT_TMPDIR which has three unpacked initramfs
files fails to be cleaned up. This patch moves kdumpbase module's
temporary folder under DRACUT_TMPDIR and lets dracut's trap handler do
the cleanup instead.

Fixes: d25b1ee3 ("Add functions to copy NetworkManage connection profiles to the initramfs")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-12-07 17:32:32 +08:00
Hari Bathini
a833624fe5 fadump: avoid status check while starting in fadump mode
With kernel commit 607451ce0aa9b ("powerpc/fadump: register for fadump
as early as possible"), 'kdumpctl start' prematurely returns with the
below message:

    "Kdump already running: [WARNING]"

instead of setting default initrd with dump capture capability as
required for fadump. Skip status check in fadump mode to avoid this
problem.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-12-07 09:43:41 +08:00
Hari Bathini
4a2dcab26a fadump: add a kernel install hook to clean up fadump initramfs
Kdump service will create fadump initramfs when needed, but it won't
clean up the fadump initramfs on kernel uninstall. So create a kernel
install hook to do the clean up job.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-12-07 09:42:29 +08:00
Hari Bathini
25411da966 fadump: fix default initrd backup and restore logic
In case of fadump, default initrd is rebuilt with dump capturing
capability, as the same initrd is used for booting production kernel
as well as capture kernel.

The original initrd file is backed up with a checksum, to restore
it as the default initrd when fadump is disabled. As the checksum
file is not kernel version specific, switching between different
kernel versions and kdump/fadump dump mode breaks the default initrd
backup/restore logic. Fix this by having a kernel version specific
checksum file.

Also, if backing up initrd fails, retaining the checksum file isn't
useful. Remove it.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-12-07 09:42:29 +08:00
Hari Bathini
f98bd5895e fadump: use 'zstd' as the default compression method
If available, use 'zstd' compression method to optimize the size of
the initrd built with fadump support. Also, 'squash+zstd' is not
preferred because more disk space is consumed with 'squash+zstd' due
to the additional binaries needed for fadump with squash case.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-12-07 09:42:29 +08:00
Coiby Xu
e96e441b36 Release 2.0.25-3
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-11-25 17:47:20 +08:00
Lichen Liu
5eb77ee3fa kdumpctl: Optimize _find_kernel_path_by_release regex string
Currently _find_kernel_path_by_release uses grubby and grep to
find the kernel path, if both the normal kernel and it's debug
varient exist, the grep will give more than one kernel strings.

```
kernel="/boot/vmlinuz-5.14.0-139.kpq0.el9.s390x+debug"
kernel="/boot/vmlinuz-5.14.0-139.kpq0.el9.s390x"
```

This will cause an error when installing debug kernel.

```
The param "/boot/vmlinuz-5.14.0-139.kpq0.el9.s390x+debug
/boot/vmlinuz-5.14.0-139.kpq0.el9.s390x" is incorrect
```

Fixes: 945cbbd ("add helper functions to get kernel path by kernel release and the path of current running kernel")

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-25 17:27:15 +08:00
Pingfan Liu
0414386cb8 unit tests: adapt check_config to gen-kdump-conf.sh
Now, kdump.conf is generated by gen-kdump-conf.sh, hence adapting
check_config to run that script firstly then check the generated file.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-11-25 17:27:14 +08:00
Pingfan Liu
787b041aab kdump.conf: use a simple generator script to maintain
This commit has the same motivation as the commit 677da8a "sysconfig:
use a simple generator script to maintain".

At present, only the kdump.conf generated for s390x has a slight
difference from the other arches, where the core_collector asks the
makedumpfile to use "-c" option to compress dump data by each page using
zlib, which is more efficient than lzo on s390x.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-25 17:16:09 +08:00
Coiby Xu
523cda8f34 Don't run kdump_check_setup_iscsi in a subshell in order to collect needed
network interfaces

Currently, dumping to iSCSI target fails because the global array
(unique_netifs) that stores the network interfaces needed by kdump is
empty. The root cause is change of the array made in a subshell (a child
process) is inaccessible to the parent process. So don't run
kdump_check_setup_iscsi in a subshell.

Fixes: 63c3805c ("Set up kdump network by directly copying NM connection profile to initrd")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2022-11-25 13:54:11 +08:00
Coiby Xu
b5577c163a Simplify setup_znet by copying connection profile to initrd
/usr/lib/udev/ccw_init [1] shipped by s390utils extracts the values of
SUBCHANNELS, NETTYPE and LAYER2 from /etc/sysconfig/network-scripts/ifcfg-*
or /etc/NetworkManager/system-connections/*.nmconnection to activate znet
network device. If the connection profile is copied to initrd,
there is no need to set up the "rd.znet" dracut cmdline parameter.

There are two cases addressed by this commit,
 1. znet network interface is a slave of bonding/teaming/vlan/bridging
    network. The connection profile has been copied to initrd by
    kdump_copy_nmconnection_file and it contains the info needed by
    ccw_init.
 2. znet network interface is a slave of bonding/teaming/vlan/bridging
    network. The corresponding ifcfg-*/*.nmconnection file may not contain
    info like SUBCHANNELS [2]. In this case, copy the ifcfg-*/*.nmconnection
    file that has this info to the kdump initrd. Also to prevent the copied
    connection profile from being chosen by NM, set
    connection.autoconnect=false for this connection profile.

With this implementation, there is also no need to check if znet is
used beforehand.

Note
1. ccw_init doesn't care if SUBCHANNELS, NETTYPE and LAYER2 comes from
   an active NM profile or not. If an inactive NM profile contains this
   info, it needs to be copied to the kdump initrd as well.
2. "rd.znet_ifname=$_netdev:${SUBCHANNELS}" is no longer needed needed
   because now there is no renaming of s390x network interfaces when
   reusing NetworkManager profiles. rd.znet_ifname was introduced in
   commit ce0305d ("Add a new option 'rd.znet_ifname' in order to use it
   in udev rules") to address the special case of non-persistent
   MAC address by renaming a network interface by SUBCHANNELS.

[1] https://src.fedoraproject.org/rpms/s390utils/blob/rawhide/f/ccw_init
[2] https://bugzilla.redhat.com/show_bug.cgi?id=2064708

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
9792994f2f Wait for the network to be truly ready before dumping vmcore
nm-wait-online-initrd.service installed by dracut's 35-networkmanager
module calls nm-online with "-s" which means it returns immediately when
NetworkManager logs "startup complete". Thus it doesn't truly wait for
network connectivity to be established [1]. Wait for the network to be
truly ready before dumping vmcore. There are two benefits brought by
this approach,
  - ssh/nfs dumping won't fail because of that the network is not
   ready e.g. [2][3]
  - users don't need to use workarounds like rd.net.carrier.timeout to
    make sure the network is ready

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1485712
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1909014
[3] https://bugzilla.redhat.com/show_bug.cgi?id=2035451

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
568623e69a Address the cases where a NIC has a different name in kdump kernel
A NIC may get a different name in the kdump kernel from 1st kernel
in cases like,
 - kernel assigned network interface names are not persistent e.g. [1]
 - there is an udev rule to rename the NIC in the 1st kernel but the
   kdump initrd may not have that rule e.g. [2]

If NM tries to match a NIC with a connection profile based on NIC name
i.e. connection.interface-name, it will fail the above bases. A simple
solution is to ask NM to match a connection profile by MAC address.
Note we don't need to do this for user-created NICs like vlan, bridge and
bond.

An remaining issue is passing the name of a NIC via the kdumpnic dracut
command line parameter which requires passing ifname=<interface>:<MAC> to
have fixed NIC name. But we can simply drop this requirement. kdumpnic
is needed because kdump needs to get the IP by NIC name and use the IP
to created a dumping folder named "{IP}-{DATE}". We can simply pass the
IP to the kdump kernel directly via a new dracut command line parameter
kdumpip instead. In addition to the benefit of simplifying the code,
there are other three benefits brought by this approach,
  - make use of whatever network to transfer the vmcore. Because  as long
    as we have the network to we don't care which NIC is active.
  - if obtained IP in the kdump kernel is different from the one in the
    1st kernel. "{IP}-{DATE}" would better tell where the dumped vmcore
    comes from.
  - without passing ifname=<interface>:<MAC> to kdump initrd, the
    issue of there are two interfaces with the same MAC address for
    Azure Hyper-V NIC SR-IOV [3] is resolved automatically.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1121778
[2] https://bugzilla.redhat.com/show_bug.cgi?id=810107
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1962421

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
a65dde2d10 Reduce kdump memory consumption by only installing needed NIC drivers
Even after having asked NM to stop managing a unneeded NIC, a NIC driver
may still waste memory. For example, mlx5_core uses a substantial amount
of memory during driver initialization,

======== Report format module_summary: ========
Module mlx5_core using 350.2MB (89650 pages), peak allocation 367.4MB (94056 pages)
Module squashfs using 13.1MB (3360 pages), peak allocation 13.1MB (3360 pages)
Module overlay using 2.1MB (550 pages), peak allocation 2.2MB (555 pages)
Module dns_resolver using 0.9MB (219 pages), peak allocation 5.2MB (1338 pages)
Module mlxfw using 0.7MB (172 pages), peak allocation 5.3MB (1349 pages)
======== Report format module_summary END ========

======== Report format module_top: ========
Top stack usage of module mlx5_core:
  (null) Pages: 89650 (peak: 94056)
    ret_from_fork (0xffffda088b4165f8) Pages: 60007 (peak: 60007)
      kthread (0xffffda088b4bd7e4) Pages: 60007 (peak: 60007)
        worker_thread (0xffffda088b4b48d0) Pages: 60007 (peak: 60007)
          process_one_work (0xffffda088b4b3f40) Pages: 60007 (peak: 60007)
            work_for_cpu_fn (0xffffda088b4aef00) Pages: 53906 (peak: 53906)
              local_pci_probe (0xffffda088b9e1e44) Pages: 53906 (peak: 53906)
                probe_one mlx5_core (0xffffda084f899cc8) Pages: 53518 (peak: 53518)
                  mlx5_init_one mlx5_core (0xffffda084f8994ac) Pages: 49756 (peak: 49756)
                    mlx5_function_setup.constprop.0 mlx5_core (0xffffda084f899100) Pages: 44434 (eak: 44434)
                      mlx5_satisfy_startup_pages mlx5_core (0xffffda084f8a4f24) Pages: 44434 (peak: 44434)
                    mlx5_function_setup.constprop.0 mlx5_core (0xffffda084f899078) Pages: 5285 (peak: 5285)
                      mlx5_cmd_init mlx5_core (0xffffda084f89e414) Pages: 4818 (peak: 4818)
                        mlx5_alloc_cmd_msg mlx5_core (0xffffda084f89aaa0) Pages: 4403 (peak: 4403)

This memory consumption is completely unnecessary when kdump doesn't need
this NIC. Only install needed NIC drivers to prevent this kind of waste.

Note
1. this patch depends on [1] to ask dracut to not install NIC drivers.
2. "ethtool -i" somehow fails to get the vlan driver
3. team.ko doesn't depend on the team mode drivers so we need to install
   the team mode drivers manually.

[1] https://github.com/dracutdevs/dracut/pull/1789

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
586fe410aa Reduce kdump memory consumption by not letting NetworkManager manage unneeded network interfaces
By default, NetworkManger will manage all the network interfaces and
try to set interface IFF_UP to get carrier state. Regardless of whether
the network interface is connected to a cable or not, the NIC driver
will allocate memory resources for e.g. ring buffers when setting IFF_UP.
This could be a waste of memory. For example it's found i40e consumes ~15GB
on a power machine. On this machine, i40e manages four interfaces but only
one interface is valid. This patch use "managed=false" to tell
NetworkManager to not manage network interfaces that are not needed by
kdump by putting 10-kdump-netif_allowlist.conf in the initramfs.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
63c3805c48 Set up kdump network by directly copying NM connection profile to initrd
This patch setup kdump network by directly copying NM connection profile(s)
for different network setup including bond, bridge, vlan, and team. For
vlan network, rename phydev to parent_netif to improve code readability.

With the new approach, the related code to build up dracut cmdline
parameter such rd.route, ip and etc can be cleaned up. And there is no
need to setup dns when copying .nmconnection directly to initrd
either. Note the bootdev dracut command line parameter is only used by
dracut's 35network-legacy and network-manager doesn't use it, remove
related code as well.

Note
1. kdump_setup_vlan/bond/... are no longer called in subshells in order
   to modify global variables like unique_netifs
2. The original kdump_install_net is renamed to better reflect its
   current function

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
62355ebe5a Stop dracut 35network-manager from running nm-initrd-generator
kexec-tools depends on dracut's 35network-manager module which will
call nm-initrd-generator. We don't want nm-initrd-generator to generate
connection profiles since we  will copy them from 1st kernel to
kdump kernel initramfs. NetworkManager >= 1.35.2 won't generate connection
profiles if there's a connection dir with rd.neednet. For Fedora/RHEL,
this connection dir is /etc/NetworkManager/system-connections. For the
details, please refer to the NetworkManager commit 79885656d3
("initrd: don't add a connection if there's a connection dir with
rd.neednet") [1]. Before the release of NetworkManager >= 1.35.2, we
need to mask /usr/libexec/nm-initrd-generator.

[1] https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1010

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
6b586a9036 Apply the timeout configuration of nm-initrd-generator
nm-wait-online-initrd.service installed by dracut's 35-networkmanager
module calls nm-online with "-s" which means it returns immediately when
NetworkManager logs "startup complete" after certain timeouts are
reached. "startup complete" doesn't necessarily network connectivity has
been established. nm-initrd-generator has a set of timeouts that in most
of cases when applied, "startup-complete" means network connectivity has
been established. So apply it when setting up kdump network.

Suggested-by: Thomas Haller <thaller@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
9dfcacf72d Determine whether IPv4 or IPv6 is needed
According to `man nm-online`,
  "By default, connections have the ipv4.may-fail and
  ipv6.may-fail properties set to yes; this means that
  NetworkManager waits for one of the two address families to
  complete configuration before considering the connection
  activated. If you need a specific address family configured
  before network-online.target is reached, set the corresponding
  may-fail property to no."

If a NIC has an IPv4 or IPv6 address, set the corresponding may-fail
property to no. Otherwise, dumping vmcore over IPv6 could fail because
only IPv4 network is ready or vice versa.

Also disable IPv6 if only IPv4 is used and vice versa.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
d25b1ee31c Add functions to copy NetworkManage connection profiles to the initramfs
Each network interface is manged by a NM connection. Given a list of
network interface names, copy the NetworkManager (NM) connection
profiles i.e. .nmconnection files to the kdump initramfs.

Before copying a connection file, clone it to automatically convert a
legacy ifcfg-*[1] file to a .nmconnection file and for the convenience of
editing the connection profile.

[1] https://fedoraproject.org/wiki/Changes/NetworkManager_keyfile_instead_of_ifcfg_rh

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
b7e58619d1 Fix error for vlan over team network interface
6f9235887f ("module-setup.sh: enable
vlan on team interface") skips establishing teaming network by mistake.
Although it could use one of slave netifs to establish connection
to transfer vmcore to remote fs, it breaks the implicit assumption of
creating an identical network topology to the 1st kernel.

Fixes: 6f92358 ("module-setup.sh: enable vlan on team interface")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Thomas Haller <thaller@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-23 06:39:27 +08:00
Coiby Xu
a3da46d6c4 Skip reset_crashkernel_after_update during package install
Currently, kexec-tools tries to reset crashkernel when using anaconda to
install the system. But grubby isn't ready and complains that,
  10:34:17,014 INF packaging: Configuring (running scriptlet for): kexec-tools-2.0.23-9.el9.x86_64 1646034766 53ff7158f8808774f4e3c3c87e504aa7a6d677b537754dac86c87925c8f0a397
  10:34:17,205 INF dnf.rpm: grep: /boot/grub2/grubenv: No such file or directory
  grep: /boot/grub2/grubenv: No such file or directory
  grep: /boot/grub2/grubenv: No such file or directory

kexec-tools is supposed to update the kernel crashkernel parameter after
package upgrade. Unfortunately, the posttrans RPM scriptlet doesn't
distinguish between package install and upgrade. This patch skips
reset_crashkernel_after_update as similar to e218128e ("Only try to
reset crashkernel for osbuild during package install").

Reported-by: Jan Stodola <jstodola@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-11-18 17:22:39 +08:00
Tao Liu
3ae8cf8876 Don't check fs modified when dump target is lvm2 thinp
When the dump target is lvm2 thinp, if we didn't mount
the dump target first, get_fs_type_from_target will get
empty output:

Before mount:
$ get_fs_type_from_target /dev/vg00/thinlv

After mount:
$ mount /dev/vg00/thinlv /mnt
$ get_fs_type_from_target /dev/vg00/thinlv
ext4

As a result, kdumpctl start will fail with:
$ kdumpctl start
kdump: Dump target is invalid
kdump: Starting kdump: [FAILED]

This patch fix the issue by bypassing check_fs_modified
when the dump target is lvm2 thinp.

Signed-off-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <prudo@redhat.com>
2022-11-11 10:29:02 +08:00
Coiby Xu
cea74a7b3e tests: use .nmconnection to set up test network
F36 has dropped support on ifcfg and as a result current network tests
fails. Use .nmconnection to set up test network instead.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-09 14:07:29 +08:00
Hari Bathini
f33c99e347 fadump: preserve file modification time to help with hardlinking
With commit fa9201b2 ("fadump: isolate fadump initramfs image within
the default one"), initramfs image gets to hold two images, one for
production kernel boot purpose and the other for capture kernel boot.
Most files are common among the two images. Retain file modification
time to replace duplicate files with hardlinks and save space. Also,
avoid unnecessarily compressing fadump image that is decompressed
immediately anyway.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-09 14:07:29 +08:00
Hari Bathini
55b0dd03b3 fadump: do not use squash to reduce image size
With commit fa9201b2 ("fadump: isolate fadump initramfs image within
the default one"), initramfs image gets to hold two squash images, one
for production kernel boot purpose and the other for capture kernel
boot. Having separate images improved reliability for both production
kernel and capture kernel boot scenarios, but the size of initramfs
image became considerably larger.

Instead of having squash images, compressing $initdir without using
squash images reduced the size of initramfs image for fadump case by
around 30%. So, avoid using squash for fadump case.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-09 14:07:29 +08:00
Tao Liu
6d2c22bb81 selftest: Add lvm2 thin provision for kdump test
Signed-off-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-01 12:20:34 +08:00
Tao Liu
68978f9241 selftest: Only iterate the .sh files for test execution
Previously, all files within $TESTCASEDIR/$test_case are regarded
as shell script files for testing. However there might be config
files under the directory. So let's only iterate the .sh files.

Signed-off-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-01 12:20:34 +08:00
Tao Liu
f11721077a Add dependency of dracut lvmthinpool-monitor module
The 80lvmthinpool-monitor module is needed for monitor and
autoextend the size of thin pool in 2nd kernel. The module was
integrated in dracut version 057.

If lvmthinpool-monitor module is not found, we will print a warning.
Because we don't want to block the kdump process when the thin pool
capacity is enough and no monitor-and-autoextend actually needed.

Signed-off-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-01 12:20:34 +08:00
Tao Liu
10ca970940 lvm.conf should be check modified if lvm2 thinp enabled
lvm2 relies on /etc/lvm/lvm.conf to determine its behaviour. The
important configs such as thin_pool_autoextend_threshold and
thin_pool_autoextend_percent will be used during kdump in 2nd
kernel. So if the file is modified, the initramfs should be
rebuild to include the latest.

Signed-off-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-01 12:20:34 +08:00
Tao Liu
0a5b71d123 Add lvm2 thin provision dump target checker
We need to check if a directory or a device is lvm2 thinp target.

First, we use get_block_dump_target() to convert dump path into
block device, then we check if the device is lvm2 thinp target by
cmd lvs.

is_lvm2_thinp_device is now located in kdump-lib-initramfs.sh, for it
will be used in 2nd kernel. is_lvm2_thinp_dump_target is located in
kdump-lib.sh, for it is only used in 1st kernel, and it has dependencies
which exist in kdump-lib.sh.

Signed-off-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-11-01 12:20:34 +08:00
Coiby Xu
995ee24903 Release 2.0.25-2
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-10-27 16:00:11 +08:00
Coiby Xu
fdad7d9869 Skip reading /etc/defaut/grub for s390x
Currently, updating kexec-tools on s390x gives the warning
sed: can't read /etc/default/grub: No such file or directory

This happens because s390x doesn't use GRUB and /etc/default/grub
doesn't exist. We need to skip both reading and writing to
/etc/default/grub.

Reported-by: Jie Li <jieli@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-10-27 14:42:27 +08:00
Coiby Xu
6ce4b85bb3 Include the memory overhead cost of cryptsetup when estimating the memory requirement for LUKS-encrypted target
Currently, "kdumpctl estimate" neglects the memory overhead cost of
cryptsetup itself. Unfortunately, there is no golden formula to
calculate the overhead cost [1]. So estimate the overhead cost as 50M
for aarch64 and 20M for other architectures based on the following
empirical data,

| Overhead (M) | OS                                        | arch    |
| ------------ | ----------------------------------------- | ------- |
| 14.1         | RHEL-9.2.0-20220829.d.1                   | ppc64le |
| 14           | Fedora-37-20220830.n.0 Everything ppc64le | ppc64le |
| 17           | Fedora 36                                 | ppc64le |
| 8.8          | Fedora 35                                 | s390x   |
| 10.1         | Fedora-Rawhide-20220829.n.0, fc38         | s390x   |
| 42           | Fedora-Rawhide-20220829.n.0, fc38         | arch64  |
| 40           | F35                                       | arch64  |
| 42           | F36                                       | arch64  |
| 42           | Fedora-Rawhide-20220901.n.0               | arch64  |
| 10           | F35                                       | x86_64  |
| 10           | Fedora-Rawhide-20220901.n.0               | x86_64  |
| 11           | Fedora-Rawhide-20220901.n.0               | x86_64  |

[1] https://lore.kernel.org/cryptsetup/20220616044339.376qlipk5h2omhx2@Rk/T/#u

Fixes: e9e6a2c ("kdumpctl: Add kdumpctl estimate")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-10-26 15:38:21 +08:00
Coiby Xu
50a8461fc7 Choosing the most memory-consuming key slot when estimating the
memory requirement for LUKS-encrypted target

When there are multiple key slots, "kdumpctl estimate" uses the least
memory-consuming key slot. For example, when there are two memory slots
created with --pbkdf-memory=1048576 (1G) and --pbkdf-memory=524288 (512M),
"kdumpctl estimate" thinks the extra memory requirement is only 512M.
This will of course lead to OOM if the user uses the more
memory-consuming key slot. Fix it by sorting in reverse order.

Fixes: e9e6a2c ("kdumpctl: Add kdumpctl estimate")
Signed-off-by: Coiby Xu <coxu@redhat.com>

Reviewed-by: Lichen Liu <lichliu@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-10-26 15:34:08 +08:00
Coiby Xu
15122b3f98 Fix grep warnings "grep: warning: stray \ before -"
Latest grep (3.8) warnings about unneeded backslashes when building
kdump initrd [1],
    kdump: Rebuilding /boot/initramfs-6.0.0-0.rc5.a335366bad13.40.test.fc38.aarch64kdump.img
    grep: warning: stray \ before -
    grep: warning: stray \ before -
    grep: warning: stray \ before -
    grep: warning: stray \ before -
    grep: warning: stray \ before -

Some warnings can be avoided by using "sed -n" to remove grep and the
others can use the -- argument.

[1] https://s3.us-east-1.amazonaws.com/arr-cki-prod-datawarehouse-public/datawarehouse-public/2022/09/17/redhat:643020269/build_aarch64_redhat:643020269_aarch64/tests/4/results_0001/job.01/recipes/12617739/tasks/5/logs/taskout.log

Reported-by: Baoquan He <bhe@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Suggested-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-10-26 14:16:04 +08:00
Coiby Xu
e218128e28 Only try to reset crashkernel for osbuild during package install
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2060319

Currently, kexec-tools tries to reset crashkernel when using anaconda to
install the system. But grubby isn't ready and complains that,
  10:33:17,631 INF packaging: Configuring (running scriptlet for): kernel-core-5.14.0-70.el9.x86_64 1645746534 03dcd32db234b72440ee6764d59b32347c5f0cd98ac3fb55beb47214a76f33b4
  10:34:16,696 INF dnf.rpm: grep: /boot/grub2/grubenv: No such file or directory
  grep: /boot/grub2/grubenv: No such file or directory

We only need to try resetting crashkernel for osbuild. Skip it for other
cases. To tell if it's package install instead of package upgrade, make
use of %pre to write a file /tmp/kexec-tools-install when "$1 == 1" [1].

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_syntax

Reported-by: Jan Stodola <jstodola@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Lichen Liu <lichenliu@redhat.com>
2022-10-20 13:54:10 +08:00
Coiby Xu
a7ead187a4 Prefix reset-crashkernel-{for-installed_kernel,after-update} with underscore
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2048690

To indicate they are for internal use only, underscore them.

Reported-by: rcheerla@redhat.com
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Lichen Liu <lichenliu@redhat.com>
2022-10-20 13:54:10 +08:00
Tao Liu
fc1c79ffd2 Seperate dracut and dracut-squash compressor for zstd
Previously kexec-tools will pass "--compress zstd" to dracut. It
will make dracut to decide whether: a) call mksquashfs to make a
zstd format squash-root.img, b) call cmd zstd to make a initramfs.

Since dracut(>= 057) has decoupled the compressor for dracut and
dracut-squash, So in this patch, we will pass the compressor seperately.

Note:

The is_squash_available && !dracut_has_option --squash-compressor
&& !is_zsdt_command_available case is left unprocessed on purpose.

Actually, the situation when we want to call zstd compression is:
1) If squash function OK, we want dracut to invoke mksquashfs to make
a zstd format squash-root.img within initramfs.
2) If squash function is not OK, and cmd zstd presents, we want dracut
to invoke cmd zstd to make a zstd format initramfs.

is_zstd_command_available check can handle case 2 completely.

However, for the is_squash_available check, it cannot handle case 1
completely. It only checks if the kernel supports squashfs, it doesn't
check whether the squash module has been added by dracut when making
initramfs. In fact, in kexec-tools we are unable to do the check,
there are multiple ways to forbit dracut to load a module, such as
"dracut -o module" and "omit_dracutmodules in dracut.conf".

When squash dracut module is omitted, is_squash_available check will
still pass, so "--compress zstd" will be appended to dracut cmdline,
and it will call cmd zstd to do the compression. However cmd zstd may
not exist, so it fails.

The previous "--compress zstd" is ambiguous, after the intro of
"--squash-compressor", "--squash-compressor" only effect for
mksquashfs and "--compress" only effect for specific cmd.

So for the is_squash_available && !dracut_has_option
--squash-compressor && !is_zsdt_command_available case, we just leave
it to be handled the default way.

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Tao Liu <ltao@redhat.com>
2022-10-20 12:26:37 +08:00
Tao Liu
bea6143178 Fix the sync issue for dump_fs
Previously the sync for dump_fs is problematic, it always
return success according to man 2 sync. So it cannot detect
the error of the dump target is full and not all of vmcore
data been written back the disk, which will leave the vmcore
imcomplete and report misleading log as "saving vmcore
complete".

In this patch, we will use "sync -f vmcore" instead, which
will return error if syncfs on the dump target fails. In
this way, vmcore sync related failures, such as autoextend
of lvm2 thinpool fails, can be detected and handled properly.

Signed-off-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-10-08 15:46:11 +08:00
Tao Liu
c743881ae6 virtiofs support for kexec-tools
This patch add virtiofs support for kexec-tools by introducing a new option
for /etc/kdump.conf:

virtiofs myfs

Where myfs is a variable tag name specified in qemu cmdline
"-device vhost-user-fs-pci,tag=myfs".

The patch covers the following cases:
1) Dumping VM's vmcore to a virtiofs shared directory;
2) When the VM's rootfs is a virtiofs shared directory and dumping the
   VM's vmcore to its subdirectory, such as /var/crash;
3) The combination of case 1 & 2: The VM's rootfs is a virtiofs shared
   directory and dumping the VM's vmcore to another virtiofs shared
   directory.

Case 2 & 3 need dracut >= 057, otherwise VM cannot boot from virtiofs
shared rootfs. But it is not the issue of kexec-tools.

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Tao Liu <ltao@redhat.com>
2022-09-29 12:22:49 +08:00
Hari Bathini
d905d49c08 fadump: avoid non-debug kernel use for fadump case
Since commit c5bdd2d8f1 ("kdump-lib: use non-debug kernels first"),
non-debug kernel is preferred, over the debug variant, as dump capture
kernel to reduce memory consumption. This works alright for kdump as
the capture kernel is loaded using kexec.

In case of fadump, regular boot loader is used to load the capture
kernel. So, the default kernel needs to be used as capture kernel as
well. But with commit c5bdd2d8f1, initrd of a different kernel is
made dump capture capable, breaking fadump's ability to capture dump
properly. Fix this by sticking with the debug variant in case of
fadump.

Fixes: c5bdd2d8f1 ("kdump-lib: use non-debug kernels first")

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Lichen Liu <lichliu@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-09-23 14:23:38 +08:00
Lichen Liu
4d52b7d548 mkdumprd: Improve error messages on non-existing NFS target directories
When kdump is configured with a NFS location, and the remote directory does
not exist, kdump.service fails with a confusing error message.

    kdumpctl[2172]: kdump: Dump path "/tmp/mkdumprd.ftWhOF/target/dumps"
    does not exist in dump target "10.111.113.2:/srv/kdump"

We just need to print the remote directory "dumps" in such case, because
"/tmp/mkdumprd.ftWhOF/target" is the local temporary mount point.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Coiby Xu<coxu@redhat.com>
2022-09-21 13:30:14 +08:00
Lichen Liu
4edcd9a400 kdumpctl: make the kdump.log root-readable-only
Decrease the risk that of leaking information that could potentially
be used to exploit the crash further (think location of keys).

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-09-06 20:21:31 +08:00
Kairui Song
677da8a59b sysconfig: use a simple generator script to maintain
These kdump.sysconfig.* files are almost identical with a bit difference
in several parameters, just use a simple script to generate them upon
packaging. This should make it easier to maintain, updating a comment or
param for a certain arch can be done in one place.

There are only some comment or empty option differences with the generated
version because some arch's sysconfig is not up-to-dated, this actually
fixes the issue, I used the following script to check these differences:

 # for arch in aarch64 i386 ppc64 ppc64le s390x x86_64; do
   ./gen-kdump-sysconfig.sh $arch > kdump.sysconfig.$arch.new
   git checkout HEAD^ kdump.sysconfig.$arch &>/dev/null
   echo "$arch:"
   diff kdump.sysconfig.$arch kdump.sysconfig.$arch.new; echo ""
   done; git reset;

Signed-off-by: Kairui Song <kasong@tencent.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-08-16 14:35:35 +08:00
Coiby Xu
aa84244346 Release 2.0.25-1
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-08-03 20:14:23 +08:00
Coiby Xu
2d5df7a512 tests: specify the Fedora version when running fedpkg sources
So fedpkg will fetch the sources that matches given Fedora version.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-08-03 20:14:12 +08:00
Coiby Xu
f91711ba8e tests: specify the backing format for the backing file when using qemu-img create
New version of qemu-img requires specifying the backing format for the
backing file otherwise it will abort.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-08-03 20:14:12 +08:00
Coiby Xu
d347ad591f tests: correctly mount the root and also the boot partitions for Fedora 35, 36 and rawhide Cloud Base Image
Fedora 33 and 34 Cloud Base Images have only one partition with the
following directory structure,
.
├── bin -> usr/bin
├── boot
├── dev
├── etc
├── home
├── root

By comparison, Fedora 35, 36 and 37 Cloud Base Images have multiple
partitions. The root partition which is the last partition has the
following directory,
.
├── home
└── root
    ├── bin -> usr/bin
    ├── boot
    ├── dev
    ├── etc
    ├── home
    ├── root

and the 2nd partition is the boot partition.

This patch address the above changes by mounting {LAST_PARTITION}/root as
to TEMP_ROOT and mount SECOND_PARTITION to TEMP_ROOT/boot. So the test
image can be built successfully.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-08-03 20:14:12 +08:00
Coiby Xu
4d1e02d340 remind the users to run zipl after calling grubby on s390x
s390x doesn't use GRUB. To make sure the boot entries are updated, call
zipl after running grubby.

Suggested-by: smitterl@redhat.com
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-08-03 11:09:55 +08:00
Coiby Xu
58eef4582a remove useless --zipl when calling grubby to update kernel command line
"grubby --zipl" only takes effect when setting default kernel. It's
useless to add "--zipl" when updating kernel command line. Also rename
_update_grub to _update_kernel_cmdline since s390x doesn't use GRUB.

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-08-03 11:09:45 +08:00
Coiby Xu
e8ae897595 skip updating /etc/default/grub for s390x
Resolves: bz2104534

When running "kdumpctl reset-crashkernel --kernel=ALL" on s390x,
sed: can't read /etc/default/grub: No such file or directory
sed: can't read /etc/default/grub: No such file or directory

This happens because s390x doesn't use the grub bootloader and
/etc/default/grub doesn't exist.

Reported-by: smitterl@redhat.com
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-08-03 11:09:37 +08:00
Coiby Xu
f6bcd819fc use /run/ostree-booted to tell if scriptlet is running on OSTree system
Resolves: bz2092012

According to the ostree team [1], the existence of /run/ostree-booted
> is the most stable way to signal/check that a system has been
> booted in ostree-style.  It is also used by rpm-ostree at
> compose/install time in the sandboxed environment where scriptlets run,
> in order to signal that the package is being installed/composed into
> an ostree commit (i.e. not directly on a live system).  See
> 8ddf5f40d9/src/libpriv/rpmostree-scripts.cxx (L350-L353)
> for reference.

By checking the existence of /run/ostree-booted, we could skip trying to
update kernel cmdline during OSTree compose time.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2092012#c3

Reported-by: Luca BRUNO <lucab@redhat.com>
Suggested-by: Luca BRUNO <lucab@redhat.com>
Fixes: 0adb0f4 ("try to reset kernel crashkernel when kexec-tools updates the default crashkernel value")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Acked-by: Timothée Ravier <siosm@fedoraproject.org>
2022-08-03 11:07:47 +08:00
Coiby Xu
da0ca0d205 Allow to update kexec-tools using virt-customize for cloud base image
Resolves: bz2089871

Currently, kexec-tools can't be updated using virt-customize because
older version of kdumpctl can't acquire instance lock for the
get-default-crashkernel subcommand. The reason is /var/lock is linked to
/run/lock which however doesn't exist in the case of virt-customize.

This patch fixes this problem by using /tmp/kdump.lock as the lock
file if /run/lock doesn't exist.

Note
1. The lock file is now created in /run/lock instead of /var/run/lock since
   Fedora has adopted adopted /run [2] since F15.
2. %pre scriptlet now always return success since package update won't
   be blocked

[1] https://fedoraproject.org/wiki/Features/var-run-tmpfs

Fixes: 0adb0f4 ("try to reset kernel crashkernel when kexec-tools updates the default crashkernel value")

Reported-by: Nicolas Hicher <nhicher@redhat.com>
Suggested-by: Laszlo Ersek <lersek@redhat.com>
Suggested-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-08-02 18:36:34 +08:00
Pingfan Liu
d593bfa6fc KDUMP_COMMANDLINE: remove irqpoll parameter on aws aarch64 platform
Currently, kdump may experience failure on some aws aarch64 platform.
The final scenario is:

    [   79.145089] printk: console [ttyS0] disabled
Then the system has no response any more. And after reboot, there is no
vmcore generated under /var/crash/. More detail [1].

In a short word, it is caused by the irqpoll policy and some unknown
acpi issue. The serial device is hot-removed as a pci device.

More detailed, the irqpoll policy demands to iterate over all interrupt
handler, if the interrupt line is shared, then the handler is
dispatched. And acpi handler acpi_irq() is on a shared interrupt line,
so it is called.  But for some unknown reason, the acpi hardware regs
hold wrong state, and the acpi driver decides that a hot-removed event
happens on a pci slot, which finally removes the pci serial device.

To tackle this issue by removing the irqpoll parameter on aws aarch64
platform, until the real root cause in acpi is found and resolved.

[1]: https://bugzilla.redhat.com/show_bug.cgi?id=2080468#c0

Signed-off-by: Pingfan Liu <piliu@redhat.com>

Acked-by: Coiby Xu <coxu@redhat.com>
2022-07-21 19:03:37 +08:00
Coiby Xu
c735539b35 Release 2.0.24-4
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-07-21 16:42:43 +08:00
Baoquan He
1913ea9118 Checking the existence of 40-redhat.rules before modifying
Resolves: bz2106645

The code of commit 163c02970e takes effect in rhel firstly, later
pulled to Fedora. However, Fedora OS doesn't have 40-redhat.rules
in systemd-udev package. With this commit applied, a false positive
warning message can always been seen as below.

So fixing it by checking if 40-redhat.rules exists before handling.
With this change, the false warning is gone.

[root@ ~]# kdumpctl restart
kdump: kexec: unloaded kdump kernel
kdump: Stopping kdump: [OK]
kdump: No kdump initial ramdisk found.
kdump: Rebuilding /boot/initramfs-5.19.0-rc6+kdump.img
sed: can't read /var/tmp/dracut.NnAV2g/initramfs/usr/lib/udev/rules.d/40-redhat.rules: No such file or directory
kdump: kexec: loaded kdump kernel
kdump: Starting kdump: [OK]

Signed-off-by: Baoquan He <bhe@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2022-07-21 15:02:32 +08:00
Lichen Liu
ed9cbec2ee kdump-lib: Add the CoreOS kernel dir to the boot_dirlist
The kernel of CoreOS is not in the standard locations, add
/boot/ostree/* to the boot_dirlist to find the vmlinuz.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-06-30 16:00:06 +08:00
Dusty Mabe
f9c32372d2 kdump-lib: attempt to fix BOOT_IMAGE detection
Currently $boot_img can get bad data if running on a platform
that doesn't set BOOT_IMAGE in the kernel command line. For
example, currently:

- s390x Fedora CoreOS machine:

```
[root@cosa-devsh ~]# sed "s/^BOOT_IMAGE=\((\S*)\)\?\(\S*\) .*/\2/" /proc/cmdline
mitigations=auto,nosmt ignition.platform.id=qemu ostree=/ostree/boot.0/fedora-coreos/2a72567ac8f7ed678c3ac89408f795e6ccd4e97b41e14af5f471b6a807e858b9/0 root=UUID=2a88436a-3b6b-4706-b33a-b8270bd87cde rw rootflags=prjquota boot=UUID=f4b2eaa5-9317-4798-85cf-308c477fee4c crashkernel=600M
```

where on a platform that uses GRUB we get:

- x86_64 Fedora CoreOS machine:

```
[root@cosa-devsh ~]# sed "s/^BOOT_IMAGE=\((\S*)\)\?\(\S*\) .*/\2/" /proc/cmdline
/ostree/fedora-coreos-af4f6cc7b9ff486cfa647680b180e989c72c8eed03a34a42e7328e49332bd20e/vmlinuz-5.18.5-200.fc36.x86_64
```

We should change the setting of the boot_img variable such that it will
be empty if BOOT_IMAGE doesn't exist.

With this change on the s390x machine:

```
[root@cosa-devsh ~]# grep -P -o '^BOOT_IMAGE=(\S+)' /proc/cmdline | sed "s/^BOOT_IMAGE=\((\S*)\)\?\(\S*\)/\2/"
[root@cosa-devsh ~]#
```

This change mattered much more before the change in c5bdd2d which changed
the following line from [[ -n $boot_img ]] to [[ "$boot_img" == *"$kdump_kernelver" ]].
Still I think this change has merit.

Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-06-30 16:00:06 +08:00
Dusty Mabe
a1ebf0b565 kdump-lib: change how ostree based systems are detected
The current recommendation is to check for /run/ostree-booted.

See https://bugzilla.redhat.com/show_bug.cgi?id=2092012#c0

Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-06-30 16:00:06 +08:00
Dusty Mabe
980f10aa40 kdump-lib: clear up references to Atomic/CoreOS
There are many variants on OSTree based systems these days so
we should probably refer to the class of systems as "OSTree
based systems". Also, Atomic Host is dead.

Signed-off-by: Dusty Mabe <dusty@dustymabe.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-06-30 16:00:06 +08:00
Pingfan Liu
b92bc6e0a7 crashkernel: optimize arm64 reserved size if PAGE_SIZE=4k
On RHEL9 and Fedora, the arm64 platform only supports 4KB page size.
the reserved memory size can be aligned to that on x86_64.

Introducing a new formula for 4KB on arm64, which bases on x86_64 plus
extra 64MB.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2022-06-15 09:08:03 +08:00
Lichen Liu
c5bdd2d8f1 kdump-lib: use non-debug kernels first
Kdump uses currently running kernel as default, but when currently
running kernel is a debug kernel, it will consume more memory,
which may cause out-of-memory and fail to collect vmcore.

Now we will try to use non-debug kernels first if possible.

Also extract the logic of determine KDUMP_KERNEL from
prepare_kdump_bootinfo into a function. This function will return
KDUMP_KERNEL given a kernel version.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-06-14 09:36:03 +08:00
Coiby Xu
6f9653b918 Release 2.0.24-3
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-05-23 18:26:42 +08:00
Coiby Xu
8f7ffb1a00 Update makedumpfile to 1.7.1
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-05-23 18:26:42 +08:00
Dusty Mabe
218d9917c0
kdump.sysconfig*: add ignition.firstboot to KDUMP_COMMANDLINE_REMOVE
For CoreOS based systems we use Ignition for provisioning machines
in the initramfs on first boot. We trigger Ignition right now by
the presence of `ignition.firstboot` in the kernel command line. The
kernel argument is only present on first boot so after a reboot it
no longer is in the kernel command line.

If a kernel crash happens before the first reboot of a machine we
want the `ignition.firstboot` kernel argument to be removed and not
passed on to the crash kernel.
2022-05-16 14:04:12 -04:00
Coiby Xu
1101190e1c unit tests: add tests for get_system_size and get_recommend_size
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-05-13 11:03:22 +08:00
Coiby Xu
4f702c81e9 improve get_recommend_size
This patch rewrites get_recommend_size to get rid of the following
limitations,
1. only supports ranges in crashkernel sorted in increasing order
2. the first entry of crashkernel should have only a single digit and
   it's in gigabytes

Suggested-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-05-13 11:03:22 +08:00
Coiby Xu
5c23b6ebb7 fix a calculation error in get_system_size
Recently, it's found 'kdumpctl estimate' returns 512M while the system
reserves 1024M kdump memory in a case. This happens because the ranges
in /proc/iomem are inclusively. For example, "0-1: System RAM" means 2
bytes of system memory other than 1 byte. Fix this error by adding one
more byte.

Note
1. the function has been simplified as well.
2. define PROC_IOMEM as /proc/iomem for the sake of unit tests

Reported-by: Ruowen Qin <ruqin@redhat.com>
Fixes: 1813189 ("kdump-lib.sh: introduce functions to return recommened mem size")
Suggested-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-05-13 11:03:22 +08:00
Kairui Song
3d70f8b049 logger: save log after all kdump progress finished
Make log saving the last step of kdump.sh, so it can catch more info,
for example, the output of post.d hooks will be covered by the log now.

Signed-off-by: Kairui Song <kasong@tencent.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-04-29 16:22:41 +08:00
Coiby Xu
1facd0c118 fix incorrect date format in changelog
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-24 11:38:48 +08:00
Coiby Xu
d5b01d7ef0 Release 2.0.24-2
A issue of bogus date in %changelog is fixed as well.

Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-24 10:38:04 +08:00
Coiby Xu
be20580b06 remove the upper bound of default crashkernel value example
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-24 09:35:05 +08:00
Coiby Xu
695e5b8676 update fadump-howto
1. yum is deprecated so use dnf instead
2. use the "kdumpctl reset-crashkernel --fadump=on" API

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-24 09:35:05 +08:00
Coiby Xu
1e7df3e1f3 update kexec-kdump-howto
1. yum is deprecated so use dnf instead
2. use the "kdumpctl reset-crashkernel" API
3. ask the users to refer to crashkernel-howto.txt for setting custom
   crashkernel value
4. fix a typo

Philipp Rudo <prudo@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-24 09:35:05 +08:00
Coiby Xu
683ff87821 update crashkernel-howto
1. clean up left crashkernel.default
2. fix a few typos and grammar mistakes
3. ask the users to refer to `man kdumpctl` for reset-crashkernel

Philipp Rudo <prudo@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-24 09:35:05 +08:00
Coiby Xu
a1c63fa644 add man documentation for kdumpctl get-default-crashkernel
A few typos and grammar issues are fixed as well.

Philipp Rudo <prudo@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-24 09:35:05 +08:00
Coiby Xu
3d4cb38d96 unit tests: add check_config with with the default kdump.conf
This test prevents the mistake of adding an option to kdump.conf
without changing check_config as is the case with commit 73ced7f
("introduce the auto_reset_crashkernel option to kdump.conf").

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-14 11:45:33 +08:00
Coiby Xu
e28a1399a3 unit tests: add tests for kdump_get_conf_val in kdump-lib-initramfs.sh
kdump_get_conf_val allows to retrieves config value defined in
kdump.conf and it also supports sed regex like
"ext[234]\|xfs\|btrfs\|minix\|raw\|nfs\|ssh".

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-14 11:45:18 +08:00
Coiby Xu
e00b45d75f unit tests: add tests for "kdumpctl reset-crashkernel"
This commit adds a relatively thorough test suite for
kdumpctl reset-crashkernel [--fadump=[on|off|nocma]]  [--kernel=path_to_kernel] [--reboot]
as implemented in commit 140da74 ("rewrite reset_crashkernel to support
fadump and to used by RPM scriptlet").

grubby have a few options to support its own testing,
 - --no-etc-grub-update, not update /etc/default/grub
 - --bad-image-okay, don't check the validity of the image
 - --env, specify custom grub2 environment block file to avoid modifying
   the default /boot/grub2/grubenv
 - --bls-directory, specify custom BootLoaderSpec config files to avoid
   modifying the default /boot/loader/entries

So the grubby called by kdumpctl is mocked as
@grubby --grub2 --no-etc-grub-update --bad-image-okay --env=$SPEC_TEST_DIR/env_temp -b $SPEC_TEST_DIR/boot_load_entries "$@"
in the tests. To be able to call the actual grubby in the mock function [1],
ShellSpec provides the following command
$ shellspec --gen-bin @grubby
to generate spec/support/bins/@grubby which is used to call the actual grubby.

kdumpctl has implemented its own version of updating /etc/default/grub
in _update_kernel_cmdline_in_grub_etc_default. To avoiding writing to
/etc/default/grub, this function is mocked as outputting its name and
received arguments similar to python unitest's assert_called_with.

[1]  https://github.com/shellspec/shellspec#execute-the-actual-command-within-a-mock-function

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-14 11:45:08 +08:00
Coiby Xu
ea8b06df83 unit tests: add tests for _{update,read}_kernel_arg_in_grub_etc_default in kdumpctl
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-14 11:45:01 +08:00
Coiby Xu
6506bd9b1b unit tests: add tests for kdumpctl read_proc_environ_var and _is_osbuild
AfterAll is an example group hook [1] which would be run after the group
tests are executed. Use this hook to clean up the files created by mktemp.

[1] https://github.com/shellspec/shellspec#beforeall-afterall---example-group-hook

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-14 11:44:54 +08:00
Coiby Xu
59386d5a8b unit tests: add tests for get_dump_mode_by_fadump_val
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-14 11:44:45 +08:00
Coiby Xu
93373c0406 unit tests: add tests for get_grub_kernel_boot_parameter
This test suite makes use of three features provided by ShellSpec
 - funcion-based mock [2]: mock a function by re-defining and exporting it
 - parameterized tests [3]: run multiple sets of input against the same
   test
 - %text directive [4]: similar to heredoc but free of
   the indentation issue

Note
1. Describe and Context are aliases for ExampleGroup which a block for
grouping example groups or examples [5]. Describe and Context are used to
improve readability.
2. ShellSpec requires .shellspec file.

[1] https://github.com/dodie/testing-in-bash#detailed-comparision
[2] https://github.com/shellspec/shellspec#function-based-mock
[3] https://github.com/shellspec/shellspec#parameters---parameterized-example
[4] https://github.com/shellspec/shellspec#text---embedded-text
[5] https://github.com/shellspec/shellspec#dsl-syntax

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-14 11:44:27 +08:00
Coiby Xu
b97310428f unit tests: prepare for kdumpctl and kdump-lib.sh to be unit-tested
Currently there are two issues with unit-testing the functions defined
in kdumpctl and other shell scripts after sourcing them,
  - kdumpctl would call main which requires root permission and would
    create single instance lock (/var/lock/kdump)
  - kdumpctl and other shell scripts directly source files under /usr/lib/kdump/

When ShellSpec load a script via "Include", it defines the__SOURCED__
variable. By making use of __SOURCED__, we can
1. let kdumpctl not call main when kdumpctl is "Include"d by ShellSpec
2. instruct kdumpctl and kdump-lib.sh to source the files in the repo
   when running ShelSpec tests

Note coverage/ is added to .gitignore because ShellSpec generates code
coverage results in this folder.

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-04-14 11:44:12 +08:00
Coiby Xu
11140c28a2 Release 2.0.24-1 2022-04-11 10:56:46 +08:00
Philipp Rudo
55b5c4e2b0 kdumpctl: simplify local_fs_dump_target
Make use of the new ${OPT[]} array and simplify local_fs_dump_target to
remove one more file operations.

While at it rename the local_fs_dump_target to is_local_target

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
ac5968218f kdumpctl: remove kdump_get_conf_val in save_raw
With the introduction of ${OPT[fstype]} this call to kdump_get_conf_val
can be removed now as well.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
5118daf2ff kdumpctl: drop DUMP_TARGET variable
The variable is only used for ssh dump targets. Furthermore it is
identical to the value stored in ${OPT[_target]}. Thus drop DUMP_TARGET and
use ${OPT[_target]} instead.

In order to be able to distinguish between the different target types
introduce the internal ${OPT[_fstype]}.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
a859abe365 kdumpctl: drop SSH_KEY_LOCATION variable
The variable is only used for ssh dump targets. Furthermore it is
identical to the value stored in ${OPT[sshkey]}. Thus drop
SSH_KEY_LOCATION and use ${OPT[sshkey]} instead.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
0460f0a768 kdumpctl: drop SAVE_PATH variable
The variable is only used for ssh dump targets. Furthermore it is
identical to the value stored in ${OPT[path]}. Thus drop SAVE_PATH and
use ${OPT[path]} instead.

Also make sure that ${OPT[path]} is always set to the default value when
no entry in kdump.conf is found.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
edb1d04425 kdumpctl: reduce file operations on kdump.conf
Every call to kdump_get_conf_val parses kdump.conf although the file has
already been parsed in check_config. Thus store the values parsed in
check_config in an array and use them later instead of re-parsing the
file over and over again.

While at it rename check_config to parse_config.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
4adf6d3cc8 kdumpctl: merge check_ssh_config into check_config
check_config and check_ssh_config both parse /etc/kdump.conf and are
usually used together. The difference between both is that
check_ssh_config does some extra checks on the format of the provided
ssh destination but ignores invalid or deprecated options in the config.
Thus merge check_ssh_config into check_config. Leave the additional
checks on the ssh destination in check_ssh_config but treat it like the
checks done for e.g. the failure_action.

This slightly changes the behavior of 'kdumpctl propagate', which now
fails if kdump.conf contains an invalid value unrelated to ssh. This
change in behavior isn't problematic because 'kdumpctl propagate' always
needs to be followed by a 'kdumpctl start' to have a working kdump
environment. For the situations where 'propagate' fails now the 'start'
would have failed in the past. So the failure only moved one step ahead
in the sequence.

While at it drop check_ssh_target and call check_and_wait_network_ready
directly.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
e3fa367840 kdumpctl: simplify propagate_ssh_key
The function has multiple problems:

1) SSH_{USER,SERVER} aren't defined local
2) Weird use of cut and sed to parse the DUMP_TARGET for the user and
   host although check_ssh_config guarantees that it has the format
   <user>@<host>.
3) Unnecessary use of a variable for the return value
4) Weird behavior to first unpack the DUMP_TARGET to SSH_USER and
   SSH_SERVER and then putting it back together again
5) Definition of variable errmsg that is only used once but breaks
   grep-ability of error message.
6) Wrong order when redirecting output of ssh-keygen, see SC2069 [1]

Fix them now.

While at it also improve the error messages in the function.

[1] https://www.shellcheck.net/wiki/SC2069

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
b802dbff9f kdumpctl: forbid aliases from ssh config
For ssh targets kdumpctl only verifies that the config value has the
correct <user>@<host> format itself. For all other tests, e.g. if the
destination can be reached, it relies on ssh. This allows users to
provide a <host> that isn't the proper hostname but an alias defined in
the ssh_config without failing the tests. If this is done
dracut-module-setup.sh:kdump_get_remote_ip will fail to obtain the
targets ip address. This failure is not detected and thus will not fail
the initramfs creation. The resulting initramfs however doesn't have the
necessary information for setting up the network and thus will fail to
boot.

Prevent the use of alias hostnames by verifying that the given hostname
is the same one ssh would use after parsing the ssh_config.

Note: Don't use getent ahosts to verify that the given host can be
resolved as this requires the network to be up which cannot be
guaranteed when the kdump.conf is parsed.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
247b3dd297 kdumpctl: fix comment in check_and_wait_network_ready
The time out was increased to 180 seconds in 680c0d3 ("kdumpctl:
distinguish the failed reason of ssh"). Update the comment to reflect
that change.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
7cd3f232d5 kdump-lib-initramfs: merge definitions for default ssh key
There are currently three identical definitions for the default ssh key.
Combine them into one in kdump-lib-initramfs.sh.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
b49083126f kdumpctl: remove unnecessary uses of $?
Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
aa9bb8f8ce kdump-lib: fix typo in variable name
in prepare_kdump_bootinfo s/defaut/default/.

While at it declare it with the other local variables as local.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
5947707682 kdump-capture.service: switch to journal for stdout
Using syslog for StandardOutput in a service file was deprecated in
systemd v246 with commit f3dc6af20f ("core: automatically update
StandardOuput=syslog to =journal (and similar for StandardError=)").
Thus the following warnings are printed in the crash kernel when
creating a dump.

systemd[1]: /usr/lib/systemd/system/kdump-capture.service:23: Standard output type syslog is obsolete, automatically updating to journal. Please update your unit file, and consider removing the setting altogether.
systemd[1]: /usr/lib/systemd/system/kdump-capture.service:24: Standard output type syslog+console is obsolete, automatically updating to journal+console. Please update your unit file, and consider removing the setting altogether.

Fix this by redirecting the stdout and stderr to the journal.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
2022-04-02 16:24:32 +08:00
Philipp Rudo
8736aa5bb3 kdumpctl/estimate: Fix unnecessary warning
do_estimate prints the warning that the reserved crashkernel is lower
than the recommended one even then when both values are identical. This
might cause confusion. So omit printing the warning when both values are
equal.

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-04-02 11:32:49 +08:00
Lichen Liu
7141d044c8 kdumpctl: sync the $TARGET_INITRD after rebuild
There is a system-wide sync call at the end of mkdumprd, move it to
kdumpctl after rebuild initrd and add another one for mkfadumprd.
Sync only the $TARGET_INITRD to avoid a system-wide sync taking too
long on a system with high disk activity.

Also update the sync in kdumpctl:restore_default_initrd which will
mv the $DEFAULT_INITRD_BAK to $DEFAULT_INITRD.

Signed-off-by: Lichen Liu <lichliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-03-01 17:54:29 +08:00
Coiby Xu
6d4062a936 try to update the crashkernel in GRUB_ETC_DEFAULT after kexec-tools updates the default crashkernel value
If GRUB_ETC_DEFAULT use crashkernel=auto or
crashkernel=OLD_DEFAULT_CRASHKERNEL, it should be updated as well.

Add a helper function to read kernel cmdline parameter from
GRUB_ETC_DEFAULT. This function is used to read kernel cmdline
parameter like fadump or crashkernel.

Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-03-01 10:29:20 +08:00
Coiby Xu
37f4f2c1f6 address the case where there are multiple values for the same kernel arg
There is the case where there are multiple entries of the same parameter on
the command line, e.g.
GRUB_CMDLINE_LINUX="crashkernel=110M crashkernel=220M fadump=on crashkernel=330M".

In such an situation _update_kernel_cmdline_in_grub_etc_default only
updates/removes the last entry which is usually not what you want as the
kernel (for crashkernel) takes the last entry it can find.

Thus make sure the case with multiple entries of the same parameter is
handled properly by removing all occurrences of given parameter first.

Note
1. sed command group and conditional control has been used to get rid of
   grep.
2. Fully supporting kernel cmdline as documented in
   Documentation/admin-guide/kernel-parameters.rst is complex and in
   foreseeable future a full implementation is not needed. So simply
   document the unsupported cases instead.

Fixes: 140da74 ("rewrite reset_crashkernel to support fadump and to used by RPM scriptlet")

Reported-by: Philipp Rudo <prudo@redhat.com>
Suggested-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-03-01 10:28:53 +08:00
Coiby Xu
311b5b100b update kernel crashkernel in posttrans RPM scriptlet when updating kexec-tools
When doing in-place upgrading using leapp on x86_64, kdumpcl can't
acquire instance lock when running in %post RPM scriplet on x86_64,
  localhost upgrade[1306]: /bin/kdumpctl: line 49: /var/lock/kdump: No such file or directory
  localhost upgrade[1306]: kdump: Create file lock failed

and running "touch /var/lock/dkump" also fails with
"No such file or directory". Thus kdumpctl can't be run in %post
scriptlet. But kdumpctl can be run in %posttrans RPM scriplet.

Besides, it's better to update crashkernel after the kernel has been
updated. So let's update kernel crashkernel in the %posttrans
scriptlet which will be run in the end of a transaction i.e. after
the kernel has been updated.

Note for %posttrans scriptlet, "$1 == 1" means both installing a new
package and upgrading a package.

[1] https://github.com/apptainer/singularity/issues/2386#issuecomment-474747054

Reported-by: Jie Li <jieli@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-02-18 08:56:59 +08:00
Tao Liu
2bbc7512a2 kdump-lib.sh: Check the output of blkid with sed instead of eval
Previously the output of blkid is not checked. If the output
is empty, the eval will report the following error message:

    /lib/kdump/kdump-lib.sh: eval: line 925: syntax error near unexpected token `;'
    /lib/kdump/kdump-lib.sh: eval: line 925: `; echo $TYPE'

For example, we can observe such a failing when blkid is invoked
against a lvm thinpool block device:

    $ blkid -u filesystem,crypto -o export -- "/dev/block/253\:2"
    $ echo $?
    2
    $ udevadm info /dev/block/253\:2|grep S\:
    S: mapper/vg00-thinpoll_tmeta

In this patch, we will use sed instead of eval, to output the
fstype of block device if any.

Signed-off-by: Tao Liu <ltao@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-02-17 15:34:53 +08:00
Coiby Xu
59fcb8ae5b Release 2.0.23-5
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-02-14 12:07:08 +08:00
Coiby Xu
41b8f9528c fix incorrect usage of _get_all_kernels_from_grubby
It's found that the kernel cmdline crashkernel=auto doesn't get updated
when upgrading kexec-tools. This happens because _get_all_kernels_from_grubby
is called with no argument by reset_crashkernel_after_update. When retrieving
all kernel paths on the system, "grubby --info ALL" should be used. Fix this
error by passing "ALL" argument.

Fixes: 0adb0f4 ("try to reset kernel crashkernel when kexec-tools updates the default crashkernel value")

Reported-by: Jie Li <jieli@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Tao Liu <ltao@redhat.com>
2022-02-14 10:34:55 +08:00
Coiby Xu
5111c01334 fix the mistake of swapping function parameters of read_proc_environ_var
_is_osbuild fails because it expects the 1st and 2nd function parameter
to be the environment variable and environ file path respectively. Fix
it by swapping the parameters in read_proc_environ_var.

Note the osbuild environ file path is defined in _OSBUILD_ENVIRON_PATH
so _is_osbuild can be unit-tested by overwriting _OSBUILD_ENVIRON_PATH.

Fixes: 6a3ce83 ("fix the error of parsing the container environ variable for osbuild")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
2022-02-08 10:42:40 +08:00
Coiby Xu
d6298a1dec Release 2.0.23-4 2022-01-26 15:10:50 +08:00
Coiby Xu
2df55984f6 fix broken kdump_get_arch_recommend_size
shellcheck finds the following problem,
$ shellcheck kdump-lib.sh
In kdump-lib.sh line 876:
        get_recommend_size "$sys_mem" "$ck_cmdline"
                                       ^---------^ SC2154: ck_cmdline is referenced but not assigned (did you mean '_ck_cmdline'?).

s/ck_cmdline/_ck_cmdline to fix kdump_get_arch_recommend_size.

Note s/sys_mem/_sys_mem as well to make the changes consistent.

Fixes: 105c016 ("factor out kdump_get_arch_recommend_crashkernel")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Tao Liu <ltao@redhat.com>
2022-01-26 14:33:50 +08:00
Coiby Xu
c67a836cde remove the upper bound of 102400T for the range in default crashkernel
This patch makes the default crashkernel value consistent with previous
one.

Fixes: 105c016 ("factor out kdump_get_arch_recommend_crashkernel")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-01-26 08:33:21 +08:00
Coiby Xu
6a3ce83a60 fix the error of parsing the container environ variable for osbuild
The environment variable entries in /proc/[pid]/environ are separated by
null bytes instead of by spaces. Update the sed regex to fix this issue.

Note that,
  1. this patch also fixes a issue which is kdumpctl would try to reset
     crashkernel even osbuild has provided custom crashkernel value.
  2. kernel hook 92-crashkernel.install installed by kexec-tools is
     guaranteed to be ran by kernel-install. kexec-tools doesn't recommend
     kernel so there is no guarantee kernel is installed after kexec-tools.
     But dnf invokes kernel-install in the posttrans scriptlet (of kernel-core)
     which is always ran after all packages including kexec-tools and kernel
     in a dnf transaction.
  3. To be able to do unit tests, the logic of reading environment variable
     has been extracted as a separate function.

Fixes: ddd428a ("set up kernel crashkernel for osbuild in kernel hook")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
2022-01-26 08:32:06 +08:00
Philipp Rudo
ca5a33855f s390: handle R_390_PLT32DBL reloc entries in machine_apply_elf_rel()
Resolves: bz2025860
Upstream: git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git

commit 186e7b0752d8fce1618fa37519671c834c46340e
Author: Alexander Egorenkov <egorenar@linux.ibm.com>
Date:   Wed Dec 15 18:48:53 2021 +0100

    s390: handle R_390_PLT32DBL reloc entries in machine_apply_elf_rel()

    Starting with gcc 11.3, the C compiler will generate PLT-relative function
    calls even if they are local and do not require it. Later on during linking,
    the linker will replace all PLT-relative calls to local functions with
    PC-relative ones. Unfortunately, the purgatory code of kexec/kdump is
    not being linked as a regular executable or shared library would have been,
    and therefore, all PLT-relative addresses remain in the generated purgatory
    object code unresolved. This in turn lets kexec-tools fail with
    "Unknown rela relocation: 0x14 0x73c0901c" for such relocation types.

    Furthermore, the clang C compiler has always behaved like described above
    and this commit should fix the purgatory code built with the latter.

    Because the purgatory code is no regular executable or shared library,
    contains only calls to local functions and has no PLT, all R_390_PLT32DBL
    relocation entries can be resolved just like a R_390_PC32DBL one.

    * https://refspecs.linuxfoundation.org/ELF/zSeries/lzsabi0_zSeries/x1633.html#AEN1699

    Relocation entries of purgatory code generated with gcc 11.3
    ------------------------------------------------------------

    $ readelf -r purgatory/purgatory.o

    Relocation section '.rela.text' at offset 0x6e8 contains 27 entries:
      Offset          Info           Type           Sym. Value    Sym. Name + Addend
    00000000000c  000300000013 R_390_PC32DBL     0000000000000000 .data + 2
    00000000001a  001000000014 R_390_PLT32DBL    0000000000000000 sha256_starts + 2
    000000000030  001100000014 R_390_PLT32DBL    0000000000000000 sha256_update + 2
    000000000046  001200000014 R_390_PLT32DBL    0000000000000000 sha256_finish + 2
    000000000050  000300000013 R_390_PC32DBL     0000000000000000 .data + 102
    00000000005a  001300000014 R_390_PLT32DBL    0000000000000000 memcmp + 2
    ...
    000000000118  001600000014 R_390_PLT32DBL    0000000000000000 setup_arch + 2
    00000000011e  000300000013 R_390_PC32DBL     0000000000000000 .data + 2
    00000000012c  000f00000014 R_390_PLT32DBL    0000000000000000 verify_sha256_digest + 2
    000000000142  001700000014 R_390_PLT32DBL    0000000000000000
    post_verification[...] + 2

    Relocation entries of purgatory code generated with gcc 11.2
    ------------------------------------------------------------

    $ readelf -r purgatory/purgatory.o

    Relocation section '.rela.text' at offset 0x6e8 contains 27 entries:
      Offset          Info           Type           Sym. Value    Sym. Name + Addend
    00000000000e  000300000013 R_390_PC32DBL     0000000000000000 .data + 2
    00000000001c  001000000013 R_390_PC32DBL     0000000000000000 sha256_starts + 2
    000000000036  001100000013 R_390_PC32DBL     0000000000000000 sha256_update + 2
    000000000048  001200000013 R_390_PC32DBL     0000000000000000 sha256_finish + 2
    000000000052  000300000013 R_390_PC32DBL     0000000000000000 .data + 102
    00000000005c  001300000013 R_390_PC32DBL     0000000000000000 memcmp + 2
    ...
    00000000011a  001600000013 R_390_PC32DBL     0000000000000000 setup_arch + 2
    000000000120  000300000013 R_390_PC32DBL     0000000000000000 .data + 122
    000000000130  000f00000013 R_390_PC32DBL     0000000000000000 verify_sha256_digest + 2
    000000000146  001700000013 R_390_PC32DBL     0000000000000000 post_verification[...] + 2

    Corresponding s390 kernel discussion:
    * https://lore.kernel.org/linux-s390/20211208105801.188140-1-egorenar@linux.ibm.com/T/#u

    Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
    Reported-by: Tao Liu <ltao@redhat.com>
    Suggested-by: Philipp Rudo <prudo@redhat.com>
    Reviewed-by: Philipp Rudo <prudo@redhat.com>
    [hca@linux.ibm.com: changed commit message as requested by Philipp Rudo]
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Simon Horman <horms@verge.net.au>

v2:
   - Moved patch 601 -> 401

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-01-26 08:25:43 +08:00
Tao Liu
99de77bba7 Revert "Remove trace_buf_size and trace_event from the kernel bootparameters of the kdump kernel"
There is a mechanism to keep memory consumption minimum, i.e. equal
to trace_buf_size=1, until tracing by ftrace is actually started:

    tracing: keep ring buffer to minimum size till used
    73c5162aa3

Since ftrace is usually never used in the kdump 2nd kernel, the kdump
2nd kernel behaves in the same way with or without trace_buf_size=1.
So the issue which the patch want to solve never exists. Let's revert
the patch for better maintainance and avoid confusion.

ref link: https://bugzilla.redhat.com/show_bug.cgi?id=2034501#c20

This reverts commit f39000f.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-01-26 08:23:11 +08:00
Kairui Song
748eb3a2a6 spec: only install mkfadumprd for ppc
fadump is a ppc only feature, mkfadumprd is only needed for fadump, drop
it for other arch.

Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Kairui Song <kasong@tencent.com>
2022-01-24 13:00:14 +08:00
Tao Liu
aa9e70349b selftest: Add early kdump test
This patch will introduce early kdump test.

It reuses the code of nfs kdump test, in order to setup 2 seperated VMs,
one(the client) for trigger the early kdump and crash, the other(the server)
for saving vmcore and check if vmcore exists. In order to minimize the
repetted code, a soft link is made to copy the same server side code.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-01-24 11:18:00 +08:00
Tao Liu
f4ab396574 selftest: run-test.sh: wait for subprocess instead of kill it
When run tests with 2 VMs, for example nfs/ssh kdump tests, client VM will do the
crash and dump, server VM will do vmcore saving and if-vmcore-exists
check.

Previously, when client VM finishes running, run-test.sh will kill the lead background
process, and then check if server VM has outputted "TEST PASSED" or "TEST FAILED" string.
However it didn't wait for server VM to finish. As a result, the server VM's final
outputs are not collected and checked, leaving the test result as "TEST RESULT NOT FOUND"
sometimes.

For example, the following is the pstree status of $(jobs -p) before it
gets killed. We can see the server VM is still running:

run-test.sh,172455 /root/kexec-tools/tests/scripts/run-test.sh --console nfs-early-kdump
  └─run-test.sh,172457 /root/kexec-tools/tests/scripts/run-test.sh --console...
      └─timeout,172480 --foreground 10m /root/kexec-tools/tests/scripts/run-qemu...
          └─qemu-system-x86,172481 -enable-kvm -cpu host -nodefaults...
              ├─{qemu-system-x86},172489
              ├─{qemu-system-x86},172492
              ├─{qemu-system-x86},172493
              ├─{qemu-system-x86},172628
              └─{qemu-system-x86},172629

In this patch, we will wait for $(jobs -p) to finish, in order to get
the complete output of test results.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-01-24 11:17:52 +08:00
Fedora Release Engineering
bb380a92fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 14:26:44 +00:00
Pingfan Liu
c480be7ccf spec: add hostname.rpm into Recommends list
kexec-tools runs hostname binary in the case of fence_kdump. Since this
is a trival dependency and should not block the kexec-tools installation
if non-existent, using weak-dependency to resolve it.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Tao Liu <ltao@redhat.com>
2022-01-18 14:29:09 +08:00
Pingfan Liu
72ef6929a6 move variable FENCE_KDUMP_SEND from kdump-lib.sh to kdump-lib-initramfs.sh
Since kdump-lib-initramfs.sh is included by kdump-lib.sh, and
FENCE_KDUMP_SEND is used by both 1st and 2nd kernel, moving
FENCE_KDUMP_SEND from kdump-lib.sh to kdump-lib-initramfs.sh.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Tao Liu <ltao@redhat.com>
2022-01-18 14:22:24 +08:00
Coiby Xu
1e569fd8a8 Release 2.0.23-2 2022-01-13 15:00:59 +08:00
Tao Liu
7de4a0d6c8 Set zstd as recommented for kexec-tools
This patch will make zstd as recommended instead of required for
kexec-tools. If zstd command/package is unavaliable, it can failback to invoke
gzip when making kdump initramfs.

Fixes: 0311f6e ("Set zstd as the default compression method for kdump initrd")

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-01-11 10:11:21 +08:00
Coiby Xu
ae0cbdf34a fix "kdump: Invalid kdump config option auto_reset_crashkernel" error
kdumpctl only accepts a specified set of options. Add
auto_reset_crashkernel to this set.

Fixes: 73ced7f ("introduce the auto_reset_crashkernel option to kdump.conf")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Tao Liu <ltao@redhat.com>
2022-01-07 12:20:37 +08:00
Coiby Xu
d5c31605f3 use grep -s to suppress error messages about nonexistent or unreadable files
When a file doesn't exist or isn't readable, grep complains as follows,

grep: /proc/cmdline: No such file or directory
grep: /etc/kernel/cmdline: No such file or directory

/proc/cmdline doesn't exist when installing package for an OS image and
/etc/kernel/cmdline may not exist if osbuild doesn't want set custom
kernel cmdline.

Use "-s" to suppress the error messages.

Fixes: 0adb0f4 ("try to reset kernel crashkernel when kexec-tools updates the default crashkernel value")
Fixes: ddd428a ("set up kernel crashkernel for osbuild in kernel hook")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Tao Liu <ltao@redhat.com>
2022-01-07 12:20:21 +08:00
Tao Liu
2bd59ee156 kdump-lib.sh: Escape '|' for 'failure_action|default' in is_dump_to_rootfs
The '|' in 'failure_action|default' should be replaced with '\|' when
passed to kdump_get_conf_val function. Because '|' needs to be escaped
to mean OR operation in sed regex, otherwise it will consider
'failure_action|default' as a whole string.

Fixes: ab1ef78 ("kdump-lib.sh: use kdump_get_conf_val to read config values")

v1 -> v2:
Rephased the commit message.
Replaced " with '.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2022-01-06 12:23:12 +08:00
Tao Liu
0311f6e25b Set zstd as the default compression method for kdump initrd
zstd has better compression ratio and time consumption balance.
When no customized compression method specified in kdump.conf,
we will use zstd as the default compression method.

**The test method:

I installed kexec-tools with and without the patch, executing the following
command for 4 times, and calculate the averange time:

$ rm -f /boot/initramfs-*kdump.img && time kdumpctl rebuild && \
  ls -ail /boot/initramfs-*kdump.img

**The test result:

Bare metal x86_64 machine:
        dracut with squash module
         zlib     lzo      xz       lz4        zstd
real     10.6282  11.0398  11.395   8.6424    10.1676
user      9.8932  11.9072  14.2304  2.8286     8.6468
sys       3.523    3.4626   3.6028  3.5        3.4942
size of
kdump.img 30575616 31419392 27102208 36666368 29236224

        dracut without squash module
        zlib      lzo      xz       lz4        zstd
real     9.509    19.4876  11.6724  9.0338    10.267
user    10.6028   14.516   17.8662  4.0476     9.0936
sys      2.942     2.9184   3.0662  2.9232     3.0662
size of
kdump.img 19247949 19958120 14505056 21112544 17007764

PowerVM hosted ppc64le VM:
        dracut with squash module | dracut without sqaush module
         zlib        zstd         |  zlib          zstd
real     10.6742     10.7572      |   9.7676       10.5722
user     18.754      19.8338      |  20.7932       13.179
sys       1.8358      1.864       |   1.637         1.663
                                  |
size of                           |
kdump.img 36917248   35467264     |  21441323      19007108

**discussion

zstd has a better compression ratio and time consumption balance.

v1 -> v2:
Use kdump_get_conf_val() to get dracut_args values of kdump.conf

v2 -> v3:
Attached testing benchmark

v3 -> v4:
Re-measured and re-attached the testing benchmark of x86_64 and ppc64le.
Changed regex '.*[[:space:]]' to '(^|[[:space:]])'

v4 -> v5:
Attacked lzo/xz/lz4 testing benchmark.

v5 -> v6:
Add zstd as required in kexec-tools.spec

Hello Coiby, you may use "RELEASE=34 make test-run", for
CONFIG_RD_ZSTD is enabled since fc-cloud-34

Acked-by: Coiby Xu <coxu@redhat.com>
Signed-off-by: Tao Liu <ltao@redhat.com>
2022-01-06 08:16:27 +08:00
Coiby Xu
0e162120b6 update crashkernel-howto
Update crashkernel-howto since crashkernel.default has been removed. The
documentation is also simplified as a result.

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
ddd428a1d0 set up kernel crashkernel for osbuild in kernel hook
osbuild is a tool to build OS images. It uses bwrap to install packages
inside a sandbox/container. Since the kernel package recommends
kexec-tools which in turn recommends grubby, the installation order would
be grubby -> kexec-tools -> kernel. So we can use the kernel hook
92-crashkernel.install provided by kexec-tools to set up kernel
crashkernel for the target OS image. But in osbuild's case, there is no
current running kernel and running `uname -r` in the container/sandbox
actually returns the host kernel release. To set up kernel crashkernel for
the OS image built by osbuild, a different logic is needed.

We will check if kernel hook is running inside the osbuild container
then set up kernel crashkernel only if osbuild hasn't specified a
custome value. osbuild exposes [1] the container=bwrap-osbuild environment
variable. According to [2], the environment variable is not inherited down
the process tree, so we need to check /proc/1/environ to detect this
environment variable to tell if the kernel hook is running inside a
bwrap-osbuild container. After that we need to know if osbuild wants to use
custom crashkernel value. This is done by checking if /etc/kernel/cmdline
has crashkernel set [3]. /etc/kernel/cmdline is written before packages
are installed.

[1] https://github.com/osbuild/osbuild/pull/926
[2] https://systemd.io/CONTAINER_INTERFACE/
[3] https://bugzilla.redhat.com/show_bug.cgi?id=2024976#c5

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
5e8c751c39 reset kernel crashkernel for the special case where the kernel is updated right after kexec-tools
When kexec-tools updates the default crashkernel value, it will try to
reset the existing installed kernels including the currently running
kernel. So the running kernel could have different kernel cmdline
parameters from /proc/cmdline. When installing a kernel after updating
kexec-tools, /usr/lib/kernel/install.d/20-grub.install would be called
by kernel-install [1] which would use /proc/cmdline to set up new kernel's
cmdline. To address this special case, reset the new kernel's crashkernel
and fadump value to the value that would be used by running kernel after
rebooting by the installation hook. One side effect of this commit is it
would reset the installed kernel's crashkernel even currently running kernel
don't use the default crashkernel value after rebooting. But I think this
side effect is a benefit for the user.

The implementation depends on kernel-install which run the scripts in
/usr/lib/kernel/install.d passing the following arguments,

  add KERNEL-VERSION $BOOT/MACHINE-ID/KERNEL-VERSION/ KERNEL-IMAGE [INITRD-FILE ...]

An concrete example is given as follows,
  add 5.11.12-300.fc34.x86_64 /boot/e986846f63134c7295458cf36300ba5b/5.11.12-300.fc34.x86_64 /lib/modules/5.11.12-300.fc34.x86_64/vmlinuz

kernel-install could be started by the kernel package's RPM scriplet [2].
As mentioned in previous commit "try to reset kernel crashkernel when
kexec-tools updates the default crashkernel value", kdumpctl has difficulty
running in RPM scriptlet fore CoreOS. But rpm-ostree ignores all kernel hooks,
there is no need to disable the kernel hook for CoreOS/Atomic/Silverblue. But a
collaboration between rpm-ostree and kexec-tools is needed [3] to take care
of this special case.

Note the crashkernel.default support is dropped.

[1] https://www.freedesktop.org/software/systemd/man/kernel-install.html
[2] https://src.fedoraproject.org/rpms/kernel/blob/rawhide/f/kernel.spec#_2680
[3] https://github.com/coreos/rpm-ostree/issues/2894

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
0adb0f4a8c try to reset kernel crashkernel when kexec-tools updates the default crashkernel value
kexec-tools could update the default crashkernel value.
When auto_reset_crashkernel=yes, reset kernel to new crashkernel
value in the following two cases,
 - crashkernel=auto is found in the kernel cmdline
 - the kernel crashkernel was previously set by kexec-tools i.e.
   the kernel is using old default crashkernel value

To tell if the user is using a custom value for the kernel crashkernel
or not, we assume the user would never use the default crashkernel value
as custom value. When kexec-tools gets updated,
 1. save the default crashkernel value of the older package to
    /tmp/crashkernel (for POWER system, /tmp/crashkernel_fadump is saved
    as well).
 2. If auto_reset_crashkernel=yes, iterate all installed kernels.
    For each kernel, compare its crashkernel value with the old
    default crashkernel and reset it if yes

The implementation makes use of two RPM scriptlets [2],
 - %pre is run before a package is installed so we can use it to save
   old default crashkernel value
 - %post is run after a package installed so we can use it to try to reset
   kernel crashkernel

There are several problems when running kdumpctl in the RPM scripts
for CoreOS/Atomic/Silverblue, for example, the lock can't be acquired by
kdumpctl, "rpm-ostree kargs" can't be run and etc.. So don't enable this
feature for CoreOS/Atomic/Silverblue.

Note latest shellcheck (0.8.0) gives false positives about the
associative array as of this commit. And Fedora's shellcheck is 0.7.2
and can't even correctly parse the shell code because of the associative
array.

[1] https://github.com/koalaman/shellcheck/issues/2399
[2] https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
73ced7f451 introduce the auto_reset_crashkernel option to kdump.conf
This option will determine whether to reset kernel crashkernel
to new default value or not when kexec-tools updates the default
crashkernel value and existing kernels using the old default kernel
crashkernel value. Default to yes.

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
140da74a34 rewrite reset_crashkernel to support fadump and to used by RPM scriptlet
Rewrite kdumpctl reset-crashkernel KERNEL_PATH as
kdumpctl reset-crashkernel [--fadump=[on|off|nocma]]  [--kernel=path_to_kernel] [--reboot]

This interface would reset a specific kernel to the default crashkernel value
given the kernel path. And it also supports grubby's syntax so there are the
following special cases,
 - if --kernel not specified,
    - use KDUMP_KERNELVER if it's defined in /etc/sysconfig/kdump
    - otherwise use current running kernel, i.e. `uname -r`
 - if --kernel=DEFAULT, the default boot kernel is chosen
 - if --kernel=ALL, all kernels would have its crashkernel reset to the
   default value and the /etc/default/grub is updated as well

--fadump=[on|off|nocma] toggles fadump on/off for the kernel provided
in KERNEL_PATH. If --fadump is omitted, the dump mode is determined by
parsing the kernel command line for the kernel(s) to update.

CoreOS/Atomic/Silverblue needs to be treated as a special case because,
 - "rpm-ostree kargs" is used to manage kernel command line parameters
    so --kernel doesn't make sense and there is no need to find current
    running kernel
 - "rpm-ostree kargs" itself would prompt the user to reboot the system
   after modify the kernel command line parameter
 - POWER is not supported so we can assume the dump mode is always kdump

This interface will also be called by kexec-tools RPM scriptlets [1]
to reset crashkernel.

Note the support of crashkenrel.default is dropped.

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
12ecbce359 fix incorrect usage of rpm-ostree to update kernel command line parameters
CoreOS/Atomic/Silverblue use "rpm-ostree kargs" to manage kernel command
line parameters.

Fixes: 86130ec ("kdumpctl: Add kdumpctl reset-crashkernel")

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
945cbbd59b add helper functions to get kernel path by kernel release and the path of current running kernel
grubby --info=kernel-path or --add-kernel=kernel-path accepts a kernel
path (e.g. /boot/vmlinuz-5.14.14-200.fc34.x86_64) instead of kernel release
(e.g 5.14.14-200.fc34.x86_64). So we need to know the kernel path given
a kernel release. Although for Fedora/RHEL, the kernel path is
"/boot/vmlinuz-<KERNEL_RELEASE>", a path kernel could also be
/boot/<machine-id>/<KERNEL_RELEASE>/vmlinuz. So the most reliable way to
find the kernel path given a kernel release is to use "grubby --info".

For osbuild, a kernel path may not yet exist but it's valid for
"grubby --update-kernel=KERNEL_PATH". For example, "grubby -info" may
output something as follows,

index=0
kernel="/var/cache/osbuild-worker/osbuild-store/tmp/tmp2prywdy5object/tree/boot/vmlinuz-5.15.10-100.fc34.x86_64"
args="ro no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8"
root="UUID=76a22bf4-f153-4541-b6c7-0332c0dfaeac"
initrd="/var/cache/osbuild-worker/osbuild-store/tmp/tmp2prywdy5object/tree/boot/initramfs-5.15.10-100.fc34.x86_64.img"

There is no need to check if path like
/var/cache/osbuild-worker/osbuild-store/tmp/tmp2prywdy5object/tree/boot/vmlinuz-5.15.10-100.fc34.x86_64
physically exists.

Note these helper functions doesn't support CoreOS/Atomic/Silverblue
since grubby isn't used by them.

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
3d2079c31c add helper functions to get dump mode
Add a helper function to get dump mode. The dump mode would be
 - fadump if fadump=on or fadump=nocma
 - kdump if fadump=off or empty fadump

Otherwise return 1.

Also add another helper function to return a kernel's dump mode.

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
fb9e6838ab add a helper function to read kernel cmdline parameter from grubby --info
This helper function will be used to retrieve the value of kernel
cmdline parameters including crashkernel, fadump, swiotlb and etc.

Suggested-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
796d0f6fd2 provide kdumpctl get-default-crashkernel for kdump_anaconda_addon and RPM scriptlet
Provide "kdumpctl get-default-crashkernel" for kdump_anaconda_addon
so crashkernel.default isn't needed.

When fadump is on, kdump_anaconda_addon would need to specify the dump
mode, i.e. "kdumpctl get-default-crashkernel fadump".

This interface would also be used by RPM scriptlet [1] to fetch default
crashkernel value.

[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
105c01691a factor out kdump_get_arch_recommend_crashkernel
Factor out kdump_get_arch_recommend_crashkernel to prepare for
kdump-anaconda-plugin for example to retrieve the default crashkernel
value.

Note the support of crashkenrel.default is dropped.

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:24 +08:00
Coiby Xu
34d27c4c30 update default crashkernel value
It has been decided to increase default crashkernel value to reduce the
possibility of OOM.

Fixes: 7b7ddab ("kdump-lib.sh: kdump_get_arch_recommend_size uses crashkernel.default")

Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2022-01-05 09:40:13 +08:00
Kairui Song
546c81a205 kdumpctl: remove some legacy code
It seems the save_core function and vmcore detection was used a long
time ago when kdump shares same userspace in first and second kernel.
It's now heavily deprecated (only support cp, hardcoded path, dumpoops
no longer exists) and not used.

Now vmcore will never show up in first kernel for both kdump and fadump
case, and kdumpctl is only used in first kernel, so just remove them.

Signed-off-by: Kairui Song <kasong@tencent.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-12-31 11:37:19 +08:00
Tao Liu
004daebeff dracut-early-kdump-module-setup.sh: install xargs and kdump-lib-initramfs.sh
For earlykdump, kdump-lib-initramfs.sh is sourced by kdump-lib.sh,
however it is not installed in dracut-early-kdump-module-setup.sh. Same
as xargs, which is used by kdump-lib.sh. Otherwise earlykdump will report
file not found errors.

Fixes: a5faa052d4
       ("kdump-lib-initramfs.sh: prepare to be a POSIX compatible lib")
Fixes: 4f01cb1b0a
       ("kdump-lib.sh: fix variable quoting issue")

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-12-27 09:16:19 +08:00
Pingfan Liu
163c02970e ppc64/ppc64le: drop cpu online rule in 40-redhat.rules in kdump initramfs
Onlining secondary cpus breaks kdump completely on KVM on Power hosts
Though we use maxcpus=1 by default but 40-redhat.rules will bring up all
possible cpus by default.

Thus before we get the kernel fix and the systemd rule fix let's remove
the cpu rule in 40-redhat.rules for ppc64/ppc64le kdump initramfs.

This is back ported from RHEL, and original credit goes to Dave Young
<dyoung@redhat.com>

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Tao Liu <ltao@redhat.com>
2021-12-23 15:40:23 +08:00
Coiby Xu
f0892eeceb kdump/ppc64: suppress the error message "Could not find a registered notification tool" from servicelog_notify
When kexec-tools is newly installed, kdump migration action hasn't
registered and the following error could occur,
  INF dnf.rpm: Could not find a registered notification tool with the specified command ('/usr/lib/kdump/kdump-migrate-action.sh').

"servicelog_notify --list" could list registered notification tools for
a command but it outputs the above error as well. So simply redirect the
error to /dev/null when running "servicelog_notify --remove".

Fixes: commit 146f662622
       ("kdump/ppc64: migration action registration clean up")

Acked-by: Tao Liu <ltao@redhat.com>
Acked-by: Hari Bathini <hbathini@linux.ibm.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-12-03 08:29:04 +08:00
Coiby Xu
c3c8df3745 add keytuils as a weak dependency for POWER
When secureboot is enabled, kdumpctl needs to use keyctl to add/remove
a key to/from the .ima keyring.

Fixes: commit 596fa0a07f
       ("kdumpctl: enable secure boot on ppc64le LPARs")

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-11-18 15:10:40 +08:00
Pingfan Liu
8cc51f3ab9 Document/kexec-kdump-howto.txt: improve notes for kdump_pre and kdump_post scripts
Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-11-16 13:30:29 +08:00
Pingfan Liu
c59dfe938e sysconfig: make kexec_file_load as default option on ppc64le
Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-11-12 11:47:27 +08:00
Pingfan Liu
960a132c31 sysconfig: make kexec_file_load as default option on aarch64
Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-11-12 11:46:31 +08:00
Tao Liu
9ffda5bc1c Enable zstd compression for makedumpfile in kexec-tools.spec
The Zstandard (zstd) compression method is not enabled:

    $ makedumpfile -v
    makedumpfile: version 1.7.0 (released on 8 Nov 2021)
    lzo	        enabled
    snappy	enabled
    zstd	disabled

This patch will enable it when building kexec-tools rpm package.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-11-11 16:36:13 +08:00
Coiby Xu
267a088b2a Release 2.0.23-1
Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-11-08 14:42:45 +08:00
Coiby Xu
8b9948df33 Update makedumpfile to 1.7.0
Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-11-08 14:42:22 +08:00
Coiby Xu
6936fbc1b2 fix broken extra_bins when installing multiple binaries
When there more than one binaries, quoting "$val" would make
dracut-install treat multiple binaries as one binary. Take
"extra_bins /usr/sbin/ping /usr/sbin/ip" as an example, the
following error would occur when building initrd,

dracut-install: ERROR: installing '/usr/sbin/ping /usr/sbin/ip'
dracut: FAILED: /usr/lib/dracut/dracut-install -D /var/tmp/dracut.ODrioZ/initramfs -a /usr/sbin/ping /usr/sbin/ip

Fix it by not quoting the variable and bypassing SC2086 shellcheck.

Fixes: commit 86538ca6e2
       ("bash scripts: fix variable quoting issue")

Acked-by: Tao Liu <ltao@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-11-05 17:50:45 +08:00
Tao Liu
727251e52e mkdumprd: drop mountaddr/mountproto nfs mount options
nfs service will append extra mount options to kernel mount options.
Such as mountaddr/mountproto options. These options only represent
current mounting details of the 1st kernel, but may not appropriate
for the 2nd kernel for the same reason as commit
d4f04afa47 ("mkdumprd: drop some nfs
		mount options when reading from kernel"). This patch will remove
these options.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-11-02 10:55:11 +08:00
Coiby Xu
294c965ca3 selftest: kill VM reliably by recursively kill children processes
qemu is launched in nested subprocess and can't be killed by simply
killing the job ids,

        PID    Command
    2269634    │  ├─ sshd: root [priv]
    2269637    │  │  └─ sshd: root@pts/0
    2269638    │  │     └─ -bash
    2269744    │  │        └─ make test-run V=1
    2273117    │  │           └─ /bin/bash /root/kexec-tools-300/tests/scripts/run-test.sh
    2273712    │  │              ├─ /bin/bash /root/kexec-tools-300/tests/scripts/run-test.sh
    2273714    │  │              │  └─ /bin/bash /root/kexec-tools-300/tests/scripts/run-test.sh
    2273737    │  │              │     └─ timeout --foreground 10m /root/kexec-tools-300/tests/scripts/run-qemu -nodefaults -nographic -smp 2 -m 768M -monitor no
    2273738    │  │              │        └─ /usr/bin/qemu-system-x86_64 -enable-kvm -cpu host -nodefaults -nographic -smp 2 -m 768M -monitor none -serial stdio
    2273746    │  │              │           ├─ /usr/bin/qemu-system-x86_64 -enable-kvm -cpu host -nodefaults -nographic -smp 2 -m 768M -monitor none -serial std
    2273797    │  │              ├─ /bin/bash /root/kexec-tools-300/tests/scripts/run-test.sh
    2273798    │  │              │  └─ /bin/bash /root/kexec-tools-300/tests/scripts/run-test.sh
    2273831    │  │              │     └─ timeout --foreground 10m /root/kexec-tools-300/tests/scripts/run-qemu -nodefaults -nographic -smp 2 -m 768M -monitor no
    2273832    │  │              │        └─ /usr/bin/qemu-system-x86_64 -enable-kvm -cpu host -nodefaults -nographic -smp 2 -m 768M -monitor none -serial stdio
    2273840    │  │              │           ├─ /usr/bin/qemu-system-x86_64 -enable-kvm -cpu host -nodefaults -nographic -smp 2 -m 768M -monitor none -serial std

This led to the error "qemu-system-x86_64: can't bind ip=0.0.0.0 to
socket: Address already in use".

This patch will kill qemu by killing all the children of the job id.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-10-15 19:20:25 +08:00
Kairui Song
6ea954d518 Release 2.0.22-8
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-09-16 23:46:42 +08:00
Kairui Song
f6e6aa4551 92-crashkernel.install: fix exit code
The return value of set_ck_kernel or set_grub_ck is wrongly being used
as the exit code. This hook should exit with 0 or it may result in
unexpected behavior of kernel-install.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-09-16 23:44:13 +08:00
Kairui Song
4c39ad9a0c dracut-early-kdump.sh: make it POSIX compatible
Refactor and remove bash only syntax.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
ee337c6f49 Add header comment for POSIX compliant scripts
To make things cleaner and more human readable, add a short comment for
the POSIX scripts.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
4b4d045b8c mkdumprd: allow using dash
All non-POSIX syntax in second kernel are gone, tested on Fedora 34
with latest dracut, dash now works fine.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
8cd57e5565 kdump-logger.sh: make it POSIX compatible
Refactor to remove some bash only syntax.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
4cdce1f489 kdump-lib.sh: reformat with shfmt
This is a batch update done with:
shfmt -s -w kdump-lib.sh

Clean up code style and reduce code base size, no behaviour change.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
20089dddd5 kdump-lib.sh: declare and assign separately
See: https://github.com/koalaman/shellcheck/wiki/SC2155

Signed-off-by: Kairui Song <kasong@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
4f01cb1b0a kdump-lib.sh: fix variable quoting issue
Fixed quoting issues found by shellcheck, no feature
change. This should fix many errors when there is space
in any shell variables.

And fixed how remove_cmdline_param is being called in prepare_cmdline.
Kernel parameters can have space like: param="spaces in here". So currently
remove_cmdline_param is broken since its args always get split by space.
But prepare_cmdline is expecting remove_cmdline_param to split its args
by space and passing a list of kernel args separated by space as a whole arg.
So fix that by using `xargs` to parse and split the args properly, then
call remove_cmdline_param.

Following quoting related issues are fixed (check the link
for example code and what could go wrong):

https://github.com/koalaman/shellcheck/wiki/SC1007
https://github.com/koalaman/shellcheck/wiki/SC2046
https://github.com/koalaman/shellcheck/wiki/SC2053
https://github.com/koalaman/shellcheck/wiki/SC2060
https://github.com/koalaman/shellcheck/wiki/SC2068
https://github.com/koalaman/shellcheck/wiki/SC2086

Signed-off-by: Kairui Song <kasong@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
319219d23b kdump-lib.sh: fix a few ambiguous or redundant code
Fix a few ambiguous syntax issues and remove some unused variables.
Also refactor some code to make it more robust.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
c0edb80b8f kdump-lib.sh: fix arithmetic operation syntax
Get rid of let, and remove useless '$' on arithmetic variables.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
53813e8b9a kdump-lib.sh: remove useless echo and cat
Replace echo "$(cmd)" and "var=$(cmd); echo $var" with just `cmd`.
And remove some useless cat.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
58d3e6db3a kdump-lib.sh: rework nmcli related functions
This fixes word splitting issue with nmcli args. Current kexec-tools
scripts won't call nmcli with correct arguments when there are space in
network interface name.

nmcli expects multiple parameters, but get_nmcli_value_by_field only
accepts two params and depends on shell word splitting to split the
_nm_show_cmd into multiple params, which is very fragile.
So switch the param order, simplified this function and now multiple
params can be used properly.

And get_nmcli_connection_show_cmd_by_ifname returns multiple
nmcli params in a single variable, it depend on shell word splitting to
split the words when calling nmcli. But this is very fragile and break
easily when there are any special character in the connection path.

This function is only introduced to get and cache the nmcli command
which contains the "connection name".

Actually only cache the "connection path" is enough. Callers should
just call get_nmcli_connection_apath_by_ifname to cache the path, and
a new helper get_nmcli_field_by_conpath is introduced here to get value
from nmcli. This way "connection path" can contain any character.

Also get rid of another nmcli_cmd usage in
get_nmcli_connection_apath_by_ifname which stores multiple params in a
single bash variable separated by space.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
30090f3a15 kdump-lib.sh: replace '[ ]' with '[[ ]]' and get rid of legacy ``
Updated file syntax with following command:

sed -i -e 's/\(\s\)\[\s\([^]]*\)\s\]/\1\[\[\ \2 \]\]/g' kdump-lib.sh
(replace '[ ]' with '[[ ]]')

sed -i -e 's/`\([^`]*\)`/\$(\1)/g' kdump-lib.sh
(replace `...` with $(...))

And manually updated [[ ... -a ... ]] and [[ ... -o ... ]] with && and
||.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
5debf397fe kdump-lib-initramfs.sh: make it POSIX compatible
POSIX doesn't support keyword local, so add double underscore and prefix
to variable names, and reduce variable usage, to avoid any variable name
conflict.

Also reformat the code with `shfmt -s -w kdump-lib-initramfs.sh`.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:11:37 +08:00
Kairui Song
7c76611abb dracut-kdump.sh: reformat with shfmt
This is done with `shfmt -w -s dracut-kdump.sh`. There is no behaviour
change.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-15 23:10:57 +08:00
Kairui Song
b1339c3b8a dracut-kdump.sh: make it POSIX compatible
POSIX doesn't support keyword `local`, so this commit reduced variable usage.
Heredoc ("<<<") operation is also not supported, so kdump.conf is now pre-parse
into a temp file. Also fixes many POSIX syntax errors.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:54 +08:00
Kairui Song
725027b735 dracut-kdump.sh: POSIX doesn't support pipefail
Set pipefail will cause POSIX shell to exit with failure. So only do
that in bash.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:54 +08:00
Kairui Song
b1c794a2cf dracut-kdump.sh: Use stat instead of ls to get vmcore size
ls output is fragile, so use stat instead.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:54 +08:00
Kairui Song
7a9823b42e dracut-kdump.sh: simplify dump_ssh
There is a workaround for `scp` that it expects IPv6 address to be
quoted with [ ... ], only apply the workaround once and store the
updated `scp` address to reuse it.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:54 +08:00
Kairui Song
8f89e89071 dracut-kdump.sh: remove add_dump_code
`add_dump_code "<op>"` is just `DUMP_INSTRUCTION="<op>"`, no need a
extra wrapper for that.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:54 +08:00
Kairui Song
0675edbadb dracut-kdump.sh: don't put KDUMP_SCRIPT_DIR in PATH
monitor_dd_progress is the only extra binary in KDUMP_SCRIPT_DIR, no
need to change PATH environment variable, just call it directly.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:54 +08:00
Kairui Song
a1205effaa kdump-lib-initramfs.sh: move dump related functions to kdump.sh
These dump related functions are only used by dracut-kdump.sh.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:54 +08:00
Kairui Song
e7118d1de8 Merge kdump-error-handler.sh into kdump.sh
kdump-error-handler.sh does nothing except calling three functions,
it can be easily merged into kdump.sh by using a parameter to run the
error handling routine.

kdump-lib-initramfs.sh was created to hold the three shared functions
and related code, so by merging these two files, kdump-lib-initramfs.sh
can be simplified by a lot.

Following up commits will clean up kdump-lib-initramfs.sh.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:54 +08:00
Kairui Song
a5faa052d4 kdump-lib-initramfs.sh: prepare to be a POSIX compatible lib
Move all functions needed in the second kernel from kdump-lib.sh
to kdump-lib-initramfs.sh, and update shebang headers.

Now, kdump-lib-initramfs.sh is an independent lib script, no longer
depend on kdump-lib.sh, and kdump-lib.sh is no longer needed for
the second kernel.

In later commits, functions in kdump-lib-initramfs.sh will be reworked
to be POSIX compatible, kdump-lib.sh will contain bash only functions.

POSIX shell have very limited features, eg. `local` keyword doesn't
exist in POSIX but we rely on that heavily. So kdump-lib.sh will
use bash syntax and contain the most complex helper and codes.

kdump-lib-initramfs.sh will contain the minimum set of helpers,
and be shared by both the first and second kernel.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:46 +08:00
Kairui Song
0e4b66b1ab bash scripts: reformat with shfmt
This is a batch update done with:
shfmt -s -w mkfadumprd mkdumprd kdumpctl *-module-setup.sh

Clean up code style and reduce code base size, no behaviour change.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
4f75e16700 bash scripts: declare and assign separately
Declare and assign separately to avoid masking return values:
https://github.com/koalaman/shellcheck/wiki/SC2155

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
a4648fc851 bash scripts: fix redundant exit code check
As suggested by:
https://github.com/koalaman/shellcheck/wiki/SC2181

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
86538ca6e2 bash scripts: fix variable quoting issue
Fixed quoting issues found by shellcheck, no feature
change. This should fix many errors when there is space
in any shell variables, eg. dump target's name/path/id.

False positives are marked with "# shellcheck disable=SCXXXX", for
example, args are expected to split so it should not be quoted.

And replaced some `cut -d ' ' -fX` with `awk '{print $X}'` since cut
is fragile, and doesn't work well with any quoted strings that have
redundant space.

Following quoting related issues are fixed (check the link
for example code and what could go wrong):

https://github.com/koalaman/shellcheck/wiki/SC2046
https://github.com/koalaman/shellcheck/wiki/SC2053
https://github.com/koalaman/shellcheck/wiki/SC2068
https://github.com/koalaman/shellcheck/wiki/SC2086
https://github.com/koalaman/shellcheck/wiki/SC2206

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
70978c00e5 bash scripts: replace '[ ]' with '[[ ]]' for bash scripts
kdumpctl, mkdumprd, *-module-setup.sh only target bash, since they
only run in first kernel and depend on dracut, and dracut depends
on bash. So use '[[ ]]' to replace '[ ]'.

This is a batch update done with following command:
`sed -i -e 's/\(\s\)\[\s\([^]]*\)\s\]/\1\[\[\ \2 \]\]/g' kdumpctl, mkdumprd, *-module-setup.sh`
and replaced [ ... -a ... ] with [[ ... ]] && [[ ... ]] manually.

See https://tldp.org/LDP/abs/html/testconstructs.html for more details
on '[[ ]]', it's more versatile, safer, and slightly faster than '[ ]'.

This will also help shfmt to clean up the code in later commits.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
54cc5c44be bash scripts: use $(...) notation instead of legacy ...
This is a batch update done with following command:

`sed -i -e 's/`\([^`]*\)`/\$(\1)/g' mkfadumprd mkdumprd \
 kdumpctl dracut-module-setup.sh dracut-fadump-module-setup.sh \
 dracut-early-kdump-module-setup.sh`

And manually converted some corner cases. This fixes
all related issues detected by shellcheck.
Make it easier to do clean up in later commits.

Check following link for reasons to switch to the new syntax:
https://github.com/koalaman/shellcheck/wiki/SC2006

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
a416930706 bash scripts: always use "read -r"
This helps to strip spaces and avoid mangling backslashes:

https://github.com/koalaman/shellcheck/wiki/SC2162

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
fdfad3102e bash scripts: get rid of unnecessary sed calls
Use bash builtin string substitution instead, as suggested by:
https://github.com/koalaman/shellcheck/wiki/SC2001

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
c4d85142be bash scripts: get rid of expr and let
As suggested by:
https://github.com/koalaman/shellcheck/wiki/SC2219

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
6d45257cc1 bash scripts: remove useless cat
Some `cat` calls are useless, remove them to make it cleaner.
See: https://github.com/koalaman/shellcheck/wiki/SC2002

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
3b0157197b dracut-module-setup.sh: remove surrounding $() for subshell
Some functions are executed in subshell to avoid variable environment
pollution. But the surrounding $() is not needed, and it may lead to
executing output which is unexpected here.

See: https://github.com/koalaman/shellcheck/wiki/SC2091

Signed-off-by: Kairui Song <kasong@redhat.com>
Suggested-by: Coiby Xu <coxu@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
67e559a6b9 dracut-module-setup.sh: make iscsi check fail early if cd failed
As suggested by:
https://github.com/koalaman/shellcheck/wiki/SC2164

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
3b2fa982bb dracut-module-setup.sh: fix a loop over ls issue
Iterating over ls output is fragile:
https://github.com/koalaman/shellcheck/wiki/SC2045

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
dfe7555323 dracut-module-setup.sh: fix a ambiguous variable reference
Wrap the variable with {...}, else it may get interpreted as array due
to the '[' char next to it.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
da3ad9cbda dracut-module-setup.sh: use "*" to expend array as string
As suggested by:
https://github.com/koalaman/shellcheck/wiki/SC2199
The array is not quoted here but implicitly concatenate still happens,
could be harmless but shellcheck complains about it so fix it.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
49dd4fcdbb dracut-module-setup.sh: fix _bondoptions wrong references
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
ba7aa447b2 dracut-module-setup.sh: remove an unused variable
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
46542ccda5 dracut-module-setup.sh: rework kdump_get_ip_route_field
Avoid duplicated echo / cut / grep call, just use sed.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
982205d607 mkfadumprd: make _dracut_isolate_args an array
To make arguments list work as expected, array is preferred.

Check following link for details:
https://github.com/koalaman/shellcheck/wiki/SC2089

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
3a4b0351d0 mkdumprd: use array to store ssh arguments in mkdir_save_path_ssh
For storing arguments, plain string is not a good choice. Array is
preferred:

See: https://github.com/koalaman/shellcheck/wiki/SC2089

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
c486b1fa30 mkdumprd: remove an awk call in get_fs_size
By using `df --output=avail`, the awk call can be dropped.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
d6449e7293 mkdumprd: fix multiple issues with get_ssh_size
Currently get_ssh_size is not working as expected, it should return the
target's available space, but it will include df's header row string as
the result. Fix this issue by only use the last output line.

And the _opt variable will be used as args so it should be an array.

Also remove the awk call, just use `df --output=avail` instead.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
e4c7b5bbf5 mkdumprd: remove some redundant echo
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
227fc2bc7d mkdumprd: make dracut_args an array again
To make arguments list work as expected, array is preferred.

Use xargs only to parse the "dracut_args" config value, and pass the
array directly to dracut.

Check following link for details:
https://github.com/koalaman/shellcheck/wiki/SC2089

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
075e62252e mkdumprd: use kdump_get_conf_val to read config values
Simplify the code and cover more corner cases.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
80525aface kdumpctl: refine grep usage
Use `grep -q` instead of redirect to /dev/null.

Use `grep -c` instead, as suggested in:
https://github.com/koalaman/shellcheck/wiki/SC2126

Use `grep -E` instead of `egrep`.
https://github.com/koalaman/shellcheck/wiki/SC2196

Signed-off-by: Kairui Song <kasong@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
dfb76467c9 kdumpctl: fix fragile loops over find output
For loops over find output are fragile, use a while read loop:
https://github.com/koalaman/shellcheck/wiki/SC2044

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com
2021-09-14 03:25:29 +08:00
Kairui Song
01613b7211 kdumpctl: use kdump_get_conf_val to read config values
Also fixed kdumpctl, use `awk` instead of `cut` to read
core_collector's executable name correctly when its arguments
are not seperated by space.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
ab1ef78aa2 kdump-lib.sh: use kdump_get_conf_val to read config values
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
09ccf88405 kdump-lib.sh: add a config value retrive helper
Add a helper kdump_get_conf_val to replace get_option_value.

It can help cover more corner cases in the code, like when there are
multiple spaces in config file, config value separated by a tab,
heading spaces, or trailing comments.

And this uses "sed group command" and "sed hold buffer", make it much
faster than previous `grep <config> | tail -1`.

This helper is supposed to provide a universal way for kexec-tools
scripts to read in config value. Currently, different scripts are
reading the config in many different fragile ways.

For example, following codes are found in kexec-tools script code base:
  1. grep ^force_rebuild $KDUMP_CONFIG_FILE
     echo $_force_rebuild | cut -d' '  -f2

  2. grep ^kdump_post $KDUMP_CONFIG_FILE | cut -d\  -f2

  3. awk '/^sshkey/ {print $2}' $conf_file

  4. grep ^path $KDUMP_CONFIG_FILE | cut -d' '  -f2-

1, 2, and 4 will fail if the space is replaced by, e.g. a tab

1 and 2 might fail if there are multiple spaces between config name
and config value:
"kdump_post  /var/crash/scripts/kdump-post.sh"
A space will be read instead of config value.

1, 2, 3 will fail if there are space in file path, like:
"kdump_post /var/crash/scripts dir/kdump-post.sh"

4 will fail if there are trailing comments:
"path /var/crash # some comment here"

And all will fail if there are heading space,
" path /var/crash"

And all will most likely cause problems if the config file contains
the same option more than once.

And all of them are slower than the new sed call. Old get_option_value
is also very slow and doesn't handle heading space.

Although we never claim to support heading space or tailing comments
before, it's harmless to be more robust on config reading, and many
conf files in /etc support heading spaces. And have a faster and
safer config reading helper makes it easier to clean up the code.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
a0282ab22c kdump-lib.sh: add a config format and read helper
Add a helper `kdump_read_conf` to replace read_strip_comments.
`kdump_read_conf` does a few more things:

  - remove trailing spaces.
  - format the content, remove duplicated spaces between name and value.
  - read from KDUMP_CONFIG_FILE (/etc/kdump.conf) directly, avoid pasting
    "/etc/kdump.conf" path everywhere in the code.
  - check if config file exists, just in case.

Also unify the environmental variable, now KDUMP_CONFIG_FILE stands for
the default config location.

This helps avoid some shell pitfalls about spaces when reading config.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
2021-09-14 03:25:29 +08:00
Kairui Song
bcb1176ec6 Add a .editorconfig file
EditorConfig file is helpful for tools like `shfmt`, also could be a
hint for code styling.

The code style spec used in this new added .editorconfig file is
generated based on existing code style.

Following commits will make mkfadumprd, mkdumprd, kdumpctl, kdump-lib.sh,
and *-module-setup.sh only be used in first kernel, so use bash syntax
for these scripts. Other scripts will use sh syntax for better POSIX
compatibility.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-09-14 03:25:25 +08:00
Adam Williamson
5270d40dd0 Don't exit 1 from 92-crashkernel.install if zipl is absent (#1993505)
At least, this is a plausible suspect for #1993505 - thanks to
@kevin for identifying it - and fixing it should be safe and
correct, so we may as well do it and see if it helps.
2021-08-31 16:07:51 -07:00
Kairui Song
6c390b70e8 Release 2.0.22-6
Also fix a format error in changelog.

Signed-off-by: Kairui Song <kasong@redhat.com>
2021-08-20 20:14:27 +08:00
Kairui Song
7ddda7e6d0 Remove hard requirement on grubby
Downgrade to "Recommends:" as suggested by CoreOS team.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Tao Liu <ltao@redhat.com>
2021-08-20 16:13:25 +08:00
Kairui Song
097059dedc Clear old crashkernl=auto in comment and doc
Acked-by: Pingfan Liu <piliu@redhat.com>
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-08-05 17:54:20 +08:00
Hari Bathini
146f662622 kdump/ppc64: migration action registration clean up
While kdump migration action is registered for LPM event, ensure it is
cleared as appropriate to avoid duplicate/stale notification entries.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-07-31 19:40:14 +08:00
Fedora Release Engineering
152cf5e46c - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 09:42:58 +00:00
Coiby Xu
b2bbb54d89 Check the existence of /sys/bus/ccwgroup/devices/*/online beforehand
On s390x KVM machines, the following errors would show when building kdump
initramfs that dumps vmcore to a remote target,
    $ kdumpctl rebuild
    /usr/lib/dracut/modules.d/99kdumpbase/module-setup.sh: line 475: /sys/bus/ccwgroup/devices/online: No such file or directory
    /usr/lib/dracut/modules.d/99kdumpbase/module-setup.sh: line 476: [: -ne: unary operator expected

This happens because s390x KVM machines use virtual network and
/sys/bus/ccwgroup/devices/ exists but is empty. Fix it by check
the existence of file "/sys/bus/ccwgroup/devices/*/online".

Fixes: commit 7d47251568
       ("Iterate /sys/bus/ccwgroup/devices to tell if we should set up rd.znet")

BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1982474
Reported-by: Jie Li <jieli@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
t Acked-by: Kairui Song <kasong@redhat.com>
2021-07-21 17:10:28 +08:00
Kairui Song
660cf4ac03 Make dump_to_rootfs wait for 90s for real
When `failure_action` is set to `dump_to_rootfs`, the message:
"Waiting for rootfs mount, will timeout after 90 seconds"
is actually wrong. Kdump will simply call `systemctl start sysroot.mount`,
but the timeout value of sysroot.mount depends on the unit service and
dracut parameters. And by default, dracut will set
JobRunningTimeoutSec=0 and JobTimeoutSec=0 for the device units,
which means it will wait forever. (see wait_for_dev function in dracut)

For some devices, this can be fixed by setting rd.timeout=90. But when
initqueue is set enabled during initramfs build, dracut will force set
timeout for host devices to `0`. (see 99base/module-setup.sh).

Depending on dracut / systemd can make things unpredictable and break as
parameters or code change. To make things easy to understand and
maintain, just call `systemctl` with `--no-block` params, and implement
a standalone wait loop.  Now `dump_to_rootfs` will actually wait for
90s then timeout.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-07-21 15:40:38 +08:00
Kairui Song
7435ecf3c4 Update crashkernel-howto.txt
Fix some grammar issues.

Signed-off-by: Kairui Song <kasong@redhat.com>
2021-07-21 14:05:42 +08:00
Hari Bathini
71b7a2f47c kdump/ppc64: rebuild initramfs image after migration
Dump capture initramfs needs rebuild after partition migration (LPM).
Use servicelog notification mechanism to invoke kdump rebuild after
migration.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-07-21 10:53:59 +08:00
Philipp Rudo
914a856c66 kdump.sysconfig.s390: Remove "prot_virt" from kdump kernel cmdline
"prot_virt" enables the kernel to run Secure Execution virtual machines
on s390. These virtual machines are isolated from the hypervisor and
thus protected against tampering by a malicious host. Enabling
"prot_virt" requires a minimum of ~2.5GB memory which exceeds what is
typically reserved for the crashkernel. Thus remove "prot_virt" from the
command line for the 2nd kernel to prevent it to run out-of-memory.

For more discussions about this, see:
https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org/thread/QSRRNV4ALKXUJC2VM3US4Z2NSQRHVMXB/

Signed-off-by: Philipp Rudo <prudo@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2021-07-20 15:57:05 +08:00
Kairui Song
bcd8d6a47b kdumpctl: fix a typo
Recommanded -> Recommended

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-07-20 15:57:05 +08:00
Zbigniew Jędrzejewski-Szmek
c894022e9b Remove references to systemd-sysv-convert
Packaging guidelines have been amended to not require systemd for scriptlets,
see https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_scriptlets.

The comment duplicates what the macro contains.

systemd-sysv-convert binary was removed in 2013, trying to call it is
unlikely to succeed.

chkconfig binary is provided by the chkconfig package, which is not in
Requires. (And makes little sense to call nowadays anyway.)
2021-07-18 16:36:52 +00:00
Kairui Song
7b7ddaba88 kdump-lib.sh: kdump_get_arch_recommend_size uses crashkernel.default
The new `crashkernel.default` file in kernel package can be used as the
ck_cmdline source.

Also keep the legacy code so old kernel packages will still work.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-07-14 02:04:06 +08:00
Coiby Xu
231a75ac1b Revert "Revert "x86_64: enable the kexec file load by default""
This reverts commit 073c30973c, i.e.
re-enable the kexec file load by default since this dual signature
issue no longer bothers Fedora 34.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-07-14 02:03:10 +08:00
Kairui Song
2603ba7187 Cleanup dead systemd services before start sysroot.mount
When kdump failed due to initqueue timeout, the sysroot.mount and other
serivces could be stuck in `start` but `dead` status:

Example output of systemctl:

dev-disk-by\x2duuid-530830d1\x2df2c7\x2d4c9a\x2d9a82\x2d148609097521.device loaded inactive   dead    start
<... snip ...>
squash-root.mount		loaded active     mounted       /squash/root
squash.mount			loaded active     mounted       /squash
sysroot.mount			loaded inactive   dead    start /sysroot
<... snip ...>
dracut-cmdline.service		loaded active     exited        dracut cmdline hook
dracut-initqueue.service	loaded activating start   start dracut initqueue hook
dracut-mount.service		loaded inactive   dead    start dracut mount hook

At this point calling `systemctl start sysroot.mount` will just hang as
systemd will just wait for the services that are stuck in `start`
status. So call `systemctl cancel` here to cancel all pending jobs and
have a clean start for mounting sysroot.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-07-12 16:53:34 +08:00
Kairui Song
7dbbb4bb31 Add a crashkernel-howto.txt doc
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2021-07-08 15:36:36 +08:00
Kairui Song
6463641935 Add a new hook: 92-crashkernel.install
To track and manage kernel's crashkernel usage by kernel version,
each kernel package will include a crashkernel.default containing the
default `crashkernel=` value of that kernel. So we can use a hook to
update the kernel cmdline of new installed kernel accordingly.

Put it after all other grub boot loader setup hooks, so it can simply
call grubby to modify the kernel cmdline.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2021-07-08 15:36:32 +08:00
Kairui Song
86130ec10f kdumpctl: Add kdumpctl reset-crashkernel
In newer kernel, crashkernel.default will contain the default
crashkernel value of a kernel build. So introduce a new sub command
to help user reset kernel crashkernel size to the default value.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2021-07-08 15:18:45 +08:00
Kairui Song
017903c3c4 Revert "kdump-lib.sh: Remove is_atomic"
Now we need this helper again, for `reset-crashkernel`

This reverts commit ff46cfb19e.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2021-07-08 15:18:00 +08:00
Kairui Song
97930d3cca fadump-init: clean up mount points properly
When running with squash module enabled for both initramfs, /dev and
/run are also mounted by squash-init, so move them to newroot as well,
else they might leak.

Also pass `-d` to umount so loop devices (if used) will be force freed.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Hari Bathini <hbathini@linux.ibm.com>
2021-06-30 17:28:45 +08:00
Kairui Song
bf6671b60d fadump: kdumpctl should check the modules used by the fadump initramfs
After fadump embedded the fadump initramfs in the normal initramfs,
kdumpctl will mistakenly rebuild the initramfs everytime.

kdumpctl checks the hostonly-kernel-modules.txt file in initramfs
to check if required drivers are included, but the normal initramfs
is built in non-hostonly mode, so it doesn't have a
hostonly-kernel-modules.txt file. The check will always fail.

So let mkfadumprd make a copy of the hostonly-kernel-modules.txt in the
fadump initramfs and let kdumpctl check that file instead.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Hari Bathini <hbathini@linux.ibm.com>
2021-06-30 17:27:02 +08:00
Hari Bathini
fa9201b240 fadump: isolate fadump initramfs image within the default one
In case of fadump, the initramfs image has to be built to boot into
the production environment as well as to offload the active crash dump
to the specified dump target (for boot after crash). As the same image
would be used for both boot scenarios, it could not be built optimally
while accommodating both cases.

Use --include to include the initramfs image built for offloading
active crash dump to the specified dump target. Also, introduce a new
out-of-tree dracut module (99zz-fadumpinit) that installs a customized
init program while moving the default /init to /init.dracut. This
customized init program is leveraged to isolate fadump image within
the default initramfs image by kicking off default boot process
(exec /init.dracut) for regular boot scenario and activating fadump
initramfs image, if the system is booting after a crash.

If squash is available, ensure default initramfs image is also built
with squash module to reduce memory consumption in capture kernel.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-29 21:35:58 +08:00
Kairui Song
c4749f9c57 Release 2.0.22-4
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-06-29 21:24:19 +08:00
Coiby Xu
ad6f60d70d fix format issue in find_online_znet_device
Change spaces to tab to fix alignment issue.

Fixes: commit 7d47251568
       ("Iterate /sys/bus/ccwgroup/devices to tell if we should set up rd.znet")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-29 17:11:07 +08:00
Coiby Xu
03f9b91351 check the existence of /sys/bus/ccwgroup/devices before trying to find online network device
/sys/bus/ccwgroup/devices doesn't exist for non-s390x machines which leads to
the warning "find: '/sys/bus/ccwgroup/devices': No such file or directory".
This warning can be eliminated by checking the existence of
"/sys/bus/ccwgroup/devices" beforehand.

Fixes: commit 7d47251568
       ("Iterate /sys/bus/ccwgroup/devices to tell if we should set up rd.znet")

Reported-by: Ruowen Qin <ruqin@redhat.com>
BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1974618
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-29 17:11:00 +08:00
Tao Liu
50bb8b701f check for invalid physical address of /proc/kcore when making ELF dumpfile
Backport from upstream.

commit 9a6f589d99dcef114c89fde992157f5467028c8f
Author: Tao Liu <ltao@redhat.com>
Date:   Fri Jun 18 18:28:04 2021 +0800

    [PATCH] check for invalid physical address of /proc/kcore when making ELF dumpfile

    Previously when executing makedumpfile with -E option against
    /proc/kcore, makedumpfile will fail:

      # makedumpfile -E -d 31 /proc/kcore kcore.dump
      ...
      write_elf_load_segment: Can't convert physaddr(ffffffffffffffff) to an offset.

      makedumpfile Failed.

    It's because /proc/kcore contains PT_LOAD program headers which have
    physaddr (0xffffffffffffffff).  With -E option, makedumpfile will
    try to convert the physaddr to an offset and fails.

    Skip the PT_LOAD program headers which have such physaddr.

    Signed-off-by: Tao Liu <ltao@redhat.com>
    Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-28 15:52:21 +08:00
Tao Liu
0feb109818 check for invalid physical address of /proc/kcore when finding max_paddr
Backport from upstream.

commit 38d921a2ef50ebd36258097553626443ffe27496
Author: Coiby Xu <coxu@redhat.com>
Date:   Tue Jun 15 18:26:31 2021 +0800

    [PATCH] check for invalid physical address of /proc/kcore when finding max_paddr

    Kernel commit 464920104bf7adac12722035bfefb3d772eb04d8 ("/proc/kcore:
    update physical address for kcore ram and text") sets an invalid paddr
    (0xffffffffffffffff = -1) for PT_LOAD segments of not direct mapped
    regions:

      $ readelf -l /proc/kcore
      ...
      Program Headers:
        Type           Offset             VirtAddr           PhysAddr
                       FileSiz            MemSiz              Flags  Align
        NOTE           0x0000000000000120 0x0000000000000000 0x0000000000000000
                       0x0000000000002320 0x0000000000000000         0x0
        LOAD           0x1000000000010000 0xd000000000000000 0xffffffffffffffff
                                                             ^^^^^^^^^^^^^^^^^^
                       0x0001f80000000000 0x0001f80000000000  RWE    0x10000

    makedumpfile uses max_paddr to calculate the number of sections for
    sparse memory model thus wrong number is obtained based on max_paddr
    (-1).  This error could lead to the failure of copying /proc/kcore
    for RHEL-8.5 on ppc64le machine [1]:

      $ makedumpfile /proc/kcore vmcore1
      get_mem_section: Could not validate mem_section.
      get_mm_sparsemem: Can't get the address of mem_section.

      makedumpfile Failed.

    Let's check if the phys_start of the segment is a valid physical
    address to fix this problem.

    [1] https://bugzilla.redhat.com/show_bug.cgi?id=1965267

    Reported-by: Xiaoying Yan <yiyan@redhat.com>
    Signed-off-by: Coiby Xu <coxu@redhat.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-28 15:52:16 +08:00
Tao Liu
18b9b763de Increase SECTION_MAP_LAST_BIT to 5
Backport from upstream.

commit 646456862df8926ba10dd7330abf3bf0f887e1b6
Author: Kazuhito Hagio <k-hagio-ab@nec.com>
Date:   Wed May 26 14:31:26 2021 +0900

    [PATCH] Increase SECTION_MAP_LAST_BIT to 5

    * Required for kernel 5.12

    Kernel commit 1f90a3477df3 ("mm: teach pfn_to_online_page() about
    ZONE_DEVICE section collisions") added a section flag
    (SECTION_TAINT_ZONE_DEVICE) and causes makedumpfile an error on
    some machines like this:

      __vtop4_x86_64: Can't get a valid pmd_pte.
      readmem: Can't convert a virtual address(ffffe2bdc2000000) to physical address.
      readmem: type_addr: 0, addr:ffffe2bdc2000000, size:32768
      __exclude_unnecessary_pages: Can't read the buffer of struct page.
      create_2nd_bitmap: Can't exclude unnecessary pages.

    Increase SECTION_MAP_LAST_BIT to 5 to fix this.  The bit had not
    been used until the change, so we can just increase the value.

    Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-28 15:52:02 +08:00
Kairui Song
302be5c34b Release 2.0.22-3
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-06-20 02:38:04 +08:00
Coiby Xu
62578ace21 selftest: ignore all spaces when compare the dmesg files
For the log entry that has multiple lines, "makedumpfile --dump-dmesg"
would indent the remaining lines while vmcore-dmesg doesn't. For
example, vmcore-dmesg.txt and vmcore-dmesg.txt.2 are the outputs of
vmcore-dmesg and "makedumpfile --dump-dmesg" respectively,

    ```
    diff -u vmcore-dmesg.txt vmcore-dmesg.txt.2
    --- vmcore-dmesg.txt    2021-03-28 22:13:09.986000000 -0400
    +++ vmcore-dmesg.txt.2  2021-03-28 22:13:39.920106131 -0400
    @@ -397,9 +397,9 @@
     [    1.710742] vc vcsa: hash matches
     [    1.711938] RAS: Correctable Errors collector initialized.
     [    1.713736] Unstable clock detected, switching default tracing clock to "global"
    -If you want to keep using the local clock, then add:
    -  "trace_clock=local"
    -on the kernel command line
    +               If you want to keep using the local clock, then add:
    +                 "trace_clock=local"
    +               on the kernel command line
     [    1.750539] ata1.01: NODEV after polling detection
     [    1.750973] ata1.00: ATA-7: QEMU HARDDISK, 2.5+, max UDMA/100
     [    1.752885] ata1.00: 8388608 sectors, multi 16: LBA48
    ```

Quite often, all three tests could fail because of the above difference. So
let's ignore all the spaces. This patch could fix bz1952299 [1].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1952299

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-08 22:21:47 +08:00
Coiby Xu
560c0e8a7b selftest: Make test_base_image depends on EXTRA_RPMS
test_base_image should depend on EXTRA_RPMS so it gets rebuild when
EXTRA_RPMS changes.

Fixes: commit bbc064f958
       ("selftest: add EXTRA_RPMs so dracut RPMs can be installed onto
        the image to run the tests")
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-08 22:21:47 +08:00
Coiby Xu
0a15d859bb selftest: fix the error of misplacing double quotes
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-08 22:21:47 +08:00
Lianbo Jiang
2d9504c4a4 mkdumprd: display the absolute path of dump location in the check_user_configured_target()
When kdump service fails, the current errors do not display the
absolute path of dump location(marked it as "^"), for example:

kdump: kexec: unloaded kdump kernel
kdump: Stopping kdump: [OK]
kdump: Detected change(s) in the following file(s):  /etc/kdump.conf
kdump: Rebuilding /boot/initramfs-4.18.0-304.el8.x86_64kdump.img
kdump: Dump path "/var1/crash" does not exist in dump target "UUID=c202ef45-3ac3-4adb-85e7-307a916757f0"
                  ^^^^^^^^^^^
kdump: mkdumprd: failed to make kdump initrd
kdump: Starting kdump: [FAILED]

Here, it should output the absolute path of dump location with this
format: "<mount path>/<path>". To fix it, let's extend the relative
pathname to the absolute pathname in check_user_configured_target().

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-08 10:49:24 +08:00
Coiby Xu
7d47251568 Iterate /sys/bus/ccwgroup/devices to tell if we should set up rd.znet
This patch fixes bz1941106 and bz1941905 which passed empty rd.znet to the
kernel command line in the following cases,
 - The IBM (Z15) KVM guest uses virtio for all devices including network
   device, so there is no znet device for IBM KVM guest. So we can't
   assume a s390x machine always has a znet device.
 - When a bridged network is used, kexec-tools tries to obtain the znet
   configuration from the ifcfg script of the bridged network rather than
   from the ifcfg script of znet device.

We can iterate /sys/bus/ccwgroup/devices to tell if there if there is
a znet network device. By getting an ifname from znet, we can also avoid
mistaking the slave netdev as a znet network device in a bridged network
or bonded network.

Note: This patch also assumes there is only one znet device as commit
7148c0a30d ("add s390x netdev setup")
which greatly simplifies the code. According to IBM [1], there could be
more than znet devices for a z/VM system and a z/VM system may have a
non-znet network device like ConnectX. Since kdump_setup_znet was
introduced in 2012 and so far there is no known customer complaint that
invalidates this assumption I think it's safe to assume an IBM z/VM
system only has one znet device. Besides, there is no z/VM system found
on beaker to test the alternative scenarios.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1941905#c13

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-08 10:48:34 +08:00
Kairui Song
41980f30d9 Use a customized emergency shell
Use a modified and minimized version of emergency shell.
The differences of this kdump shell and dracut emergency shell are:

  - Kdump shell won't generate a rdsosreport automatically
  - Customized prompts
  - Never ask root password
  - Won't tangle with dracut's emergency_action. If emergency_action is
    set, dracut emergency shell will perform dracut's emergency_action
    instead of kdump final_action on exit.
  - If rd.shell=no is set, kdump shell will still work, dracut emergency
    shell won't, even if kdump failure_action is set to shell.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-06-04 14:26:51 +08:00
Kairui Song
a2306346bc Remove the kdump error handler isolation wrapper
The wrapper is introduced in commit 002337c, according to the commit
message, the only usage of the wrapper is when dracut-initqueue calls
"systemctl start emergency" directly. In that case, emergency
is started, but not in a isolation mode, which means dracut-initqueue
is still running. On the other hand, emergency will call
"systemctl start dracut-initqueue" again when default action is dump_to_rootfs.

systemd would block on the last dracut-initqueue, waiting for the first
instance to exit, which leaves us hang.

In previous commit we added initqueue status detect in dump_to_rootfs,
so now even without the wrapper, it will not hang.

And actually, previously, with the wrapper, emergency might still hang
for like 30s. When dracut called emergency service because initqueue
timed out, dump_to_rootfs will try start initqueue again and timeout
again. Now with the wrapper removed, we can avoid these two kinds of
hangs, bacause without the isolation we can detect initqueue service
status correctly in such case.

Also remove the invalid header comments in service file, the service
is not part of systemd code. And sync the service spec with dracut.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-06-04 14:26:45 +08:00
Kairui Song
108258139a Don's try to restart dracut-initqueue if it's already there
kdump's dump_to_rootfs will try to start initqueue unconditionally.
dump_to_rootfs will run after systemd isolate to emergency
target, so this is currently accetable.

But there is a problem when initqueue starts the emergency action
because of initqueue timeout. dump_to_rootfs will start initqueue and
lead to timeout again.

So following patch will remove the previous isolation wrapper, and
detect the service status here. Previous isolation makes the detection
impossible. Now this detection will be valid and helpful to prevent
double timeout or hang.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Coiby Xu <coxu@redhat.com>
2021-06-04 14:25:37 +08:00
Hari Bathini
39a642b66b kdump-lib.sh: fix a warning in prepare_kdump_bootinfo()
Fix the warning observed when KDUMP_KERNELVER is specified:

  kdumpctl[10926]: /lib/kdump/kdump-lib.sh: line 697: [: missing `]'

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-06-04 02:53:10 +08:00
Pingfan Liu
45377836b0 kdump-lib.sh: fix the case if no enough total RAM for kdump in get_recommend_size()
For crashkernel=auto policy, if total RAM size is under a throttle,
there is no memory reserved for kdump.

Also correct a trivial bug by correcting the arch name.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-25 10:07:55 +08:00
Kairui Song
e9e6a2c745 kdumpctl: Add kdumpctl estimate
Add a rough esitimation support, currently, following memory usage are
checked by this sub command:

- System RAM
- Kdump Initramfs size
- Kdump Kernel image size
- Kdump Kernel module size
- Kdump userspace user and other runtime allocated memory (currently
  simply using a fixed value: 64M)
- LUKS encryption memory usage

The output of kdumpctl estimate looks like this:
  # kdumpctl estimate
  Reserved crashkernel:    256M
  Recommanded crashkernel: 160M

  Kernel image size:   47M
  Kernel modules size: 12M
  Initramfs size:      19M
  Runtime reservation: 64M
  Large modules:
      xfs: 1892352
      nouveau: 2318336

And if the kdump target is encrypted:
  # kdumpctl estimate
  Encrypted kdump target requires extra memory, assuming using the keyslot with minimun memory requirement

  Reserved crashkernel:    256M
  Recommanded crashkernel: 655M

  Kernel image size:   47M
  Kernel modules size: 12M
  Initramfs size:      19M
  Runtime reservation: 64M
  LUKS required size:  512M
  Large modules:
      xfs: 1892352
      nouveau: 2318336
  WARNING: Current crashkernel size is lower than recommanded size 655M.

The "Recommanded" value is calculated based on memory usages mentioned
above, and will be adjusted accodingly to be no less than the value provided
by kdump_get_arch_recommend_size.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-05-19 15:27:43 +08:00
Kairui Song
85c725813b mkdumprd: make use of the new get_luks_crypt_dev helper
Simplfy the code and also improve the performance. udevadm call is
heavy.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-05-19 15:27:37 +08:00
Kairui Song
1c70cf51c7 kdump-lib.sh: introduce a helper to get all crypt dev used by kdump
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-05-19 15:27:19 +08:00
Kairui Song
3423bbc17f kdump-lib.sh: introduce a helper to get underlying crypt device
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-05-19 15:26:58 +08:00
Kairui Song
13796ca93a Release 2.0.22-2
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-05-13 17:14:38 +08:00
Tao Liu
d5fe96cd7a Disable CMA in kdump 2nd kernel
kexec-tools needs to disable CMA for kdump kernel cmdline,
otherwise kdump kernel may run out of memory.

This patch strips the inherited cma=, hugetlb_cma= cmd
line from 1st kernel, and sets to be 0 for 2nd kernel.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-13 17:13:39 +08:00
Coiby Xu
8178d7a5a1 Warn the user if network scripts are used
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-13 17:13:31 +08:00
Coiby Xu
d5f6d38173 Set up bond cmdline by "nmcli --get-values"
Now kdumpctl will exit if failing to set up bond cmdline.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-13 17:13:28 +08:00
Coiby Xu
6f1badec78 Set up dns cmdline by parsing "nmcli --get-values"
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-13 17:13:25 +08:00
Coiby Xu
8b08b4f17b Set up s390 znet cmdline by "nmcli --get-values"
Now kdumpctl will abort when failing to set up znet.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-13 17:13:15 +08:00
Coiby Xu
0c292f49c7 Add helper to get nmcli connection show cmd by ifname
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-13 17:13:08 +08:00
Coiby Xu
c69578ca43 Add helper to get nmcli connection apath by ifname
apath (a D-Bus active connection path) is used for nmcli connection operations, e.g.
  $ nmcli connection show $apath

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-13 17:13:01 +08:00
Coiby Xu
10c309b5f7 Add helper to get value by field using "nmcli --get-values"
nmcli --get-values <field> connection show /org/freedesktop/NetworkManager/ActiveConnection/1
returns the following value for the corresponding field respectively,
  Field                                  Value
  IP4.DNS                                "10.19.42.41 | 10.11.5.19 | 10.5.30.160"
  802-3-ethernet.s390-subchannels        ""
  bond.options                           "mode=balance-rr"

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-13 17:11:38 +08:00
Kairui Song
c05d8a16a0 Update makedumpfile to 1.6.9
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-05-13 16:45:36 +08:00
Kairui Song
dece041609 Release 2.0.22-1
Update kexec-tools to 2.0.22

Signed-off-by: Kairui Song <kasong@redhat.com>
2021-05-11 02:12:50 +08:00
Coiby Xu
8a33ffffbc rd.route should use the name from kdump_setup_ifname
This fixes bz1854037 which happens because kexec-tools generates rd.route for
eth0 instead of for kdump-eth0,
 1. "rd.route=168.63.129.16:10.0.0.1:eth0 rd.route=169.254.169.254:10.0.0.1:eth0" is passed to the dracut cmdline by kexec-tools
 2. In the 2rd kernel, dracut/modules.d/35network-manager/nm-config.sh calls
    /usr/libexec/nm-initrd-generator to generate two .nmconnection files
    based on the dracut cmdline, i.e. kdump-eth0.nmconnection and eth0.nmconnection,
    - /run/NetworkManager/system-connections/kdump-eth0.nmconnection
        [connection]
        id=kdump-eth0
        uuid=3ef53b1b-3908-437e-a15f-cf1f3ea2678b
        type=ethernet
        autoconnect-retries=1
        interface-name=kdump-eth0
        multi-connect=1
        permissions=
        wait-device-timeout=60000
        [ethernet]
        mac-address-blacklist=
        [ipv4]
        address1=10.0.0.4/24,10.0.0.1
        dhcp-timeout=90
        dns=168.63.129.16;
        dns-search=
        may-fail=false
        method=manual
        [ipv6]
        addr-gen-mode=eui64
        dhcp-timeout=90
        dns-search=
        method=disabled
        [proxy]

    - /run/NetworkManager/system-connections/eth0.nmconnection
        [connection]
        id=eth0
        uuid=f224dc22-2891-4d7b-8f66-745029df4b53
        type=ethernet
        autoconnect-retries=1
        interface-name=eth0
        multi-connect=1
        permissions=
        [ethernet]
        mac-address-blacklist=
        [ipv4]
        dhcp-timeout=90
        dns=168.63.129.16;
        dns-search=
        method=auto
        route1=168.63.129.16/32,10.0.0.1
        route2=169.254.169.254/32,10.0.0.1
        [ipv6]
        addr-gen-mode=eui64
        dhcp-timeout=90
        dns-search=
        method=auto
        [proxy]

 3. Since there's eth0.nmconnection, NetworkManager will try to get an IP for eth0 regardless of the fact it's a slave NIC and time out
    ```
    $ ip link show
    2: kdump-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
       link/ether 00:0d:3a:11:86:8b brd ff:ff:ff:ff:ff:ff
    3: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master kdump-eth0 state UP mode DEFAULT group default qlen 1000
    ```

Reported-by: Huijing Hei <hhei@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-11 02:11:50 +08:00
Coiby Xu
97ee5dc64c get kdump ifname once in kdump_install_net
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-11 02:11:50 +08:00
Tao Liu
ca05b754af Fix incorrect file permissions of vmcore-dmesg-incomplete.txt
vmcore-dmesg-incomplete.txt is generated by shell redirection,
which taking the default umask value. When dmesg collector exits
with non-zero, the file will exist and anyone can have access to
it.

This patch fixed the issue by chmod the file, making it accessible
only to its owner.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-05-11 02:11:50 +08:00
Kairui Song
ee160bf04d Revert "Always set vm.zone_reclaim_mode = 3 in kdump kernel"
This reverts commit 5633e83318.

vm.zone_reclaim_mode may cause trashing on some machines. And after
second thought, vm.zone_reclaim_mode is barely helpful for machines
with high mem stress, so just revert it.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-04-28 18:05:23 +08:00
Kairui Song
6137956f79 kdumpctl: fix check_config error when kdump.conf is empty
Kdump scirpt already have default values for core_collector, path in
many other place. Empty kdump.conf still works. Fix this corner case and
fix the error message.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-04-28 18:05:12 +08:00
Kairui Song
d0a301aa3a Release 2.0.21-9
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-04-28 16:51:52 +08:00
Tao Liu
475e33030b Make dracut-squash required for kexec-tools
This patch reverts commit "Make dracut-squash a weak dep".

Although kexec-tools can work without dracut-squash, it is essential
for kdump to run properly in cases [1][2] where minimal amount of memory
consumption is expected. Thus dracut-squash is needed for it.

[1] https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org/message/SJX7CW3WLOYSFI2YJKGTUGDBWSCMZXVZ/
[2] https://www.spinics.net/lists/systemd-devel/msg05864.html

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-04-28 16:13:39 +08:00
Tao Liu
0db060c4e2 Show write byte size in report messages
Backport from upstream:

commit 0ef2ca6c9fa2f61f217a4bf5d7fd70f24e12b2eb
Author: Kazuhito Hagio <k-hagio-ab@nec.com>
Date:   Thu Feb 4 16:29:06 2021 +0900

    [PATCH] Show write byte size in report messages

    Show write byte size in report messages.  This value can be different
    from the size of the actual file because of some holes on dumpfile
    data structure.

      $ makedumpfile --show-stats -l -d 1 vmcore dump.ld1
      ...
      Total pages     : 0x0000000000080000
      Write bytes     : 377686445
      ...
      # ls -l dump.ld1
      -rw------- 1 root root 377691573 Feb  4 16:28 dump.ld1

    Note that this value should not be used with /proc/kcore to determine
    how much disk space is needed for crash dump, because the real memory
    usage when a crash occurs can vary widely.

    Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-04-28 16:13:23 +08:00
Tao Liu
8973bd7ed0 Add shorthand --show-stats option to show report stats
Backport from upstream:

commit 6f3e75a558ed50d6ff0b42e3f61c099b2005b7bb
Author: Julien Thierry <jthierry@redhat.com>
Date:   Tue Nov 24 10:45:25 2020 +0000

    [PATCH 2/2] Add shorthand --show-stats option to show report stats

    Provide shorthand --show-stats option to enable report messages
    without needing to set a particular value for message-level.

    Signed-off-by: Julien Thierry <jthierry@redhat.com>
    Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-04-28 15:45:25 +08:00
Tao Liu
e1ab0275c0 Add --dry-run option to prevent writing the dumpfile
Backport from upstream.

commit 3422e1d6bc3511c5af9cb05ba74ad97dd93ffd7f
Author: Julien Thierry <jthierry@redhat.com>
Date:   Tue Nov 24 10:45:24 2020 +0000

    [PATCH 1/2] Add --dry-run option to prevent writing the dumpfile

    Add a --dry-run option to run all operations without writing the
    dump to the output file.

    Signed-off-by: Julien Thierry <jthierry@redhat.com>
    Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-04-28 15:45:08 +08:00
Hari Bathini
d0e9c51e0d fadump: fix dump capture failure to root disk
If the dump target is the root disk, kdump scripts add an entry in
/etc/fstab for root disk with /sysroot as the mount point. The root
disk, passed through root=<> kernel commandline parameter, is mounted
at /sysroot in read-only mode before switching from initial ramdisk.
So, in fadump mode, a remount of /sysroot to read-write mode is needed
to capture dump successfully, because /sysroot is already mounted as
read-only based on root=<> boot parameter.

Commit e8ef4db8ff ("Fix dump_fs mount point detection and fallback
mount") removed initialization of $_op variable, the variable holding
the options the dump target was mounted with, leading to the below
error as remount was skipped:

  kdump[586]: saving to /sysroot/var/crash/127.0.0.1-2021-04-22-07:22:08/
  kdump.sh[587]: mkdir: cannot create directory '/sysroot/var/crash/127.0.0.1-2021-04-22-07:22:08/': Read-only file system
  kdump[589]: saving vmcore failed

Restore $_op variable initialization in dump_fs() function to fix this.

Fixes: e8ef4db8ff ("Fix dump_fs mount point detection and fallback mount")
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-04-28 15:41:33 +08:00
Kairui Song
8d0ef743e0 Revert "get kdump ifname once in kdump_install_net"
This reverts commit afda4f4961.
2021-04-28 15:18:53 +08:00
Kairui Song
b0156e9b64 Revert "pass kdumpnic to kdump_setup_/bond/bridge/vlan directly"
This reverts commit 586d767697.
2021-04-28 15:18:53 +08:00
Kairui Song
4753ab2c70 Revert "rd.route should use the name from kdump_setup_ifname"
This reverts commit 18ffd3cb17.
2021-04-28 15:18:53 +08:00
Coiby Xu
18ffd3cb17 rd.route should use the name from kdump_setup_ifname
This fix bz1854037 which happens because kexec-tools generates rd.route for
eth0 instead of for kdump-eth0,
 1. "rd.route=168.63.129.16:10.0.0.1:eth0 rd.route=169.254.169.254:10.0.0.1:eth0" is passed to the dracut cmdline by kexec-tools
 2. In the 2rd kernel,
    - dracut/modules.d/40network/net-lib.sh will write /tmp/net.route.eth0 based on rd.route
    - dracut/modules.d/45ifcfg/write-ifcfg.sh will copy /tmp/net.route.eth0 to /tmp/icfg and then copytree /tmp/ifcfg to /run/initramfs/state/etc/sysconfig/network-scripts
 3. NetworkManager will try to get an IP for eth0 regardless of the fact it's a slave NIC and time out
    ```
    $ ip link show
    2: kdump-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
       link/ether 00:0d:3a:11:86:8b brd ff:ff:ff:ff:ff:ff
    3: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master kdump-eth0 state UP mode DEFAULT group default qlen 1000
    ```

Reported-by: Huijing Hei <hhei@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com
2021-04-25 16:56:32 +08:00
Coiby Xu
586d767697 pass kdumpnic to kdump_setup_/bond/bridge/vlan directly
This avoids calling kdump_setup_ifname repeatedly.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com
2021-04-25 16:52:29 +08:00
Coiby Xu
afda4f4961 get kdump ifname once in kdump_install_net
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com
2021-04-25 16:52:21 +08:00
Kelvin Fan
75bdcb7399 Write to /var/lib/kdump if $KDUMP_BOOTDIR not writable
The `/boot` directory on some operating systems might be read-only.
If we cannot write to `$KDUMP_BOOTDIR` when generating the kdump
initrd, attempt to place the generated initrd at `/var/lib/kdump`
instead.

Signed-off by: Kelvin Fan <kelvinfan001@gmail.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-04-19 16:11:17 +08:00
Coiby Xu
eca7711706 Drop dependency on ipcalc
A shell equivalent of "ipcalc -m" has been implemented.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-04-16 18:51:52 +08:00
Coiby Xu
1ca1b71780 Implement IP netmask calculation to replace "ipcalc -m"
Recently, dracut-network drops depedency on dhcp-client which requires
ipcalc. Thus the dependency chain
"kexec-tools -> dracut-network -> dhcp-client -> ipcalc"
is broken. When NIC is configured to a static IP, kexec-tools depended
on "ipcalc -m" to get netmask. This commit implements the shell
equivalent of "ipcalc -m".

The following test code shows cal_netmask_by_prefix is consistent with
"ipcalc -m",

    #!/bin/bash
    . dracut-module-setup.sh

    for i in {0..128}; do
        mask_expected=$(ipcalc -m fe::/$i| cut -d"=" -f2)
        mask_actual=$(cal_netmask_by_prefix $i "-6")
        if [[ "$mask_expected" != "$mask_actual" ]]; then
            echo "prefix="$i, "expected="$mask_expected, "acutal="$mask_actual
            exit
        fi
    done

    echo "IPv6 tests passed"

    for i in {0..32}; do
        mask_expected=$(ipcalc -m 8.8.8.8/$i| cut -d"=" -f2)
        mask_actual=$(cal_netmask_by_prefix $i "")
        if [[ "$mask_expected" != "$mask_actual" ]]; then
            echo "prefix="$i, "expected="$mask_expected, "acutal="$mask_actual
            exit
        fi
    done

    echo "IPv4 tests passed"

    i=-2
    res=$(cal_netmask_by_prefix "$i" "")
    if [[ $? -ne 1 ]]; then
        echo "cal_netmask_by_prefix should exit when prefix<0"
        exit
    fi

    res=$(cal_netmask_by_prefix "$i" "")
    if [[ $? -ne 1 ]]; then
        echo "cal_netmask_by_prefix should exit when prefix<0"
        exit
    fi

    i=33
    $(cal_netmask_by_prefix $i "")
    if [[ $? -ne 1 ]]; then
        echo "cal_netmask_by_prefix should exit when prefix>32 for IPv4"
        exit
    fi

    i=129
    $(cal_netmask_by_prefix $i "-6")
    if [[ $? -ne 1 ]]; then
        echo "cal_netmask_by_prefix should exit when prefix>128 for IPv4"
        exit
    fi

    echo "Bad prefixes tests passed"

    echo "All tests passed"

Reported-by: Jie Li <jieli@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-04-16 18:51:34 +08:00
Coiby Xu
8b4b7bf808 Don't use die in dracut-module-setup.sh
die (in dracut-lib.sh) is supposed to be used in the initramfs environment.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-04-16 18:02:32 +08:00
Kairui Song
c6021648f1 Don't iterate the whole /sys/devices just to find drm device
On some large systems, /sys/devices is huge and it's not a wise idea to
iterate it. `find` may cause tremendous contention on the kernfs_mutex
when there are already stress on /sys, and it will perform very very
poorly.

Simply check if drm class presents should be good enough.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-04-16 17:47:27 +08:00
Kairui Song
ad655087c9 Release 2.0.21-8
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-04-05 02:33:21 +08:00
Kairui Song
91f1d5989b Update eppic to latest upstream snapshot
Also fixes a package build failure:
ar ccurl libeppic.a eppic_util.o eppic_node.o eppic_var.o eppic_func.o eppic_str.o eppic_op.o eppic_num.o eppic_stat.o eppic_builtin.o eppic_type.o eppic_case.o eppic_api.o eppic_member.o eppic_alloc.o eppic_define.o eppic_input.o eppic_print.o eppicpp.tab.o eppic.tab.o lex.eppic.o lex.eppicpp.o baseops.o
ar: eppic_util.o: file format not recognized

See eppic commit 0037321e64952b4feb3bd37761fb1067266e9e72 for more
details.

Signed-off-by: Kairui Song <kasong@redhat.com>
2021-04-05 02:08:02 +08:00
Coiby Xu
8619f58538 selftest: replace qemu-kvm with one based on dracut's run-qemu
Dracut's run-qemu could find  which virtualization technology to the
user in the order of kvm, kqemu, userspace. Using run-qemu could allow
running tests where qemu-kvm doesn't exist.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-03-24 15:51:02 +08:00
Coiby Xu
bbc064f958 selftest: add EXTRA_RPMs so dracut RPMs can be installed onto the image to run the tests
dracut will build the PRMs which will be installed onto the image to run
the tests.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-03-24 15:50:57 +08:00
Coiby Xu
0dedb2c91a selftest: Fix bug of collecting test RPMs from argument
Currently, TEST_RPMS would be only using the last RPM.
Append each RPM path to TEST_RPMs instead,

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-03-24 15:50:41 +08:00
Coiby Xu
e5a745ce77 mkdumprd: prompt the user to install nfs-utils when mounting NFS fs failed
When nfs-utils is not installed, mounting as NFS fs would fail.
Currently, the error message is not user-friendly,
    mount: /tmp/mkdumprd.HyPGpS/target: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.
    kdump: Failed to mount on xxx for kdump preflight check.
    kdump: mkdumprd: failed to make kdump initrd

Prompt the user to install nfs-utilsa in the error message,
    kdump: Failed to mount on xxx for kdump preflight check. Please make sure nfs-utils has been installed.

Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-03-24 15:34:37 +08:00
Tao Liu
91c802ff52 Fix incorrect permissions on kdump dmesg file
Also known as CVE-2021-20269. The kdump dmesg log files(kexec-dmesg.log,
vmcore-dmesg.txt) are generated by shell redirection, which take the
default umask value, making the files readable for group and others.

This patch chmod these files, making them only accessible to owner.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-03-23 16:39:18 +08:00
Tao Liu
00785873ef Fix incorrect vmcore permissions when dumped through ssh
Previously when dumping vmcore to a remote machine through ssh,
the files are created remotely and file permissions are taken
from the default umask value, which making the files accessible to
anyone on the remote machine.

This patch fixed the security issue by setting a customized umask value
before the file creation on the remote machine.

Signed-off-by: Tao Liu <ltao@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-03-23 16:10:43 +08:00
Sourabh Jain
6a2e820d87 Stop reloading kdump service on CPU hotplug event for FADump
As FADump does not require an explicit elfcorehdr update whenever there is CPU
hotplug event so let's stop kdump service reload for FADump when CPU hotplug
event is triggered.

A new label is added to handle CPU and memory hotplug events separately. The
updated CPU hotplug event handler make sure that kdump service should not be
reloaded when FADump is configured.

Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2021-03-10 16:24:42 +08:00
Zbigniew Jędrzejewski-Szmek
4b7ff283f5 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:13:34 +01:00
Hari Bathini
da6f381b08 fadump: improve fadump-howto.txt about remote dump target setup
While fadump-howto.txt talks about what happens to network interface
name on setting up a remote dump target in FADump mode, it doesn't
explicitly specify the negative consequences of it. Make it explicit
and provide a recommendation to overcome the same.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-02-23 16:18:54 +08:00
Pingfan Liu
596fa0a07f kdumpctl: enable secure boot on ppc64le LPARs
On ppc64le LPAR, secure-boot is a little different from bare metal,
Where
  host secure boot: /ibm,secure-boot/os-secureboot-enforcing DT property exists
while
  guest secure boot: /ibm,secure-boot >= 2

Make kexec-tools adapt to LPAR

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-02-23 09:45:54 +08:00
Coiby Xu
2721f323a9 add dependency on ipcalc
ipcalc is needed for generating 45route-static.conf. However,
on newer Fedora, e.g. 34, dracut-network drops dependency on
dhcp-client which requires ipcalc. Make kexec-tools explicitly
depends on ipcalc.

Reported-by: Jie Li <jieli@redhat.com>
Signed-off-by: Coiby Xu <coxu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-02-09 17:52:50 +08:00
Kairui Song
7232f5bff2 Release 2.0.21-6
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-02-08 23:22:14 +08:00
fj1508ic@fujitsu.com
f39000f524 Remove trace_buf_size and trace_event from the kernel bootparameters of the kdump kernel
The kdump kernel uses resources for ftrace because trace_buf_size, which
specifies the ring buffer size for ftrace, and trace_event, which specifies
a valid trace event, are not removed, but the kdump kernel does not require
ftrace.

trace_buf_size is ignored if the specified size is 0, so specify 1.

Signed-off-by: Hisashi Nagaoka <fj1508ic@fujitsu.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-02-05 16:06:14 +08:00
Pingfan Liu
18131894b6 kdump-lib.sh: introduce functions to return recommened mem size
There is requirement to decide the recommended memory size for the current
system. And the algorithm is based on /proc/iomem, so it can align with the
algorithm used by reserve_crashkernel() in kernel.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-02-05 16:06:14 +08:00
Fedora Release Engineering
7a0d2aaed5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 15:28:37 +00:00
Kairui Song
33108ef524 Release 2.0.21-4
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-01-22 15:54:11 +08:00
Pingfan Liu
24bbe9c05e dracut-module-setup.sh: enable ForwardToConsole=yes in fadump mode
In fadump mode, it is also useful to observe kdump message through
console. Hence enable it.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-01-22 14:16:17 +08:00
Lianbo Jiang
9462a7d554 kdump.conf: add ipv6 example for nfs and ssh dump
At present, there is no ipv6 example for nfs and ssh dump, let's
add an example to the kdump.conf.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-01-21 15:36:27 +08:00
Lianbo Jiang
a571b0da9f fix kdump failure of saving vmcore with the scp + ipv6 method
Currently, kdump will fail to save vmcore when using the scp and ipv6.
The reason is that the scp requires IPv6 addresses to be enclosed in
square brackets, but ssh doesn’t require this.

Let's enclose the ipv6 address in square brackets for scp dump.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-01-21 15:03:20 +08:00
Kairui Song
550f1c4285 Release 2.0.21-3
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-01-20 14:38:54 +08:00
Kairui Song
88f787e1f5 module-setup.sh: don't polute the namespace unnecessarily
Only source kdump libs when building a kdump initramfs.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2021-01-20 14:14:08 +08:00
Kairui Song
d49a5015d8 module-setup.sh: don't source $dracutfunctions
There is no need to source the file manually, dracut will always
prepare the dracut lib before calling a module-setup.sh

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2021-01-20 14:14:03 +08:00
Kairui Song
02202aa70f logger: source the logger file individually
Sourcing logger file in kdump-lib.sh will leak kdump helper to dracut,
because module-setup.sh will source kdump-lib.sh. This will make kdump's
function override dracut's ones, and lead to unexpected behaviours.

So include kdump-logger.sh individually and only source it where it really
needed. for module-setup.sh, simply use dracut's logger helper is good
enough so just source kdump-logger.sh in kdump only scripts.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2021-01-20 14:13:44 +08:00
Kairui Song
e8ef4db8ff Fix dump_fs mount point detection and fallback mount
Simplify the code and fix mount point detection. The code logic is now
much simpler: if $1 is not a mount point, call "mount --target $1" again
to try mount it. "mount --target" cmd itself can handle all the /etc/fstab
parsing job, so drop the buggy and complex bash code.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-01-14 01:39:02 +08:00
Kairui Song
7f1f8f229f Revert "Don's try to restart dracut-initqueue if it's already failed"
systemctl is-failed will not work after dracut isolated to the emergency
target, so this judgement is invalid. And the restart is basically
harmless, so just revert this commit.

This reverts commit ad6a93b00d.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-01-14 01:38:58 +08:00
Kairui Song
0843c70672 Revert "Append both nofail and x-systemd.before to kdump mount target"
That commit is trying to workaround a kernel VFS bug. Now,
the VFS issue should have been fixed in all recent releases, so
remove this workaround.

This reverts commit 539bff4083.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-01-14 01:38:48 +08:00
Lianbo Jiang
50b3b4cb93 Doc: Improve the kdump sysconfig document
Currently, the kdump sysconfig document is missed, let's add it to
the kexec-kdump-howto.txt as a document in order to help users better
understand these options in the /etc/sysconfig/kdump.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-01-12 16:46:44 +08:00
Kairui Song
85c3d6643d kdump.conf: Update doc about core_collector for ssh target
The current inline comment is a bit misleading, ssh dump target don't
need to use scp as core_collector, and when using scp as core_collector,
the vmcore could be huge.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2021-01-12 16:12:32 +08:00
Kairui Song
24c6b3027f Merge #4 Make dracut-squash a weak dep 2021-01-10 19:18:23 +00:00
Kairui Song
fc70351852 Fix a date error in the change log 2021-01-08 11:15:24 +08:00
Kairui Song
ae142da0a6 Release 2.0.20-2
Signed-off-by: Kairui Song <kasong@redhat.com>
2021-01-08 11:08:05 +08:00
Kairui Song
0e540f7328 makedumpfile: make use of 'uts_namespace.name' offset in VMCOREINFO
Backports:

commit 54aec3878b3f91341e6bc735eda158cca5c54ec9
Author: Alexander Egorenkov <egorenar@linux.ibm.com>
Date:   Fri Sep 18 13:55:56 2020 +0200

    [PATCH] make use of 'uts_namespace.name' offset in VMCOREINFO

    * Required for kernel 5.11

    The offset of the field 'init_uts_ns.name' has changed since
    kernel commit 9a56493f6942 ("uts: Use generic ns_common::count").
    Make use of the offset 'uts_namespace.name' if available in
    VMCOREINFO.

    Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>

Signed-off-by: Kairui Song <kasong@redhat.com>
2021-01-08 11:05:05 +08:00
Pingfan Liu
0bd0c5b9f1 kdumpctl: fix a variable expansion in check_fence_kdump_config()
Both $ipaddrs and $node can hold multiple strings, so use "" to brace them.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2021-01-06 13:28:46 +08:00
Tom Stellard
872d6b36de Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-05 22:46:03 +00:00
Lianbo Jiang
cd86148804 Save the final failure information to log file if saving vmcore failed
Currently, if saving vmcore failed, the final failure information won't
be saved to the kexec-dmesg.log, because the action of saving the log
occurs before the final log is printed, it has no chance to save the
log(marked it with the '^^^' below) to the log file(kexec-dmesg.log).
For example:

[1] console log:
[    3.589967] kdump[453]: saving vmcore-dmesg.txt to /sysroot//var/crash/127.0.0.1-2020-11-26-14:19:17/
[    3.627261] kdump[458]: saving vmcore-dmesg.txt complete
[    3.633923] kdump[460]: saving vmcore
[    3.661020] kdump[465]: saving vmcore failed
                           ^^^^^^^^^^^^^^^^^^^^
[2] kexec-dmesg.log:
Nov 26 14:19:17 kvm-06-guest25.hv2.lab.eng.bos.redhat.com kdump[453]: saving vmcore-dmesg.txt to /sysroot//var/crash/127.0.0.1-2020-11-26-14:19:17/
Nov 26 14:19:17 kvm-06-guest25.hv2.lab.eng.bos.redhat.com kdump[458]: saving vmcore-dmesg.txt complete
Nov 26 14:19:17 kvm-06-guest25.hv2.lab.eng.bos.redhat.com kdump[460]: saving vmcore

Let's improve it in order to avoid the loss of important information.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-12-29 17:40:26 +08:00
Kairui Song
7cb4be80cd Release 2.0.20-1
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-12-23 17:41:43 +08:00
Kairui Song
1d5d39f3d4 makedumpfile: printk: use committed/finalized state values
commit 44b073b7ec467aee0d7de381d455b8ace1199184
Author: John Ogness <john.ogness@linutronix.de>
Date:   Wed Nov 25 10:10:31 2020 +0106

    [PATCH 2/2] printk: use committed/finalized state values

    * Required for kernel 5.10

    The ringbuffer entries use 2 state values (committed and finalized)
    rather than a single flag to represent being available for reading.
    Copy the definitions and state lookup function directly from the
    kernel source and use the new states.

    Signed-off-by: John Ogness <john.ogness@linutronix.de>

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-12-23 17:27:10 +08:00
Kairui Song
71e1c651dd makedumpfile: printk: add support for lockless ringbuffer
Backports:

commit c617ec63339222f3a44d73e36677a9acc8954ccd
Author: John Ogness <john.ogness@linutronix.de>
Date:   Thu Nov 19 02:41:21 2020 +0000

    [PATCH 1/2] printk: add support for lockless ringbuffer

    * Required for kernel 5.10

    Linux 5.10 introduces a new lockless ringbuffer. The new ringbuffer
    is structured completely different to the previous iterations.
    Add support for retrieving the ringbuffer from debug information
    and/or using vmcoreinfo. The new ringbuffer is detected based on
    the availability of the "prb" symbol.

    Signed-off-by: John Ogness <john.ogness@linutronix.de>
    Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-12-23 17:26:11 +08:00
Kairui Song
fa9797ec9d dracut-module-setup.sh: Use systemctl call to replace ln_r
systemctl -q --root "$initdir" add-wants X.target X.service is the
recommanded way to add service dependency, and it covers more corner
cases.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-12-15 10:13:08 +08:00
Lianbo Jiang
cd7264705d Doc: improve mkdumprd man page
Currently, when generating a kdump initramfs, mkdumprd will determine
how much disk space is available, if the dump target's available space
is not greater than the total system memory, mkdumprd will print a
warning to remind that there might not be enough space to save a vmcore.

Some users are complaining that mkdumprd overestimates the needed size.
But actually, the warning covers extreme scenarios such as the slab
explodes with non-zero data or a full vmcore, etc. Therefore, need to
prevent users from having minimum disk space for crash dump.

In view of this, add some descriptions to clarify it in mkdumprd man
page.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-12-11 14:05:08 +08:00
Kairui Song
ad6a93b00d Don's try to restart dracut-initqueue if it's already failed
If dracut-initqueue failed in kdump kernel and failure action
is set to dump_to_rootfs, there is no point try again to start the
initqueue. It will also slow down the dump process, and the initqueue
will most like still not work if first attemp failed.

So just try to start sysroot.mount, if it failed, there is no luck.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-12-09 16:06:48 +08:00
Pingfan Liu
eaf0e813a2 dracut-module-setup.sh: use auto6 for ipv6
The parameter either6 is introduced to dracut by
commit 67354eebbcd4c358b8194ba5fd1ab1cf7dbd42aa
Author: Pingfan Liu <piliu@redhat.com>
Date:   Tue Apr 24 16:41:21 2018 +0800

    40network: introduce ip=either6 option

But it turns out needless.

On a sensible ipv6 network environment, DHCPv6 can not work properly alone,
because DHCPv6 protocol has no info about the gateway.

An reasonalbe process of ipv6 address set up should look like
   host send: Router Solicitation
   router reply: Router Advertisements

"Router Advertisements" carries many info like gateway, and if it has
other-config flag set, it carries DNS info etc.  As for DHCPv6 address
allocation, it will only start if "Router Advertisements" has the 'managed'
flag set, which directs the host to start a stateful address allocation
from DHCPv6 server.

For more info:
rfc4861: Neighbor Discovery for IP version 6 (IPv6)
rfc5175: IPv6 Router Advertisement Flags Option

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-12-07 14:59:57 +08:00
Kairui Song
d5e39c9f7b Upload missing source file 2020-11-30 19:37:18 +08:00
Kairui Song
6be14c2bcd Release 2.0.20-21
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-11-30 17:02:40 +08:00
Kairui Song
7d861422fa Rebase makedumpfile to 1.6.8
makedumpfile have moved to Github, so update the upstream URLs.
2020-11-30 16:48:02 +08:00
Hari Bathini
7a77d5a267 fadump-howto: update about 'nocma' and 'off' options for 'fadump=' parameter
Along with 'on' option, 'fadump=' kernel parameter also supports
'nocma' & 'off' options. Update about these missing options in the
fadump-howto.txt document.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-11-30 15:29:11 +08:00
Pingfan Liu
6f9235887f module-setup.sh: enable vlan on team interface
Dracut has switch network-legacy to network-manager by default, which makes
vlan on team easy. So it can be enabled.

Testing network topology with two VMs.
VM1
            ens2-\         /----> VLAN8 (192.168.120.50)
                  ---> team0
            ens3-/     (192.168.122.10)

VM2
            ens2-\         /----> VLAN8 (192.168.120.100)
                  ---> team0
            ens3-/      (192.168.122.20)

Both of ens2/ens3 in VM1/VM2 are connected to virbr0.

During test, dump target is set as root@192.168.120.100:/var/crash
then crashing in VM1

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-30 15:27:00 +08:00
Kairui Song
9966b0a12e kdump-lib: Fix get_bind_mount_source to support btrfs and fstab
Currently get_bind_mount_source will not work on btrfs, that's because
this function relies on findmnt to detect bind mount.

For a bind mount, findmnt will return different value with "-v" option.

For example, we have /dev/sdc mounted on /mnt/source, and then bind
mount /mnt/source/sub/path to /mnt/bind:

$ findmnt /mnt/bind
  TARGET    SOURCE              FSTYPE OPTIONS
  /mnt/bind /dev/sdc[/sub/path] ext4   rw,relatime,seclabel

$ findmnt -v /mnt/bind
  TARGET    SOURCE   FSTYPE OPTIONS
  /mnt/bind /dev/sdc ext4   rw,relatime,seclabel

But findmnt also return similiar result for btrfs, on a fresh installed
Fedora 33:

$ findmnt /
  TARGET SOURCE           FSTYPE OPTIONS
  /      /dev/sdb7[/root] btrfs  rw,relatime,seclabel,ssd,space_cache,subvolid=256,subvol=/root

$ findmnt -v /
  TARGET SOURCE    FSTYPE OPTIONS
  /      /dev/sdb7 btrfs  rw,relatime,seclabel,ssd,space_cache,subvolid=256,subvol=/root

The [...] indicator will contain the subvol of btrfs as well. And if
it's bind mounted under btrfs, it will contain a mixup of btrfs subvol
and the actuall fsroot.

And also, if the bind mount source device is not mounted on /,
get_bind_mount_source will also not work.

So rewrite the get_bind_mount_source function, make it work in every
cases.

Tested with:
 - Silverblue's bind mount
 - Bind mount with source device mounted not under /
 - Btrfs
 - Bind mount and source device is Btrfs

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-11-30 15:26:53 +08:00
Kairui Song
08d9846eba Make get_mount_info work with bind mount
Remove the --real when calling findmnt.

The option is only useful in capture kernel, to avoid
`findmnt` returning the pseudo 'rootfs' for non mounted path.

example, when /kdumproot/mnt/ is not mounted:
kdump:/# findmnt --target /kdumproot/mnt
TARGET SOURCE FSTYPE OPTIONS
/      rootfs rootfs rw,size=61368k,nr_inodes=15342

kdump:/# findmnt --target /kdumproot/mnt
<return 1 and empty output>

But this function will make findmnt also return empty value for bind
mount. So remove it and add an extra if statement for second kernel.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-11-30 15:26:47 +08:00
Kairui Song
d551516f52 Set watchdog's pretimeout to zero in kdump kernel
Most watchdogs have a parameter pretimeout, if set to non-zero, it means
before the watchdog really reset the system, it will try to panic the
kernel first, so kdump could kick in, or, just print a panic stacktrace
and then kernel should reset it self.

If we are already in kdump kernel, this is not really helpful, only
increase kernel hanging chance. And it also make thing become complex
as some watchdog triggers the kernel panic in NMI context, which
could also hang the kernel in strange ways, and fail the watchdog it
self. So just disable this parameter.

Also for hpwdt, it have another parameter kdumptimeout, which is
just designed for first kernel. The default behaviour is the watchdog
will simply stop working if timeouted, trigger a panic, and leave the
kernel to kdump. Again, if we are already in kdump this is not helpful.
So also disable that.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-30 15:25:36 +08:00
Kairui Song
4464bcf8f3 kdump-lib.sh: Use a more generic helper to detect omitted dracut module
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-30 15:25:26 +08:00
Kairui Song
647aa56b53 Fix the watchdog drivers detection code
Currently the watchdog detection code is broken already, it
get the list of active watchdog drivers, then check if they are
set in the /etc/cmdline.d/* as preload module. But after we
switched to use squash module, /etc/cmdline.d/* is not directly visible.

So just detect whether current needed driver is installed.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-30 15:25:19 +08:00
Kairui Song
320bd209fe Add a helper for detecting watchdog drivers
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-30 15:25:13 +08:00
Kairui Song
276de0f810 Remove a redundant nfs check
In check_fs_modified, is_nfs_dump_target is already called, the dump
target can't be nfs. No need to check here.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-30 15:25:06 +08:00
Kairui Song
d54e5bab0f kdumpctl: split the driver detection from fs dection function
The driver detection have nothing to do with fs detection, and currently
if the dump target is raw, the block driver detection is skipped which
is wrong. Just split it out and run the block driver detection when dump
target is fs or raw.

Also simplfied the code a bit.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-30 15:24:45 +08:00
Kairui Song
4f492cf73e Release 2.0.20-20
Also fix some changelog issue.

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-11-19 00:38:23 +08:00
Kairui Song
7b7e5d0743 selftest: Fix several test issue with Fedora 33
- ssh-copy-id is bugged and not working, use a more robust way to sync
  ssh keys
- systemd-resolvd will bind on port 53 so DHCP server won't work,
  disable systemd-resolvd's builtin DNS server

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-11-18 23:57:13 +08:00
Kairui Song
616d359c5e selftest: add more detailed log and fix a test failure issue
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-11-18 23:57:02 +08:00
Kairui Song
13ac244630 selftest: Update test base image to Fedora 33 2020-11-18 17:15:18 +08:00
Kairui Song
f85a291fcb selftest: Fix qcow2 image format detect
qemu-img will report "qcow2" or "qcow2 backing qcow2" for qcow2 image,
cover both case.

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-11-18 01:53:01 +08:00
Kairui Song
aced2c06a0 selftest: Always use the get_image_fmt helper
Avoid code duplication.
2020-11-18 01:53:01 +08:00
Lianbo Jiang
638167358f Doc: improve the usage documentation of the logger
Let's remove some redundant descriptions in the usage documentation
of the logger, and make it clear.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-11-13 02:49:56 +08:00
Lianbo Jiang
8b0a755b82 Update the kdump sysconfig
Some unused log levels have been removed, and kdump has used the
different options to control the log levels for the first kernel
and the second kernel. Therefore, let's update the kdump sysconfig
accordingly.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-11-13 02:49:56 +08:00
Lianbo Jiang
0098b5d9f3 Capitalize the configuration name of log level
In the /etc/sysconfig/kdump, we usually use the uppercase configuration
name for all options. So let's use the same method to handle this.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-11-13 02:49:35 +08:00
Lianbo Jiang
e345ed18e2 Add the rd.kdumploglvl option to control log level in the second kernel
Let's add the rd.kdumploglvl option to control log level in the second
kernel, which can make us avoid rebuilding the kdump initramfs after we
change the log level in /etc/sysconfig/kdump.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-11-13 02:43:49 +08:00
Lianbo Jiang
239d64f6da Appropriately converts logger numeric level to syslog log level
The kdump-logger will be used by the system service(daemons), so let's
appropriately convert the logger numeric level to syslog level with the
facility(daemon). The number is constructed by multiplying the facility
by 8 and then adding the level.

About The Syslog Protocol, please refer to the RFC5424 for more details.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-11-13 02:43:30 +08:00
Lianbo Jiang
5b2b7ec08b Remove unused log levels for kdump logger
Previously, the range of log level is from 1 to 6, and the TRACE
level and FATAL level are not used, therefore, let's remove these
unused log levels.

Now it has only four log levels: error(1), warn(2), info(3)
and debug(4). We have to remap the numeric log level to the logger
priority or syslog log level, which is finished in kdump-logger.sh
module, it is invisible for user.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-11-13 02:42:48 +08:00
Lianbo Jiang
2dea15c4fd Add sanity checks for the log levels
Let's add sanity checks for the log levels in order to avoid
passing illegal log levels to the logger.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-11-13 02:42:19 +08:00
Kairui Song
69bf81bc8b Move watchdog detect and install code to module-setup.sh
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-12 14:03:40 +08:00
Kairui Song
bc639c9763 Add a helper to omit non-mandatory dracut module
Use dracut_args to omit some non-mandatory modules.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-12 14:03:35 +08:00
Kairui Song
08de712528 Move some dracut module dependencies checks to module-setup.sh
depend() in module-setup.sh is a better place to setup dracut module
dependency, it will do early check, and fail early if needed module is
missing. Also remove a unneeded helper add_dracut_module.

Also remove the unnecessary return in depend() function.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-11-12 14:03:19 +08:00
Lianbo Jiang
cd85fe9165 Add code comments to help better understanding
Let's add some code comments to help better understanding, and
no code changes.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2020-11-12 13:59:21 +08:00
Kairui Song
bfd06661e8 Release 2.0.20-19
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-11-05 01:11:32 +08:00
Kairui Song
1b8e0325f2 Fix comment about ssh dump target
When using ssh dump target, scp is always used, correct the comment.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-11-05 01:10:14 +08:00
Kairui Song
a1664c63d0 mkdumprd: Ensure kdumpbase is added
Dracut only check if a module failed installtion if the module is listed
in --add params. Without this param, if kdumpbase failed to install due
to any reason, dracut will still build the initramfs only print a
warning. Add this param to ensure it fail early.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-11-05 01:10:14 +08:00
Jonathan Lebon
c9a0df1ccb Make dracut-squash a weak dep
The dracut module is opportunistic about using the built-in squashfs
support only when available, but the spec file hard requires it. Demote
it to a weak dep to truly make it optional.

This caters to environments which strive to stay minimal, like FCOS and
RHCOS. See https://github.com/coreos/fedora-coreos-config/pull/708 for
details.
2020-10-28 16:36:05 -04:00
Jonathan Lebon
0084806493 kdump.service: use ConditionKernelCommandLine=crashkernel
Because otherwise, `kdumpctl start` will fail anyway. This makes it
easier to enable kdump by simply adding the mandatory karg and leaving
the service enabled.
2020-10-27 12:22:36 -04:00
Lianbo Jiang
12e72b9dd6 Revert "Revert "s390x: enable the kexec file load by default""
This reverts commit fa8aa52d94.

For the s390x, the vmlinuz image has only single signature according
to the kernel.spec. The dual signature issue doesn't happens on s390x,
therefore, let's restore it in order to enable the file load on s390x
by default.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-10-27 17:45:37 +08:00
Lianbo Jiang
3221f4e91f increase makdumpfile default message level to 7
Currently, the makedumpfile option '--message-level' is set to 1 when
dumping the vmcore, it only displays the progress indicator message,
but there are no common message and error message, it is important to
report some additional messages, especially for the error message,
which is very useful for the debugging.

In view of this, let's change the message level to 7 by default.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-10-27 17:45:32 +08:00
Kairui Song
b9a1f461a8 Fix error when using raw target with opalcore
Commit 08276e9 wrongly raise this warning message to error level, fix
this.

Fixes: 08276e9 ('Rework check_config and warn on any duplicated option')
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-10-27 17:37:14 +08:00
Kairui Song
46cc7f46b2 module-setup.sh: Instead of drop journalctl log, just don't read kmsg
Previously journalctl logs are directly dropped to save memory, but this
make journalctl unusable in kdump kernel and diffcult to debug. So
instead just don't let it read kmsg but keep other logs stored as volatile.

Kernel message are already stored in the kernel log ring buffer,
no need to let journalctl make a copy, especially when in kdump
kernel, ususlly there won't be too much kernel log overlapping
the old ring buffer.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-10-27 17:34:15 +08:00
Lianbo Jiang
d4c6f56456 Doc: add a documentation for the usage of logger
Because the logger is introduced to output the kdump logs, need to
add a documentation for this change and describe how to use it.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-10-27 17:34:11 +08:00
Lianbo Jiang
d7054f4cd8 Improve debugging in the kdump kernel
Let's use the logger in the second kernel and collect the kernel ring
buffer(dmesg) of the second kernel.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-10-27 17:34:07 +08:00
Lianbo Jiang
88a8b94de9 kdumpctl: add the '-d' option to enable the kexec loading debugging messages
Currently, the kexec option '--debug/-d' is not enabled by default, which
means that users need to set it manually and wait for the next failure to
capture the additional information.

Therefore, let's enable the option '-d' for kexec loading by default.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-10-27 17:34:03 +08:00
Lianbo Jiang
d001bd177f kdump.sysconfig: add the kdump logger configurations
The kdump logger has the default values of the log levels, but
sometimes, need to change the value of log level in order to
get more debugging messages for troubleshooting.

Here, user will have a chance to reconfigure it.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-10-27 17:33:58 +08:00
Lianbo Jiang
3b743ae6ae enable the logger for kdump
Since the logger was introduced into kdump, let's enable it for kdump
so that we can output kdump messages according the log level and save
these messages for debugging.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-10-27 17:33:54 +08:00
Lianbo Jiang
41b3da3996 introduce the kdump logger from the dracut
Currently, all messages are directly printed to the console, sometimes,
we also need to output these messages to the journal log according to
the log level.

In view of this, introduce the kdump logger from the dracut module.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-10-27 17:31:54 +08:00
Kairui Song
08276e9f7a Rework check_config and warn on any duplicated option
Instead of read and parse the kdump.conf multiple times, only read once
and use a single loop to handle the error check, which is faster.

Also check for any duplicated config otion, and error out if there are
duplicated ones.

Now it checks for following errors, most are unchanged from before:
 - Any duplicated config options. (New added)
 - Deprecated/Invalid kdump config option.
 - Duplicated kdump target, will have a different error message of
   other duplicated config options.
 - Duplicated --mount options in dracut_args.
 - Empty config values. All kdump configs should be in
   "<config_opt> <config_value>" format.
 - Check If raw target is used in fadump mode.

And removed detect of lines start with space, it will not break kdump
anyway.

The performance is measurable better than before for the check_config
function.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-10-27 17:07:54 +08:00
Pingfan Liu
21f5f95b06 kdump-lib.sh: detect secure boot on s390
On s390, if Secure-IPL is enabled, then "kexec -s -l" is required.
Otherwise kdump kernel can not be loaded.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-10-19 16:45:17 +08:00
Kairui Song
041ba89902 Don't drop journalctl content if failure action is "shell"
If failure action is set to "shell", user will need more debug info
available in kdump kernel. Especially when serial console is not
available, manually retrieve the log from journalctl is very useful
for debugging kdump issue.

Else, we can still drop journalctl content to save memory assuming
nothing will use it.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-09-17 10:43:07 +08:00
Kairui Song
bcaa4358b1 dracut-module-install: Move systemd conf install code to a function
No feature change.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-09-17 10:43:07 +08:00
Kairui Song
c44cdb6703 selftest: Show the path of dumped vmcore on test end
Make the test script print following line when the test is finished and vmcore is successfully dumped:

  You can retrive the verify the vmcore file using following command:
  ./scripts/copy-from-image.sh \
      /home/kasong/fedpkg/kexec-tools/tests/output/ssh-kdump/0-server.img \
      /var/crash/192.168.77.62-2020-09-02-05:16:26/vmcore.flat ./
  Kernel package verion is: kernel-core-5.6.6-300.fc32.x86_64

Also add a helper to copy files out of the VM image.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-09-17 10:43:02 +08:00
Kairui Song
978a849765 selftest: Add document for selftests
Acked-by: Dave Young <dyoung@redhat.com>
2020-09-17 10:42:58 +08:00
Kairui Song
a8dbd281f7 selftest: Add basic test framework
Now, by execute `make test-run` in tests/, kexec-tools sanity tests
will be performed using VMs. There are currently 3 test cases, for local
kdump, nfs kdump and ssh kdump.

For each test VM, the selftest framework will create a snapshot layer,
do setup as required by the test case, this ensure each test runs in a
clean VM.

This framework will install a custom systemd service that starts when
system have finished booting, and the service will do basic routine
(fetch and set boot counter, etc..), then call the test case which is
installed in /kexec-kdump-test/test.sh in VM.

Each VM will have two serial consoles, one for ordinary console usage,
one for the test communication and log. The test script will watch the
second test console to know the test status.

The test cases are located in tests/scripts/testcases, documents about
the test cases structure will be provided in following commits.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-09-17 10:42:54 +08:00
Kairui Song
2457f22baf selftest: Add basic infrastructure to build test image
The Makefile In tests/ could help build a VM image using Fedora cloud
image as base image, or, user can specify a base image using
BASE_IMAGE=<path/to/file>. The current repo will be packeged and
installed in the image, so the image could be used as a test image to
test kexec-tools.

The image building is splited into two steps:
The first step, it either convert the base image to qcow2 or create
a snapshot on it, and install basic packages (dracut, grubby, ...)
and do basic setups (setup crashkernel=, disable selinux, ...).
See tests/scripts/build-scripts/base-image.sh for detail.

The second step, it creates a snapshot on top of the image produced by
the previous step, and install the packaged kexec-tools of current
repo.  See tests/scripts/build-scripts/test-base-image.sh for detail.

In this way, if repo's content is changes, `make` will detect it and
only rebuild the second snapshot which speed up the rebuild by a lot.

The image will be located as tests/output/test-base-image, and in qcow2
format. And default user/password is set to root/fedora.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-09-17 10:42:34 +08:00
Kairui Song
3d5d9f0c0f Release 2.0.20-18
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-08-27 13:14:59 +08:00
Kairui Song
5ec98c2ec7 mkdumprd: Improve the warning message when using encrypted target
Encrypted target have many issues, so let user check
kexec-kdump-howto.txt, which have more details.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-08-27 13:10:42 +08:00
Kairui Song
ff46cfb19e kdump-lib.sh: Remove is_atomic
Now all atomic special workaround is removed, we can remove the atomic
detection function.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-08-27 11:35:01 +08:00
Kairui Song
a37f36ad4d Refactor kernel image and initrd detection code
kernel installation is not always in a fixed location /boot, there are
multiple different style of kernel installation, and initramfs location
changes with kernel. The two files should be detected together and adapt
to different style.

To do so we use a list of known installation destinations, and a list
of possible kernel image and initrd names. Iterate the two list to
detect the installation location of the two files. If GRUB is in use,
the BOOT_IMAGE= cmdline from GRUB will also be considered. And also
prefers user specified config if given.

Previous atomic workaround is no longer needed as the new detection
method can cover that case.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-08-27 11:29:17 +08:00
Kairui Song
c76820bddd early-kdump: Use consistent symbol link for kernel and initramfs
There is no need to follow user's configuration when installtion the
kernel and initramfs for early kdump, just use a fixed a symbol link is
enough, this help avoid a check_boot_dir call.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-08-27 11:23:45 +08:00
Kairui Song
a7199c141c Add a kernel install hook to clean up kdump initramfs
Kdump service will create kdump initramfs when needed, but it won't
clean up the kdump initramfs on kernel uninstall. So create a kernel
install hook to do the clean up job.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-08-27 11:22:03 +08:00
Kairui Song
f8f8d79d7f Release 2.0.20-17
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-08-04 10:50:46 +08:00
Kairui Song
d0d9ff1eb2 Drop static lib dependencies
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-08-04 10:47:51 +08:00
Kairui Song
073c30973c Revert "x86_64: enable the kexec file load by default"
This reverts commit e5cbf4d1ad.

Currently the kernel image is being dual signed, but kexec_file_load
can't handle multiple signature right, so it will always fail. Let's
temporaryly revert "using '-s' by default", until upstream have fixed
the real issue.

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-08-04 10:47:51 +08:00
Kairui Song
fa8aa52d94 Revert "s390x: enable the kexec file load by default"
This reverts commit 8884af04b6.

Currently the kernel image is being dual signed, but kexec_file_load
can't handle multiple signature right, so it will always fail. Let's
temporaryly revert "using '-s' by default", until upstream have fixed
the real issue.

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-08-04 10:47:51 +08:00
Fedora Release Engineering
21b4996e3a - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-08-01 03:43:49 +00:00
Pingfan Liu
f96172d353 kdumpctl: exit if either pre.d or post.d is missing
It is hard to detect the time that /etc/kdump is removed. And this failure
may cause out-of-date kdump.initrd.  To keep things simple, just exit if
/etc/kdump/pre.d and post.d does not exist.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-07-30 16:47:10 +08:00
Fedora Release Engineering
1844d088f7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 03:00:49 +00:00
Pingfan Liu
bc67c13651 kdump_pre: make notes more precise
Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-07-21 10:34:36 +08:00
Pingfan Liu
bda677c3d1 dracut-kdump.sh: exit shell when machine reboot
The following scenario is observed:

  kdump: kdump_pre script exited with non-zero status!
  [    5.104841] systemd[1]: Shutting down.
  [    5.122162] printk: systemd-shutdow: 27 output lines suppressed due to ratelimiting
  kdump: dump target is /dev/mapper/rhel_hpe--dl380pgen8--02--vm--12-root
  kdump: saving to /sysroot//var/crash/127.0.0.1-2020-06-27-03:55:01/
  kdump: saving vmcore-dmesg.txt
  kdump: saving vmcore-dmesg.txt complete
  kdump: saving vmcore
   Checking for memory holes                         : [  0.0 %] /                   Checking for memory holes                         : [100.0 %] |                  [    5.516573] systemd-shutdown[1]: Syncing filesystems and block devices.
  [    5.519515] systemd-shutdown[1]: Sending SIGTERM to remaining processes...

It is caused by the following script
  if [ $? -ne 0 ]; then
      echo "kdump: kdump_pre script exited with non-zero status!"
      do_final_action
  fi

When do_final_action runs, a systemd service is forked for reboot, then the
subshell returns, and parent continues to execute. Place "exit 1" to stop
executing and make kdump service failure.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-07-21 10:34:07 +08:00
Pingfan Liu
25824d64cd kdumpctl: detect modification of scripts by its directory's timestamp
Checking modification against a file can not detect a removing file in
"/etc/kdump/post.d/ /etc/kdump/pre.d/".  Hence it also needs the
modified time of directory to detect such changes.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-07-20 16:18:42 +08:00
Pingfan Liu
bdbddbff73 module-setup.sh: suppress false alarm
Even if the directory "/etc/kdump/pre.d/" is empty, the following false
alarm can be observed during building kdump.initrd:
  "/etc/kdump/pre.d/* is not executable"

Suppress it.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-07-20 16:17:53 +08:00
Pingfan Liu
8bef2d943b kexec-tools.spec: make the existence of pre.d and post.d mandatory
If the directory /etc/kdump/pre.d is optional, then it is hard
to tell between the following cases:
  -1. no directory "/etc/kdump/pre.d"
  -2. "rm -rf /etc/kdump/pre.d", which removes all scripts under pre.d
For the second case, kdump.img should be rebuilt.

To bail out from this corner case, always creating pre.d and post.d
during rpm installation.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-07-20 16:12:04 +08:00
Hari Bathini
5521a70cc7 ppc64/kdump: use kexec_file_load when secureboot is enabled
In secure boot mode, kexec_load syscall is disabled. So, if in secure
boot mode, load kdump kernel with kexec_file_load syscall instead.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-07-20 15:21:54 +08:00
Kairui Song
070d362846 Release 2.0.20-14
Also fix a timestamp issue.

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-07-01 17:15:38 +08:00
Lianbo Jiang
8884af04b6 s390x: enable the kexec file load by default
Let's use the option KEXEC_ARGS="-s" to enable the kexec file load
by default.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-07-01 17:07:46 +08:00
Lianbo Jiang
e5cbf4d1ad x86_64: enable the kexec file load by default
Let's use the option KEXEC_ARGS="-s" to enable the kexec file load
by default.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-07-01 17:07:46 +08:00
Lianbo Jiang
bf20a948ef Revert "s390x: add kdump sysconfig option to use the kexec_file_load() syscall"
This reverts commit 66ff48ed68.

Since the code logic is changed(which related to the option
'KDUMP_FILE_LOAD=on|off'), accordingly, need to remove the
option from the sysconfig file.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-07-01 17:07:46 +08:00
Lianbo Jiang
073646998f Revert "kdump-lib: switch to the kexec_file_load() syscall on x86_64 by default"
This reverts commit 6a20bd5447.

Let's restore the logic of secureboot status check, and remove the
option 'KDUMP_FILE_LOAD=on|off'. We will use the option KEXEC_ARGS="-s"
to enable the kexec file load later, which can avoid failures when
the secureboot is enabled.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-07-01 17:07:46 +08:00
Pingfan Liu
f2824e7b74 kdump.conf: fix a grammar issue
Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-07-01 17:07:03 +08:00
Pingfan Liu
6dd2b9fb41 man: improve description about /etc/kdump/{pre.d,post.d}interface
The description is identical to the notes in kdump.conf

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-07-01 16:49:41 +08:00
Kairui Song
61d4fa72b5 mkdumprd: Improve the error message for umounted dump target
Since commit ca01cbd, mkdumprd can generate the initramfs even if dump
target is not mounted. But it will refuse to work if the dump target is
not marked as noauto, and not mounted.

If a target is not marked as noauto in fstab, it should be mounted
automatically on boot. If it's not mounted, most likely something is
wrong and user should fix that. So mkdumprd will just show an error
message and quit to avoid further failure.

This commit make the error message more clear and less confusing.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-06-24 14:15:49 +08:00
Kairui Song
807f0b5e48 mkdumprd: Fix nfs detection in to_mount
If target is in format of UUID= or LABEL=, current code will fail as it
expects target to be the absoluta path to the block device. Check for
the fstype instead.

Also simplify the code logic.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-06-23 09:34:53 +08:00
Kairui Song
a29de38da5 Always wrap up call to dracut get_persistent_dev function
Dracut get_persistent_dev function don't recognize UUID= or LABEL=
format, so caller should conver it to the path to the block device
before calling it. There is already such a helper
"kdump_get_persistent_dev", just move it to kdump-lib.sh and rename
it to reuse it,

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-06-22 19:58:08 +08:00
Lianbo Jiang
66ff48ed68 s390x: add kdump sysconfig option to use the kexec_file_load() syscall
Currently, kernel has supported the kexec_file_load() syscall on s390x,
so I follow this commit:
6a20bd5447 ("kdump-lib: switch to the kexec_file_load() syscall on
x86_64 by default")

And also enable the kexec_file_load() syscall for kdump on s390x by
default.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-06-15 18:20:20 +08:00
Kairui Song
5d4a5896c9 mkdumprd: Fix dracut error on multiple extra_modules
Dracut expects --add-drivers with a single parameter, so mkdumprd
should quota the module list.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-06-15 17:42:35 +08:00
Kairui Song
1a5d44d7f4 Fix kdump failure when mount target specified by dracut_args
commit 61e0169 changed definition of dump_fs function, so
need to do a mount target conversion before calling it.

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-06-11 14:00:54 +08:00
onitsuka.shinic@fujitsu.com
077a7f19bb kdump.conf: Specify /etc/kdump/{pre.d,post.d}interface
This patch discribe /etc/kdump/{pre.d,post.d} interface.

Signed-off-by: Shinichi Onitsuka <onitsuka.shinic@fujitsu.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-06-11 13:18:26 +08:00
onitsuka.shinic@fujitsu.com
45e02e73fa dracut-kdump.sh: Execute the binary and script filesin /etc/kdump/{pre.d,post.d}
This patch executes the binary and script files in /etc/kdump/{pre.d,post.d}
just like kdump_pre or kdump_post directive written in /etc/kdump.conf.

Signed-off-by: Shinichi Onitsuka <onitsuka.shinic@fujitsu.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-06-11 12:59:21 +08:00
onitsuka.shinic@fujitsu.com
bdd57a5864 kdumpctl: Check the update of the binary and script files in /etc/kdump/{pre.d,post.d}
This patch adds the binary and script files in /etc/kdump/{pre.d,post.d}
to modified checklist in order to update kdump initramfs when one adds
new scripts or binaries or removes the existing ones under
/etc/kdump/{pre.d, post.d}.

Signed-off-by: Shinichi Onitsuka <onitsuka.shinic@fujitsu.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-06-11 12:59:15 +08:00
onitsuka.shinic@fujitsu.com
4246f26725 dracut-module-setup.sh: Install files under /etc/kdump/{pre.d,post.d} into kdump initramfs
This patch installs the binary and script files under /etc/kdump/{pre.d,post.d}
into new initramfs of kdump.

Signed-off-by: Shinichi Onitsuka <onitsuka.shinic@fujitsu.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-06-11 12:58:48 +08:00
Kairui Song
e05c550144 Drop switch root capability for non fadump initramfs
Switch root is never used for kdump image, and this will be helpful to
reduce the initramfs size.

Also increase dracut dependency version and the function is
dracut_no_switch_root is new introduced.

This commit is applied to RHEL some time ago, but missing in Fedora as
Fedora's Dracut didn't backport this feature at that time. Now apply
this missing commit.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-06-10 22:37:34 +08:00
Hari Bathini
8fcbb4d265 fadump: update fadump-howto.txt with some more troubleshooting help
On journaling filesystems like XFS, bootloader is likely to pick up
older initrd (without vmcore capture scripts) if system crashes right
after initrd update, as the bootloader (read GRUB) may not replay
filesystem log before reading the initrd from disk. Added steps to
workaround that problem.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-06-04 11:45:05 +08:00
Pingfan Liu
47bdeee35d fadump-howto.txt: source it in spec file
Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-06-03 11:34:37 +08:00
Kairui Song
134c578463 Don't inherit swiotlb parameter form 1st kernel by default
Usually kdump kernel don't need a swiotlb. There are two cases known
common case a swiotlb is needed:

 - SEV/SME is active.
 - crashkernel high reservation is used, or there are crashkernel memory
   above 4G.

For both case, if swiotlb is set to a large value in first kernel, kdump
kernel will likely to fail with OOM. So don't inherit swiotlb parameter
by default.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-29 10:56:31 +08:00
Kairui Song
0cc3b85d0d module-setup.sh: Add "rd.neednet" parameter if network is needed
Upstream dracut now use network-manager module by default and since
upstream commit 3dcaa97, network-manager expects user to pass "rd.neednet"
to indicate network is required.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-05-28 16:26:06 +08:00
Kairui Song
cfd93e2b7e Revert "Add a hook to wait for kdump target in initqueue"
This reverts commit cee618593c.

Upstream dracut have provided a parameter for adding mandantory network
requirement by appending "rd.neednet" parameter, so we should use that
instead.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-05-28 16:26:00 +08:00
Lianbo Jiang
a81ec90ed8 kdump.sysconfig: Remove the option 'log_buf_len' from kdump command line
The option 'log_buf_len' in the kernel command line will make kernel
dynamically allocate memory (system ram) from memblock and always hold
the memory allocated. If the size of this option is misused such as
'log_buf_len=64M'. This may cause a short of memory for kdump kernel,
because the size of memory is usually limited in kdump kernel.

In order to avoid this problem, need to remove this option from the
kdump kernel command line.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-28 10:11:15 +08:00
Kairui Song
0094fb496d Release 2.0.20-13
Add support for using unmounted device as dump target, update docs, and
fix several known issue.

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-05-22 19:29:19 +08:00
Kairui Song
73da3224be Fix an error in commit ca01cbd
Previous commit ca01cbd ('mkdumprd: generate usable kdump initramfs
even target is not mounted') applied a wrong version of patch, let me
just fix it.

Signed-off-by: Kairui Song <kasong@redhat.com>
2020-05-22 19:29:19 +08:00
Kairui Song
846e23a2d5 Update docs for the new noauto dump target support
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-22 16:16:01 +08:00
Kairui Song
f2ffa3d340 kexec-kdump-howto.txt: Add some format to the document
When adding doc for the non-mounted dump target support, I found the
document are a bit uneasy to read due to lack of a proper format, this
commit should it make looks better.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-22 16:14:13 +08:00
Kairui Song
ca01cbdfd5 mkdumprd: generate usable kdump initramfs even target is not mounted
Currently kexec-tools always depend on dump target to be mounted, which
caused some inconvenience for setup.

So for user configured target, allow kdump to start and build initramfs
even if target is not mounted.

When a mounted user configured target is used, the behavior is not
changed.

When a unmounted user configured target is used, mkdumprd will look for
corresponding mount info in fstab, and a entry with noauto option is
founded, mkdumprd will try to mount it inplace with optoins specified
in fstab and do basic checks on the device, then umount it.

If there is no fstab entry, mkdumprd will try to mount it in temporary
path with defaults option, do same basic check and umount it.

If there is a fstab entry but "noauto" option is not used, then there
must be some reason that the target device is not mounted, mkdumprd will
error out.

When path based target is used, there is no behavior change.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-22 16:14:07 +08:00
Kairui Song
61e016939c User get_mount_info to replace findmnt calls
Use get_mount_info so that fstab is used as a failback when look for
mount info.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-22 16:14:02 +08:00
Kairui Song
be578f6382 kdump-lib.sh: add fstab failback helper for getting mount info
This allows look up mount info even if target is not mounted.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-22 16:13:57 +08:00
Kairui Song
70deeb474b Allow calling mkdumprd from kdumpctl even if targat not mounted
Ignore mount check in kdumpctl, mkdumprd will still fail building and
exit if target is not mounted.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-22 16:13:49 +08:00
Kairui Song
0624148414 Add a is_mounted helper
Use is_mounted helper instaed of calling findmnt directly or checking if
"mount" value is empty.

If findmnt looks for fstab as well, some non mounted entry will also
return value. Required to support non-mounted target.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-22 16:13:24 +08:00
Kairui Song
43ea36b3e8 Introduce get_kdump_mntpoint_from_target and fix duplicated /
User a helper to get the path to mount dump target in kdump kernel, and
fix duplicated '/' in the mount path problem.

Fixes: bz1785371
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-05-22 16:13:02 +08:00
Kairui Song
539bff4083 Append both nofail and x-systemd.before to kdump mount target
By this point, there is still an unresolved vfs kernel issue that blocks
systemd from mounting the dump target properly from time to time. To
prevent systemd from failing by mounting the dump target, we can add
nofail option to the kdump mount point.

But adding nofail will wipe out default dependency of the mount point,
see commit 94a7b43, so systemd randomize the order of calling kdump.sh
and mounting the dump target and lead to unexpected behavior.
However we can use x-systemd.before to ensure the mount is done
in right order.

In dracut-kdump-capture.service, we have "After=initrd.target",
and look at dracut.bootup.7, systems start processing of fstab by
initrd-fs.target, so set "After=initrd.target" could ensure the mount
is ready before pre-pivot and kdump-capture service.

Now with both nofail and x-systemd.before=initrd.target, systemd
will try to mount the dump target before calling kdump, and even if the
mount failed, kdump.sh will still be called and try to mount again. See
dump_fs function, which will try to mount if the target is not mounted.
Kdump will only fail if both mount attemp fails.

Else if the kdump target mount failed or unstable, systemd will directly
jump to kdump failure action, and kdump fails.

This should improve the robustness in general with no other risk.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-15 17:17:27 +08:00
Kairui Song
33e79681d9 Fix the problem that kdump prints redundant /
In second kernel, kdump always prints redundant '/':

kdump: saving to /sysroot//var/crash/127.0.0.1-2020-03-12-21:32:54/

Just trim it.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2020-05-11 14:22:22 +08:00
Kairui Song
b82c35c842 Partially Revert "Don't mount the dump target unless needed"
This partially reverts commit 6dee286467.

There are reports that NFSv3 is failing after this commit, and after
more debug, I found NFSv4 may not work properly if
"nfs4_disable_idmapping" is set to 0.

The cause of the failure is that kdump.sh runs after dracut's pre-pivot
and clean up hook, many dracut module will install hooks to kill some
running services, so if the dump target requires a service to be running
but it's killed, mount will fail.

Dracut ensures the configured mount points are ready before pre-pivot.
After pre-pivot, any further mounting operation may not work as expected.

Although there is no report of other type of dump target failure except
NFSv3, it's better to revert this, to avoid other potential risk, and wait
for a proper fix for that systemd/kernel issue.

Else, this may bring more trouble for further development.

But still keep the change in kdump-lib-initramfs.sh for better
robustness.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-11 14:22:22 +08:00
Hari Bathini
d624a0326f fadump: update fadump-howto.txt with some troubleshooting help
Add recommendations on how much memory is required for FADump. Also,
mention the optimizations applied to default initrd when FADump is
used and how to workaround it.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-05-11 14:08:14 +08:00
Lianbo Jiang
ce0305d4f9 Add a new option 'rd.znet_ifname' in order to use it in udev rules
In most cases, it always provides a persistent MAC address. But for
the s390 Arch, sometimes, kernel could run in the LPAR mode and it
doesn't provide a persistent MAC address, which caused the kdump
failure.

Currently, some rules rely on the persistent MAC address, for the
above case, which won't work in kdump kernel because non-persistent
MAC could not match with udev rules.

To fix this issue, need to add a new option 'rd.znet_ifname' in order
to provide extra parameters such as 'ifname' and 'subchannels' for
some rules, which ensures kdump can also work appropriately without
the persistent MAC. Please refer to the following commit in dracut:

872eb69936bd ("95znet: Add a rd.znet_ifname= option")

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-04-27 18:21:22 +08:00
Kazuhito Hagio
74081a2b64 Don't unmount the dump target just after saving vmcore
Since commit 6dee286467 ("Don't mount the dump target unless needed"),
dump_fs function unmounts the dump target just after saving vmcore.

This broke the condition that it's mounted when executing "kdump_post",
which had been stable since RHEL5, and a certain tool which uses the
kdump_post hook to save information of 2nd kernel to the dump target
started to fail.

As unmounting it is done by systemd-shutdown before reboot without
the umount command as below, so let's don't unmount it in dump_fs.

  systemd-shutdown[1]: Unmounting file systems.
  [547]: Remounting '/sysroot' read-only in with options '(null)'.
  EXT4-fs (dm-0): re-mounted. Opts: (null)
  [548]: Unmounting '/sysroot'.

Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-04-27 16:30:59 +08:00
Pingfan Liu
f33f30eb61 dracut-module-setup.sh: fix breakage in get_pcs_fence_kdump_nodes()
pcs cluster and cluster cib-upgrade may throw some information and disturb
the parsing. Mute them

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-04-20 11:24:46 +08:00
Pingfan Liu
6348398743 dracut-module-setup.sh: ensure cluster info is ready before query
There is a race issue between "pcs" and "kdumpctl restart"

-1. set up cluster
 # pcs cluster setup --start mycluster node1 node2
 # pcs stonith create kdump fence_kdump pcmk_reboot_action="off"
 # pcs stonith level add 1 node1 kdump
 # pcs stonith level add 1 node2 kdump

-2. Then here comes the command _immediately_ in kdumpctl
 # pcs cluster cib

But due to some pcs internal mechanism, "pcs cluster cib" can not
fetch the updated info in time.

Fix these issue by forcing the upgrade of cib.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-04-08 15:46:06 +08:00
Kairui Song
b5b252ae27 Release 2.0.20-12
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-04-02 01:48:46 +08:00
Kairui Song
3b09c4910d Remove adjust_bind_mount_path call
If user configured target is used, path should be used as the absolute
path within the dump target direct, and user should be fully aware of
the path structure within the target device. The adjust_bind_mount_path
call here make it very hard to control the behavior.

Especially, if it's a cross device bind mount, this will likely create a
invalid path in the target. And for atomic case, adjust_bind_mount_path call
here assumes user will always pass root device as the explicitly configured
dump target, which is not true.

If user configured target device is used, the path is always be the
absolute path inside of given target. If user don't know about the path
structure in the target device, then user should either use the path
based config, or carefully exam the target device before using it as a
dump target.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-03-30 22:06:46 +08:00
Kairui Song
bde4b7af3b No longer treat atomic/silverblue specially
This commit remove almost all special workaround for atomic, and treat
all bind mounts in any environment equally.

Use a helper get_bind_mount_directory_from_path to get the bind mount
source path of given path.

is_atomic function now only used to determine the right /boot path
for atomic/silverblue environment.

And remove get_mntpoint_from_path(), it's the only function that never
ignore bind mount, and it have no caller after this clean up.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-03-30 22:06:37 +08:00
Kairui Song
b5b0b90521 mkdumprd: Simplify handling of user specified target
For user specified target, the config value is used as the dump target,
and SAVE_PATH (path in kdump.conf) value is used as the dump path within
the dump target, no need to do anything extra with the path value.

Current code logic is not only complicated, it also wrongly generate
an redundantly long path in atomic/silverblue environment.

The right way is only check two things, and do nothing else:

 1. The path exists within the target;
 2. The target is large enough to hold to contain the vmcore.

Currently checking the target still requires it to be mounted so it will
error out if it's not mounted. Will implement some auto mount as next
step.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-03-30 22:06:28 +08:00
Kairui Song
fd7e7be483 mkdumprd: Use get_save_path instead of parsing config
get_save_path provides default value fail back and error check, no need
to repeat it again.

Also remove a redundant echo and grep in get_save_path

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-03-30 22:06:07 +08:00
Kairui Song
c1c7f004c8 Remove is_dump_target_configured
It's basically same with is_user_configured_dump_target and only have
one caller. And the name is confusing, the dump target is always
configured, it's either user configured or path based.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-03-30 22:05:31 +08:00
Pingfan Liu
3be5f74df0 dracut-module-setup.sh: improve get_alias()
In /etc/hosts, the alias name can come at the 2nd column, regardless of the
recommendation.

E.g. the following format is valid although not recommended
cat /etc/hosts
        127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
        ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
        192.168.22.21	fastvm-rhel-7-6-21	fastvm-rhel-7-6-21.localdomain
        192.168.22.22	fastvm-rhel-7-6-22	fastvm-rhel-7-6-22.localdomain

        192.168.22.21   node1_hb
        192.168.22.22   node2_hb

So filtering out both 2nd and 3rd column for matching.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-03-24 15:36:26 +08:00
Kairui Song
4b43ba063d Release 2.0.20-11
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-03-24 01:47:45 +08:00
Kairui Song
424ac0bf80 Fix a potential syntax error
Process substitution is not POSIX standard syntax, so if bash is configured
to strictly follow POSIC, this will fail.

Just use a POSIX friendly syntax instead.

Fixes: bz1708321

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-03-23 10:26:20 +08:00
Kairui Song
e78639b46f Use read_strip_comments to filter the installed kdump.conf
This help remove redundant spaces and tailing comment in installed
kdump.conf, currently installed kdump.conf always contain extra empty
lines.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-03-23 10:26:08 +08:00
Kairui Song
632c369ec2 kdumpctl: fix driver change detection on latest Fedora
Now modinfo will return "(builtin)" instead of empty string for builtin
module. Sync the code logic.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-03-23 10:24:57 +08:00
Kairui Song
2fbcdf41e3 kdumpctl: check hostonly-kernel-modules.txt for kernel module
Since Dracut commit a0d9ad6 loaded-kernel-modules is renamed to
hostonly-kernel-modules and contains all hostonly modules. So check
hostonly-kernel-modules instead for module change.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-03-18 15:11:43 +08:00
Kairui Song
c9c50f9a36 dracut-module-setup.sh: Ensure initrd.target.wants dir exists
Latest dracut release stopped creating
$systemdsystemunitdir/initrd.target.wants dir for us, so ensure it
exists before creating the symlink.

Signed-off-by: Kairui Song <kasong@redhat.com>
Tested-and-Reviewed-by: Bhupesh Sharma <bhsharma@redhat.com>
2020-03-18 15:10:59 +08:00
Bhupesh Sharma
760beb7e57 mkdumprd: Use DUMP_TARGET which printing error message during ssh
When building kdump initramfs for a SSH dump target, mkdumprd would
check whether it has the write permission on the SSH Server's
$DUMP_TARGET.

However $DUMP_TARGET is missing in the actual error message when the
user doesn't not have the write permission. For example:

 # kdumpctl restart
   kexec: unloaded kdump kernel
   Stopping kdump: [OK]
   Could not create temporary directory on :/home/bhsharma/test. Make
   sure user has write permission on destination
   mkdumprd: failed to make kdump initrd
   Starting kdump: [FAILED]

This patch using $1 value passed to mkdumprd, to print the
$DUMP_TARGET inside mkdir_save_path_ssh() function to
fix the issue.

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-03-18 14:28:41 +08:00
HAGIO KAZUHITO(萩尾 一仁)
64d30f54b9 kdump-lib.sh: Fix is_user_configured_dump_target()
Currently, is_user_configured_dump_target() doesn't work as expected
due to lack of grep -E option.

As a result, kdump service with a ssh dump configuration can unnecessarily
fail to start due to the non-existence of a directory at where the path
option specifies on the local system:

  kdumpctl[9760]: Rebuilding /boot/initramfs-5.4.19-200.fc31.x86_64kdump.img
  kdumpctl[9760]: Dump path /var/crash/ssh does not exist.
  kdumpctl[9760]: mkdumprd: failed to make kdump initrd
  kdumpctl[9760]: Starting kdump: [FAILED]

Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-03-12 23:32:25 +08:00
Kazuhito Hagio
a1c28126ef mkdumprd: Use makedumpfile --check-params option
In order to check whether the specified makedumpfile parameters are
valid or not when generating initramfs, use the --check-params option,
which was recently added.

With the patch, kdumpctl can point out mistakes in core_collector
option and failed.  For example, if there is an practical mistake
that dump_level is -1:

  # cat /etc/kdump.conf
  core_collector makedumpfile -l --message-level 1 -d -1

  # kdumpctl start
  Detected change(s) in the following file(s):

    /etc/kdump.conf
  Rebuilding /boot/initramfs-5.4.19-200.fc31.x86_64kdump.img
  Dump_level(-1) is invalid.
  makedumpfile parameter check failed.
  mkdumprd: failed to make kdump initrd
  Starting kdump: [FAILED]

Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-03-12 23:32:22 +08:00
Kazuhito Hagio
476a2b50f6 makedumpfile: Introduce --check-params option
Backport from the upstream makedumpfile devel branch.

commit 989152e113bfcb4fbfbad6f3aed6f43be4455919
Author: Kazuhito Hagio <k-hagio-ab@nec.com>
Date:   Tue Feb 25 16:04:55 2020 -0500

    [PATCH] Introduce --check-params option

    Currently it's difficult to check whether a makedumpfile command-line
    is valid or not without an actual panic.  This is inefficient and if
    a wrong configuration is not tested, you will miss the vmcore when an
    actual panic occurs.

    In order for kdump facilities like kexec-tools to be able to check
    the specified command-line parameters in advance, introduce the
    --check-params option that only checks them and exits immediately.

    Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>

Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-03-12 23:32:18 +08:00
HAGIO KAZUHITO(萩尾 一仁)
b229a9773c Improves the early-kdump-howto.txt document in several points:
(1) explain early kdump a little clearer in "Introduction"
(2) move the notes out to a new "Notes" section for readability and
    add a note about need of reconfiguration after kernel update
(3) change journalctl -x option to -b option because -x is unnecessary
    and -b will make it very faster if persistent journal is available
(4) shorten the example messages for readability
(5) add a note to "Limitation" about the earliness of early kdump

Signed-off-by: Kazuhito Hagio <k-hagio-ab@nec.com>
Acked-by: Lianbo Jiang <lijiang@redhat.com>
2020-03-12 23:31:34 +08:00
Kairui Song
16d2e4274d Release 2.0.20-10
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-02-13 16:19:54 +08:00
s.morishima@fujitsu.com
a878ad0100 Add --force option to step 2 in early-kdump-howto.txt
For step2 in early-kdump-howto.txt, --force option of dracut
is necessary to rebuild system initramfs. Without --force option,
executing step2 fails because system initramfs already exists.

Signed-off-by: Shigeki Morishima <s.morishima@jp.fujitsu.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-02-13 14:17:18 +08:00
s.morishima@fujitsu.com
2af3537dfa Fix typo in early-kdump-howto.txt
Signed-off-by: Shigeki Morishima <s.morishima@jp.fujitsu.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-02-13 14:17:12 +08:00
Bhupesh Sharma
a01270b64e kexec-tools/module-setup: Ensure eth devices get IP address for VLAN
Currently while trying to save vmcore via vlan eth interface, the Kdump
kernel fails with network unreachable message.

This is because mkdumprd produces a vlan config that does not get
ip address for vlan on eth device.

Fix the same via this patch.

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-02-13 14:13:59 +08:00
Hari Bathini
e3f2f926dd powerpc: enable the scripts to capture dump on POWERNV platform
With FADump support added on POWERNV paltform, enable the scripts to
capture /proc/vmcore. Also, if CONFIG_OPAL_CORE is enabled, OPAL core
is preserved and exported on POWERNV platform. So, offload OPAL core,
if it is available.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-02-06 22:13:06 +08:00
Lianbo Jiang
6a20bd5447 kdump-lib: switch to the kexec_file_load() syscall on x86_64 by default
UEFI Secure boot is a signature verification mechanism, designed to
prevent malicious code being loaded and executed at the early boot
stage. This makes sure that code executed is trusted by firmware.

Previously, with kexec_file_load() interface, kernel prevents unsigned
kernel image from being loaded if secure boot is enabled. So kdump will
detect whether secure boot is enabled firstly, then decide which interface
is chosen to execute, kexec_load() or kexec_file_load(). Otherwise unsigned
kernel loading will fail if secure boot enabled, and kexec_file_load() is
entered.

Now, the implementation of kexec_file_load() is adjusted in below commit.
With this change, if CONFIG_KEXEC_SIG_FORCE is not set, unsigned kernel
still has a chance to be allowed to load under some conditions.

commit 99d5cadfde2b ("kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG
and KEXEC_SIG_FORCE")

And in the current Fedora, the CONFIG_KEXEC_SIG_FORCE is not set, only the
CONFIG_KEXEC_SIG and CONFIG_BZIMAGE_VERIFY_SIG are set on x86_64 by default.
It's time to spread kexec_file_load() onto all systems of x86_64, including
Secure-boot platforms and legacy platforms. Please refer to the following
form.

.----------------------------------------------------------------------.
| .                    |     signed kernel     |    unsigned kernel    |
|    .      types      |-----------------------|-----------------------|
|       .              |Secure boot|  Legacy   |Secure boot|  Legacy   |
|          .           |-----------|-----------|-----------|-----------|
| options     .        | prev| now | prev| now |     |     | prev| now |
|                .     |(file|(file|(only|(file| prev| now |(only|(file|
|                    . |load)|load)|load)|load)|     |     |load)|load)|
|----------------------|-----|-----|-----|-----|-----|-----|-----|-----|
|KEXEC_SIG=y           |     |     |     |     |     |     |     |     |
|SIG_FORCE is not set  |succ |succ |succ |succ |  X  |  X  |succ |succ |
|BZIMAGE_VERIFY_SIG=y  |     |     |     |     |     |     |     |     |
|----------------------|-----|-----|-----|-----|-----|-----|-----|-----|
|KEXEC_SIG=y           |     |     |     |     |     |     |     |     |
|SIG_FORCE is not set  |     |     |     |     |     |     |     |     |
|BZIMAGE_VERIFY_SIG is |fail |fail |succ |fail |  X  |  X  |succ |fail |
|not set               |     |     |     |     |     |     |     |     |
|----------------------|-----|-----|-----|-----|-----|-----|-----|-----|
|KEXEC_SIG=y           |     |     |     |     |     |     |     |     |
|SIG_FORCE=y           |succ |succ |succ |fail |  X  |  X  |succ |fail |
|BZIMAGE_VERIFY_SIG=y  |     |     |     |     |     |     |     |     |
|----------------------|-----|-----|-----|-----|-----|-----|-----|-----|
|KEXEC_SIG=y           |     |     |     |     |     |     |     |     |
|SIG_FORCE=y           |     |     |     |     |     |     |     |     |
|BZIMAGE_VERIFY_SIG is |fail |fail |succ |fail |  X  |  X  |succ |fail |
|not set               |     |     |     |     |     |     |     |     |
|----------------------|-----|-----|-----|-----|-----|-----|-----|-----|
|KEXEC_SIG is not set  |     |     |     |     |     |     |     |     |
|SIG_FORCE is not set  |     |     |     |     |     |     |     |     |
|BZIMAGE_VERIFY_SIG is |fail |fail |succ |succ |  X  |  X  |succ |succ |
|not set               |     |     |     |     |     |     |     |     |
 ----------------------------------------------------------------------
Note:
[1] The 'X' indicates that the 1st kernel(unsigned) can not boot when the
    Secure boot is enabled.

Hence, in this patch, if on x86_64, let's use the kexec_file_load() only.
See if anything wrong happened in this case, in Fedora firstly for the
time being.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2020-02-06 21:57:14 +08:00
Kairui Song
1b89cc245f Release 2.0.20-9
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-01-29 14:44:16 +08:00
Kairui Song
47f2a819d5 Fix builing failure on Fedora 32
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-01-29 14:43:47 +08:00
Kairui Song
71d20dc825 Release 2.0.20-8
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-01-29 08:48:04 +08:00
Kairui Song
69b920db5d Update makedumpfile to 1.6.7
Signed-off-by: Kairui Song <kasong@redhat.com>
2020-01-29 08:47:42 +08:00
Kairui Song
cee618593c Add a hook to wait for kdump target in initqueue
The dracut initqueue may quit immediately and won't trigger any hook if
there is no "finished" hook still pending (finished hook will be deleted
once it return 0).

This issue start to appear with latest dracut, latest dracut use
network-manager to configure the network,
network-manager module only install "settled" hook, and we didn't
install any other hook. So NFS/SSH dump will fail. iSCSI dump works
because dracut iscsi module will install a "finished" hook to detect if
the iscsi target is up.

So for NFS/SSH we keep initqueue running until the host successfully get
a valid IP address, which means the network is ready.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-01-29 08:12:45 +08:00
Kairui Song
24b00298d0 Always install sed and awk
sed and awk is heavily used everywhere in the code, but it's not
explicitely installed by kdump dracut module. If the module in dracut
stop installing them (which already happened with latest dracut
upstream), kdump will break.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-01-03 16:35:19 +08:00
Kairui Song
bcdcf35759 Fix potential ssh/nfs kdump failure of missing "ip" command
For ssh/nfs dump, kdump need the 'ip' tool to get the host ip address
for naming the vmcore. But kdump-module-setup.sh never installed this
tool. kdump-module-setup.sh worked so far as dracut network module will
help install it.

After dracut changed to use 35network-manager for network setup, "ip"
command won't be installed in second kernel by default. So need to
ensure "ip" is installed when installing kdump dracut module.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-01-03 16:35:15 +08:00
Kairui Song
b76c567325 kdump-lib.sh: Fix is_nfs_dump_target
Previously is_nfs_dump_target didn't cover the case that 'path <value>'
where <value> points to a nfs mount point. This function is never used
in first kernel before so so far it worked.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-01-03 16:35:12 +08:00
Kairui Song
03111c797b Always use get_save_path to get the 'path' option
This help deduplicate the code. Use a single function instead of
repeat the same logic.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-01-03 16:35:07 +08:00
Kairui Song
d10f202996 kdump-lib: Don't abuse echo, and clean up
Some of echo $(...) code segment is pointless, just call the command
directly, and remove some useless if / return statement.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2020-01-03 16:34:34 +08:00
Kairui Song
d01c6de338 Release 2.0.20-7
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-12-29 19:36:08 +08:00
Kairui Song
b301d6c4f4 Fix building failure due to makedumpfile's compile flag
From: Pingfan Liu <piliu@redhat.com>

makedumpfile: remove -lebl

-lebl has been removed from elfutils.

Signed-off-by: Kairui Song <kasong@redhat.com>
2019-12-28 03:12:27 +08:00
Kairui Song
68dcfcfb47 mkdumprd: Fix dracut args parsing
Previous commit f13eab6 ('mkdumprd: simplify dracut args parsing')
break dracut arguments parsing for some use case, this should fix it
well.

Passed nfs/local/iscsi/ssh dump test, and with extra dracut_argss.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-12-27 12:29:43 +08:00
Kairui Song
ee742fcf6b Release 2.0.20-6
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-11-28 17:53:30 +08:00
Kairui Song
d13fd38df4 kdump-error-handler.service: Remove ExecStopPost
Currently "systemctl --fail --no-block default" will be executed on
kdump-error-handler exit due to the config. This may makes systemd try
to isolate to the default target again.

The execute chain will be like:

initrd.target -> kdump.sh (failed) -> kdump-error-handler.service ->
failure_action -> final_action -> ExecStopPost (go to initrd.target again)

Currently, reboot/shutdown/halt is called by either by executing
failure_action or final_action. So the loop will be stopped. However
nont of the reboot/shutdown/halt call is blocking so it might lead to
race issue.

Just drop the ExecStopPost to fix this potential issue.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
Tested-by: HATAYAMA Daisuke <d.hatayama@fujitsu.com>
2019-11-28 17:46:00 +08:00
Kairui Song
f13eab60cb mkdumprd: simplify dracut args parsing
Previously dracut_args is stored as an array in the shell code,
so we can just pass this array as argument to dracut.
But when trying to append new dracut argument, we have to manually
handle the quotes and spaces to ensure the appended argument is
splitted into array elements in the right way.

This is complex and hard to read or maintain. Instead, just store the
dracut_args as a plain string, and let xargs help parse it and call
dracut.

Simply passing $dracut_args or "$dracut_args" will either let dracut
consider the whole string as a single argument, or loss all the
quotes. xargs can handle it well and cover more corner cases.

Eg. one corner case before, if we have:
dracut_args --mount "/dev/sda1 /mnt/test xfs rw"

Kdump will fail, because the function add_dracut_arg() will wrongly
change the arguments into: (Notice the extra space.)
dracut_args --mount " /dev/sda1 /mnt/test xfs rw"

Instead of fixing it just use xargs instead. Tested with above config
and multiple other dracut_args values.

Resolves: bz1700136
Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-11-27 23:45:54 +08:00
Kairui Song
5633e83318 Always set vm.zone_reclaim_mode = 3 in kdump kernel
By default kernel have vm.zone_reclaim_mode = 0 and large page
allocation might fail as kernel is very conservative on memory
reclaiming. If the page allocation failure is not handled carefully
it could lead to more serious problems.

This issue can be reproduced by change with following steps:

- Fill up page cache use:
  # dd if=/dev/urandom of=/test bs=1M count=1300

- Now the memory is filled with write cache:
  # free -m
                total        used        free      shared  buff/cache   available
  Mem:           1790         184         132           2        1473        1348
  Swap:          2119           7        2112

- Insert a module which simply calls "kmalloc(SZ_1M, GFP_KERNEL)" for
  512 times: (Notice: vmalloc don't have such problem)
  # insmod debug_module.ko

- Got following allocation failure:
  insmod: page allocation failure: order:8, mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null),cpuset=/,mems_allowed=0

- Clean up and repeat again with vm.zone_reclaim_mode = 3, OOM is not
  observed.

In kdump kernel there is usually only one online CPU and limited memory,
so we set vm.zone_reclaim_mode = 3 to let kernel reclaim memory more
aggresively to avoid such issue.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2019-11-13 11:35:46 +08:00
Hari Bathini
0a9aabaadd kdumpctl: make reload fail proof
When large amount of memory, about 1TB, is removed with DLPAR memory
remove operation, kdump reload could fail due to race condition with
device tree property update. In such scenario, the subsequent kdump
reload requests would also fail as reload() only proceeds if current
load status is active. Since the possibility of this race condition
couldn't be wished away due to the nature of the scenario, workaround
it by proceeding to load even if current load status is not active as
long as kdump service is active, which kdump udev rules already check
for.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-11-12 13:22:52 +08:00
Pingfan Liu
d9d4483b7a spec: move binaries from /sbin to /usr/sbin
Before this patch
$rpm -ql kexec-tools | grep sbin
/sbin/kexec
/sbin/makedumpfile
/sbin/mkdumprd
/sbin/vmcore-dmesg

After this patch
$rpm -ql kexec-tools | grep sbin
/usr/sbin/kexec
/usr/sbin/makedumpfile
/usr/sbin/mkdumprd
/usr/sbin/vmcore-dmesg

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-11-08 15:23:33 +08:00
Kairui Song
39352d0cfc Don't execute final_action if failure_action terminates the system
If failure_action is shutdown/reboot/halt, final_action is pointless as
the system will be already stopping. And if final_action is different
from failure_action, it will trigger a systemd race problem and cause
unexpected behavior to occur.

So let the error handler stop and exit after performing failure_action
successfully if failure_action is one of shutdown/reboot/halt.
This way, final_action will not be executed.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2019-11-01 11:21:58 +08:00
Kairui Song
5e76e53a70 module-setup.sh: Simplify the network setup code
Merge kdump_setup_netdev into kdump_install_net.

kdump_install_net is a wrapper of calling kdump_setup_netdev, and
it do following three extra things:

  1. Sanitize and resolve the hostname
  2. Resolve the route to the destination
  3. Set the default gateway for once

There is currently only one caller of kdump_setup_netdev, the iscsi
network setup code, and it's doing 1 and 2 by itself. And there should
only be one default gateway in kdump enviroment, so applying 3 here is
fine.

And the comment of kdump_install_net is wrong and obsoleted, update the
comment too.

Just merge kdump_setup_netdev into kdump_install_net and always use
kdump_install_net instead.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2019-10-24 17:00:02 +08:00
Kairui Song
18ee888eab mkdumprd: ensure ssh path exists before check size
check_size checks if the specified dump path on the ssh target have
enough space. And if the path doesn't exits, it will fail and exit.

mkdir_save_path_ssh should be called first to check if the path
exists, and create the path if it doesn't exits, so the size check
can always work properly.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2019-10-24 16:59:22 +08:00
Pingfan Liu
882b920c2f module-setup: re-fix 99kdumpbase network dependency
In commit a431a7e354 (module-setup: fix 99kdumpbase network dependency),
the statement for OR operation is still wrong.

The OR condition statement should be:  if a || b

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-10-22 16:09:43 +08:00
Pingfan Liu
72ed97683f kdumpctl: bail out immediately if host key verification failed
In kdump.conf, if sshkey points to an invalid ssh key, 'kdumpctl restart'
can bail out immediately instead of retry.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-10-22 15:14:37 +08:00
Kairui Song
e7a207d166 Release 2.0.20-5
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-10-15 13:54:32 +08:00
Kairui Song
6dee286467 Don't mount the dump target unless needed
For fadump, this helps to reduce the risk of boot failure, and
may also help speed up the boot by a bit.

For normal kdump, this will delay the dump target mounting, and no
longer depend on systemd to do the mounting job.

And currently there is a failure that caused by some mount handling
bug with kernel and systemd that is failing the system booting:

[FAILED] Failed to mount /kdumproot/home.
See 'systemctl status kdumproot-home.mount' for details.
[DEPEND] Dependency failed for Local File Systems.
[  OK  ] Reached target Remote File Systems (Pre).
[  OK  ] Reached target Remote File Systems.
         Starting udev Coldplug all Devices...
         Starting Create Volatile Files and Directories...
         Starting Kdump Emergency...

This patch can bypass it. The fix of root cause is still WIP, but this
patch itself is a nice to have optimization so it's reasonable to do so.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2019-09-29 17:12:54 +08:00
Kairui Song
367ca85d1f Merge #3 kdump-lib: strip grub device from kdump_bootdir 2019-09-25 02:40:45 +00:00
Kairui Song
022166630f Merge #2 Add systemd-udev require. 2019-09-25 02:40:35 +00:00
Yuval Turgeman
4714c7c8a3 kdump-lib: strip grub device from kdump_bootdir
When trying to setup kdump for fedora-coreos, kdumpctl start fails to
find the correct boot directory since BOOT_IMAGE start with the grub
device name

Signed-off-by: Yuval Turgeman <yturgema@redhat.com>
2019-09-24 12:19:43 +03:00
Kairui Song
e31d5baf59 Release 2.0.20-4
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-09-24 14:58:09 +08:00
Pingfan Liu
e07fc3e071 kdumpctl: echo msg when waiting for connection
Print some message during the long wait period to reflect the process.
The message will look like:

  Network dump target is not usable, waiting for it to be ready
  ...

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-09-24 13:17:16 +08:00
Kazuhito Hagio
a0db00d575 makedumpfile: Fix inconsistent return value from find_vmemmap()
Backport from the makedumpfile devel branch in upstream.

commit 8425342a52b23d462f10bceeeb1c8a3a43d56bf0
Author: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Date:   Fri Sep 6 09:50:34 2019 -0400

    [PATCH] Fix inconsistent return value from find_vmemmap()

    When -e option is given, the find_vmemmap() returns FAILED(1) if
    it failed on x86_64, but on architectures other than that, it is
    stub_false() and returns FALSE(0).

              if (info->flag_excludevm) {
                      if (find_vmemmap() == FAILED) {
                              ERRMSG("Can't find vmemmap pages\n");

      #define find_vmemmap()          stub_false()

    As a result, on the architectures other than x86_64, the -e option
    does some unnecessary processing with no effect, and marks the dump
    DUMP_DH_EXCLUDED_VMEMMAP unexpectedly.

    Also, the functions for the -e option return COMPLETED or FAILED,
    which are for command return value, not for function return value.

    So let's fix the issue by following the common style that returns
    TRUE or FALSE, and avoid confusion.

    Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>

Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-09-20 16:37:44 +08:00
Kazuhito Hagio
bdd3061883 makedumpfile: Fix exclusion range in find_vmemmap_pages()
Backport from the makedumpfile devel branch in upstream.

commit b461971bfac0f193a0c274c3b657d158e07d4995
Author: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Date:   Thu Aug 29 14:51:56 2019 -0400

    [PATCH] Fix exclusion range in find_vmemmap_pages()

    In the function, since pfn ranges are literally start and end, not start
    and end+1, if the struct page of endpfn is at the last in a vmemmap page,
    the vmemmap page is dropped by the following code, and not excluded.

        npfns_offset = endpfn - vmapp->rep_pfn_start;
        vmemmap_offset = npfns_offset * size_table.page;
        // round down to page boundary
        vmemmap_offset -= (vmemmap_offset % pagesize);

    We can use (endpfn+1) here to fix.

    Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>

Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-09-20 16:37:39 +08:00
Kazuhito Hagio
68f9e69a16 makedumpfile: x86_64: Fix incorrect exclusion by -e option with KASLR
Backport from the makedumpfile devel branch in upstream.

commit aa5ab4cf6c7335392094577380d2eaee8a0a8d52
Author: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Date:   Thu Aug 29 12:26:34 2019 -0400

    [PATCH] x86_64: Fix incorrect exclusion by -e option with KASLR

    The -e option uses info->vmemmap_start for creating a table to determine
    the positions of page structures that should be excluded, but it is a
    hardcoded value even with KASLR-enabled vmcore.  As a result, the option
    excludes incorrect pages from it.

    To fix this, get the vmemmap start address from info->mem_map_data.

    Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>

Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-09-20 16:37:23 +08:00
Pingfan Liu
680c0d3414 kdumpctl: distinguish the failed reason of ssh
On a host with ipaddr not ready before kdump service, ssh return errno 255.
While if no ssh-key, ssh also return errno 255. For both of cases, the
current kdump code promote user to run 'kdumpctl propagate'. This confuses
user who already installs ssh-key.

In order to tell these two cases from each other, the ssh warning message
should be involved, and parsed.

For the no ssh-key case , warning message is "Permission denied" or "No
such file or directory". For the other, warning message is "Network
Unreachable"

This patch also does a slight change to enlarge the timeout from 60s to
180s. This value can meet test at the time being

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-09-02 17:06:21 +08:00
Kairui Song
3e8526cf04 kexec-kdump-howto.txt: Add notes about device dump
Currently there are two issues with device dump:
  - It may use too much memory
  - kdump won't automatically include required driver in second kernel

User should manually reserve enough memory, and include the required
driver by using extra_modules. Add some notes about the issues in
kexec-kdump-howto.txt

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-09-02 17:06:16 +08:00
Kairui Song
ff329689b3 Disable device dump by default
Device dump may use a log of memory and cause OOM issue, so append
"novmcoredd" option for second kernel and disable it by default.
To use device dump, user should remove the vmcoredd parameter
manually.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-09-02 17:06:09 +08:00
Kairui Song
75297d6f20 dracut-module-setup: fix bond ifcfg processing
Bond options in ifcfg is space separated, dracut expected it to be comma
separated, so it have to be parsed and converted during initramfs
building.

The currently parsing and convert pattern is flawed, for example:
" downdelay=0 miimon=100 mode=802.3ad updelay=0 "

is converted to :
":,downdelay=0 miimon=100 mode=802.3ad updelay=0 "

should be:
":downdelay=0,miimon=100,mode=802.3ad,updelay=0"

So fix this issue by using more simple but robust method for processing
the options.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-09-02 17:05:43 +08:00
Pingfan Liu
a5ea190af2 dracut-module-setup: filter out localhost for generic_fence_kdump
The localhost is filtered out in case of is_pcs_fence_kdump, do it too in
case of is_generic_fence_kdump.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-08-28 14:19:17 +08:00
Pingfan Liu
f0b5493b2e dracut-module-setup: get localhost alias by manual
'hostname -A' can not get the alias, meanwhile 'hostname -a' is deprecated.
So we should do it by ourselves.

The parsing is based on the format of /etc/hosts, i.e.
  IP_address canonical_hostname [aliases...]

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-08-28 14:19:01 +08:00
Kairui Song
d9c0c2f68f Release 2.0.20-3
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-08-12 18:08:37 +08:00
Pingfan Liu
c1a06343df kdumpctl: wait a while for network ready if dump target is ssh
If dump target is ipv6 address, a host should have ipv6 address ready
before starting kdump service. Otherwise, kdump service fails to start due
to the failure "ssh dump_server_ip mkdir -p $SAVE_PATH".
And user can see message like:
 "Could not create root@2620:52:0:10da:46a8:42ff:fe23:3272/var/crash"

I observe a long period (about 30s) on some machine before they got ipv6
address dynamiclly, which is never seen on ipv4 host.

Hence kdump service has a dependency on ipv6 address. But there is no good
way to resolve it. One way is asking user to run the cmd "nmcli connection
modify eth0 ipv6.may-fail false". But this will block systemd until ipv6
address is ready. Despite doing so, kdump can try its best (wait 1 minutes
after it starts up) before failure.

How to implement the wait is arguable. It will involve too many technique
details if explicitly waiting on ipv6 address, instead, just lean on 'ssh'
return value to see the availability of network.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-08-12 16:13:08 +08:00
Kazuhito Hagio
15f6d2627f makedumpfile: Increase SECTION_MAP_LAST_BIT to 4
Backport from the makedumpfile devel branch in upstream.

commit 7bdb468c2c99dd780c9a5321f93c79cbfdce2527
Author: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Date:   Tue Jul 23 12:24:47 2019 -0400

    [PATCH] Increase SECTION_MAP_LAST_BIT to 4

    kernel commit 326e1b8f83a4 ("mm/sparsemem: introduce a SECTION_IS_EARLY
    flag") added the flag to mem_section->section_mem_map value, and it caused
    makedumpfile an error like the following:

      readmem: Can't convert a virtual address(fffffc97d1000000) to physical address.
      readmem: type_addr: 0, addr:fffffc97d1000000, size:32768
      __exclude_unnecessary_pages: Can't read the buffer of struct page.
      create_2nd_bitmap: Can't exclude unnecessary pages.

    To fix this, SECTION_MAP_LAST_BIT needs to be updated. The bit has not
    been used until the addition, so we can just increase the value.

    Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>

Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Acked-by: Dave Young <dyoung@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-08-06 11:15:14 +08:00
Kazuhito Hagio
076b839dd4 makedumpfile: Do not proceed when get_num_dumpable_cyclic() fails
Backport from the makedumpfile devel branch in upstream.

commit c1b834f80311706db2b5070cbccdcba3aacc90e5
Author: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Date:   Tue Jul 23 11:50:52 2019 -0400

    [PATCH] Do not proceed when get_num_dumpable_cyclic() fails

    Currently, when get_num_dumpable_cyclic() fails and returns FALSE in
    create_dump_bitmap(), info->num_dumpable is set to 0 and makedumpfile
    proceeds to write a broken dumpfile slowly with incorrect progress
    indicator due to the value.

    It should not proceed when get_num_dumpable_cyclic() fails.

    Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>

Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Acked-by: Dave Young <dyoung@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-08-06 11:14:40 +08:00
Kairui Song
4a0f9763c0 Don't forward and drop journalctl logs for fadump
fadump will alter the normal boot initramfs and we don't want a normal
boot to foward and drop the journalctl logs.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-08-06 11:14:15 +08:00
Kairui Song
80de723566 Release 2.0.20-2
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-08-02 14:51:21 +08:00
Kairui Song
cb1e5463b5 x86: Fix broken multiboot2 buliding for i386
When building for i386, an error occured:

kexec/arch/i386/kexec-x86.c:39:22: error: 'multiboot2_x86_probe'
undeclared here (not in a function); did you mean 'multiboot_x86_probe'?
39 |  { "multiboot2-x86", multiboot2_x86_probe, multiboot2_x86_load,
   |                      ^~~~~~~~~~~~~~~~~~~~
   |                      multiboot_x86_probe

kexec/arch/i386/kexec-x86.c:39:44: error: 'multiboot2_x86_load'
undeclared here (not in a function); did you mean 'multiboot_x86_load'?
39 |  { "multiboot2-x86", multiboot2_x86_probe, multiboot2_x86_load,
   |                                            ^~~~~~~~~~~~~~~~~~~
   |                                            multiboot_x86_load
kexec/arch/i386/kexec-x86.c:40:4: error: 'multiboot2_x86_usage'
 undeclared here (not in a function); did you mean 'multiboot_x86_usage'?
40 |    multiboot2_x86_usage },
   |    ^~~~~~~~~~~~~~~~~~~~
   |    multiboot_x86_usage

Fix this issue by putting the definition in the right header, also tidy
up Makefile.

Signed-off-by: Kairui Song <kasong@redhat.com>
2019-08-02 11:24:03 +08:00
Pingfan Liu
88bbab963f dracut-module-setup.sh: skip alias of localhost in get_pcs_fence_kdump_nodes()
The current code only exclude the hostname, while localhost can have alias in
/etc/hosts. All of the alias should be excluded from the fence dump node to
avoid deadlock issue.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-08-01 13:38:53 +08:00
Kairui Song
03fd19454b Release 2.0.20-1
Rebase to latest upstream and make a release

Signed-off-by: Kairui Song <kasong@redhat.com>
2019-07-31 15:54:46 +08:00
Kairui Song
4b7198f651 Update makedumpfile to 1.6.6
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-07-31 15:54:42 +08:00
Kairui Song
17981c14ec kexec-tools.spec: Use a macro for makedumpfile version
Don't repeat it again and again and make it easier to maintain.

Signed-off-by: Kairui Song <kasong@redhat.com>
2019-07-31 15:53:26 +08:00
Fedora Release Engineering
603cd09b76 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-07-25 11:23:07 +00:00
Kairui Song
cf5d362dca dracut-module-setup.sh: Don't use squash module for fadump
Squash module is used to save memory. For fadump this is not neccessary
and may slow down the build time, and make it more fragile.

fadump initramfs is used for normal boot as well, although squash module
is capable of being used for generic normal boot, but there are cases
where is doesn't work well. So disable it and make fadump more robust.

Signed-off-by: Kairui Song <kasong@redhat.com>
Tested-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-07-16 16:46:23 +08:00
Kairui Song
5b26c1f8b2 Forward logs in kdump kernel to console directly
Don't use any log storage and forward to console directly, this make
console output more useful, and also save more memory. On a fresh
installed Fedora 30 it saved ~5M of memory, and the amount of log being
printed to console is still accetable.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-07-16 14:11:16 +08:00
Kairui Song
b998b90197 kdump.sysconfig/x86_64: Disable HEST by default
Some firmware will provide a ACPI HEST table with massive amount of
entries, and the way how kernel handles these entries will consume a lot
of memory which will lead to OOM issue in kdump kernel. During testing
on certain machine, disable HEST saved ~60M of memory.

Kdump is only for emergency use in case of a kernel panic, so temporarily
disable hardware error report & recovery related feature is acceptable
in general. So disable HEST support in kdump kernel to save memory.

Currently such issue is only observed on x86_64, so limit this change to
x86_64 only.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-07-09 14:11:36 +08:00
Pingfan Liu
ace23737ab dracut-kdump-capture.service: Use OnFailureJobMode instead of deprecated OnFailureIsolate
systemd has the following message "OnFailureIsolate is deprecated. Please
use OnFailureJobMode= instead"

Changing the file to meet systemd's requirement

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-06-14 09:44:09 +08:00
Vasiliy Glazov
c4a2ecb6e4 Add systemd-udev require.
It is needed to proper owning of /usr/lib/udev/rules.d directory.
2019-06-11 07:46:47 +00:00
Lianbo Jiang
b1250de389 makedumpfile: x86_64: Add support for AMD Secure Memory Encryption
Backport from the makedumpfile devel branch in upstream.

commit d222b01e516bba73ef9fefee4146734a5f260fa1 (HEAD -> devel)
Author: Lianbo Jiang <lijiang@redhat.com>
Date:   Wed Jan 30 10:48:53 2019 +0800

    [PATCH] x86_64: Add support for AMD Secure Memory Encryption

    On AMD machine with Secure Memory Encryption (SME) feature, if SME is
    enabled, page tables contain a specific attribute bit (C-bit) in their
    entries to indicate whether a page is encrypted or unencrypted.

    So get NUMBER(sme_mask) from vmcoreinfo, which stores the value of
    the C-bit position, and drop it to obtain the true physical address.

    Signed-off-by: Lianbo Jiang <lijiang@redhat.com>

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-06-10 16:13:38 +08:00
Bhupesh Sharma
fd1eccf920 aarch64/kdump.sysconfig: Make config options similar to x86_64
Looking at the difference of the x86_64 and aarch64 kdump.sysconfig
options for Fedora, one can see the following options which are
different:

Present in kdump.sysconfig.x86_64 but not in kdump.sysconfig.aarch64:
---------------------------------------------------------------------
 cgroup_disable=memory
 mce=off
 numa=off
 udev.children-max=2
 panic=10
 acpi_no_memhotplug
 transparent_hugepage=never
 nokaslr

Present in kdump.sysconfig.aarch64 but not in kdump.sysconfig.x86_64:
---------------------------------------------------------------------
 swiotlb=noforce

After going through all the options, it makes sense to add the
following options added to kdump.sysconfig.aarch64:

  KDUMP_COMMANDLINE_APPEND="cgroup_disable=memory udev.children-max=2
                            panic=10 irqpoll nr_cpus=1
			    swiotlb=noforce reset_devices"

This has helped reduce the memory footprint of crashkernel on several
aarch64 machines available in the beaker lab. For e.g. I was seeing
OOM issues on large aws ec2 instances with the default crashkernel size
of 512M, and I had to use an increased crashkernel size of 786M on the
same to boot the crash dump kernel.

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2019-05-29 17:04:27 +08:00
Bhupesh Sharma
3001788f4c Add aarch64 specific kdump.sysconfig and use 'nr_cpus' instead of 'maxcpus'
'maxcpus' setting normally don't work on several kdump enabled systems
due to a known udev issue.

Currently the fedora kdump configuration is set as the following on the
aarch64 systems:

 # cat /etc/sysconfig/kdump
<..snip..>
  # This variable lets us append arguments to the current kdump
  # commandline after processed by KDUMP_COMMANDLINE_REMOVE
  # KDUMP_COMMANDLINE_APPEND="irqpoll maxcpus=1 reset_devices"
<..snip..>

Since the 'maxcpus' setting doesn't limit the number of SMP CPUs,
so the kdump kernel still boots with all CPUs available on the system.
For e.g on the qualcomm amberwing its 46 CPUs:

  # lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              46
On-line CPU(s) list: 0-45
Thread(s) per core:  1
Core(s) per socket:  46
Socket(s):           1
NUMA node(s):        1
Vendor ID:           Qualcomm
Model:               1
Model name:          Falkor
Stepping:            0x0
CPU max MHz:         2600.0000
CPU min MHz:         600.0000
BogoMIPS:            40.00
L1d cache:           32K
L1i cache:           64K
L2 cache:            512K
L3 cache:            58880K
NUMA node0 CPU(s):   0-45
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid asimdrdm

This causes the memory consumption in the kdump kernel to swell up and
we can end up having OOM issues in the kdump kernel boot.

Whereas if we use 'nr_cpus=1' in the bootargs, the number of SMP CPUs in
the kdump kernel get limited to 1.

The 'swiotlb=noforce' setting in bootargs provide us extra guarding, to
ensure the crash kernel size requirements do not swell on systems
which support swiotlb.

With the above settings, crashkernel boots properly (without OOM) on all
the aarch64 boards I could test on - qualcomm amberwings, hp-moonshots
and hpe-apache (thunderx2) for crash dump saving on local disk.

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Pingfan Liu <piliu@redhat.com>
2019-05-29 17:04:20 +08:00
Kairui Song
f0fa5c8e91 kdumpctl: check for ssh path availability when rebuild
Currently kdumpctl rebuild will simply rebuild the initramfs, and
only perform basic config syntax check. But it should also check if the
target path is available when using SSH target, else kdump may fail.
is second kernel. kdumpctl rebuild should cover this case, and create
the path if it doesn't exist.

This patch make rebuild and restart behaves the same, rebuild is
now equal to restart, except it won't check config change or reload
kdump resource.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-27 16:13:29 +08:00
Kairui Song
43c26b7312 kdumpctl: Check kdump.conf for error when rebuild is called
Although "kdumpctl rebuild" is introduced to help user rebuild the
initramfs without modifying the kdump.conf, if the kdump.conf is
modified and "kdumpctl rebuild" is called, a initramfs with a faulty
kdump.conf will be built.

Kdump will refuse to load the initramfs when restarted, but kdumpctl
reload may load the faulty initramfs. So need to make sure the faulty
build won't be generate in the first place.

Check for kdump.conf error before building the initramfs to ensure such
failure won't happen.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-27 13:57:55 +08:00
Kairui Song
8af28759ec Release 2.0.19-2
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-05-20 17:08:28 +08:00
Kairui Song
2efc0f1854 kdumpctl: don't always rebuild when extra_modules is set
We don't necessarily have to always rebuild the initramfs when
extra_modules is set. Instead, just detect if any module is updated,
and only rebuild initramfs if found any updated kernel module.

Tested with in-tree kernel modules, out-of-tree kernel modules, weak
modules, all worked as expected.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-20 17:01:25 +08:00
Kairui Song
30913fd667 kdumpctl: follow symlink when checking for modified files
Previously only the symlink's timestamp is used for checking if file are
modified, this will not trigger a rebuild if the symlink target it
modified.

So check both symlink timestamp and symlink target timestamp, rebuild
the initramfs on both symlink changed and target changed.

Also give a proper error message if the file doesn't exist.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-20 16:56:31 +08:00
Kairui Song
75d9132417 Get rid of duplicated strip_comments when reading config
When reading kdump configs, a single parsing should be enough and this
saves a lot of duplicated striping call which speed up the total load
speed.

Speed up about 2 second when building and 0.1 second for reload in my
tests.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-20 16:56:28 +08:00
Lianbo Jiang
9529191d95 earlykdump: provide a prompt message after the rebuilding of kdump initramfs.
Early kdump inherits the settings of normal kdump, so any changes that
caused normal kdump rebuilding also require rebuilding the system initramfs
to make sure that the changes take effect for early kdump.

Therefore, when the early kdump is enabled, provide a prompt message after
the rebuilding of kdump initramfs is completed.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-20 16:56:19 +08:00
Kairui Song
8d4db658fd kexec-kdump-howto.txt: Add document about encrypted targets
Currently kdump is not working well with encrypted targets, add document
about this issue.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-20 13:41:44 +08:00
Kairui Song
f544a12e78 kexec-kdump-howto.txt: Add document about initramfs rebiuld
Add some note about the limitation of kdumpctl's auto detect and rebuild
feature, and suggest the user to rebuild the initramfs manually on
major system change, and don't include the initramfs in disk images.

Put the note about system change in front part of the document so user
will less likely to miss it.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-20 13:41:28 +08:00
Kairui Song
1c1159a586 kdumpctl: Detect block device driver change for initramfs rebuild
Previous we rebuild the initramfs when kenrel load module list changed,
but this is not very stable as some async services may load/unload
kernel modules, and cause unnecessary initramfs rebuild.

Instead, it's better to just check if the module required to dump to
the dump target is loaded or not, and rebuild if not loaded. This
avoids most false-positives, and ensure local target change is always
covered.

Currently only local fs dump target is covered, because this check
requires the dump target to be mounted when building the initramfs,
this guarantee that the module is in the loaded kernel module list,
else we may still get some false positive.

dracut-install could be leveraged to combine the modalias list with
kernel loaded module list as a more stable module list in the initramfs,
but upstream dracut change need to be done first.

Passed test on a KVM VM, changing the storage between SATA/USB/VirtIO
will trigger initramfs rebuild and didn't notice any false-positive.
Also passed test on my laptop with no false-positive.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-08 17:51:18 +08:00
Kairui Song
09f50350d9 Revert "kdumpctl: Rebuild initramfs if loaded kernel modules changed"
This reverts commit 6b479b6572.

Check initramfs rebuild by looking at if there is any change of load
kernel modules list is not very stable after all. Previously we are
counting on udev to settle before kdump is started to ensure all modules
is ready, but actually any service may cause a kernel module load, even
after udev is settled.

The previous commit is trying to workaround an issue that VM created
with disk snapshot may fail in the kdump initramfs. The better fix is to
not include the kdump initramfs in the disk snapshot at all, as the
kdump initramfs is not generated for a generic use. And With new added
"kdumpctl reload" command, admins could rebuild the image easily, and
should rebuild the initramfs on hardware change manually.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-05-06 17:54:26 +08:00
Pingfan Liu
a585f981bd kexec.rules: create dedicated udev rules for ppc64
On powerpc, after hot add cpu and trigger crash on the hot-added cpu, the
kdump kernel hangs after "I'm in purgatory".

The current udev rules expects the dtb to be rebuit on cpu add/remove event.
But since powerpc does not follow the standard cpu hot add framework, it
only ejects online/offline event to user space when cpu is hot
added/removed, instead of add/remove event.  Pingfan tried fixing that but
it didn't please the maintainer as it breaks some old userspace tools.

Due to the failure of dtb's rebuilding, KDump kernel fails to get the
'boot_cpuid' and eventually fails to boot [see early_init_dt_scan_cpus() in
arch/powerpc/kernel/prom.c file] if system crashes on hot-added CPU.

Work around it by changing udev rules on powerpc to onlne/offline.

As for offline message, it is even useless on powerpc, and can be dropped.
See the explain: On powerpc, /sys/devices/system/cpu/cpuX nodes are present
for all "possible", irrespective of whether a CPU is hot-added/removed.
crash_notes are already built for all /sys/devices/system/cpu/cpuX nodes and
these nodes are present for all "possible" CPUs
(online/offline/could-be-hot-removed/could-be-hot-added)

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-05-06 16:22:28 +08:00
Baoquan He
50aa6dea24 kexec-kdump-howto: Add note on setting correct value of kptr_restrict
kdumpctl fails to load a crash kernel if KASLR is enabled.

The incorrect configuration of the kptr_restrict parameter causes that
the kdumpctl fails to load a crash kernel. The problem occurs when the
Kernel Address Space Layout Randomization (KASLR) mechanism is enabled.
The value of kptr_restrict decides how to expose the content of /proc
files. Inappropriate setting will cause that the /proc/kallsyms file is
being printed as all zeros. This configuration will break the kdump
loading process since it needs access to the conntent of /proc/kallsyms
if KASLR is enabled.

Set kptr_restrict to 1 to avoid the problem described above.

Signed-off-by: Baoquan He <bhe@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-04-25 08:33:29 -04:00
Kairui Song
a53be67929 Update man page for new kdumpctl command: reload / rebuild
These two command are not documented, update the man page to let user
know how to use them.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-04-05 02:02:58 +08:00
Kairui Song
594ac119c5 kdumpctl: add rebuild support
Use "kdumpctl rebuild" to rebuild the image directly. This could help
admins to rebuild kdump image directly.

Also merge fadump related initramfs backup/restore into setup_initrd,
and do permission only when actually trying to rebuild the image.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-04-05 02:02:43 +08:00
Kairui Song
289e16c881 mkdumprd: Improve the config reading logic
Seems some dead codes are left here for historical reason, just remove
them, read the config and strip comments only for once.

This improve the speed by a lot (2.6s -> 0.498s for reading a
simple config in my test case, on HDD) and make the code cleaner.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-03-29 10:52:39 +08:00
Kairui Song
24f9b31080 Release 2.0.19-1
Rebase to latest kexec-tools upstream and remove backport patch.

Signed-off-by: Kairui Song <kasong@redhat.com>
2019-03-22 17:06:27 +08:00
Kairui Song
ace66284ab Update eppic to latest snapshot
Also don't override LDFLAGS when building eppic lib, this ensure
hardening won't get overrided.

Signed-off-by: Kairui Song <kasong@redhat.com>
2019-03-21 11:19:41 +08:00
Hari Bathini
689fca5af3 fadump: leverage kernel support to re-regisgter FADump
With kernel commit 0823c68b054b ("powerpc/fadump: re-register firmware-
assisted dump if already registered") support is enabled to re-register
when FADump is alredy registered. Leverage that option in kdump scripts.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-03-07 13:33:17 +08:00
Hari Bathini
da6b75f59b fadump: use the original initrd to rebuild fadump initrdfrom
The idea behind adding support for dracut '--rebuild' option was to
ensure the initrd built for fadump takes into consideration all the
build parameters passed to original initrd. Pass original initrd
instead of current default initrd for rebuild as current initrd
might already have build parameters from original initrd along
with parameters from previous fadump intird build making the
build parameters look like this after a few iterations:

-H --persistent-policy 'by-uuid' -f --quiet --hostonly --hostonly-
cmdline --hostonly-i18n --hostonly-mode 'strict' -o 'plymouth dash
resume ifcfg' --mount '/dev/mapper/rhel_zzfp219--lp3-home /kdumproot
//home xfs defaults' -f --kver '4.18.0-60.el8.ppc64le' --quiet
--hostonly --hostonly-cmdline --hostonly-i18n --hostonly-mode 'strict'
-o 'plymouth dash resume ifcfg' --mount '/dev/mapper/rhel_zzfp219--lp3-home
/kdumproot//home xfs defaults' -f --kver '4.18.0-60.el8.ppc64le' --quiet
--hostonly --hostonly-cmdline --hostonly-i18n --hostonly-mode 'strict'
-o 'plymouth dash resume ifcfg' --mount '/dev/mapper/rhel_zzfp219--lp3-home
/kdumproot//home xfs defaults' -f --kver '4.18.0-60.el8.ppc64le' --include
'/tmp/fadump.initramfs' '/etc/fadump.initramfs' --include
'/tmp/fadump.initramfs' '/etc/fadump.initramfs' --include
'/tmp/fadump.initramfs' '/etc/fadump.initramfs'
--

Since it is not desirable to build initrd with stale and/or  duplicate
build parameters, use original initrd (backed up) to rebuild fadump
initrd, instead of current default initrd.

Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-03-07 13:32:47 +08:00
Kairui Song
be6200f044 Release 2.0.18-5
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-02-22 17:11:27 +08:00
Kairui Song
97890ecbac Update eppic to latest upstream snapshot
eppic project have moved to github, update to latest upstream snapshot,
change source link and tar file naming style to fit github's URL format.

This fix the O0 warning reported by annocheck and passes all distro package
flag checking.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-02-22 17:09:07 +08:00
Kairui Song
2fc7312546 Enable building with hardening flags
Backport the patches required to make the hardening build flags work with
kexec-tools and makedumpfile, and enabld hardening flags in spec file.
This will make the pacakge pass all warnings for kexec and makedumpfile
reported by annocheck.

Didn't find any issue with basic tests with kexec and makedumpfile.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-02-22 17:09:07 +08:00
Kairui Song
159307d057 Remove unused patches
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-02-22 17:09:07 +08:00
Fedora Release Engineering
b5736e4663 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2019-02-01 05:20:38 +00:00
Igor Gnatenko
95e9a62674 Remove obsolete Group tag
References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag
2019-01-28 20:24:10 +01:00
Kairui Song
05cec1657f mkdumprd: refine regex on dropping mount options
Currently we use "\b" (word boundary) as the delimiter for ro option,
which is not correct. For mount options like
"defaults,errors=remount-ro" the ro on the tail will also be replaced
and result in an invalid mount option.

So we use a more strict logic on detecting ro mount option. It should
either starts with "," or "^" (begin of line) and ends with "," or "$"
(end of line), and keep the delimiter untouched. This should ensure
only valid mount option got detected and replaced.

This passed following tests:

defaults,ro,noauto,errors=remount-ro,nobootwait,nofail => defaults,rw,errors=remount-ro,
defaults,errors=remount-ro => defaults,errors=remount-ro
defaults,ro,relatime => defaults,rw,relatime
defaults,ro => defaults,rw

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-01-28 18:23:03 +08:00
Kairui Song
7f9dd45688 Release 2.0.18-3
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-01-22 18:08:05 +08:00
Kazuhito Hagio
f022398ddb earlykdump: Add a note of final_action option to avoid crash loop
Since early kdump is generally used for capturing vmcore when
boot-time panic occurs, if a system always reboots after capturing
vmcore, it can go into a crash loop.

To avoid this issue, this patch add a note of 'final_action' option
to the early kdump document.

Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-01-22 17:58:33 +08:00
Kazuhito Hagio
242da37c58 Add final_action option to kdump.conf
If a crash occurs repeatedly after enabling kdump, the system goes
into a crash loop and the dump target may get filled up by vmcores.
This is likely especially with early kdump.

This patch introduces 'final_action' option to kdump.conf, in order
for users to be able to power off the system even after capturing
a vmcore successfully.

Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Lianbo Jiang <lijiang@redhat.com>
Cc: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-01-22 17:58:24 +08:00
Kazuhito Hagio
cc95f0a744 Add failure_action as alias of default and make default obsolete
In preparation for adding 'final_action' option, since it's confusing
to have the 'final_action' and 'default' options at the same time,
this patch introduces 'failure_action' as an alias of the 'default'
option to /etc/kdump.conf, and makes 'default' obsolete to be removed
in the future.

Also, the "default action" term is renamed to "failure action".

Signed-off-by: Kazuhito Hagio <k-hagio@ab.jp.nec.com>
Cc: Dave Young <dyoung@redhat.com>
Cc: Lianbo Jiang <lijiang@redhat.com>
Cc: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Kairui Song <kasong@redhat.com>
2019-01-22 17:57:53 +08:00
Kairui Song
0c24dce730 mkdumprd: force drop earlykdump module
earlykdump is not suppose to be loaded for a kdump initramfs, and user
may add it into dracut's config file so it will be included by default.
It will also make the image building always fail because earlykdump
actually detect if it's being used for kdump image and raise an error if
so.

In that case, we always force drop this module to avoid such problem.

Signed-off-by: Kairui Song <ryncsn@gmail.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-01-10 18:18:45 +08:00
Kairui Song
8c8dc9d641 earlykdump: warn when installed kernel version differs from dracut target
Previously we handled the case when the installed kernel version for
early kdump is different from dracut target, it will be better to
print a warning even if installation successed, to let the user know
that an different kernel is used.

No warn message will be given if the user specified a KDUMP_KERNELVER
value, as in such case a different kernel version is used on purpose.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-01-10 18:16:58 +08:00
Kairui Song
d45da38dca earlykdump: add more sanity check when generating initramfs
Currently when earlykdump failed to install required kernel image or
initramfs, it will still install the earlykdump hook and other utils.
But it won't work due to the absent of kernel image or kdump initramfs,
so the hook and installed utils is meanless.

We can't simply fail dracut building, as if earlykdump is included by
dracut config file, this may fail kernel update, where kernel image is
installed but initramfs failed to generate, and then it will fail
booting.

So this patch let it skip earlydkump install if anything is missing and
give a clean error message to let the user better ware of the situation.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-01-10 18:11:49 +08:00
Kairui Song
8a476dabf0 earlykdump: generate symlink with stable name to kernel image and iniramfs
There is currently a problem with earlykdump image building, when a user
is upgrading kernel, dracut will generate new initramfs for the new
kernel, and earlykdump will install currently running version of kernel
into the initramfs, and remain the version based kernel image naming
untouched. But after a reboot the new kernel is running, and it
will try to load the image corresponding to the new kernel version by
file naming.

This patch fixes the problem by creating a symlink with unified stable
naming to the installed kernel image and initramfs, and use the symlink
instand so it will always work despite the kernel version number change.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2019-01-10 18:11:49 +08:00
Lianbo Jiang
3316c2d735 earlykdump: fix kexec fails to load the early kdump kernel
Early kdump always fails to load the vmlinuz-xxx after the 'binutils'
package has been installed, and outputs the following messages:
...
dracut-cmdline[309]: Cannot determine the file type of /boot/vmlinuz-4.18.0-51.el8.x86_64
dracut-cmdline[309]: kexec: failed to load early-kdump kernel
...

The reason is that the vmlinuz-xxx image is mistakenly stripped when
using dracut to generate the kdump initrd. Because dracut always find
all executable binary files to strip only if the 'binutils' package
is installed, otherwise it will skip the stripping.

Therefore, remove the executable permissions of the vmlinuz-xxx in
'${initrd}' in order to let dracut skip the mistakenly stripping.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2019-01-10 18:11:33 +08:00
Kazuhito Hagio
2310616572 mkdumprd: allow spaces after 'path' config phrase with network dump setting
Without this patch, when there are two or more spaces after 'path'
configuration phrase with ssh or nfs setting, SAVE_PATH is set to
'/var/crash' in mkdumprd, and in most cases kdump service fails to
start by checking the /var/crash directory regardless of the path
value.

  ssh kdump(a)192.168.122.1
  path  /kdump
      ^^

This behavior would be too sensitive and different from the other
configurations. With this patch, mkdumprd allows such spaces.

Signed-off-by: Kazuhito Hagio <k-hagio(a)ab.jp.nec.com&gt;
Acked-by: Kairui Song <kasong@redhat.com>
2019-01-08 18:26:14 +08:00
Kairui Song
4a44eee472 dracut-module-setup: Don't build squashed image if required modules are missing
When someone is using a minimal kernel without squash module installed,
including squash dracut module will either either fail to build or fail to
boot the initramfs.

As kdump always build the image for one single kernel, we can safely just
use modprobe to check if a modules is already built in, or it exists and
loadable for the kernel we are using for kdump image, and don't include
the squash module if they are missing. Everything will still work just
fine without squash module.

We do the check in kdump dracut modules not in squash dracut module
because kdump dracut module could leverage of the KDUMP_KERNELVER variable
to know which kernel it should check against, squash dracut module may be
used to build for a generic image.

And we only check for the kernel module dependency, other binary
dependencies are either well checked or well declared in dracut.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-12-26 10:28:12 +08:00
Pingfan Liu
89565289c6 kdump-lib-initramfs.sh: using -force option when poweroff
If default action is poweroff, we can observe that the machine is
rebooted, instead of poweroff. That is due to the following two race
processes:
    systemctl poweroff
    systemctl reboot -f
which is launched by kdump-error-handle.sh.

Unfortunately, although both of them are executed in systemd block
mode, but due to poweroff will tear down some internal things in
systemd, there is no guarantee for the block mode. As we can see
the msg "Failed to execute operation: Connection reset by peer",
which is thrown by "systemctl reboot -f".

poweroff and reboot share most of code, if one fails, then the other
should also fails, so it is meaningless to use reboot as the backup of
poweroff. Using "systemctl poweroff -f", the sdbus will teared down
immediately, which prevent the following "systemctl reboot -f" from
executing. Meanwhile, as man systemctl says:
    -f, --force
        When used with enable, overwrite any existing conflicting symlinks.

        When used with halt, poweroff, reboot or kexec, execute the selected
        operation without shutting down all units. However, all processes will
        be killed forcibly and all file systems are unmounted or remounted read-only.

Hence, replacing the 'poweroff' with 'systemctl poweroff -f'

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2018-12-10 14:37:57 +08:00
Kairui Song
9c2dc28713 Release 2.0.18-2
Signed-off-by: Kairui Song <kasong@redhat.com>
2018-12-07 01:35:01 +08:00
Kairui Song
fca27c3a44 Update makedumpfile to 1.6.5
Signed-off-by: Kairui Song <kasong@redhat.com>
2018-12-07 01:33:47 +08:00
Kairui Song
3a36568581 Make udev reload rules quiet during bootup
In commit 1c97aee and commit 227c185 udev rules was rewritten to use
systemd-run to run in a non-blocking mode. The problem is that it's a
bit noise, especially on machine bootup, systemd will always generate
extra logs for service start, you might see your journal full of lines
like these if you have many CPUs (each CPU generates a udev event on
boot):

...
Nov 22 22:23:05 localhost systemd[1]: Started /usr/lib/udev/kdump-udev-throttler.
Nov 22 22:23:05 localhost systemd[1]: Started /usr/lib/udev/kdump-udev-throttler.
Nov 22 22:23:05 localhost systemd[1]: Started /usr/lib/udev/kdump-udev-throttler.
Nov 22 22:23:05 localhost systemd[1]: Started /usr/lib/udev/kdump-udev-throttler.
...

While system is still booting up, kdump service is not started yet, so
systemd-run calls will end up doing nothing, the throttler being called
by systemd-run will just exit if kdump is not loaded.

This patch avoid systemd-run from being called at first place if kdump
service is not running by checking kdump.service status in udev rule,
so there won't be unnecessary logs.

Also remove the kdump service checking logic in kdump-udev-throttler as
udev is the only expected callee of this script, if it's not being
called at first place when kdump service is running, this checking will
be redundant. And even if any user called this script manually, it will
still work well as this script will call 'kdumpctl reload', it reload
the kdump resource only if kdump is loaded already.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-12-06 17:44:03 +08:00
Kairui Song
a0dc92f46c dracut-module-setup: Fix routing failure on multipath route
Currently we still don't support multipath route, when parsing multipath
route kdumpctl will wrongly consider 'nexthop' as the destination address,
and raise errors in second kernel.

When multipath route is in use, ip route output should be like this:
$ /sbin/ip route show
default via 192.168.122.1 dev ens1 proto dhcp metric 100
192.168.122.0/24 dev ens1 proto kernel scope link src 192.168.122.161 metric 100
192.168.122.8
	nexthop via 192.168.122.1 dev ens1 weight 50
	nexthop via 192.168.122.2 dev ens1 weight 5

As we don't care about HA/performance, simply use the rule with highest
weight and ignore the rest.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Baoquan He <bhe@redhat.com>
2018-11-27 18:12:52 +08:00
Kairui Song
d4f04afa47 mkdumprd: drop some nfs mount options when reading from kernel
nfs service will append extra mount options to kernel mount options.
Those extra options represent current mounting details, but they may
not suitable for the second kernel. IP address may change, and we only
enable a single network stack (v4/v6), if nfs prefered another
network stack, inheriting the options will force nfs service to use
previous network stack and disable nfs's fallback mechanic and fail.

As nfs service have the capability to negotiate required protocols
and detect proper IP address, just drop those options and let nfs
automatically adapt the possible change in the second kernel.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-11-24 17:48:49 +08:00
Bhupesh Sharma
31222d611d doc/kdump.conf: Local dump path should be <mnt>/<path>/%HOST_IP-%DATE
Resolves: bz1561837
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1561837

Currently 'kdump.conf' and 'kdump.conf MAN page' entries state that the
local dump path should be:

<fs type> <partition>
	- Will mount -t <fs type> <partition> <mnt>, and copy
	  /proc/vmcore to <mnt>/<path>/%DATE/.

The correct vmcore path instead should be:
<mnt>/<path>/%HOST_IP-%DATE/

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2018-11-15 11:18:30 +08:00
Markus Linnala
65807d9855 As /etc/kdump.conf timestamp is updated do not compare it when doing rpm --verify 2018-11-13 16:23:57 +02:00
Kairui Song
32fc6070a6 Add missing usage info
In commit b34ce3a reload support was added to kdumpctl but the usage
info is not updated. Now add reload to usage output to let user aware
of the new command.

Signed-off-by: Kairui Song <kasong@redhat.com>
2018-11-09 11:17:00 +08:00
Kairui Song
435cc06cee Release 2.0.18-1
(Also add missing change log for 2.0.17-12)

Signed-off-by: Kairui Song <kasong@redhat.com>
2018-11-06 00:33:29 +08:00
Kairui Song
0c609b0a37 Release 2.0.17-12
Signed-off-by: Kairui Song <kasong@redhat.com>
2018-11-01 22:55:02 +08:00
Kairui Song
1c97aee728 Throttle kdump reload request triggered by udev event
Previously, kdump will restart / reload for many times on hotplug
event, especially memory hotplug events. Hotplugged memory may
generate many udev event as memory are managed and hotplugged in
small chunks by the kernel.

This results in unnecessary system workload and an actually longer
delay of kdump reload and the hotplug event, as udev will either
get blocked or kdumpctl will be waiting for other triggered operation.

To fix this, introduce a kdump-udev-throttler as an agent which will
be called by udev and merge concurrent kdump restart requests. Tested
with a Hyper-V VM which is failing due to udev timeout previously,
no new issues found.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-11-01 22:33:17 +08:00
Kairui Song
227c18506c Rewrite kdump's udev rules
According to udev's man page, PROGRAM is either used to determine
device's name or whether the device matches the rule. So we should
use RUN insteand. Meanwhile, both RUN / PROGRAM only accepts very
short-running foreground tasks, but kdump restart may take a long
time if there are any device changes that will lead to image rebuild,
which may lead to buggy behavior.

On the other hand, memory / CPU hot plug should never trigger a
initramfs rebuild.

To solve this problem, we will use new introduced "kdumpctl reload"
instead, and use systemd-run to create a transient service unit for
the reload and run it in no-block mode, so udev won't be blocked by
anything.

We need to make systemd-run execute in non-blocking mode, and do not
synchronously wait for the operation to finish, because udev expect
the command line in RUN to be finished immediately, however, kdumpctl
reload may take 0.5-1s for an ordinary reload, or even slower on some
machines. So we give systemd-run an explicit --no-block option to run
in non-blocking mode. Without --no-blocking, systemd-run will verify,
enqueue and wait for the operation to finish. By using the --no-block
option, systemd-run will only verify and enqueue the unit then
return. In this way, we make sure the command is executed
asynchronously, and the status will be monitored and logged by
systemd, which is reliable and non-blocking.

Another thing to mention is that --no-block is only needed after
systemd-v220, before v220 systemd-run uses non-blocking mode by
default and --no-block option is not available on earlier systemd
versions.

Also reformat the udev rules to a more maintanceable format.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-11-01 22:33:11 +08:00
Kairui Song
b34ce3a7b4 kdumpctl: Add reload support
Add reload support to kdumpctl, reload will simply unload current
loaded kexec crash kernel and initramfs, and load it again.

Changes in /etc/sysconfig/kdump will take effect with kdumpctl
reload, but reloading will not check the content of
/etc/kdump.conf and won't rebuild anything. reload is fast, the only
time-consuming part of kdumpctl reload is loading kernel and initramfs
with kexec which is always necessary.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-11-01 22:31:20 +08:00
Kairui Song
80357ee9b4 Release 2.0.17-11
Signed-off-by: Kairui Song <kasong@redhat.com>
2018-10-15 15:29:01 +08:00
Kairui Song
9b6e312447 Enable dracut squash module
In dracut-049, a new squash module is introduced, it can reduce the
memory usage of kdump initramfs in the capture kernel, this helps a lot
on lowering the risk of OOM failure.

Tested with latest rawhide with NFS, SSH and local dump.

Signed-off-by: Kairui Song <kasong@redhat.com>
2018-10-15 15:01:31 +08:00
Kenneth Dsouza
5b385cbd0c kdumpctl: Print warning in case the raw device is formatted and contains filesystem.
Currently the kdumpctl script doesn't check if the raw device is
formatted which might destroy existing data at the time of dump
capture.

This patch addresses this issue, by ensuring kdumpctl prints
a warning in case it finds the raw device to be formatted.

Signed-off-by: Kenneth D'souza <kdsouza@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2018-10-15 10:47:08 +08:00
Kenneth Dsouza
ac55095191 kdump-lib-initramfs.sh: Add check to remount to rw mode only if dump target is ro.
Currently the script does not check if the dump target is read-only and would
always mount to read-write mode. This caused an issue with nfs mount as the
fstab options would be reconsidered while remounting to read-write mode.
The remount would fail with the below error as all options cannot be changed
runtime.

mount.nfs: mount(2): Invalid argument
mount.nfs: an incorrect mount option was specified

Which in result would not save the vmcore on the dump target.

This patch addresses this issue by checking the dump target status for read-only.
If yes, remount to read-write mode without reconsidering the fstab options.

Signed-off-by: Kenneth D'souza <kdsouza@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2018-10-15 10:46:44 +08:00
Kairui Song
67e5c8d226 Release 2.0.17-10
Signed-off-by: Kairui Song <kasong@redhat.com>
2018-08-22 16:31:18 +08:00
Bhupesh Sharma
00da17176d kexec: fix for "Unhandled rela relocation: R_X86_64_PLT32" error
Resolves: bz1619122
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1619122

This patch fixes the "Unhandled rela relocation: R_X86_64_PLT32" error
that we are seeing with Fedora 29 (and newer kernels > 4.18) which
trying to run kexec/kdump on x86_64 machines.

The patch is being discussed upstream and has been ACK'ed by Baoquan and
myself (see <https://www.spinics.net/lists/kexec/msg21255.html>) and I
have also tested the same on Fedora 29/rawhide x86_64 machine as well:

Before the patch:
----------------
[root@hp-bl480c-01 ~]# kdumpctl restart
  kexec: unloaded kdump kernel
  Stopping kdump: [OK]
  Unhandled rela relocation: R_X86_64_PLT32
  kexec: failed to load kdump kernel
  Starting kdump: [FAILED]

After the patch:
---------------
[root@hp-bl480c-01 ~]# kdumpctl restart
  kexec: unloaded kdump kernel
  Stopping kdump: [OK]
  kexec: loaded kdump kernel
  Starting kdump: [OK]

Suggested Upstream Fix:

    In response to a change in binutils, commit b21ebf2fb4c
    (x86: Treat R_X86_64_PLT32 as R_X86_64_PC32) was applied to
    the linux kernel during the 4.16 development cycle and has
    since been backported to earlier stable kernel series. The
    change results in the failure message in $SUBJECT when
    rebooting via kexec.

    Fix this by replicating the change in kexec.

    Signed-off-by: Chris Clayton <chris2553@googlemail.com>

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2018-08-22 15:48:43 +08:00
Kenneth Dsouza
d92b9364ae kdumpctl: Error out if path is set more than once.
Currently the kdumpctl script doesn't check if the path option is
set more than once due to which a vmcore is not captured.

This patch addresses this issue by ensuring that only one path
is specified in /etc/kdump.conf file.

Signed-off-by: Kenneth D'souza <kdsouza@redhat.com>
Acked-by: Kairui Song <kasong@redhat.com>
2018-08-22 15:23:32 +08:00
Kairui Song
94a7b43407 Always drop nofail or nobootwait options
If nofail or nobootwait option is used, systemd's local-fs.target won't
wait for the mounting to complete, and kdump might start before the
required mount point is ready and then fail.

The host might use nofail for reasons like the device may get unpluged,
and if the device is not mounted and it is set as kdump target as the same
time then kdump service won't start, we will never enter the capture
kernel. By the time we have entered the capture kernel, the target device
must exist and ready to use, or else kdump would fail anyway. So force
remove nofail and nobootwait option.

Also drop rootflags=nofail option, as we don't depend on rootfs anymore
if the dump target don't required it. So the nofail option is no longer
needed.

Signed-off-by: Kairui Song <kasong@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-08-14 10:34:45 +08:00
Kairui Song
e9f3823082 Release 2.0.17-9 2018-08-07 17:35:38 +08:00
Kairui Song
f07d16814d Remove redundant kdump-anaconda-addon source codes
Signed-off-by: Kairui Song <kasong@redhat.com>
2018-08-07 17:28:12 +08:00
Kairui Song
f6770b30c3 dracut-module-setup: Fix DRM module inclusion test for hyper-v
We test if to include the drm module or not by testing if there are any
drm entry in sysfs. But there is an exception for hyper-v, DRM module
take care of hyperv's framebuffer driver as well but hyperv_fb will
not create any drm entry. So currently we got black screen on
hyperv guest.

Fix by detect hyperv's special entry as well.

Signed-off-by: Kairui Song <kasong@redhat.com>
2018-08-07 17:22:05 +08:00
Kairui Song
25b19d3627 Remove kdump-anaconda subpackage
Kdump anaconda has been included as a subpackage for a long time, which
is not a good practice, as the anaconda plugin should be built as
noarch and it does not belong to kexec-tools. We have created a new
package 'kdump-anaconda-addon', so remove it here.

The release version should be bumped later so that kdump-anaconda-addon
could mark previous versions as obsoleted.

Signed-off-by: Kairui Song <kasong@redhat.com>
2018-08-07 17:22:01 +08:00
Dave Young
3b8642c280 Release 2.0.17-8 2018-07-26 20:31:44 +08:00
Dave Young
9c7fea7ff7 Fix armv7hl build failure
armv7hl build failed because no makedumpfile* built but the latest commit
tries to install them.

Exclude armv7hl in the code chunk.

Signed-off-by: Dave Young <dyoung@redhat.com>
2018-07-26 20:19:08 +08:00
Dave Young
d319cbbb6d Release 2.0.17-7
Signed-off-by: Dave Young <dyoung@redhat.com>
2018-07-26 19:54:11 +08:00
Dave Young
3e065ac92e Remove koji build workaround patch since koji build works without the patch now
Signed-off-by: Dave Young <dyoung@redhat.com>
2018-07-26 19:51:25 +08:00
Bhupesh Sharma
bb6dd93d7a kexec-tools.spec: Drop kexec-tools-2.0.3-disable-kexec-test.patch
kexec_test seems to be no longer used upstream, so we had introduced
the 'kexec-tools-2.0.3-disable-kexec-test.patch' earlier to disable the
same from fedora kexec-tools as well.

However an earlier patch "Remove obsolete kdump tool" now explicitly
installs needed files via appropriate logic in .spec file, so we can
drop this patch now to reduce the maintenance burden.

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
2018-07-26 19:51:25 +08:00
Bhupesh Sharma
0b9095c11b Remove obsolete kdump tool
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1441677
Testing: On x86_64 Fedora machine. After this patch kdump utility and related
        man page cannot be found on this machine:

        [root@tyan-gt24-09 ~]# which kdump
        /usr/bin/which: no kdump in
        (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

	[root@tyan-gt24-09 ~]# man kdump
        No manual entry for kdump

Update the fedora 'kexec-tools.spec' to not install the obsolete
kdump tool.

I have submitted an upstream patch to obsolete the kdump tool from
upstream kexec-tools (which has been accepted), but after an internal
discussion we decided not to backport the upstream 'kexec-tools' patch
(which does the same) for fedora, as we would prefer to manage the
changes directly in the .spec file itself.

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
2018-07-26 19:51:04 +08:00
Kairui Song
4eedcae5e1 dracut-module-setup.sh: don't include multipath-hostonly
This commit basically reverts commit c755499fad,
and make use of new introduced tri-state hostonly mode.

Following dracut commits merged multipath-hostonly into multipath
module, and introduced a tri-state hostonly mode.

    commit 35e86ac117acbfd699f371f163cdda9db0ebc047
    Author: Kairui Song <kasong@redhat.com>
    Date:   Thu Jul 5 16:20:04 2018 +0800

        Merge 90-multipath-hostonly and 90-multipath

    commit a695250ec7db21359689e50733c6581a8d211215
    Author: Kairui Song <kasong@redhat.com>
    Date:   Wed Jul 4 17:21:37 2018 +0800

        Introduce tri-state hostonly mode

multipath-hostonly module was introduced only for kdump, because kdump
need a more strict hostonly policy for multipath device to save memory.

Now multipath module will provide the behave we wanted by setting
hostonly mode to strict.
2018-07-26 19:25:09 +08:00
Kairui Song
6b479b6572 kdumpctl: Rebuild initramfs if loaded kernel modules changed
Currently, we only rebuilt kdump initramfs on config file change,
fs change, or watchdog related change. This will not cover the case
that hardware changed but fs layout and other configurations still
stays the same, and kdump may fail.

To cover such case, we can detect and compare loaded kernel modules,
if a hardware change requires the image to be rebuilt, loaded kernel
modules must have changed.

Starting from commit 7047294 dracut will record loaded kernel modules
when the image is built if hostonly mode is enabled.  With this patch,
kdumpctl will compare the recorded value with currently loaded kernel
modules, and rebuild the image on change.

"kdumpctl start" will be a bit slower, as we have to call lsinitrd one
more time to get the loaded kernel modules list. I measure the time
consumption and we have an overall 0.2s increased loading time.

Time consumption of command "kdumpctl restart":

Before:
real    0m0.587s
user    0m0.481s
sys     0m0.102s

After:
real    0m0.731s
user    0m0.591s
sys     0m0.133s

Time comsumption of command "kdumpctl restart" with image rebuild:

Before (force rebuild):
real    0m10.972s
user    0m8.966s
sys     0m1.318s

After (inserted ~100 new modules):
real    0m11.220s
user    0m9.387s
sys     0m1.337s

Signed-off-by: Kairui Song <kasong@redhat.com>
2018-07-26 19:25:09 +08:00
Fedora Release Engineering
3de202cfdb - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2018-07-13 07:00:01 +00:00
Dave Young
5350d31f56 Release 2.0.17-5 2018-07-09 12:48:20 +08:00
Dave Young
9913d44d9e Update makedumpfile 1.6.4 2018-07-09 12:45:31 +08:00
Pingfan Liu
6832be14f2 dracut-module-setup.sh: pass ip=either6 param for ipv6
Kdump always use _proto=dhcp for both ipv4 and ipv6.  But for ipv6
the dhcp address assignment is not like ipv4, there are different ways
for it, stateless and stateful, see below document:
https://fedoraproject.org/wiki/IPv6Guide

In case stateless, kernel can do the address assignment, dracut use
_proto=auto6;  for stateful case, dracut use _proto=dhcp6.
But it is hard to decide whether stateless or stateful takes effect,
hence, dracut introduces ip=either6 option, which can try both of these
method automatically for us. For detail, refer to dracut:
commit 67354ee 40network: introduce ip=either6 option

We do not see bug reports before because for the most auto6 cases
kernel assign ip address before dhclient, kdump just happened to work.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
2018-07-09 12:43:28 +08:00
Pingfan Liu
92db9cb9f2 dracut-module-setup.sh: install /etc/hosts when using fence_kdump
When using fence_kdump, module-setup will create a kdump.conf with
fence_kdump_nodes. The node name comes from the cluster xml, which may
use the hostname alias. Later in kdump stage, "fence_kdump_send alias_1
alias_2" sends out notification to peers. Hence it requires /etc/hosts
and nsswitch.conf to make alias work.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
2018-07-09 12:43:19 +08:00
Dave Young
e4a27dde51 Resolves: bz1594827
Fix installation error for kdump anaconda addon.
2018-06-27 15:09:58 +08:00
Dave Young
0dad02e4bb Release 2.0.17-3 2018-05-30 10:50:36 +08:00
Lianbo Jiang
1704064885 Add early kdump support in initramfs.
Kdump service starts too late, so early crashes will have no chance
to get kdump kernel booting, this will cause crash information to be
lost. It is necessary to add a dracut module in order to load crash
kernel and initramfs as early as possible. You can provide "rd.early
kdump" in grub commandline to enable, then the early kdump will load
those files like the normal kdump, which is disabled by default.

For the normal kdump service, it can check whether the early kdump
has loaded the crash kernel and initramfs. It has no conflict with
the early kdump.

If you rebuild the new initramfs for early kdump, the new initramfs
size will become large, because it will put the vmlinuz and kdump
initramfs into the new initramfs.

In addition, early kdump doesn't support fadump.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Reviewed-by: Kazuhito Hagio <khagio@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-05-29 10:19:19 +08:00
Lianbo Jiang
b1fbeebd08 move some common functions from kdumpctl to kdump-lib.sh
we move some common functions from kdumpctl to kdump-lib.sh, the
functions could be used in other modules, such as early kdump.
It has no bad effect.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Reviewed-by: Kazuhito Hagio <khagio@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-05-29 10:18:40 +08:00
Dave Young
3578c54ff2 Fix kdumpctl showmem
showmem function mistakenly added some noise character before the
real code, it could be some copy-paste error.

Fixes: 1a6cb43a19
2018-05-24 13:27:02 +08:00
Bhupesh Sharma
5221d4b90c kdumpctl: Remove 'netroot' and 'iscsi initiator' entries from kdump cmdline
In a iSCSI multipath environment (which uses iSCSI software initiator
and target environment) when the vmcore file is saved on the target,
kdump always fails to establish a iSCSI session and also fails to
collect dump due to duplicate entries for 'netroot' and
'iscsi initiator' in the kdump bootargs:

   # echo c > /proc/sysrq-trigger

   [83471.842707] SysRq : Trigger a crash
   [83471.843233] BUG: unable to handle kernel NULL pointer dereference at           (null)
   [83471.844155] IP: [<ffffffffac82ed16>] sysrq_handle_crash+0x16/0x20
   [83471.844931] PGD 800000023f710067 PUD 229fd6067 PMD 0
   [83471.845655] Oops: 0002 [#1] SMP

   <snip..>

   [83471.861889] Call Trace:
   [83471.862162]  [<ffffffffac82f53d>] __handle_sysrq+0x10d/0x170
   [83471.862771]  [<ffffffffac82f9af>] write_sysrq_trigger+0x2f/0x40
   [83471.863405]  [<ffffffffac690630>] proc_reg_write+0x40/0x80
   [83471.863984]  [<ffffffffac61acd0>] vfs_write+0xc0/0x1f0
   [83471.864536]  [<ffffffffac61baff>] SyS_write+0x7f/0xf0
   [83471.865075]  [<ffffffffacb1f7d5>] system_call_fastpath+0x1c/0x21
   [83471.865714] Code: eb 9b 45 01 f4 45 39 65 34 75 e5 4c 89 ef e8 e2 f7 ff ff eb db 0f 1f 44 00 00 55 48 89 e5 c7 05 41 47 81 00 01 00 00 00 0f ae f8 <c6> 04 25 00 00 00 00 01 5d c3 0f 1f 44 00 00 55 31 c0 c7 05 be
   [83471.868888] RIP  [<ffffffffac82ed16>] sysrq_handle_crash+0x16/0x20
   [83471.869700]  RSP <ffff9e7fe77b7e58>
   [83471.870074] CR2: 0000000000000000

   <snip..>

            Starting Login iSCSI Target iqn.2014-08.com.example:t1...
   [  OK  ] Stopped Login iSCSI Target iqn.2014-08.com.example:t1.
            Starting Login iSCSI Target iqn.2014-08.com.example:t1...
   [    6.607051] scsi host2: iSCSI Initiator over TCP/IP
   [FAILED] Failed to start Login iSCSI Target iqn.2014-08.com.example:t1.
   See 'systemctl status "iscsistart_\\x40...com.example:t1.service"' for details.
   [  126.572911] dracut-initqueue[243]: Warning: dracut-initqueue timeout - starting timeout scripts
            Stopping Open-iSCSI...
   [  OK  ] Stopped Open-iSCSI.
            Starting Open-iSCSI...
   [  OK  ] Started Open-iSCSI.
            Starting Login iSCSI Target iqn.2014-08.com.example:t1...
   [  OK  ] Stopped Login iSCSI Target iqn.2014-08.com.example:t1.
            Starting Login iSCSI Target iqn.2014-08.com.example:t1...
   [  131.095897] scsi host3: iSCSI Initiator over TCP/IP
   [FAILED] Failed to start Login iSCSI Target iqn.2014-08.com.example:t1.
   See 'systemctl status "iscsistart_\\x40...com.example:t1.service"' for details.
   [  251.085029] dracut-initqueue[243]: Warning: dracut-initqueue timeout - starting timeout scripts
   [  251.594554] dracut-initqueue[243]: Warning: dracut-initqueue timeout - starting timeout scripts

   <snip..>

This patch fixes the same by removing the 'netroot',
'rd.iscsi.initiator' and 'iscsi_initiator' entries from the kdump boot
cmdline.

One reason why this is safe is our kdump target setup does not
depend on 1st kernel inherited cmdline params now since the work
we dropped root dependency.

Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-05-21 14:09:17 +08:00
Pingfan Liu
1a6cb43a19 kdumpctl: add showmem cmd
port from rhel, original patch is contributed by Minfei Huang:

Using /sys to determines crashkernel actual size is confusing since
there is no unit of measure.

Add a new command "kdumpctl showmem" to show the reserved memory kindly.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Signed-off-by: Minfei Huang <mhuang@redhat.com>
Acked-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-05-21 14:06:30 +08:00
Dave Young
2884fed616 Revert "dracut-module-setup.sh: pass correct ip= param for ipv6"
This reverts commit 2f4149f276.

It is not proved to be right to get auto6 or dhcpv6 in 1st kernel,
pingfan is working on a dracut fix to do some fallback in 2nd kernel initramfs.
So revert this commit
2018-05-09 14:21:51 +08:00
Dave Young
a95fcea412 Release 2.0.17-2
Pull in makedumpfile 1.6.3
2018-04-28 14:41:25 +08:00
Dave Young
62999dab42 Add missing changelog in spec 2018-04-28 14:30:58 +08:00
Dave Young
6e25286a97 Release 2.0.17-1
Pull upstream 2.0.17
2018-04-26 13:19:12 +08:00
Dave Young
98cc66a34d Release 2.0.16-6 2018-04-08 17:03:04 +08:00
Pingfan Liu
c14ebf2676 kdump.sysconfig.ppc64(le): remove "root=" param from ppc64(le) 2nd kernel's command line
For ppc64(le), the default behavior of kexec always copy "root=" param,
but if dump target is ssh, there will no tools installed in kdump
rd, which help to mount root. As a result, kdump service will fail to
start. So explicitly disable the default behavior with --dt_no_old_root
option.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-03-22 16:15:08 +08:00
Lianbo Jiang
dbe8214586 kdumpctl: Check the modification time of core_collector
When core_collector is changed, the kdump initramfs needs to
be rebuilt before it is loaded.

Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2018-03-22 16:10:58 +08:00
Pingfan Liu
2f4149f276 dracut-module-setup.sh: pass correct ip= param for ipv6
Kdump always use _proto=dhcp for both ipv4 and ipv6.  But for ipv6
the dhcp address assignment is not like ipv4, there are different ways
for it, stateless and stateful, see below document:
https://fedoraproject.org/wiki/IPv6Guide

In case stateless, kernel can do the address assignment, dracut use
_proto=auto6;  for stateful case, dracut use _proto=dhcp6.

We do not see bug reports before because for the most auto6 cases
kernel assign ip address before dhclient, kdump just happened to work.

Here we use auto6 if possible first. And we take the assumption that
host use auto6 if /proc/sys/net/ipv6/conf/$netdev/autoconf is enabled

Signed-off-by: Pingfan Liu <piliu@redhat.com>
2018-03-15 10:06:51 +08:00
Igor Gnatenko
4d1e8aadc8
Escape macros in %changelog
Reference: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/Y2ZUKK2B7T2IKXPMODNF6HB2O5T5TS6H/
Signed-off-by: Igor Gnatenko <ignatenkobrain@fedoraproject.org>
2018-02-09 09:04:52 +01:00
Dave Young
13107c8084 Fix wrong changelog date 2018-02-07 12:26:19 +08:00
Dave Young
0ee2dc96a5 Release 2.0.16-4
-update anaconda addon migrate with Anaconda changes.
2018-02-07 11:29:16 +08:00
Dave Young
84311089a5 Release 2.0.16-3
Workaround a build failure (rhbz1520805)
2017-12-08 11:44:14 +08:00
Dave Young
919a3299ee Workaround a koji build failure
with below CFLAGS, kexec-tools can not build:
--specs=/usr/lib/rpm/redhat/redhat-annobin-cc1

segfault happened while strip the purgatory:

gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches  -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fno-strict-aliasing -Wall -Wstrict-prototypes -fno-zero-initialized-in-bss -mcmodel=large -Os -fno-builtin -ffreestanding -fno-zero-initialized-in-bss -fno-PIC -fno-PIE -fno-stack-protector -mcmodel=large -Wl,--no-undefined -nostartfiles -nostdlib -nodefaultlibs -e purgatory_start -r -Wl,-Map=purgatory/purgatory.map -o purgatory/purgatory.ro.sym purgatory/purgatory.o purgatory/printf.o purgatory/string.o purgatory/arch/x86_64/entry64-32.o purgatory/arch/x86_64/entry64.o purgatory/arch/x86_64/setup-x86_64.o purgatory/arch/x86_64/stack.o purgatory/arch/x86_64/purgatory-x86_64.o purgatory/arch/i386/entry32-16.o purgatory/arch/i386/entry32-16-debug.o purgatory/arch/i386/crashdump_backup.o purgatory/arch/i386/console-x86.o purgatory/arch/i386/vga.o purgatory/arch/i386/pic.o purgatory/sha256.o
strip --strip-debug -o purgatory/purgatory.ro purgatory/purgatory.ro.sym
make: *** [purgatory/Makefile:69: purgatory/purgatory.ro] Segmentation fault (core dumped)

koji build link:
https://kojipkgs.fedoraproject.org//work/tasks/6067/23536067/build.log

Reported rhbz1520805, a binutils bug is pending to be fixed,
Will revert this once binutils bug is fixed and usable in koji build system.

Signed-off-by: Dave Young <dyoung@redhat.com>
2017-12-08 11:42:30 +08:00
Dave Young
5604e2efb4 Release 2.0.16-2
Signed-off-by: Dave Young <dyoung@redhat.com>
2017-12-04 12:54:01 +08:00
Pingfan Liu
cde5944f93 kdumpctl: skip selinux-relabel for dracut_args --mount dump target
When using "dracut_args --mount" to specify dump target, e.g. nfs like:
    path /
    core_collector makedumpfile -d 31
    dracut_args --mount "host:/path /var/crash nfs defaults"
kdump service should neither guarantees the correctness, nor relabels it.

For current code, since dracut_args dump targets are likely not mounted
so kdump service mistakenly relabel the rootfs, which is meanless and
takes very long time.

Signed-off-by: Pingfan Liu <piliu@redhat.com>
2017-12-04 12:51:15 +08:00
Baoquan He
85156bfc66 Revert "kdumpctl: sanity check of nr_cpus for x86_64 in case running out of vectors"
This reverts commit 2040103bd7.

Reason is it's based on the environment of 1st kernel where all
present devices could be active and initialized during bootup.
Then all pci devices will request irqs. While kdump only brings
up those devices which are necessary for vmcore dumping. So this
commit is not meaningful and helpless to very large extent. And
it will print out 'Warning' when calculated result is larger than
1 cpu, actually it's a false positive report most of the time.

So revert the commit, and can check the git history for later
reference.

[dyoung]: on some machine this warning message shows up but
later we found the irq numbers with and without nr_cpus=1 is
quite different so this need more investigation since
the formula is not accurate.

Signed-off-by: Baoquan He <bhe@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2017-12-04 12:50:50 +08:00
Pingfan Liu
c755499fad dracut-module-setup.sh: check whether to include multipath-hostonly or not
Due to the following commit in dracut, which splits out hostonly modules
commit 5ce7cc7337a4c769b223152c083914f2052aa348
Author: Harald Hoyer <harald@redhat.com>
Date:   Mon Jul 10 13:28:40 2017 +0200

    add 90multipath-hostonly module

    hardcoding the wwid of the drives in the initramfs causes problems
    when the drives are cloned to a system with the same hardware, but
    different disk wwid's

    https://bugzilla.redhat.com/show_bug.cgi?id=1457311

So kdump should decide whether to include the hostonly module.
The multipath-hostonly can help kdump to include only the needed mpath device,
in order to use less memory by 2nd kernel.

---- The performance -----
before this patch
[root@localhost ~]# time kdumpctl start
Detected change(s) in the following file(s):

  /etc/kdump.conf
Rebuilding /boot/initramfs-4.13.9-300.fc27.x86_64kdump.img
kexec: loaded kdump kernel
Starting kdump: [OK]

real    0m12.485s
user    0m10.096s
sys     0m1.887s

after this patch

root@localhost ~]# time kdumpctl start
Detected change(s) in the following file(s):

  /etc/kdump.conf
Rebuilding /boot/initramfs-4.13.9-300.fc27.x86_64kdump.img
kexec: loaded kdump kernel
Starting kdump: [OK]

real    0m15.839s
user    0m13.015s
sys     0m1.853s

Signed-off-by: Pingfan Liu <piliu@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2017-11-24 13:58:28 +08:00
Dave Young
bdd2ac6b93 Release 2.0.16-1
Signed-off-by: Dave Young <dyoung@redhat.com>
2017-11-21 12:54:35 +08:00
Dave Young
d3577e3394 Revert "Use absolute path /usr/bin/dracut in mkdumprd"
This reverts commit 8e3b6475c9.

After reading the background of bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=1510922

It is not a problem actually, sorry for the noise.

Although root set different "PATH" can lead to wrong script, but it is
different with what the bug described "current working dir" and it is
not a problem worth an update
2017-11-09 15:29:22 +08:00
Dave Young
a2d284eea8 Release 2.0.15-15 2017-11-09 13:46:34 +08:00
Dave Young
8e3b6475c9 Use absolute path /usr/bin/dracut in mkdumprd
Since we call dracut directly on current working directory "." so it is
possible to trick root to call fake code.

Thus move to use absolute path instead.

Signed-off-by: Dave Young <dyoung@redhat.com>
Acked-by: Bhupesh Sharma <bhsharma@redhat.com>
2017-11-09 13:46:13 +08:00
Dave Young
823c962ff1 Release 2.0.15-14 2017-10-11 09:59:00 +08:00
Bhupesh Sharma
cb3d1c1c3f kdumpctl: Error out in case there are white spaces before an option name
Resolves: BZ1484945
https://bugzilla.redhat.com/show_bug.cgi?id=1484945

Currently the kdumpctl script doesn't handle
whitespaces (including TABs) which might be there before
an option name in the kdump.conf

This patch addresses this issue, by ensuring that the
kdumpctl errors out in case it finds any stray space(s)
or tab(s) before a option name.

Reported-by: Kenneth D'souza <kdsouza@redhat.com>
Signed-off-by: Bhupesh Sharma <bhsharma@redhat.com>
Acked-by: Pratyush Anand <panand@redhat.com>
Acked-by: Dave Young <dyoung@redhat.com>
2017-10-11 09:57:31 +08:00
155 changed files with 3124 additions and 13973 deletions

32
.editorconfig Normal file
View file

@ -0,0 +1,32 @@
# EditorConfig configuration for kexec-tools
# http://EditorConfig.org
# Top-most EditorConfig file
root = true
# Default code style for kexec-tools scripts
[*]
end_of_line = lf
shell_variant = posix
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = tab
indent_size = 1
switch_case_indent = false
function_next_line = true
binary_next_line = false
space_redirects = true
# Some scripts will only run with bash
[{mkfadumprd,mkdumprd,kdumpctl,kdump-lib.sh}]
shell_variant = bash
# Use dracut code style for *-module-setup.sh
[*-module-setup.sh,dracut-early-kdump.sh]
shell_variant = bash
indent_style = space
indent_size = 4
switch_case_indent = true
function_next_line = false
binary_next_line = true
space_redirects = true

1
.gitignore vendored
View file

@ -21,3 +21,4 @@
/kexec-tools-2.0.11.tar.xz
/makedumpfile-1.5.9.tar.gz
/kexec-tools-2.0.12.tar.xz
coverage/

36
.packit.yaml Normal file
View file

@ -0,0 +1,36 @@
# See the documentation for more information:
# https://packit.dev/docs/configuration/
upstream_project_url: https://github.com/horms/kexec-tools.git
specfile_path: kexec-tools.spec
# add or remove files that should be synced
files_to_sync:
- kexec-tools.spec
- .packit.yaml
# name in upstream package repository or registry (e.g. in PyPI)
upstream_package_name: kexec-tools
# downstream (Fedora) RPM package name
downstream_package_name: kexec-tools
upstream_tag_template: v{version}
jobs:
- job: pull_from_upstream
trigger: release
dist_git_branches:
- fedora-all
- job: koji_build
trigger: commit
allowed_pr_authors: ["all_committers", "packit"]
dist_git_branches:
- fedora-all
- job: bodhi_update
trigger: commit
allowed_builders: ["all_committers", "packit"]
dist_git_branches:
- fedora-all

View file

@ -1,4 +0,0 @@
SUBSYSTEM=="cpu", ACTION=="add", PROGRAM="/bin/systemctl try-restart kdump.service"
SUBSYSTEM=="cpu", ACTION=="remove", PROGRAM="/bin/systemctl try-restart kdump.service"
SUBSYSTEM=="memory", ACTION=="online", PROGRAM="/bin/systemctl try-restart kdump.service"
SUBSYSTEM=="memory", ACTION=="offline", PROGRAM="/bin/systemctl try-restart kdump.service"

3
README.packit Normal file
View file

@ -0,0 +1,3 @@
This repository is maintained by packit.
https://packit.dev/
The file was generated using packit 1.11.0.post1.dev7+gfdcdf3a32.

View file

@ -1,79 +0,0 @@
NAME = kdump-anaconda-addon
ADDON = com_redhat_kdump
TESTS = test
FILES = $(ADDON) \
po \
Makefile \
README
EXCLUDES = \
*~ \
*.pyc
all:
@echo "usage: make dist"
@echo " make test"
@echo " make install"
@echo " make uninstall"
DISTNAME = $(NAME)-$(shell date +%Y%m%d)
ADDONDIR = /usr/share/anaconda/addons/
DISTBALL = $(DISTNAME).tar.gz
NUM_PROCS = $$(getconf _NPROCESSORS_ONLN)
install:
mkdir -p $(DESTDIR)$(ADDONDIR)
cp -rv $(ADDON) $(DESTDIR)$(ADDONDIR)
make install-po-files
uninstall:
rm -rfv $(DESTDIR)$(ADDONDIR)
dist:
rm -rf $(NAME)
mkdir -p $(NAME)
@if test -d ".git"; \
then \
echo Creating ChangeLog && \
( cd "$(top_srcdir)" && \
echo '# Generate automatically. Do not edit.'; echo; \
git log --stat --date=short ) > ChangeLog.tmp \
&& mv -f ChangeLog.tmp $(NAME)/ChangeLog \
|| ( rm -f ChangeLog.tmp ; \
echo Failed to generate ChangeLog >&2 ); \
else \
echo A git clone is required to generate a ChangeLog >&2; \
fi
for file in $(FILES); do \
cp -rpv $$file $(NAME)/$$file; \
done
for excl in $(EXCLUDES); do \
find $(NAME) -name "$$excl" -delete; \
done
tar -czvf ../$(DISTBALL) $(NAME)
rm -rf $(NAME)
potfile:
$(MAKE) DESTDIR=$(DESTDIR) -C po potfile
po-pull:
tx pull -a --disable-overwrite
install-po-files:
$(MAKE) -C po install
test:
@echo "***Running pylint checks***"
@find . -name '*.py' -print|xargs -n1 --max-procs=$(NUM_PROCS) pylint -E 2> /dev/null
@echo "[ OK ]"
@echo "***Running unittests checks***"
@PYTHONPATH=. nosetests --processes=-1 -vw tests/
runpylint:
@find . -name '*.py' -print|xargs -n1 --max-procs=$(NUM_PROCS) pylint -E 2> /dev/null
@echo "[ OK ]"
unittest:
PYTHONPATH=. nosetests --processes=-1 -vw tests/

View file

@ -1,29 +0,0 @@
This is an anaconda addon for configuring kdump. To use, copy the
com_redhat_kdump directory into /usr/share/anaconda/addons on your
installation media.
The syntax of the addon's kickstart section is:
%addon com_redhat_kdump (--enable|--disable) --reserve-mb=("auto"|<amount>)
%end
Note that support for arguments on the %addon line was added in
anaconda-21.23. See anaconda commit 3a512e4f9e15977f0ce2d0bbe39e841b881398f3,
https://bugzilla.redhat.com/show_bug.cgi?id=1065674
How to test the kdump-anaconda-addon?
You can provide an updates image in the kernel boot arguments as updates=,
and the contents will be added to the stage2 filesystem.
https://fedoraproject.org/wiki/Anaconda/Updates has more details, but usually
the easiest is to make it available via HTTP or FTP and provide a url to updates=.
The file is a gzip-compressed cpio archive, and the files need to be put into
stage2 in /usr/share/anaconda/addons, so something like this will work to create
an updates.img:
mkdir -p updates/usr/share/anaconda/addons
cp -r com_redhat_kdump updates/usr/share/anaconda/addons/
( cd updates; find . | cpio -oc | gzip -c9 ) > updates.img
then you can upload the updates.img to some http or ftp server so the anaconda
can get it by boot parameter as updates=http://some.website.com/path/to/updates.img.

View file

@ -1,88 +0,0 @@
# Kdump configuration common methods
#
# Copyright (C) 2014 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
# Red Hat Author(s): David Shea <dshea@redhat.com>
#
import os
__all__ = ["getReservedMemory", "getTotalMemory", "getMemoryBounds", "getOS"]
from pyanaconda.isys import total_memory
from pyanaconda.flags import flags
from com_redhat_kdump.constants import OS_RELEASE
_reservedMemory = None
def getReservedMemory():
"""Return the amount of memory currently reserved for kdump in MB."""
global _reservedMemory
# Check if the value has already been read
if _reservedMemory is not None:
return _reservedMemory
try:
with open("/sys/kernel/kexec_crash_size", "r") as fobj:
_reservedMemory = int(fobj.read()) / (1024*1024)
return _reservedMemory
except (ValueError, IOError):
return 0
def getTotalMemory():
"""Return the total amount of system memory in MB
This is the amount reported by /proc/meminfo plus the aount
currently reserved for kdump.
"""
# total_memory return memory in KB, convert to MB
availMem = total_memory() / 1024
return availMem + getReservedMemory()
def getMemoryBounds():
"""Return a tuple of (lower, upper, step) for kdump reservation limits.
If there is not enough memory available to use kdump, both lower and
upper will be 0.
"""
totalMemory = getTotalMemory()
if flags.targetarch == 'ppc64':
lowerBound = 256
minUsable = 1024
step = 1
else:
lowerBound = 128
minUsable = 256
step = 1
upperBound = (totalMemory - minUsable) - (totalMemory % step)
if upperBound < lowerBound:
upperBound = lowerBound = 0
return (lowerBound, upperBound, step)
def getOS():
with open(os.path.normpath(OS_RELEASE), "r") as fobj:
line = fobj.readline()
if not "Fedora" in line:
return "redhat"
else:
return "fedora"

View file

@ -1,23 +0,0 @@
# Kdump configuration constants
#
# Copyright (C) 2014 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
# Red Hat Author(s): David Shea <dshea@redhat.com>
#
# The location of the kdump config file
OS_RELEASE = "/etc/os-release"

View file

@ -1,274 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface domain="kdump-anaconda-addon">
<requires lib="gtk+" version="3.6"/>
<!-- interface-requires AnacondaWidgets 1.0 -->
<object class="AnacondaSpokeWindow" id="KdumpWindow">
<property name="startup_id">filler</property>
<property name="can_focus">False</property>
<property name="startup_id">filler</property>
<property name="window_name" translatable="yes">KDUMP</property>
<signal name="button-clicked" handler="on_back_clicked" swapped="no"/>
<child internal-child="main_box">
<object class="GtkBox" id="AnacondaSpokeWindow-main_box1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child internal-child="nav_box">
<object class="GtkEventBox" id="AnacondaSpokeWindow-nav_box1">
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<child internal-child="nav_area">
<object class="GtkGrid" id="AnacondaSpokeWindow-nav_area1">
<property name="can_focus">False</property>
<property name="margin_left">6</property>
<property name="margin_right">6</property>
<property name="margin_top">6</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child internal-child="alignment">
<object class="GtkAlignment" id="AnacondaSpokeWindow-alignment1">
<property name="can_focus">False</property>
<property name="yalign">0</property>
<child internal-child="action_area">
<object class="GtkBox" id="AnacondaSpokeWindow-action_area1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="orientation">vertical</property>
<property name="spacing">10</property>
<child>
<object class="GtkLabel" id="summaryLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Kdump is a kernel crash dumping mechanism. In the event of a system crash, kdump will capture information from your system that can be invaluable in determining the cause of the crash. Note that kdump does require reserving a portion of system memory that will be unavailable for other uses.</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkCheckButton" id="enableKdumpCheck">
<property name="label" translatable="yes">_Enable kdump?</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_enable_kdump_toggled" swapped="no"/>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">3</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="reservationTypeLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Kdump Memory Reservation:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="autoButton">
<property name="label" translatable="yes">_Automatic</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_reservation_toggled" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkRadioButton" id="manualButton">
<property name="label" translatable="yes">_Manual</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<property name="group">autoButton</property>
<signal name="toggled" handler="on_reservation_toggled" swapped="no"/>
</object>
<packing>
<property name="left_attach">2</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="toBeReservedLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Memory To Be _Reserved (MB):</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">toBeReservedSpin</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="toBeReservedSpin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="input_purpose">digits</property>
<property name="update_policy">if-valid</property>
<signal name="value-changed" handler="on_reserved_value_changed" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="totalMemLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Total System Memory (MB):</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="totalMemMB">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="usableMemLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Usable System Memory (MB):</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="usableMemMB">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</interface>

View file

@ -1,218 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.16.1 -->
<interface domain="kdump-anaconda-addon">
<requires lib="gtk+" version="3.6"/>
<!-- interface-requires AnacondaWidgets 1.0 -->
<object class="AnacondaSpokeWindow" id="KdumpWindow">
<property name="startup_id">filler</property>
<property name="can_focus">False</property>
<property name="startup_id">filler</property>
<property name="window_name" translatable="yes">KDUMP</property>
<signal name="button-clicked" handler="on_back_clicked" swapped="no"/>
<child internal-child="main_box">
<object class="GtkBox" id="AnacondaSpokeWindow-main_box1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child internal-child="nav_box">
<object class="GtkEventBox" id="AnacondaSpokeWindow-nav_box1">
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<child internal-child="nav_area">
<object class="GtkGrid" id="AnacondaSpokeWindow-nav_area1">
<property name="can_focus">False</property>
<property name="margin_left">6</property>
<property name="margin_right">6</property>
<property name="margin_top">6</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
<property name="position">0</property>
</packing>
</child>
<child internal-child="alignment">
<object class="GtkAlignment" id="AnacondaSpokeWindow-alignment1">
<property name="can_focus">False</property>
<property name="yalign">0</property>
<child internal-child="action_area">
<object class="GtkBox" id="AnacondaSpokeWindow-action_area1">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">6</property>
<child>
<object class="GtkBox" id="box1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">10</property>
<property name="orientation">vertical</property>
<property name="spacing">10</property>
<child>
<object class="GtkLabel" id="summaryLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Kdump is a kernel crash dumping mechanism. In the event of a system crash, kdump will capture information from your system that can be invaluable in determining the cause of the crash. Note that kdump does require reserving a portion of system memory that will be unavailable for other uses.</property>
<property name="wrap">True</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkLabel" id="toBeReservedLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Memory To Be _Reserved (MB):</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">toBeReservedSpin</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkSpinButton" id="toBeReservedSpin">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="input_purpose">digits</property>
<property name="update_policy">if-valid</property>
<signal name="value-changed" handler="on_reserved_value_changed" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="totalMemLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Total System Memory (MB):</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="totalMemMB">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="usableMemLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Usable System Memory (MB):</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="usableMemMB">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="enableKdumpCheck">
<property name="label" translatable="yes">_Enable kdump?</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="yalign">0</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_enable_kdump_toggled" swapped="no"/>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</interface>

View file

@ -1,192 +0,0 @@
# Kdump anaconda configuration
#
# Copyright (C) 2014 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
# Red Hat Author(s): David Shea <dshea@redhat.com>
#
"""Kdump anaconda GUI configuration"""
from gi.repository import Gtk
from pyanaconda.ui.gui.categories.system import SystemCategory
from pyanaconda.ui.gui.spokes import NormalSpoke
from pyanaconda.ui.gui.utils import fancy_set_sensitive
from com_redhat_kdump.i18n import _, N_
from com_redhat_kdump.common import getReservedMemory, getTotalMemory, getMemoryBounds, getOS
__all__ = ["KdumpSpoke"]
class KdumpSpoke(NormalSpoke):
"""Kdump configuration spoke"""
builderObjects = ["KdumpWindow", "advancedConfigBuffer"]
mainWidgetName = "KdumpWindow"
uiFile = "RHEL.glade"
translationDomain = "kdump-anaconda-addon"
icon = "computer-fail-symbolic"
title = N_("KDUMP")
category = SystemCategory
OS = "redhat"
def __init__(self, data, storage, payload, instclass):
KdumpSpoke.OS = getOS()
if KdumpSpoke.OS == "fedora":
KdumpSpoke.uiFile = "fedora.glade"
NormalSpoke.__init__(self, data, storage, payload, instclass)
self._reserveMem = 0
def initialize(self):
NormalSpoke.initialize(self)
self._enableButton = self.builder.get_object("enableKdumpCheck")
KdumpSpoke.OS = getOS()
if KdumpSpoke.OS == "redhat":
self._reservationTypeLabel = self.builder.get_object("reservationTypeLabel")
self._autoButton = self.builder.get_object("autoButton")
self._manualButton = self.builder.get_object("manualButton")
self._toBeReservedLabel = self.builder.get_object("toBeReservedLabel")
self._toBeReservedSpin = self.builder.get_object("toBeReservedSpin")
self._totalMemLabel = self.builder.get_object("totalMemLabel")
self._totalMemMB = self.builder.get_object("totalMemMB")
self._usableMemLabel = self.builder.get_object("usableMemLabel")
self._usableMemMB = self.builder.get_object("usableMemMB")
# Set an initial value and adjustment on the spin button
lower, upper, step = getMemoryBounds()
adjustment = Gtk.Adjustment(lower, lower, upper, step, step, 0)
self._toBeReservedSpin.set_adjustment(adjustment)
self._toBeReservedSpin.set_value(lower)
def refresh(self):
# If a reserve amount is requested, set it in the spin button
if self.data.addons.com_redhat_kdump.reserveMB != "auto":
# Strip the trailing 'M'
reserveMB = self.data.addons.com_redhat_kdump.reserveMB
if reserveMB and reserveMB[-1] == 'M':
reserveMB = reserveMB[:-1]
if reserveMB:
self._toBeReservedSpin.set_value(int(reserveMB))
# Set the various labels. Use the spin button signal handler to set the
# usable memory label once the other two have been set.
self._totalMemMB.set_text("%d" % getTotalMemory())
self._toBeReservedSpin.emit("value-changed")
# Set the states on the toggle buttons and let the signal handlers set
# the sensitivities on the related widgets. Set the radio button first,
# since the radio buttons' bailiwick is a subset of that of the
# enable/disable checkbox.
if KdumpSpoke.OS == "redhat":
if self.data.addons.com_redhat_kdump.reserveMB == "auto":
self._autoButton.set_active(True)
self._manualButton.set_active(False)
else:
self._autoButton.set_active(False)
self._manualButton.set_active(True)
if self.data.addons.com_redhat_kdump.enabled:
self._enableButton.set_active(True)
else:
self._enableButton.set_active(False)
# Force a toggled signal on the button in case it's state has not changed
self._enableButton.emit("toggled")
def apply(self):
# Copy the GUI state into the AddonData object
self.data.addons.com_redhat_kdump.enabled = self._enableButton.get_active()
if KdumpSpoke.OS == "redhat" and self._autoButton.get_active():
reserveMem = "auto"
else:
reserveMem = "%dM" % self._toBeReservedSpin.get_value_as_int()
self.data.addons.com_redhat_kdump.reserveMB = reserveMem
@property
def ready(self):
return True
@property
def completed(self):
# Always treat as completed
return True
@property
def mandatory(self):
return False
@property
def status(self):
if self.data.addons.com_redhat_kdump.enabled:
state = _("Kdump is enabled")
else:
state = _("Kdump is disabled")
return state
# SIGNAL HANDLERS
def on_enable_kdump_toggled(self, checkbutton, user_data=None):
status = checkbutton.get_active()
# If disabling, set everything to insensitve. Otherwise, only set the radio
# button and currently reserved widgets to sensitive and then fake a
# toggle event on the radio button to set the state on the reserve
# amount spin button and total/usable mem display.
if KdumpSpoke.OS == "redhat":
self._autoButton.set_sensitive(status)
self._manualButton.set_sensitive(status)
self._reservationTypeLabel.set_sensitive(status)
if not status:
fancy_set_sensitive(self._toBeReservedSpin, status)
self._totalMemLabel.set_sensitive(status)
self._totalMemMB.set_sensitive(status)
self._usableMemLabel.set_sensitive(status)
self._usableMemMB.set_sensitive(status)
elif KdumpSpoke.OS == "redhat":
self._autoButton.emit("toggled")
else:
fancy_set_sensitive(self._toBeReservedSpin, True)
self._totalMemLabel.set_sensitive(True)
self._totalMemMB.set_sensitive(True)
self._usableMemLabel.set_sensitive(True)
self._usableMemMB.set_sensitive(True)
def on_reservation_toggled(self, radiobutton, user_data=None):
status = self._manualButton.get_active()
# If setting to auto, disable the manual config spinner and
# the total/usable memory labels
fancy_set_sensitive(self._toBeReservedSpin, status)
self._totalMemLabel.set_sensitive(status)
self._totalMemMB.set_sensitive(status)
self._usableMemLabel.set_sensitive(status)
self._usableMemMB.set_sensitive(status)
def on_reserved_value_changed(self, spinbutton, user_data=None):
reserveMem = spinbutton.get_value_as_int()
totalMemText = self._totalMemMB.get_text()
# If no total memory is available yet, do nothing
if totalMemText:
totalMem = int(self._totalMemMB.get_text())
self._usableMemMB.set_text("%d" % (totalMem - reserveMem))

View file

@ -1,27 +0,0 @@
# Kdump configuration translation functions
#
# Copyright (C) 2014 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
# Red Hat Author(s): David Shea <dshea@redhat.com>
#
__all__ = ["_", "N_"]
import gettext
_ = lambda x: gettext.ldgettext("kdump-anaconda-addon", x)
N_ = lambda x: x

View file

@ -1,128 +0,0 @@
# Kdump anaconda configuration
#
# Copyright (C) 2014 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
# Red Hat Author(s): David Shea <dshea@redhat.com>
#
import os
from pyanaconda.addons import AddonData
from pyanaconda.constants import ROOT_PATH
from pyanaconda import iutil
from pykickstart.options import KSOptionParser
from pykickstart.errors import KickstartParseError, formatErrorMsg
from com_redhat_kdump.common import getOS, getMemoryBounds
from com_redhat_kdump.i18n import _
__all__ = ["KdumpData"]
class KdumpData(AddonData):
"""Addon data for the kdump configuration"""
def __init__(self, name):
AddonData.__init__(self, name)
self.enabled = True
self.reserveMB = "auto"
if getOS() == "fedora":
self.enabled = False
lower, upper, step = getMemoryBounds()
self.reserveMB = "%d" % lower
def __str__(self):
addon_str = "%%addon %s" % self.name
if self.enabled:
addon_str += " --enable"
else:
addon_str += " --disable"
if self.reserveMB:
addon_str += " --reserve-mb='%s'" % self.reserveMB
addon_str += "\n%s\n%%end\n" % self.content.strip()
return addon_str
def setup(self, storage, ksdata, instClass):
# Clear any existing crashkernel bootloader arguments
if ksdata.bootloader.appendLine:
ksdata.bootloader.appendLine = ' '.join(
(arg for arg in ksdata.bootloader.appendLine.split() \
if not arg.startswith('crashkernel=')))
# Copy our reserved amount to the bootloader arguments
if self.enabled:
# Ensure that the amount is "auto" or an amount in MB
if self.reserveMB != "auto" and self.reserveMB[-1] != 'M':
self.reserveMB += 'M'
ksdata.bootloader.appendLine += ' crashkernel=%s' % self.reserveMB
# Do the same thing with the storage.bootloader.boot_args set
if storage.bootloader.boot_args:
crashargs = [arg for arg in storage.bootloader.boot_args \
if arg.startswith('crashkernel=')]
storage.bootloader.boot_args -= set(crashargs)
if self.enabled:
storage.bootloader.boot_args.add('crashkernel=%s' % self.reserveMB)
ksdata.packages.packageList.append("kexec-tools")
def handle_header(self, lineno, args):
op = KSOptionParser()
op.add_option("--enable", action="store_true", default=True,
dest="enabled", help="Enable kdump")
op.add_option("--disable", action="store_false",
dest="enabled", help="Disable kdump")
op.add_option("--reserve-mb", type="string", dest="reserveMB",
default="auto", help="Amount of memory in MB to reserve for kdump, or auto")
(opts, extra) = op.parse_args(args=args, lineno=lineno)
# Reject any additional arguments
if extra:
AddonData.handle_header(self, lineno, extra)
# Validate the reserve-mb argument
if opts.reserveMB != "auto":
# Allow a final 'M' for consistency with the crashkernel kernel
# parameter. Strip it if found.
if opts.reserveMB and opts.reserveMB[-1] == 'M':
opts.reserveMB = opts.reserveMB[:-1]
try:
_test = int(opts.reserveMB)
except ValueError:
msg = _("Invalid value %s for --reserve-mb") % opts.reserveMB
if lineno != None:
raise KickstartParseError(formatErrorMsg(lineno, msg=msg))
else:
raise KickstartParseError(msg)
# Store the parsed arguments
self.enabled = opts.enabled
self.reserveMB =opts.reserveMB
def execute(self, storage, ksdata, instClass, users):
if self.enabled:
action = "enable"
else:
action = "disable"
iutil.execWithRedirect("systemctl", [action, "kdump.service"], root=ROOT_PATH)

View file

@ -1,87 +0,0 @@
# Kdump anaconda configuration
#
# Copyright (C) 2013 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
# Red Hat Author(s): David Shea <dshea@redhat.com>
#
"""Kdump anaconda TUI configuration"""
import re
from pyanaconda.ui.tui.spokes import EditTUISpoke
from pyanaconda.ui.tui.spokes import EditTUISpokeEntry as Entry
from com_redhat_kdump.common import getOS, getMemoryBounds
from com_redhat_kdump.i18n import N_, _
__all__ = ["KdumpSpoke"]
class _re:
def __init__(self, patten, low, up):
self.re = re.compile(patten)
self.low = low
self.up = up
def match(self, key):
if self.re.match(key):
if key == "auto":
return True
if key[-1] == 'M':
key = key[:-1]
key = int(key)
if key <= self.up and key >= self.low :
return True
return False
lower, upper ,step = getMemoryBounds()
# Allow either "auto" or a string of digits optionally followed by 'M'
RESERVE_VALID = _re(r'^((auto)|(\d+M?))$', lower, upper)
FEDORA_RESERVE_VALID = _re(r'^(\d+M?)$', lower, upper)
class KdumpSpoke(EditTUISpoke):
title = N_("Kdump")
category = "system"
edit_fields = [
Entry("Enable kdump", "enabled", EditTUISpoke.CHECK, True),
Entry("Reserve amount", "reserveMB", RESERVE_VALID, lambda self,args: args.enabled)
]
def __init__(self, app, data, storage, payload, instclass):
if getOS() == "fedora":
KdumpSpoke.edit_fields = [
Entry("Enable kdump", "enabled", EditTUISpoke.CHECK, True),
Entry("Reserve amount", "reserveMB", FEDORA_RESERVE_VALID, lambda self,args: args.enabled)
]
EditTUISpoke.__init__(self, app, data, storage, payload, instclass)
self.args = self.data.addons.com_redhat_kdump
def apply(self):
pass
@property
def completed(self):
return True
@property
def status(self):
if self.args.enabled:
state = _("Kdump is enabled")
else:
state = _("Kdump is disabled")
return state

View file

@ -1,75 +0,0 @@
#
# Makefile for the PO files (translation) catalog
#
# $Id$
TOP = ../..
# What is this package?
NLSPACKAGE = kdump-anaconda-addon
POTFILE = $(NLSPACKAGE).pot
INSTALL = /usr/bin/install -c
INSTALL_DATA = $(INSTALL) -m 644
INSTALL_DIR = /usr/bin/install -d
# destination directory
INSTALL_NLS_DIR = $(DESTDIR)/usr/share/locale
# PO catalog handling
MSGMERGE = msgmerge -v
XGETTEXT = xgettext --default-domain=$(NLSPACKAGE) \
--add-comments
MSGFMT = msgfmt --statistics --verbose
# What do we need to do
POFILES = $(wildcard ./*.po)
MOFILES = $(patsubst %.po,%.mo,$(POFILES))
PYSRC = $(wildcard ../com_redhat_kdump/*.py ../com_redhat_kdump/*/*.py ../com_redhat_kdump/*/*/*.py)
GLADEFILES = $(wildcard ../com_redhat_kdump/gui/spokes/*.glade)
all:: update-po $(MOFILES)
potfile: $(PYSRC) glade-po
$(XGETTEXT) -L Python --keyword=_ --keyword=N_ $(PYSRC) tmp/*.h
@if cmp -s $(NLSPACKAGE).po $(POTFILE); then \
rm -f $(NLSPACKAGE).po; \
else \
mv -f $(NLSPACKAGE).po $(POTFILE); \
fi; \
rm -rf tmp/
glade-po: $(GLADEFILES)
rm -rf tmp/
for f in $(GLADEFILES); do \
intltool-extract --type=gettext/glade -l $$f ;\
done
update-po: Makefile refresh-po potfile
refresh-po: Makefile
for cat in $(POFILES); do \
if $(MSGMERGE) $$cat $(POTFILE) --out=$$cat ; then \
echo "$(MSGMERGE) of $$cat succeeded" ; \
else \
echo "$(MSGMERGE) of $$cat failed" ; \
fi \
done
clean:
@rm -fv *mo *~ .depend
@rm -rf tmp
install: $(MOFILES)
@for n in $(MOFILES); do \
l=`basename $$n .mo`; \
$(INSTALL_DIR) $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES; \
$(INSTALL_DATA) --verbose $$n $(INSTALL_NLS_DIR)/$$l/LC_MESSAGES/$(NLSPACKAGE).mo; \
done
uninstall:
rm -rfv $(INSTALL_NLS_DIR)/*/LC_MESSAGES/$(NLSPACKAGE).mo
%.mo: %.po
$(MSGFMT) -o $@ $<
.PHONY: missing depend

View file

@ -1,79 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=6; plural= n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,119 +0,0 @@
# translation of as.po to Assamese
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Amitakhya Phukan <aphukan@redhat.com>, 2007.
# ngoswami <ngoswami@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-11 03:18-0500\n"
"Last-Translator: ngoswami <ngoswami@fedoraproject.org>\n"
"Language-Team: Assamese\n"
"Language: as\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n!=1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump এটা কাৰনেলৰ বিজুতি জমা কৰাৰ যন্ত্ৰকৌশল। চিস্টেমৰ বিজুতিৰ ঘটনাত, kdump এ "
"আপোনাৰ চিস্টেমৰ পৰা তথ্য গ্ৰহণ কৰিব যি বিজুতিৰ কাৰণ গম পোৱাত অমূল্য হ'ব। মন কৰিব "
"যে kdump ক চিস্টেমৰ মেমৰি এটা অংশ সংৰক্ষণ কৰিব যি অন্য কাৰ্য্যৰ বাবে পোৱা নাযাব।"
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "সংৰক্ষণ কৰিবলে মেমৰি (MB) (_R):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "চিস্টেমৰ মুঠ মেমৰি (MB) :"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "ব্যৱহাৰযোগ্য চিস্টেমৰ মেমৰি (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdump সামৰ্থবান কৰিব নে (_E)?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump ৰ মেমৰি সংৰক্ষণ:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "স্বচালিত (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "হস্তচালিত (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "বৰ্তমানে সংৰক্ষিত মেমৰি (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "উন্নত kdump সংৰূপ"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "ক্ষমা কৰিব, kdump ফলপ্ৰসু হোৱাৰ বাবে আপোনাৰ চিস্টেমৰ পৰ্যাপ্ত মেমৰি নাই!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "ক্ষমা কৰিব, Xen কাৰ্ণেলসমূহে এই সময়ত kdump সমৰ্থন নকৰে!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "ক্ষমা কৰিব, %s স্থাপত্যই এই সময়ত kdump ৰ সমৰ্থন নকৰে!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Kdump ৰ পছন্দৰ সলনি কৰিলে চিস্টেম পুনাৰম্ভ কৰাৰ প্ৰয়োজন যাতে মেমৰি আবন্টন কৰিব "
#~ "পাৰি। আপুনি এই সলনিৰ সৈতে আগবাঢ়ি firstboot সম্পূৰ্ণ হোৱাৰ পিছত চিস্টেম পুনাৰম্ভ "
#~ "কৰিব খোজে নে?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "ত্ৰুটি! বুটল'ডাৰৰ কোনো বিন্যাস ফাইল পোৱা নগ'ল, বিন্যাস কৰা বাতিল কৰা হৈছে!"

View file

@ -1,118 +0,0 @@
# translation of bg.pot to Bulgarian
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Doncho N. Gunchev <gunchev@gmail.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-03-12 12:47-0400\n"
"Last-Translator: Doncho N. Gunchev <gunchev@gmail.com>\n"
"Language-Team: Bulgarian <Bulgarian Translators' Team <dict@fsa-bg.org>>\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump механизъм за стоварване (запис) на ядрото при блокиране. В случай на "
"блокиране, kdump ще прихване информация от вашата система, която може да "
"бъде незаменима при откриване причината за това. Забележете, че kdump "
"изисква резервиране на част от системната памет, която няма да бъде достъпна "
"за други цели."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Общо системна памет (МБ):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Използваема системна памет (МБ):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump памет (МБ):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "За съжаление вашата система няма достатъчно памет за да бъде kdump "
#~ "приложим!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Съжаляваме, Xen ядрата не поддържат kdump за момента!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Съжаляваме, архитектурата %s не поддържа kdump за момента!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Промяната на настройките на Kdump изисква рестартиране на системата за "
#~ "заделяне на съответстваща памет. %sЖелаете ли да продължите с тази "
#~ "промяна и рестарт на системата след приключване на firstboot?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Грешка! Не е намерен конфигурационния файл за начално зареждане, "
#~ "конфигурацията няма да продължи!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,124 +0,0 @@
# translation of bn_IN.po to Bengali (India)
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
#
# Runa Bhattacharjee <runab@redhat.com>, 2007.
# translation of bn_IN.po to Bengali INDIA
# Runa Bhattacharjee <runab@redhat.com>, 2007, 2010.
# sray <sray@redhat.com>, 2013. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2013-12-03 12:14-0500\n"
"Last-Translator: sray <sray@redhat.com>\n"
"Language-Team: Bengali INDIA <anubad@lists.ankur.org.in>\n"
"Language: bn-IN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 3.1.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump মূলত কার্নেল বিপর্যের সময়কার ডাম্পিং ব্যবস্থা। সিস্টেম বিপর্যস্ত হলে kdump "
"আপনার সিস্টেমের তথ্য সংগ্রহ করবে। বিপর্যয়ের কারণ নির্ণয়ের সময় এই তথ্য অত্যন্ত সহায়ক "
"প্রমাণিত হতে পারে। উল্লেখ্য, kdump-র ক্ষেত্রে সিস্টেম মেমরির একাংশ বরাদ্দ করা "
"আবশ্যক। এই অংশটি অন্যান্য ব্যবহারকারীদের নাগালের বাইরে থাকবে।"
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "যত মেমরি সংরক্ষণ করতে হবে (_R) (MB):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "সিস্টেমে উপস্থিত সর্বমোট মেমরি(মেগাবাইট):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "সিস্টেমের ব্যবহারযোগ্য মেমরি (মেগাবাইট):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdump সক্রিয় করা হবে কি?(_E)"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump মেমরি সংরক্ষণ:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "স্বয়ংক্রিয় (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "ম্যানুয়াল (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "বর্তমানে সংরক্ষিত মেমরি (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "উন্নত kdump কনফিগারেশন"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "দুঃখিত, kdump-র সুষ্টু ব্যবহারের জন্য আপনার সিস্টেমে পর্যাপ্ত মেমরি উপস্থিত নেই!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "দুঃখিত, Xen কার্নেল দ্বারা বর্তমানে kdump সমর্থিত হয় না!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "দুঃখিত, %s আর্কিটেকচারে বর্তমানে kdump সমর্থিত হয় না!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Kdump-র বৈশিষ্ট্য পরিবর্তনের ফলে মেমরি পুনরায় বরাদ্দ করার জন্য সিস্টেম রি-বুট করা "
#~ "আবশ্যক। চিহ্নিত পরিবর্তনগুলি গ্রহণ করে firstboot-র কর্ম সমাপ্তির পরে আপনি সিস্টেম "
#~ "পুনরায় বুট করতে ইচ্ছুক কি?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "ত্রুটি! bootloader কনফিগ ফাইল পাওয়া যায়নি, কনফিগারেশন প্রক্রিয়া পরিত্যাগ করা "
#~ "হবে!"

View file

@ -1,79 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,114 +0,0 @@
# Catalan translations for Kdump.
# Copyright © 2007 The Free Software Foundation, Inc.
# This file is distributed under the same license as the Kdump package.
# Josep Puigdemont <josep.puigdemont@gmail.com>, 2007
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-03-10 10:56-0500\n"
"Last-Translator: Josep Puigdemont <josep.puigdemont@gmail.com>\n"
"Language-Team: Catalan <fedora@softcatala.net>\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"El kdump és un mecanisme de bolcat per al nucli. Si el sistema es penja, el "
"kdump en capturarà informació que pot ser molt valuosa per a determinar la "
"causa de la fallada. El kdump requereix que es reservi una porció de la "
"memòria del sistema, que altres aplicacions no podran emprar."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "Mmemòria _total del sistema (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "Memòria _usable del sistema (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "Memòria del _kdump (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "El sistema no té prou memòria per al kdump."
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "De moment els nuclis Xen no són compatibles amb el kdump."
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "De moment l'arquitectura %s no és compatible amb el kdump."
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Per canviar els paràmetres del Kdump cal que es reiniciï el sistema, i "
#~ "poder ubicar la memòria que li calgui.%s Voleu continuar amb aquest canvi "
#~ "i reiniciar el sistema després que s'hagi completat la primera arrencada?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "S'ha produït un error, no s'ha trobat cap fitxer de configuració del "
#~ "carregador de l'arrencada; S'interromprà la configuració."

View file

@ -1,114 +0,0 @@
# Czech translation of kexec-tools.
# Copyright (C) 2007 FSF
# This file is distributed under the same license as the kexec-tools package.
# Milan Kerslager <kerslage@linux.cz>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-03-08 07:29-0500\n"
"Last-Translator: Milan Kerslager <kerslage@linux.cz>\n"
"Language-Team: Czech <cs@li.org>\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump je nástroj pro zaznamenání stavu systému při havárii (pádu systému). "
"Dojde-li k havárii, kdump zaznamená stav systému, což může mít "
"nepostradatelný význam při zjišťování její příčiny. Upozorňujeme, že kdump "
"vyžaduje pro svoji činnost vyhrazení části systémové paměti, kterou pak "
"nelze při normálním běhu systému využít."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Celkem paměťi (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "Paměť pro _systém (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "Paměť pro _kdump (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "Pro kdump není dostatek paměti!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Xen jádro zatím kdump nepodporuje!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Architektura %s zatím kdump nepodporuje!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Změna nastavení Kdump vyžaduje restart systému, aby mohla být alokována "
#~ "potřebná paměť %s. Chcete systém po dokončení nastavení restartovat a "
#~ "aktivovat tak provedené změny?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Chyba! Nenalezena konfigurace zavaděče systému, konfigurace přerušena!"

View file

@ -1,79 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: cy\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=4; plural= (n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != "
"11) ? 2 : 3\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,116 +0,0 @@
# translation of da.po to
# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
# Magnus Larsson <fedoratrans@gmail.com>, 2007.
# Keld Simonsen <keld@rap.dk>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-04-14 06:14-0400\n"
"Last-Translator: Keld Simonsen <keld@rap.dk>\n"
"Language-Team: <da@li.org>\n"
"Language: da\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump er en ny mekanisme for dumpning vedn kernenedbrud. I tilfælde af et "
"systemnedbrud kan en core-fil blive opfanget ved hjælp af kdump, som kan "
"være uvurderligt til at bestemme årsagen til et systemnedbrud. Bemærk at "
"kdump kræver reservering af en del af systemhukommelsen som vil være "
"utilgængelig for anden brug."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Total systemhukommelse (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Total brugelig systemhukommelse (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump-hukommelse (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Desværre har dette system ikke nok hukommelse for at kdump er brugbart!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Desværre understøtter Xen-kerner ikke kdump for nærværende!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Desværre understøtter %s-arkitekturen ikke kdump for nærværende!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Ændring af indstillinger for Kdump kræver genstart af systemet for at "
#~ "gentildele hukommelse. %s Vil du fortsætte med denne ændring og genstarte "
#~ "systemet efter firstboot er klar?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Fejl! Ingen konfigurationsfil for opstartsprogrammet blev fundet, "
#~ "afbryder konfigurering!"

View file

@ -1,127 +0,0 @@
# translation of de.po to
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
#
# PGP-KeyID: 0x037FD3CF <ttrinks@redhat.com>, 2007.
# hedda <hedda@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 11:45-0500\n"
"Last-Translator: hedda <hedda@fedoraproject.org>\n"
"Language-Team: <en@li.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump ist ein Mechanismus zur Aufzeichnung (dumping) eines Kernel-Absturzes. "
"Bei einem Systemabsturz sammelt kdump Informationen Ihres Systems, die "
"außerordentlich wertvoll bei der Ursachenforschung sein können. Beachten Sie "
"bitte, dass kdump eine bestimmte Menge an Systemspeicher beansprucht, der "
"für andere Zwecke nicht zur Verfügung steht."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "Zu _reservierender Speicher (MB)"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "Gesamter Systemspeicher (MB)"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "Verwendbarer Systemspeicher (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "Kdump aktivi_eren?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump-Speicherreservierung:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "_Automatisch"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "_Manuell"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "Derzeit reservierter Speicher (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "Erweiterte kdump-Konfiguration"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Leider steht Ihrem System nicht genügend Speicher zur Verfügung, um kdump "
#~ "einzusetzen!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Leider unterstützen Xen-Kernel kdump derzeit noch nicht."
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr ""
#~ "Leider wird kdump zu diesem Zeitpunkt noch nicht von der %s-Architektur "
#~ "unterstützt!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Änderungen der Kdump-Einstellungen erfordern einen Neustart des Systems, "
#~ "damit entsprechend Speicher neu zugewiesen wird. Möchten Sie mit dieser "
#~ "Änderung fortfahren und das System nach der Fertigstellung von firstboot "
#~ "neu starten?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Es trat ein Fehler auf! Es wurde keine Bootloader-Konfigurationsdatei "
#~ "gefunden. Die Konfiguration wird jetzt abgebrochen!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: en-GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,129 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# translation of es.po to Spanish
#
# Gladys Guerrero <gguerrer@redhat.com>, 2010.
# gguerrer <gguerrer@redhat.com>, 2013. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2013-12-01 07:35-0500\n"
"Last-Translator: gguerrer <gguerrer@redhat.com>\n"
"Language-Team: Spanish <en@li.org>\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Spanish\n"
"X-Generator: Zanata 3.1.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump es un mecanismo de volcado de fallos del kernel. En el evento de una "
"falla del sistema, kdump capturará la información de su sistema que puede "
"ser invaluable para la determinación de la causa del fallo. Observe que "
"kdump no requiere reservar una porción de memoria del sistema que no estará "
"disponible para otros usos."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "Memoria que va a ser _Reservada (MB):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "Memoria _Total del Sistema (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "Memoria del sistema utilizable (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "_Habilitar kdump?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Reserva de memoria de Kdump (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "_Automática"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "_Manual"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "Memoria reservada actualmente (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "Configuración avanzada de Kdump "
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Lamentablemente su sistema no tiene memoria suficiente para usar kdump."
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr ""
#~ "¡Lo siento, los kernel Xen no ofrecen soporte a kdump en este momento!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr ""
#~ "Lamentablemente la arquitectura %s no tiene soporte para kdump en este "
#~ "momento."
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "El cambio de la configuración de Kdump requiere reiniciar el sistema para "
#~ "reasignar memoria de forma apropiada. ¿Desea continuar con este cambio y "
#~ "reiniciar el sistema cuando se complete el primer arranque ?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "¡Error! No se encontró el archivo de configuración del cargador de "
#~ "arranque, ¡abortando la configuración!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: fa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,115 +0,0 @@
# Finnish translation of firstboot_kdump
# This file is distributed under the same license as the firstboot_kdump package.
#
# Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-03-09 05:37-0500\n"
"Last-Translator: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>\n"
"Language-Team: Finnish <laatu@lokalisointi.org>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump on järjestelmä, jolla ytimen kaatumisesta saa vedoksen. Järjestelmän "
"kaatuessa kdump hankkii järjestelmästä tietoja, jotka voivat olla tärkeitä "
"kaatumisen syytä selvitettäessä. Huomaa, että kdumpille on varattava "
"järjestelmän muistista osa, jota ei voi käyttää muuhun."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Järjestelmän muistin kokonaismäärä (Mt):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Käytettävänä oleva järjestelmän muisti (Mt):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump-muisti (Mt):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "Järjestelmässä ei ole riittävästi muistia kdumpin toimintaan!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Xen-ytimet eivät tue Kdumpia tällä hetkellä!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "%s-arkkitehtuuri ei tue kdumpia tällä hetkellä!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Kdumpin asetusten muuttaminen vaatii järjestelmän uudelleenkäynnistyksen, "
#~ "jotta muistia voidaan varata. %s. Jatketaanko tätä muutosta ja "
#~ "käynnistetäänkö järjestelmä uudelleen sen jälkeen, kun firstboot on "
#~ "valmis?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Virhe! Käynnistyslataimen asetustiedostoa ei löydy, keskeytetään "
#~ "asetusten teko!"

View file

@ -1,129 +0,0 @@
# translation of fr.po to French
# translation of fr.po to
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
#
# Decroux Fabien <fdecroux@redhat.com>, 2007.
# Gauthier Ancelin <gauthier.ancelin@laposte.net>, 2007.
# Sam Friedmann <sam.friedmann@redhat.com>, 2010.
# samfreemanz <sfriedma@redhat.com>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 01:40-0500\n"
"Last-Translator: samfreemanz <sfriedma@redhat.com>\n"
"Language-Team: French <French fedora-trans-fr@fedoraproject.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n > 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump est un mécanisme de capture lors du plantage d'un noyau. Kdump capture "
"les informations de votre système qui peuvent être cruciales pour aider à "
"déterminer la cause de l'échec. Notez que kdump requiert une partie de la "
"mémoire système qui sera indisponible pour d'autres utilisations."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "Mémoire à _réserver (en Mo) :"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "Mémoire totale du système (en Mo) :"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "Mémoire utilisable du système (en Mo) :"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "_Activer kdump ?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Réservation de la mémoire Kdump (en Mo) :"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "_Automatique"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "_Manuel"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "Mémoire actuellement réservée (en Mo) :"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "Configuration Kdump avancée"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Désolé, votre système n'a pas assez de mémoire pour que kdump puisse être "
#~ "viable&nbsp;!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr ""
#~ "Désolé, les noyaux Xen ne prennent pas en charge kdump pour le moment !"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr ""
#~ "Désolé l'architecture %s ne supporte pas kdump pour le moment&nbsp;!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Modifier les paramètres de kdump nécessite un redémarrage du système afin "
#~ "de réallouer convenablement la mémoire. Désirez-vous continuer avec ces "
#~ "modifications et redémarrer le système une fois que firstboot aura "
#~ "terminé ?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Erreur&nbsp;! Aucun fichier de configuration du chargeur de démarrage n'a "
#~ "été trouvé, abandon de la configuration&nbsp;!"

View file

@ -1,120 +0,0 @@
# translation of gu.po to Gujarati
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
#
# Ankit Patel <ankit@redhat.com>, 2007.
# Sweta Kothari <swkothar@redhat.com>, 2010.
# Ankit Patel <ankit@redhat.com>, 2013. #zanata
# swkothar <swkothar@redhat.com>, 2013. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2013-11-29 04:47-0500\n"
"Last-Translator: swkothar <swkothar@redhat.com>\n"
"Language-Team: Gujarati\n"
"Language: gu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 3.1.2\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump એ કર્નલ ક્રેશ ડમ્પીંગ પદ્ધતિ છે. સિસ્ટમ ભંગાણની ઘટનામાં, kdump તમારી સિસ્ટમમાંથી "
"જાણકારી પ્રાપ્ત કરશે કે જે ભંગાણનું કારણ નક્કી કરવા માટે અમૂલ્ય હોઈ શકે. નોંધ લો કે kdump "
"સિસ્ટમ મેમરીના ભાગને આરક્ષિત રાખવા માટે જરૂરી છે કે જે અન્ય વપરાશો માટે ઉપલબ્ધ રહેશે નહિં."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "સુરક્ષિત માપ રાખવા માટે મેમરી (MB):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "કુલ સિસ્ટમ મેમરી (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "ઉપયોગી સિસ્ટમ મેમરી (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "શું kdump સક્રિય કરવું છે (_E)?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump મેમરી આરક્ષણ:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "આપોઆપ (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "જાતે જ (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "મેમરીનું હાલમાં સુરક્ષિત માપ (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "અદ્યતન kdump રૂપરેખાંકન"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "માફ કરજો, તમારી સિસ્ટમ પાસે kdump ને વ્યાજબી બનાવવા માટે પૂરતી મેમરી નથી!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "માફ કરજો, Xen કર્નલો kdump ને આ વખતે આધાર આપતી નથી!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "માફ કરજો, %s આર્કીટેક્ચર આ સમયે kdump ને આધાર આપતું નથી!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Kdump સુયોજનો બદલવા માટે સિસ્ટમને મેમરી અનુક્રમે પુનઃફાળવવા માટે સિસ્ટમ રીબુટ કરવાની "
#~ "જરૂર છે. શું તમે આ ફેરફાર સાથે ચાલુ રાખવા ઈચ્છો છો અને firstboot સમાપ્ત થાય પછી "
#~ "સિસ્ટમ રીબુટ કરવા માંગો છો?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "ભૂલ! કોઈ બુટલોડર રૂપરેખા ફાઈલ મળી નહિં, અડધેથી રૂપરેખાંકન બંધ કરી રહ્યા છીએ!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: he\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,119 +0,0 @@
# translation of hi.po to Hindi
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# hi <rranjan@redhat.com>, 2007.
# Rajesh Ranjan <rranjan@redhat.com>, 2007, 2010.
# rajesh <rajesh@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-13 06:42-0500\n"
"Last-Translator: rajesh <rajesh@fedoraproject.org>\n"
"Language-Team: Hindi <fedora-trans-hi@redhat.com>\n"
"Language: hi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump एक कर्नेल क्रैश डंपिंग यांत्रिकी है. तंत्र क्रैश की स्थिति में, kdump सूचना लेगा आपके तंत्र "
"से जो कि क्रैश निर्धारण में मूल्यवान होगा. नोट करें कि kdump के लिये तंत्र स्मृति का आरक्षित "
"हिस्सा जरूरी है जो कि अन्य प्रयोग के लिये अनुपलब्ध रहेगा."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "स्मृति वापस करने के लिए (_R) (MB):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "कुल तंत्र स्मृति (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "प्रयोज्य तंत्र स्मृति (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdump सक्रिय करें? (_E)"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump स्मृति आरक्षण:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "स्वचालित (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "दस्ती (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "स्मृति अभी वापस (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "उन्नत kdump विन्यास"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "क्षमा करें, आपके तंत्र के पास kdump के अर्थक्षम होने के लिये पर्याप्त स्मृति नहीं है!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "क्षमा करें, Xen कर्नेल इस समय kdump का समर्थन नहीं करता है!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "क्षमा करें, %s ऑर्किटेक्चर kdump को इस समय समर्थन नहीं देता है!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Kdump सेटिंग बदलने के लिये तंत्र रिबूटिंग जरूरी है ताकि स्मृति को उसी तरह फिर आबंटित "
#~ "किया जा सके. क्या आप इस बदलाव के साथ जारी रखना चाहेंगे और तंत्र को फर्स्ट बूट के पूरा "
#~ "होने पर रिबूट करें?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "त्रुटि! कोई बूटलोडर विन्यास फाइल नहीं मिला, विन्यास छोड़ रहा है!"

View file

@ -1,121 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-07-02 02:20-0400\n"
"Last-Translator: Renato Pavicic <renato<-at->translator-shop.org>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump je mehanizam ispisivanja pada kernela. U slučaju pada sustava, Kdump "
"će snimiti podatke vašeg sustava koji bi mogli biti od neprocjenjive "
"važnosti za određivanje uzroka pada. Napomena: Kdump ne zahtjeva "
"rezerviranje dijela memorije sustava koja bi u tom slučaju bila nedostupna "
"ostalim potrebama."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "Ukupna _memorija sustava (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Upotrebljiva memorija sustava (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "_Omogućiti kdump?"
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump memorija (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Nažalost, vaš sustav ne raspolaže s dovoljno memorije radi omogućavanja "
#~ "rada modula Kdump!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr ""
#~ "Nažalost, ia64 Xen kerneli u ovom trenutku ne pružaju podršku za kdump."
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Nažalost, arhitektura %s u ovom trenutku ne pruža podršku za kdump!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Promjena postavki modula Kdump potražuje ponovno pokretanje sustava radi "
#~ "odgovarajućeg dodjeljivanja memorije %s \n"
#~ "\n"
#~ "Želite li nastaviti s postojećim postavkama i sustav ponovno pokrenuti "
#~ "nakon što dovršenja postupka firstboot?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Pogreška! Konfiguracijska datoteka pokretača nije pronađena. "
#~ "Konfiguriranje se prekida!"

View file

@ -1,115 +0,0 @@
# Hungarian translations for firstboot-kdump package.
# Copyright (C) 2006 Red Hat, Inc.
# This file is distributed under the same license as the firstboot-kdump package.
# Automatically generated, 2006.
# Péter Sulyok <peti@sulyok.hu>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-03-13 04:23-0400\n"
"Last-Translator: Péter Sulyok <peti@sulyok.hu>\n"
"Language-Team: Hungarian <fedora-trans-hu@redhat.com>\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Zanata 2.0.2\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump egy kernelösszeomlási lerakó mechanizmus. Renszerösszeomlás esetén "
"kdump információkat gyűjt a rendszerről, ami nagyon értékes lehet az "
"összeomlás okának felderítésekor. Vegye észre, hogy kdump igényli a tár egy "
"részének fenntartását, ami más célra elérhetetlen."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Teljes rendszertár (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Használható rendszertár (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump tár (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Sajnos, ez a rendszer nem rendelkezik elég memóriával kdump "
#~ "működtetéséhez!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Sajnos, Xen kernelek jelenleg nem támogatják kdumpot!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Sajnos, a %s architektúra jelenleg nem támogatja kdumpot!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Kdump beállításának megváltoztatása a rendszer újraindítását igényli a "
#~ "tár megfelelő újrafoglalásához. %s Szeretné folytatni e változtatással, "
#~ "és újraindítani a rendszert, miután firstboot végzett?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "Hiba! Nincs bootloader konfigfájl, konfigurálás abbahagyva!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,114 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-04-20 04:08-0400\n"
"Last-Translator: Erwien Samantha Y <erwiensy@sederhana.or.id>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump adalah mekasih untuk dumping kernel yang crash. Kejadian dalam sistem "
"yang gagak, kdump akan mengambil informasi yang bisa berguna untuk "
"mendetermasi penyebab dari kegagalan sistem anda. Dengan catatan bahwa kdump "
"memerlukan alokasi memory yang cukup yang menyebabkan kegiatan lain tidak "
"bisa dilakukan dulu."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Total Memory Sistem (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Usable Memory Sistem (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump Memory (MB(:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Maaf, sistem anda tidak mempunyai cukup memory untuk menjalakan kdump!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Maaf, Kernel Xen tidak didukung Kdump saat ini!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Maaf, Arsitektur %s tidak mendukung kdump saat ini!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Perubahan dari konfigurasi Kdump memerlukan boot ulang sistem anda untuk "
#~ "pengalokasian memori secara benar. %s Apa anda ingin melanjutkan dengan "
#~ "konfigurasi yang baru dan boot lagi sustem setelah fisrboot selesai?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "Error! No bootloader config file found, aborting configuration!"

View file

@ -1,115 +0,0 @@
# Íslensk þýðing kexec-tools
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Richard Allen <ra@ra.is>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-04-24 10:50-0400\n"
"Last-Translator: Richard Allen <ra@ra.is>\n"
"Language-Team: is <kde-isl@molar.is>\n"
"Language: is\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n%10!=1 || n%100==11)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump grípur kjarnahrun. Ef svo illa fer að kjarninn hrynur mun kdump grípa "
"upplýsingar frá vélinni þinni sem geta reynst ómetanlegar til að elta uppi "
"skýringar á hruninu. Athugaðu að kdump þarf að taka frá hluta vinnsluminnis "
"vélarinnar sem verður þá ónothæft fyrir aðra hluti á vélinni."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "Heildar_minni (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Nothæft minni (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump minni (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Því miður hefur vélin þín ekki nóg minni til að raunhæft sé að nota kdump!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Því miður eru Xen kjarnar ekki studdir af kdump þessa stundina!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Því miður er %s vélbúnaðurinn ekki studdur af kdump þessa stundina!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Ef þú breytir stillingum kdump þarftu að endurræsa til að taka frá minni "
#~ "samkvæmt nýju stillingunum. %sViltu halda áfram og breyta þessu og "
#~ "endurræsa svo vélinni þegar firstboot hefur lokið keyrslu?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Villa! Engin stillingaskrá fyrir ræsistjórann fannst. Hætti við "
#~ "stillingar!"

View file

@ -1,125 +0,0 @@
# translation of it.po to
# translation of it.po to
# translation of it.po to
# translation of it.po to italiano
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
# Francesco Tombolini <tombo@adamantio.net>, 2007.
# fvalen <fvalen@redhat.com>, 2013. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2013-12-01 07:00-0500\n"
"Last-Translator: fvalen <fvalen@redhat.com>\n"
"Language-Team: <it@li.org>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 3.1.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump è un meccanismo di crash dumping del kernel. In caso di crash del "
"sistema, kdump catturerà le informazioni dal sistema, utili per determinare "
"la causa del crash. Da notare che kdump necessita di un utilizzo di una "
"porzione della memoria del sistema, la quale a sua volta non sarà "
"disponibile per altri usi."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "Memoria da _Riservare (MB):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "Memoria del sistema totale (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "Memoria del Sistema Utilizzabile (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "_Abilita kdump?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Prenotazione Memoria di Kdump (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "_Automatico"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "_Manuale"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "Memoria attualmente riservata (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "Configurazioni avanzate di kdump"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Spiacente, il sistema non ha abbastanza memoria per far funzionare kdump!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Spiacente, i kernel Xen non supportano kdump in questo momento!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Spiacente, l'architettura %s non supporta kdump in questo momento!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Cambiare le impostazioni di Kdump richiederà il riavvio del sistema per "
#~ "poter riassegnare la memoria. Desideri continuare con il cambiamento e "
#~ "riavviare il sistema dopo che firstboot è stato completato?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Errore! Non è stato trovato alcun file di configurazione del bootloader, "
#~ "configurazione annullata!"

View file

@ -1,124 +0,0 @@
# translation of ja.po to Japanese
# translation of ja.po to
# translation of ja.po to
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
#
# kiyoto james hashida <khashida@brisbane.redhat.com>, 2007.
# Kiyoto Hashida <khashida@redhat.com>, 2007, 2010.
# noriko <noriko@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 09:59-0500\n"
"Last-Translator: noriko <noriko@fedoraproject.org>\n"
"Language-Team: Japanese <jp@li.org>\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump はカーネルクラッシュダンプのメカニズムです。システムがクラッシュした場"
"合、 Kdump はシステムからそのクラッシュの原因を判定するために重要となる可能性"
"のある情報をキャプチャします。kdump には kdump 以外では使用できない部分をシス"
"テムメモリー内に予約しておく必要があるため注意して下さい。"
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "予約されるメモリー (MB):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "合計システムメモリー (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "使用可能なシステムメモリー (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdump を有効にしますか (_E)?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump メモリー予約:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "自動 (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "手動 (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "現在予約されているメモリー (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "高度な kdump の設定"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "すみません。システムには kdump を運営できるだけの充分なメモリーがありませ"
#~ "ん!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "すみません。Xen カーネルは、今回は kdump をサポートしていません. "
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "すみません。%s アーキテクチャは、今回は kdump サポートしていません!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Kdump 設定を変更するとメモリーを再割り当てするためのシステムの再起動が必要"
#~ "になります。この変更を加え続行し、 初期起動 (firstboot) が完了した後にシス"
#~ "テムの再起動を行いますか?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "エラー! ブートローダ設定ファイルが見つかりません。設定を中止します!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ka\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,81 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-04-09 15:07+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:138
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:140
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:43
msgid "_KDUMP"
msgstr ""
#: tmp/fedora.glade.h:1 tmp/kdump.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/kdump.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/kdump.glade.h:7
msgid "Memory To Be Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/kdump.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/kdump.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/kdump.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/kdump.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/kdump.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/kdump.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,124 +0,0 @@
# translation of kn.po to Kannada
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Shankar Prasad <svenkate@redhat.com>, 2007, 2010.
# shanky <shanky@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 07:26-0500\n"
"Last-Translator: shanky <shanky@fedoraproject.org>\n"
"Language-Team: kn_IN <kde-i18n-doc@kde.org>\n"
"Language: kn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump ಎನ್ನುವುದು ಕರ್ನಲ್ಲಿನ ಕುಸಿತವನ್ನು ಬಿಸುಡುವ ಒಂದು ಯಾಂತ್ರಿಕ ವ್ಯವಸ್ಥೆ. ಗಣಕವು "
"ಕುಸಿತಕ್ಕೊಳಗಾದ ಸಂದರ್ಭದಲ್ಲಿ, kdump ಕುಸಿತದ ಕಾರಣವನ್ನು ನಿರ್ಧರಿಸುವ ಅಮೂಲ್ಯ ಮಾಹಿತಿಯನ್ನು "
"ನಿಮ್ಮ ಗಣಕದಿಂದ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುತ್ತದೆ. ಇಲ್ಲಿ ನೆನಪಿನಲ್ಲಿಡಬೇಕಾದ ಅಂಶವೆಂದರೆ, kdump ಗಾಗಿ "
"ಗಣಕದ ಮೆಮೊರಿಯಲ್ಲಿನ ಒಂದಂಶವನ್ನು ಕಾದಿರಿಸುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ ಹಾಗು ಈ ಮೆಮೊರಿಯು "
"ಬೇರಾವುದೇ ಬಳಕೆಗೆ ಬರುವುದಿಲ್ಲ."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "ಕಾದಿರಿಸಬೇಕಿರುವ ಮೆಮೊರಿ (MB) (_R):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "ಗಣಕದ ಒಟ್ಟಾರೆ ಮೆಮೊರಿ (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "ಗಣಕದ ಬಳಸಬಹುದಾದಂತಹ ಮೆಮೊರಿ (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdump ಅನ್ನು ಶಕ್ತಗೊಳಿಸಬೇಕೆ (_E)?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump ಮೆಮೊರಿ ಕಾದಿರಿಸುವಿಕೆ:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "ಸ್ವಯಂಚಾಲಿತ (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "ಕೈಪಿಡಿ (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "ಪ್ರಸಕ್ತ ಕಾದಿರಿಸಲಾದ ಮೆಮೊರಿ (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "ಸುಧಾರಿತ kdump ಸಂರಚನೆ"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "ಕ್ಷಮಿಸಿ, kdump ಅನ್ನು ಕಾರ್ಯಸಾಧ್ಯ ಮಾಡಲು ನಿಮ್ಮ ಗಣಕದಲ್ಲಿ ಸಾಕಷ್ಟು ಮೆಮೊರಿಯು ಲಭ್ಯವಿಲ್ಲ!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "ಕ್ಷಮಿಸಿ, Xen ಕರ್ನಲ್ಲುಗಳು ಈ ಸಮಯದಲ್ಲಿ kdump ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತಿಲ್ಲ."
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "ಕ್ಷಮಿಸಿ, %s ಆರ್ಕಿಟೆಕ್ಚರ್ ಈ ಸಮಯದಲ್ಲಿ kdump ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತಿಲ್ಲ!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "ಮೆಮೊರಿಯನ್ನು ಅನುಗುಣವಾಗಿ ಪುನರ್ ಹಂಚಿಕೆ ಮಾಡಲು ಅನುವಾಗುವಂತೆ Kdump ಸಿದ್ಧತೆಗಳನ್ನು "
#~ "ಬದಲಾಯಿಸಲು ಗಣಕವನ್ನು ಪುನಃ ಬೂಟ್‌ ಮಾಡುವುದು ಅಗತ್ಯವಾಗುತ್ತದೆ. ನೀವು ಈ ಬದಲಾವಣೆಯೊಂದಿಗೆ "
#~ "ಮುಂದುವರೆಯಲು ಹಾಗು ಪ್ರಥಮ ಬೂಟ್ ಸಂಪೂರ್ಣಗೊಂಡ ನಂತರ ಗಣಕವನ್ನು ಮರಳಿ ಬೂಟ್‌ ಮಾಡಲು "
#~ "ಬಯಸುತ್ತೀರೆ?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "ದೋಷ! ಯಾವುದೇ ಬೂಟ್-ಲೋಡರ್ config ಕಡತವು ಕಂಡುಬಂದಿಲ್ಲ, ಸಂರಚನೆಯನ್ನು "
#~ "ಸ್ಥಗಿತಗೊಳಿಸಲಾಗುತ್ತಿದೆ!"

View file

@ -1,122 +0,0 @@
# translation of ko.po to Korean
# translation of ko.po to
# translation of ko.po to
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER, 2007.
#
# Eunju Kim <eukim@redhat.com>, 2007.
# Hyunsok Oh <hoh@redhat.com>, 2010.
# eukim <eukim@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 08:25-0500\n"
"Last-Translator: eukim <eukim@fedoraproject.org>\n"
"Language-Team: Korean <ko@li.org>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"kdump는 커널 충돌 덤프 기술입니다. 시스템 충돌 시, kdump는 충돌의 원인을 파악"
"하는데 유용한 시스템 정보를 캡쳐합니다.kdump는 시스템 메모리의 한 부분을 차지"
"하며, 이 부분은 다른 목적으로 사용할 수 없음을 알려드립니다."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "예약 메모리 (MB) (_R):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "전체 시스템 메모리 (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "사용 가능한 시스템 메모리 (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdump를 활성화하겠습니까?(_E)"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump 메모리 예약:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "자동 (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "수동(_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "현재 예약된 메모리 (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "고급 kdump 설정 "
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "죄송합니다. 시스템에 kdump를 실행할 만한 충분한 메모리 공간이 없습니다!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "죄송합니다. Xen 커널은 현재 kdump를 지원하지 않습니다!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "죄송합니다. %s 구조는 현재 kdump를 지원하지 않습니다!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "kdump 설정을 변경하면 그에 맞게 메모리를 재할당하기 위해 시스템을 다시 시"
#~ "작해야 합니다. firstboot가 완료된 다음에 시스템을 다시 시작하여 이 변경 사"
#~ "항을 적용하시겠습니까?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "오류! 부트로더 구성 파일을 찾을 수 없습니다. 설정을 종료합니다!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,79 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,119 +0,0 @@
# translation of ml.po to Malayalam
# translation of ml.po to
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Ani Peter <apeter@redhat.com>, 2007, 2010.
# anipeter <anipeter@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-13 03:50-0500\n"
"Last-Translator: anipeter <anipeter@fedoraproject.org>\n"
"Language-Team: Malayalam <smc-discuss@googlegorups.com>\n"
"Language: ml\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"ഒരു കേര്‍ണല്‍ ക്രാഷ് ഡംപിങ് സംവിധാനമാണു് Kdump . സിസ്റ്റത്തില്‍ ഒരു തകരാറു സംഭവിച്ചാല്‍, അതിനുളള "
"കാരണം എന്തെന്ന് കണ്ടുപിടിക്കുന്നതിനുളള കാര്യവിവരങ്ങള്‍ kdump-നു് ലഭ്യമാകുന്നു. കുറിപ്പ്: മറ്റു് "
"ഉപയോക്താക്കള്‍ക്കു് ലഭ്യമല്ലാത്ത സിസ്റ്റത്തിന്റെ ഒരു ഭാഗം മെമ്മറി kdump-നു് ആവശ്യമുണ്ട്."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "കരുതിവയ്ക്കേണ്ട മെമ്മറി (MB) :"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "സിസ്റ്റത്തിന്റെ പൂര്‍ണ്ണ മെമ്മറി (MB) :"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "സിസ്റ്റത്തില്‍ ഉപയോഗപ്രദമായ മെമ്മറി (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdump പ്രവര്‍ത്തന സജ്ജമാക്കണമോ (_E)?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump മെമ്മറി കരുതല്‍:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "_ഓട്ടോമാറ്റിക്ക്"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "_മാനുവല്"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "നിലവില്‍ സൂക്ഷിച്ചിട്ടുള്ള മെമ്മറി (MB) :"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "മെച്ചപ്പെട്ട kdump ക്രമീകരണം"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "ക്ഷമിക്കണം, നിങ്ങളുടെ സിസ്റ്റത്തില്‍ kdump-നു് ആവശ്യമുളള മെമ്മറി നിലവിലില്ല!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "ക്ഷമിക്കണം, Xen കേര്‍ണലുകള്‍ നിലവില്‍ kdump പിന്തുണയ്ക്കുന്നില്ല!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "ക്ഷമിക്കണം, %s ആര്‍ക്കിടക്ചര്‍ നിലവില്‍ kdump പിന്തുണയ്ക്കുന്നില്ല!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Kdump ക്രമീകരണങ്ങളില്‍ മാറ്റം വരുത്തുന്നതിനായി നിങ്ങളുടെ സിസ്റ്റം റീബൂട്ട് ചെയ്തു് മെമ്മറി "
#~ "സജ്ജീകരണങ്ങള്‍ വീണ്ടും ക്രമപ്പെടുത്തേണ്ടതാകുന്നു. നിങ്ങള്‍ക്ക് ഈ മാറ്റവുമായി മുമ്പോട്ട് പോയി, "
#~ "ഫസ്റ്റ്ബൂട്ട് പൂര്‍ത്തിയാക്കിയ ശേഷം സിസ്റ്റം വീണ്ടും റീബൂട്ട് ചെയ്യണമോ?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "പിഴവ്! ബൂട്ട്ലോഡര്‍ ക്രമീകരണ ഫയല്‍ ലഭ്യമായില്ല, ക്രമീകരണം നിര്‍ത്തുന്നു!"

View file

@ -1,120 +0,0 @@
# translation of mr.po to Marathi
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# sandeep shedmake <sandeep.shedmake@gmail.com>, 2007.
# Sandeep Shedmake <sshedmak@redhat.com>, 2010.
# sandeeps <sandeeps@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-10 02:52-0500\n"
"Last-Translator: sandeeps <sandeeps@fedoraproject.org>\n"
"Language-Team: Marathi <fedora-trans-mr@redhat.com>\n"
"Language: mr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "केडम्प"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"केडम्प कर्नल आणीबाणी निर्मुलन पद्धती आहे. प्रणाली आणीबाणी घटनाक्रमास, kdump आपल्या "
"प्रणालीतील अतीमहत्वाची माहिती ज्यामुऴे आणीबाणी चे कारण शोधण्यास मदत मिळते. लक्षात घ्या "
"kdump ला प्रणाली स्मृत्तीचे आरक्षण हवे असते जे इतर वापरकर्त्यांना अनुपलब्ध राहतील."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "आरक्षित करणेजोगी मेमरी (MB) (_R):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "एकूण प्रणालीची मेमरी (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "वापरतायेण्याजोगी प्रणाली मेमरी (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "केडम्प सुरू करा (_E)?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "केडम्प मेमरी आरक्षण (MB) (_K):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "स्वयंचलित (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "व्यक्तिचलित (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "सध्या आरक्षित मेमरी(MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "प्रगत केडम्प संरचना"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "माफ करा, आपल्या प्रणालीस केडम्प यशस्वीरीत्या चालण्याजोगी अतिरीक्त स्मृत्ती नाही!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "माफ करा, xen कर्नल्स् याक्षणी kdump करीता समर्थन पुरवत नाही!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "माफ करा, %s आर्किटेक्चर kdump करीता समर्थन पुरवत नाही!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "केडम्प सेटिंग्ज बदलण्याकरीता प्रणालीस मेमरीचे परस्पररीत्या वाटप करण्याकरीता प्रणाली "
#~ "पुन्हा सुरू करा. तुम्हाला हे बदल लागू करायचे व फर्स्टबूट पूर्ण झाल्यावर प्रणालीला पुन्हा सुरू "
#~ "करायचे?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "त्रूटी! बूटलोडर config फाइल सापडली नाही, संरचना रद्द करीत आहे!"

View file

@ -1,115 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-04-13 11:22-0400\n"
"Last-Translator: Sharuzzaman Ahmat Raslan <sharuzzaman@myrealbox.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump adalah mekanisme longgokan kerosakan kernel. Dalam kejadian kerosakan "
"sistem, kdump akan mendapatkan maklumat dari sistem anda yang mungkin "
"berharga dalam menentukan sebab kerosakan tersebut. Diingatkan bahawa kdump "
"perlu mengkhaskan sebahagian memori sistem yang tidak boleh digunakan untuk "
"kegunaan lain."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "Jumlah Memori Sis_tem (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Memori Sistem Bolehguna (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "Memori _Kdump (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Maaf, sistem anda tidak mempunyai memori yang cukup untuk kdump menjadi "
#~ "berguna!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Maaf, kernel Xen tidak menyokong kdump pada ketika ini!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Maaf, rekabentuk %s tidak menyokong kdump pada ketika ini!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Menukar tetapan Kdump memerlukan ulangboot sistem untuk mengumpukkan "
#~ "semula memori. %s Adakah anda hendak meneruskan dengan perubahan ini dan "
#~ "ulangboot sistem selepas firstboot selesai?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "Ralat! Tiada fail tetapan pemuat but dijumpai, membatalkan tetapan!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,113 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-04-26 07:42-0400\n"
"Last-Translator: Espen A. Stefansen <espenas@gmail.com>\n"
"Language-Team: Norwegian/Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump er en mekanisme for logging av kjernekrasjer. Om et systemkrasj "
"inntreffer, vil kdump samle informasjonen fra ditt system som kan væra "
"verdifullt for å bestemma grunnene til krasjet. Legg merke til at kdump "
"reserverer en del av systemminnet som ikke kan brukes til noe annet."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Totalt systemminne (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Brukbart systemminne (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump-minne (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "Dessverre, ditt system har ikke nok minne for at kdump kan brukes!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Dessverre, Xen-kjerner støtter ikke kdump for øyeblikket!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Dessverre, %s-arkitekturen støtter ikke kdump for øyeblikket!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Endringer av Kdump-innstillinger krever omstart av systemet for å "
#~ "omallokere minnet. %sVil du fortsette med denne endringen og starte "
#~ "systemet på nytt etter at firstboot er ferdig?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Feil! Ingen konfigurasjonsfil ble funnet for startprogrammet, avbryter "
#~ "konfigurasjonen!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,122 +0,0 @@
# translation of or.po to Oriya
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Subhransu Behera <sbehera@redhat.com>, 2007.
# Subhransu Behera <arya_subhransu@yahoo.co.in>, 2007.
# Manoj Kumar Giri <mgiri@redhat.com>, 2010.
# mgiri <mgiri@fedoraproject.org>, 2012. #zanata
# yangrr <ruyang@redhat.com>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-20 10:06-0500\n"
"Last-Translator: yangrr <ruyang@redhat.com>\n"
"Language-Team: Oriya <Translation-team-or@lists.sourceforge.net>\n"
"Language: or\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump କର୍ଣ୍ଣଲ ଅକାମି ହେବା ସମୟରେ ତଥ୍ଯ ରଖିବାର ଗୋଟିଏ କୌଶଳ ଅଟେ। ଗୋଟିଏ ତନ୍ତ୍ର ଅକାମି ହେବା "
"ସମୟରେ, kdump ଆପଣଙ୍କ ତନ୍ତ୍ରରୁ ସୂଚନା ଗ୍ରହଣ କରିବ ଯାହାକି ଅକାମି ହେବାର କାରଣ ଖୋଜିବାରେ ଅମୂଲ୍ଯ "
"ଅଟେ। ଏହା ମନେ ରଖନ୍ତୁ ଯେ kdump ତନ୍ତ୍ର ସ୍ମୃତିର ଗୋଟିଏ ଅଂଶର ସଂରକ୍ଷଣ ଆବଶ୍ଯକ କରି ନ ଥାଏ ଯାହାକି "
"ଅନ୍ଯାନ୍ଯ ଚାଳକ ମାନଙ୍କ ପାଇଁ ଅନୁପଲବ୍ଧ ହେବ।"
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "ସଂରକ୍ଷଣ କରିବାକୁ ଥିବା ସ୍ମୃତିସ୍ଥାନ (MB) (_R):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "ସମୁଦାୟ ତନ୍ତ୍ର ସ୍ମୃତି (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "ବ୍ଯବହାର ଯୋଗ୍ଯ ତନ୍ତ୍ର ସ୍ମୃତି (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdump କୁ ସକ୍ରିୟ କରାଯିବ କି (_E)?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump ସ୍ମୃତି ସଂରକ୍ଷଣ:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "ସ୍ୱୟଂଚାଳିତ (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "ହସ୍ତକୃତ (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "ବର୍ତ୍ତମାନ ସଂରକ୍ଷିତ ସ୍ମୃତିସ୍ଥାନ (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "ଉନ୍ନତ kdump ସଂରଚନା"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "କ୍ଷମା କରିବେ, kdump କୁ କାର୍ଯ୍ଯକାରୀ କରିବା ପାଇଁ ଆପଣଙ୍କ ତନ୍ତ୍ରରେ ଯଥେଷ୍ଟ ସ୍ମୃତି ନାହିଁ!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "କ୍ଷମା କରିବେ, Xen କର୍ଣ୍ଣଲ ଗୁଡିକ ବର୍ତ୍ତମାନ kdump କୁ ସମର୍ଥନ କରେନାହିଁ।"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "କ୍ଷମା କରିବେ, %s ସ୍ଥାପତ୍ଯ ବର୍ତ୍ତମାନ kdump କୁ ସମର୍ଥନ କରେ ନାହିଁ!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Kdump ର ବିନ୍ଯାସ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ସେହି ଅନୁଯାୟୀ ସ୍ମୃତି ବଣ୍ଟନ କରିବାକୁ ତନ୍ତ୍ରକୁ ପୁନର୍ଚାଳନ "
#~ "କରିବା ଆବଶ୍ଯକ। ଆପଣ ଏହି ପରିବର୍ତ୍ତନ ସହିତ ଜାରି ରଖିବା ପାଇଁ ଏବଂ firstboot ସମାପ୍ତ ହେବା ପରେ "
#~ "ତନ୍ତ୍ରକୁ ପୁନର୍ଚାଳନ କରିବା ପାଇଁ ଚାହାଁନ୍ତି?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "ତୃଟି! କୌଣସି ବୁଟ ଲୋଡର config ଫାଇଲ ମିଳିଲା ନାହିଁ, ବିନ୍ଯାସ ପ୍ରକ୍ରିୟାକୁ ପରିତ୍ଯାଗ କରୁଅଛି!"

View file

@ -1,118 +0,0 @@
# translation of pa.po to Punjabi
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# A S Alam <aalam@users.sf.net>, 2007.
# Jaswinder Singh <jsingh@redhat.com>, 2007, 2010, 2012.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-13 05:01-0500\n"
"Last-Translator: Jaswinder Singh <jsingh@redhat.com>\n"
"Language-Team: Punjabi/Panjabi <kde-i18n-doc@kde.org>\n"
"Language: pa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "ਕੇ-ਡੰਪ"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"ਕੇ-ਡੰਪ ਕਰਨਲ ਕਰੈਸ਼ ਡੰਪ ਬਣਾਉਣ ਦਾ ਢੰਗ ਹੈ। ਇੱਕ ਸਿਸਟਮ ਕਰੈਸ਼ ਹੋਣ ਸਮੇਂ, ਕੇ-ਡੰਪ ਤੁਹਾਡੇ ਸਿਸਟਮ ਤੋਂ "
"ਜਾਣਕਾਰੀ ਇੱਕਤਰ ਕਰਦਾ ਹੈ, ਜੋ ਕਿ ਕਰੈਸ਼ ਦਾ ਕਾਰਨ ਜਾਣਨ ਲਈ ਸਹਾਇਕ ਹੋ ਸਕਦੀ ਹੈ। ਯਾਦ ਰੱਖੋ ਕਿ ਕੇ-ਡੰਪ "
"ਨੂੰ ਸਿਸਟਮ ਮੈਮੋਰੀ ਦਾ ਕੁਝ ਭਾਗ ਰਾਖਵਾਂ ਰੱਖਣਾ ਪੈਂਦਾ ਹੈ ਜੋ ਕਿ ਹੋਰ ਵਰਤੋਂ ਲਈ ਉਪਲੱਬਧ ਨਹੀਂ ਹੋਵੇਗਾ"
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "ਰਾਖਵੀਂ ਮੈਮੋਰੀ(_R) (MB):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "ਕੁੱਲ ਸਿਸਟਮ ਮੈਮੋਰੀ (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "ਵਰਤੋਂ-ਯੋਗ ਸਿਸਟਮ ਮੈਮੋਰੀ (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "ਕੇ-ਡੰਪ ਯੋਗ ਕਰੋ(_E)?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "ਕੇ-ਡੰਪ ਮੈਮੋਰੀ (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "ਆਟੋਮੈਟਿਕ(_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "ਦਸਤੀ(_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "ਮੌਜੂਦਾ ਰਾਖਵੀਂ ਮੈਮੋਰੀ (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "ਤਕਨੀਕੀ ਕੇ-ਡੰਪ ਸੰਰਚਨਾ"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "ਅਫਸੋਸ, ਕਿ ਤੁਹਾਡੇ ਸਿਸਟਮ ਉੱਤੇ ਕੇ-ਡੰਪ ਲਈ ਲੋੜੀਦੀ ਮੈਮੋਰੀ ਉਪਲੱਬਧ ਨਹੀਂ ਹੈ!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "ਮੁਆਫ਼ੀ, Xen ਕਰਨਲ ਹਾਲੇ ਕੇ-ਡੰਪ ਲਈ ਸਹਿਯੋਗੀ ਨਹੀਂ ਹਨ!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "ਮੁਆਫੀ, ਕਿ %s ਢਾਂਚਾ ਹਾਲੇ ਕੇ-ਡੰਪ ਲਈ ਸਹਿਯੋਗੀ ਨਹੀਂ ਹੈ!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "ਕੇ-ਡੰਪ ਦੀ ਸੈਟਿੰਗ ਬਦਲਣ ਨਾਲ ਸਿਸਟਮ ਨੂੰ ਮੁੜ-ਚਾਲ ਕਰਨਾ ਪਵੇਗਾ ਤਾਂ ਕਿ ਮੈਮੋਰੀ ਮੁੜ-ਜਾਰੀ ਕੀਤੀ ਜਾ "
#~ "ਸਕੇ। %sਕੀ ਤੁਸੀਂ ਇਹ ਤਬਦੀਲੀ ਕਰਨੀ ਚਾਹੁੰਦੇ ਹੋ ਅਤੇ ਸਿਸਟਮ ਫਸਟ-ਬੂਟ ਪੂਰਾ ਹੋਣ ਬਾਅਦ ਮੁੜ-ਚਾਲੂ "
#~ "ਹੋਵੇਗਾ?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "ਗਲਤੀ! ਬੂਟ-ਲੋਡਰ ਸੰਰਚਨਾ ਨਹੀਂ ਮਿਲੀ ਹੈ, ਸੰਰਚਨਾ ਅਧੂਰੀ ਛੱਡੀ ਜਾਂਦੀ ਹੈ!"

View file

@ -1,114 +0,0 @@
# translation of pl.po to Polish
# Piotr Drąg <raven@pmail.pl>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-03-08 09:18-0500\n"
"Last-Translator: Piotr Drąg <raven@pmail.pl>\n"
"Language-Team: Polish <pl@li.org>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump jest mechanizmem zrzucania błędów jądra. W wypadku zawieszenia się "
"systemu, kdump przechwyci informację systemu, która może być bezcenna w "
"ustaleniu powodu zawieszenia. Zauważ, że kdump wymaga zarezerwowania części "
"pamięci systemu, która będzie niedostępna dla innych użytkowników."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "Całkowi_ta pamięć systemu (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Używalna pamięć systemu (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "Pamięć _kdump (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Przepraszam, system nie posiada wystarczającej ilości pamięci dla kdump!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Przepraszam, jądra Xen nie obsługują teraz kdump!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Przepraszam, architektura %s nie obsługuje teraz kdump!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Zmienianie ustawień kdump wymaga ponownego uruchomienia systemu, aby "
#~ "ponownie przydzielić pamięć. %sCzy chcesz kontynuować z tą zmianą i "
#~ "uruchomić ponownie system po zakończeniu pierwszego uruchomienia?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Błąd! Nie znaleziono pliku konfiguracyjnego programu startowego, "
#~ "przerywanie konfiguracji!"

View file

@ -1,19 +0,0 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>null</groupId>
<artifactId>null</artifactId>
<version>0</version>
<build>
<plugins>
<plugin>
<groupId>org.zanata</groupId>
<artifactId>zanata-maven-plugin</artifactId>
<version>2.0.0</version>
<configuration>
<srcDir>.</srcDir>
</configuration>
</plugin>
</plugins>
</build>
</project>

View file

@ -1,113 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: firstboot_kdump\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-05-09 02:24+0100\n"
"Last-Translator: José Nuno Coelho Pires <jncp@netcabo.pt>\n"
"Language-Team: pt <kde-i18n-pt@kde.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-POFile-SpellExtra: kdump Xen firstboot Kdump kernels\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"O Kdump é um mecanismo de gravação dos estoiros do 'kernel'. No caso de "
"ocorrer um estoiro do sistema, o 'kdump' irá capturar a informação do seu "
"sistema, valiosa para determinar a causa do estoiro. Lembre-se que o 'kdump' "
"necessita de reservar uma parte da memória do sistema que estará "
"indisponível para outros usos."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "Memória _Total do Sistema (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "Memória Ú_til do Sistema (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "Memória do _Kdump (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Infelizmente, o seu sistema não tem memória suficiente para o kdump ser "
#~ "viável!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr ""
#~ "Infelizmente, os 'kernels' do Xen não suportam o 'kdump' nesta altura!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Infelizmente, a arquitectura %s não suporta o kdump nesta altura!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "A alteração da configuração do Kdump necessita de reiniciar o sistema "
#~ "para reservar de novo a memória de forma adequada.%s Deseja continuar com "
#~ "esta alteração e reiniciar o sistema depois de o 'firstboot' terminar?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Erro! Não foi encontrado o ficheiro de configuração do gestor de "
#~ "arranque, a abortar a configuração!"

View file

@ -1,129 +0,0 @@
# translation of pt_BR.po to Portuguese
# This file is distributed under the same license as the kexec-tools package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
#
# Valnir Ferreira Jr., 2007.
# Igor Pires Soares <igor@projetofedora.org>, 2007.
# Glaucia Cintra <gcintra@redhat.com>, 2010.
# gcintra <gcintra@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 07:44-0500\n"
"Last-Translator: gcintra <gcintra@fedoraproject.org>\n"
"Language-Team: Portuguese <en@li.org>\n"
"Language: pt-BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: BRAZIL\n"
"X-Generator: Zanata 2.0.2\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"O kdump é um mecanismo de despejo de falhas do kernel. Em casos de falhas do "
"sistema, o kdump capturará informações sobre o seu sistema que podem ser "
"muito úteis para determinar a causa da falha. Note que o kdump não requer a "
"alocação exclusiva de uma porção da memória do sistema que estará "
"indisponível para outros usuários."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "Memória a ser_Reservada (MB):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "Memória Total do Sistema (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "Memória Utilizável do Sistema (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "_Habilitar kdump?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Memória do Kdump (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "_Automático"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "_Manual"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "Memória Reservada Atualmente (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "Configuração avançada do kdump"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Infelizmente, o seu sistema não tem memória suficiente para viabilizar o "
#~ "uso do kdump."
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Infelizmente, kernels do xen não suportam o kdump desta vez!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Infelizmente, a arquitetura %s ainda não suporta o kdump!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "A mudança da configuração do kdump requer a reinicialização do sistema "
#~ "para a realocação apropriada de memória. \n"
#~ "Gostaria de prosseguir com esta mudança e reinicializar o sistema após o "
#~ "término do firstboot?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Erro! Nenhum arquivo de configuração do gerenciador de inicialização foi "
#~ "encontrado, abortando a configuração!"

View file

@ -1,122 +0,0 @@
# translation of ru.po to
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Yulia Poyarkova <yulia.poyarkova@redhat.com>, 2007.
# Yulia <ypoyarko@redhat.com>, 2010.
# ypoyarko <ypoyarko@redhat.com>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 05:21-0500\n"
"Last-Translator: ypoyarko <ypoyarko@redhat.com>\n"
"Language-Team: Russian\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump предоставляет новый механизм сбора статистики о сбоях ядра. В случае "
"сбоя kdump осуществляет сбор статистики для последующего определения причины "
"сбоя. Нужно иметь в виду, что kdump требует резервирования части системной "
"памяти, что делает её недоступной для использования."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "Будет зарезервировано (МБ):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "_Общий объем памяти (МБ):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "_Доступно памяти (МБ):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "_Включить Kdump?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Резервирование памяти Kdump:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "_Автоматически"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "В_ручную"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "Зарезервировано памяти (МБ):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "Дополнительные настройки kdump"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "Извините, ваша система не имеет достаточно памяти для работы kdump!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "К сожалению, в настоящее время ядро Xen не поддерживает kdump."
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Извините, архитектура %s в настоящее время не поддерживает kdump!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Изменение настроек Kdump требует перезагрузки системы для "
#~ "перераспределения памяти. Продолжить и перезагрузить систему по "
#~ "завершению firstboot? "
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Ошибка! Не найден конфигурационный файл загрузчика, настройка прервана."

View file

@ -1,115 +0,0 @@
# translation of si.po to Sinhala
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Danishka Navin <snavin@redhat.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-07-03 05:52-0400\n"
"Last-Translator: Danishka Navin <snavin@redhat.com>\n"
"Language-Team: Sinhala <en@li.org>\n"
"Language: si\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "කේඩම්ප්"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"කේඩම්ප් යනු න්‍යෂ්ඨි අනතුරු සිදුවු විට තොරතුරු ගන්නා ක්‍රමවේදයකි. පද්ධතිය අනතුරට පත්වු විට කේඩම්ප් මඟින් "
"ඔබගේ පද්ධතියේ තොරතුරු ලබාගන්නා අතර ඒවා අනතුරට ඒතුව සොයාගැනිම සඳහා මහෝපකාරි වනු ඇත. "
"කේඩම්ප් සඳහා වෙනම පද්ධති මතක කොටසක් වෙන්කර තැබීම අවශ්‍යවනු ඇත එය අනෙකුත් පරිශීලකයන් හට "
"භාවිතා කළ නොහැක."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "සම්පූර්‍ණ පද්ධති මතකය (මෙගා බයිට්) (_T):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "භාවිතා කළ හැකි මතකය (මෙගා බයිට්) (_U):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "කේඩම්ප් ක්‍රීය කරන්නද? (_E)"
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "කේඩම්ප් මතකය (මෙගා බයිට්) (_K):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "සමාවන්න, කේඩම්ප් ජීව්‍ය වීම සඳහා ඔබගේ පද්ධතිය තුළ ප්‍රමාණවත් මතකයක් නැත!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "සමාවන්න, ia64 xen න්‍යෂ්ඨිය කේඩම්ප් සඳහා මෙම අවස්ථාවේ සහාය නොදක්වයි!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "සමාවන්න, %s ශෛලිය කේඩම්ප් සඳහා මෙම අවස්ථාවේ සහාය නොදක්වයි!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "කේඩම්ප් සැකසුම් වෙනස් කිරිමෙ ක්‍රියාවලියේදි මතකය නිසියාකාරව යෙදවීම සඳහා පද්ධතිය නැවත ඇරඹුම "
#~ "අවශ්‍යවේ. %s \n"
#~ "\n"
#~ "මෙම වෙනස්කම් සහිතව ඉදිරි කටයුතු කරමින් සහ පළමු ඇරඹුම සම්පූර්ණ වු පසු පද්ධතිය නැවත ඇරඹීමට ඔබ "
#~ "කැමතිද? "
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "දෝෂය!ආරමිභකය සුසර කිරීමේ ගොනුව හමු නොවීය, මානකරණය විනාශ වෙමින්!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,116 +0,0 @@
# translation of sl.po to Slovenian
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Rok Papez <rok.papez@lugos.si>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-04-09 01:38-0400\n"
"Last-Translator: Rok Papez <rok.papez@lugos.si>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump je mehanizem za posmrtne ostanke ob zrušitvi jedra. V primeru zrušitve "
"sistema, kdump shrani informacije o sistemu, ki so lahko zelo uporabne pri "
"iskanju vzroka zrušitve. Kdump za svoje delovanje rezervira kos sistemskega "
"pomnilnika, ki je nedostopen za drugo uporabo."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Skupno sistemskega pomnilnika (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Uporabnega sistemskega pomnilnika (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Pomnilnika Kdump (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "Vaš sistem ne vsebuje dovolj pomnilnika za delovanje kdump!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Jedro Xen še ne podpira kdump!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "%s arhitektura še ne podpira kdump!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Spreminjanje nastavitev Kdump zahteva ponovni zagon sistema zaradi "
#~ "prestavljanja pomnilnika. %sŽelite nadaljevati s spremembami in sistem "
#~ "znova zagnati, ko končate z nastavitvami po namestitvi?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Napaka! Ni bilo moč najti nastavitvene datoteke za zagon, spremembe "
#~ "nastavitev so preklicane!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: sq\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,113 +0,0 @@
# Serbian translations for kexec-tools
# Copyright (C) 2007 Red Hat, Inc.
# This file is distributed under the same license as the kexec-tools package.
# Miloš Komarčević <kmilos@gmail.com>, 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: kexec-tools\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-03-11 01:02-0000\n"
"Last-Translator: Miloš Komarčević <kmilos@gmail.com>\n"
"Language-Team: Serbian (sr) <fedora@prevod.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump је механизам за избачај краха језгра. У случају краха система, kdump "
"ће сакупити податке од система који могу бити од непроцењиве помоћи у "
"одређивању узрока краха. Приметите да kdump захтева заузимање дела системске "
"меморије који неће бити доступан за другу употребу."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Укупна меморија система (МБ):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Употребљива меморија система (МБ):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump меморија (МБ):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "Жалим, систем не поседује довољно меморије како би kdump био могућ!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Жалим, Xen језгра тренутно не подржавају kdump!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Жалим, %s архитектура тренутно не подржава kdump!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Измена Kdump подешавања захтева поновно покретање система како би се "
#~ "сходно заузела меморија. %sДа ли желите да наставите са овом изменом и "
#~ "поново покренете систем након што се firstboot заврши?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Грешка! Није пронађена датотека подешавања покретачког програма, "
#~ "обустављам подешавање!"

View file

@ -1,116 +0,0 @@
# Serbian(Latin) translations for kexec-tools
# Copyright (C) 2007 Red Hat, Inc.
# This file is distributed under the same license as the kexec-tools package.
# Miloš Komarčević <kmilos@gmail.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-03-10 08:02-0500\n"
"Last-Translator: Miloš Komarčević <kmilos@gmail.com>\n"
"Language-Team: Serbian (sr) <fedora@prevod.org>\n"
"Language: sr-Latn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump je mehanizam za izbačaj kraha jezgra. U slučaju kraha sistema, kdump "
"će sakupiti podatke od sistema koji mogu biti od neprocenjive pomoći u "
"određivanju uzroka kraha. Primetite da kdump zahteva zauzimanje dela "
"sistemske memorije koji neće biti dostupan za drugu upotrebu."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Ukupna memorija sistema (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Upotrebljiva memorija sistema (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump memorija (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Žalim, sistem ne poseduje dovoljno memorije kako bi kdump bio moguć!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Žalim, Xen jezgra trenutno ne podržavaju kdump!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Žalim, %s arhitektura trenutno ne podržava kdump!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Izmena Kdump podešavanja zahteva ponovno pokretanje sistema kako bi se "
#~ "shodno zauzela memorija. %sDa li želite da nastavite sa ovom izmenom i "
#~ "ponovo pokrenete sistem nakon što se firstboot završi?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Greška! Nije pronađena datoteka podešavanja pokretačkog programa, "
#~ "obustavljam podešavanje!"

View file

@ -1,115 +0,0 @@
# Svenska translation of kexec-tools.
# Copyright (C) 2006 Free Software Foundation, Inc.
# Magnus Larsson <fedoratrans@gmail.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-03-09 07:35-0500\n"
"Last-Translator: Magnus Larsson <fedoratrans@gmail.com>\n"
"Language-Team: Swedish <sv@li.org>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump är en mekanism för loggning av kärnkrascher. Om en "
"systemkraschinträffar, kommer kdump spara information om ditt system som kan "
"vara ovärderligt för att bestämma orsaken till kraschen. Notera att kdump "
"reserverar en del av systemminnet som inte kan användas för annat."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Totalt systemminne (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Totalt användbart systemminne (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "_Kdump-minne (MB):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Tyvärr har ditt system inte tillräckligt med minne för att kdump ska vara "
#~ "användbart!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Tyvärr stöder inte Xen-kärnor kdump för tillfället!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Tyvärr stöder inte %s-arkitekturen inte kdump för tillfället!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Ändring av inställningar för Kdump kräver omstart av systemet för att "
#~ "omallokera minne. %sVill du fortsätta med denna ändring och starta "
#~ "omsystemet efter firstboot är klar?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Fel! Ingen konfigurationsfil för startprogrammet hittades, avbryter "
#~ "konfigurering!"

View file

@ -1,119 +0,0 @@
# translation of ta.po to
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
#
# Felix <ifelix@redhat.com>, 2007.
# I Felix <ifelix@redhat.com>, 2010.
# Shantha kumar <shkumar@redhat.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 06:34-0500\n"
"Last-Translator: Shantha kumar <shkumar@redhat.com>\n"
"Language-Team: Tamil <>\n"
"Language: ta\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump என்பது ஒரு கர்னல் அழிவு டம்பிங்க்கிங் தொழில்நுட்பம். கணினி சேதமடையும் போது, kdump "
"உங்கள் கணினி சேதமடைய காரணமான மதிப்பில்லாத தகவல்களை எடுக்கிறது.kdumpக்கு வேறு "
"பயன்களுக்கு இல்லாத கணினி நினைவகத்தின் ஒரு பகுதி தேவைப்படும் என்பதை குறித்து கொள்ளவும்."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "ஒதுக்கி வைக்கப்பட வேண்டிய நினைவகம் (MB): (_R)"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "மொத்த கணினி நினைவகம் (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "பயன்படுத்தும் கணினி நினைவகம் (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdumpஐ செயல்படுத்த வேண்டுமா? (_E)"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump நினைவக ஒதுக்கீடு:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "தானியங்கி (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "கைமுறை (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "தற்போது ஒதுக்கிவைக்கப்பட்டுள்ள நினைவகம் (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "மேம்பட்ட kdump அமைவாக்கம்"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "உங்கள் கணினியில் kdump கொண்டிருக்க போதிய நினைவகம் இல்லை!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "இந்த நேரத்தில் Xen கர்னல்களை kdump துணை புரியவில்லை!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "இந்த நேரத்தில் %s கணினி kdump க்கு துணைப்புரிவதில்லை!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "நினைவகத்தை மறு ஒதுக்கீடு செய்வதற்கேற்ப Kdump அமைவுகளை மாற்றுவதற்கு மறு துவக்கம் "
#~ "செய்ய வேண்டும். %sமுதல் துவக்கம் முடிந்தவுடன் மறு துவக்கம் செய்து, இந்த மாற்றத்தை தொடர "
#~ "வேண்டுமா?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "பிழை! துவக்க ஏற்றி கட்டமைப்பு கோப்பு இல்லை, கட்டமைப்பை நிறுத்துகிறது!"

View file

@ -1,113 +0,0 @@
# Shantha kumar <shkumar@redhat.com>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 06:42-0500\n"
"Last-Translator: Shantha kumar <shkumar@redhat.com>\n"
"Language-Team: Tamil <>\n"
"Language: ta-IN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump என்பது ஒரு கர்னல் அழிவு டம்பிங்க்கிங் தொழில்நுட்பம். கணினி சேதமடையும் போது, kdump "
"உங்கள் கணினி சேதமடைய காரணமான மதிப்பில்லாத தகவல்களை எடுக்கிறது.kdumpக்கு வேறு "
"பயன்களுக்கு இல்லாத கணினி நினைவகத்தின் ஒரு பகுதி தேவைப்படும் என்பதை குறித்து கொள்ளவும்."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "ஒதுக்கி வைக்க வேண்டிய நினைவகம் (MB): (_R)"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "மொத்த கணினி நினைவகம் (MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "பயன்படுத்தும் கணினி நினைவகம் (MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "kdumpஐ செயல்படுத்த வேண்டுமா? (_E)"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump நினைவக ஒதுக்கீடு:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "(_A) தானியங்கி"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "கைமுறை (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "தற்போது ஒதுக்கி வைக்கப்பட்டுள்ள நினைவகம் (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "மேம்பட்ட kdump அமைவாக்கம்"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "உங்கள் கணினியில் kdump கொண்டிருக்க போதிய நினைவகம் இல்லை!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "இந்த நேரத்தில் Xen கர்னல்களை kdump துணை புரியவில்லை!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "இந்த நேரத்தில் %s கணினி kdump க்கு துணைப்புரிவதில்லை!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "நினைவகத்தை மறு ஒதுக்கீடு செய்வதற்கேற்ப Kdump அமைவுகளை மாற்றுவதற்கு மறு துவக்கம் "
#~ "செய்ய வேண்டும். %sமுதல் துவக்கம் முடிந்தவுடன் மறு துவக்கம் செய்து, இந்த மாற்றத்தை தொடர "
#~ "வேண்டுமா?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "பிழை! துவக்க ஏற்றி கட்டமைப்பு கோப்பு இல்லை, கட்டமைப்பை நிறுத்துகிறது!"

View file

@ -1,116 +0,0 @@
# translation of te.po to Telugu
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Krishna Babu K <kkrothap@redhat.com>, 2007, 2010.
# kkrothap <kkrothap@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 09:17-0500\n"
"Last-Translator: kkrothap <kkrothap@fedoraproject.org>\n"
"Language-Team: Telugu <en@li.org>\n"
"Language: te\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"కెడంప్ కెర్నల్ క్రాష్ డంపింగ్ మిషన్.మీ సిస్టమ్ క్రాషైనప్పుడు కెడంప్ సిస్టమ్ నుండి సమాచారాన్ని సేకరింస్తుంది,ఇది "
"క్రాషవడానికి గల కారణాలను నిర్దారించడానికి వీలుకానిది అయిఉండొచ్చు."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "రిజర్వు చేయవలసిన మెమొరీ (MB) (_R):"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "మొత్తం సిస్టమ్ మెమొరి(MB):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "ఉపయోగకరమైన సిస్టమ్ మెమొరి(MB):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "కెడంప్ సిద్దపరచు(_E)?"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "కెడంప్ మెమొర రిజర్వేషన్:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "స్వయంచాలక (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "మానవీయ (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "ప్రస్తుతం రిజర్వు అయిన మెమొరీ (MB):"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "అధునాతన కెడంప్ ఆకృతీకరణ"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "క్షమించాలి,మీ సిస్టమ్ కెడంప్ కు తగినంత మెమొరీని కలిగి లేదు!"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "క్షమించాలి, xen కెర్నల్సు కెడంప్ కు ఈసమయంలో మద్దతీయటలేదు!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "క్షమించాలి,ఈ సమయమందు %s నిర్మాణం కెడంప్ కు మద్దతునీయదు!"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "కెడంప్ అమరికలు మార్చినట్లైతే వాటికి తగినట్లు మెమొరీని తిరిగికేటాయించుటకు సిస్టమ్ పునఃప్రారంభించవలెను. "
#~ "మీరు ఈ మార్పుతో కొనసాగటానికి మరియు ఫస్టుబూట్ పూర్తైనతరువాత రీబూట్ చేయటానికి ఇష్టపడతారా?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "దోషం!బూట్ లోడర్ ఆకృతీకరణ దస్త్రం కనబడలేదు,ఆకృతీకరణ రద్దుచేయబడుతోంది!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=2; plural=(n>1)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,115 +0,0 @@
# Ukrainian translation to kexec-tools.
# Copyright (C) Free Software Foundation
# This file is distributed under the same license as the kexec-tools package.
# Maxim Dziumanenko <dziumanenko@gmail.com>, 2007.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2007-01-23 07:15-0500\n"
"Last-Translator: Maxim Dziumanenko <dziumanenko@gmail.com>\n"
"Language-Team: Ukrainian <uk@li.org>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump - це механізм створення дампів ядра. При виникненні системної помилки "
"kdump збирає потрібну інформацію для подальшого визначення причини помилки. "
"Зауважте, що kdump резервує частину пам'яті системи, що робить її "
"недоступною для інших користувачів."
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
#, fuzzy
msgid "Total System Memory (MB):"
msgstr "_Загальний розмір системної пам'яті (МБ):"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
#, fuzzy
msgid "Usable System Memory (MB):"
msgstr "_Системна пам'ять, що використовується (МБ):"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
#, fuzzy
msgid "Kdump Memory Reservation:"
msgstr "Па'мять _Kdump (MБ):"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr ""
#~ "Система не має достатньої кількості пам'яті для нормальної роботи kdump!"
#, fuzzy
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "Наразі ядра Xen не підтримують kdump!"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "Архітектура %s наразі не підтримує kdump!"
#, fuzzy
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "Зміна параметрів Kdump потребує перезавантаження системи для "
#~ "перерозподілу пам'яті. %sПродовжити роботу чи перезавантажити систему? "
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr ""
#~ "Помилка! Не знайдено конфігураційний файл завантажувача, налаштовування "
#~ "перервано!"

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,78 +0,0 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: \n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr ""
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr ""
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr ""
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr ""
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr ""
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr ""

View file

@ -1,94 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<config xmlns="http://zanata.org/namespace/config/">
<url>https://translate.zanata.org/zanata/</url>
<project>kexec-tools</project>
<project-version>F18</project-version>
<project-type>gettext</project-type>
<locales>
<locale>ar</locale>
<locale>as</locale>
<locale>bg</locale>
<locale map-from="bn_IN">bn-IN</locale>
<locale>ca</locale>
<locale>cs</locale>
<locale>da</locale>
<locale>de-CH</locale>
<locale>de-DE</locale>
<locale>el</locale>
<locale map-from="en_GB">en-GB</locale>
<locale>es-ES</locale>
<locale>es-MX</locale>
<locale>fa</locale>
<locale>fi</locale>
<locale>fr</locale>
<locale>gu</locale>
<locale>he</locale>
<locale>hi</locale>
<locale>hr</locale>
<locale>hu</locale>
<locale>id</locale>
<locale>is</locale>
<locale>it</locale>
<locale>ja</locale>
<locale>kn</locale>
<locale>ko</locale>
<locale>lv</locale>
<locale>ml</locale>
<locale>mr</locale>
<locale>ms</locale>
<locale>nb</locale>
<locale>nl</locale>
<locale>or</locale>
<locale>pl</locale>
<locale>pt-PT</locale>
<locale map-from="pt_BR">pt-BR</locale>
<locale>ru</locale>
<locale>si</locale>
<locale>sk</locale>
<locale>sr-Cyrl</locale>
<locale map-from="sr@Latn">sr-Latn</locale>
<locale>sv</locale>
<locale>ta-IN</locale>
<locale>te</locale>
<locale>th</locale>
<locale>tr</locale>
<locale>uk</locale>
<locale map-from="zh_CN">zh-Hans-CN</locale>
<locale map-from="zh_TW">zh-Hant-TW</locale>
<locale>af</locale>
<locale>am</locale>
<locale>az</locale>
<locale>bn-BD</locale>
<locale>cy</locale>
<locale>eo</locale>
<locale>et</locale>
<locale>eu</locale>
<locale>ga</locale>
<locale>gl</locale>
<locale>ka</locale>
<locale>lt</locale>
<locale>nn</locale>
<locale>ro</locale>
<locale>sl</locale>
<locale>sq</locale>
<locale>vi</locale>
<locale>ast</locale>
<locale>bs</locale>
<locale>nds</locale>
<locale>ky</locale>
<locale>la</locale>
<locale>mn</locale>
<locale>tl</locale>
<locale>xh</locale>
<locale>pa</locale>
<locale>mai</locale>
<locale>es</locale>
<locale>de</locale>
<locale>brx</locale>
<locale>ta</locale>
<locale>br</locale>
<locale>kk</locale>
</locales>
</config>

View file

@ -1,120 +0,0 @@
# translation of zh_CN.po to Wei Liu
# translation of zh_CN.po to
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Xi HUANG <xhuang@redhat.com>, 2007.
# Leah Liu <lliu@redhat.com>, 2010.
# leahliu <lliu@redhat.com>, 2012. #zanata
# yangrr <ruyang@redhat.com>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-20 10:07-0500\n"
"Last-Translator: yangrr <ruyang@redhat.com>\n"
"Language-Team: Wei Liu\n"
"Language: zh-Hans-CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump 是一个内核崩溃转储机制。在系统崩溃的时候kdump 将捕获系统信息,这对于"
"诊断崩溃的原因非常有用。注意kdump 需要预留一部分系统内存,且这部分内存对于"
"其他用户是不可用的。"
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "要保留的内存MB"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "总系统内存MB"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "可用系统内存MB"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "启用 kdump (_E)"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "为 Kdump 保留的内存:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "自动_A"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "手动_M"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "目前保留的内存MB"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "高级 kdump 配置"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "对不起,您的系统没有足够的内存在运行 kdump"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "对不起,现在 Xen 内核不支持 kdump"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "对不起,%s 体系结构此时不支持 kdump"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "更改 Kdump 设置需要重新启动系统以便根据情况重新分配内存。您要保留这些修改"
#~ "并在 firstboot 完成后重新启动系统吗?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "错误!找不到引导装载程序的配置文件,配置终止!"

View file

@ -1,118 +0,0 @@
# translation of zh_TW.po to Traditional Chinese
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
#
# Chester Cheng <ccheng@redhat.com>, 2007.
# Terry Chuang <tchuang@redhat.com>, 2010.
# snowlet <snowlet@fedoraproject.org>, 2012. #zanata
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-08 15:52+0800\n"
"PO-Revision-Date: 2012-12-18 01:50-0500\n"
"Last-Translator: snowlet <snowlet@fedoraproject.org>\n"
"Language-Team: Traditional Chinese <zh_TW@li.org>\n"
"Language: zh-Hant-TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Zanata 2.0.2\n"
"Plural-Forms: nplurals=1; plural=0\n"
#: ../com_redhat_kdump/ks/kdump.py:112
#, python-format
msgid "Invalid value %s for --reserve-mb"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:56
msgid "Kdump"
msgstr "Kdump"
#: ../com_redhat_kdump/tui/spokes/kdump.py:84
#: ../com_redhat_kdump/gui/spokes/kdump.py:139
msgid "Kdump is enabled"
msgstr ""
#: ../com_redhat_kdump/tui/spokes/kdump.py:86
#: ../com_redhat_kdump/gui/spokes/kdump.py:141
msgid "Kdump is disabled"
msgstr ""
#: ../com_redhat_kdump/gui/spokes/kdump.py:44 tmp/fedora.glade.h:1
#: tmp/RHEL.glade.h:1
msgid "KDUMP"
msgstr ""
#: tmp/fedora.glade.h:2 tmp/RHEL.glade.h:2
msgid ""
"Kdump is a kernel crash dumping mechanism. In the event of a system crash, "
"kdump will capture information from your system that can be invaluable in "
"determining the cause of the crash. Note that kdump does require reserving a "
"portion of system memory that will be unavailable for other uses."
msgstr ""
"Kdump 是核心當機時的傾印機制。當系統當機時kdump 會擷取系統資訊,以找出導致"
"當機的原因。請注意kdump 需要保留部份系統記憶體,其他使用者將無法使用這些記"
"憶體。"
#: tmp/fedora.glade.h:3 tmp/RHEL.glade.h:7
msgid "Memory To Be _Reserved (MB):"
msgstr "要保留的記憶體MB(_R)"
#: tmp/fedora.glade.h:4 tmp/RHEL.glade.h:8
msgid "Total System Memory (MB):"
msgstr "總系統記憶體MB"
#: tmp/fedora.glade.h:5 tmp/RHEL.glade.h:9
msgid "Usable System Memory (MB):"
msgstr "可用的系統記憶體MB"
#: tmp/fedora.glade.h:6 tmp/RHEL.glade.h:3
msgid "_Enable kdump?"
msgstr "啟用 kdump(_E)"
#: tmp/RHEL.glade.h:4
msgid "Kdump Memory Reservation:"
msgstr "Kdump 保留記憶體:"
#: tmp/RHEL.glade.h:5
msgid "_Automatic"
msgstr "自動 (_A)"
#: tmp/RHEL.glade.h:6
msgid "_Manual"
msgstr "首棟 (_M)"
#~ msgid "%s"
#~ msgstr "%s"
#~ msgid "Memory Currently Reserved (MB):"
#~ msgstr "目前保留的記憶體MB"
#~ msgid ""
#~ "\n"
#~ "Advanced kdump configuration"
#~ msgstr ""
#~ "\n"
#~ "kdump 進階配置"
#~ msgid ""
#~ "Sorry, your system does not have enough memory for kdump to be viable!"
#~ msgstr "您的系統沒有足夠的記憶體以執行 kdump"
#~ msgid "Sorry, Xen kernels do not support kdump at this time!"
#~ msgstr "很抱歉Xen kernel 目前尚不支援 kdump"
#~ msgid "Sorry, the %s architecture does not support kdump at this time!"
#~ msgstr "%s 架構尚不支援 kdump"
#~ msgid ""
#~ "Changing Kdump settings requires rebooting the system to reallocate "
#~ "memory accordingly. Would you like to continue with this change and "
#~ "reboot the system after firstboot is complete?"
#~ msgstr ""
#~ "變更 Kdump 設定之後,必須重新啟動系統,以重新分配記憶體。您是否希望繼續進"
#~ "行這項變更,並在 firstboot 完成後重新啟動系統?"
#~ msgid "Error! No bootloader config file found, aborting configuration!"
#~ msgstr "錯誤,找不到 bootloader開機載入程式的設定檔放棄設定"

View file

@ -1,30 +0,0 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Kdump Vmcore Save Service
After=initrd.target initrd-parse-etc.service sysroot.mount
After=dracut-initqueue.service dracut-pre-mount.service dracut-mount.service dracut-pre-pivot.service
Before=initrd-cleanup.service
ConditionPathExists=/etc/initrd-release
OnFailure=emergency.target
OnFailureIsolate=yes
[Service]
Environment=DRACUT_SYSTEMD=1
Environment=NEWROOT=/sysroot
Type=oneshot
ExecStart=/bin/kdump.sh
StandardInput=null
StandardOutput=syslog
StandardError=syslog+console
KillMode=process
RemainAfterExit=yes
# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
# terminates cleanly.
KillSignal=SIGHUP

View file

@ -1,28 +0,0 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This service will be placed in kdump initramfs and replace both the systemd
# emergency service and dracut emergency shell. IOW, any emergency will be
# kick this service and in turn isolating to kdump error handler.
[Unit]
Description=Kdump Emergency
DefaultDependencies=no
IgnoreOnIsolate=yes
[Service]
ExecStart=/usr/bin/systemctl --no-block isolate kdump-error-handler.service
Type=oneshot
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
KillMode=process
IgnoreSIGPIPE=no
# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
# terminates cleanly.
KillSignal=SIGHUP

View file

@ -1,14 +0,0 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Emergency Mode
Documentation=man:systemd.special(7)
Requires=emergency.service
After=emergency.service
AllowIsolate=yes
IgnoreOnIsolate=yes

View file

@ -1,34 +0,0 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This service will run the real kdump error handler code. Executing the
# default action configured in kdump.conf
[Unit]
Description=Kdump Error Handler
DefaultDependencies=no
After=systemd-vconsole-setup.service
Wants=systemd-vconsole-setup.service
AllowIsolate=yes
[Service]
Environment=HOME=/
Environment=DRACUT_SYSTEMD=1
Environment=NEWROOT=/sysroot
WorkingDirectory=/
ExecStart=/bin/kdump-error-handler.sh
ExecStopPost=-/usr/bin/systemctl --fail --no-block default
Type=oneshot
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
KillMode=process
IgnoreSIGPIPE=no
# Bash ignores SIGTERM, so we send SIGHUP instead, to ensure that bash
# terminates cleanly.
KillSignal=SIGHUP

View file

@ -1,10 +0,0 @@
#!/bin/sh
. /lib/kdump-lib-initramfs.sh
set -o pipefail
export PATH=$PATH:$KDUMP_SCRIPT_DIR
get_kdump_confs
do_default_action
do_final_action

View file

@ -1,204 +0,0 @@
#!/bin/sh
# continue here only if we have to save dump.
if [ -f /etc/fadump.initramfs ] && [ ! -f /proc/device-tree/rtas/ibm,kernel-dump ]; then
exit 0
fi
exec &> /dev/console
. /lib/dracut-lib.sh
. /lib/kdump-lib-initramfs.sh
set -o pipefail
DUMP_RETVAL=0
export PATH=$PATH:$KDUMP_SCRIPT_DIR
do_dump()
{
local _ret
eval $DUMP_INSTRUCTION
_ret=$?
if [ $_ret -ne 0 ]; then
echo "kdump: saving vmcore failed"
fi
return $_ret
}
do_kdump_pre()
{
if [ -n "$KDUMP_PRE" ]; then
"$KDUMP_PRE"
fi
}
do_kdump_post()
{
if [ -n "$KDUMP_POST" ]; then
"$KDUMP_POST" "$1"
fi
}
add_dump_code()
{
DUMP_INSTRUCTION=$1
}
dump_raw()
{
local _raw=$1
[ -b "$_raw" ] || return 1
echo "kdump: saving to raw disk $_raw"
if ! $(echo -n $CORE_COLLECTOR|grep -q makedumpfile); then
_src_size=`ls -l /proc/vmcore | cut -d' ' -f5`
_src_size_mb=$(($_src_size / 1048576))
monitor_dd_progress $_src_size_mb &
fi
echo "kdump: saving vmcore"
$CORE_COLLECTOR /proc/vmcore | dd of=$_raw bs=$DD_BLKSIZE >> /tmp/dd_progress_file 2>&1 || return 1
sync
echo "kdump: saving vmcore complete"
return 0
}
dump_ssh()
{
local _opt="-i $1 -o BatchMode=yes -o StrictHostKeyChecking=yes"
local _dir="$KDUMP_PATH/$HOST_IP-$DATEDIR"
local _host=$2
echo "kdump: saving to $_host:$_dir"
cat /var/lib/random-seed > /dev/urandom
ssh -q $_opt $_host mkdir -p $_dir || return 1
save_vmcore_dmesg_ssh ${DMESG_COLLECTOR} ${_dir} "${_opt}" $_host
echo "kdump: saving vmcore"
if [ "${CORE_COLLECTOR%%[[:blank:]]*}" = "scp" ]; then
scp -q $_opt /proc/vmcore "$_host:$_dir/vmcore-incomplete" || return 1
ssh $_opt $_host "mv $_dir/vmcore-incomplete $_dir/vmcore" || return 1
else
$CORE_COLLECTOR /proc/vmcore | ssh $_opt $_host "dd bs=512 of=$_dir/vmcore-incomplete" || return 1
ssh $_opt $_host "mv $_dir/vmcore-incomplete $_dir/vmcore.flat" || return 1
fi
echo "kdump: saving vmcore complete"
return 0
}
save_vmcore_dmesg_ssh() {
local _dmesg_collector=$1
local _path=$2
local _opts="$3"
local _location=$4
echo "kdump: saving vmcore-dmesg.txt"
$_dmesg_collector /proc/vmcore | ssh $_opts $_location "dd of=$_path/vmcore-dmesg-incomplete.txt"
_exitcode=$?
if [ $_exitcode -eq 0 ]; then
ssh -q $_opts $_location mv $_path/vmcore-dmesg-incomplete.txt $_path/vmcore-dmesg.txt
echo "kdump: saving vmcore-dmesg.txt complete"
else
echo "kdump: saving vmcore-dmesg.txt failed"
fi
}
get_host_ip()
{
local _host
if is_nfs_dump_target || is_ssh_dump_target
then
kdumpnic=$(getarg kdumpnic=)
[ -z "$kdumpnic" ] && echo "kdump: failed to get kdumpnic!" && return 1
_host=`ip addr show dev $kdumpnic|grep '[ ]*inet'`
[ $? -ne 0 ] && echo "kdump: wrong kdumpnic: $kdumpnic" && return 1
_host=`echo $_host | head -n 1 | cut -d' ' -f2`
_host="${_host%%/*}"
[ -z "$_host" ] && echo "kdump: wrong kdumpnic: $kdumpnic" && return 1
HOST_IP=$_host
fi
return 0
}
read_kdump_conf()
{
if [ ! -f "$KDUMP_CONF" ]; then
echo "kdump: $KDUMP_CONF not found"
return
fi
get_kdump_confs
# rescan for add code for dump target
while read config_opt config_val;
do
# remove inline comments after the end of a directive.
config_val=$(strip_comments $config_val)
case "$config_opt" in
dracut_args)
config_val=$(get_dracut_args_target "$config_val")
[ -n "$config_val" ] && add_dump_code "dump_fs $config_val"
;;
ext[234]|xfs|btrfs|minix|nfs)
add_dump_code "dump_fs $config_val"
;;
raw)
add_dump_code "dump_raw $config_val"
;;
ssh)
add_dump_code "dump_ssh $SSH_KEY_LOCATION $config_val"
;;
esac
done < $KDUMP_CONF
}
fence_kdump_notify()
{
if [ -n "$FENCE_KDUMP_NODES" ]; then
$FENCE_KDUMP_SEND $FENCE_KDUMP_ARGS $FENCE_KDUMP_NODES &
fi
}
read_kdump_conf
fence_kdump_notify
get_host_ip
if [ $? -ne 0 ]; then
echo "kdump: get_host_ip exited with non-zero status!"
exit 1
fi
if [ -z "$DUMP_INSTRUCTION" ]; then
add_dump_code "dump_fs $NEWROOT"
fi
do_kdump_pre
if [ $? -ne 0 ]; then
echo "kdump: kdump_pre script exited with non-zero status!"
do_final_action
fi
make_trace_mem "kdump saving vmcore" '1:shortmem' '2+:mem' '3+:slab'
do_dump
DUMP_RETVAL=$?
do_kdump_post $DUMP_RETVAL
if [ $? -ne 0 ]; then
echo "kdump: kdump_post script exited with non-zero status!"
fi
if [ $DUMP_RETVAL -ne 0 ]; then
exit 1
fi
do_final_action

View file

@ -1,767 +0,0 @@
#!/bin/bash
. $dracutfunctions
. /lib/kdump/kdump-lib.sh
if ! [[ -d "${initdir}/tmp" ]]; then
mkdir -p "${initdir}/tmp"
fi
check() {
[[ $debug ]] && set -x
#kdumpctl sets this explicitly
if [ -z "$IN_KDUMP" ] || [ ! -f /etc/kdump.conf ]
then
return 1
fi
return 0
}
depends() {
local _dep="base shutdown"
if [ -n "$( find /sys/devices -name drm )" ]; then
_dep="$_dep drm"
fi
if is_generic_fence_kdump -o is_pcs_fence_kdump; then
_dep="$_dep network"
fi
echo $_dep
return 0
}
kdump_get_persistent_dev() {
local dev="${1//\"/}"
case "$dev" in
UUID=*)
dev=`blkid -U "${dev#UUID=}"`
;;
LABEL=*)
dev=`blkid -L "${dev#LABEL=}"`
;;
esac
echo $(get_persistent_dev "$dev")
}
kdump_is_bridge() {
[ -d /sys/class/net/"$1"/bridge ]
}
kdump_is_bond() {
[ -d /sys/class/net/"$1"/bonding ]
}
kdump_is_team() {
[ -f /usr/bin/teamnl ] && teamnl $1 ports &> /dev/null
}
kdump_is_vlan() {
[ -f /proc/net/vlan/"$1" ]
}
# $1: netdev name
source_ifcfg_file() {
local ifcfg_file
ifcfg_file=$(get_ifcfg_filename $1)
if [ -f "${ifcfg_file}" ]; then
. ${ifcfg_file}
else
dwarning "The ifcfg file of $1 is not found!"
fi
}
# $1: netdev name
kdump_setup_dns() {
local _nameserver _dns
local _dnsfile=${initdir}/etc/cmdline.d/42dns.conf
source_ifcfg_file $1
[ -n "$DNS1" ] && echo "nameserver=$DNS1" > "$_dnsfile"
[ -n "$DNS2" ] && echo "nameserver=$DNS2" >> "$_dnsfile"
while read content;
do
_nameserver=$(echo $content | grep ^nameserver)
[ -z "$_nameserver" ] && continue
_dns=$(echo $_nameserver | cut -d' ' -f2)
[ -z "$_dns" ] && continue
if [ ! -f $_dnsfile ] || [ ! $(cat $_dnsfile | grep -q $_dns) ]; then
echo "nameserver=$_dns" >> "$_dnsfile"
fi
done < "/etc/resolv.conf"
}
#$1: netdev name
#$2: srcaddr
#if it use static ip echo it, or echo null
kdump_static_ip() {
local _netdev="$1" _srcaddr="$2" _ipv6_flag
local _netmask _gateway _ipaddr _target _nexthop
_ipaddr=$(ip addr show dev $_netdev permanent | awk "/ $_srcaddr\/.* /{print \$2}")
if is_ipv6_address $_srcaddr; then
_ipv6_flag="-6"
fi
if [ -n "$_ipaddr" ]; then
_gateway=$(ip $_ipv6_flag route list dev $_netdev | \
awk '/^default /{print $3}' | head -n 1)
if [ "x" != "x"$_ipv6_flag ]; then
# _ipaddr="2002::56ff:feb6:56d5/64", _netmask is the number after "/"
_netmask=${_ipaddr#*\/}
_srcaddr="[$_srcaddr]"
_gateway="[$_gateway]"
else
_netmask=$(ipcalc -m $_ipaddr | cut -d'=' -f2)
fi
echo -n "${_srcaddr}::${_gateway}:${_netmask}::"
fi
/sbin/ip $_ipv6_flag route show | grep -v default | grep ".*via.* $_netdev " |\
while read _route; do
_target=`echo $_route | cut -d ' ' -f1`
_nexthop=`echo $_route | cut -d ' ' -f3`
if [ "x" != "x"$_ipv6_flag ]; then
_target="[$_target]"
_nexthop="[$_nexthop]"
fi
echo "rd.route=$_target:$_nexthop:$_netdev"
done >> ${initdir}/etc/cmdline.d/45route-static.conf
}
kdump_get_mac_addr() {
cat /sys/class/net/$1/address
}
#Bonding or team master modifies the mac address
#of its slaves, we should use perm address
kdump_get_perm_addr() {
local addr=$(ethtool -P $1 | sed -e 's/Permanent address: //')
if [ -z "$addr" ] || [ "$addr" = "00:00:00:00:00:00" ]
then
derror "Can't get the permanent address of $1"
else
echo "$addr"
fi
}
# Prefix kernel assigned names with "kdump-". EX: eth0 -> kdump-eth0
# Because kernel assigned names are not persistent between 1st and 2nd
# kernel. We could probably end up with eth0 being eth1, eth0 being
# eth1, and naming conflict happens.
kdump_setup_ifname() {
local _ifname
# If ifname already has 'kdump-' prefix, we must be switching from
# fadump to kdump. Skip prefixing 'kdump-' in this case as adding
# another prefix may truncate the ifname. Since an ifname with
# 'kdump-' is already persistent, this should be fine.
if [[ $1 =~ eth* ]] && [[ ! $1 =~ ^kdump-* ]]; then
_ifname="kdump-$1"
else
_ifname="$1"
fi
echo "$_ifname"
}
kdump_setup_bridge() {
local _netdev=$1
local _brif _dev _mac _kdumpdev
for _dev in `ls /sys/class/net/$_netdev/brif/`; do
_kdumpdev=$_dev
if kdump_is_bond "$_dev"; then
kdump_setup_bond "$_dev"
elif kdump_is_team "$_dev"; then
kdump_setup_team "$_dev"
elif kdump_is_vlan "$_dev"; then
kdump_setup_vlan "$_dev"
else
_mac=$(kdump_get_mac_addr $_dev)
_kdumpdev=$(kdump_setup_ifname $_dev)
echo -n " ifname=$_kdumpdev:$_mac" >> ${initdir}/etc/cmdline.d/41bridge.conf
fi
_brif+="$_kdumpdev,"
done
echo " bridge=$_netdev:$(echo $_brif | sed -e 's/,$//')" >> ${initdir}/etc/cmdline.d/41bridge.conf
}
kdump_setup_bond() {
local _netdev=$1
local _dev _mac _slaves _kdumpdev
for _dev in `cat /sys/class/net/$_netdev/bonding/slaves`; do
_mac=$(kdump_get_perm_addr $_dev)
_kdumpdev=$(kdump_setup_ifname $_dev)
echo -n " ifname=$_kdumpdev:$_mac" >> ${initdir}/etc/cmdline.d/42bond.conf
_slaves+="$_kdumpdev,"
done
echo -n " bond=$_netdev:$(echo $_slaves | sed 's/,$//')" >> ${initdir}/etc/cmdline.d/42bond.conf
# Get bond options specified in ifcfg
source_ifcfg_file $_netdev
bondoptions="$(echo :$BONDING_OPTS | sed 's/\s\+/,/')"
echo "$bondoptions" >> ${initdir}/etc/cmdline.d/42bond.conf
}
kdump_setup_team() {
local _netdev=$1
local _dev _mac _slaves _kdumpdev
for _dev in `teamnl $_netdev ports | awk -F':' '{print $2}'`; do
_mac=$(kdump_get_perm_addr $_dev)
_kdumpdev=$(kdump_setup_ifname $_dev)
echo -n " ifname=$_kdumpdev:$_mac" >> ${initdir}/etc/cmdline.d/44team.conf
_slaves+="$_kdumpdev,"
done
echo " team=$_netdev:$(echo $_slaves | sed -e 's/,$//')" >> ${initdir}/etc/cmdline.d/44team.conf
#Buggy version teamdctl outputs to stderr!
#Try to use the latest version of teamd.
teamdctl "$_netdev" config dump > ${initdir}/tmp/$$-$_netdev.conf
if [ $? -ne 0 ]
then
derror "teamdctl failed."
exit 1
fi
inst_dir /etc/teamd
inst_simple ${initdir}/tmp/$$-$_netdev.conf "/etc/teamd/$_netdev.conf"
rm -f ${initdir}/tmp/$$-$_netdev.conf
}
kdump_setup_vlan() {
local _netdev=$1
local _phydev="$(awk '/^Device:/{print $2}' /proc/net/vlan/"$_netdev")"
local _netmac="$(kdump_get_mac_addr $_phydev)"
local _kdumpdev
#Just support vlan over bond, it is not easy
#to support all other complex setup
if kdump_is_bridge "$_phydev"; then
derror "Vlan over bridge is not supported!"
exit 1
elif kdump_is_team "$_phydev"; then
derror "Vlan over team is not supported!"
exit 1
elif kdump_is_bond "$_phydev"; then
kdump_setup_bond "$_phydev"
echo " vlan=$_netdev:$_phydev" > ${initdir}/etc/cmdline.d/43vlan.conf
else
_kdumpdev="$(kdump_setup_ifname $_phydev)"
echo " vlan=$_netdev:$_kdumpdev ifname=$_kdumpdev:$_netmac" > ${initdir}/etc/cmdline.d/43vlan.conf
fi
}
# setup s390 znet cmdline
# $1: netdev name
kdump_setup_znet() {
local _options=""
source_ifcfg_file $1
for i in $OPTIONS; do
_options=${_options},$i
done
echo rd.znet=${NETTYPE},${SUBCHANNELS}${_options} > ${initdir}/etc/cmdline.d/30znet.conf
}
# Setup dracut to bringup a given network interface
kdump_setup_netdev() {
local _netdev=$1 _srcaddr=$2
local _static _proto _ip_conf _ip_opts _ifname_opts
local _netmac=$(kdump_get_mac_addr $_netdev)
if [ "$(uname -m)" = "s390x" ]; then
kdump_setup_znet $_netdev
fi
_static=$(kdump_static_ip $_netdev $_srcaddr)
if [ -n "$_static" ]; then
_proto=none
else
_proto=dhcp
fi
_ip_conf="${initdir}/etc/cmdline.d/40ip.conf"
_ip_opts=" ip=${_static}$(kdump_setup_ifname $_netdev):${_proto}"
# dracut doesn't allow duplicated configuration for same NIC, even they're exactly the same.
# so we have to avoid adding duplicates
# We should also check /proc/cmdline for existing ip=xx arg.
# For example, iscsi boot will specify ip=xxx arg in cmdline.
if [ ! -f $_ip_conf ] || ! grep -q $_ip_opts $_ip_conf &&\
! grep -q "ip=[^[:space:]]*$_netdev" /proc/cmdline; then
echo "$_ip_opts" >> $_ip_conf
fi
if kdump_is_bridge "$_netdev"; then
kdump_setup_bridge "$_netdev"
elif kdump_is_bond "$_netdev"; then
kdump_setup_bond "$_netdev"
elif kdump_is_team "$_netdev"; then
kdump_setup_team "$_netdev"
elif kdump_is_vlan "$_netdev"; then
kdump_setup_vlan "$_netdev"
else
_ifname_opts=" ifname=$(kdump_setup_ifname $_netdev):$_netmac"
echo "$_ifname_opts" >> $_ip_conf
fi
kdump_setup_dns "$_netdev"
}
get_ip_route_field()
{
if `echo $1 | grep -q $2`; then
echo ${1##*$2} | cut -d ' ' -f1
fi
}
#Function:kdump_install_net
#$1: config values of net line in kdump.conf
#$2: srcaddr of network device
kdump_install_net() {
local _server _netdev _srcaddr _route _serv_tmp
local config_val="$1"
_server=$(get_remote_host $config_val)
if is_hostname $_server; then
_serv_tmp=`getent ahosts $_server | grep -v : | head -n 1`
if [ -z "$_serv_tmp" ]; then
_serv_tmp=`getent ahosts $_server | head -n 1`
fi
_server=`echo $_serv_tmp | cut -d' ' -f1`
fi
_route=`/sbin/ip -o route get to $_server 2>&1`
[ $? != 0 ] && echo "Bad kdump location: $config_val" && exit 1
#the field in the ip output changes if we go to another subnet
_srcaddr=$(get_ip_route_field "$_route" "src")
_netdev=$(get_ip_route_field "$_route" "dev")
kdump_setup_netdev "${_netdev}" "${_srcaddr}"
#save netdev used for kdump as cmdline
# Whoever calling kdump_install_net() is setting up the default gateway,
# ie. bootdev/kdumpnic. So don't override the setting if calling
# kdump_install_net() for another time. For example, after setting eth0 as
# the default gate way for network dump, eth1 in the fence kdump path will
# call kdump_install_net again and we don't want eth1 to be the default
# gateway.
if [ ! -f ${initdir}/etc/cmdline.d/60kdumpnic.conf ] &&
[ ! -f ${initdir}/etc/cmdline.d/70bootdev.conf ]; then
echo "kdumpnic=$(kdump_setup_ifname $_netdev)" > ${initdir}/etc/cmdline.d/60kdumpnic.conf
echo "bootdev=$(kdump_setup_ifname $_netdev)" > ${initdir}/etc/cmdline.d/70bootdev.conf
fi
}
default_dump_target_install_conf()
{
local _target _fstype
local _mntpoint _save_path
is_user_configured_dump_target && return
_save_path=$(get_option_value "path")
[ -z "$_save_path" ] && _save_path=$DEFAULT_PATH
# strip the duplicated "/"
_save_path=$(echo $_save_path | tr -s /)
_mntpoint=$(get_mntpoint_from_path $_save_path)
_target=$(get_target_from_path $_save_path)
if is_atomic && is_bind_mount $_mntpoint; then
_save_path=${_save_path##"$_mntpoint"}
# the real dump path in the 2nd kernel, if the mount point is bind mounted.
_save_path=$(get_bind_mount_directory $_mntpoint)/$_save_path
_mntpoint=$(get_mntpoint_from_target $_target)
# the absolute path in the 1st kernel
_save_path=$_mntpoint/$_save_path
fi
_fstype=$(get_fs_type_from_target $_target)
if is_fs_type_nfs $_fstype; then
kdump_install_net "$_target"
_fstype="nfs"
else
_target=$(kdump_get_persistent_dev $_target)
fi
echo "$_fstype $_target" >> ${initdir}/tmp/$$-kdump.conf
# strip the duplicated "/"
_save_path=$(echo $_save_path | tr -s /)
# don't touch the path under root mount
if [ "$_mntpoint" != "/" ]; then
_save_path=${_save_path##"$_mntpoint"}
fi
#erase the old path line, then insert the parsed path
sed -i "/^path/d" ${initdir}/tmp/$$-kdump.conf
echo "path $_save_path" >> ${initdir}/tmp/$$-kdump.conf
}
adjust_bind_mount_path()
{
local _target=$1
local _save_path=$(get_option_value "path")
[ -z "$_save_path" ] && _save_path=$DEFAULT_PATH
# strip the duplicated "/"
_save_path=$(echo $_save_path | tr -s /)
local _absolute_save_path=$(get_mntpoint_from_target $_target)/$_save_path
_absolute_save_path=$(echo "$_absolute_save_path" | tr -s /)
local _mntpoint=$(get_mntpoint_from_path $_absolute_save_path)
if is_bind_mount $_mntpoint; then
_save_path=${_absolute_save_path##"$_mntpoint"}
# the real dump path in the 2nd kernel, if the mount point is bind mounted.
_save_path=$(get_bind_mount_directory $_mntpoint)/$_save_path
#erase the old path line, then insert the parsed path
sed -i "/^path/d" ${initdir}/tmp/$$-kdump.conf
echo "path $_save_path" >> ${initdir}/tmp/$$-kdump.conf
fi
}
#install kdump.conf and what user specifies in kdump.conf
kdump_install_conf() {
local _opt _val _pdev
sed -ne '/^#/!p' /etc/kdump.conf > ${initdir}/tmp/$$-kdump.conf
while read _opt _val;
do
# remove inline comments after the end of a directive.
_val=$(strip_comments $_val)
case "$_opt" in
raw)
_pdev=$(persistent_policy="by-id" kdump_get_persistent_dev $_val)
sed -i -e "s#^$_opt[[:space:]]\+$_val#$_opt $_pdev#" ${initdir}/tmp/$$-kdump.conf
;;
ext[234]|xfs|btrfs|minix)
_pdev=$(kdump_get_persistent_dev $_val)
sed -i -e "s#^$_opt[[:space:]]\+$_val#$_opt $_pdev#" ${initdir}/tmp/$$-kdump.conf
if is_atomic; then
adjust_bind_mount_path "$_val"
fi
;;
ssh|nfs)
kdump_install_net "$_val"
;;
dracut_args)
if [[ $(get_dracut_args_fstype "$_val") = nfs* ]] ; then
kdump_install_net "$(get_dracut_args_target "$_val")"
fi
;;
kdump_pre|kdump_post|extra_bins)
dracut_install $_val
;;
core_collector)
dracut_install "${_val%%[[:blank:]]*}"
;;
esac
done < /etc/kdump.conf
default_dump_target_install_conf
kdump_configure_fence_kdump "${initdir}/tmp/$$-kdump.conf"
inst "${initdir}/tmp/$$-kdump.conf" "/etc/kdump.conf"
rm -f ${initdir}/tmp/$$-kdump.conf
}
# Default sysctl parameters should suffice for kdump kernel.
# Remove custom configurations sysctl.conf & sysctl.d/*
remove_sysctl_conf() {
# As custom configurations like vm.min_free_kbytes can lead
# to OOM issues in kdump kernel, avoid them
rm -f "${initdir}/etc/sysctl.conf"
rm -rf "${initdir}/etc/sysctl.d"
rm -rf "${initdir}/run/sysctl.d"
rm -rf "${initdir}/usr/lib/sysctl.d"
}
kdump_iscsi_get_rec_val() {
local result
# The open-iscsi 742 release changed to using flat files in
# /var/lib/iscsi.
result=$(/sbin/iscsiadm --show -m session -r ${1} | grep "^${2} = ")
result=${result##* = }
echo $result
}
kdump_get_iscsi_initiator() {
local _initiator
local initiator_conf="/etc/iscsi/initiatorname.iscsi"
[ -f "$initiator_conf" ] || return 1
while read _initiator; do
[ -z "${_initiator%%#*}" ] && continue # Skip comment lines
case $_initiator in
InitiatorName=*)
initiator=${_initiator#InitiatorName=}
echo "rd.iscsi.initiator=${initiator}"
return 0;;
*) ;;
esac
done < ${initiator_conf}
return 1
}
# Figure out iBFT session according to session type
is_ibft() {
[ "$(kdump_iscsi_get_rec_val $1 "node.discovery_type")" = fw ]
}
kdump_setup_iscsi_device() {
local path=$1
local tgt_name; local tgt_ipaddr;
local username; local password; local userpwd_str;
local username_in; local password_in; local userpwd_in_str;
local netdev
local srcaddr
local idev
local netroot_str ; local initiator_str;
local netroot_conf="${initdir}/etc/cmdline.d/50iscsi.conf"
local initiator_conf="/etc/iscsi/initiatorname.iscsi"
dinfo "Found iscsi component $1"
# Check once before getting explicit values, so we can bail out early,
# e.g. in case of pure-hardware(all-offload) iscsi.
if ! /sbin/iscsiadm -m session -r ${path} &>/dev/null ; then
return 1
fi
if is_ibft ${path}; then
return
fi
# Remove software iscsi cmdline generated by 95iscsi,
# and let kdump regenerate here.
rm -f ${initdir}/etc/cmdline.d/95iscsi.conf
tgt_name=$(kdump_iscsi_get_rec_val ${path} "node.name")
tgt_ipaddr=$(kdump_iscsi_get_rec_val ${path} "node.conn\[0\].address")
# get and set username and password details
username=$(kdump_iscsi_get_rec_val ${path} "node.session.auth.username")
[ "$username" == "<empty>" ] && username=""
password=$(kdump_iscsi_get_rec_val ${path} "node.session.auth.password")
[ "$password" == "<empty>" ] && password=""
username_in=$(kdump_iscsi_get_rec_val ${path} "node.session.auth.username_in")
[ -n "$username" ] && userpwd_str="$username:$password"
# get and set incoming username and password details
[ "$username_in" == "<empty>" ] && username_in=""
password_in=$(kdump_iscsi_get_rec_val ${path} "node.session.auth.password_in")
[ "$password_in" == "<empty>" ] && password_in=""
[ -n "$username_in" ] && userpwd_in_str=":$username_in:$password_in"
netdev=$(/sbin/ip route get to ${tgt_ipaddr} | \
sed 's|.*dev \(.*\).*|\1|g')
srcaddr=$(echo $netdev | awk '{ print $3; exit }')
netdev=$(echo $netdev | awk '{ print $1; exit }')
kdump_setup_netdev $netdev $srcaddr
# prepare netroot= command line
# FIXME: Do we need to parse and set other parameters like protocol, port
# iscsi_iface_name, netdev_name, LUN etc.
if is_ipv6_address $tgt_ipaddr; then
tgt_ipaddr="[$tgt_ipaddr]"
fi
netroot_str="netroot=iscsi:${userpwd_str}${userpwd_in_str}@$tgt_ipaddr::::$tgt_name"
[[ -f $netroot_conf ]] || touch $netroot_conf
# If netroot target does not exist already, append.
if ! grep -q $netroot_str $netroot_conf; then
echo $netroot_str >> $netroot_conf
dinfo "Appended $netroot_str to $netroot_conf"
fi
# Setup initator
initiator_str=$(kdump_get_iscsi_initiator)
[ $? -ne "0" ] && derror "Failed to get initiator name" && return 1
# If initiator details do not exist already, append.
if ! grep -q "$initiator_str" $netroot_conf; then
echo "$initiator_str" >> $netroot_conf
dinfo "Appended "$initiator_str" to $netroot_conf"
fi
}
kdump_check_iscsi_targets () {
# If our prerequisites are not met, fail anyways.
type -P iscsistart >/dev/null || return 1
kdump_check_setup_iscsi() (
local _dev
_dev=$1
[[ -L /sys/dev/block/$_dev ]] || return
cd "$(readlink -f /sys/dev/block/$_dev)"
until [[ -d sys || -d iscsi_session ]]; do
cd ..
done
[[ -d iscsi_session ]] && kdump_setup_iscsi_device "$PWD"
)
[[ $hostonly ]] || [[ $mount_needs ]] && {
for_each_host_dev_and_slaves_all kdump_check_setup_iscsi
}
}
# retrieves fence_kdump nodes from Pacemaker cluster configuration
get_pcs_fence_kdump_nodes() {
local nodes
# get cluster nodes from cluster cib, get interface and ip address
nodelist=`pcs cluster cib | xmllint --xpath "/cib/status/node_state/@uname" -`
# nodelist is formed as 'uname="node1" uname="node2" ... uname="nodeX"'
# we need to convert each to node1, node2 ... nodeX in each iteration
for node in ${nodelist}; do
# convert $node from 'uname="nodeX"' to 'nodeX'
eval $node
nodename=$uname
# Skip its own node name
if [ "$nodename" = `hostname` -o "$nodename" = `hostname -s` ]; then
continue
fi
nodes="$nodes $nodename"
done
echo $nodes
}
# retrieves fence_kdump args from config file
get_pcs_fence_kdump_args() {
if [ -f $FENCE_KDUMP_CONFIG_FILE ]; then
. $FENCE_KDUMP_CONFIG_FILE
echo $FENCE_KDUMP_OPTS
fi
}
# setup fence_kdump in cluster
# setup proper network and install needed files
kdump_configure_fence_kdump () {
local kdump_cfg_file=$1
local nodes
local args
if is_generic_fence_kdump; then
nodes=$(get_option_value "fence_kdump_nodes")
elif is_pcs_fence_kdump; then
nodes=$(get_pcs_fence_kdump_nodes)
# set appropriate options in kdump.conf
echo "fence_kdump_nodes $nodes" >> ${kdump_cfg_file}
args=$(get_pcs_fence_kdump_args)
if [ -n "$args" ]; then
echo "fence_kdump_args $args" >> ${kdump_cfg_file}
fi
else
# fence_kdump not configured
return 1
fi
# setup network for each node
for node in ${nodes}; do
kdump_install_net $node
done
dracut_install $FENCE_KDUMP_SEND
}
# Install a random seed used to feed /dev/urandom
# By the time kdump service starts, /dev/uramdom is already fed by systemd
kdump_install_random_seed() {
local poolsize=`cat /proc/sys/kernel/random/poolsize`
if [ ! -d ${initdir}/var/lib/ ]; then
mkdir -p ${initdir}/var/lib/
fi
dd if=/dev/urandom of=${initdir}/var/lib/random-seed \
bs=$poolsize count=1 2> /dev/null
}
install() {
kdump_install_conf
remove_sysctl_conf
if is_ssh_dump_target; then
kdump_install_random_seed
fi
dracut_install -o /etc/adjtime /etc/localtime
inst "$moddir/monitor_dd_progress" "/kdumpscripts/monitor_dd_progress"
chmod +x ${initdir}/kdumpscripts/monitor_dd_progress
inst "/bin/dd" "/bin/dd"
inst "/bin/tail" "/bin/tail"
inst "/bin/date" "/bin/date"
inst "/bin/sync" "/bin/sync"
inst "/bin/cut" "/bin/cut"
inst "/bin/head" "/bin/head"
inst "/sbin/makedumpfile" "/sbin/makedumpfile"
inst "/sbin/vmcore-dmesg" "/sbin/vmcore-dmesg"
inst "/lib/kdump/kdump-lib.sh" "/lib/kdump-lib.sh"
inst "/lib/kdump/kdump-lib-initramfs.sh" "/lib/kdump-lib-initramfs.sh"
inst "$moddir/kdump.sh" "/usr/bin/kdump.sh"
inst "$moddir/kdump-capture.service" "$systemdsystemunitdir/kdump-capture.service"
ln_r "$systemdsystemunitdir/kdump-capture.service" "$systemdsystemunitdir/initrd.target.wants/kdump-capture.service"
inst "$moddir/kdump-error-handler.sh" "/usr/bin/kdump-error-handler.sh"
inst "$moddir/kdump-error-handler.service" "$systemdsystemunitdir/kdump-error-handler.service"
# Replace existing emergency service and emergency target
cp "$moddir/kdump-emergency.service" "$initdir/$systemdsystemunitdir/emergency.service"
cp "$moddir/kdump-emergency.target" "$initdir/$systemdsystemunitdir/emergency.target"
# Also redirect dracut-emergency to kdump error handler
ln_r "$systemdsystemunitdir/emergency.service" "$systemdsystemunitdir/dracut-emergency.service"
# Check for all the devices and if any device is iscsi, bring up iscsi
# target. Ideally all this should be pushed into dracut iscsi module
# at some point of time.
kdump_check_iscsi_targets
# For the lvm type target under kdump, in /etc/lvm/lvm.conf we can
# safely replace "reserved_memory=XXXX"(default value is 8192) with
# "reserved_memory=1024" to lower memory pressure under kdump. We do
# it unconditionally here, if "/etc/lvm/lvm.conf" doesn't exist, it
# actually does nothing.
sed -i -e \
's/\(^[[:space:]]*reserved_memory[[:space:]]*=\)[[:space:]]*[[:digit:]]*/\1 1024/' \
${initdir}/etc/lvm/lvm.conf &>/dev/null
# Kdump turns out to require longer default systemd mount timeout
# than 1st kernel(90s by default), we use default 300s for kdump.
grep -r "^[[:space:]]*DefaultTimeoutStartSec=" ${initdir}/etc/systemd/system.conf* &>/dev/null
if [ $? -ne 0 ]; then
mkdir -p ${initdir}/etc/systemd/system.conf.d
echo "[Manager]" > ${initdir}/etc/systemd/system.conf.d/kdump.conf
echo "DefaultTimeoutStartSec=300s" >> ${initdir}/etc/systemd/system.conf.d/kdump.conf
fi
}

View file

@ -1,28 +0,0 @@
#!/bin/sh
SRC_FILE_MB=$1
while true
do
DD_PID=`pidof dd`
if [ -n "$DD_PID" ]; then
break
fi
done
while true
do
sleep 5
if [ ! -d /proc/$DD_PID ]; then
break
fi
kill -s USR1 $DD_PID
CURRENT_SIZE=`tail -n 1 /tmp/dd_progress_file | sed "s/[^0-9].*//g"`
[ -n "$CURRENT_SIZE" ] && {
CURRENT_MB=$(($CURRENT_SIZE / 1048576))
echo -e "Copied $CURRENT_MB MB / $SRC_FILE_MB MB\r"
}
done
rm -f /tmp/dd_progress_file

View file

@ -1,251 +0,0 @@
Firmware assisted dump (fadump) HOWTO
Introduction
Firmware assisted dump is a new feature in the 3.4 mainline kernel supported
only on powerpc architecture. The goal of firmware-assisted dump is to enable
the dump of a crashed system, and to do so from a fully-reset system, and to
minimize the total elapsed time until the system is back in production use. A
complete documentation on implementation can be found at
Documentation/powerpc/firmware-assisted-dump.txt in upstream linux kernel tree
from 3.4 version and above.
Please note that the firmware-assisted dump feature is only available on Power6
and above systems with recent firmware versions.
Overview
Fadump
Fadump is a robust kernel crash dumping mechanism to get reliable kernel crash
dump with assistance from firmware. This approach does not use kexec, instead
firmware assists in booting the kdump kernel while preserving memory contents.
Unlike kdump, the system is fully reset, and loaded with a fresh copy of the
kernel. In particular, PCI and I/O devices are reinitialized and are in a
clean, consistent state. This second kernel, often called a capture kernel,
boots with very little memory and captures the dump image.
The first kernel registers the sections of memory with the Power firmware for
dump preservation during OS initialization. These registered sections of memory
are reserved by the first kernel during early boot. When a system crashes, the
Power firmware fully resets the system, preserves all the system memory
contents, save the low memory (boot memory of size larger of 5% of system
RAM or 256MB) of RAM to the previous registered region. It will also save
system registers, and hardware PTE's.
Fadump is supported only on ppc64 platform. The standard kernel and capture
kernel are one and the same on ppc64.
If you're reading this document, you should already have kexec-tools
installed. If not, you install it via the following command:
# yum install kexec-tools
Fadump Operational Flow:
Like kdump, fadump also exports the ELF formatted kernel crash dump through
/proc/vmcore. Hence existing kdump infrastructure can be used to capture fadump
vmcore. The idea is to keep the functionality transparent to end user. From
user perspective there is no change in the way kdump init script works.
However, unlike kdump, fadump does not pre-load kdump kernel and initrd into
reserved memory, instead it always uses default OS initrd during second boot
after crash. Hence, for fadump, we rebuild the new kdump initrd and replace it
with default initrd. Before replacing existing default initrd we take a backup
of original default initrd for user's reference. The dracut package has been
enhanced to rebuild the default initrd with vmcore capture steps. The initrd
image is rebuilt as per the configuration in /etc/kdump.conf file.
The control flow of fadump works as follows:
01. System panics.
02. At the crash, kernel informs power firmware that kernel has crashed.
03. Firmware takes the control and reboots the entire system preserving
only the memory (resets all other devices).
04. The reboot follows the normal booting process (non-kexec).
05. The boot loader loads the default kernel and initrd from /boot
06. The default initrd loads and runs /init
07. dracut-kdump.sh script present in fadump aware default initrd checks if
'/proc/device-tree/rtas/ibm,kernel-dump' file exists before executing
steps to capture vmcore.
(This check will help to bypass the vmcore capture steps during normal boot
process.)
09. Captures dump according to /etc/kdump.conf
10. Is dump capture successful (yes goto 12, no goto 11)
11. Perfom the default action specified in /etc/kdump.conf (Default action
is reboot, if unspecified)
12. Reboot
How to configure fadump:
Again, we assume if you're reading this document, you should already have
kexec-tools installed. If not, you install it via the following command:
# yum install kexec-tools
To be able to do much of anything interesting in the way of debug analysis,
you'll also need to install the kernel-debuginfo package, of the same arch
as your running kernel, and the crash utility:
# yum --enablerepo=\*debuginfo install kernel-debuginfo.$(uname -m) crash
Next up, we need to modify some boot parameters to enable firmware assisted
dump. With the help of grubby, it's very easy to append "fadump=on" to the end
of your kernel boot parameters. Optionally, user can also append
'fadump_reserve_mem=X' kernel cmdline to specify size of the memory to reserve
for boot memory dump preservation.
# grubby --args="fadump=on" --update-kernel=/boot/vmlinuz-`uname -r`
The term 'boot memory' means size of the low memory chunk that is required for
a kernel to boot successfully when booted with restricted memory. By default,
the boot memory size will be the larger of 5% of system RAM or 256MB.
Alternatively, user can also specify boot memory size through boot parameter
'fadump_reserve_mem=' which will override the default calculated size. Use this
option if default boot memory size is not sufficient for second kernel to boot
successfully.
After making said changes, reboot your system, so that the specified memory is
reserved and left untouched by the normal system. Take note that the output of
'free -m' will show X MB less memory than without this parameter, which is
expected. If you see OOM (Out Of Memory) error messages while loading capture
kernel, then you should bump up the memory reservation size.
Now that you've got that reserved memory region set up, you want to turn on
the kdump init script:
# systemctl enable kdump.service
Then, start up kdump as well:
# systemctl start kdump.service
This should turn on the firmware assisted functionality in kernel by
echo'ing 1 to /sys/kernel/fadump_registered, leaving the system ready
to capture a vmcore upon crashing. To test this out, you can force-crash
your system by echo'ing a c into /proc/sysrq-trigger:
# echo c > /proc/sysrq-trigger
You should see some panic output, followed by the system reset and booting into
fresh copy of kernel. When default initrd loads and runs /init, vmcore should
be copied out to disk (by default, in /var/crash/<YYYY.MM.DD-HH:MM:SS>/vmcore),
then the system rebooted back into your normal kernel.
Once back to your normal kernel, you can use the previously installed crash
kernel in conjunction with the previously installed kernel-debuginfo to
perform postmortem analysis:
# crash /usr/lib/debug/lib/modules/2.6.17-1.2621.el5/vmlinux
/var/crash/2006-08-23-15:34/vmcore
crash> bt
and so on...
Saving vmcore-dmesg.txt
----------------------
Kernel log bufferes are one of the most important information available
in vmcore. Now before saving vmcore, kernel log bufferes are extracted
from /proc/vmcore and saved into a file vmcore-dmesg.txt. After
vmcore-dmesg.txt, vmcore is saved. Destination disk and directory for
vmcore-dmesg.txt is same as vmcore. Note that kernel log buffers will
not be available if dump target is raw device.
Dump Triggering methods:
This section talks about the various ways, other than a Kernel Panic, in which
fadump can be triggered. The following methods assume that fadump is configured
on your system, with the scripts enabled as described in the section above.
1) AltSysRq C
FAdump can be triggered with the combination of the 'Alt','SysRq' and 'C'
keyboard keys. Please refer to the following link for more details:
https://fedoraproject.org/wiki/QA/Sysrq
In addition, on PowerPC boxes, fadump can also be triggered via Hardware
Management Console(HMC) using 'Ctrl', 'O' and 'C' keyboard keys.
2) Kernel OOPs
If we want to generate a dump everytime the Kernel OOPses, we can achieve this
by setting the 'Panic On OOPs' option as follows:
# echo 1 > /proc/sys/kernel/panic_on_oops
3) PowerPC specific methods:
On IBM PowerPC machines, issuing a soft reset invokes the XMON debugger(if
XMON is configured). To configure XMON one needs to compile the kernel with
the CONFIG_XMON and CONFIG_XMON_DEFAULT options, or by compiling with
CONFIG_XMON and booting the kernel with xmon=on option.
Following are the ways to remotely issue a soft reset on PowerPC boxes, which
would drop you to XMON. Pressing a 'X' (capital alphabet X) followed by an
'Enter' here will trigger the dump.
3.1) HMC
Hardware Management Console(HMC) available on Power4 and Power5 machines allow
partitions to be reset remotely. This is specially useful in hang situations
where the system is not accepting any keyboard inputs.
Once you have HMC configured, the following steps will enable you to trigger
fadump via a soft reset:
On Power4
Using GUI
* In the right pane, right click on the partition you wish to dump.
* Select "Operating System->Reset".
* Select "Soft Reset".
* Select "Yes".
Using HMC Commandline
# reset_partition -m <machine> -p <partition> -t soft
On Power5
Using GUI
* In the right pane, right click on the partition you wish to dump.
* Select "Restart Partition".
* Select "Dump".
* Select "OK".
Using HMC Commandline
# chsysstate -m <managed system name> -n <lpar name> -o dumprestart -r lpar
3.2) Blade Management Console for Blade Center
To initiate a dump operation, go to Power/Restart option under "Blade Tasks" in
the Blade Management Console. Select the corresponding blade for which you want
to initate the dump and then click "Restart blade with NMI". This issues a
system reset and invokes xmon debugger.
Advanced Setups & Default action:
Kdump and fadump exhibit similar behavior in terms of setup & default action.
For fadump advanced setup related information see section "Advanced Setups" in
"kexec-kdump-howto.txt" document. Refer to "Default action" section in "kexec-
kdump-howto.txt" document for fadump default action related information.
Compression and filtering
Refer "Compression and filtering" section in "kexec-kdump-howto.txt" document.
Compression and filtering are same for kdump & fadump.
Notes on rootfs mount:
Dracut is designed to mount rootfs by default. If rootfs mounting fails it
will refuse to go on. So fadump leaves rootfs mounting to dracut currently.
We make the assumtion that proper root= cmdline is being passed to dracut
initramfs for the time being. If you need modify "KDUMP_COMMANDLINE=" in
/etc/sysconfig/kdump, you will need to make sure that appropriate root=
options are copied from /proc/cmdline. In general it is best to append
command line options using "KDUMP_COMMANDLINE_APPEND=" instead of replacing
the original command line completely.

View file

@ -1,22 +0,0 @@
#!/bin/sh
# More details about systemd generator:
# http://www.freedesktop.org/wiki/Software/systemd/Generators/
. /usr/lib/kdump/kdump-lib.sh
# If invokded with no arguments for testing purpose, output to /tmp to
# avoid overriding the existing.
dest_dir="/tmp"
if [ -n "$1" ]; then
dest_dir=$1
fi
systemd_dir=/usr/lib/systemd/system
kdump_wants=$dest_dir/kdump.service.wants
if is_ssh_dump_target; then
mkdir -p $kdump_wants
ln -sf $systemd_dir/network-online.target $kdump_wants/
fi

View file

@ -1,91 +0,0 @@
Kdump-in-cluster-environment HOWTO
Introduction
Kdump is a kexec based crash dumping mechansim for Linux. This docuement
illustrate how to configure kdump in cluster environment to allow the kdump
crash recovery service complete without being preempted by traditional power
fencing methods.
Overview
Kexec/Kdump
Details about Kexec/Kdump are available in Kexec-Kdump-howto file and will not
be described here.
fence_kdump
fence_kdump is an I/O fencing agent to be used with the kdump crash recovery
service. When the fence_kdump agent is invoked, it will listen for a message
from the failed node that acknowledges that the failed node is executing the
kdump crash kernel. Note that fence_kdump is not a replacement for traditional
fencing methods. The fence_kdump agent can only detect that a node has entered
the kdump crash recovery service. This allows the kdump crash recovery service
complete without being preempted by traditional power fencing methods.
fence_kdump_send
fence_kdump_send is a utility used to send messages that acknowledge that the
node itself has entered the kdump crash recovery service. The fence_kdump_send
utility is typically run in the kdump kernel after a cluster node has
encountered a kernel panic. Once the cluster node has entered the kdump crash
recovery service, fence_kdump_send will periodically send messages to all
cluster nodes. When the fence_kdump agent receives a valid message from the
failed nodes, fencing is complete.
How to configure Pacemaker cluster environment:
If we want to use kdump in Pacemaker cluster environment, fence-agents-kdump
should be installed in every nodes in the cluster. You can achieve this via
the following command:
# yum install -y fence-agents-kdump
Next is to add kdump_fence to the cluster. Assuming that the cluster consists
of three nodes, they are node1, node2 and node3, and use Pacemaker to perform
resource management and pcs as cli configuration tool.
With pcs it is easy to add a stonith resource to the cluster. For example, add
a stonith resource named mykdumpfence with fence type of fence_kdump via the
following commands:
# pcs stonith create mykdumpfence fence_kdump \
pcmk_host_check=static-list pcmk_host_list="node1 node2 node3"
# pcs stonith update mykdumpfence pcmk_monitor_action=metadata --force
# pcs stonith update mykdumpfence pcmk_status_action=metadata --force
# pcs stonith update mykdumpfence pcmk_reboot_action=off --force
Then enable stonith
# pcs property set stonith-enabled=true
How to configure kdump:
Actually there are two ways how to configure fence_kdump support:
1) Pacemaker based clusters
If you have successfully configured fence_kdump in Pacemaker, there is
no need to add some special configuration in kdump. So please refer to
Kexec-Kdump-howto file for more information.
2) Generic clusters
For other types of clusters there are two configuration options in
kdump.conf which enables fence_kdump support:
fence_kdump_nodes <node(s)>
Contains list of cluster node(s) separated by space to send
fence_kdump notification to (this option is mandatory to enable
fence_kdump)
fence_kdump_args <arg(s)>
Command line arguments for fence_kdump_send (it can contain
all valid arguments except hosts to send notification to)
These options will most probably be configured by your cluster software,
so please refer to your cluster documentation how to enable fence_kdump
support.
Please be aware that these two ways cannot be combined and 2) has precedence
over 1). It means that if fence_kdump is configured using fence_kdump_nodes
and fence_kdump_args options in kdump.conf, Pacemaker configuration is not
used even if it exists.

View file

@ -1,165 +0,0 @@
# These variables and functions are useful in 2nd kernel
. /lib/kdump-lib.sh
KDUMP_PATH="/var/crash"
CORE_COLLECTOR=""
DEFAULT_CORE_COLLECTOR="makedumpfile -l --message-level 1 -d 31"
DMESG_COLLECTOR="/sbin/vmcore-dmesg"
DEFAULT_ACTION="systemctl reboot -f"
DATEDIR=`date +%Y-%m-%d-%T`
HOST_IP='127.0.0.1'
DUMP_INSTRUCTION=""
SSH_KEY_LOCATION="/root/.ssh/kdump_id_rsa"
KDUMP_SCRIPT_DIR="/kdumpscripts"
DD_BLKSIZE=512
FINAL_ACTION="systemctl reboot -f"
KDUMP_CONF="/etc/kdump.conf"
KDUMP_PRE=""
KDUMP_POST=""
NEWROOT="/sysroot"
get_kdump_confs()
{
local config_opt config_val
while read config_opt config_val;
do
# remove inline comments after the end of a directive.
config_val=$(strip_comments $config_val)
case "$config_opt" in
path)
KDUMP_PATH="$config_val"
;;
core_collector)
[ -n "$config_val" ] && CORE_COLLECTOR="$config_val"
;;
sshkey)
if [ -f "$config_val" ]; then
SSH_KEY_LOCATION=$config_val
fi
;;
kdump_pre)
KDUMP_PRE="$config_val"
;;
kdump_post)
KDUMP_POST="$config_val"
;;
fence_kdump_args)
FENCE_KDUMP_ARGS="$config_val"
;;
fence_kdump_nodes)
FENCE_KDUMP_NODES="$config_val"
;;
default)
case $config_val in
shell)
DEFAULT_ACTION="kdump_emergency_shell"
;;
reboot)
DEFAULT_ACTION="systemctl reboot -f"
;;
halt)
DEFAULT_ACTION="halt"
;;
poweroff)
DEFAULT_ACTION="poweroff"
;;
dump_to_rootfs)
DEFAULT_ACTION="dump_to_rootfs"
;;
esac
;;
esac
done < $KDUMP_CONF
if [ -z "$CORE_COLLECTOR" ]; then
CORE_COLLECTOR="$DEFAULT_CORE_COLLECTOR"
if is_ssh_dump_target || is_raw_dump_target; then
CORE_COLLECTOR="$CORE_COLLECTOR -F"
fi
fi
}
# dump_fs <mount point| device>
dump_fs()
{
local _dev=$(findmnt -k -f -n -r -o SOURCE $1)
local _mp=$(findmnt -k -f -n -r -o TARGET $1)
echo "kdump: dump target is $_dev"
if [ -z "$_mp" ]; then
echo "kdump: error: Dump target $_dev is not mounted."
return 1
fi
# Remove -F in makedumpfile case. We don't want a flat format dump here.
[[ $CORE_COLLECTOR = *makedumpfile* ]] && CORE_COLLECTOR=`echo $CORE_COLLECTOR | sed -e "s/-F//g"`
echo "kdump: saving to $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/"
mount -o remount,rw $_mp || return 1
mkdir -p $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR || return 1
save_vmcore_dmesg_fs ${DMESG_COLLECTOR} "$_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/"
echo "kdump: saving vmcore"
$CORE_COLLECTOR /proc/vmcore $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/vmcore-incomplete || return 1
mv $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/vmcore-incomplete $_mp/$KDUMP_PATH/$HOST_IP-$DATEDIR/vmcore
sync
echo "kdump: saving vmcore complete"
# improper kernel cmdline can cause the failure of echo, we can ignore this kind of failure
return 0
}
save_vmcore_dmesg_fs() {
local _dmesg_collector=$1
local _path=$2
echo "kdump: saving vmcore-dmesg.txt"
$_dmesg_collector /proc/vmcore > ${_path}/vmcore-dmesg-incomplete.txt
_exitcode=$?
if [ $_exitcode -eq 0 ]; then
mv ${_path}/vmcore-dmesg-incomplete.txt ${_path}/vmcore-dmesg.txt
# Make sure file is on disk. There have been instances where later
# saving vmcore failed and system rebooted without sync and there
# was no vmcore-dmesg.txt available.
sync
echo "kdump: saving vmcore-dmesg.txt complete"
else
echo "kdump: saving vmcore-dmesg.txt failed"
fi
}
dump_to_rootfs()
{
echo "Kdump: trying to bring up rootfs device"
systemctl start dracut-initqueue
echo "Kdump: waiting for rootfs mount, will timeout after 90 seconds"
systemctl start sysroot.mount
dump_fs $NEWROOT
}
kdump_emergency_shell()
{
echo "PS1=\"kdump:\\\${PWD}# \"" >/etc/profile
/bin/dracut-emergency
rm -f /etc/profile
}
do_default_action()
{
echo "Kdump: Executing default action $DEFAULT_ACTION"
eval $DEFAULT_ACTION
}
do_final_action()
{
eval $FINAL_ACTION
}

Some files were not shown because too many files have changed in this diff Show more