forked from mirrored-repos/manjaro-tools
initcpio: fix dm-snapshot mounting to also use overlay/aufs
This commit is contained in:
parent
72fa1e26b0
commit
426d3f26cb
2 changed files with 25 additions and 23 deletions
|
@ -1,8 +1,7 @@
|
|||
# args: source, newroot, mountpoint
|
||||
_mnt_dmsnapshot() {
|
||||
local img="${1}"
|
||||
local newroot="${2}"
|
||||
local mnt="${3}"
|
||||
local mnt="${2}"
|
||||
local img_fullname="${img##*/}";
|
||||
local img_name="${img_fullname%%.*}"
|
||||
local dm_snap_name="${dm_snap_prefix}_${img_name}"
|
||||
|
@ -33,7 +32,7 @@ _mnt_dmsnapshot() {
|
|||
|
||||
dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} ${cow_chunksize}"
|
||||
|
||||
_mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w" "defaults"
|
||||
_mnt_dev "/dev/mapper/${dm_snap_name}" "${mnt}" "-w" "defaults"
|
||||
echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/miso/used_block_devices
|
||||
}
|
||||
|
||||
|
@ -209,21 +208,23 @@ miso_mount_handler() {
|
|||
mkdir -p -m 0700 "/run/miso/cowspace/${cow_directory}"
|
||||
|
||||
local src="/run/miso/bootmnt/${misobasedir}/${arch}"
|
||||
local dest="/run/miso/sfs"
|
||||
local lower_dir=
|
||||
|
||||
local dest_sfs="/run/miso/sfs" dest_img="/run/miso/img"
|
||||
local lower_dir
|
||||
mkdir -p ${dest_img}
|
||||
|
||||
for sfs in livefs mhwdfs desktopfs rootfs;do
|
||||
if [[ -f "${src}/${sfs}.sfs" ]]; then
|
||||
_mnt_sfs "${src}/${sfs}.sfs" "${dest}/${sfs}"
|
||||
lower_dir=${lower_dir:-}${lower_dir:+:}"${dest}/${sfs}"
|
||||
if [[ -f "${dest}/${sfs}/${sfs}.img" ]]; then
|
||||
_mnt_dmsnapshot "${dest}/${sfs}/${sfs}.img" "${newroot}" "/"
|
||||
_mnt_sfs "${src}/${sfs}.sfs" "${dest_sfs}/${sfs}"
|
||||
if [[ -f "${dest_sfs}/${sfs}/${sfs}.img" ]]; then
|
||||
lower_dir=${lower_dir:-}${lower_dir:+:}"${dest_img}/${sfs}"
|
||||
_mnt_dmsnapshot "${dest_sfs}/${sfs}/${sfs}.img" "${dest_img}/${sfs}"
|
||||
else
|
||||
lower_dir=${lower_dir:-}${lower_dir:+:}"${dest_sfs}/${sfs}"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
_mnt_overlayfs "${lower_dir}" "${newroot}" "/"
|
||||
_mnt_overlayfs "${lower_dir}" "${newroot}" "/"
|
||||
|
||||
if [[ "${copytoram}" == "y" ]]; then
|
||||
umount -d /run/miso/bootmnt
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
# args: source, newroot, mountpoint
|
||||
_mnt_dmsnapshot() {
|
||||
local img="${1}"
|
||||
local newroot="${2}"
|
||||
local mnt="${3}"
|
||||
local mnt="${2}"
|
||||
local img_fullname="${img##*/}";
|
||||
local img_name="${img_fullname%%.*}"
|
||||
local dm_snap_name="${dm_snap_prefix}_${img_name}"
|
||||
|
@ -33,11 +32,11 @@ _mnt_dmsnapshot() {
|
|||
|
||||
dmsetup create ${dm_snap_name} --table "0 ${ro_dev_size} snapshot ${ro_dev} ${rw_dev} ${cow_persistent} ${cow_chunksize}"
|
||||
|
||||
_mnt_dev "/dev/mapper/${dm_snap_name}" "${newroot}${mnt}" "-w" "defaults"
|
||||
_mnt_dev "/dev/mapper/${dm_snap_name}" "${mnt}" "-w" "defaults"
|
||||
echo $(readlink -f /dev/mapper/${dm_snap_name}) >> /run/miso/used_block_devices
|
||||
}
|
||||
|
||||
_mnt_overlayfs_union(){
|
||||
_mnt_overlayfs_root(){
|
||||
local src="${1}"
|
||||
local newroot="${2}"
|
||||
local mnt="${3}"
|
||||
|
@ -214,18 +213,20 @@ miso_mount_handler() {
|
|||
mkdir -p -m 0700 "/run/miso/cowspace/${cow_directory}"
|
||||
|
||||
local work_dir="/run/miso/cowspace"
|
||||
_mnt_overlayfs_union "${work_dir}" "${newroot}" "/"
|
||||
_mnt_overlayfs_root "${work_dir}" "${newroot}" "/"
|
||||
|
||||
local _src="/run/miso/bootmnt/${misobasedir}/${arch}"
|
||||
local _dest="/run/miso/sfs"
|
||||
local src="/run/miso/bootmnt/${misobasedir}/${arch}"
|
||||
local dest_sfs="/run/miso/sfs" dest_img="/run/miso/img"
|
||||
mkdir -p ${dest_img}
|
||||
|
||||
for sfs in livefs mhwdfs desktopfs rootfs;do
|
||||
if [[ -f "${_src}/${sfs}.sfs" ]]; then
|
||||
_mnt_sfs "${_src}/${sfs}.sfs" "${_dest}/${sfs}"
|
||||
if [[ -f "${_dest}/${sfs}/${sfs}.img" ]]; then
|
||||
_mnt_dmsnapshot "${_dest}/${sfs}/${sfs}.img" "${newroot}" "/"
|
||||
if [[ -f "${src}/${sfs}.sfs" ]]; then
|
||||
_mnt_sfs "${src}/${sfs}.sfs" "${dest_sfs}/${sfs}"
|
||||
if [[ -f "${dest_sfs}/${sfs}/${sfs}.img" ]]; then
|
||||
_mnt_dmsnapshot "${dest_sfs}/${sfs}/${sfs}.img" "${dest_img}/${sfs}"
|
||||
_mnt_overlayfs "${dest_img}/${sfs}" "${newroot}" "/"
|
||||
else
|
||||
_mnt_overlayfs "${_dest}/${sfs}" "${newroot}" "/"
|
||||
_mnt_overlayfs "${dest_sfs}/${sfs}" "${newroot}" "/"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
|
Loading…
Reference in a new issue