Commit Graph

77 Commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko c9ea504d25 merge mainline into nestpart 2010-03-26 15:44:13 +01:00
Matt Kraai 4e02ed5014 2010-03-08 Matt Kraai <kraai@ftbfs.org>
* util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
	bug #559005).
2010-03-08 22:20:02 +00:00
Vladimir 'phcoder' Serbinenko 58548abbc3 Remove data member in partition structure 2010-02-07 01:48:38 +01:00
Vladimir 'phcoder' Serbinenko 85f90358b1 Remove part_ prefix 2010-02-06 19:33:53 +01:00
Vladimir 'phcoder' Serbinenko 15cb7d433f Reimport nestpart 2010-02-06 18:43:37 +01:00
carles 409ae1c92a 2010-01-16 Carles Pina i Estany <carles@pina.cat>
* util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
	string.
	* util/grub-emu.c (usage): Likewise.
	* util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
	* util/i386/efi/grub-mkimage.c (usage): Likewise.
	* util/i386/pc/grub-mkimage.c (usage): Likewise.
	* util/i386/pc/grub-setup.c (usage): Likewise.
2010-01-16 00:39:14 +00:00
carles 70a14d3d49 2010-01-16 Carles Pina i Estany <carles@pina.cat>
* util/misc.c (grub_util_warn): Gettextizze, print full stop after
	the message.
	(grub_util_info): Likewise.
	(grub_util_error): Likewise.
	* util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
	and/or new lines in `grub_util_warna', `grub_util_info',
	`grub_util_error' calls.
	* util/getroot.c: Likewise.
	* util/grub-editenv.c: Likewise.
	* util/grub-emu.c: Likewise.
	* util/grub-fstest.c: Likewise.
	* util/grub-mkdevicemap.c: Likewise.
	* util/grub-mkfont.c: Likewise.
	* util/grub-mkpasswd-pbkdf2.c: Likewise.
	* util/grub-mkrelpath.c: Likewise.
	* util/grub-pe2elf.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/hostdisk.c: Likewise.
	* util/i386/efi/grub-mkimage.c: Likewise.
	* util/i386/pc/grub-mkimage.c: Likewise.
	* util/i386/pc/grub-setup.c: Likewise.
	* util/ieee1275/ofpath.c: Likewise.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/write.c: Likewise.
	* util/raid.c: Likewise.
	* util/sparc64/ieee1275/grub-mkimage.c: Likewise.
	* util/sparc64/ieee1275/grub-setup.c: Likewise.
2010-01-16 00:26:52 +00:00
Robert Millan 3a73dcb6f5 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
* boot/i386/pc/diskboot.S: Fix inaccurate comment.
	
	* util/i386/pc/grub-setup.c: Include `<assert.h>'.
	(struct boot_blocklist): Move from here ...
	* include/grub/i386/pc/boot.h [ASM_FILE]
	(struct grub_boot_blocklist): ... to here.  Update all users.
	(setup): Only initialize `start' member of `first_block'
	structure.  Add assert() calls to verify the other members.
	
	* util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
	(generate_image): Fix broken blocklist length initialization.
	Add assert() call to verify blocklist `segment' field.
2010-01-03 22:34:03 +00:00
Yves Blusseau 2f1a3acf75 2009-01-01 Yves Blusseau <yves.blusseau@zetam.org>
* configure.ac: check external intl library
	* Makefile.in: add compiler and linker flags to properly compile with
	intl library
	* include/grub/i18n.h: add a check to disable NLS
	* util/misc.c (grub_util_init_nls): new function
	* include/grub/util/misc.h: likewise
	* util/elf/grub-mkimage.c: use the new function below to initialize NLS
	* util/grub-editenv.c: likewise
	* util/grub-emu.c: likewise
	* util/grub-fstest.c: likewise
	* util/grub-mkdevicemap.c: likewise
	* util/grub-mkfont.c: likewise
	* util/grub-mkrelpath.c: likewise
	* util/grub-probe.c: likewise
	* util/i386/pc/grub-mkimage.c: likewise
	* util/i386/pc/grub-setup.c: likewise
	* util/sparc64/ieee1275/grub-mkimage.c: likewise
	* util/sparc64/ieee1275/grub-ofpathname.c: likewise
	* util/sparc64/ieee1275/grub-setup.c: likewise
	* util/mkisofs/mkisofs.h: add a check to disable NLS
	* util/mkisofs/mkisofs.c: likewise
2010-01-01 21:32:30 +01:00
Vladimir 'phcoder' Serbinenko de15bf8e7f 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
* util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
	non-MSDOS paritions.
2009-12-20 21:08:03 +01:00
Felix Zielcke 4501250b6c 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
* util/grub-mkrelpath.c: New file.
	* conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
	(grub_mkrelpath_SOURCES): New variable.
	* include/grub/util/misc.h: New function prototype.
	* util/misc.c (make_system_path_relative_to_its_root): New function.

	* util/grub-mkconfig_lib.in (bindir): New variable.
	(grub_mkrelpath): Likewise.
	(make_system_path_relative_to_its_root): Use grub-mkrelpath.

	* util/probe.c (probe): Make the file path relative to its root.
	Change a info message to use the GRUB path.  Enable again the
	check if we can read the file with GRUB facilities.

	* util/i386/pc/grub-setup.c (setup): Make core.img path relative
	to its root.
2009-11-24 15:00:25 +01:00
Robert Millan 87d58298fd 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
* util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
        * util/i386/pc/grub-setup.c: Likewise.
2009-11-22 10:20:14 +00:00
Robert Millan f577f7a09d 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
* conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
        * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
        Include `"progname.h"'.
        (main): Initialize gettext.
        * util/i386/pc/grub-setup.c: Gettexttize.
        * util/i386/pc/grub-mkimage.c: Likewise.

        * Makefile.in (po/*.po): Redefine as ...
        ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.

        * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
2009-11-18 23:20:22 +00:00
Felix Zielcke cdfc5ad1b3 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
* util/i386/pc/grub-setup.c (setup): Make core.img path relative
	to its root.
2009-11-11 21:10:58 +01:00
robertmh 4dea1c6f06 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
* util/i386/pc/grub-setup.c (setup): Add missing parameter to
        grub_util_error() call.
2009-10-25 17:49:27 +00:00
robertmh 042484d78e 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
        `reserved_first_sector' member.
        * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
        `reserved_first_sector' to 1.
        * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
        * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
        * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
        * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
        filesystems which begin at first sector.
        (options): New option --skip-fs-probe.   
        (main): Handle --skip-fs-probe and pass it to setup().
2009-10-25 15:23:48 +00:00
phcoder aea664ea28 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Fix breakage in grub-setup.

	* util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
	"msdos_partition_map".
2009-08-25 08:28:13 +00:00
phcoder 2d21e3e8e0 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Rename *_partition_map to part_*

	* partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
	* partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
	* partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
	* partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
	All users updated.
	* partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
	All users updated.
	* partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
	* util/grub-probe.c (probe_partmap): Don't transform partition name
	to get module name.
2009-08-24 13:34:03 +00:00
robertmh 71acf5e54b 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
* partmap/pc.c: Rename to ...
        * partmap/msdos.c: ... this.  Update all users.
        (grub_pc_partition_map): Rename to ...
        (grub_msdos_partition_map): ... this.  Update all users.

        * parttool/pcpart.c: Rename to ...
        * parttool/msdospart.c: ... this.  Update all users.

        * include/grub/pc_partition.h: Rename to ...
        * include/grub/msdos_partition.h: ... this.  Update all users.
        (grub_pc_partition_bsd_entry): Rename to ...
        (grub_msdos_partition_bsd_entry): ... this.  Update all users.
        (grub_pc_partition_disk_label): Rename to ...
        (grub_msdos_partition_disk_label): ... this.  Update all users.
        (grub_pc_partition_entry): Rename to ...
        (grub_msdos_partition_entry): ... this.  Update all users.
        (grub_pc_partition_mbr): Rename to ...
        (grub_msdos_partition_mbr): ... this.  Update all users.
        (grub_pc_partition): Rename to ...
        (grub_msdos_partition): ... this.  Update all users.
        (grub_pc_partition_is_empty): Rename to ...
        (grub_msdos_partition_is_empty): ... this.  Update all users.
        (grub_pc_partition_is_extended): Rename to ...
        (grub_msdos_partition_is_extended): ... this.  Update all users.
        (grub_pc_partition_is_bsd): Rename to ...
        (grub_msdos_partition_is_bsd): ... this.  Update all users.

        * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
        (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
        (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
        (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
        (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
        (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
        (gpt_mod_LDFLAGS): Rename to ...
        (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
        (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
        (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
        (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
        (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
        (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
        (part_gpt_mod_LDFLAGS): ... this.
        (pkglib_MODULES): Prefix partition modules with `part_'.  Rename
        `pcpart.mod' to `msdospart.mod'.
        (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
        to ...
        (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
        (msdospart_mod_LDFLAGS): ... this.
2009-08-23 12:00:57 +00:00
phcoder a275d9e7c0 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
* util/i386/pc/grub-setup.c (setup): Check that no partition is in
	embeding zone, not only the first one.
2009-07-29 22:50:38 +00:00
fzielcke c521b62b6c 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
* util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
	when embedding.
2009-07-28 15:58:40 +00:00
phcoder fcaa8b2177 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
* util/i386/pc/grub-setup.c (setup): Fix bug when
	installing on partionless disk.
2009-07-24 20:41:31 +00:00
proski 3ef17a2ebf 2009-06-16 Pavel Roskin <proski@gnu.org>
* boot/i386/pc/boot.S: Remove root_drive.  Assert offset of
	boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK.  Don't
	save %dx, we only need %dl and we never change it.
	* boot/i386/pc/cdboot.S: Don't set the root drive.
	* boot/i386/pc/pxeboot.S: Likewise.
	* include/grub/i386/pc/boot.h: Remove
	GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
	GRUB_BOOT_MACHINE_DRIVE_CHECK.
	* include/grub/i386/pc/kernel.h: Remove grub_root_drive.
	* kern/i386/pc/init.c (make_install_device): Remove references
	to grub_root_drive.
	* kern/i386/pc/startup.S: Likewise.
	* util/i386/pc/grub-setup.c (setup): Don't set root_drive.
2009-06-15 23:25:38 +00:00
fzielcke b39f9d20a9 remove all trailing whitespace 2009-06-10 21:04:23 +00:00
proski 6f6a8b2869 2009-05-13 Pavel Roskin <proski@gnu.org>
* util/i386/pc/grub-setup.c (setup): Remove unused variable
	embedding_area_exists.
2009-05-13 21:28:25 +00:00
robertmh 59978c8ae7 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
Improve warning messages for cases where there's no embedding area,
        or when it is too small (or core.img too large).
2009-05-13 21:13:11 +00:00
robertmh 667712d716 fix indentation for previous commit 2009-05-13 21:01:26 +00:00
robertmh 15fbf4c442 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
* util/i386/pc/grub-setup.c (setup): Restructure code flow to make
        it easier to understand / work with.
2009-05-13 20:59:45 +00:00
robertmh 317e1a44b5 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
* util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
        split in two functions (one for msdos and one for gpt).
2009-05-08 19:48:54 +00:00
robertmh 29aa5e8163 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
* util/i386/pc/grub-setup.c (setup): Fix check for embed region
        existance.
2009-05-06 11:56:17 +00:00
robertmh ae0c0bdca9 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
* util/misc.c (grub_util_warn): New function.  Emmits a warning
        unconditionally.
        * include/grub/util/misc.h (grub_util_warn): New declaration.

        * util/i386/pc/grub-install.in: Understand --force and pass it down
        to grub-setup.

        * util/i386/pc/grub-setup.c (main): Understand --force and pass it
        down to setup().
        (setup): Improve error messages and add warnings when requested to
        install in odd layouts.  Refuse to install using blocklists unless
        --force was set.
2009-05-04 16:16:03 +00:00
bean 71b9f36193 2009-03-01 Bean <bean123ch@gmail.com>
* commands/terminal.c: Removed.

	* commands/handler.c: New file.

	* include/grub/list.h: Likewise.

	* include/grub/handler.h: Likewise.

	* kern/list.c: Likewise.

	* kern/handler.c: Likewise.

	* kern/term.h: Include header file <grub/handler.h>.
	(grub_term_input): Move next field to the beginning.
	(grub_term_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.
	(grub_term_register_input): Changed to inline function.
	(grub_term_register_output): Likewise.
	(grub_term_unregister_input): Likewise.
	(grub_term_unregister_output): Likewise.
	(grub_term_set_current_input): Likewise.
	(grub_term_set_current_output): Likewise.
	(grub_term_get_current_input): Likewise.
	(grub_term_get_current_output): Likewise.
	(grub_term_iterate_input): Removed.
	(grub_term_iterate_output): Likewise.

	* kern/term.c (grub_term_list_input): Removed.
	(grub_term_list_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_output_class): Likewise.
	(grub_cur_term_input): Change varaible as macro.
	(grub_cur_term_output): Likewise.
	(grub_term_register_input): Removed.
	(grub_term_register_output): Likewise.
	(grub_term_unregister_input): Likewise.
	(grub_term_unregister_output): Likewise.
	(grub_term_set_current_input): Likewise.
	(grub_term_set_current_output): Likewise.
	(grub_term_iterate_input): Likewise.
	(grub_term_iterate_output): Likewise.
	(grub_term_get_current_input): Likewise.
	(grub_term_get_current_output): Likewise.

	* util/grub-editenv.c: Include header file <grub/handler.h>.
	(grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_outout_class): Likewise.

	* util/grub-fstest.c (grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_outout_class): Likewise.

	* util/grub-probe.c (grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_outout_class): Likewise.

	* util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
	(grub_term_get_current_output): Likewise.
	(grub_term_input_class): New variable.
	(grub_term_outout_class): Likewise.

	* conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
	(terminal_mod_SOURCES): Likewise.
	(terminal_mod_CFLAGS): Likewise.
	(terminal_mod_LDFLAGS): Likewise.

	* conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_img_SOURCES): Add list.c and handler.c.
	(kernel_img_HEADERS): Add list.h and handler.h.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_mod_SOURCES): Add list.c and handler.c.
	(kernel_mod_HEADERS): Add list.h and handler.h.

	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_elf_SOURCES): Add list.c and handler.c.
	(kernel_elf_HEADERS): Add list.h and handler.h.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_elf_SOURCES): Add list.c and handler.c.
	(kernel_elf_HEADERS): Add list.h and handler.h.

	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_mod_SOURCES): Add list.c and handler.c.
	(kernel_mod_HEADERS): Add list.h and handler.h.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
	handler.c.
	(kernel_elf_SOURCES): Add list.c and handler.c.
	(kernel_elf_HEADERS): Add list.h and handler.h.
2009-03-01 17:51:44 +00:00
robertmh b941342428 2009-02-27 Robert Millan <rmh@aybabtu.com>
Patch from Alexandre Bique <bique.alexandre@gmail.com>
        * util/i386/pc/grub-setup.c (setup): Fix directory path.
2009-02-27 21:01:25 +00:00
robertmh 651c29b79e 2008-11-07 Robert Millan <rmh@aybabtu.com>
Modularize at_keyboard.mod:

            * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
            (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
            (at_keyboard_mod_LDFLAGS): New variables.

            Actual terminal split:

            * include/grub/term.h (struct grub_term): Split in ...
            (struct grub_term_input): ... this, and ...
            (struct grub_term_output): ... this.  Update all users.
            (grub_term_set_current): Split in ...
            (grub_term_set_current_input): ... this, and ...
            (grub_term_set_current_output): ... this.
            (grub_term_get_current): Split in ...
            (grub_term_get_current_input): ... this, and ...
            (grub_term_get_current_output): ... this.
            (grub_term_register): Split in ...
            (grub_term_register_input): ... this, and ...
            (grub_term_register_output): ... this.
            (grub_term_unregister): Split in ...
            (grub_term_unregister_input): ... this, and ...
            (grub_term_unregister_output): ... this.
            (grub_term_iterate): Split in ...
            (grub_term_iterate_input): ... this, and ...
            (grub_term_iterate_output): ... this.

            * kern/term.c (grub_term_list): Split in ...
            (grub_term_list_input): ... this, and ...
            (grub_term_list_output): ... this.  Update all users.
            (grub_cur_term): Split in ...
            (grub_cur_term_input): ... this, and ...
            (grub_cur_term_output): ... this.  Update all users.
            (grub_term_set_current): Split in ...
            (grub_term_set_current_input): ... this, and ...
            (grub_term_set_current_output): ... this.
            (grub_term_get_current): Split in ...
            (grub_term_get_current_input): ... this, and ...
            (grub_term_get_current_output): ... this.
            (grub_term_register): Split in ...
            (grub_term_register_input): ... this, and ...
            (grub_term_register_output): ... this.
            (grub_term_unregister): Split in ...
            (grub_term_unregister_input): ... this, and ...
            (grub_term_unregister_output): ... this.
            (grub_term_iterate): Split in ...
            (grub_term_iterate_input): ... this, and ...
            (grub_term_iterate_output): ... this.

            * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
            a check for input and one for output (and only attempt to get keys
            from user when input works).

            * util/grub-probe.c (grub_term_get_current): Split in ...
            (grub_term_get_current_input): ... this, and ...
            (grub_term_get_current_output): ... this.
            * util/grub-fstest.c: Likewise.
            * util/i386/pc/grub-setup.c: Likewise.
            * util/grub-editenv.c: Likewise.

            Portability adjustments:

            * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
            `term/i386/pc/at_keyboard.c'.
            * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
            grub_keyboard_controller_init() (now handled by terminal .init).
            * kern/i386/coreboot/init.c (grub_machine_init): Add call to
            grub_at_keyboard_init().
            * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
            (grub_console_checkkey, grub_console_getkey): Remove (now provided by
            at_keyboard.mod via input terminal interface).
            * include/grub/i386/coreboot/console.h: Convert into a stub for
            `<grub/i386/pc/console.h>'.

            Migrate full terminals to new API:

            * term/efi/console.c (grub_console_term): Split into ...
            (grub_console_term_input): ... this, and ...
            (grub_console_term_output): ... this.  Update all users.
            * term/ieee1275/ofconsole.c: Remove __i386__ hack.
            (grub_ofconsole_init): Split into ...
            (grub_ofconsole_init_input): ... this, and ...
            (grub_ofconsole_init_output): ... this.
            (grub_ofconsole_term): Split into ...
            (grub_ofconsole_term_input): ... this, and ...
            (grub_ofconsole_term_output): ... this.  Update all users.
            * term/i386/pc/serial.c (grub_serial_term): Split into ...
            (grub_serial_term_input): ... this, and ...
            (grub_serial_term_output): ... this.  Update all users.
            * term/i386/pc/console.c (grub_console_term): Split into ...
            (grub_console_term_input): ... this, and ...
            (grub_console_term_output): ... this.  Update all users.
            (grub_console_term_input): Only enable it on PC/BIOS platform.
            (grub_console_init): Remove grub_keyboard_controller_init() call.

            Migrate input terminals to new API:

            * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
            `i386' and `i386/pc' to enable build on x86_64 (this driver is
            i386-specific anyway).
            (grub_console_checkkey): Rename to ...
            (grub_at_keyboard_checkkey): ... this.  Static-ize.  Update all
            users.
            (grub_keyboard_controller_orig): New variable.
            (grub_console_getkey): Rename to ...
            (grub_at_keyboard_getkey): ... this.  Static-ize.  Update all
            users.
            (grub_keyboard_controller_init): Static-ize.  Save original
            controller value so that it can be restored ...
            (grub_keyboard_controller_fini): ... here (new function).
            (grub_at_keyboard_term): New structure.
            (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
            functions.

            Migrate output terminals to new API:

            * term/i386/pc/vga.c (grub_vga_term): Change type to
            `struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
            members.  Update all users.
            * term/gfxterm.c (grub_video_term): Change type to
            `struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
            members.  Update all users.
            * include/grub/i386/pc/console.h (grub_console_checkkey)
            (grub_console_getkey): Do not export (no longer needed by gfxterm,
            etc).

            Migrate `terminal' command and userland tools to new API:

            * commands/terminal.c (grub_cmd_terminal): Split into ...
            (grub_cmd_terminal_input): ... this, and ...
            (grub_cmd_terminal_output): ... this.
            (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
            `terminal_input' and `terminal_output'.
            * util/grub.d/00_header.in: Adjust `terminal' calls to new
            `terminal_input' / `terminal_output' API.
            * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
            ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
            provided ${GRUB_TERMINAL}, convert it).
2008-11-07 19:11:39 +00:00
robertmh ddbf5556a7 2008-09-08 Robert Millan <rmh@aybabtu.com>
* include/grub/util/biosdisk.h: Move to ...
        * include/grub/util/hostdisk.h: ... here.  Update all users.
        * util/biosdisk.c: Move to ...
        * util/hostdisk.c: ... here.  Update all users.
2008-09-08 13:52:30 +00:00
robertmh 59198b722c 2008-07-30 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
        Increase from 0x50 to 0x60.
        * util/i386/pc/grub-install.in: Detect cross-disk installs, and
        use UUIDs to identify the root drive for them.  If that's not
        possible, abort.
        * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
        check, for cross-disk installs.
2008-07-30 10:44:38 +00:00
proski 56c7668bae 2008-06-30 Pavel Roskin <proski@gnu.org>
* util/i386/pc/grub-setup.c (setup): Write install_dos_part and
	install_bsd_part immediately before core.img is embedded or
	modified on disk.  This fixes core.img verification if core.img
	cannot be embedded.
2008-06-30 23:52:24 +00:00
proski 3aefa85781 2008-06-30 Pavel Roskin <proski@gnu.org>
* util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
	core_path to calculate the blocklist.
	Patch from Javier Martín <lordhabbit@gmail.com>
2008-06-30 20:44:58 +00:00
proski f527dbc80b 2008-06-26 Pavel Roskin <proski@gnu.org>
* util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
	core_path_dev for the core.img path on the target device.
2008-06-26 15:29:32 +00:00
robertmh 25ff262a6c 2008-06-21 Javier Mart\303\255n <lordhabbit@gmail.com>
* util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
        call to resolve the core image location that effectively appended the
        name twice.
2008-06-21 14:21:03 +00:00
robertmh 7847c51e22 2008-06-18 Robert Millan <rmh@aybabtu.com>
* util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
        it in prefix.

        * util/i386/pc/grub-setup.c (main): Don't handle prefix at all.  Set
        `must_embed' to 1 when root_dev is a RAID device.  When dest_dev is
        a RAID device, run setup() for all members independently on whether
        LVM abstraction is being used.
        (setup): Don't handle prefix at all; let grub-mkimage take care of it.
        If grub-mkimage has set `*install_dos_part == -2', don't override this
        value.
        Perform *install_dos_part adjustments independently on whether
        we're embedding or not.
        Clarify error message when image is too big for embedding.
        Remove duplicate *install_dos_part stanza.
2008-06-18 17:35:26 +00:00
robertmh f5679726cd 2008-06-08 Robert Millan <rmh@aybabtu.com>
* util/i386/pc/grub-setup.c (main): If install drive is an LVM,
        don't append the RAID prefix afterwards.
        Reported by Clint Adams.
2008-06-08 22:54:34 +00:00
robertmh 6cf12cbd25 2008-05-06 Robert Millan <rmh@aybabtu.com>
* util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'.  This
        ensures that output lines aren't intermangled with those sent to
        stderr (via grub_util_info()).
        * util/grub-probe.c (grub_refresh): Likewise.
        * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
2008-05-06 13:00:57 +00:00
robertmh b93bdb0f6d 2008-02-19 Robert Millan <rmh@aybabtu.com>
* partmap/gpt.c: Include `<grub/gpt_partition.h>'.
        (grub_gpt_partition_type_empty): Redefine with macro from
        `<grub/gpt_partition.h>'.
        (gpt_partition_map_iterate): Adjust partition type comparison.

        Export `entry' as partmap-specific `part.data' struct.
        (grub_gpt_header, grub_gpt_partentry): Move from here ...

        * include/grub/gpt_partition.h (grub_gpt_header)
        (grub_gpt_partentry): ... to here (new file).

        * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.

        (grub_gpt_partition_type_bios_boot): New const variable, defined
        with macro from `<grub/gpt_partition.h>'.

        (setup): Replace `first_start' with `embed_region', which keeps
        track of the embed region (and is partmap-agnostic).

        Replace find_first_partition_start() with find_usable_region(),
        which finds a usable region for embedding using partmap-specific
        knowledge (supports PC/MSDOS and GPT).

        Fix all assumptions that the embed region start at sector 1, using
        `embed_region.start' from now on.  Similarly, use `embed_region.end'
        rather than `first_start' to calculate available size.

        In grub_util_info() message, replace "into after the MBR" with an
        indication of the specific sector our embed region starts at.
2008-02-19 14:00:11 +00:00
robertmh 32b0fc496b 2008-02-17 Robert Millan <rmh@aybabtu.com>
* util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
        set `first_start' to 0 for non-PC/MSDOS partition maps.
2008-02-17 10:32:02 +00:00
robertmh aca6350297 2008-02-16 Robert Millan <rmh@aybabtu.com>
* util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
        do not assume partition map is PC/MSDOS before performing checks that
        are specific to that layout.
2008-02-16 22:31:35 +00:00
robertmh 91a4bf68ff 2008-02-09 Robert Millan <rmh@aybabtu.com>
* util/grub-probe.c (main): When `verbosity > 1', set `debug'
        environment variable to 'all' in order to obtain debug output from
        non-util/ code.
        * util/i386/pc/grub-setup.c (main): Likewise.
2008-02-09 10:46:37 +00:00
okuji bf567c5067 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
Make grub-setup handle a separate root device.

    * util/i386/pc/grub-setup.c (setup): Always open the root device,
    so that the root device can be compared with the destination
    device.
    When embedding the core image, if the root and destination devices
    are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
    0xFF.
    When not embedding, set ROOT_DRIVE to 0xFF.
2008-02-03 21:53:32 +00:00
robertmh 7ac3bcfa83 2008-01-05 Robert Millan <rmh@aybabtu.com>
* util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
        usage example with `(hd0,1)'.
2008-01-05 12:20:28 +00:00
marco_g 9959f7dbb5 2007-08-02 Bean <bean123ch@gmail.com>
* disk.h (grub_disk): Use NESTED_FUNC_ATTR.

	* file.h (grub_file): Likewise.

	* fshelp.h (grub_fshelp_read_file): Likewise.

	* util/i386/pc/grub-setup.c (setup): Likewise.
	(save_first_sector): Likewise.
	(save_blocklists): Likewise.

	* fs/affs.c (grub_affs_read_file): Likewise.

	* fs/ext2.c (grub_ext2_read_file): Likewise.

	* fs/fat.c (grub_fat_read_data): Likewise.

	* fs/fshelp.c (grub_fshelp_read_file): Likewise.

	* fs/hfs.c (grub_hfs_read_file): Likewise.

	* fs/hfsplus.c (grub_hfsplus_read_file): Likewise.

	* fs/jfs.c (grub_jfs_read_file): Likewise.

	* fs/minix.c (grub_minix_read_file): Likewise.

	* fs/sfs.c (grub_sfs_read_file): Likewise.

	* fs/ufs.c (grub_ufs_read_file): Likewise.

	* fs/xfs.c (grub_xfs_read_file): Likewise.

	* command/blocklist.c (read_blocklist): Likewise.
	(print_blocklist): Likewise.
2007-08-02 18:40:37 +00:00