diff options
Diffstat (limited to 'linux-raspberrypi4-cacule-stable.install')
-rw-r--r-- | linux-raspberrypi4-cacule-stable.install | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/linux-raspberrypi4-cacule-stable.install b/linux-raspberrypi4-cacule-stable.install new file mode 100644 index 000000000000..047f7ca1fd9a --- /dev/null +++ b/linux-raspberrypi4-cacule-stable.install @@ -0,0 +1,50 @@ +disable_cma() { + if [[ -f /boot/config.txt && $(grep '^cma' /boot/config.txt) != '' ]]; then + echo ">>> You appear to have dynamic memory (CMA) enabled, which is currently broken" + echo ">>> in newer kernels and will cause many issues if left enabled." + echo ">>> Disabling that for you now." + sed -i 's/^cma_/#cma_/g' /boot/config.txt + fi +} + +correct_fstab() { + # starting with v5.10.y, fstab requires a padded zero in the path to /boot + if [[ -f /etc/fstab ]]; then + if grep -q mmcblk1p1 /etc/fstab; then + sed -i 's/mmcblk1p1/mmcblk01p1/' /etc/fstab + fi + fi +} + +post_install () { + disable_cma +} + +post_upgrade() { + if grep "^[^#]*[[:space:]]/boot" etc/fstab 2>&1 >/dev/null; then + if ! grep "[[:space:]]/boot" etc/mtab 2>&1 >/dev/null; then + echo "WARNING: /boot appears to be a separate partition but is not mounted." + echo " You probably just broke your system. Congratulations." + fi + fi + + disable_cma + + if [ "$(vercmp $2 3.18.3)" -lt 0 ]; then + echo "________________________________________________________________________________" + echo "" + echo "WARNING: This kernel provides updated config.txt and cmdline.txt files." + echo " Check for pacnew files in /boot and merge or replace the existing files" + echo " with the new versions." + echo "________________________________________________________________________________" + echo "" + fi + + if [ "$(vercmp $2 5.10.0)" -lt 0 ]; then + correct_fstab + fi +} + +post_remove() { + rm -f boot/initramfs-linux.img +} |