* [PATCH] Allow to install in non-default prefixes
@ 2009-02-01 0:12 phcoder
2009-02-01 19:11 ` phcoder
0 siblings, 1 reply; 4+ messages in thread
From: phcoder @ 2009-02-01 0:12 UTC (permalink / raw)
To: The development of GRUB 2
[-- Attachment #1: Type: text/plain, Size: 156 bytes --]
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
[-- Attachment #2: prefpatch --]
[-- Type: text/plain, Size: 2676 bytes --]
Index: util/i386/pc/grub-setup.c
===================================================================
--- util/i386/pc/grub-setup.c (revision 1964)
+++ util/i386/pc/grub-setup.c (working copy)
@@ -94,6 +94,7 @@
static void
setup (const char *dir,
+ const char *prefix,
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, core_file);
/* It is a Good Thing to sync two times. */
sync ();
@@ -540,6 +541,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 +550,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 +578,7 @@
char *dev_map = 0;
char *root_dev = 0;
char *dest_dev;
+ char *prefix = 0;
int must_embed = 0;
progname = "grub-setup";
@@ -582,7 +586,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 +607,14 @@
core_file = xstrdup (optarg);
break;
+ case 'p':
+ if (prefix)
+ free (prefix);
+
+ prefix = xstrdup (optarg);
+ break;
+
+
case 'd':
if (dir)
free (dir);
@@ -723,6 +735,7 @@
for (i = 0; devicelist[i]; i++)
{
setup (dir ? : DEFAULT_DIRECTORY,
+ prefix ? : 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 ? : DEFAULT_DIRECTORY,
boot_file ? : DEFAULT_BOOT_FILE,
core_file ? : DEFAULT_CORE_FILE,
root_dev, dest_dev, must_embed);
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH] Allow to install in non-default prefixes 2009-02-01 0:12 [PATCH] Allow to install in non-default prefixes phcoder @ 2009-02-01 19:11 ` phcoder 2009-02-04 11:59 ` phcoder 0 siblings, 1 reply; 4+ messages in thread From: phcoder @ 2009-02-01 19:11 UTC (permalink / raw) To: The development of GRUB 2 [-- Attachment #1: Type: text/plain, Size: 296 bytes --] 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 > [-- Attachment #2: prefpatch --] [-- Type: text/plain, Size: 3297 bytes --] Index: ChangeLog =================================================================== --- ChangeLog (revision 1966) +++ ChangeLog (working copy) @@ -1,3 +1,9 @@ +2009-02-01 Vladimir Serbinenko <phcoder@gmail.com> + + Add prefix option for grub-setup + + * util/i386/pc/grub-setup.c (grub_video_vbe_scroll): Add -p option. + 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi> Base on patch on bug #24154 created by Tomas Tintera Index: util/i386/pc/grub-setup.c =================================================================== --- util/i386/pc/grub-setup.c (revision 1966) +++ 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 (); @@ -540,6 +541,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 +550,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 +578,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 +586,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 +607,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 +734,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 +744,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 +756,7 @@ free (boot_file); free (core_file); free (dir); + free (prefix_dir); free (dev_map); free (root_dev); free (dest_dev); ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Allow to install in non-default prefixes 2009-02-01 19:11 ` phcoder @ 2009-02-04 11:59 ` phcoder 2009-02-12 18:23 ` phcoder 0 siblings, 1 reply; 4+ messages in thread From: phcoder @ 2009-02-04 11:59 UTC (permalink / raw) To: The development of GRUB 2 Sorry, Changelog entry was wrong: +2009-02-04 Vladimir Serbinenko <phcoder@gmail.com> + + 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 >> > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Allow to install in non-default prefixes 2009-02-04 11:59 ` phcoder @ 2009-02-12 18:23 ` phcoder 0 siblings, 0 replies; 4+ messages in thread From: phcoder @ 2009-02-12 18:23 UTC (permalink / raw) To: The development of GRUB 2 [-- Attachment #1: Type: text/plain, Size: 720 bytes --] Here I attach updated version Regards Vladimir 'phcoder' Serbinenko phcoder wrote: > Sorry, Changelog entry was wrong: > +2009-02-04 Vladimir Serbinenko <phcoder@gmail.com> > + > + 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 >>> >> > [-- Attachment #2: prefpatch --] [-- Type: text/plain, Size: 4474 bytes --] 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 <phcoder@gmail.com> + + 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 <rmh@aybabtu.com> * util/grub.d/00_header.in: Update old reference to `font' command. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2009-02-12 18:23 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2009-02-01 0:12 [PATCH] Allow to install in non-default prefixes phcoder 2009-02-01 19:11 ` phcoder 2009-02-04 11:59 ` phcoder 2009-02-12 18:23 ` phcoder
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.