diff --git a/script/lib/common.sh b/script/lib/common.sh index 8fcb0ea..3f9285f 100644 --- a/script/lib/common.sh +++ b/script/lib/common.sh @@ -291,8 +291,9 @@ function para_install_msg() { function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer + # ${BTRFSOPTION} is defined by the caller of this function for BTRFS formated volume. echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." - mount /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" "${TARGETMOUNTPOINT}" + mount "${BTRFSOPTION}" /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" "${TARGETMOUNTPOINT}" # And mount other directories echo "...Mounting all other dirs." diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 96ace9b..adfbbdd 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -53,6 +53,15 @@ function main() { # Post-install stage # ******************************************************************************* + # If the target volume is formated by btrfs, Ubiquity install the root into the + # @ sub-volume. Thus, mount command inside post_install have to use special option + # to specify @ as mount target. + if lsblk -o NAME,FSTYPE | grep -i "${VGNAME}-${LVROOTNAME}" | grep -i "btrfs" > /dev/null ; then + export BTRFSOPTION="-o subvol=@" + else + export BTRFSOPTION="" + fi + # Distribution dependent finalizing. Embedd encryption key into the ramfs image. # The script is parameterized by env-variable to fit to the distribution post_install diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index 5838747..c63f906 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -74,6 +74,9 @@ function main() { # Post-install stage # ******************************************************************************* + # We don't need special option for BTRFSOPTION. + export BTRFSOPTION="" + # Distribution dependent finalizing. Embedd encryption key into the ramfs image. # The script is parameterized by env-variable to fit to the distribution post_install