Guilherme G. Piccoli 7ba6751284 README.md: Added backticks to allow plain/text output
Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
2023-03-31 15:34:42 -03:00
2023-03-31 15:34:26 -03:00
2023-03-31 15:34:26 -03:00
2023-03-31 15:34:26 -03:00
2023-03-31 15:34:26 -03:00

#  SPDX-License-Identifier: LGPL-2.1+
#
#  Copyright (c) 2021 Valve.
#
#  Code by Guilherme G. Piccoli <gpiccoli@igalia.com>
#
#
#  ###########################################################################
#  ############################  SteamOS Kdump  ##############################
#  ###########################################################################
#
#  This is the first version of SteamOS Kdump infrastructure. The goal is to
#  collect data whenever a kernel crash is detected. There is a lightweight
#  collection, that only grabs dmesg, and a more complete setting to grab the
#  whole (compressed) vmcore. The tunnings are available at /etc/default/kdump.
#
#  After installation and a reboot, things should be all set EXCEPT for GRUB
#  config - please check the CAVEATS/INSTRUCTIONS section below. Notice the
#  package is under active development, this one being a kind of "Proof Of Concept"
#  still - improvements are expected in the near future. Thanks for testing!!!
#
#
#  CAVEATS / INSTRUCTIONS
#  ###########################################################################
#  (a) For now, we  don't automatically edit any GRUB config, so the minimum
#  necessary action after installing this package is to add "crashkernel=160M"
#  to your GRUB config in order subsequent boots pick this setting and do reserve
#  the memory, or else kdump cannot work. The memory amount was empirically
#  determined - 128M wasn't enough and 144M is unstable, so 160M seems good enough.
#
#  (b) It requires (obviously) a RW rootfs - we've used tune2fs in order to make
#  it read-write, since it's RO by default. Also, we assume the nvme partition
#  scheme is default across all versions and didn't change with new updates
#  for example - kdump relies in mounting partitions, etc.
#
#  (c) Due to a post-transaction hook executed by libalpm (90-dracut-install.hook),
#  unfortunately after installing the kdump-steamos package *all* initramfs images
#  are recreated - this is not necessary, we're thinking on how to prevent that,
#  but for now be prepared: the installation take some (long) minutes due to that ={
#
#  (d) Unfortunately makedumpfile form Arch Linux is not available on official
#  repos, only in AUR - and it doesn't build with zstd, which allows great and
#  fast compression. So, we're hereby _packing the binary_ with all the scripts,
#  which is a temporary workaround and should be resolved later - already started
#  to "lobby" for package inclusion in the official channels and also we're trying
#  to to add zstd support:
#  https://aur.archlinux.org/packages/makedumpfile/#comment-841333
#
#
#  TODOs (for now - we expect to have more after some testing by the colleagues)
#
#  (1) We'd like to be able to automatically edit GRUB and recreate its config
#  file - after some future discussion on the proper parameters, this is expected
#  to be added to the package.
#
#  (2) Hopefully we can fix/prevent the unnecessary re-creation of all initramfs
#  images - this happens due to our package installing files on /usr/lib/dracut/modules.d
#  which is a trigger for this initramfs recreation.
#
#  (3) We have a "fragile" way of determining a mount point required for kdump;
#  this is something to improve in order to make the kdump more reliable.
#
#  (4) Add a more reliable reboot mechanism - we had seen issues with "reboot -f"
#  in the past and relying in sysrq reboot as a quirk managed to be a safe option,
#  so this is something to think about here. Should be easy to implement.
#
#  (5) Maybe a good idea would be to allow creating the minimum image for any
#  specified kernel, not only for the running one (which is what we do now).
#  Low-priority idea, easy to implement.
#
Description
Fork of https://gitlab.freedesktop.org/gpiccoli/kdumpst that works if you use btrfs with subvolumes
Readme LGPL-2.1 844 KiB
Languages
Shell 87.5%
Makefile 12.5%