From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1YxRFf-0000Qq-4O for mharc-grub-devel@gnu.org; Tue, 26 May 2015 22:39:27 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43718) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxHzy-0004E8-QC for grub-devel@gnu.org; Tue, 26 May 2015 12:46:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YxHzx-0001Oz-OM for grub-devel@gnu.org; Tue, 26 May 2015 12:46:38 -0400 Received: from mail-ig0-x22b.google.com ([2607:f8b0:4001:c05::22b]:34764) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxHzx-0001Oq-JR for grub-devel@gnu.org; Tue, 26 May 2015 12:46:37 -0400 Received: by igbhj9 with SMTP id hj9so64849571igb.1 for ; Tue, 26 May 2015 09:46:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Dob5YQ+xW0lNKW2w6Na1NViE9K4lcvgX/jal/hi41HA=; b=da4Euq/nWOR+zy+FfEKMmlf+CYL6Y/FIbW2iVF2JBxV06tPTpYvRoKpfD6L4PBi/UP By+F0p+A5ATvBcTYhhAkBGPfYrKQzNbvf/+UKhXkbZdLHcvP7TBv7hoeB/J3L/6eoSVo 1AubzVUHZLCKVFQSJYcv/2KxP19QPndo71DZjGxb8CK5qOv69ProdjERw7qIAKCCNDr4 Gs/Vufk/kVsMEWaxXdkBh6XKed/G9leLMt9XeUdpaHBy5HNvH8A5ANbnUpOjuYW+c6U0 Xr2iktrVr784FwT7fuu9HhsQcJxjXWgCbPP50vqUK7IFCVS7hoqSfntnAeWOCn274Cpk eUVg== X-Received: by 10.43.5.74 with SMTP id of10mr20101136icb.67.1432658797118; Tue, 26 May 2015 09:46:37 -0700 (PDT) Received: from gaea.cyphermox.net (modemcable053.58-56-74.mc.videotron.ca. [74.56.58.53]) by mx.google.com with ESMTPSA id j20sm8695861igt.5.2015.05.26.09.46.36 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 26 May 2015 09:46:36 -0700 (PDT) From: Mathieu Trudel-Lapierre X-Google-Original-From: Mathieu Trudel-Lapierre To: grub-devel@gnu.org Subject: [PATCH] Set a bootdrive environment variable. Date: Tue, 26 May 2015 12:46:08 -0400 Message-Id: <1432658768-4225-2-git-send-email-mathieu.trudel-lapierre@canonical.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1432658768-4225-1-git-send-email-mathieu.trudel-lapierre@canonical.com> References: <1432658768-4225-1-git-send-email-mathieu.trudel-lapierre@canonical.com> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4001:c05::22b X-Mailman-Approved-At: Tue, 26 May 2015 22:39:25 -0400 Cc: Mathieu Trudel-Lapierre X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 26 May 2015 16:46:39 -0000 --- grub-core/kern/main.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/grub-core/kern/main.c b/grub-core/kern/main.c index 9cad0c4..8352b6e 100644 --- a/grub-core/kern/main.c +++ b/grub-core/kern/main.c @@ -130,6 +130,8 @@ grub_set_prefix_and_root (void) if (fwdevice) { char *cmdpath; + char *bootdrive = NULL; + char *cptr; cmdpath = grub_xasprintf ("(%s)%s", fwdevice, fwpath ? : ""); if (cmdpath) @@ -138,6 +140,19 @@ grub_set_prefix_and_root (void) grub_env_export ("cmdpath"); grub_free (cmdpath); } + + cptr = grub_strrchr (fwdevice, ','); + if (cptr) + { + bootdrive = grub_strndup (fwdevice, cptr - fwdevice); + cptr++; + } + if (bootdrive) + { + grub_env_set ("bootdrive", bootdrive); + grub_env_export ("bootdrive"); + grub_free (bootdrive); + } } if (prefix) -- 2.1.4