From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1LXgEB-0004JG-6j for mharc-grub-devel@gnu.org; Thu, 12 Feb 2009 13:23:59 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LXgE8-0004Ir-R1 for grub-devel@gnu.org; Thu, 12 Feb 2009 13:23:56 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LXgE6-0004Ib-R2 for grub-devel@gnu.org; Thu, 12 Feb 2009 13:23:56 -0500 Received: from [199.232.76.173] (port=40762 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LXgE6-0004IY-LP for grub-devel@gnu.org; Thu, 12 Feb 2009 13:23:54 -0500 Received: from fg-out-1718.google.com ([72.14.220.159]:10424) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LXgE5-0008Od-Oh for grub-devel@gnu.org; Thu, 12 Feb 2009 13:23:54 -0500 Received: by fg-out-1718.google.com with SMTP id l27so292048fgb.30 for ; Thu, 12 Feb 2009 10:23:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type; bh=wyODbJ6l/jvvxK3z/aFX6p4h5m4RHheaPxB0xfgVK6M=; b=ZjcP3+WrPzrn2KFInYot0q3tcRo/jHIfBuyIJ5/C1k3r2+kV9/vHxUGIpGTB0U4w0/ OQJLxlqVz9j+T2OJ9bpDdU0BWchSEsX+jjHJqoX28JEf+RfmrC2FHqKHQPxpqrvVFCC+ rczc6JUqJ9VoTOjLAI79s+nrXLEhjWUXU0hp4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type; b=WN+4Kk1YCL/O19jBju2wOyjDaQtyoKXYN5msmw+H48rxqHcHRMVr37XOO6W/9sN+7j 89SezgRbIRS6S2YEKmpZZ6GlPP7rYu/sNCHzUTkYfCis3dBStp2Rm138mGX7Y4geiBgn 3Umur50qAhH53/3nZuemO7yFKwKh6COE0LePQ= Received: by 10.86.90.2 with SMTP id n2mr236853fgb.20.1234463031248; Thu, 12 Feb 2009 10:23:51 -0800 (PST) Received: from ?192.168.1.25? (120-197.62-81.cust.bluewin.ch [81.62.197.120]) by mx.google.com with ESMTPS id 4sm382287fgg.25.2009.02.12.10.23.50 (version=SSLv3 cipher=RC4-MD5); Thu, 12 Feb 2009 10:23:50 -0800 (PST) Message-ID: <49946936.1080904@gmail.com> Date: Thu, 12 Feb 2009 19:23:50 +0100 From: phcoder User-Agent: Thunderbird 2.0.0.19 (X11/20090105) MIME-Version: 1.0 To: The development of GRUB 2 References: <4984E8DE.2090608@gmail.com> <4985F3D2.4010308@gmail.com> <4989833E.30803@gmail.com> In-Reply-To: <4989833E.30803@gmail.com> Content-Type: multipart/mixed; boundary="------------030107080503080206090209" X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 2) Subject: Re: [PATCH] Allow to install in non-default prefixes X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Feb 2009 18:23:57 -0000 This is a multi-part message in MIME format. --------------030107080503080206090209 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Here I attach updated version Regards Vladimir 'phcoder' Serbinenko phcoder wrote: > Sorry, Changelog entry was wrong: > +2009-02-04 Vladimir Serbinenko > + > + Add prefix option for grub-setup > + > + * util/i386/pc/grub-setup.c (main): Add -p option. > + (setup): additional argument prefix_dir > > Thanks > Vladimir 'phcoder' Serbinenko > > phcoder wrote: >> After speaking with daChaac on IRC some problems with patch were >> identified. Fixed now >> Thanks daChaac. >> phcoder >> >> phcoder wrote: >>> This patch adds -p option for grub-setup on i386-pc. Without it >>> install to any prefix different from /boot/grub failed >>> Thank >>> Vladimir 'phcoder' Serbinenko >>> >> > --------------030107080503080206090209 Content-Type: text/plain; name="prefpatch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="prefpatch" Index: util/i386/pc/grub-install.in =================================================================== --- util/i386/pc/grub-install.in (revision 1989) +++ util/i386/pc/grub-install.in (working copy) @@ -295,7 +295,7 @@ $grub_mkimage --output=${grubdir}/core.img --prefix=${prefix_drive}${relative_grubdir} $modules || exit 1 # Now perform the installation. - $grub_setup ${setup_verbose} --directory=${grubdir} --device-map=${device_map} \ + $grub_setup ${setup_verbose} --directory=${grubdir} --prefix=${relative_grubdir} --device-map=${device_map} \ ${install_device} || exit 1 else $grub_mkimage -d ${pkglibdir} --output=/boot/multiboot.img --prefix=${prefix_drive}${relative_grubdir} $modules || exit 1 Index: util/i386/pc/grub-setup.c =================================================================== --- util/i386/pc/grub-setup.c (revision 1989) +++ util/i386/pc/grub-setup.c (working copy) @@ -94,6 +94,7 @@ static void setup (const char *dir, + const char *prefix_dir, const char *boot_file, const char *core_file, const char *root, const char *dest, int must_embed) { @@ -373,7 +374,7 @@ /* Make sure that GRUB reads the identical image as the OS. */ tmp_img = xmalloc (core_size); - core_path_dev = grub_util_get_path (DEFAULT_DIRECTORY, core_file); + core_path_dev = grub_util_get_path (prefix_dir, core_file); /* It is a Good Thing to sync two times. */ sync (); @@ -518,6 +519,7 @@ {"core-image", required_argument, 0, 'c'}, {"directory", required_argument, 0, 'd'}, {"device-map", required_argument, 0, 'm'}, + {"prefix", required_argument, 0, 'p'}, {"root-device", required_argument, 0, 'r'}, {"help", no_argument, 0, 'h'}, {"version", no_argument, 0, 'V'}, @@ -540,6 +542,7 @@ -b, --boot-image=FILE use FILE as the boot image [default=%s]\n\ -c, --core-image=FILE use FILE as the core image [default=%s]\n\ -d, --directory=DIR use GRUB files in the directory DIR [default=%s]\n\ + -p, --prefix=DIR specify the name of GRUB directory relative to partition root [default=%s]\n \ -m, --device-map=FILE use FILE as the device map [default=%s]\n\ -r, --root-device=DEV use DEV as the root device [default=guessed]\n\ -h, --help display this message and exit\n\ @@ -548,7 +551,8 @@ \n\ Report bugs to <%s>.\n\ ", - DEFAULT_BOOT_FILE, DEFAULT_CORE_FILE, DEFAULT_DIRECTORY, + DEFAULT_BOOT_FILE, DEFAULT_CORE_FILE, DEFAULT_DIRECTORY, + DEFAULT_DIRECTORY, DEFAULT_DEVICE_MAP, PACKAGE_BUGREPORT); exit (status); @@ -575,6 +579,7 @@ char *dev_map = 0; char *root_dev = 0; char *dest_dev; + char *prefix_dir = 0; int must_embed = 0; progname = "grub-setup"; @@ -582,7 +587,7 @@ /* Check for options. */ while (1) { - int c = getopt_long (argc, argv, "b:c:d:m:r:hVv", options, 0); + int c = getopt_long (argc, argv, "p:b:c:d:m:r:hVv", options, 0); if (c == -1) break; @@ -603,6 +608,13 @@ core_file = xstrdup (optarg); break; + case 'p': + if (prefix_dir) + free (prefix_dir); + + prefix_dir = xstrdup (optarg); + break; + case 'd': if (dir) free (dir); @@ -723,6 +735,7 @@ for (i = 0; devicelist[i]; i++) { setup (dir ? : DEFAULT_DIRECTORY, + prefix_dir ? : DEFAULT_DIRECTORY, boot_file ? : DEFAULT_BOOT_FILE, core_file ? : DEFAULT_CORE_FILE, root_dev, grub_util_get_grub_dev (devicelist[i]), 1); @@ -732,6 +745,7 @@ #endif /* Do the real work. */ setup (dir ? : DEFAULT_DIRECTORY, + prefix_dir ? : DEFAULT_DIRECTORY, boot_file ? : DEFAULT_BOOT_FILE, core_file ? : DEFAULT_CORE_FILE, root_dev, dest_dev, must_embed); @@ -743,6 +757,7 @@ free (boot_file); free (core_file); free (dir); + free (prefix_dir); free (dev_map); free (root_dev); free (dest_dev); Index: ChangeLog =================================================================== --- ChangeLog (revision 1989) +++ ChangeLog (working copy) @@ -1,3 +1,104 @@ +2009-02-12 Vladimir Serbinenko + + Add prefix option for grub-setup + + * util/i386/pc/grub-setup.c (main): Add -p option. + (setup): additional argument prefix_dir + * util/i386/pc/grub-install.in: pass prefix option to grub-setup + 2009-02-11 Robert Millan * util/grub.d/00_header.in: Update old reference to `font' command. --------------030107080503080206090209--