From d116ea23a8dc6db904cf43c03bf3db06c1fbeabc Mon Sep 17 00:00:00 2001 From: Angelo Elias Dal Zotto Date: Fri, 9 Jun 2023 16:27:02 -0300 Subject: [PATCH 1/2] Add root in btfrs subvolume support --- main.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/main.sh b/main.sh index cc320ec..89d8957 100644 --- a/main.sh +++ b/main.sh @@ -164,6 +164,15 @@ _action_kernels() { _found_root() { local _root _root="$(findmnt -r -n -o SOURCE /)" + _subvol="${_root#*\[}" + _subvol="${_subvol%\]*}" + _subvol="${_subvol#\/}" + if [ "$_root" != "$_subvol" ]; then + export SUBVOL="rootflags=subvol=$_subvol" + _root="${_root%\[*}" + else + export SUBVOL="" + fi if [ "$?" != 0 ] || [ -z "$_root" ]; then echo "Something went wrong while searching for root" >&2 return 3 @@ -212,14 +221,14 @@ __get_cmdline() { if [ "$USE_DEF" == 1 ]; then if [ "$SUB_ROOT" == 1 ]; then _found_root - echo "$CMDLINE_DEFAULT root=PARTUUID=$ROOT_DEVICE $_second" + echo "$CMDLINE_DEFAULT root=PARTUUID=$ROOT_DEVICE $SUBVOL $_second" else echo "$CMDLINE_DEFAULT $_second" fi else if [ "$SUB_ROOT" == 1 ]; then _found_root - eval 'echo "root=PARTUUID='$ROOT_DEVICE' ${_second/@def@/'$CMDLINE_DEFAULT'}"' + eval 'echo "root=PARTUUID='$ROOT_DEVICE' $SUBVOL ${_second/@def@/'$CMDLINE_DEFAULT'}"' else eval 'echo "${_second/@def@/'$CMDLINE_DEFAULT'}"' fi From ba3b939c2962b187373e602499cd0b31dd8ed5cc Mon Sep 17 00:00:00 2001 From: Angelo Elias Dal Zotto Date: Fri, 9 Jun 2023 16:41:54 -0300 Subject: [PATCH 2/2] Keep working with other root formats --- main.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.sh b/main.sh index 89d8957..ee76248 100644 --- a/main.sh +++ b/main.sh @@ -166,8 +166,8 @@ _found_root() { _root="$(findmnt -r -n -o SOURCE /)" _subvol="${_root#*\[}" _subvol="${_subvol%\]*}" + if [[ "$_root" != "$_subvol" ]]; then _subvol="${_subvol#\/}" - if [ "$_root" != "$_subvol" ]; then export SUBVOL="rootflags=subvol=$_subvol" _root="${_root%\[*}" else