int force;
int fs_probe;
int allow_floppy;
-@@ -178,6 +181,13 @@ argp_parser (int key, char *arg, struct
+@@ -178,6 +181,13 @@ argp_parser (int key, char *arg, struct argp_state *state)
arguments->dev_map = xstrdup (arg);
break;
--- a/util/setup.c
+++ b/util/setup.c
-@@ -247,13 +247,12 @@ identify_partmap (grub_disk_t disk __att
+@@ -247,13 +247,12 @@ identify_partmap (grub_disk_t disk __attribute__ ((unused)),
void
SETUP (const char *dir,
const char *boot_file, const char *core_file,
char **root_devices = grub_guess_root_devices (dir);
char **cur;
int found = 0;
-@@ -317,6 +319,8 @@ SETUP (const char *dir,
+@@ -320,6 +322,8 @@ SETUP (const char *dir,
char *drive;
grub_device_t try_dev;
continue;
--- a/include/grub/util/install.h
+++ b/include/grub/util/install.h
-@@ -182,13 +182,13 @@ grub_install_get_image_target (const cha
+@@ -184,13 +184,13 @@ grub_install_get_image_target (const char *arg);
void
grub_util_bios_setup (const char *dir,
const char *boot_file, const char *core_file,
--- a/util/grub-install.c
+++ b/util/grub-install.c
-@@ -1660,7 +1660,7 @@ main (int argc, char *argv[])
+@@ -1673,7 +1673,7 @@ main (int argc, char *argv[])
/* Now perform the installation. */
if (install_bootsector)
grub_util_bios_setup (platdir, "boot.img", "core.img",
fs_probe, allow_floppy, add_rs_codes);
break;
}
-@@ -1686,7 +1686,7 @@ main (int argc, char *argv[])
+@@ -1699,7 +1699,7 @@ main (int argc, char *argv[])
/* Now perform the installation. */
if (install_bootsector)
grub_util_sparc_setup (platdir, "boot.img", "core.img",
-- install_device, force,
-+ NULL, install_device, force,
+- install_drive, force,
++ NULL, install_drive, force,
fs_probe, allow_floppy,
0 /* unused */ );
break;
+++ /dev/null
---- a/grub-core/osdep/unix/hostdisk.c
-+++ b/grub-core/osdep/unix/hostdisk.c
-@@ -48,11 +48,10 @@
- #ifdef __linux__
- # include <sys/ioctl.h> /* ioctl */
- # include <sys/mount.h>
--# if !defined(__GLIBC__) || \
-- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1)))
-+# if defined(__UCLIBC__)
- /* Maybe libc doesn't have large file support. */
- # include <linux/unistd.h> /* _llseek */
--# endif /* (GLIBC < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR < 1)) */
-+# endif /* __UCLIBC__ */
- #endif /* __linux__ */
-
- grub_uint64_t
-@@ -79,8 +78,7 @@ grub_util_get_fd_size (grub_util_fd_t fd
- return st.st_size;
- }
-
--#if defined(__linux__) && (!defined(__GLIBC__) || \
-- ((__GLIBC__ < 2) || ((__GLIBC__ == 2) && (__GLIBC_MINOR__ < 1))))
-+#if defined(__linux__) && defined(__UCLIBC__)
- /* Maybe libc doesn't have large file support. */
- int
- grub_util_fd_seek (grub_util_fd_t fd, grub_uint64_t off)
+++ /dev/null
---- a/grub-core/term/serial.c
-+++ b/grub-core/term/serial.c
-@@ -241,9 +241,9 @@ grub_cmd_serial (grub_extcmd_context_t c
-
- if (state[OPTION_RTSCTS].set)
- {
-- if (grub_strcmp (state[OPTION_PARITY].arg, "on") == 0)
-+ if (grub_strcmp (state[OPTION_RTSCTS].arg, "on") == 0)
- config.rtscts = 1;
-- if (grub_strcmp (state[OPTION_PARITY].arg, "off") == 0)
-+ else if (grub_strcmp (state[OPTION_RTSCTS].arg, "off") == 0)
- config.rtscts = 0;
- else
- return grub_error (GRUB_ERR_BAD_ARGUMENT,