Use ofpathname in grub-setup on sparc

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-04-18 14:02:13 +02:00
parent a9e6ff28d2
commit 6e86896ed8
8 changed files with 26 additions and 29 deletions

View file

@ -35,6 +35,7 @@
#include <grub/term.h>
#include <grub/util/raid.h>
#include <grub/util/lvm.h>
#include <grub/util/ofpath.h>
#include <grub_setup_init.h>
@ -103,28 +104,6 @@ grub_refresh (void)
fflush (stdout);
}
static char *compute_dest_ofpath (const char *dest)
{
int len = strlen (dest);
char *res, *p, c;
res = xmalloc (len);
p = res;
while ((c = *dest++) != '\0')
{
if (c == '\\' && *dest == ',')
{
*p++ = ',';
dest++;
}
else
*p++ = c;
}
*p++ = '\0';
return res;
}
static void
setup (const char *prefix, const char *dir,
const char *boot_file, const char *core_file,
@ -195,8 +174,6 @@ setup (const char *prefix, const char *dir,
last_length = length;
}
dest_ofpath = compute_dest_ofpath (dest);
/* Read the boot image by the OS service. */
boot_path = grub_util_get_path (dir, boot_file);
boot_size = grub_util_get_image_size (boot_path);
@ -229,8 +206,7 @@ setup (const char *prefix, const char *dir,
+ GRUB_DISK_SECTOR_SIZE
- sizeof (*block));
grub_util_info ("root is `%s', dest is `%s', and dest_ofpath is `%s'",
root, dest, dest_ofpath);
grub_util_info ("root is `%s', dest is `%s'", root, dest);
/* Open the root device and the destination device. */
grub_util_info ("Opening root");
@ -243,6 +219,11 @@ setup (const char *prefix, const char *dir,
if (! dest_dev)
grub_util_error ("%s", grub_errmsg);
dest_ofpath
= grub_util_devname_to_ofpath (grub_util_biosdisk_get_osdev (dest_dev->disk));
grub_util_info ("dest_ofpath is `%s'", dest_ofpath);
grub_util_info ("setting the root device to `%s'", root);
if (grub_env_set ("root", root) != GRUB_ERR_NONE)
grub_util_error ("%s", grub_errmsg);
@ -449,7 +430,6 @@ init_info (struct grub_setup_info *gp)
gp->dev_map = NULL;
gp->root_dev = NULL;
gp->prefix = NULL;
gp->dest_dev = NULL;
}
static int