* [PATCH] Allow user to choose between path or fs-label instead of UUID
@ 2012-09-16 16:57 Pete Appleton
2012-09-16 17:40 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 1 reply; 10+ messages in thread
From: Pete Appleton @ 2012-09-16 16:57 UTC (permalink / raw)
To: grub-devel
[-- Attachment #1: Type: text/plain, Size: 1337 bytes --]
Hi all,
The file attached is intended to allow a Linux user to easily specify
whether GRUB2 should use the traditional device path (/dev/sda1) or the
filesystem label instead of the default UUID scheme. This functionality
is currently supported by GRUB2 itself but the peripheral files
(grub-mkconfig, 10-linux etc) don't directly support it, requiring the
user to edit the distribution-supplied files on their installation with
the potential for consequent upgrade conflicts.
This patch adds support for a new environment variable
GRUB_DEVICE_IDENTIFICATION taking as value one of {uuid, label, path};
if not set or invalid then it defaults to uuid so that the current
semantics are respected. If set to label then the 'search' clause and
root=XXX kernel parameter are written using file system label syntax as
opposed to the current single behaviour of device path if
GRUB_DISABLE_LINUX_UUID=true
This patch was written after needing the functionality in my environment
as I frequently move filesystems around a multi-spindle system (using
the label to keep track of them) and seeing a few articles online
advising various modifications to distribution supplied files; I hope
that it is deemed useful enough to get incorporated into trunk to remove
this minor niggle with a great product.
Thanks,
Pete Appleton
[-- Attachment #2: linux_fslabel_support.patch --]
[-- Type: text/x-patch, Size: 5913 bytes --]
=== modified file 'docs/grub.texi'
--- old/docs/grub.texi 2012-07-31 22:18:57 +0000
+++ new/docs/grub.texi 2012-09-16 16:41:08 +0000
@@ -1285,6 +1285,14 @@
the Linux kernel, using a @samp{root=UUID=...} kernel parameter. This is
usually more reliable, but in some cases it may not be appropriate. To
disable the use of UUIDs, set this option to @samp{true}.
+@samp{GRUB_DEVICE_IDENTIFICATION} governs the scheme used instead of
+the UUID, either the file system label or the traditional device path
+
+@item GRUB_DEVICE_IDENTIFICATION
+Works in conjunction with GRUB_DISABLE_LINUX_UUID to determine how the root filesystem
+will be identified for the Linux kernel. The default value is @samp{uuid}, which will use UUIDs.
+Other alternatives are @samp{label} to use the file system label, or @samp{path} to use
+the traditional device path (@samp{/dev/sda1})
@item GRUB_DISABLE_RECOVERY
If this option is set to @samp{true}, disable the generation of recovery
=== modified file 'util/grub-mkconfig.in'
--- old/util/grub-mkconfig.in 2012-04-07 17:49:25 +0000
+++ new/util/grub-mkconfig.in 2012-09-16 16:33:06 +0000
@@ -131,10 +131,12 @@
# Device containing our userland. Typically used for root= parameter.
GRUB_DEVICE="`${grub_probe} --target=device /`"
GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
+GRUB_DEVICE_LABEL="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2> /dev/null`" || true
# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true
+GRUB_DEVICE_BOOT_LABEL="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_label 2> /dev/null`" ||
# Filesystem for the device containing our userland. Used for stuff like
# choosing Hurd filesystem module.
@@ -170,13 +172,20 @@
if [ "x${GRUB_ACTUAL_DEFAULT}" = "xsaved" ] ; then GRUB_ACTUAL_DEFAULT="`"${grub_editenv}" - list | sed -n '/^saved_entry=/ s,^saved_entry=,,p'`" ; fi
+# Default to UUID if GRUB_DEVICE_IDENTIFICATION is undefined or unrecognised
+if [ "x${GRUB_DEVICE_IDENTIFICATION}" = "x" ] ; then GRUB_DEVICE_IDENTIFICATION="uuid" ; fi
+if [ "${GRUB_DEVICE_IDENTIFICATION}" != "uuid" -a "${GRUB_DEVICE_IDENTIFICATION}" != "label" -a "${GRUB_DEVICE_IDENTIFICATION}" != "path" ] ; then
+ GRUB_DEVICE_IDENTIFICATION="uuid"
+fi
# These are defined in this script, export them here so that user can
# override them.
export GRUB_DEVICE \
GRUB_DEVICE_UUID \
+ GRUB_DEVICE_LABEL \
GRUB_DEVICE_BOOT \
GRUB_DEVICE_BOOT_UUID \
+ GRUB_DEVICE_BOOT_LABEL \
GRUB_FS \
GRUB_FONT \
GRUB_PRELOAD_MODULES \
=== modified file 'util/grub-mkconfig_lib.in'
--- old/util/grub-mkconfig_lib.in 2012-07-22 18:02:17 +0000
+++ new/util/grub-mkconfig_lib.in 2012-09-16 16:15:50 +0000
@@ -146,22 +146,30 @@
done
fi
- # If there's a filesystem UUID that GRUB is capable of identifying, use it;
+ # If there's a filesystem UUID or label that GRUB is capable of identifying, use it according to GRUB_DEVICE_IDENTIFICATION
# otherwise set root as per value in device.map.
fs_hint="`"${grub_probe}" --device "${device}" --target=compatibility_hint`"
if [ "x$fs_hint" != x ]; then
echo "set root='$fs_hint'"
fi
- if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ if [ "x${GRUB_DEVICE_IDENTIFICATION}" = "xlabel" ] && fs_label="`"${grub_probe}" --device "${device}" --target=fs_label 2> /dev/null`" ; then
hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
echo "if [ x\$feature_platform_search_hint = xy ]; then"
- echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${hints} ${fs_label}"
echo "else"
- echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${fs_label}"
echo "fi"
+ else
+ if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
+ echo "if [ x\$feature_platform_search_hint = xy ]; then"
+ echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo "else"
+ echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo "fi"
+ fi
fi
}
-
grub_get_device_id ()
{
device="$1"
=== modified file 'util/grub.d/10_linux.in'
--- old/util/grub.d/10_linux.in 2012-07-22 18:02:17 +0000
+++ new/util/grub.d/10_linux.in 2012-09-16 16:21:41 +0000
@@ -43,13 +43,27 @@
;;
esac
-if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
- || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
- || uses_abstraction "${GRUB_DEVICE}" lvm; then
- LINUX_ROOT_DEVICE=${GRUB_DEVICE}
-else
- LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
-fi
+case x"$GRUB_DEVICE_IDENTIFICATION" in
+ xpath)
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ ;;
+ xlabel)
+ if [ "x${GRUB_DEVICE_LABEL}" = "x" ] \
+ || ! test -e "/dev/disk/by-label/${GRUB_DEVICE_LABEL}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=LABEL=\"${GRUB_DEVICE_LABEL}\"
+ fi;;
+ *)
+ if [ "x{GRUB_DEVICE_UUID}" = "x" ] \
+ || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
+ fi;;
+esac
GRUBFS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Allow user to choose between path or fs-label instead of UUID
2012-09-16 16:57 Pete Appleton
@ 2012-09-16 17:40 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-09-16 20:51 ` Pete Appleton
0 siblings, 1 reply; 10+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2012-09-16 17:40 UTC (permalink / raw)
To: grub-devel
[-- Attachment #1: Type: text/plain, Size: 1836 bytes --]
On 16.09.2012 18:57, Pete Appleton wrote:
> Hi all,
>
> The file attached is intended to allow a Linux user to easily specify
> whether GRUB2 should use the traditional device path (/dev/sda1) or the
> filesystem label instead of the default UUID scheme. This functionality
> is currently supported by GRUB2 itself but the peripheral files
> (grub-mkconfig, 10-linux etc) don't directly support it, requiring the
> user to edit the distribution-supplied files on their installation with
> the potential for consequent upgrade conflicts.
>
> This patch adds support for a new environment variable
> GRUB_DEVICE_IDENTIFICATION taking as value one of {uuid, label, path};
> if not set or invalid then it defaults to uuid so that the current
> semantics are respected. If set to label then the 'search' clause and
> root=XXX kernel parameter are written using file system label syntax as
> opposed to the current single behaviour of device path if
> GRUB_DISABLE_LINUX_UUID=true
In this patch the same option has effect on both how device is passed to
kernel and how it's identified internally. These 2 parts should be kept
separate.
>
> This patch was written after needing the functionality in my environment
> as I frequently move filesystems around a multi-spindle system (using
> the label to keep track of them) and seeing a few articles online
> advising various modifications to distribution supplied files; I hope
> that it is deemed useful enough to get incorporated into trunk to remove
> this minor niggle with a great product.
>
> Thanks,
>
> Pete Appleton
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Allow user to choose between path or fs-label instead of UUID
2012-09-16 17:40 ` Vladimir 'φ-coder/phcoder' Serbinenko
@ 2012-09-16 20:51 ` Pete Appleton
2012-09-18 8:54 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 1 reply; 10+ messages in thread
From: Pete Appleton @ 2012-09-16 20:51 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 1460 bytes --]
On 16/09/12 18:40, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> On 16.09.2012 18:57, Pete Appleton wrote:
>
>> Hi all,
>>
>> The file attached is intended to allow a Linux user to easily specify
>> whether GRUB2 should use the traditional device path (/dev/sda1) or the
>> filesystem label instead of the default UUID scheme. This functionality
>> is currently supported by GRUB2 itself but the peripheral files
>> (grub-mkconfig, 10-linux etc) don't directly support it, requiring the
>> user to edit the distribution-supplied files on their installation with
>> the potential for consequent upgrade conflicts.
>>
>> This patch adds support for a new environment variable
>> GRUB_DEVICE_IDENTIFICATION taking as value one of {uuid, label, path};
>> if not set or invalid then it defaults to uuid so that the current
>> semantics are respected. If set to label then the 'search' clause and
>> root=XXX kernel parameter are written using file system label syntax as
>> opposed to the current single behaviour of device path if
>> GRUB_DISABLE_LINUX_UUID=true
>
> In this patch the same option has effect on both how device is passed to
> kernel and how it's identified internally. These 2 parts should be kept
> separate.
Update attached which splits the option into GRUB_DEVICE_IDENTIFICATION
(used by 10-linux for the root FS) and GRUB_SEARCH_METHOD, used by
grub-mkconfig to generate the search clause.
Pete Appleton
[-- Attachment #2: linux_fslabel_support.patch --]
[-- Type: text/x-patch, Size: 6638 bytes --]
=== modified file 'docs/grub.texi'
--- old/docs/grub.texi 2012-07-31 22:18:57 +0000
+++ new/docs/grub.texi 2012-09-16 20:45:58 +0000
@@ -1285,6 +1285,19 @@
the Linux kernel, using a @samp{root=UUID=...} kernel parameter. This is
usually more reliable, but in some cases it may not be appropriate. To
disable the use of UUIDs, set this option to @samp{true}.
+@samp{GRUB_DEVICE_IDENTIFICATION} governs the scheme used instead of
+the UUID, either the file system label or the traditional device path
+
+@item GRUB_DEVICE_IDENTIFICATION
+Works in conjunction with GRUB_DISABLE_LINUX_UUID to determine how the root filesystem
+will be identified for the Linux kernel. The default value is @samp{uuid}, which will use UUIDs.
+Other alternatives are @samp{label} to use the file system label, or @samp{path} to use
+the traditional device path (@samp{/dev/sda1})
+
+@item GRUB_SEARCH_METHOD
+Governs the method used to generate the search directive (as opposed to the Linux root filesysttem)
+using the same settings as @samp{GRUB_DEVICE_IDENTIFICATION}. If unset or unrecognised
+then GRUB will default to searching by UUID
@item GRUB_DISABLE_RECOVERY
If this option is set to @samp{true}, disable the generation of recovery
=== modified file 'util/grub-mkconfig.in'
--- old/util/grub-mkconfig.in 2012-04-07 17:49:25 +0000
+++ new/util/grub-mkconfig.in 2012-09-16 20:42:56 +0000
@@ -131,10 +131,12 @@
# Device containing our userland. Typically used for root= parameter.
GRUB_DEVICE="`${grub_probe} --target=device /`"
GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
+GRUB_DEVICE_LABEL="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2> /dev/null`" || true
# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true
+GRUB_DEVICE_BOOT_LABEL="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_label 2> /dev/null`" ||
# Filesystem for the device containing our userland. Used for stuff like
# choosing Hurd filesystem module.
@@ -170,13 +172,24 @@
if [ "x${GRUB_ACTUAL_DEFAULT}" = "xsaved" ] ; then GRUB_ACTUAL_DEFAULT="`"${grub_editenv}" - list | sed -n '/^saved_entry=/ s,^saved_entry=,,p'`" ; fi
+# Default to UUID if GRUB_DEVICE_IDENTIFICATION is undefined or unrecognised
+if [ "x${GRUB_DEVICE_IDENTIFICATION}" = "x" ] ; then GRUB_DEVICE_IDENTIFICATION="uuid" ; fi
+if [ "${GRUB_DEVICE_IDENTIFICATION}" != "uuid" -a "${GRUB_DEVICE_IDENTIFICATION}" != "label" -a "${GRUB_DEVICE_IDENTIFICATION}" != "path" ] ; then
+ GRUB_DEVICE_IDENTIFICATION="uuid"
+fi
+if [ "x${GRUB_SEARCH_METHOD}" = "x" ] ; then GRUB_SEARCH_METHOD="uuid" ; fi
+if [ "${GRUB_SEARCH_METHOD}" != "uuid" -a "${GRUB_SEARCH_METHOD}" != "label" -a "${GRUB_SEARCH_METHOD}" != "path" ] ; then
+ GRUB_SEARCH_METHOD="uuid"
+fi
# These are defined in this script, export them here so that user can
# override them.
export GRUB_DEVICE \
GRUB_DEVICE_UUID \
+ GRUB_DEVICE_LABEL \
GRUB_DEVICE_BOOT \
GRUB_DEVICE_BOOT_UUID \
+ GRUB_DEVICE_BOOT_LABEL \
GRUB_FS \
GRUB_FONT \
GRUB_PRELOAD_MODULES \
@@ -216,7 +229,9 @@
GRUB_INIT_TUNE \
GRUB_SAVEDEFAULT \
GRUB_ENABLE_CRYPTODISK \
- GRUB_BADRAM
+ GRUB_BADRAM \
+ GRUB_DEVICE_IDENTIFICATION \
+ GRUB_SEARCH_METHOD
if test "x${grub_cfg}" != "x"; then
rm -f "${grub_cfg}.new"
=== modified file 'util/grub-mkconfig_lib.in'
--- old/util/grub-mkconfig_lib.in 2012-07-22 18:02:17 +0000
+++ new/util/grub-mkconfig_lib.in 2012-09-16 20:43:31 +0000
@@ -146,22 +146,30 @@
done
fi
- # If there's a filesystem UUID that GRUB is capable of identifying, use it;
+ # If there's a filesystem UUID or label that GRUB is capable of identifying, use it according to GRUB_SEARCH_METHOD
# otherwise set root as per value in device.map.
fs_hint="`"${grub_probe}" --device "${device}" --target=compatibility_hint`"
if [ "x$fs_hint" != x ]; then
echo "set root='$fs_hint'"
fi
- if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ if [ "x${GRUB_SEARCH_METHOD}" = "xlabel" ] && fs_label="`"${grub_probe}" --device "${device}" --target=fs_label 2> /dev/null`" ; then
hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
echo "if [ x\$feature_platform_search_hint = xy ]; then"
- echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${hints} ${fs_label}"
echo "else"
- echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${fs_label}"
echo "fi"
+ else
+ if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
+ echo "if [ x\$feature_platform_search_hint = xy ]; then"
+ echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo "else"
+ echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo "fi"
+ fi
fi
}
-
grub_get_device_id ()
{
device="$1"
=== modified file 'util/grub.d/10_linux.in'
--- old/util/grub.d/10_linux.in 2012-07-22 18:02:17 +0000
+++ new/util/grub.d/10_linux.in 2012-09-16 16:21:41 +0000
@@ -43,13 +43,27 @@
;;
esac
-if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
- || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
- || uses_abstraction "${GRUB_DEVICE}" lvm; then
- LINUX_ROOT_DEVICE=${GRUB_DEVICE}
-else
- LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
-fi
+case x"$GRUB_DEVICE_IDENTIFICATION" in
+ xpath)
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ ;;
+ xlabel)
+ if [ "x${GRUB_DEVICE_LABEL}" = "x" ] \
+ || ! test -e "/dev/disk/by-label/${GRUB_DEVICE_LABEL}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=LABEL=\"${GRUB_DEVICE_LABEL}\"
+ fi;;
+ *)
+ if [ "x{GRUB_DEVICE_UUID}" = "x" ] \
+ || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
+ fi;;
+esac
GRUBFS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Allow user to choose between path or fs-label instead of UUID
2012-09-16 20:51 ` Pete Appleton
@ 2012-09-18 8:54 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-09-18 18:26 ` Pete Appleton
0 siblings, 1 reply; 10+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2012-09-18 8:54 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 9144 bytes --]
On 16.09.2012 22:51, Pete Appleton wrote:
>
> On 16/09/12 18:40, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
>> On 16.09.2012 18:57, Pete Appleton wrote:
>>
>>> Hi all,
>>>
>>> The file attached is intended to allow a Linux user to easily specify
>>> whether GRUB2 should use the traditional device path (/dev/sda1) or the
>>> filesystem label instead of the default UUID scheme. This functionality
>>> is currently supported by GRUB2 itself but the peripheral files
>>> (grub-mkconfig, 10-linux etc) don't directly support it, requiring the
>>> user to edit the distribution-supplied files on their installation with
>>> the potential for consequent upgrade conflicts.
>>>
>>> This patch adds support for a new environment variable
>>> GRUB_DEVICE_IDENTIFICATION taking as value one of {uuid, label, path};
>>> if not set or invalid then it defaults to uuid so that the current
>>> semantics are respected. If set to label then the 'search' clause and
>>> root=XXX kernel parameter are written using file system label syntax as
>>> opposed to the current single behaviour of device path if
>>> GRUB_DISABLE_LINUX_UUID=true
>>
>> In this patch the same option has effect on both how device is passed to
>> kernel and how it's identified internally. These 2 parts should be kept
>> separate.
>
> Update attached which splits the option into GRUB_DEVICE_IDENTIFICATION
> (used by 10-linux for the root FS)
This is Linux-specific then, so it has to contain "LINUX" in its name.
> and GRUB_SEARCH_METHOD, used by
> grub-mkconfig to generate the search clause.
>
> Pete Appleton
>
> linux_fslabel_support.patch
>
>
> === modified file 'docs/grub.texi'
> --- old/docs/grub.texi 2012-07-31 22:18:57 +0000
> +++ new/docs/grub.texi 2012-09-16 20:45:58 +0000
> @@ -1285,6 +1285,19 @@
> the Linux kernel, using a @samp{root=UUID=...} kernel parameter. This is
> usually more reliable, but in some cases it may not be appropriate. To
> disable the use of UUIDs, set this option to @samp{true}.
> +@samp{GRUB_DEVICE_IDENTIFICATION} governs the scheme used instead of
> +the UUID, either the file system label or the traditional device path
> +
> +@item GRUB_DEVICE_IDENTIFICATION
> +Works in conjunction with GRUB_DISABLE_LINUX_UUID to determine how the root filesystem
> +will be identified for the Linux kernel. The default value is @samp{uuid}, which will use UUIDs.
> +Other alternatives are @samp{label} to use the file system label, or @samp{path} to use
> +the traditional device path (@samp{/dev/sda1})
> +
> +@item GRUB_SEARCH_METHOD
> +Governs the method used to generate the search directive (as opposed to the Linux root filesysttem)
> +using the same settings as @samp{GRUB_DEVICE_IDENTIFICATION}. If unset or unrecognised
> +then GRUB will default to searching by UUID
>
> @item GRUB_DISABLE_RECOVERY
> If this option is set to @samp{true}, disable the generation of recovery
>
> === modified file 'util/grub-mkconfig.in'
> --- old/util/grub-mkconfig.in 2012-04-07 17:49:25 +0000
> +++ new/util/grub-mkconfig.in 2012-09-16 20:42:56 +0000
> @@ -131,10 +131,12 @@
> # Device containing our userland. Typically used for root= parameter.
> GRUB_DEVICE="`${grub_probe} --target=device /`"
> GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
> +GRUB_DEVICE_LABEL="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2> /dev/null`" || true
>
> # Device containing our /boot partition. Usually the same as GRUB_DEVICE.
> GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
> GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true
> +GRUB_DEVICE_BOOT_LABEL="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_label 2> /dev/null`" ||
>
"true" was lost.
Also it doesn't seem that you use this variable anywhere.
> # Filesystem for the device containing our userland. Used for stuff like
> # choosing Hurd filesystem module.
> @@ -170,13 +172,24 @@
>
> if [ "x${GRUB_ACTUAL_DEFAULT}" = "xsaved" ] ; then GRUB_ACTUAL_DEFAULT="`"${grub_editenv}" - list | sed -n '/^saved_entry=/ s,^saved_entry=,,p'`" ; fi
>
> +# Default to UUID if GRUB_DEVICE_IDENTIFICATION is undefined or unrecognised
> +if [ "x${GRUB_DEVICE_IDENTIFICATION}" = "x" ] ; then GRUB_DEVICE_IDENTIFICATION="uuid" ; fi
> +if [ "${GRUB_DEVICE_IDENTIFICATION}" != "uuid" -a "${GRUB_DEVICE_IDENTIFICATION}" != "label" -a "${GRUB_DEVICE_IDENTIFICATION}" != "path" ] ; then
> + GRUB_DEVICE_IDENTIFICATION="uuid"
> +fi
> +if [ "x${GRUB_SEARCH_METHOD}" = "x" ] ; then GRUB_SEARCH_METHOD="uuid" ; fi
> +if [ "${GRUB_SEARCH_METHOD}" != "uuid" -a "${GRUB_SEARCH_METHOD}" != "label" -a "${GRUB_SEARCH_METHOD}" != "path" ] ; then
> + GRUB_SEARCH_METHOD="uuid"
> +fi
>
case ... esac would be much more appropriate in this case.
> # These are defined in this script, export them here so that user can
> # override them.
> export GRUB_DEVICE \
> GRUB_DEVICE_UUID \
> + GRUB_DEVICE_LABEL \
> GRUB_DEVICE_BOOT \
> GRUB_DEVICE_BOOT_UUID \
> + GRUB_DEVICE_BOOT_LABEL \
> GRUB_FS \
> GRUB_FONT \
> GRUB_PRELOAD_MODULES \
> @@ -216,7 +229,9 @@
> GRUB_INIT_TUNE \
> GRUB_SAVEDEFAULT \
> GRUB_ENABLE_CRYPTODISK \
> - GRUB_BADRAM
> + GRUB_BADRAM \
> + GRUB_DEVICE_IDENTIFICATION \
> + GRUB_SEARCH_METHOD
>
> if test "x${grub_cfg}" != "x"; then
> rm -f "${grub_cfg}.new"
>
> === modified file 'util/grub-mkconfig_lib.in'
> --- old/util/grub-mkconfig_lib.in 2012-07-22 18:02:17 +0000
> +++ new/util/grub-mkconfig_lib.in 2012-09-16 20:43:31 +0000
> @@ -146,22 +146,30 @@
> done
> fi
>
> - # If there's a filesystem UUID that GRUB is capable of identifying, use it;
> + # If there's a filesystem UUID or label that GRUB is capable of identifying, use it according to GRUB_SEARCH_METHOD
> # otherwise set root as per value in device.map.
> fs_hint="`"${grub_probe}" --device "${device}" --target=compatibility_hint`"
> if [ "x$fs_hint" != x ]; then
> echo "set root='$fs_hint'"
> fi
> - if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
> + if [ "x${GRUB_SEARCH_METHOD}" = "xlabel" ] && fs_label="`"${grub_probe}" --device "${device}" --target=fs_label 2> /dev/null`" ; then
> hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
> echo "if [ x\$feature_platform_search_hint = xy ]; then"
> - echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
> + echo " search --no-floppy --label --set=root ${hints} ${fs_label}"
> echo "else"
> - echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
> + echo " search --no-floppy --label --set=root ${fs_label}"
> echo "fi"
> + else
> + if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
> + hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
> + echo "if [ x\$feature_platform_search_hint = xy ]; then"
> + echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
> + echo "else"
> + echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
> + echo "fi"
> + fi
> fi
> }
> -
> grub_get_device_id ()
> {
> device="$1"
>
> === modified file 'util/grub.d/10_linux.in'
> --- old/util/grub.d/10_linux.in 2012-07-22 18:02:17 +0000
> +++ new/util/grub.d/10_linux.in 2012-09-16 16:21:41 +0000
> @@ -43,13 +43,27 @@
> ;;
> esac
>
> -if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
> - || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
> - || uses_abstraction "${GRUB_DEVICE}" lvm; then
> - LINUX_ROOT_DEVICE=${GRUB_DEVICE}
> -else
> - LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
> -fi
> +case x"$GRUB_DEVICE_IDENTIFICATION" in
> + xpath)
> + LINUX_ROOT_DEVICE=${GRUB_DEVICE}
> + ;;
> + xlabel)
> + if [ "x${GRUB_DEVICE_LABEL}" = "x" ] \
> + || ! test -e "/dev/disk/by-label/${GRUB_DEVICE_LABEL}" \
> + || uses_abstraction "${GRUB_DEVICE}" lvm; then
> + LINUX_ROOT_DEVICE=${GRUB_DEVICE}
> + else
> + LINUX_ROOT_DEVICE=LABEL=\"${GRUB_DEVICE_LABEL}\"
> + fi;;
> + *)
> + if [ "x{GRUB_DEVICE_UUID}" = "x" ] \
> + || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
> + || uses_abstraction "${GRUB_DEVICE}" lvm; then
> + LINUX_ROOT_DEVICE=${GRUB_DEVICE}
> + else
> + LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
> + fi;;
> +esac
>
> GRUBFS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`"
>
>
>
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Allow user to choose between path or fs-label instead of UUID
2012-09-18 8:54 ` Vladimir 'φ-coder/phcoder' Serbinenko
@ 2012-09-18 18:26 ` Pete Appleton
2012-09-18 18:42 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 1 reply; 10+ messages in thread
From: Pete Appleton @ 2012-09-18 18:26 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1.1: Type: text/plain, Size: 9662 bytes --]
On 18/09/12 09:54, Vladimir '?-coder/phcoder' Serbinenko wrote:
> On 16.09.2012 22:51, Pete Appleton wrote:
>
>> On 16/09/12 18:40, Vladimir '?-coder/phcoder' Serbinenko wrote:
>>> On 16.09.2012 18:57, Pete Appleton wrote:
>>>
>>>> Hi all,
>>>>
>>>> The file attached is intended to allow a Linux user to easily specify
>>>> whether GRUB2 should use the traditional device path (/dev/sda1) or the
>>>> filesystem label instead of the default UUID scheme. This functionality
>>>> is currently supported by GRUB2 itself but the peripheral files
>>>> (grub-mkconfig, 10-linux etc) don't directly support it, requiring the
>>>> user to edit the distribution-supplied files on their installation with
>>>> the potential for consequent upgrade conflicts.
>>>>
>>>> This patch adds support for a new environment variable
>>>> GRUB_DEVICE_IDENTIFICATION taking as value one of {uuid, label, path};
>>>> if not set or invalid then it defaults to uuid so that the current
>>>> semantics are respected. If set to label then the 'search' clause and
>>>> root=XXX kernel parameter are written using file system label syntax as
>>>> opposed to the current single behaviour of device path if
>>>> GRUB_DISABLE_LINUX_UUID=true
>>> In this patch the same option has effect on both how device is passed to
>>> kernel and how it's identified internally. These 2 parts should be kept
>>> separate.
>> Update attached which splits the option into GRUB_DEVICE_IDENTIFICATION
>> (used by 10-linux for the root FS)
> This is Linux-specific then, so it has to contain "LINUX" in its name.
>
>> and GRUB_SEARCH_METHOD, used by
>> grub-mkconfig to generate the search clause.
>>
>> Pete Appleton
>>
>> linux_fslabel_support.patch
>>
>>
>> === modified file 'docs/grub.texi'
>> --- old/docs/grub.texi 2012-07-31 22:18:57 +0000
>> +++ new/docs/grub.texi 2012-09-16 20:45:58 +0000
>> @@ -1285,6 +1285,19 @@
>> the Linux kernel, using a @samp{root=UUID=...} kernel parameter. This is
>> usually more reliable, but in some cases it may not be appropriate. To
>> disable the use of UUIDs, set this option to @samp{true}.
>> +@samp{GRUB_DEVICE_IDENTIFICATION} governs the scheme used instead of
>> +the UUID, either the file system label or the traditional device path
>> +
>> +@item GRUB_DEVICE_IDENTIFICATION
>> +Works in conjunction with GRUB_DISABLE_LINUX_UUID to determine how the root filesystem
>> +will be identified for the Linux kernel. The default value is @samp{uuid}, which will use UUIDs.
>> +Other alternatives are @samp{label} to use the file system label, or @samp{path} to use
>> +the traditional device path (@samp{/dev/sda1})
>> +
>> +@item GRUB_SEARCH_METHOD
>> +Governs the method used to generate the search directive (as opposed to the Linux root filesysttem)
>> +using the same settings as @samp{GRUB_DEVICE_IDENTIFICATION}. If unset or unrecognised
>> +then GRUB will default to searching by UUID
>>
>> @item GRUB_DISABLE_RECOVERY
>> If this option is set to @samp{true}, disable the generation of recovery
>>
>> === modified file 'util/grub-mkconfig.in'
>> --- old/util/grub-mkconfig.in 2012-04-07 17:49:25 +0000
>> +++ new/util/grub-mkconfig.in 2012-09-16 20:42:56 +0000
>> @@ -131,10 +131,12 @@
>> # Device containing our userland. Typically used for root= parameter.
>> GRUB_DEVICE="`${grub_probe} --target=device /`"
>> GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
>> +GRUB_DEVICE_LABEL="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2> /dev/null`" || true
>>
>> # Device containing our /boot partition. Usually the same as GRUB_DEVICE.
>> GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
>> GRUB_DEVICE_BOOT_UUID="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_uuid 2> /dev/null`" || true
>> +GRUB_DEVICE_BOOT_LABEL="`${grub_probe} --device ${GRUB_DEVICE_BOOT} --target=fs_label 2> /dev/null`" ||
>>
> "true" was lost.
> Also it doesn't seem that you use this variable anywhere.
>
>
>> # Filesystem for the device containing our userland. Used for stuff like
>> # choosing Hurd filesystem module.
>> @@ -170,13 +172,24 @@
>>
>> if [ "x${GRUB_ACTUAL_DEFAULT}" = "xsaved" ] ; then GRUB_ACTUAL_DEFAULT="`"${grub_editenv}" - list | sed -n '/^saved_entry=/ s,^saved_entry=,,p'`" ; fi
>>
>> +# Default to UUID if GRUB_DEVICE_IDENTIFICATION is undefined or unrecognised
>> +if [ "x${GRUB_DEVICE_IDENTIFICATION}" = "x" ] ; then GRUB_DEVICE_IDENTIFICATION="uuid" ; fi
>> +if [ "${GRUB_DEVICE_IDENTIFICATION}" != "uuid" -a "${GRUB_DEVICE_IDENTIFICATION}" != "label" -a "${GRUB_DEVICE_IDENTIFICATION}" != "path" ] ; then
>> + GRUB_DEVICE_IDENTIFICATION="uuid"
>> +fi
>> +if [ "x${GRUB_SEARCH_METHOD}" = "x" ] ; then GRUB_SEARCH_METHOD="uuid" ; fi
>> +if [ "${GRUB_SEARCH_METHOD}" != "uuid" -a "${GRUB_SEARCH_METHOD}" != "label" -a "${GRUB_SEARCH_METHOD}" != "path" ] ; then
>> + GRUB_SEARCH_METHOD="uuid"
>> +fi
>>
> case ... esac would be much more appropriate in this case.
>
>> # These are defined in this script, export them here so that user can
>> # override them.
>> export GRUB_DEVICE \
>> GRUB_DEVICE_UUID \
>> + GRUB_DEVICE_LABEL \
>> GRUB_DEVICE_BOOT \
>> GRUB_DEVICE_BOOT_UUID \
>> + GRUB_DEVICE_BOOT_LABEL \
>> GRUB_FS \
>> GRUB_FONT \
>> GRUB_PRELOAD_MODULES \
>> @@ -216,7 +229,9 @@
>> GRUB_INIT_TUNE \
>> GRUB_SAVEDEFAULT \
>> GRUB_ENABLE_CRYPTODISK \
>> - GRUB_BADRAM
>> + GRUB_BADRAM \
>> + GRUB_DEVICE_IDENTIFICATION \
>> + GRUB_SEARCH_METHOD
>>
>> if test "x${grub_cfg}" != "x"; then
>> rm -f "${grub_cfg}.new"
>>
>> === modified file 'util/grub-mkconfig_lib.in'
>> --- old/util/grub-mkconfig_lib.in 2012-07-22 18:02:17 +0000
>> +++ new/util/grub-mkconfig_lib.in 2012-09-16 20:43:31 +0000
>> @@ -146,22 +146,30 @@
>> done
>> fi
>>
>> - # If there's a filesystem UUID that GRUB is capable of identifying, use it;
>> + # If there's a filesystem UUID or label that GRUB is capable of identifying, use it according to GRUB_SEARCH_METHOD
>> # otherwise set root as per value in device.map.
>> fs_hint="`"${grub_probe}" --device "${device}" --target=compatibility_hint`"
>> if [ "x$fs_hint" != x ]; then
>> echo "set root='$fs_hint'"
>> fi
>> - if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
>> + if [ "x${GRUB_SEARCH_METHOD}" = "xlabel" ] && fs_label="`"${grub_probe}" --device "${device}" --target=fs_label 2> /dev/null`" ; then
>> hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
>> echo "if [ x\$feature_platform_search_hint = xy ]; then"
>> - echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
>> + echo " search --no-floppy --label --set=root ${hints} ${fs_label}"
>> echo "else"
>> - echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
>> + echo " search --no-floppy --label --set=root ${fs_label}"
>> echo "fi"
>> + else
>> + if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
>> + hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
>> + echo "if [ x\$feature_platform_search_hint = xy ]; then"
>> + echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
>> + echo "else"
>> + echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
>> + echo "fi"
>> + fi
>> fi
>> }
>> -
>> grub_get_device_id ()
>> {
>> device="$1"
>>
>> === modified file 'util/grub.d/10_linux.in'
>> --- old/util/grub.d/10_linux.in 2012-07-22 18:02:17 +0000
>> +++ new/util/grub.d/10_linux.in 2012-09-16 16:21:41 +0000
>> @@ -43,13 +43,27 @@
>> ;;
>> esac
>>
>> -if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
>> - || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
>> - || uses_abstraction "${GRUB_DEVICE}" lvm; then
>> - LINUX_ROOT_DEVICE=${GRUB_DEVICE}
>> -else
>> - LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
>> -fi
>> +case x"$GRUB_DEVICE_IDENTIFICATION" in
>> + xpath)
>> + LINUX_ROOT_DEVICE=${GRUB_DEVICE}
>> + ;;
>> + xlabel)
>> + if [ "x${GRUB_DEVICE_LABEL}" = "x" ] \
>> + || ! test -e "/dev/disk/by-label/${GRUB_DEVICE_LABEL}" \
>> + || uses_abstraction "${GRUB_DEVICE}" lvm; then
>> + LINUX_ROOT_DEVICE=${GRUB_DEVICE}
>> + else
>> + LINUX_ROOT_DEVICE=LABEL=\"${GRUB_DEVICE_LABEL}\"
>> + fi;;
>> + *)
>> + if [ "x{GRUB_DEVICE_UUID}" = "x" ] \
>> + || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
>> + || uses_abstraction "${GRUB_DEVICE}" lvm; then
>> + LINUX_ROOT_DEVICE=${GRUB_DEVICE}
>> + else
>> + LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
>> + fi;;
>> +esac
>>
>> GRUBFS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`"
>>
>>
>>
>>
>>
>> _______________________________________________
>> Grub-devel mailing list
>> Grub-devel@gnu.org
>> https://lists.gnu.org/mailman/listinfo/grub-devel
>
>
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
Attached version addresses these issues:
GRUB_DEVICE_IDENTIFICATION renamed to LINUX_DEVICE_IDENTIFICATION
GRUB_DEVICE_LABEL renamed to LINUX_DEVICE_LABEL as also Linux specific
GRUB_DEVICE_BOOT_LABEL removed completely as unused (was added
purely for symmetry)
if statements replaced by case
Pete Appleton
[-- Attachment #1.2: Type: text/html, Size: 11044 bytes --]
[-- Attachment #2: linux_fslabel_support.patch --]
[-- Type: text/x-patch, Size: 5871 bytes --]
=== modified file 'docs/grub.texi'
--- old/docs/grub.texi 2012-07-31 22:18:57 +0000
+++ new/docs/grub.texi 2012-09-18 18:16:25 +0000
@@ -1285,6 +1285,19 @@
the Linux kernel, using a @samp{root=UUID=...} kernel parameter. This is
usually more reliable, but in some cases it may not be appropriate. To
disable the use of UUIDs, set this option to @samp{true}.
+@samp{LINUX_DEVICE_IDENTIFICATION} governs the scheme used instead of
+the UUID, either the file system label or the traditional device path
+
+@item LINUX_DEVICE_IDENTIFICATION
+Works in conjunction with GRUB_DISABLE_LINUX_UUID to determine how the root filesystem
+will be identified for the Linux kernel. The default value is @samp{uuid}, which will use UUIDs.
+Other alternatives are @samp{label} to use the file system label, or @samp{path} to use
+the traditional device path (@samp{/dev/sda1})
+
+@item GRUB_SEARCH_METHOD
+Governs the method used to generate the search directive (as opposed to the Linux root filesysttem)
+using the same settings as @samp{LINUX_DEVICE_IDENTIFICATION}. If unset or unrecognised
+then GRUB will default to searching by UUID
@item GRUB_DISABLE_RECOVERY
If this option is set to @samp{true}, disable the generation of recovery
=== modified file 'util/grub-mkconfig.in'
--- old/util/grub-mkconfig.in 2012-04-07 17:49:25 +0000
+++ new/util/grub-mkconfig.in 2012-09-18 18:13:12 +0000
@@ -131,6 +131,7 @@
# Device containing our userland. Typically used for root= parameter.
GRUB_DEVICE="`${grub_probe} --target=device /`"
GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
+LINUX_DEVICE_LABEL="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2> /dev/null`" || true
# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
@@ -170,11 +171,19 @@
if [ "x${GRUB_ACTUAL_DEFAULT}" = "xsaved" ] ; then GRUB_ACTUAL_DEFAULT="`"${grub_editenv}" - list | sed -n '/^saved_entry=/ s,^saved_entry=,,p'`" ; fi
+# Default to UUID if LINUX_DEVICE_IDENTIFICATION is undefined or unrecognised
+case "x${LINUX_DEVICE_IDENTIFICATION}" in
+ xuuid) ;;
+ xlabel) ;;
+ xpath)) ;;
+ *) LINUX_DEVICE_IDENTIFCATION = uuid ;;
+esac
# These are defined in this script, export them here so that user can
# override them.
export GRUB_DEVICE \
GRUB_DEVICE_UUID \
+ LINUX_DEVICE_LABEL \
GRUB_DEVICE_BOOT \
GRUB_DEVICE_BOOT_UUID \
GRUB_FS \
@@ -216,7 +225,9 @@
GRUB_INIT_TUNE \
GRUB_SAVEDEFAULT \
GRUB_ENABLE_CRYPTODISK \
- GRUB_BADRAM
+ GRUB_BADRAM \
+ LINUX_DEVICE_IDENTIFICATION \
+ GRUB_SEARCH_METHOD
if test "x${grub_cfg}" != "x"; then
rm -f "${grub_cfg}.new"
=== modified file 'util/grub-mkconfig_lib.in'
--- old/util/grub-mkconfig_lib.in 2012-07-22 18:02:17 +0000
+++ new/util/grub-mkconfig_lib.in 2012-09-18 18:15:21 +0000
@@ -146,22 +146,30 @@
done
fi
- # If there's a filesystem UUID that GRUB is capable of identifying, use it;
+ # If there's a filesystem UUID or label that GRUB is capable of identifying, use it according to GRUB_SEARCH_METHOD
# otherwise set root as per value in device.map.
fs_hint="`"${grub_probe}" --device "${device}" --target=compatibility_hint`"
if [ "x$fs_hint" != x ]; then
echo "set root='$fs_hint'"
fi
- if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ if [ "x${GRUB_SEARCH_METHOD}" = "xlabel" ] && fs_label="`"${grub_probe}" --device "${device}" --target=fs_label 2> /dev/null`" ; then
hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
echo "if [ x\$feature_platform_search_hint = xy ]; then"
- echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${hints} ${fs_label}"
echo "else"
- echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${fs_label}"
echo "fi"
+ else
+ if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
+ echo "if [ x\$feature_platform_search_hint = xy ]; then"
+ echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo "else"
+ echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo "fi"
+ fi
fi
}
-
grub_get_device_id ()
{
device="$1"
=== modified file 'util/grub.d/10_linux.in'
--- old/util/grub.d/10_linux.in 2012-07-22 18:02:17 +0000
+++ new/util/grub.d/10_linux.in 2012-09-18 18:14:58 +0000
@@ -43,13 +43,27 @@
;;
esac
-if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
- || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
- || uses_abstraction "${GRUB_DEVICE}" lvm; then
- LINUX_ROOT_DEVICE=${GRUB_DEVICE}
-else
- LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
-fi
+case x"$LINUX_DEVICE_IDENTIFICATION" in
+ xpath)
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ ;;
+ xlabel)
+ if [ "x${LINUX_DEVICE_LABEL}" = "x" ] \
+ || ! test -e "/dev/disk/by-label/${GRUB_DEVICE_LABEL}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=LABEL=\"${LINUX_DEVICE_LABEL}\"
+ fi;;
+ *)
+ if [ "x{GRUB_DEVICE_UUID}" = "x" ] \
+ || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
+ fi;;
+esac
GRUBFS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Allow user to choose between path or fs-label instead of UUID
2012-09-18 18:26 ` Pete Appleton
@ 2012-09-18 18:42 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-09-18 21:13 ` Pete Appleton
0 siblings, 1 reply; 10+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2012-09-18 18:42 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 466 bytes --]
On 18.09.2012 20:26, Pete Appleton wrote:
> GRUB_DEVICE_IDENTIFICATION renamed to LINUX_DEVICE_IDENTIFICATION
> GRUB_DEVICE_LABEL renamed to LINUX_DEVICE_LABEL as also Linux specific
> GRUB_DEVICE_BOOT_LABEL removed completely as unused (was added
> purely for symmetry)
> if statements replaced by case
Linux-specific vars aren't exempted from the need to be in GRUB_* namespace.
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Allow user to choose between path or fs-label instead of UUID
2012-09-18 18:42 ` Vladimir 'φ-coder/phcoder' Serbinenko
@ 2012-09-18 21:13 ` Pete Appleton
2012-09-18 21:22 ` Pete Appleton
0 siblings, 1 reply; 10+ messages in thread
From: Pete Appleton @ 2012-09-18 21:13 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 647 bytes --]
On 18/09/12 19:42, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
> On 18.09.2012 20:26, Pete Appleton wrote:
>
>> GRUB_DEVICE_IDENTIFICATION renamed to LINUX_DEVICE_IDENTIFICATION
>> GRUB_DEVICE_LABEL renamed to LINUX_DEVICE_LABEL as also Linux specific
>> GRUB_DEVICE_BOOT_LABEL removed completely as unused (was added
>> purely for symmetry)
>> if statements replaced by case
> Linux-specific vars aren't exempted from the need to be in GRUB_* namespace.
Renamed LINUX_DEVICE_IDENTIFICATION to GRUB_DEVICE_IDENTIFICATION_LINUX
Renamed LINUX_DEVICE_LABEL to GRUB_DEVICE_LABEL_LINUX
Regards,
Pete Appleton
[-- Attachment #2: linux_fslabel_support.patch --]
[-- Type: text/x-patch, Size: 5926 bytes --]
=== modified file 'docs/grub.texi'
--- old/docs/grub.texi 2012-07-31 22:18:57 +0000
+++ new/docs/grub.texi 2012-09-18 21:05:03 +0000
@@ -1285,6 +1285,19 @@
the Linux kernel, using a @samp{root=UUID=...} kernel parameter. This is
usually more reliable, but in some cases it may not be appropriate. To
disable the use of UUIDs, set this option to @samp{true}.
+@samp{GRUB_DEVICE_IDENTIFICATION_LINUX} governs the scheme used instead of
+the UUID, either the file system label or the traditional device path
+
+@item GRUB_DEVICE_IDENTIFICATION_LINUX
+Works in conjunction with GRUB_DISABLE_LINUX_UUID to determine how the root filesystem
+will be identified for the Linux kernel. The default value is @samp{uuid}, which will use UUIDs.
+Other alternatives are @samp{label} to use the file system label, or @samp{path} to use
+the traditional device path (@samp{/dev/sda1})
+
+@item GRUB_SEARCH_METHOD
+Governs the method used to generate the search directive (as opposed to the Linux root filesysttem)
+using the same settings as @samp{GRUB_DEVICE_IDENTIFICATION_LINUX}. If unset or unrecognised
+then GRUB will default to searching by UUID
@item GRUB_DISABLE_RECOVERY
If this option is set to @samp{true}, disable the generation of recovery
=== modified file 'util/grub-mkconfig.in'
--- old/util/grub-mkconfig.in 2012-04-07 17:49:25 +0000
+++ new/util/grub-mkconfig.in 2012-09-18 21:05:03 +0000
@@ -131,6 +131,7 @@
# Device containing our userland. Typically used for root= parameter.
GRUB_DEVICE="`${grub_probe} --target=device /`"
GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
+GRUB_DEVICE_LABEL_LINUX="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2> /dev/null`" || true
# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
@@ -170,11 +171,19 @@
if [ "x${GRUB_ACTUAL_DEFAULT}" = "xsaved" ] ; then GRUB_ACTUAL_DEFAULT="`"${grub_editenv}" - list | sed -n '/^saved_entry=/ s,^saved_entry=,,p'`" ; fi
+# Default to UUID if GRUB_DEVICE_IDENTIFICATION_LINUX is undefined or unrecognised
+case "x${GRUB_DEVICE_IDENTIFICATION_LINUX}" in
+ xuuid) ;;
+ xlabel) ;;
+ xpath)) ;;
+ *) LINUX_DEVICE_IDENTIFCATION = uuid ;;
+esac
# These are defined in this script, export them here so that user can
# override them.
export GRUB_DEVICE \
GRUB_DEVICE_UUID \
+ GRUB_DEVICE_LABEL_LINUX \
GRUB_DEVICE_BOOT \
GRUB_DEVICE_BOOT_UUID \
GRUB_FS \
@@ -216,7 +225,9 @@
GRUB_INIT_TUNE \
GRUB_SAVEDEFAULT \
GRUB_ENABLE_CRYPTODISK \
- GRUB_BADRAM
+ GRUB_BADRAM \
+ GRUB_DEVICE_IDENTIFICATION_LINUX \
+ GRUB_SEARCH_METHOD
if test "x${grub_cfg}" != "x"; then
rm -f "${grub_cfg}.new"
=== modified file 'util/grub-mkconfig_lib.in'
--- old/util/grub-mkconfig_lib.in 2012-07-22 18:02:17 +0000
+++ new/util/grub-mkconfig_lib.in 2012-09-18 18:15:21 +0000
@@ -146,22 +146,30 @@
done
fi
- # If there's a filesystem UUID that GRUB is capable of identifying, use it;
+ # If there's a filesystem UUID or label that GRUB is capable of identifying, use it according to GRUB_SEARCH_METHOD
# otherwise set root as per value in device.map.
fs_hint="`"${grub_probe}" --device "${device}" --target=compatibility_hint`"
if [ "x$fs_hint" != x ]; then
echo "set root='$fs_hint'"
fi
- if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ if [ "x${GRUB_SEARCH_METHOD}" = "xlabel" ] && fs_label="`"${grub_probe}" --device "${device}" --target=fs_label 2> /dev/null`" ; then
hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
echo "if [ x\$feature_platform_search_hint = xy ]; then"
- echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${hints} ${fs_label}"
echo "else"
- echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${fs_label}"
echo "fi"
+ else
+ if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
+ echo "if [ x\$feature_platform_search_hint = xy ]; then"
+ echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo "else"
+ echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo "fi"
+ fi
fi
}
-
grub_get_device_id ()
{
device="$1"
=== modified file 'util/grub.d/10_linux.in'
--- old/util/grub.d/10_linux.in 2012-07-22 18:02:17 +0000
+++ new/util/grub.d/10_linux.in 2012-09-18 21:10:51 +0000
@@ -43,13 +43,27 @@
;;
esac
-if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
- || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
- || uses_abstraction "${GRUB_DEVICE}" lvm; then
- LINUX_ROOT_DEVICE=${GRUB_DEVICE}
-else
- LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
-fi
+case x"$GRUB_DEVICE_IDENTIFICATION_LINUX" in
+ xpath)
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ ;;
+ xlabel)
+ if [ "x${GRUB_DEVICE_LABEL_LINUX}" = "x" ] \
+ || ! test -e "/dev/disk/by-label/${GRUB_DEVICE_LABEL}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=LABEL=\"${GRUB_DEVICE_LABEL_LINUX}\"
+ fi;;
+ *)
+ if [ "x{GRUB_DEVICE_UUID}" = "x" ] \
+ || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
+ fi;;
+esac
GRUBFS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Allow user to choose between path or fs-label instead of UUID
2012-09-18 21:13 ` Pete Appleton
@ 2012-09-18 21:22 ` Pete Appleton
0 siblings, 0 replies; 10+ messages in thread
From: Pete Appleton @ 2012-09-18 21:22 UTC (permalink / raw)
To: The development of GNU GRUB
[-- Attachment #1: Type: text/plain, Size: 107 bytes --]
Apologies, please ignore previous patch file which had a replacement
missed out.
Regards,
Pete Appleton
[-- Attachment #2: linux_fslabel_support.patch --]
[-- Type: text/x-patch, Size: 5932 bytes --]
=== modified file 'docs/grub.texi'
--- old/docs/grub.texi 2012-07-31 22:18:57 +0000
+++ new/docs/grub.texi 2012-09-18 21:05:03 +0000
@@ -1285,6 +1285,19 @@
the Linux kernel, using a @samp{root=UUID=...} kernel parameter. This is
usually more reliable, but in some cases it may not be appropriate. To
disable the use of UUIDs, set this option to @samp{true}.
+@samp{GRUB_DEVICE_IDENTIFICATION_LINUX} governs the scheme used instead of
+the UUID, either the file system label or the traditional device path
+
+@item GRUB_DEVICE_IDENTIFICATION_LINUX
+Works in conjunction with GRUB_DISABLE_LINUX_UUID to determine how the root filesystem
+will be identified for the Linux kernel. The default value is @samp{uuid}, which will use UUIDs.
+Other alternatives are @samp{label} to use the file system label, or @samp{path} to use
+the traditional device path (@samp{/dev/sda1})
+
+@item GRUB_SEARCH_METHOD
+Governs the method used to generate the search directive (as opposed to the Linux root filesysttem)
+using the same settings as @samp{GRUB_DEVICE_IDENTIFICATION_LINUX}. If unset or unrecognised
+then GRUB will default to searching by UUID
@item GRUB_DISABLE_RECOVERY
If this option is set to @samp{true}, disable the generation of recovery
=== modified file 'util/grub-mkconfig.in'
--- old/util/grub-mkconfig.in 2012-04-07 17:49:25 +0000
+++ new/util/grub-mkconfig.in 2012-09-18 21:19:14 +0000
@@ -131,6 +131,7 @@
# Device containing our userland. Typically used for root= parameter.
GRUB_DEVICE="`${grub_probe} --target=device /`"
GRUB_DEVICE_UUID="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_uuid 2> /dev/null`" || true
+GRUB_DEVICE_LABEL_LINUX="`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label 2> /dev/null`" || true
# Device containing our /boot partition. Usually the same as GRUB_DEVICE.
GRUB_DEVICE_BOOT="`${grub_probe} --target=device /boot`"
@@ -170,11 +171,19 @@
if [ "x${GRUB_ACTUAL_DEFAULT}" = "xsaved" ] ; then GRUB_ACTUAL_DEFAULT="`"${grub_editenv}" - list | sed -n '/^saved_entry=/ s,^saved_entry=,,p'`" ; fi
+# Default to UUID if GRUB_DEVICE_IDENTIFICATION_LINUX is undefined or unrecognised
+case "x${GRUB_DEVICE_IDENTIFICATION_LINUX}" in
+ xuuid) ;;
+ xlabel) ;;
+ xpath)) ;;
+ *) GRUB_DEVICE_IDENTIFICATION_LINUX = uuid ;;
+esac
# These are defined in this script, export them here so that user can
# override them.
export GRUB_DEVICE \
GRUB_DEVICE_UUID \
+ GRUB_DEVICE_LABEL_LINUX \
GRUB_DEVICE_BOOT \
GRUB_DEVICE_BOOT_UUID \
GRUB_FS \
@@ -216,7 +225,9 @@
GRUB_INIT_TUNE \
GRUB_SAVEDEFAULT \
GRUB_ENABLE_CRYPTODISK \
- GRUB_BADRAM
+ GRUB_BADRAM \
+ GRUB_DEVICE_IDENTIFICATION_LINUX \
+ GRUB_SEARCH_METHOD
if test "x${grub_cfg}" != "x"; then
rm -f "${grub_cfg}.new"
=== modified file 'util/grub-mkconfig_lib.in'
--- old/util/grub-mkconfig_lib.in 2012-07-22 18:02:17 +0000
+++ new/util/grub-mkconfig_lib.in 2012-09-18 18:15:21 +0000
@@ -146,22 +146,30 @@
done
fi
- # If there's a filesystem UUID that GRUB is capable of identifying, use it;
+ # If there's a filesystem UUID or label that GRUB is capable of identifying, use it according to GRUB_SEARCH_METHOD
# otherwise set root as per value in device.map.
fs_hint="`"${grub_probe}" --device "${device}" --target=compatibility_hint`"
if [ "x$fs_hint" != x ]; then
echo "set root='$fs_hint'"
fi
- if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ if [ "x${GRUB_SEARCH_METHOD}" = "xlabel" ] && fs_label="`"${grub_probe}" --device "${device}" --target=fs_label 2> /dev/null`" ; then
hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
echo "if [ x\$feature_platform_search_hint = xy ]; then"
- echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${hints} ${fs_label}"
echo "else"
- echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo " search --no-floppy --label --set=root ${fs_label}"
echo "fi"
+ else
+ if fs_uuid="`"${grub_probe}" --device "${device}" --target=fs_uuid 2> /dev/null`" ; then
+ hints="`"${grub_probe}" --device "${device}" --target=hints_string 2> /dev/null`" || hints=
+ echo "if [ x\$feature_platform_search_hint = xy ]; then"
+ echo " search --no-floppy --fs-uuid --set=root ${hints} ${fs_uuid}"
+ echo "else"
+ echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
+ echo "fi"
+ fi
fi
}
-
grub_get_device_id ()
{
device="$1"
=== modified file 'util/grub.d/10_linux.in'
--- old/util/grub.d/10_linux.in 2012-07-22 18:02:17 +0000
+++ new/util/grub.d/10_linux.in 2012-09-18 21:10:51 +0000
@@ -43,13 +43,27 @@
;;
esac
-if [ "x${GRUB_DEVICE_UUID}" = "x" ] || [ "x${GRUB_DISABLE_LINUX_UUID}" = "xtrue" ] \
- || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
- || uses_abstraction "${GRUB_DEVICE}" lvm; then
- LINUX_ROOT_DEVICE=${GRUB_DEVICE}
-else
- LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
-fi
+case x"$GRUB_DEVICE_IDENTIFICATION_LINUX" in
+ xpath)
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ ;;
+ xlabel)
+ if [ "x${GRUB_DEVICE_LABEL_LINUX}" = "x" ] \
+ || ! test -e "/dev/disk/by-label/${GRUB_DEVICE_LABEL}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=LABEL=\"${GRUB_DEVICE_LABEL_LINUX}\"
+ fi;;
+ *)
+ if [ "x{GRUB_DEVICE_UUID}" = "x" ] \
+ || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" \
+ || uses_abstraction "${GRUB_DEVICE}" lvm; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+ else
+ LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
+ fi;;
+esac
GRUBFS="`${grub_probe} --device ${GRUB_DEVICE} --target=fs 2>/dev/null || true`"
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Allow user to choose between path or fs-label instead of UUID
@ 2014-05-15 16:23 jpacner
2014-05-27 9:38 ` jpacner
0 siblings, 1 reply; 10+ messages in thread
From: jpacner @ 2014-05-15 16:23 UTC (permalink / raw)
To: grub-devel; +Cc: grub-devl-pma
[-- Attachment #1: Type: text/plain, Size: 225 bytes --]
Hello everybody,
any progress on this? I'm waiting for this feature already more than one
and half year, but the patch wasn't included yet. Could you please
incorporate it to the upstream branch ASAP?
Thanks
-- Jan Pacner
[-- Attachment #2: Type: text/html, Size: 453 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] Allow user to choose between path or fs-label instead of UUID
2014-05-15 16:23 [PATCH] Allow user to choose between path or fs-label instead of UUID jpacner
@ 2014-05-27 9:38 ` jpacner
0 siblings, 0 replies; 10+ messages in thread
From: jpacner @ 2014-05-27 9:38 UTC (permalink / raw)
To: grub-devel
Anyone interested?
The patch is quite short and doesn't break anything. Is there anything I
can do to fasten the process of incorporation?
Kind regards,
-- Jan Pacner
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2014-05-27 9:38 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-15 16:23 [PATCH] Allow user to choose between path or fs-label instead of UUID jpacner
2014-05-27 9:38 ` jpacner
-- strict thread matches above, loose matches on Subject: below --
2012-09-16 16:57 Pete Appleton
2012-09-16 17:40 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-09-16 20:51 ` Pete Appleton
2012-09-18 8:54 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-09-18 18:26 ` Pete Appleton
2012-09-18 18:42 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-09-18 21:13 ` Pete Appleton
2012-09-18 21:22 ` Pete Appleton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).