Commit Graph
49 Commits
Author SHA1 Message Date
Colin Watson db2102a046 * kern/emu/misc.c (canonicalize_file_name): realpath can still
return NULL for various reasons even if it has a maximum-length
buffer: for example, there might be a symlink loop, or the path
might exceed PATH_MAX.  If this happens, return NULL.
2010-05-27 15:45:41 +01:00
Colin Watson d1d368e426 * util/grub-mkrescue.in: Initialise override_dir rather than
assuming that it's unset or empty in the environment.
2010-05-27 12:43:22 +01:00
Colin Watson 21717c8fca * util/grub-mkconfig.in: Fix handling of -o so that it works when
not the first option.
2010-05-21 14:17:15 +01:00
Colin Watson c0f48e654d * util/grub-mkrelpath.c (usage): Remove excess apostrophe. 2010-05-20 23:27:15 +01:00
Colin Watson 96779aec8e * util/misc.c: Move inclusion of <limits.h> to ...
* kern/emu/misc.c: ... here.  Needed for canonicalize_file_name.
2010-05-20 23:16:10 +01:00
Colin Watson 74cbf5bdcb * configure.ac: Check for Linux device-mapper support.
* util/hostdisk.c (device_is_mapped): New function.
(find_partition_start): New function, partly broken out from
linux_find_partition and grub_util_biosdisk_get_grub_dev but with
device-mapper support added.
(linux_find_partition): Use find_partition_start.
(convert_system_partition_to_system_disk): Add `st' argument.
Support Linux /dev/mapper/* devices if device-mapper support is
available; only DM-RAID devices are understood at present.
(find_system_device): Add `st' argument.  Pass it to
convert_system_partition_to_system_disk.
(grub_util_biosdisk_get_grub_dev): Pass stat result to
find_system_device and convert_system_partition_to_system_disk.  Use
find_partition_start.
* conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
* util/deviceiter.c [__linux__]: Define MINOR.
(grub_util_iterate_devices): Add support for DM-RAID disk devices.
* util/mkdevicemap.c (grub_putchar): New function.
(grub_getkey): New function.
(grub_refresh): New function.
(main): Set debug=all if -v -v is used.
2010-05-18 12:33:35 +01:00
Colin Watson 355b51e9b5 Fix build with non-GNU libcs.
* util/misc.c (canonicalize_file_name): Move to ...
* kern/emu/misc.c (canonicalize_file_name): ... here.  Needed by
grub_make_system_path_relative_to_its_root.
2010-05-18 11:57:31 +01:00
Colin Watson 7fb5c25fd0 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
we handle finding grub-mkimage.  Default to finding grub-mkimage in
${bindir} with program_transform_name applied, and provide a
--grub-mkimage option to override this.
2010-05-18 11:51:37 +01:00
Colin Watson e6127bed25 merge from trunk 2010-05-18 11:14:13 +01:00
Colin Watson 0b45630927 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
mistake in r2156.  Noticed by Anthony Fok.
* util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
@localedir@.
* util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
2010-04-14 13:59:58 +01:00
Colin Watson df60998c64 * util/grub.d/10_linux.in: Only use the first word of
GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
spaces in GRUB_DISTRIBUTOR.
* util/grub.d/10_kfreebsd.in: Likewise.
* util/grub.d/10_hurd.in: Likewise.
2010-04-08 10:54:44 +01:00
Colin Watson bed1d3524e * util/grub-install.in: Copy .mo files from @datadir@/locale, to
match where 'make install' puts them.
* util/i386/efi/grub-install.in: Likewise.
2010-03-21 23:04:02 +00:00
Colin Watson c9f5842752 * .bzrignore: Add gentrigtables, grub-script-check,
grub_script_check_init.c, grub_script_check_init.h, and
trigtables.c.
2010-03-19 11:28:05 +00:00
Colin Watson 08e46ededa Speed up consecutive hostdisk operations on the same device.
* util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
(grub_util_biosdisk_open): Initialise disk->data.
(struct linux_partition_cache): New structure.
(linux_find_partition): Cache partition start positions; these are
expensive to compute on every read and write.
(open_device): Cache open file descriptor in disk->data, so that we
don't have to reopen it and flush the buffer cache for consecutive
operations on the same device.
(grub_util_biosdisk_close): New function.
(grub_util_biosdisk_dev): Set `close' member.

* conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
* conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
* conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2010-03-14 15:39:14 +00:00
Colin Watson c6293875f9 reopen device when the requested access mode changes 2010-03-03 20:03:50 +00:00
Colin Watson 22d7b6137a 2010-03-03 Colin Watson <cjwatson@ubuntu.com>
* util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
	(grub_util_biosdisk_open): Initialise disk->data.
	(struct linux_partition_cache): New structure.
	(linux_find_partition): Cache partition start positions; these are
	expensive to compute on every read and write.
	(open_device): Cache open file descriptor in disk->data, so that we
	don't have to reopen it and flush the buffer cache for consecutive
	operations on the same device.
	(grub_util_biosdisk_close): New function.
	(grub_util_biosdisk_dev): Set `close' member.

	* conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
	* conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2010-03-03 10:44:12 +00:00
Colin Watson a0ca21c2d2 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
* util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
	* util/grub-mkconfig_lib.in (save_default_entry): Only save a new
	default entry if GRUB_SAVEDEFAULT=true.  This allows using
	GRUB_DEFAULT=saved on its own to let grub-reboot work, without
	saving a new default on every boot.
2010-02-25 13:30:50 +00:00
Colin Watson 2b8fa975d4 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
	duplicate declaration of `start'.
2010-02-24 10:02:16 +00:00
Colin Watson 33dfc52f44 2010-02-10 Colin King <colin.king@ubuntu.com>
2010-02-10  Colin Watson  <cjwatson@ubuntu.com>

	Shrink the pre-partition-table part of boot.img by eight bytes.

	* boot/i386/pc/boot.S (ERR): New macro.
	(chs_mode): Use ERR.
	(geometry_error): Likewise.
	(hd_probe_error): Remove.  This is only used once, so we wrwite
	it inline instead.
	(read_error): Instead of printing read_error_string, just set up
	%si and fall through to ...
	(error_message): ... this new function, also used by ERR.
2010-02-22 12:42:13 +00:00
Colin Watson c98d2a13c2 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
* NEWS: Update.
2010-02-07 10:27:03 -08:00
Colin Watson a800277e8d remove left-over LIBDEVMAPPER substitution 2010-02-05 09:08:22 -08:00
Colin Watson b9c4f55b6f handle DM-RAID disks in convert_system_partition_to_system_disk 2010-01-31 19:37:37 +00:00
Colin Watson 2e1cb9bbbf 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
* util/grub.d/10_linux.in: This script does not use any of the
	contents of gettext.sh, only the external command `gettext', so stop
	sourcing it.  (Moreover, gettext.sh isn't necessarily installed in
	the same prefix as GRUB.)
	* util/grub.d/10_kfreebsd.in: Likewise.
2010-01-28 12:49:40 +00:00
Colin Watson b769a37b6e 2010-01-26 Colin Watson <cjwatson@ubuntu.com>
* conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
	kern/err.c, kern/list.c, and kern/misc.c.
	* util/deviceiter.c [__linux__]: Define MINOR.
	(grub_util_iterate_devices): Add support for DM-RAID disk devices.
	* util/mkdevicemap.c (grub_putchar): New function.
	(grub_getkey): New function.
	(grub_refresh): New function.
	(main): Set debug=all if -v -v is used.
2010-01-26 14:26:16 +00:00
Colin Watson 7181e2281f 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
* configure.ac: Check for Linux device-mapper support.
	* util/hostdisk.c (device_is_mapped): New function.
	(find_partition_start): New function, partly broken out from
	linux_find_partition and grub_util_biosdisk_get_grub_dev but with
	device-mapper support added.
	(linux_find_partition): Use find_partition_start.
	(convert_system_partition_to_system_disk): Add `st' argument.
	Support Linux /dev/mapper/* devices if device-mapper support is
	available; only DM-RAID devices are understood at present.
	(find_system_device): Add `st' argument.  Pass it to
	convert_system_partition_to_system_disk.
	(grub_util_biosdisk_get_grub_dev): Pass stat result to
	find_system_device and convert_system_partition_to_system_disk.  Use
	find_partition_start.
2010-01-25 17:47:51 +00:00
Colin Watson 847effd8bf 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
* util/hostdisk.c (open_device): Add trailing newline to debug
	message.
2010-01-25 17:04:22 +00:00
Colin Watson 917dd37040 2010-01-20 Dan Merillat <debian@dan.merillat.org>
* kern/device.c (grub_device_iterate): Allocate new part_ent
	structure based on sizeof (*p) rather than sizeof (p->next), to
	account for structure padding.

	* util/grub-probe.c (probe_raid_level): Return -1 immediately if
	disk is NULL, which might happen for LVM physical volumes with no
	LVM signature.
2010-01-20 02:11:07 +00:00
Colin Watson 6d1e76899b fix changelog dates 2010-01-14 14:06:36 +00:00
Colin Watson 7d1468e4b6 merge from trunk 2010-01-14 14:04:44 +00:00
Colin Watson a788afb626 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
* util/grub-install.in (usage): Clarify meaning of --root-directory,
	and make it clearer that it's optional.  Based on confusion
	witnessed on IRC.
2010-01-11 12:00:57 +00:00
Colin Watson 3bff18c5c6 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
* util/mkisofs/write.c (padblock_write): Switch size and nmemb
	arguments to fread so that we get a return value in bytes, rather
	than something that will normally be rounded down to 0.
	Adjust error handling to avoid producing garbage when size_t is not
	the same size as long long.
2010-01-05 16:09:02 +00:00
Colin Watson a136811886 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
* util/mkisofs/write.c (padblock_write): Check return value of
	fread.
2010-01-05 12:40:30 +00:00
Colin Watson cf2fd2a6d1 2010-10-05 Jordan Uggla <jordan.uggla@gmail.com>
2010-10-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-reboot.in: Make sure prev_saved_entry always gets a
	non-empty value.
2010-01-05 11:16:42 +00:00
Colin Watson bc11fee9f5 merge from trunk 2010-01-05 10:53:03 +00:00
Colin Watson 5c23bb0f52 2010-10-05 Jordan Uggla <jordan.uggla@gmail.com>
2010-10-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub.d/00_header.in: Define a "savedefault" function for use
	in menu entries.
	* util/grub-mkconfig_lib.in (save_default_entry): Use it.
2010-01-05 10:41:51 +00:00
Colin Watson fcab4f04e5 missing backslash 2010-01-05 10:39:30 +00:00
Colin Watson b445cfaa4d 2010-10-05 Jordan Uggla <jordan.uggla@gmail.com>
2010-10-05  Colin Watson  <cjwatson@ubuntu.com>

	* util/grub-mkconfig_lib.in (save_default_entry): Only set
	saved_entry if boot_once is unset.
	* util/grub.d/00_header.in: Set boot_once to "true" if there was a
	previous saved entry (i.e. grub-reboot).
2010-01-05 10:30:14 +00:00
Colin Watson e2d70b5cea 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
* include/grub/misc.h (GNUC_PREREQ): New macro.
	(ATTRIBUTE_ERROR): New macro.
	* include/grub/list.h (grub_bad_type_cast_real): Use
	ATTRIBUTE_ERROR.
2010-01-03 21:50:53 +00:00
Colin Watson da8d5c53e9 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
* term/i386/pc/at_keyboard.c
	(keyboard_controller_wait_untill_ready): Rename to ...
	(keyboard_controller_wait_until_ready): ... this. Update all users.
2010-01-02 15:19:57 +00:00
Colin Watson c631d9fb17 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
* util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
	if they're already set.  This resolves the conflict between my
	grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
	fixing the --grub-probe option again.
	* util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
	change on 2009-10-06, so that we now once again source
	`${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2009-12-09 16:20:17 +00:00
Colin Watson 6c1f8c1215 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
* util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
2009-12-08 01:02:08 +00:00
Colin Watson b967a04d5b 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
* util/grub.d/00_header.in: Use `set var=val' rather than plain
	`var=val'.
	* util/grub-mkconfig_lib.in (save_default_entry): Likewise.
2009-12-08 01:01:21 +00:00
Colin Watson 47075ea3c7 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
* util/grub-reboot.in: Fix --version output.
	* util/grub-set-default.in: Likewise.
2009-12-08 01:00:26 +00:00
Colin Watson 42356b4d5e 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
* util/grub.d/00_header.in: Silently ignore zero-sized environment
	blocks.
2009-12-08 00:59:26 +00:00
Colin Watson 36cd6dd151 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
* util/grub.d/00_header.in: Quote the value assigned to `default',
	in case it contains spaces.
2009-12-08 00:57:46 +00:00
Colin Watson b824145a8f 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
* util/grub.d/30_os-prober.in: Fix merge error that moved a
	`save_default_entry' call from the macosx case to the linux case.
2009-12-08 00:56:39 +00:00
Colin Watson e8b2988803 merge from trunk 2009-12-08 00:55:17 +00:00
Colin Watson d6ceebf1d9 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
* configure.ac: Check for vasprintf.
	* util/misc.c (asprintf): Move allocation from here ...
	(vasprintf): ... to here.  New function.
	(xasprintf): New function.
	* include/grub/util/misc.h (vasprintf, xasprintf): Add
	prototypes.
	* util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
	* util/grub-mkfont.c (write_font): Likewise.
	* util/grub-probe.c (probe): Likewise.
	* util/hostdisk.c (make_device_name): Likewise.
2009-12-07 16:46:24 +00:00
Colin Watson 242f0731c7 reimported savedefault by cjwatson and myself
Also-By: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
2009-11-20 09:41:20 +01:00