fc1362 set up kernel crashkernel for osbuild in kernel hook

1 file Authored by Coiby Xu 2 years ago, Committed by liutgnu 2 years ago,
1 file changed. 10 lines added. 0 lines removed.
    set up kernel crashkernel for osbuild in kernel hook
    
    Resolves: bz1895258
    Resolves: bz2024976
    Upstream: Fedora
    Conflict: None
    
    commit ddd428a1d0d72bee2a8459b1a81541bcd0676873
    Author: Coiby Xu <coxu@redhat.com>
    Date:   Wed Dec 15 21:45:18 2021 +0800
    
        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>
    
    Signed-off-by: Coiby Xu <coxu@redhat.com>
    
        
file modified
+10 -0