From Chocolate Mosquito, 1 Week ago, written in Plain Text.
This paste will hop the perch in 2 Weeks.
Embed
  1. #!/usr/bin/ash
  2.  
  3. run_latehook() {
  4.         local root_mnt="/new_root"
  5.         local current_dev=$(resolve_device "$root"); # resolve devices for blkid
  6.         if [[ $(blkid "${current_dev}" -s TYPE -o value) = "btrfs" ]] && [[ $(btrfs property get ${root_mnt} ro) != "ro=false" ]]; then # run only on a read only snapshot
  7.                 local lower_dir=$(mktemp -d -p /)
  8.                 local ram_dir=$(mktemp -d -p /)
  9.                 mount --move ${root_mnt} ${lower_dir} # move new_root to lower_dir
  10.                 mount -t tmpfs cowspace ${ram_dir}  #meuh!!! space, you can't test !
  11.                 mkdir -p ${ram_dir}/upper
  12.                 mkdir -p ${ram_dir}/work
  13.                 mount -t overlay -o lowerdir=${lower_dir},upperdir=${ram_dir}/upper,workdir=${ram_dir}/work rootfs ${root_mnt}
  14.         fi
  15. }
captcha