mirror of
https://github.com/Antynea/grub-btrfs.git
synced 2026-03-04 13:05:00 +08:00
* Create a initramfs folder & configuration files * create a initramfs folder * create Arch Linux folder * Add `HOOK/INSTALL` files to generate a custom initrafms for boot on read-only snapshot for Arch Linux. * Add readme file to initramfs folder * Makefile changes * Add readme file * Add readme file of initramfs-overlayfs * Add HOOK/INSTALL files for Arch Linux * Readme changes * Updates the documentation to be able to boot on a read-only snapshot. * Redesign readme again.
16 lines
683 B
Bash
16 lines
683 B
Bash
#!/usr/bin/ash
|
|
|
|
run_latehook() {
|
|
local root_mnt="/new_root"
|
|
local current_dev=$(resolve_device "$root"); # resolve devices for blkid
|
|
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
|
|
local lower_dir=$(mktemp -d -p /)
|
|
local ram_dir=$(mktemp -d -p /)
|
|
mount --move ${root_mnt} ${lower_dir} # move new_root to lower_dir
|
|
mount -t tmpfs cowspace ${ram_dir} #meuh!!! space, you can't test !
|
|
mkdir -p ${ram_dir}/upper
|
|
mkdir -p ${ram_dir}/work
|
|
mount -t overlay -o lowerdir=${lower_dir},upperdir=${ram_dir}/upper,workdir=${ram_dir}/work rootfs ${root_mnt}
|
|
fi
|
|
}
|