From 809b8cda9f8d9e50706ceacc8ed4528804ad83ea Mon Sep 17 00:00:00 2001 From: hzy Date: Thu, 20 Apr 2023 11:01:53 +0800 Subject: [PATCH] Copy instand of move the boot files for symbolic-unsupported `/boot` filesystem Just for keeping them --- lib/functions/compilation/kernel-debs.sh | 11 +++++++---- .../bsp/common/etc/initramfs/post-update.d/99-uboot | 5 +++-- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/lib/functions/compilation/kernel-debs.sh b/lib/functions/compilation/kernel-debs.sh index 919a82eb4..3fa53c52c 100644 --- a/lib/functions/compilation/kernel-debs.sh +++ b/lib/functions/compilation/kernel-debs.sh @@ -279,8 +279,9 @@ function kernel_package_callback_linux_image() { cat <<- HOOK_FOR_LINK_TO_LAST_INSTALLED_KERNEL # image_name="${NAME_KERNEL}", above touch /boot/.next if is_boot_dev_vfat; then - echo "Armbian: FAT32 /boot: move last-installed kernel to '$image_name'..." - mv -v /${installed_image_path} /boot/${image_name} + echo "Armbian: FAT32 /boot: copy last-installed kernel to '$image_name'..." + cp -vf "/${installed_image_path}" "/boot/${image_name}.new" + mv -vf "/boot/${image_name}.new" "/boot/${image_name}" else echo "Armbian: update last-installed kernel symlink to '$image_name'..." ln -sfv $(basename "${installed_image_path}") /boot/$image_name @@ -338,8 +339,10 @@ function kernel_package_callback_linux_dtb() { echo "Armbian: DTB: symlinking /boot/dtb to /boot/dtb-${kernel_version_family}..." ln -sfTv "dtb-${kernel_version_family}" dtb else - echo "Armbian: DTB: FAT32: moving /boot/dtb-${kernel_version_family} to /boot/dtb ..." - mv -v "dtb-${kernel_version_family}" dtb + echo "Armbian: DTB: FAT32: copying /boot/dtb-${kernel_version_family} to /boot/dtb ..." + rm -rf "dtb.new" + cp -r "dtb-${kernel_version_family}" "dtb.new" + mv "dtb.new" "dtb" fi EOT ) diff --git a/packages/bsp/common/etc/initramfs/post-update.d/99-uboot b/packages/bsp/common/etc/initramfs/post-update.d/99-uboot index 86ad5be85..62d6bc4f3 100755 --- a/packages/bsp/common/etc/initramfs/post-update.d/99-uboot +++ b/packages/bsp/common/etc/initramfs/post-update.d/99-uboot @@ -8,8 +8,9 @@ mkimage -A $INITRD_ARCH -O linux -T ramdisk -C gzip -n uInitrd -d $2 $tempname echo "update-initramfs: Armbian: Symlinking ${tempname} to /boot/uInitrd" >&2 ln -sfv $(basename $tempname) /boot/uInitrd || { - echo "update-initramfs: Symlink failed, moving ${tempname} to /boot/uInitrd" >&2 - mv -v $tempname /boot/uInitrd + echo "update-initramfs: Symlink failed, copying ${tempname} to /boot/uInitrd" >&2 + cp -vf "$tempname" "/boot/uInitrd.new" + mv -vf "/boot/uInitrd.new" "/boot/uInitrd" } echo "update-initramfs: Armbian: done." >&2