2007-07-22 Robert Millan <rmh@aybabtu.com>

* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
	GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
	* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
	flag when running on SmartFirmware.
	* term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
	"output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
	was set.

	* kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
	Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
	rather than decreasing it.

	* util/i386/pc/grub-setup.c (setup): When embedding is required, but
	there's not enough space to do it, fail in the same way as when it
	can't be done because there are no partitions.

	* util/powerpc/ieee1275/grub-install.in: Improve error message shown
	when nvsetenv failed.
This commit is contained in:
robertmh 2007-07-22 09:05:11 +00:00
parent 969c02ec31
commit ad0686cc6d
7 changed files with 44 additions and 7 deletions

View file

@ -105,6 +105,7 @@ setup (const char *prefix, const char *dir,
grub_file_t file;
FILE *fp;
unsigned long first_start = ~0UL;
int able_to_embed = 1;
auto void save_first_sector (grub_disk_addr_t sector, unsigned offset,
unsigned length);
@ -323,8 +324,13 @@ setup (const char *prefix, const char *dir,
goto finish;
}
else
able_to_embed = 0;
}
else if (must_embed)
else
able_to_embed = 0;
if (must_embed && !able_to_embed)
grub_util_error ("Can't embed the core image, but this is required when\n"
"the root device is on a RAID array or LVM volume.");