#!/bin/sh . samizdat-paths.sh initrd=${samizdat_linux_dir}/initrd.img vmlinuz=${samizdat_linux_dir}/vmlinuz # version=4.9.0-6-amd64 # version=$(apt-cache policy linux-image-amd64 | sed -ne 's/ Candidate: //p' || uname -r) kernel_package=linux-image-rt-amd64 kernel_package_version=$(apt-cache policy $kernel_package | sed -ne 's/ *Installed: //p') real_kernel_package=$(apt-cache show $kernel_package=$kernel_package_version | sed -n 's/^Depends: //p') version=${real_kernel_package#linux-image-} conf_dir=$samizdat_initramfs_conf_dir apt_dependencies=$samizdat_initrd_files_dir/initrd-dependencies.txt find_source_dirs() { find "$conf_dir" "$samizdat_initrd_files_dir" "$@" } force_rebuild() { touch "$conf_dir" return 1 } rebuild() { [ ! -f "$apt_dependencies" ] || sudo apt-get install -q=10 --no-upgrade -y $(cat "$apt_dependencies") set -ex cp -f /boot/vmlinuz-${version} "$vmlinuz" /usr/sbin/mkinitramfs -d "$conf_dir" -o "$initrd" ${version} || force_rebuild } if [ ! -e "$initrd" -o ! -e "$vmlinuz" ]; then rebuild elif [ "$(find_source_dirs -newer "$initrd" -print -quit)" ]; then rebuild fi