Colin Watson
a870a783be
* disk/raid.c (insert_array): Select unique numbers for named arrays
...
as well, for use as keys in the disk cache.
2010-08-02 09:51:23 -05:00
Robert Millan
c7db243b92
2010-08-01 Robert Millan <rmh@gnu.org>
...
* util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
kFreeBSD device name, except on ZFS where the filesystem label is
used.
(kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
`/boot/zfs/zpool.cache'.
Set mountfrom kernel variable using ${kfreebsd_device}.
2010-08-01 23:21:09 +02:00
Robert Millan
f7abdefbdd
2010-08-01 Robert Millan <rmh@gnu.org>
...
Make it even harder to use uninitialized `libzfs_handle' (and
make the interface a bit simpler).
* include/grub/util/misc.h (grub_util_init_libzfs)
(libzfs_handle): Remove.
(grub_get_libzfs_handle): New prototype.
* util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
attribute.
(grub_util_init_libzfs): Remove.
(grub_get_libzfs_handle): New function.
* kern/emu/getroot.c (find_root_device_from_libzfs): Use
grub_get_libzfs_handle() to obtain a libzfs handle instead of
accessing `libzfs_handle' directly.
2010-08-01 23:12:24 +02:00
Robert Millan
c882acc031
2010-08-01 Robert Millan <rmh@gnu.org>
...
* include/grub/emu/misc.h (grub_find_mount_point_from_dir)
(grub_find_zpool_from_mount_point): New function prototypes.
* kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
* kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
* kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
* kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
`static' attribute.
* kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
finding zpool from mount point into ...
* kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
* kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
requested path is part of a ZFS pool, use
grub_find_zpool_from_mount_point() to detect its filesystem name,
and generate a path with `/fsname@path' syntax.
2010-08-01 22:59:02 +02:00
Colin Watson
8bfe31d82b
* include/grub/util/libzfs.h (libzfs_init): Set argument list to
...
(void) rather than () so that this is a proper prototype.
2010-08-01 16:41:46 -05:00
Vladimir 'phcoder' Serbinenko
553df63d76
* lib/arg.c (grub_arg_show_help): Add the necessary spacing.
2010-08-01 21:01:05 +02:00
Vladimir 'phcoder' Serbinenko
8687cf071e
* kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
...
[HAVE_LIBZFS && HAVE_LIBNVPAIR]
2010-08-01 16:11:27 +02:00
Colin Watson
ea9be8eadb
* util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
2010-08-01 11:30:03 -05:00
Colin Watson
6eea041aa4
* script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
2010-08-01 11:28:12 -05:00
Colin Watson
2cfb45df5e
* docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
...
and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
disable gfxpayload.
(Shell-like scripting): Add real content.
(Serial terminal): Suggest `terminal_input serial; terminal_output
serial' rather than putting the two commands on separate lines,
since console input will be inoperative after the first command.
(menuentry): Document --class, --users, and --hotkey options.
(terminfo): Describe what `visually-ordered UTF-8' means (thanks,
Vladimir Serbinenko).
2010-08-01 11:25:09 -05:00
Vladimir Serbinenko
7decd202a7
* kern/misc.c (grub_memset): Optimise to reduce cache stalls.
...
Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-08-01 09:44:36 -05:00
Robert Millan
deb0caa38e
2010-08-01 Robert Millan <rmh@gnu.org>
...
Prevent accidental use of uninitialized libzfs_handle.
* util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
* kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
* util/misc.c (grub_util_init_libzfs): Make this function idempotent.
2010-08-01 15:23:44 +02:00
Colin Watson
ce04ef47e2
* util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
...
util/grub.d/10_linux.in). Fixes Debian bug #591093 .
2010-08-01 08:54:10 -05:00
Robert Millan
ebf53056b8
2010-08-01 Robert Millan <rmh@gnu.org>
...
* kern/emu/getroot.c: Include `<grub/util/misc.h>'.
2010-08-01 14:47:14 +02:00
Robert Millan
3710bb6b96
2010-07-31 Robert Millan <rmh@gnu.org>
...
* util/grub.d/10_kfreebsd.in: Make module handling more generic.
2010-08-01 02:14:07 +02:00
Robert Millan
8072efebf2
2010-07-31 Robert Millan <rmh@gnu.org>
...
* kern/emu/misc.c: Add missing license header.
2010-07-31 18:45:57 +02:00
Robert Millan
3169f4c76a
2010-07-31 Robert Millan <rmh@gnu.org>
...
* configure.ac: Check for `libzfs.h' and `libnvpair.h'.
* include/grub/util/libnvpair.h: Include `<config.h>'.
[HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
declaring libnvpair prototypes ourselves.
* include/grub/util/libzfs.h: Include `<config.h>'.
[HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
declaring libzfs prototypes ourselves.
(libzfs_handle): Moved to ...
* include/grub/util/misc.h (libzfs_handle): ... here.
Include `<grub/util/libzfs.h>'.
2010-07-31 12:22:01 +02:00
Robert Millan
c9a00aeeaa
2010-07-30 Robert Millan <rmh@gnu.org>
...
* include/grub/emu/misc.h: Add missing license header.
2010-07-30 22:01:10 +02:00
Robert Millan
a184f9c801
2010-07-30 Robert Millan <rmh@gnu.org>
...
Enable `grub-probe -t device' resolution on ZFS.
* configure.ac: Check for getfsstat(), libzfs and libnvpair.
* include/grub/util/libnvpair.h: New file.
* include/grub/util/libzfs.h: New file.
* kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
[HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
`<grub/util/libnvpair.h>'.
[HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
(find_mount_point_from_dir): New static function.
[HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
function.
[HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
find_root_device_from_libzfs() before ressorting to find_root_device().
* include/grub/util/misc.h (grub_util_init_libzfs): New function
prototype.
* util/misc.c: Include `<grub/util/libzfs.h>'.
(grub_util_init_libzfs): New function.
[HAVE_LIBZFS] (libzfs_handle): New global variable.
[HAVE_LIBZFS] (fini_libzfs): New static function.
(grub_util_init_libzfs): New function.
* util/grub-probe.c (main): Call grub_util_init_libzfs().
2010-07-30 21:43:12 +02:00
Robert Millan
f7790cdd5d
2010-07-30 Robert Millan <rmh@gnu.org>
...
* include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
(xmalloc, xrealloc, xstrdup, xasprintf): Add
`warn_unused_result' attribute.
* include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
(grub_xasprintf, grub_xvasprintf): Likewise.
* include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
2010-07-30 11:27:02 +02:00
Robert Millan
0806b63c09
2010-07-29 Robert Millan <rmh@gnu.org>
...
* util/grub-probe.c (PRINT_FS_LABEL): New enum value.
(probe): Handle `PRINT_FS_LABEL'.
(main): Handle `-t fs_label'.
2010-07-29 18:46:42 +02:00
Robert Millan
9f841f5cbf
2010-07-29 Robert Millan <rmh@gnu.org>
...
* configure.ac: Remove grub-mkisofs checks.
2010-07-29 15:06:39 +02:00
Vladimir 'phcoder' Serbinenko
463711215f
* util/ieee1275/grub-install.in: Don't use empty grub_device.
...
Reported by: Lennart Sorensen.
2010-07-28 18:25:48 +03:00
Vladimir 'phcoder' Serbinenko
0ac33bf5eb
* util/grub.d/00_header.in: Remove compatibility with terminal.mod
...
prior to terminal_input/terminal_output separation. It's been over 1.5
years and those versions weren't widely deployed.
2010-07-21 06:44:38 +02:00
Colin Watson
697e053c44
real name for Michael Guntsche
2010-07-22 09:44:19 +01:00
Colin Watson
a9600892c1
* disk/raid.c (insert_array): Don't count named arrays when looking
...
for unused array numbers.
Reported and tested by: maru.
2010-07-22 09:38:06 +01:00
Colin Watson
c03507dfb8
* bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
...
implementation of this so that grub-emu links again, with a note
that this should support hotplugging in the future.
2010-07-20 23:16:32 +01:00
Colin Watson
b26f1c1160
* kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
2010-07-20 23:09:45 +01:00
Colin Watson
efc9d7f175
* disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
...
handle on failure.
(grub_loopback_close): Remove empty function.
(grub_loopback_dev): Remove close method.
2010-07-20 22:14:26 +01:00
Colin Watson
dd8ff5c9e9
Disable EFI cursor when the EFI console becomes inactive.
...
* term/efi/console.c (grub_efi_console_init): New function.
(grub_efi_console_fini): New function.
(grub_console_term_output): Register init and fini methods.
2010-07-20 22:00:18 +01:00
Vladimir 'phcoder' Serbinenko
5e3bec6716
* tests/util/grub-shell-tester.in: Remove bashism and declare as
...
sh script.
2010-07-20 22:10:23 +02:00
Vladimir 'phcoder' Serbinenko
afaec079d1
* disk/loopback.c (grub_loopback): Replace filename with file.
...
(delete_loopback): Handle new semantics.
(grub_cmd_loopback): Likewise.
(grub_loopback_iterate): Likewise.
(grub_loopback_close): Likewise.
2010-07-20 21:56:00 +02:00
Vladimir 'phcoder' Serbinenko
a6a11f3cac
* util/i386/efi/grub-install.in: Revert to platform-specific behaviour
...
with -p "".
Reported by: Tito Keitel.
2010-07-20 20:36:11 +02:00
Vladimir 'phcoder' Serbinenko
64a638b0d9
* docs/grub.texi (Naming convention): Document new naming convention.
2010-07-20 20:22:52 +02:00
Vadim Solomin
ab8ba95760
2010-07-20 Vadim Solomin <vadic052@gmail.com>
...
2010-07-20 Colin Watson <cjwatson@ubuntu.com>
Generate device.map in something closer to the old ordering.
* util/deviceiter.c (struct device): New declaration.
(compare_file_names): Rename to ...
(compare_devices): ... this. Sort by kernel name in preference to
the stable by-id name, but keep the latter as a fallback comparison.
Update header comment.
(grub_util_iterate_devices) [__linux__]: Construct and sort an array
of `struct device' rather than of plain file names.
Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-07-20 17:14:00 +01:00
Thomas Frauendorfer
a29d6a4bc5
* lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
...
on i386.
2010-07-20 15:59:56 +02:00
Vladimir 'phcoder' Serbinenko
39d824e8f9
* commands/acpi.c (setup_common_tables): Use sizeof instead of
...
hardcoding size.
(setv1table): Likewise.
2010-07-20 14:42:32 +02:00
Felix Zielcke
f058276b19
2010-07-20 Colin Watson <cjwatson@ubuntu.com>
...
* disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
removing the homehost if present.
* kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
(grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
removing the homehost if present.
(grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
if possible.
* util/i386/pc/grub-setup.c (main): Handle md/* devices.
* disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
parameter. Set its pointer target to 0.
* disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
parameter. Set its pointer target to 0 for 0.9 metadata, or to the
`data_offset' value from the superblock for 1.x metadata.
* disk/raid.c (grub_raid_read): Offset reads by the start sector of
data on the device.
(insert_array): Record the start sector of data on the device.
(grub_raid_register): Pass start_sector parameters to
grub_raid_list->detect and insert_array.
* include/grub/raid.h (struct grub_raid_array): Add start_sector
member.
(struct grub_raid): Add start_sector parameter to `detect'.
* disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
__attribute__ ((packed)), leaving a comment.
(grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
(grub_mdraid_detect_09): ... here and ...
(grub_mdraid_detect_1x): ... here.
2010-07-20 Peter Henn <peter.henn@web.de>
* disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
chunk size and disk size, which are already given as sector counts
as distinct from the 0.90 units. Fetch the correct device number
from the role table instead of using the table index.
2010-07-20 Felix Zielcke <fzielcke@z-51.de>
* disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
* disk/mdraid_linux.c (grub_raid_super_1x): New structure.
(WriteMostly1): New macro.
Set array->name to NULL for metadata format 0.90. Add support for
metadata 1.x. Fix some comments.
* disk/raid.c (): Add support for name based RAID arrays. Fix a
few comments.
* util/getroot.c (grub_util_get_grub_dev): Add support for
/dev/md/name style devices.
Also-By: Peter Henn <peter.henn@web.de>
Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-07-20 11:26:27 +01:00
Colin Watson
4b761da902
* .bzrignore: Ignore 20_linux_xen.
2010-07-20 11:20:23 +01:00
Colin Watson
5771289a14
* util/import_unicode.py: Remove unnecessary imports.
2010-07-17 19:27:18 +01:00
Aleš Nesrsta
5dab68dfa4
Hotplugging and USB hub support.
...
* bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
(grub_ohci): Likewise.
(GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
(GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
(GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
(GRUB_OHCI_CTRL_EDS): Likewise.
(GRUB_OHCI_BULK_EDS): Likewise.
(GRUB_OHCI_TDS): Likewise.
(GRUB_OHCI_ED_ADDR_MASK): Likewise.
(grub_ohci_ed_phys2virt): New function.
(grub_ohci_virt_to_phys): Likewise.
(grub_ohci_td_phys2virt): Likewise.
(grub_ohci_td_virt2phys): Likewise.
(grub_ohci_pci_iter): Allocate memory and don't wait for stable
attachment.
(grub_ohci_find_ed): New function.
(grub_ohci_alloc_td): Likewise.
(grub_ohci_free_td): Likewise.
(grub_ohci_free_tds): Likewise.
(grub_ohci_transfer): Use previously allocated memory.
(grub_ohci_portstatus): Reset status changed bit.
(grub_ohci_detect_dev): Supply status changed.
(grub_ohci_fini_hw): Free memory.
(grub_ohci_restore_hw): Reallocate memory.
* bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
Reset status change.
(grub_uhci_detect_dev): Supply status_change.
* bus/usb/usb.c (attach_hooks): New var.
(grub_usb_device_attach): New function.
(grub_usb_register_attach_hook_class): Likewise.
(grub_usb_unregister_attach_hook_class): Likewise.
* bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
(grub_usb_add_hub): Reset connection changed bit.
(attach_root_port): New function.
(grub_usb_root_hub): Likewise.
(poll_nonroot_hub): Likewise.
(grub_usb_poll_devices): Likewise.
* commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
* disk/usbms.c (grub_usbms_open): Use device hooks.
(grub_usbms_iterate) :Poll devices.
(grub_usbms_finddevs): Split into ...
(grub_usbms_attach): ... this ...
(grub_usbms_attach): ... and this.
* include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
in detect_dev.
(grub_usb_interface): New fields attached and detach_hook.
(grub_usb_attach_hook_class): New type.
(grub_usb_attach_desc): New struct.
(grub_usb_register_attach_hook_class): New function.
(grub_usb_unregister_attach_hook_class): Likewise.
(grub_usb_poll_devices): Likewise.
(grub_usb_device_attach): Likewise.
* include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
(GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
2010-07-17 03:06:34 +02:00
Vladimir 'phcoder' Serbinenko
3222efaff3
* include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
...
* partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
delta determination style. Works with most NetBSD partitions too.
2010-07-17 01:57:48 +02:00
Vladimir 'phcoder' Serbinenko
139b714a93
* kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
...
* partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
2010-07-17 01:55:01 +02:00
Vladimir 'phcoder' Serbinenko
986aad56c1
* disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
2010-07-17 01:52:41 +02:00
Anton Blanchard
99be513c3b
* loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
...
ET_DYN files.
2010-07-14 16:47:45 +01:00
Grégoire Sutre
18075f6254
Fix condition in Makefile.in's LINGUAS assignment.
2010-07-14 16:47:28 +02:00
Grégoire Sutre
8d9a5b15e3
Discard improperly nested partitions.
2010-07-14 11:26:17 +02:00
Colin Watson
19563c25c1
* Makefile.in (.SUFFIX): Spell correctly, as ...
...
(.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
bare module name without `.mod', e.g. `test') tried to invoke a
Modula-2 compiler.
2010-07-13 12:24:07 +01:00
Colin Watson
1a1f1e6794
* README: Point to the Info manual.
2010-07-13 12:20:32 +01:00
Jiro SEKIBA
811b0dcab8
* fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
...
2nd superblock position from partition size.
2010-07-13 11:47:30 +02:00
Colin Watson
e4f4eafc91
* Makefile.in (MAINTAINER_CLEANFILES): Remove
...
unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
outputs.
2010-07-10 22:37:05 +01:00
Vladimir 'phcoder' Serbinenko
4274c30fbc
Restructure SCSI .id handling.
...
Reported and tested by: Aleš Nesrsta.
* disk/ata.c (grub_atapi_close): Removed. All users updated.
(grub_atapi_dev): Changed .name to "ata". New field .id.
* disk/usbms.c (grub_usbms_close): Removed. All users updated.
(grub_usbms_dev): New field .id.
* disk/scsi.c (grub_scsi_iterate): Generate name.
(grub_scsi_open): Parse name.
* include/grub/scsi.h (grub_make_scsi_id): New function.
(grub_scsi_dev): Change iterate and open to number instead of naming
busses. All users updated.
(grub_scsi): Remove name. Add .bus.
2010-07-10 02:59:33 +02:00
Vladimir 'phcoder' Serbinenko
5bc24388fb
* commands/help.c (grub_cmd_help): Fix a typo.
2010-07-10 02:40:41 +02:00
Vladimir 'phcoder' Serbinenko
249975ba6b
* normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
...
Reported and tested by: Colin Watson.
2010-07-10 02:23:48 +02:00
Vladimir 'phcoder' Serbinenko
3eaac1a13e
* util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
...
in this context.
2010-07-10 02:15:49 +02:00
Vladimir 'phcoder' Serbinenko
becce1b16a
* tests/util/grub-shell.in: Remove bashisms and declare as sh script.
2010-07-07 17:51:26 +02:00
Colin Watson
f7bf0918aa
* term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
...
indentation.
2010-07-07 14:12:16 +01:00
Colin Watson
0b0f9620f2
* conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
...
and disk/raid6_recover.c.
* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2010-07-06 19:27:55 +01:00
Colin Watson
1e54546914
* term/gfxterm.c (repaint_schedulded): Rename to ...
...
(repaint_scheduled): ... this. Update all callers.
(repaint_was_schedulded): Rename to ...
(repaint_was_scheduled): ... this. Update all callers.
2010-07-06 18:31:45 +01:00
Colin Watson
5357687a55
* util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
...
which we expect to be handled by upper layers.
2010-07-06 15:10:36 +01:00
BVK Chaitanya
29d7e783d2
* bus/usb/usbhub.c: #include time.h header.
2010-07-06 14:53:55 +05:30
Colin Watson
37582066cd
* fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
...
entry_name also for entries without stat blocks (e.g. ".."); fixes
corruption of the first entry in a directory.
2010-07-06 09:51:42 +01:00
Colin Watson
c8c069533f
* util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
...
after setting gfxterm as the active terminal. GRUB_BACKGROUND
doesn't work otherwise.
2010-07-06 09:42:37 +01:00
Vladimir 'phcoder' Serbinenko
75d959ea7c
Revert latest two Aleš' commits
2010-07-06 01:55:26 +02:00
starous
f1f7d19ead
ChangeLog & usbhub.c correction
2010-07-05 20:34:27 +02:00
Colin Watson
e75056f162
* docs/grub.texi (Features): Update list of supported file systems.
...
(GNU/Linux): Update for GRUB 2.
(Serial terminal): Remove mention of --disable-serial, which was a
GRUB Legacy configure option. Update instructions to use
`terminal_input' and `terminal_output' rather than `terminal'.
(Vendor power-on keys): Copy-edit. Add cross-references to `Simple
configuration' and `Installing GRUB using grub-install'.
(Menu entry editor): Update for GRUB 2.
(terminfo): Add vt100-color, ieee1275, and dumb terminal types.
Document new -a, -u, and -v options.
(initrd): New section.
(initrd16): New section.
(linux): New section.
(linux16): New section.
(search): The `var' argument to `--set' is optional.
(GRUB only offers a rescue shell): Go into a little more detail on
drive ordering.
2010-07-05 11:08:04 +01:00
Colin Watson
5cf691510f
* Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
2010-07-05 09:29:02 +01:00
Colin Watson
fcda2a1f80
fix typo in reporter name
2010-07-05 01:45:25 +01:00
Colin Watson
e3f90044e1
* Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
...
unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
2010-07-05 01:24:10 +01:00
Colin Watson
38d8f4f3f7
* util/i386/pc/grub-setup.c (setup): Rename prefix to
...
install_prefix, in line with install_dos_part and install_bsd_part.
Add new prefix variable, which is copied to install_prefix after
comparing core.img in memory with the one read from disk in the
no-embedding case, and use that rather than overwriting
install_prefix immediately when installing to a partition.
Fixes Debian bug #586621 ; based on patches by Matt Kraai and M. Vefa
Bicakci.
2010-07-05 01:09:00 +01:00
Grégoire Sutre
57ebd41ef1
Avoid == in test command, it's not portable.
2010-07-05 00:45:14 +02:00
Colin Watson
cb7f64b229
* kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
2010-07-04 22:00:45 +01:00
Vladimir 'phcoder' Serbinenko
72a2026d33
missing ChangeLog commit.
2010-07-04 14:29:01 +02:00
Grégoire Sutre
6b654bb0a5
Do not embed when there are multiple (top-level) partmaps.
2010-07-04 11:13:31 +02:00
Vladimir 'phcoder' Serbinenko
df3eb88f04
Bidi and diacritics support.
...
* Makefile.in (widthspec.bin): New target.
(widthspec.h): Likewise.
(TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
* autogen.sh: Generate unidata.c.
* commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
* commands/ls.c (grub_ls_list_devices): Likewise.
(grub_ls_list_files): Likewise.
* commands/minicmd.c (grub_mini_cmd_cat): Likewise.
(grub_mini_cmd_lsmod): Likewise.
* commands/read.c: Likewise.
* kern/corecmd.c (grub_core_cmd_ls): Likewise.
* kern/rescue_reader.c (grub_rescue_read_line): Likewise.
* lib/arg.c (grub_arg_show_help): Likewise.
* lib/crypto.c (grub_password_get): Likewise.
* normal/auth.c (grub_username_get): Likewise.
* normal/misc.c (grub_normal_print_device_info): Likewise.
* commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
* conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
(gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
(normal/charset.c_DEPENDENCIES): New variable.
(normal_mod_SOURCES): Add normal/charset.c and unidata.c.
(pkglib_MODULES): Remove charset.mod.
(charset_mod_SOURCES): Removed.
(charset_mod_CFLAGS): Likewise.
(charset_mod_LDFLAGS): Likewise.
(pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
and term/tparm.c.
* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
(kernel_img_HEADERS): Add terminfo.h.
* font/font.c (ascii_glyph_lookup): Return NULL on failure.
Fill ->font. Reverse ascii bitmaps.
(grub_font_get_xheight): New function.
* font/font.c (grub_font_get_string_width): Moved from here ...
* gfxmenu/font.c (grub_font_get_string_width): ... here.
* font/font.c (grub_font_draw_string): Moved from here ...
* gfxmenu/font.c (grub_font_draw_string): ... here.
* font/font.c (grub_font_dup_glyph): New function.
(grub_font_blit_glyph): Likewise.
(grub_font_blit_glyph_mirror): Likewise.
(blit_comb): Likewise.
(grub_font_construct_dry_run): Likewise.
(grub_font_get_constructed_device_width): Likewise.
(grub_font_construct_glyph): Likewise.
* include/grub/charset.h (grub_ucs4_to_utf8): New proto.
* include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
* include/grub/charset.h (grub_utf8_to_ucs4): ... here.
* include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
(GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
(GRUB_FONT_CODE_LEFT_JOINED): Likewise.
(grub_font_get_xheight): New proto.
(grub_font_get_constructed_device_width): Likewise.
(grub_font_construct_glyph): Likewise.
* include/grub/font.h (grub_font_get_string_width): Moved from here ...
* include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
* include/grub/font.h (grub_font_draw_string): Moved from here ...
* include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
* include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
* include/grub/i386/pc/console.h (grub_console_putchar): ... here.
* include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
(grub_console_getcharwidth): Likewise.
* include/grub/misc.h (grub_xputs): New proto.
(grub_puts): Inlined.
* include/grub/normal.h (grub_print_ucs4): Add margin specification.
(grub_normal_get_line_counter): Removed.
(grub_install_newline_hook): Likewise.
(grub_normal_get_char_counter): New proto.
(grub_normal_reset_more): Likewise.
(grub_xputs_normal): Likewise.
* include/grub/powerpc/ieee1275/console.h: Removed.
* include/grub/sparc64/ieee1275/console.h: Likewise.
* include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
(GRUB_TERM_CODE_TYPE_ASCII): Likewise.
(GRUB_TERM_CODE_TYPE_CP437): Likewise.
(GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
(GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
(GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
(grub_term_input): Pass reference to self. All users updated.
(grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
Pass reference to self. New fields normal_color, highlight_color and
data. All users updated.
(grub_putchar): Removed.
(grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
(grub_unicode_estimate_width): New function.
(grub_term_getcharwidth): Add defaults.
(GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
(GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
(GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
(grub_cls): Remove EXPORT_FUNC.
(grub_setcolorstate): Inline.
(grub_newline_hook): Removed.
* include/grub/terminfo.h: Rewritten. All users updated.
* include/grub/unicode.h: New file.
* include/grub/video.h (grub_video_signed_rect): New type.
* kern/emu/console.c (grub_console_highlight_color): Removed.
(grub_console_normal_color): Likewise.
(grub_console_standard_color): Made static.
(grub_ncurses_putchar): Remove mapping.
(grub_ncurses_getcharwidth): Removed.
(grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
(grub_ncurses_setcolor): Removed.
(grub_ncurses_getcolor): Likewise.
* kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
(grub_console_putchar): ... this.
(grub_console_putchar): Handle argument difference.
* kern/ieee1275/init.c (grub_machine_init): Split console_init into
console_init_early and console_init_lately.
* kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
* kern/misc.c (grub_puts): Removed.
(grub_vprintf): Store UTF-8 string instead of outputting it directly.
(grub_vsnprintf_real): Remove str = NULL support.
* kern/misc.c (grub_utf8_to_ucs4): Move from here ...
* normal/charset.c (grub_utf8_to_ucs4): ... here.
* kern/term.c (grub_putcode): Renamed to ...
(grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
(grub_putchar): Removed.
(grub_xputs_dumb): New function.
(grub_xputs): New variable.
* lib/charset.c: Move from here ...
* normal/charset.c: ... to here.
(grub_ucs4_to_utf8): New function.
(grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
(join_types): New variable.
(unpack_join): New function.
(bidi_types): New variable.
(unpack_bidi): New function.
(get_bidi_type): Likewise.
(get_join_type): Likewise.
(is_mirrored): Likewise.
(grub_unicode_get_comb_type): Likewise.
(grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
(is_type_after): Likewise.
(grub_unicode_aglomerate_comb): Likewise.
(bidi_line_wrap): Likewise.
(grub_bidi_line_logical_to_visual): Likewise.
(grub_bidi_logical_to_visual): Likewise.
(grub_unicode_mirror_code): Likewise.
(grub_unicode_shape_code): Likewise.
* normal/cmdline.c (grub_cmdline_get): Reset more counter.
Don't use grub_putchar.
* normal/main.c (grub_normal_init_page): Use grub_putcode.
(grub_normal_reader_init): Likewise.
(grub_xputs_saved): New variable.
(GRUB_MOD_INIT): Set grub_xputs.
(GRUB_MOD_FINI): Restore grub_xputs.
* normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
(menu_init): Avoid printing gfxmenu error.
(show_menu): Use grub_normal_get_char_counter.
* normal/menu_entry.c (update_screen): Fix out-of-array.
(complete): Avoid NULL dereferencing.
* grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
* normal/menu_text.c (print_spaces): Removed.
(grub_print_ucs4): Likewise.
(grub_print_message_indented): Use grub_print_ucs4.
(print_message): Use grub_putcode.
(print_entry): Hanlde diacritics.
* normal/term.c (term_state): New type.
(grub_more_lines): Removed.
(term_states): New variable.
(grub_normal_line_counter): Renamed to ..
(grub_normal_char_counter): ...this. All users updated.
(grub_normal_get_line_counter): Renamed to ...
(grub_normal_get_char_counter): ... this.
(grub_normal_reset_more): New function.
(process_newline): Removed.
(print_more): New function.
(grub_install_newline_hook): Removed.
(map_code): New function.
(grub_puts_terminal): Use grub_print_ucs4.
(putglyph): New function.
(putcode_real): Likewise.
(grub_putcode): Use putcode_real.
(get_maxwidth): New function.
(get_startwidth): Likewise.
(print_ucs4_terminal): Likewise.
(find_term_state): Likewise.
(put_glyphs_terminal): Likewise.
(print_backlog): Likewise.
(print_ucs4_real): Likewise.
(grub_print_ucs4): Likewise.
(grub_xputs_normal): Likewise.
* term/efi/console.c (grub_console_putchar): Output diacritics.
(grub_console_getcharwidth): Removed.
(grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
* term/gfxterm.c (clear_char): Free chars.
(scroll_up): Avoid leaking memory.
(grub_gfxterm_putchar): Support diacritics.
(grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
* term/i386/pc/console.c (grub_console_term_output): Declare as
GRUB_TERM_CODE_TYPE_VGA.
* term/i386/pc/vga.c (grub_vga_term): Declare as
GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
* term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
GRUB_TERM_CODE_TYPE_VGA.
* term/i386/vga_common.c (map_char): Removed.
(grub_console_putchar): Likewise.
(grub_console_getcharwidth): Likewise.
* term/ieee1275/ofconsole.c: Simplify using terminfo.
(colors): Reordered to match terminfo.
(grub_ofconsole_normal_color): Removed.
(grub_ofconsole_writeesc): Likewise.
(grub_ofconsole_highlight_color): Likewise.
(grub_ofconsole_getcharwidth): Likewise.
(grub_ofconsole_setcolorstate): Likewise.
(grub_ofconsole_setcolor): Likewise.
(grub_ofconsole_getcolor): Likewise.
(grub_ofconsole_readkey): Renamed to ...
(readkey): ... this. Remove escape sequence handling. Return -1 on no
key.
(grub_ofconsole_checkkey): Removed.
(grub_ofconsole_getkey): Likewise.
(grub_ofconsole_getxy): Likewise.
(grub_ofconsole_gotoxy): Likewise.
(grub_ofconsole_cls): Likewise.
(grub_ofconsole_refresh): Likewise.
(grub_ofconsole_terminfo_input): New struct.
(grub_ofconsole_terminfo_output): Likewise.
(grub_ofconsole_term_input): Use terminfo.
(grub_ofconsole_term_output): Likewise.
(grub_console_init): Split into ...
(grub_console_init_early): ...this and ...
(grub_console_init_lately): ...this. Use terminfo.
(grub_ofconsole_putchar): Renamed to ...
(put): ... this. Remove mapping.
(grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
* term/serial.c: Simplify using terminfo.
(xpos): Removed.
(ypos): Likewise.
(keep_track): Likewise.
(registered): Likewise.
(input_buf): Likewise.
(npending): Likewise.
(serial_translate_key_sequence): Likewise.
(fill_input_buf): Likewise.
(grub_serial_checkkey): Likewise.
(grub_serial_getkey): Likewise.
(grub_serial_getxy): Likewise.
(grub_serial_gotoxy): Likewise.
(grub_serial_putchar): Likewise.
(grub_serial_cls): Likewise.
(grub_serial_setcolorstate): Likewise.
(grub_serial_setcursor): Likewise.
(serial_hw_init): Use serial_hw_fetch.
(grub_serial_terminfo_input): New variable.
(grub_serial_terminfo_output): Likewise.
(grub_serial_term_input): Use terminfo.
(grub_serial_term_output): Likewise.
* term/terminfo.c (putstr): Use put.
(grub_terminfo_all_free): New function
(grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
(grub_terminfo_output_register): New function.
(grub_terminfo_output_unregister): Likewise.
(grub_terminfo_getxy): Likewise.
(grub_terminfo_readkey): Likewise.
(grub_terminfo_checkkey): Likewise.
(grub_terminfo_getkey): Likewise.
(grub_terminfo_input_init): Likewise.
(print_terminfo): Likewise.
(grub_cmd_terminfo): Handle encoding.
(grub_terminfo_gotoxy): Track position.
(grub_terminfo_cls): Likewise.
(grub_terminfo_putchar): Likewise.
(grub_terminfo_setcolorstate): Handle colors
(grub_terminfo_cursor_on): This ...
(grub_terminfo_cursor_off): ... and this merged into ...
(grub_terminfo_setcursor): ... this.
* term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
* unicode/ArabicShaping.txt: New file (imported from Unicode).
* unicode/BidiMirroring.txt: Likewise.
* unicode/UnicodeData.txt: Likewise.
* unicode/COPYING: Likewise.
* util/grub-editenv.c (grub_putchar): Removed.
(grub_xputs_real): New function.
(grub_xputs): New variable.
* util/grub-fstest.c (grub_putchar): Removed.
(grub_xputs_real): New function.
(grub_xputs): New variable.
* util/grub-mkdevicemap.c (grub_putchar): Removed.
(grub_xputs_real): New function.
(grub_xputs): New variable.
* util/grub-probe.c (grub_putchar): Removed.
(grub_xputs_real): New function.
(grub_xputs): New variable.
* util/grub-script-check.c (grub_putchar): Removed.
(grub_xputs_real): New function.
(grub_xputs): New variable.
* util/i386/pc/grub-setup.c (grub_putchar): Removed.
(grub_xputs_real): New function.
(grub_xputs): New variable.
* util/import_unicode.py: New file.
* util/grub-mkfont.c (ft_errmsgs): New array.
(grub_glyph_info): Make bitmap a pointer.
(file_formats): New type WIDTH_SPEC.
(grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
(options): Add width-spec.
(help): Likewise.
(add_char): Renamed to ...
(add_glyph): ... this.
(add_glyph): Use index. Show freetype errors. Cut blank space at borders.
(glyph_replace): New type.
(subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
(add_char): New function.
(add_subst): Likewise.
(process_cursive): Likewise.
(add_font): Handle GSUB.
(write_font_width_spec): New function.
(main): Sort glyphs.
* commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
* normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
* kern/term.c (grub_cls): Moved from here...
* normal/term.c (grub_cls): ... here.
2010-07-02 22:16:35 +02:00
Colin Watson
50f0bcdab5
* include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
...
suitable for using within the format argument of printf when
converting grub_size_t.
* disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
"x" to convert grub_size_t arguments.
2010-07-02 18:04:54 +01:00
Vladimir 'phcoder' Serbinenko
4037210375
* gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
...
too long captions.
(list_get_minimal_size): Take selection box into account.
2010-07-02 18:28:54 +02:00
Vladimir 'phcoder' Serbinenko
942a10c71e
* font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
...
NULL font.
2010-07-02 18:25:42 +02:00
Colin Watson
2bdb2892b3
* util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
...
devices when iterating over /dev/disk/by-id; they will be handled
later if appropriate, which they aren't always (e.g. LVM).
2010-07-02 17:11:42 +01:00
Colin Watson
e03ed6c1ee
* include/grub/misc.h (grub_reboot): Declare as noreturn.
...
* kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
fails.
(grub_halt): Likewise.
* kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
reset-all fails.
(grub_halt): Don't return, even if all of shut-down, power-off, and
poweroff fail.
2010-07-02 13:47:14 +01:00
Colin Watson
47695765a4
* kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
...
arguments, not three.
2010-07-02 13:42:18 +01:00
Colin Watson
507736c87c
* util/grub-mkconfig_lib.in (uses_abstraction): New function.
...
* util/grub.d/10_linux.in: Use it to check for LVM, so that
LVM-on-RAID is handled correctly.
2010-07-02 12:32:05 +01:00
Colin Watson
e3c8cd3719
* docs/grub.texi (Changes from GRUB Legacy): New section.
...
(Future): Fix typo.
2010-07-02 12:13:48 +01:00
Colin Watson
8d4a2fec0d
* util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
...
grub.d/README accidentally ends up executable for one reason or
another. Ignore it.
2010-07-02 10:50:04 +01:00
Vladimir 'phcoder' Serbinenko
1c4827beff
* partmap/gpt.c (MAX_SECTOR_LOG): New definition.
...
(gpt_partition_map_iterate): Support non-512B sectors.
2010-07-02 02:47:10 +02:00
Vladimir 'phcoder' Serbinenko
d9a0c9413e
* kern/efi/init.c (grub_efi_init): Disable watchdog.
...
Tested by: Seth Goldberg.
2010-07-02 02:43:09 +02:00
Vladimir 'phcoder' Serbinenko
48f27e87fc
* loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
...
Properly align mbi.
Reported by: Seth Goldberg.
2010-07-02 00:40:37 +02:00
Vladimir 'phcoder' Serbinenko
b0c4f95642
* util/grub-mkrescue.in: Avoid module duplication.
2010-07-01 23:35:45 +02:00
Sean Finney
105a2e8c66
* util/grub.d/10_linux.in: Don't use UUID for LVM root.
2010-07-01 23:24:21 +02:00
Sean Finney
5944958c61
* disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
...
2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
* disk/lvm.c (grub_lvm_checkvalue): New function.
(grub_lvm_check_flag): Likewise.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-07-01 23:19:11 +02:00
Robert Millan
b79889ba76
2010-07-01 Robert Millan <rmh@gnu.org>
...
* kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
Support 'p' as partition separator on kernel of FreeBSD (used
with GPT labels).
(grub_util_biosdisk_get_grub_dev): Likewise.
2010-07-01 10:52:23 +02:00
Vladimir 'phcoder' Serbinenko
ec1d04f1de
Yeeloong firmware port.
...
* boot/mips/yeeloong/fwstart.S: New file.
* bus/cs5536.c (gpiodump): New const.
(set_io_space): New function.
(set_iod): Likewise.
(set_p2d): Likewise.
(grub_cs5536_init_geode): Likewise.
* commands/mips/yeeloong/lsspd.c: New file.
* conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
(serial_mod_SOURCES): New variable.
(serial_mod_CFLAGS): Likewise.
(serial_mod_LDFLAGS): Likewise.
* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
term/terminfo.c and term/tparm.c.
(pkglib_IMAGES): Add fwstart.img.
(fwstart_img_SOURCES): New variable.
(fwstart_img_CFLAGS): Likewise.
(fwstart_img_ASFLAGS): Likewise.
(fwstart_img_LDFLAGS): Likewise.
(fwstart_img_FORMAT): Likewise.
(pkglib_MODULES): Add lsspd.mod.
(lsspd_mod_SOURCES): New variable.
(lsspd_mod_CFLAGS): Likewise.
(lsspd_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add halt.mod.
(halt_mod_SOURCES): New variable.
(halt_mod_CFLAGS): Likewise.
(halt_mod_LDFLAGS): Likewise.
* conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
(serial_mod_SOURCES): Removed.
(serial_mod_CFLAGS): Likewise.
(serial_mod_LDFLAGS): Likewise.
* disk/ata.c (check_device): New function.
(grub_ata_device_initialize): Use check_device.
(grub_ata_iterate): Recheck devices.
(grub_ata_open): Likewise.
(grub_atapi_iterate): Likewise.
(grub_atapi_open): Likewise.
* include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
(GRUB_ATA_CH1_PORT1): Likewise.
(GRUB_ATA_CH0_PORT2): Likewise.
(GRUB_ATA_CH1_PORT2): Likewise.
* include/grub/mips/loongson.h: New file.
* include/grub/mips/yeeloong/ec.h: Likewise.
* include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
(GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
(GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
* include/grub/misc.h (grub_halt): Declare as noreturn.
* include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
(UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
(UART_ENABLE_FIFO_TRIGGER1): New definition.
(UART_ENABLE_DTRRTS): Likewise.
(UART_ENABLE_MODEM): Removed.
(UART_ENABLE_OUT2): New const.
* include/grub/term.h (grub_term_register_input_active): New function.
(grub_term_register_output_active): Likewise.
* kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
argument.
* kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
(init_pci): New function.
(grub_machine_init): Execute platform init when firmware. Init serial.
(grub_halt): Implement.
(grub_exit): Likewise.
(grub_reboot): Likewise.
* term/serial.c (serial_hw_init): Update macros.
[GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
* util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
(image_targets): New target mipsel-yeeloong-flash.
(generate_image): Support IMAGE_YEELOONG_FLASH.
* video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
(grub_video_sm712_setup): Init card.
(grub_video_sm712_set_palette): Removed.
* video/sm712_init.c: New file.
2010-07-01 03:16:56 +02:00
Colin Watson
ff4a70d291
* Makefile.in (install-local): Temporarily prepend $(builddir) to
...
PATH when running help2man and then run it on the unadorned
executable names, rather than passing $(builddir)/* paths to
help2man. This avoids the build directory ending up in generated
manual pages.
2010-06-30 13:36:58 +01:00
Colin Watson
1246efeb8b
* util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
...
to avoid accidents when debugging with 'sh -x'.
* util/grub-mkrescue.in: Likewise.
* util/grub.d/00_header.in: Likewise.
* util/grub.d/10_hurd.in: Likewise.
* util/grub.d/10_kfreebsd.in: Likewise.
* util/grub.d/10_linux.in: Likewise.
* util/grub.d/10_netbsd.in: Likewise.
* util/grub.d/10_windows.in: Likewise.
* util/grub.d/20_linux_xen.in: Likewise.
* util/grub.d/30_os-prober.in: Likewise.
* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2010-06-29 16:20:49 +01:00
Colin Watson
1ba9b88946
* commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
...
last character in the buffer.
Reported by: Vladimir Serbinenko.
2010-06-29 16:15:46 +01:00
Robert Millan
dccaf99d10
2010-06-29 Robert Millan <rmh@gnu.org>
...
* docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
(Command-line and menu entry commands): Document `badram' command.
2010-06-29 00:48:53 +02:00
Robert Millan
d500ed127e
2010-06-28 Robert Millan <rmh@gnu.org>
...
* util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
* util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
command using ${GRUB_BADRAM} as parameter.
2010-06-28 23:52:03 +02:00
Colin Watson
20bc84a6ff
* docs/grub.texi (Device map): New section.
...
(Themes): New section (stub).
* Makefile.in (docs/grub.info): The info documentation now builds
without errors. Make sure it stays that way.
2010-06-28 12:02:39 +01:00
Vladimir 'phcoder' Serbinenko
4045dee1b9
Use normal parser for menu entries.
...
Reported by: Thomas Frauendorfer
* include/grub/parser.h (grub_parser_execute): Don't export.
* normal/menu.c (grub_menu_execute_entry_real): New function.
(grub_menu_execute_entry): Use grub_menu_execute_entry_real.
2010-06-28 12:42:50 +02:00
Colin Watson
bca58c7bb6
* docs/grub.texi (Embedded configuration): New section (replacing
...
old "Preset Menu" stub).
(Images): New section.
(configfile): Note that any menu entries defined in `file' are shown
immediately.
2010-06-28 11:32:50 +01:00
Josh Triplett
dec53e635c
* mmap/i386/pc/mmap_helper.S: Set CF on return.
2010-06-28 10:17:57 +02:00
Colin Watson
c06e40f728
* util/grub-install.in: Add --debug-image= option.
2010-06-28 09:06:41 +01:00
Colin Watson
cb88052ba3
Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
...
possible on Linux.
* util/deviceiter.c (check_device): Rename to ...
(check_device_readable_unique): ... this. Update all callers.
Maintain and check a list of which devices (by canonicalized name)
have already been seen.
(clear_seen_devices): New function.
(compare_file_names) [__linux__]: New function.
(grub_util_iterate_devices): Clear the list of seen devices on exit
and (just in case) on entry.
(grub_util_iterate_devices) [__linux__]: Iterate over non-partition
devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
seen-devices list, superseded by general code in check_device.
2010-06-28 08:55:05 +01:00
Colin Watson
bbe346529e
* commands/cat.c (options): New variable.
...
(grub_cmd_cat): Parse options. If the --dos option is given, print
DOS-style "\r\n" line endings as simple newlines (Debian bug
#586358 ).
(GRUB_MOD_INIT): Use extcmd.
(GRUB_MOD_FINI): Likewise.
* docs/grub.texi (cat): Document --dos.
2010-06-28 08:51:46 +01:00
Vladimir 'phcoder' Serbinenko
412e09f355
XEN with Linux grub-mkconfig support.
...
* conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
* util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
GRUB_CMDLINE_XEN_DEFAULT.
* util/grub.d/20_linux_xen.in: New file.
2010-06-28 02:39:49 +02:00
Vladimir 'phcoder' Serbinenko
53f3ef38c5
Initialise VGA video on qemu ourselves.
...
* boot/i386/qemu/boot.S: Don't call 0xc000.
* conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
(kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
(kernel_img_HEADERS): Add pci.h.
* conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
* configure.ac: Force unifont on qemu and yeeloong.
* include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
(grub_vga_palette_write): Use correct register.
* kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
Call grub_qemu_init_cirrus.
* kern/i386/qemu/init.c: New file.
* term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
* commands/videotest.c (grub_cmd_videotest): Handle double buffering.
2010-06-28 02:33:32 +02:00
Pavel Roskin
c75be4fb0c
* util/grub.d/10_linux.in: Add support for initrd images on Fedora
...
13.
2010-06-26 20:31:40 +01:00
Colin Watson
d803460357
* docs/grub.texi (Simple configuration): Explain that
...
GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
set to `true' to disable their respective recovery entries, not
merely set.
2010-06-26 10:50:39 +01:00
Colin Watson
3fa0648724
Make the `source' command slightly faster.
...
* normal/main.c (grub_normal_execute): Don't re-read list files when
nested.
2010-06-26 10:46:54 +01:00
Colin Watson
e9b29642bd
* loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
...
field position and mask size to red fields from mode_info, not
green.
* loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
Remove redundant tag->common.framebuffer_type assignment.
Reported by: Seth Goldberg.
2010-06-23 09:22:03 +01:00
Colin Watson
e726542fa3
Sync up other versions of the Linux loader with Robert Millan's
...
change of 2010-01-09, "Make loader output a bit more user-friendly".
* loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
grub_dprintf().
(grub_cmd_linux): Likewise.
(grub_cmd_initrd): Likewise.
* loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
* loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
2010-06-23 09:16:39 +01:00
Colin Watson
d6e98a17d7
* kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
...
larger than MEMORY_MAP_SIZE.
2010-06-21 17:59:51 +01:00
BVK Chaitanya
14d3f08e70
Fix parallel build.
...
* conf/common.rmk: Add grub_script.tab.h as a grub-script-check
dependency.
* script/parser.y: #include grub_script.tab.h header.
2010-06-21 20:34:30 +05:30
Vladimir 'phcoder' Serbinenko
994b0c27ea
Add ChangeLog
2010-06-21 02:23:58 +02:00
Vladimir 'phcoder' Serbinenko
4f9613a3a0
Support >3GiB and <16MiB RAM in i386-qemu.
...
* kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
(QEMU_CMOS_MEMSIZE2_LOW): Likewise.
(grub_lower_mem): Removed.
(grub_upper_mem): Likewise.
(mem_size): Made static.
(above_4g): New variable.
(grub_machine_mmap_init): Detect small mem_size and above_4g.
(grub_machine_mmap_iterate): Order in ascending order and add above_4g
support.
2010-06-20 14:22:34 +02:00
Vladimir 'phcoder' Serbinenko
05e5187978
Cirrus 5446 and Bochs video cards support.
...
* conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
video_bochs.mod
(video_cirrus_mod_SOURCES): New variable.
(video_cirrus_mod_CFLAGS): Likewise.
(video_cirrus_mod_LDFLAGS): Likewise.
(video_bochs_mod_SOURCES): Likewise.
(video_bochs_mod_CFLAGS): Likewise.
(video_bochs_mod_LDFLAGS): Likewise.
* include/grub/vga.h: New file.
* include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
(grub_video_fb_set_page_t): New type.
(grub_video_fb_setup): New prototype.
(grub_video_fb_swap_buffers): Likewise.
(grub_video_fb_get_info_and_fini): Likewise.
* term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
(CRTC_DATA_PORT): Likewise.
(CRTC_CURSOR): Likewise.
(CRTC_CURSOR_ADDR_HIGH): Likewise.
(CRTC_CURSOR_ADDR_LOW): Likewise.
(CRTC_CURSOR_DISABLE): Likewise.
(update_cursor): Use grub_vga_cr_write.
(grub_vga_text_setcursor): Likewise.
* video/bochs.c: New file.
* video/fb/video_fb.c (render_target): Moved into framebuffer variable.
(palette): Likewise.
(palette_size): Likewise.
(framebuffer): New variable.
(grub_video_fb_init): Use 'framebuffer'.
(grub_video_fb_fini): Likewise.
(grub_video_fb_get_info): Likewise.
(grub_video_fb_get_palette): Likewise.
(grub_video_fb_set_palette): Likewise.
(grub_video_fb_set_viewport): Likewise.
(grub_video_fb_get_viewport): Likewise.
(grub_video_fb_map_color): Likewise.
(grub_video_fb_map_rgb): Likewise.
(grub_video_fb_map_rgba): Likewise.
(grub_video_fb_unmap_color): Likewise.
(grub_video_fb_unmap_color_int): Likewise.
(grub_video_fb_fill_rect): Likewise.
(grub_video_fb_blit_bitmap): Likewise.
(grub_video_fb_blit_render_target): Likewise.
(grub_video_fb_scroll): Likewise.
(grub_video_fb_create_render_target): Likewise.
(grub_video_fb_doublebuf_blit_init): Likewise.
(grub_video_fb_set_active_render_target): Handle doublebuffering.
(doublebuf_pageflipping_update_screen): New function.
(doublebuf_pageflipping_init): Likewise.
(grub_video_fb_setup): Likewise.
(grub_video_fb_swap_buffers): Likewise.
(grub_video_fb_get_info_and_fini): Likewise.
* video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
All users updated.
(doublebuf_pageflipping_commit): Restructured into ...
(doublebuf_pageflipping_set_page): ... this.
(doublebuf_pageflipping_update_screen): Removed.
(doublebuf_pageflipping_init): Likewise.
(double_buffering_init): Likewise.
(grub_video_vbe_setup): Use grub_video_fb_setup.
(grub_video_vbe_swap_buffers): Removed.
(grub_video_vbe_set_active_render_target): Likewise.
(grub_video_vbe_get_active_render_target): Likewise.
(grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
(grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
grub_video_fb_set_active_render_target and
grub_video_fb_get_active_render_target.
* video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
(SEQUENCER_DATA_PORT): Likewise.
(MAP_MASK_REGISTER): Likewise.
(CRTC_ADDR_PORT): Likewise.
(CRTC_DATA_PORT): Likewise.
(START_ADDR_HIGH_REGISTER): Likewise.
(START_ADDR_LOW_REGISTER): Likewise.
(GRAPHICS_ADDR_PORT): Likewise.
(GRAPHICS_DATA_PORT): Likewise.
(READ_MAP_REGISTER): Likewise.
(INPUT_STATUS1_REGISTER): Likewise.
(INPUT_STATUS1_VERTR_BIT): Likewise.
(get_map_mask): Use grub_vga_sr_read.
(set_map_mask): Use grub_vga_sr_write.
(set_read_map): Use grub_vga_gr_write.
(set_start_address): Use grub_vga_cr_write.
* video/sm712.c (framebuffer): Remove leftover fields.
2010-06-20 14:15:20 +02:00
Colin Watson
4321c64aff
* util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
...
setting GRUB_VIDEO_BACKEND. Make it available as a user override
instead. Replace the gfxterm backend check with a check that
${GRUB_PREFIX}/video.lst is non-empty.
* util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
again.
(load_video): New generated function. Call it before loading
gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
* util/grub.d/10_linux.in (linux_entry): Call load_video.
* util/grub.d/30_os-prober.in (osx_entry): Likewise.
* docs/grub.texi (Simple configuration): Document
GRUB_VIDEO_BACKEND.
Use video functions in linux and xnu loaders.
* conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
* conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
* include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
* loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
loader/i386/pc/linux.c.
(grub_linux_boot): Resynced with loader/i386/pc/linux.c.
(find_line_len): Removed.
(find_framebuf): Likewise.
(grub_cmd_linux): Declare grub_linux_boot as possibly returning.
* loader/i386/efi/xnu.c: Removed.
* loader/i386/pc/xnu.c: Moved from here...
* loader/i386/xnu.c: ...here.
Enable priorities in video drivers.
* include/grub/video.h (grub_video_adapter_prio_t): New type.
(grub_video_adapter): New field prio.
(grub_video_register): Respect prio when inserting.
* video/efi_gop.c (grub_video_gop_adapter): Add prio.
* video/efi_uga.c (grub_video_uga_adapter): Likewise.
* video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
* video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
* video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
* video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
* video/sm712.c (grub_video_sm712_adapter): Likewise.
Fix SDL driver ID.
* include/grub/video.h (grub_video_driver_id_t): New value
GRUB_VIDEO_DRIVER_SDL.
* video/emu/sdl.c (grub_video_sdl_adapter): Add id.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-06-20 13:37:18 +02:00
Colin Watson
7d24e434c5
* util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
...
argument to printf.
* util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2010-06-17 21:54:04 +01:00
Colin Watson
c88a83f644
* util/i386/pc/grub-setup.c (usage): Fix syntax error.
...
* util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2010-06-17 21:49:50 +01:00
Colin Watson
094dfb699e
* util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
...
directly, and recommend grub-install instead.
* util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
2010-06-17 21:20:43 +01:00
Colin Watson
2164da6b25
Fix i386-pc prefix handling with nested partitions (Debian bug
...
#585068 ). Note that the case where the core image is booted using
multiboot and relocated from its original location still requires
more work.
* kern/i386/pc/init.c (make_install_device): If the prefix starts
with "(,", fill the boot drive in between those two characters, but
expect that a full partition specification including partition map
names will follow.
* util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
specified, write a prefix without the drive name but including a
full partition specification.
2010-06-17 12:15:37 +01:00
Colin Watson
044e2e60be
* util/grub-mkconfig.in: Ignore non-option arguments, for
...
compatibility with older versions (before 2010-06-12) which did the
same. In particular, this makes it easier to ship an update-grub
wrapper which is compatible with that used with GRUB Legacy (Debian
bug #586056 ).
2010-06-16 12:51:26 +01:00
Grégoire Sutre
5591324fc6
Fix help2man failure with program name transformation.
2010-06-14 21:26:48 +02:00
Grégoire Sutre
662e24d5f3
Remove leftover commands/handler.c in POTFILES.
2010-06-14 20:27:25 +02:00
Colin Watson
8d70754eed
* util/grub-mkconfig.in: Remove vestige of old argument parsing that
...
left this script non-functional.
2010-06-14 15:34:47 +01:00
Colin Watson
41160e2e6f
* docs/man/grub-emu.h2m: New file.
2010-06-14 15:08:02 +01:00
Colin Watson
b5309cc1b2
* docs/grub.texi (Commands): Document reduced command set in rescue
...
mode.
(cpuid): New section.
2010-06-13 13:17:23 +01:00
Grégoire Sutre
fcb2d09011
New partition naming style in grub-probe for Linux and NetBSD.
2010-06-13 02:36:39 +02:00
BVK Chaitanya
96e5c55634
Add "-o grub.iso" like cmdline options support.
...
* util/grub-install.in: Improve cmdline option parsing.
* util/grub-mkconfig.in: Likewise.
* util/grub-mkrescue.in: Likewise.
* util/grub-reboot.in: Likewise.
* util/grub-set-default.in: Likewise.
* util/i386/efi/grub-install.in: Likewise.
* util/ieee1275/grub-install.in: Likewise.
* util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2010-06-12 20:30:38 +05:30
Colin Watson
c16be99ba3
* .bzrignore: Ignore 41_custom.
2010-06-12 15:09:38 +01:00
Thomas Schmitt
ce08a9fb28
* util/grub-mkrescue.in: Pass unrecognized options to xorriso.
2010-06-12 16:03:34 +02:00
Colin Watson
7beac90c5f
Avoid false positives in fs.lst, partmap.lst, and video.lst due to
...
prototype declarations.
* genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
generating fs, partmap, and video lists.
* include/grub/fs.h (grub_fs_register): Omit prototype if
GRUB_LST_GENERATOR is defined.
* include/grub/partition.h (grub_partition_map_register): Likewise.
* include/grub/video.h (grub_video_register): Likewise.
2010-06-12 14:33:09 +01:00
Javier Martín
1c8f0f8d11
* include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
2010-06-12 14:50:07 +02:00
Thomas Schmitt
a608597318
* util/grub-mkrescue.in: Support --xorriso argument.
2010-06-12 13:54:35 +02:00
Vladimir 'phcoder' Serbinenko
25c56d2928
* util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
...
Suggested by: Thomas Schmitt.
2010-06-12 13:47:08 +02:00
Vladimir 'phcoder' Serbinenko
e03e4b24ca
* util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
...
Suggested by: Thomas Schmitt.
2010-06-12 13:44:01 +02:00
Vladimir 'phcoder' Serbinenko
57711df6ad
custom.cfg support.
...
* conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
* util/grub.d/41_custom.in: New file.
2010-06-12 13:20:21 +02:00
Colin Watson
ee62c427e5
* util/grub-mkrescue.in (make_image): Remove sh module, which has
...
been merged back into normal.
2010-06-12 12:02:38 +01:00
Colin Watson
283af07aff
* include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
...
(GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
2010-06-11 22:15:35 +01:00
Colin Watson
56a0d956d1
* Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
...
when generating manual pages.
* docs/man/grub-bin2h.h2m: New file.
* docs/man/grub-editenv.h2m: New file.
* docs/man/grub-fstest.h2m: New file.
* docs/man/grub-install.h2m: New file.
* docs/man/grub-macho2img.h2m: New file.
* docs/man/grub-mkconfig.h2m: New file.
* docs/man/grub-mkdevicemap.h2m: New file.
* docs/man/grub-mkfont.h2m: New file.
* docs/man/grub-mkimage.h2m: New file.
* docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
* docs/man/grub-mkrelpath.h2m: New file.
* docs/man/grub-mkrescue.h2m: New file.
* docs/man/grub-ofpathname.h2m: New file.
* docs/man/grub-pe2elf.h2m: New file.
* docs/man/grub-probe.h2m: New file.
* docs/man/grub-reboot.h2m: New file.
* docs/man/grub-script-check.h2m: New file.
* docs/man/grub-set-default.h2m: New file.
* docs/man/grub-setup.h2m: New file.
2010-06-11 22:12:16 +01:00
Vladimir 'phcoder' Serbinenko
3a37e3226b
Use FOR_* macros instead of *_iterate whenever possible.
...
* commands/handler.c: Removed.
* commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
* commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
* conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
(grub_probe_SOURCES): Remove kern/parser.c.
(util/grub-script-check.c_DEPENDENCIES): Removed.
(grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
and grub_script_check_init.c.
(grub_script_check_init.lst): Removed.
(grub_script_check_init.h): Likewise.
(grub_script_check_init.c): Likewise.
(pkglib_MODULES): Remove handler.mod and sh.mod.
(handler_mod_SOURCES): Removed.
(handler_mod_CFLAGS): Likewise.
(handler_mod_LDFLAGS): Likewise.
(normal_mod_SOURCES): Remove normal/handler.c.
Add script/main.c, script/script.c, script/execute.c,
script/function.c, script/lexer.c, grub_script.tab.c
and grub_script.yy.c.
* conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
* conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
(grub_setup_SOURCES): Remove kern/parser.c.
* conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
* conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
* conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
(grub_setup_SOURCES): Remove kern/parser.c.
* conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
* gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
* include/grub/command.h (grub_command_iterate): Removed.
(FOR_COMMANDS): New macro.
* include/grub/dl.h (grub_dl): New member next.
(grub_dl_iterate): Removed.
(grub_dl_head): New variable declaration.
(FOR_DL_MODULES): New macro.
* include/grub/fs.h: Include list.h.
(grub_fs): Make next first element.
(grub_fs_list): New variable declaration.
(grub_fs_register): Make inline.
(grub_fs_unregister): Likewise.
(grub_fs_iterate): Removed.
(FOR_FILESYSTEMS): New macro.
* include/grub/handler.h: Removed.
* include/grub/list.h (grub_list_hook_t): Removed.
(grub_list_test_t): Likewise.
(grub_list_pop): Likewise.
(grub_list_iterate): Likewise.
(grub_list_insert): Likewise.
(FOR_LIST_ELEMENTS): New macro.
* include/grub/parser.h (grub_parser_class): Removed.
(grub_parser_register): Likewise.
(grub_parser_unregister): Likewise.
(grub_parser_get_current): Likewise.
(grub_parser_set_current): Likewise.
(grub_register_rescue_parser): Likewise.
(grub_rescue_parse_line): New function.
* include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
* include/grub/script_sh.h (grub_script_function_list): New variable
declaration.
(FOR_SCRIPT_FUNCTIONS): New macro.
(grub_script_function_iterate): Removed.
(grub_normal_parse_line): New prototype.
* include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
(FOR_DISABLED_TERM_INPUTS): Likewise.
(FOR_ACTIVE_TERM_OUTPUTS): Likewise.
(FOR_DISABLED_TERM_OUTPUTS): Likewise.
* include/grub/video.h (grub_video_adapter): Move 'next' to first
element.
(grub_video_register): Inline.
(grub_video_unregister): Likewise.
(grub_video_adapter_list): New variable declaration.
(grub_video_iterate): Removed.
(FOR_VIDEO_ADAPTERS): New macro.
* kern/dl.c (grub_dl_list): Removed. All users updated.
(grub_dl_iterate): Removed.
* kern/fs.c (grub_fs_list): Make global.
(grub_fs_register): Removed.
(grub_fs_unregister): Likewise.
(grub_fs_iterate): Likewise.
* kern/handler.c: Removed.
* kern/list.c (grub_list_pop): Removed.
(grub_list_iterate): Likewise.
(grub_list_insert): Likewise.
(grub_named_list_find): Use FOR_LIST_ELEMENTS.
(grub_prio_list_insert): Don't use grub_list_insert.
* kern/main.c (grub_register_rescue_parser): Don't call
grub_register_rescue_parser.
* kern/parser.c (grub_parser_class): Removed.
(grub_parser_execute): Use grub_rescue_parse_line.
* kern/rescue_parser.c (grub_rescue_parse_line): Make global.
(grub_rescue_parser): Removed.
(grub_register_rescue_parser): Likewise.
* kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
* normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
(grub_auth_check_authentication): Likewise.
* normal/completion.c (iterate_command): Removed.
(grub_normal_do_completion): Use FOR_COMMANDS.
* normal/handler.c: Removed.
* normal/main.c (read_config_file): Remove parser changing.
(grub_normal_execute): Don't call read_handler_list.
(grub_normal_read_line_real): Statically allocate prompt.
(grub_cmdline_run): Use grub_normal_parse_line.
(GRUB_MOD_FINI): Don't call free_handler_list.
* normal/menu_entry.c (run): Likewise.
* script/function.c (grub_script_function_list): Make global.
(grub_script_function_iterate): Removed.
* script/main.c (grub_normal_parse_line): Make global.
(grub_sh_parser): Removed.
(GRUB_MOD_INIT): Likewise.
(GRUB_MOD_FINI): Likewise.
* tests/lib/functional_test.c (grub_functional_test): Use
FOR_LIST_ELEMENTS.
* tests/lib/test.c (free_failures): Don't use grub_list_pop.
(grub_test_run): Use FOR_LIST_ELEMENTS.
* tests/lib/unit_test.c (main): Likewise.
* util/deviceiter.c (grub_util_iterate_devices): Don't use
grub_list_pop.
* util/grub-fstest.c (grub_term_input_class): Removed.
(grub_term_output_class): Likewise.
* util/grub-probe.c: Likewise.
* util/i386/pc/grub-setup.c: Likewise.
* util/sparc64/ieee1275/grub-setup.c: Likewise.
* util/grub-script-check.c (main): Don't call grub_init_all and
grub_fini_all.
* video/video.c (grub_video_adapter_list): Make global.
(grub_video_register): Removed.
(grub_video_unregister): Likewise.
(grub_video_iterate): Likewise.
2010-06-11 22:31:16 +02:00
Vladimir 'phcoder' Serbinenko
6289c3a715
* docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
...
reported by Henrique Ferreiro.
2010-06-09 22:24:12 +02:00
Robert Millan
9146024736
2010-06-09 Robert Millan <rmh@gnu.org>
...
* util/grub.d/10_linux.in: Prefer compressed images over non-compressed
ones, when both are available.
2010-06-09 20:43:25 +02:00
Grégoire Sutre
0ea7c4f93c
Make --version uniform and avoid hard-coded program name.
2010-06-08 12:52:42 +02:00
Grégoire Sutre
e8a6f3b6a5
Use absolute offsets for start of embedding area.
2010-06-08 12:23:30 +02:00
Grégoire Sutre
f4d095d77d
Add . to the directories searched for unifont.
2010-06-08 12:09:34 +02:00
Colin Watson
50e532ca1a
* .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
...
grub_script.yy.h.
2010-06-08 10:37:16 +01:00
Colin Watson
d39f3dec5f
* docs/grub.texi (History): Expand to cover GRUB 2.
...
(Serial terminal): Refer to `terminal_input' and `terminal_output'
commands, not `terminal'.
(serial): Likewise.
(terminal_input): New section.
(terminal_output): New section.
(uppermem): New section (stub).
(Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
2010-06-08 10:29:25 +01:00
Colin Watson
6ef0ddb476
* docs/grub.texi (Security): Menu entries are unrestricted by
...
default, not restricted to superusers as I had previously thought.
Reword to account for this.
2010-06-08 10:18:53 +01:00
Colin Watson
e0f4c43882
* kern/emu/misc.c (device_mapper_null_log): New function.
...
(grub_device_mapper_supported): New function.
* include/grub/emu/misc.h (grub_device_mapper_supported): Add
prototype.
* kern/emu/hostdisk.c (find_partition_start): Check whether
device-mapper is supported before trying to use it.
* util/deviceiter.c (grub_util_iterate_devices): Likewise.
2010-06-07 22:41:55 +01:00
Colin Watson
da90820083
* docs/grub.texi (Naming convention): Use GRUB 2 syntax.
...
(File name syntax): Likewise.
(help): --all is no longer supported in GRUB 2. Be more precise
about pattern matching.
2010-06-07 22:18:00 +01:00
Colin Watson
fb55c3acf9
* normal/completion.c (grub_normal_do_completion): When completing
...
arguments to "set" and the current word contains an equals sign,
skip to after the equals sign before starting completion.
2010-06-07 22:13:26 +01:00
Colin Watson
258c2573a6
* fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
2010-06-07 21:29:25 +01:00
Colin Watson
ee75515e69
* docs/grub.texi (Network): New section.
...
(Device syntax): The network device is called `(pxe)' in GRUB 2, not
`(nd)' as in GRUB Legacy.
(pxe_unload): New section.
2010-06-07 21:26:30 +01:00
Colin Watson
a6a700aa52
* docs/grub.texi (Troubleshooting): `echo' is not usually available
...
in the rescue shell, so recommend using `set' instead. Thanks,
Jordan Uggla.
2010-06-07 21:10:29 +01:00
Colin Watson
4003dd38df
* docs/grub.texi (Filesystem): Refer to search' instead of
find'.
...
(password): New section.
(password_pbkdf2): New section.
(search): New section.
(Security): New section.
(Troubleshooting): New section, currently very incomplete.
(Invoking grub-mkpasswd-pbkdf2): New section.
(Internals): New section, currently very incomplete.
2010-06-07 14:32:12 +01:00
Colin Watson
e1cbcc40a4
* util/grub.d/00_header.in: Add some more quoting (of
...
"${prev_saved_entry}" and "${boot_once}") needed to make savedefault
work again.
Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812 ).
2010-06-07 14:22:40 +01:00
Colin Watson
db8fa1ad87
* util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
...
to `count', fixing variable shadowing that broke the -c option.
2010-06-07 14:15:57 +01:00
Colin Watson
71c3809882
* util/grub.d/00_header.in: Quote values assigned to `saved_entry',
...
in case they contain spaces.
2010-06-05 20:44:44 +01:00
Colin Watson
f28a9212b4
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
...
"part_" to partmap module names, in line with grub-install.
Reported by: Jindřich Makovička (Debian bug #584426 ).
2010-06-04 13:53:30 +01:00
Colin Watson
9cdfe32f09
* util/grub-mkimage.c: Make target-related error messages slightly
...
more helpful; -O talks about "format". Explicitly point to the use
of -O if no target is specified.
Reported by: Didier Raboud (Debian bug #584415 ).
2010-06-04 13:38:10 +01:00
Colin Watson
795b593a47
* INSTALL: Document several build requirements for optional features
...
(libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
2010-06-03 09:48:23 +01:00
Grégoire Sutre
9d9b583350
Handle all possible disk device names for NetBSD.
2010-06-03 00:47:22 +02:00
Colin Watson
0819fec8a1
* docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
...
Thanks to Jordan Uggla for spotting this.
2010-06-02 22:48:13 +01:00
Aleš Nesrsta
1515ec8684
2010-06-02 Aleš Nesrsta <starous@volny.cz>
...
Finally make USB usable.
* bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
(GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
(GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
(GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
(GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
(GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
(GRUB_OHCI_FSMPS): Likewise.
(GRUB_OHCI_PERIODIC_START): Likewise.
(GRUB_OHCI_FRAME_INTERVAL): Likewise.
(GRUB_OHCI_SET_PORT_ENABLE): Likewise.
(GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
(GRUB_OHCI_SET_PORT_RESET): Likewise.
(GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
* bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
(grub_ohci_transaction): Likewise.
(grub_ohci_transfer): Improve condition detection algorithms.
Handle toggle property. Program the transactions correctly.
Improve error handling. Various important fixups.
(grub_ohci_portstatus): Put register writes in right order.
* bus/usb/uhci.c (grub_free_queue): Compute last_trans.
(grub_uhci_transfer): Don't show "failed" message on success.
* bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
array.
(grub_usb_device_initialize): Read first 8 bytes of descriptor to
determine its size.
* bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
before initialization is completed. Use IN direction for empty
transfers. Use last_trans and compute toggle.
* include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
(GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
(GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
(GRUB_USB_FEATURE_TEST_MODE): Likewise.
* include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
(grub_usb_device): Increase toggle to 256.
(grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
GRUB_USBMS_SUBCLASS_SFF8070.
* include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
(grub_scsi_inquiry): New member page and alloc_length.
(grub_scsi_request_sense): New structure.
(grub_scsi_request_sense_data): Likewise.
(grub_scsi_read_capacity): New fields logical_block_addr, PMI and
control.
* disk/scsi.c (grub_scsi_request_sense): New function.
(grub_scsi_test_unit_ready): Likewise.
(grub_scsi_inquiry): Fill new fields.
(grub_scsi_read_capacity): Likewise.
(grub_scsi_read10): Add request sense at the end.
(grub_scsi_read12): Likewise.
(grub_scsi_write10): Likewise.
(grub_scsi_write12): Likewise.
(grub_scsi_open): Add Test Unit Ready.
* disk/usbms.c (grub_usbms_finddevs): Check configcnt.
Support additional subclasses. Con't clear halt yet. Activate the
proper config. Calculate LUNs correctly.
(grub_usbms_transfer): Various important fixups.
2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
* bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
* bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
(grub_ohci_fini_hw): New function.
(grub_ohci_restore_hw): Likewise.
(GRUB_MOD_INIT(ohci)): Register preboot hook.
(GRUB_MOD_FINI(ohci)): Shutdown OHCI.
* term/usb_keyboard.c: Remove include of grub/machine/console.h.
2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
Dedicated DMA allocations.
* bus/pci.c (grub_memalign_dma32): New function
(grub_dma_free): Likewise.
(grub_dma_get_virt): Likewise.
(grub_dma_get_phys): Likewise.
* bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
(grub_ohci_pci_iter): Use dma32_alloc.
(grub_ohci_transfer): Likewise.
* bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
(grub_usb_bulk_readwrite): Likewise.
* include/grub/pci.h: Add declarations.
2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
CS5536 support.
* bus/cs5536.c: New file.
* bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
* conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
(cs5536_mod_SOURCES): New variable.
(cs5536_mod_CFLAGS): Likewise.
(cs5536_mod_LDFLAGS): Likewise.
* conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
machine/pci.h.
(kernel_img_SOURCES): Add bus/cs5536.c.
(pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
usb_keyboard.mod.
(usb_mod_SOURCES): New variable.
(usb_mod_CFLAGS): New variable.
(usb_mod_LDFLAGS): New variable.
(usbtest_mod_SOURCES): New variable.
(usbtest_mod_CFLAGS): New variable.
(usbtest_mod_LDFLAGS): New variable.
(ohci_mod_SOURCES): New variable.
(ohci_mod_CFLAGS): New variable.
(ohci_mod_LDFLAGS): New variable.
(usbms_mod_SOURCES): New variable.
(usbms_mod_CFLAGS): New variable.
(usbms_mod_LDFLAGS): New variable.
(usb_keyboard_mod_SOURCES): New variable.
(usb_keyboard_mod_CFLAGS): New variable.
(usb_keyboard_mod_LDFLAGS): New variable.
* include/grub/smbus.h: New file.
* include/grub/cs5536.h: New file.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-06-02 17:16:20 +02:00
Vladimir 'phcoder' Serbinenko
49396b4f61
Add ChangeLog
2010-06-02 16:52:16 +02:00
Colin Watson
0b35b2a921
* util/grub.d/00_header.in: Add safety check to make sure that
...
${locale_dir} exists before trying to probe it.
2010-06-02 13:57:13 +01:00
Colin Watson
ca0afd5bab
* docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
...
per the GNU Coding Standards; this is now too obscure to be worth
documenting.
(QNX): Likewise.
(chainloader): Remove cross-reference to `SCO UnixWare'.
2010-06-02 13:11:33 +01:00
Colin Watson
1c41aa7883
* docs/grub.texi (Chain-loading): New section.
...
(DOS/Windows): New section, borrowed from GRUB Legacy with details
adjusted for GRUB 2.
(SCO UnixWare): Likewise.
(QNX): Likewise.
(chainloader): Add reference to `Block list syntax'.
(drivemap): New section.
(parttool): New section.
2010-06-02 12:47:11 +01:00
Colin Watson
bb8ea0f5c3
* docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
...
the grub shell'.
(Installation): Add reference to `Making a GRUB bootable CD-ROM'.
(Installing GRUB using grub-install): Remove reference to the grub
shell; mention `grub-mkimage' and `grub-setup' instead.
(Invoking grub-install): Likewise.
(Interface): Add reference to `Menu entry editor'.
(serial): Remove `--device' option.
2010-06-02 11:26:28 +01:00
Colin Watson
288dd6ed3d
* docs/grub.texi (Configuration): New section, documenting
...
configuration file generation using grub-mkconfig. I've left a slot
for documenting the full shell scripting format but have not yet
started on writing that up.
(Invoking grub-mkconfig): New section.
2010-06-02 11:14:02 +01:00
Colin Watson
34c9f0e949
* docs/grub.texi (direntry): Remove grub-terminfo reference.
...
(GNU GRUB manual): Likewise.
(General commands): Update description of `terminfo' for GRUB 2.
2010-06-02 02:50:04 +01:00
Colin Watson
9121567e16
* commands/gptsync.c (grub_cmd_gptsync): Fix typos.
...
(GRUB_MOD_INIT): Fix capitalisation.
* docs/grub.texi (Command-line and menu entry commands): Document
gettext and gptsync commands.
2010-06-02 02:37:55 +01:00
Colin Watson
ab6316112c
* conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
...
kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
2010-06-02 01:23:34 +01:00
Colin Watson
bde4a9ac1d
Add btrfs probing support, currently only in the single-device case.
...
* kern/emu/getroot.c (find_root_device_from_mountinfo): New
function.
(grub_guess_root_device): Call find_root_device_from_mountinfo
before looking in /dev.
2010-06-01 18:30:20 +01:00
Vladimir 'phcoder' Serbinenko
b1d17e10e0
* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
...
GRUB_DISK_SIZE_UNKNOWN.
* disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
2010-05-31 21:01:01 +02:00
Jiro SEKIBA
dfbfe00473
* include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
...
* fs/nilfs.c: Support 2nd super block in case 1st one is accidently
corrupted or not synced properly.
2010-05-31 20:49:42 +02:00
Vladimir 'phcoder' Serbinenko
c2ffc8e956
* normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
...
Reported by: Seth Goldberg.
2010-05-31 20:46:16 +02:00
Vladimir 'phcoder' Serbinenko
5629316656
* loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
...
addition of dest.
Reported by: Seth Goldberg.
2010-05-31 20:43:28 +02:00
Vladimir 'phcoder' Serbinenko
7620e7debd
* commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
...
Reported by: Seth Goldberg.
2010-05-31 20:40:42 +02:00
Vladimir 'phcoder' Serbinenko
c837af3f38
* loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
...
64-bit address as signed on MIPS.
2010-05-31 20:23:51 +02:00
Colin Watson
c7c75cf4cb
* configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
...
to the empty string.
2010-05-28 18:13:48 +01:00
BVK Chaitanya
fa4b84900a
Fix grub-emu issues on NetBSD, with gcc 4.1.3.
...
* conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
* include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
* kern/misc.c (__enable_execute_stack): Disable on
GRUB_MACHINE_EMU.
2010-05-28 19:18:45 +05:30
Colin Watson
a33075b941
Make grub-probe work with symbolic links under /dev/mapper as well
...
as with real block devices. The Linux world seems to be (at best)
in transition here, and GRUB shouldn't get caught in the middle.
* kern/emu/getroot.c (find_root_device): Follow symbolic links under
/dev/mapper.
2010-05-28 13:21:30 +01:00
Colin Watson
d870813427
* util/grub-script-check.c (main): Ensure defined behaviour on empty
...
input files (in which case exit zero).
2010-05-27 15:54:18 +01:00
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
Robert Millan
5fdba519bb
2010-05-27 Robert Millan <rmh@gnu.org>
...
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
partmap module to handle cross-partmap setups.
Reported by Orestes Mas. Gràcies!
2010-05-27 16:38:16 +02: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
Grégoire Sutre
95ac3c730c
Fix -Wshadow warning with emu build on NetBSD.
2010-05-26 23:49:52 +02:00
BVK Chaitanya
7d8c021353
* INSTALL: Added flex >= 2.5.35 requirement.
2010-05-25 18:24:46 +05:30
Vladimir 'phcoder' Serbinenko
db4d5813e3
* commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
2010-05-23 14:37:28 +02:00
Vladimir 'phcoder' Serbinenko
f24f430030
cmostest support.
...
* commands/i386/cmostest.c: New file.
* conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
(cmostest_mod_SOURCES): New variable.
(cmostest_mod_CFLAGS): Likewise.
(cmostest_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk: Likewise.
* docs/grub.texi (Vendor power-on keys): New section.
* util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
and GRUB_BUTTON_CMOS_ADDRESS.
* util/grub.d/00_header.in: Handle powering-on by separate button.
2010-05-23 14:16:17 +02:00
Vladimir 'phcoder' Serbinenko
ad603f61a5
* gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
...
Removed drawing_scrollbar argument. All users updated
Fixes #29792 .
Reported by Jo Shields
2010-05-23 13:59:50 +02:00
Vladimir 'phcoder' Serbinenko
3ecb080a33
* gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
...
buffer since gfxterm handles double repaint.
2010-05-23 13:43:38 +02:00
Vladimir 'phcoder' Serbinenko
5f2316c1fe
* gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
...
* term/gfxterm.c (real_scroll): Likewise.
2010-05-23 13:42:16 +02:00
Vladimir 'phcoder' Serbinenko
9a25f885d3
* kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
...
before calling BIOS.
2010-05-21 20:22:29 +02:00
Vladimir 'phcoder' Serbinenko
39fbb79aa1
* include/grub/i18n.h: Always enable grub_gettext.
2010-05-21 20:12:41 +02:00
Vladimir 'phcoder' Serbinenko
228cfa97ca
* kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
...
partition naming style.
2010-05-21 20:08:48 +02: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
Grégoire Sutre
fa9d256ee4
Fix merge error in NetBSD code.
2010-05-20 02:05:43 +02:00
BVK Chaitanya
123b7a8571
Fix grub-mkrescue usage unit testing.
...
* tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
2010-05-19 14:31:43 +05:30
Christian Franke
74276c0df7
* util/grub.d/10_windows.in: Use path names instead of
...
drive letters to prevent warning from Cygwin 1.7.
Add drivemap command to menuentry if needed.
2010-05-18 21:58:49 +02:00
Samuel Thibault
c4f7b52359
2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
...
* util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
gnumach and gnumach.gz.
2010-05-18 20:10:37 +02:00
Vladimir 'phcoder' Serbinenko
95b97950e2
* include/grub/i18n.h (gettext): Inline instead of using #define.
...
(grub_gettext): Likewise.
(_): Likewise.
2010-05-18 14:00:51 +02:00
Vladimir 'phcoder' Serbinenko
01b8d2d787
* Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
...
-DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
* util/grub-mkimage.c (image_targets): Add i386-multiboot.
(main): Add a slash after pkglibdirroot.
2010-05-18 13:55:26 +02:00
Vladimir 'phcoder' Serbinenko
654e1d1e0e
* util/grub-install.in: Add missing "in" keyword.
2010-05-18 13:45:25 +02:00
Vladimir 'phcoder' Serbinenko
26966aeba7
2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
...
* util/grub-mkrescue.in: Remove -O i386-pc duplication.
Reported by: Seth Goldberg.
2010-05-18 14:21:15 +02:00
Vladimir 'phcoder' Serbinenko
7500674773
* po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
2010-05-18 14:20:00 +02: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
Vladimir 'phcoder' Serbinenko
1d3293d67d
Remove grub-mkisofs.
...
* conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
(grub_mkisofs_SOURCES): Removed.
(grub_mkisofs_CFLAGS): Removed.
* util/mkisofs/defaults.h: Removed.
* util/mkisofs/eltorito.c: Likewise.
* util/mkisofs/exclude.h: Likewise.
* util/mkisofs/hash.c: Likewise.
* util/mkisofs/include/: Likewise.
* util/mkisofs/include/fctldefs.h: Likewise.
* util/mkisofs/include/mconfig.h: Likewise.
* util/mkisofs/include/prototyp.h: Likewise.
* util/mkisofs/include/statdefs.h: Likewise.
* util/mkisofs/iso9660.h: Likewise.
* util/mkisofs/joliet.c: Likewise.
* util/mkisofs/match.c: Likewise.
* util/mkisofs/match.h: Likewise.
* util/mkisofs/mkisofs.c: Likewise.
* util/mkisofs/mkisofs.h: Likewise.
* util/mkisofs/msdos_partition.h: Likewise.
* util/mkisofs/multi.c: Likewise.
* util/mkisofs/name.c: Likewise.
* util/mkisofs/rock.c: Likewise.
* util/mkisofs/tree.c: Likewise.
* util/mkisofs/write.c: Likewise.
2010-05-17 23:33:03 +02:00
Vladimir 'phcoder' Serbinenko
5dde9afe82
Unify grub-mkimage accross platforms.
...
* Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
* conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
(grub_mkelfimage_SOURCES): Removed.
(util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
(util/grub-mkimage.c_DEPENDENCIES): .. this.
(bin_UTILITIES): Add grub-mkimage.
(grub_mkimage_SOURCES): New variable.
(kernel_img_HEADERS): Remove machine/kernel.h.
* conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
(pkglib_PROGRAMS): Add kernel.img.
(kernel_img_HEADERS): Add machine/kernel.h.
(kernel_img_FORMAT): Removed.
(bin_UTILITIES): Remove grub-mkimage.
(grub_mkimage_SOURCES): Removed.
(grub_mkimage_CFLAGS): Likewise.
(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
* conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
(pkglib_PROGRAMS): Add kernel.img.
(bin_UTILITIES): Remove grub-mkimage.
(grub_mkimage_SOURCES): Removed.
(grub_mkimage_CFLAGS): Likewise.
(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
* conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
(pkglib_PROGRAMS): Add kernel.img.
* conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
(pkglib_PROGRAMS): Add kernel.img.
* conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
(grub_mkimage_SOURCES): Removed.
(grub_mkimage_CFLAGS): Likewise.
(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
* conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
(pkglib_PROGRAMS): Add kernel.img.
(bin_UTILITIES): Remove grub-mkimage.
(grub_mkimage_SOURCES): Removed.
(grub_mkimage_CFLAGS): Likewise.
(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
* conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
(grub_mkimage_SOURCES): Removed.
(grub_mkimage_CFLAGS): Likewise.
(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
* configure.ac (machine_CFLAGS): Add "-DMACHINE".
* include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
(grub_pe32_optional_header): ... this.
(grub_pe64_optional_header): ... and this. All users updated.
(GRUB_PE32_PE32_MAGIC): Split into ..
(GRUB_PE32_PE32_MAGIC): .. this.
(GRUB_PE32_PE64_MAGIC): .. and this.
(GRUB_PE32_SIGNATURE_SIZE): New definition.
* include/grub/elf.h (PT_GNU_STACK): New definition.
* include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
* include/grub/i386/efi/kernel.h: Likewise.
* include/grub/i386/kernel.h: Likewise.
* include/grub/i386/pc/kernel.h: Likewise.
* include/grub/i386/qemu/boot.h: Likewise.
* include/grub/mips/kernel.h: Likewise.
* include/grub/mips/qemu-mips/kernel.h: Likewise.
* include/grub/powerpc/ieee1275/kernel.h: Likewise.
* include/grub/powerpc/kernel.h: Likewise.
* include/grub/sparc64/ieee1275/boot.h: Likewise.
* include/grub/sparc64/ieee1275/kernel.h: Likewise.
* include/grub/sparc64/kernel.h: Likewise.
* include/grub/x86_64/efi/kernel.h: Likewise.
* include/grub/x86_64/kernel.h: Likewise.
* include/grub/offsets.h: New file.
* include/grub/kernel.h (grub_module_info): Split into ...
(grub_module_info32): ... this.
(grub_module_info64): ... and this.
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
* include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
(grub_boot_blocklist): Moved from here ...
* include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
* include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
* include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
* include/grub/types.h (grub_target_to_host16): Removed.
(grub_target_to_host32): Likewise.
(grub_target_to_host64): Likewise.
(grub_host_to_target16): Likewise.
(grub_host_to_target32): Likewise.
(grub_host_to_target64): Likewise.
(grub_host_to_target_addr): Likewise.
Support grub-mkrescue for efi, coreboot and qemu.
* conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
* kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
* util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
* util/grub-mkrawimage.c: Moved from here ...
* util/grub-mkimage.c: ... here. All users updated.
(ALIGN_ADDR): Use image_target.
(TARGET_NO_FIELD): New const.
(image_target_desc): New type.
(image_targets): New array.
(grub_target_to_host64): Use image_target.
(grub_target_to_host32): Likewise.
(grub_target_to_host16): Likewise.
(grub_host_to_target64): Likewise.
(grub_host_to_target32): Likewise.
(grub_host_to_target16): Likewise.
(grub_host_to_target_addr): Likewise.
(generate_image): Handle multiimage.
(main): Require -O parameter. All users updated.
* util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
util/efi/grub-mkimage.c
* util/grub-mkrescue.in: Handle coreboot, efi and qemu.
New option --rom-directory.
Use xorriso.
* util/i386/efi/grub-mkimage.c: Removed.
* util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
(grub_target_to_host32): Likewise.
(grub_target_to_host64): Likewise.
(grub_host_to_target16): Likewise.
(grub_host_to_target32): Likewise.
(grub_host_to_target64): Likewise.
* util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
(grub_target_to_host32): Likewise.
(grub_target_to_host64): Likewise.
(grub_host_to_target16): Likewise.
(grub_host_to_target32): Likewise.
(grub_host_to_target64): Likewise.
2010-05-17 23:04:10 +02:00
BVK Chaitanya
f4fc97d02a
source tree reorg for emu platform
2010-05-17 21:10:53 +05:30
Vladimir 'phcoder' Serbinenko
cced9145fc
Fix gfxmenu crash.
...
Reported by: Thorsten Grützmacher.
* gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
timeout hook.
(circprog_set_property): Register and unregister timeout hook.
* gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
(label_destroy): Free template. and unregister hook.
(label_set_state): New function.
(label_set_property): Handle templates and hooks.
* gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
timeout hook.
(progress_bar_set_property): Register and unregister timeout hook.
* gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
* include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
* gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
(update_timeout_visit): Removed.
(update_timeouts): New function.
(redraw_timeouts): Likewise.
(grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
(grub_gfxmenu_clear_timeout): Likewise.
* include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
(grub_gfxmenu_timeout_notify): Likewise.
(grub_gfxmenu_timeout_notifications): New external variable.
(grub_gfxmenu_timeout_register): New function.
(grub_gfxmenu_timeout_unregister): Likewise.
2010-05-13 03:56:14 +02:00
Vladimir 'phcoder' Serbinenko
c6e5caab1d
Transform (broken) vga terminal into (working) vga video driver.
...
* conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
video/i386/pc/vga.c.
* include/grub/video.h (grub_video_driver_id):
Add GRUB_VIDEO_DRIVER_VGA.
* term/i386/pc/vga.c: Renamed to ...
* video/i386/pc/vga.c: ...this
(DEBUG_VGA): Removed.
(CHAR_WIDTH): Likewise.
(CHAR_HEIGHT): Likewise.
(TEXT_WIDTH): Likewise.
(TEXT_HEIGHT): Likewise.
(DEFAULT_FG_COLOR): Likewise.
(DEFAULT_BG_COLOR): Likewise.
(colored_char): Likewise.
(xpos): Likewise.
(ypos): Likewise.
(cursor_state): Likewise.
(fg_color): Likewise.
(bg_color): Likewise.
(text_buf): Likewise.
(page): Likewise.
(font): Likewise.
(framebuffer): New variable.
(set_read_map): Disabled.
(setup): New variable.
(is_target): Likewise.
(grub_vga_mod_init): Likewise.
(grub_vga_mod_fini): Likewise.
(check_vga_mem): Likewise.
(write_char): Likewise.
(write_cursor): Likewise.
(scroll_up): Likewise.
(grub_vga_putchar): Likewise.
(grub_vga_getcharwidth): Likewise.
(grub_vga_getwh): Likewise.
(grub_vga_getxy): Likewise.
(grub_vga_gotoxy): Likewise.
(grub_vga_cls): Likewise.
(grub_vga_setcolorstate): Likewise.
(grub_vga_setcursor): Likewise.
(grub_video_vga_init): New function.
(grub_video_vga_setup): Likewise.
(grub_video_vga_fini): Likewise.
(update_target): Likewise.
(grub_video_vga_blit_bitmap): Likewise.
(grub_video_vga_blit_render_target): Likewise.
(grub_video_vga_set_active_render_target): Likewise.
(grub_video_vga_get_active_render_target): Likewise.
(grub_video_vga_swap_buffers): Likewise.
(grub_video_vga_set_palette): Likewise.
(grub_video_vga_get_info_and_fini): Likewise.
(grub_vga_term): Removed.
(grub_video_vga_adapter): New variable.
(GRUB_MOD_INIT): Register a video driver instead of terminal.
(GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
2010-05-09 11:00:21 +02:00
Vladimir 'phcoder' Serbinenko
2bf61a980b
* video/readers/jpeg.c: Indented.
2010-05-05 21:19:55 +02:00
Vladimir 'phcoder' Serbinenko
09ddcd11fb
Various jpeg cleanups.
...
* video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
(grub_jpeg_decode_quan_table): Use sizeof.
(grub_jpeg_decode_du): Use ARRAY_SIZE.
2010-05-05 21:18:10 +02:00
Peter Hurley
e550750546
* video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
...
tables. Ignore non-last ac bit.
(grub_jpeg_decode_quan_table): Likewise.
2010-05-05 21:03:59 +02:00
Vladimir 'phcoder' Serbinenko
7e720a9bc1
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
...
GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
* kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
* kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
2010-05-05 18:52:13 +02:00
Vladimir 'phcoder' Serbinenko
a7fc080b56
* term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
...
error.
2010-05-05 18:44:02 +02:00
Vladimir 'phcoder' Serbinenko
2bf6012d7f
* term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
2010-05-05 18:42:33 +02:00
Vladimir 'phcoder' Serbinenko
265d68cd10
* commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
...
condition.
2010-05-03 13:17:12 +02:00
Vladimir 'phcoder' Serbinenko
7dd5a111ba
* kern/mm.c (grub_real_malloc): Put magic and size assignment in common
...
part.
2010-05-03 13:12:55 +02:00
Vladimir 'phcoder' Serbinenko
9b058d5291
* kern/mm.c (grub_mm_init_region): Check for region size after aligning
...
pointers.
2010-05-03 13:07:31 +02:00
Vladimir 'phcoder' Serbinenko
2589383147
* kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
2010-05-03 12:53:32 +02:00
Christian Franke
d1b61374ed
* util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
...
Remove broken Cygwin path conversion.
* util/misc.c: [__CYGWIN__] Add include and define.
[__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
for Cygwin 1.7.
(make_system_path_relative_to_its_root): Simplify loop, replace early
return by break.
[__CYGWIN__] Add conversion to win32 path.
Include "/" case in trailing slash removal.
2010-05-01 21:39:32 +02:00
Vladimir 'phcoder' Serbinenko
3558c6e93c
* kern/main.c (grub_load_config): Fix copy-pasted comment.
...
Reported by: Seth Goldberg
2010-05-01 21:32:23 +02:00
Vladimir 'phcoder' Serbinenko
f5f3ff9326
* commands/help.c (grub_cmd_help): Fix a typo.
...
Reported by: Seth Goldberg
2010-05-01 21:31:45 +02:00
Vladimir 'phcoder' Serbinenko
d8b5cd4011
* commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
...
name and add N_.
* commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
* commands/iorw.c (GRUB_MOD_INIT): Likewise.
* commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
* commands/regexp.c (GRUB_MOD_INIT): Likewise.
* commands/setpci.c (GRUB_MOD_INIT): Likewise.
* commands/terminal.c (GRUB_MOD_INIT): Likewise.
* efiemu/main.c (GRUB_MOD_INIT): Likewise.
* font/font_cmd.c (GRUB_MOD_INIT): Likewise.
* kern/corecmd.c (GRUB_MOD_INIT): Likewise.
* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
* normal/context.c (GRUB_MOD_INIT): Likewise.
* normal/main.c (GRUB_MOD_INIT): Likewise.
* term/gfxterm.c (GRUB_MOD_INIT): Likewise.
* term/serial.c (GRUB_MOD_INIT): Likewise.
* term/terminfo.c (GRUB_MOD_INIT): Likewise.
2010-05-01 20:28:07 +02:00
Vladimir 'phcoder' Serbinenko
88c14915f8
* kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
...
extra == 0.
2010-05-01 19:39:32 +02:00
Vladimir 'phcoder' Serbinenko
165134bcc1
* commands/iorw.c: New file.
...
* conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
(iorw_mod_SOURCES): New variable.
(iorw_mod_CFLAGS): Likewise.
(iorw_mod_LDFLAGS): Likewise.
2010-05-01 19:37:04 +02:00
Vladimir 'phcoder' Serbinenko
c5ac9b32ac
Hotkey support
...
* include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
* normal/main.c (hotkey_aliases): New variable.
(grub_normal_add_menu_entry): Parse "--hotkey".
* normal/menu_text.c (run_menu): Handle hotkeys.
2010-05-01 19:33:17 +02:00
Vladimir 'phcoder' Serbinenko
ce60689c68
* kern/i386/coreboot/init.c (grub_machine_init): Call
...
grub_machine_mmap_init on qemu.
2010-05-01 16:35:15 +02:00
Vladimir 'phcoder' Serbinenko
0359d00628
* boot/i386/qemu/boot.S: Add a missing .code16.
2010-05-01 14:38:09 +02:00
Vladimir 'phcoder' Serbinenko
7819a4562f
Use LBIO on coreboot.
...
* conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
* include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
New declaration.
* kern/i386/coreboot/init.c (grub_machine_init): Don't call
grub_machine_mmap_init on coreboot.
* kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
GRUB_LINUXBIOS_MEMBER_LINK.
(grub_machine_mmap_iterate): Fix declaration.
* kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
2010-05-01 14:32:48 +02:00
Vladimir 'phcoder' Serbinenko
7210dca942
Split coreboot and multiboot ports.
...
* conf/i386-multiboot.rmk: New file.
* configure.ac: Add multiboot port.
* include/grub/i386/multiboot/boot.h: New file.
* include/grub/i386/multiboot/console.h: Likewise.
* include/grub/i386/multiboot/init.h: Likewise.
* include/grub/i386/multiboot/kernel.h: Likewise.
* include/grub/i386/multiboot/loader.h: Likewise.
* include/grub/i386/multiboot/memory.h: Likewise.
* include/grub/i386/multiboot/serial.h: Likewise.
* include/grub/i386/multiboot/time.h: Likewise.
* include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
* loader/multiboot.c: Likewise.
* loader/multiboot_mbi2.c: Likewise.
* util/grub-mkrescue.in: Generate multiboot rescue.
2010-05-01 14:06:53 +02:00
Vladimir 'phcoder' Serbinenko
3080f7a7bd
* kern/parser.c (grub_parser_execute): Cope with read-only config.
2010-05-01 13:27:13 +02:00
Vladimir 'phcoder' Serbinenko
6f8aaf68be
Merge handling of input and output terminals. Fix a hang.
...
* commands/terminal.c (abstract_terminal): New struct.
(handle_command): New function. Based on grub_cmd_terminal_input.
(grub_cmd_terminal_input): Use handle_command.
(grub_cmd_terminal_output): Use handle_command.
2010-05-01 13:20:07 +02:00
BVK Chaitanya
a8ebb84111
Fix comment handling.
...
* tests/grub_script_comments.in: New testcase.
* conf/tests.rmk: Rules for new testcase.
* script/yylex.l: Updated flex rules.
2010-05-01 15:49:43 +05:30
Samuel Thibault
c76a18386f
* commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
...
if argc is 1.
2010-04-28 23:18:16 +02:00
Samuel Thibault
bb06ba0892
* docs/grub.texi (play): Document that zero pitches produce rests.
2010-04-28 22:59:27 +02:00
Vladimir 'phcoder' Serbinenko
cc9d24254f
* conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
...
autogen issues.
2010-04-27 22:08:24 +02:00
Christian Franke
460d8402e0
* include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
...
* util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
(grub_get_prefix): Remove function.
* util/grub-emu.c (main): Replace grub_get_prefix () call by
make_system_path_relative_to_its_root ().
* util/sparc64/ieee1275/grub-setup.c (main): Likewise.
2010-04-26 03:35:55 +02:00
Christian Franke
553c01f958
* Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
...
(kernel_img_LDFLAGS): Remove -static-libgcc.
2010-04-24 23:18:57 +02:00
Christian Franke
2aec1692d9
* configure.ac: Do not CHECK_BSS_START_SYMBOL
...
and CHECK_END_SYMBOL if grub-emu is built.
Unset TARGET_OBJ2ELF if grub-emu is built
without module support.
2010-04-24 22:41:52 +02:00
Jiro SEKIBA
f67dc308f6
Nilfs2 support.
...
* conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
(grub_fstest_SOURCES): Likewise.
(pkglib_MODULES): Add nilfs2.mod.
(nilfs2_mod_SOURCES): New variable.
(nilfs2_mod_CFLAGS): Likewise.
(nilfs2_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
* fs/nilfs2.c: New file.
2010-04-24 22:09:08 +02:00
Vladimir 'phcoder' Serbinenko
4ba8d3540a
* configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
...
is not supported.
2010-04-21 21:26:56 +02:00
Grégoire Sutre
0d2c20c6f1
Add grub-mkconfig support for NetBSD.
2010-04-19 21:25:41 +02:00
BVK Chaitanya
bc4a2d832b
Fix emu build with grub-emu-pci and grub-emu-modules.
...
* include/grub/util/misc.h: Export grub_util_{info,error,warn}
functions.
* include/grub/libpciaccess.h: New file.
* conf/any-emu.rmk: Update kernel headers for emu build.
2010-04-19 16:04:56 +05:30
Vladimir 'phcoder' Serbinenko
f48c87aae8
* fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
2010-04-19 03:28:55 +02:00
Vladimir 'phcoder' Serbinenko
189593857c
* fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
2010-04-19 02:41:48 +02:00
Vladimir 'phcoder' Serbinenko
0037de3fa3
* boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
...
Retrieve chosen/bootpath if bootpath isn't hardcoded.
* conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
util/ieee1275/ofpath.c.
* util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
* util/ieee1275/grub-ofpathname.c: ... this. All users updated
* include/grub/sparc64/ieee1275/boot.h
(GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
(GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
* util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
* util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
const char *.
* util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
(setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
install.
2010-04-18 20:41:06 +02:00
Grégoire Sutre
38e55e9058
TARGET_IMG_LDFLAGS_AC now always expects a number appended to it. Fixed
...
grub_prefix in grub-mkconfig for NetBSD and OpenBSD.
2010-04-18 19:57:50 +02:00
Vladimir 'phcoder' Serbinenko
a9e6ff28d2
* po/POTFILES: Renamed multiboot_loader.c to multiboot.c
2010-04-18 13:00:06 +02:00
Vladimir 'phcoder' Serbinenko
0b830b8f5e
* util/hostdisk.c (make_device_name): Change to new partition naming.
2010-04-18 12:59:04 +02:00
Vladimir 'phcoder' Serbinenko
0973daeb38
* disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
2010-04-17 18:58:56 +02:00
Christian Franke
ebfe7eb4dd
* Makefile.in: Add missing localedir setting.
2010-04-17 17:17:36 +02: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
BVK Chaitanya
08f46d6221
Fix a spurious, uninitialized variable warning.
...
* loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
Initialize variable, shdr.
(grub_freebsd_load_elfmodule): Likewise.
(grub_freebsd_load_elf_meta): Likewise.
2010-04-14 13:48:49 +05:30
BVK Chaitanya
8c4a72d4b5
Fix for escaped dollar in double quoted strings.
...
* script/yylex.l: Updated flex rules.
* conf/tests.rmk: Rule for new testcase.
* tests/grub_script_dollar.in: New testcase.
2010-04-13 21:25:27 +05:30
Carles Pina i Estany
ce44826e79
Enclose all translated strings in grub.cfg in single quotes, and
...
escape them appropriately (Ubuntu bug #552921 ).
* util/grub-mkconfig_lib.in (gettext_quoted): New function.
* util/grub.d/10_hurd.in: Use it.
* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
* util/grub.d/10_linux.in (linux_entry): Likewise.
Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-04-13 13:57:56 +01:00
Vladimir 'phcoder' Serbinenko
4b0cd8f813
Fix cygwin compilation.
...
* configure.ac: Define NEED_REGISTER_FRAME_INFO.
* include/grub/misc.h (__register_frame_info)
[NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
* kern/misc.c (__register_frame_info)
[NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
(__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
2010-04-11 21:24:21 +02:00
Vladimir 'phcoder' Serbinenko
01fcf061ea
* configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
2010-04-11 16:14:51 +02:00
Vladimir 'phcoder' Serbinenko
5d04b11e0e
Unify libgcc processing.
...
* Makefile.in (kernel_img_LDFLAGS): New variable.
* conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
* conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
overwriting.
* conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
* conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
* conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
* conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
* conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
overwriting. Remove -lgcc and -static-libgcc
* conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
* conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
* conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
(kernel_img_LDFLAGS): Append instead of overwriting.
Remove -lgcc and -static-libgcc
* conf/sparc64-ieee1275.rmk: Likewise.
* include/grub/powerpc/libgcc.h: Move to ...
* include/grub/libgcc.h: .. this.
* include/grub/libgcc.h: Don't export most of the function on x86.
(__bswapsi2): New export.
(__bswapdi2): Likewise.
* include/grub/mips/libgcc.h: Removed.
* include/grub/sparc64/libgcc.h: Likewise.
2010-04-11 01:14:31 +02:00
Vladimir 'phcoder' Serbinenko
b7f3ac299d
* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
...
disk_info_msg (conflicts with gettexting into languages with cases).
2010-04-10 20:28:25 +02:00
Grégoire Sutre
2c7031b135
Add grub-probe support for NetBSD.
...
* util/getroot.c (find_root_device): Convert block device to
character device on NetBSD.
* util/probe.c (probe): Require character device on NetBSD.
* util/hostdisk.c: NetBSD specific headers.
(configure_device_driver): new function to tune device driver
parameters (currently only for NetBSD floppy driver).
(grub_util_biosdisk_open): NetBSD specific code (get disk size
via disklabel ioctl).
(open_device): call configure_device_driver on NetBSD.
(convert_system_partition_to_system_disk): NetBSD specific code.
(device_is_wholedisk): Likewise.
(grub_util_biosdisk_get_grub_dev): Likewise.
(make_device_name): Fixed a typo in bsd_part_str.
* configure.ac: check for opendisk() and getrawpartition() on
NetBSD and set LIBUTIL.
* Makefile.in: add LIBUTIL to LIBS.
2010-04-10 17:07:33 +02:00
BVK Chaitanya
f516290c5a
Documentation fix.
...
* util/grub-script-check.c: Better help message.
2010-04-10 19:28:59 +05:30
BVK Chaitanya
d8dcc0dff8
Fix FreeBSD build.
...
* configure.ac: Flex version check.
* conf/common.rmk: Add -Wno-error to sh.mod.
* script/yylex.l: Remove all #pragma.
2010-04-10 19:11:32 +05:30
Vladimir 'phcoder' Serbinenko
6734334a53
* include/grub/util/misc.h (canonicalise_file_name): Add missing
...
prototype.
Reported by: Seth Goldberg.
2010-04-10 12:46:12 +02:00
Vladimir 'phcoder' Serbinenko
daea6abdeb
* loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
...
Rename "module" to "module2".
Reported by: Seth Goldberg.
2010-04-10 03:05:03 +02:00
Vladimir 'phcoder' Serbinenko
f2fd9d2b2b
* include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
...
EXPORT_FUNC.
Reported by: Seth Goldberg.
2010-04-10 02:45:26 +02:00
Vladimir 'phcoder' Serbinenko
be124579b1
* lib/posix_wrap/locale.h: Add missing file.
...
Reported by: Seth Goldberg.
2010-04-10 02:08:01 +02:00
Vladimir 'phcoder' Serbinenko
ef5da797aa
grub-emu module load support.
...
* Makefile.in (TARGET_NO_MODULES): New variable. All users of
NO_DYNAMIC_MODULES switched to this.
(TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
(CFLAGS): Likewise.
* conf/any-emu.rmk: Generate symlist.
(kernel_img_HEADERS): Add util/datetime.h.
(kernel_img_HEADERS) [sdl]: Add sdl.h.
(kernel_img_HEADERS) [libusb]: Add libusb.h.
(kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
kern/$(target_cpu)/cache.S.
* configure.ac (grub-emu-modules): New option.
* genmk.rb: Handle multiple source lists.
* include/grub/sdl.h: New file.
* include/grub/libusb.h: Likewise.
* util/grub-emu.c (main): Hanle (host) root.
* util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
GRUB_ERR_UNKNOWN_DEVICE.
* util/misc.c: Move mm functions to ...
* util/mm.c: ... here. All users updated.
2010-04-10 01:59:00 +02:00
Vladimir 'phcoder' Serbinenko
47822096b5
* Makefile.in (RMKFILES): Search in srcdir and not current directory.
...
(MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
missing files.
(maintainer-clean): Remove libgcrypt-grub.
2010-04-09 23:04:00 +02:00
Vladimir 'phcoder' Serbinenko
5d7e744525
* term/efi/console.c (grub_console_checkkey): Macroify key contants.
2010-04-09 21:35:52 +02:00
EFI Coder
25f4e25287
* normal/menu_text.c (print_message): Clean up the message and show
...
the Fn information when on EFI
* term/efi/console.c (grub_console_checkkey): Add F4 support.
2010-04-09 21:16:17 +02:00
Vladimir 'phcoder' Serbinenko
027de555e2
* normal/autofs.c (read_fs_list): New parameter 'prefix'.
...
All users updated.
* normal/crypto.c (read_crypto_list): Likewise.
* normal/dyncmd.c (read_command_list): Likewise.
* normal/term.c (read_terminal_list): Likewise.
* normal/main.c (read_lists): Use explicit prefix.
(read_lists_hook): Use read_lists.
(grub_normal_execute): Likewise.
2010-04-09 21:07:24 +02:00
Vladimir 'phcoder' Serbinenko
4777971126
* util/grub-mkrescue.in: Fix incorrect path in coreboot part.
...
Reported by: Thomas Schmitt.
Add -no-emul-boot to grub-mkisofs parameters.
2010-04-09 20:40:14 +02:00
Vladimir 'phcoder' Serbinenko
1118c32ec7
* font/font.c: Indented.
2010-04-09 19:38:23 +02:00
BVK Chaitanya
7d65244782
Elif support to GRUB script (by Deepak Vankadaru).
...
* tests/grub_script_if.in: New testcase.
* conf/tests.rmk: Rule for new testcase.
* script/parser.y: Grammar rules for elif.
2010-04-09 22:38:27 +05:30
BVK Chaitanya
34bb22dfa5
While and until loops support to GRUB script.
...
* include/grub/script_sh.h (grub_script_cmdwhile): New struct.
(grub_script_create_cmdwhile): New function prototype.
(grub_script_execute_cmdwhile): New function prototype.
* script/execute.c (grub_script_execute_cmdwhile): New function.
* script/parser.y (command): New commands.
(whilecmd): New grammar rule.
(untilcmd): New grammar rule.
* script/script.c (grub_script_create_cmdwhile): New function.
* util/grub-script-check.c (grub_script_execute_cmdwhile): New
function.
* tests/grub_script_while1.in: New testcase.
* conf/tests.rmk: Rule for new testcase.
2010-04-09 22:04:21 +05:30
Vladimir 'phcoder' Serbinenko
e215d8e02a
* util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
...
as *.jpg.
2010-04-09 17:44:03 +02:00
Mario Vazquez
d7c43ba1c0
GRUB_BACKGROUND support.
...
* util/grub-mkconfig.in: Export GRUB_BACKGROUND.
* util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2010-04-09 17:37:38 +02:00
Vladimir 'phcoder' Serbinenko
d64795c0eb
Load fonts and modules for gfxmenu in grub-mkconfig.
...
Idea by: Mario Vasquez
* util/grub.d/00_header.in: Load pf2 and image modules.
2010-04-09 16:56:07 +02:00
Vladimir 'phcoder' Serbinenko
f267f83a13
grub-mkconfig multiple terminal support.
...
* util/grub-mkconfig.in: Handle multiple terminals correctly.
* util/grub.d/00_header.in: Likewise.
2010-04-09 16:29:10 +02:00
Vladimir 'phcoder' Serbinenko
b7841cebaa
2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
...
* Makefile.in: Specify files explicitly instead of using $< and $@ since
we use cd $(srcdir).
2010-04-09 16:18:25 +02: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
BVK Chaitanya
14e18ae351
Fix unit testing framework for Qemu 0.12.
...
* tests/util/grub-shell.in: Remove -serial stdio option.
2010-04-06 19:13:55 +05:30
BVK Chaitanya
fa09c82e6e
updated changelog
2010-04-06 12:31:44 +05:30
BVK Chaitanya
daf892b3d4
POSIX header file wrappers.
...
* lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
equivalents.
* lib/posix_wrap/ctype.h: Likewise.
* lib/posix_wrap/errno.h: Likewise.
* lib/posix_wrap/langinfo.h: Likewise.
* lib/posix_wrap/limits.h: Likewise.
* lib/posix_wrap/localcharset.h: Likewise.
* lib/posix_wrap/stdint.h: Likewise.
* lib/posix_wrap/stdio.h: Likewise.
* lib/posix_wrap/stdlib.h: Likewise.
* lib/posix_wrap/string.h: Likewise.
* lib/posix_wrap/sys/types.h: Likewise.
* lib/posix_wrap/unistd.h: Likewise.
* lib/posix_wrap/wchar.h: Likewise.
* lib/posix_wrap/wctype.h: Likewise.
* conf/common.rmk (grub_script.yy.c): Remove #include elimination.
(grub_script.yy.h): Likewise.
* script/yylex.l: Remove POSIX emulation #defines.
* Makefile.in (POSIX_CFLAGS): New variable.
(GNULIB_UTIL_CFLAGS): Likewise.
Regexp support.
* conf/common.rmk (pkglib_MODULES): Add regexp.mod.
(regexp_mod_SOURCES): New variable.
(regexp_mod_CFLAGS): Likewise.
(regexp_mod_LDFLAGS): Likewise.
* commands/regexp.c: New file.
* gnulib/regcomp.c: New file. Imported from gnulib.
* gnulib/regex.c: Likewise.
* gnulib/regex_internal.c: Likewise.
* gnulib/regex_internal.h: Likewise.
* gnulib/regexec.c: Likewise.
* gnulib/regex.h: Likewise.
2010-04-06 01:17:32 +05:30
Vladimir 'phcoder' Serbinenko
974ac4f755
* loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
...
unsupported video mode types.
2010-04-05 16:06:16 +02:00
Vladimir 'phcoder' Serbinenko
2622c3ffb0
* kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
2010-04-05 15:59:32 +02:00
Vladimir 'phcoder' Serbinenko
064cb524ec
* include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
...
* conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2010-04-05 15:57:40 +02:00
Vladimir 'phcoder' Serbinenko
a8c3b552a7
Remove unused grub_vga_get_font.
...
* kern/i386/pc/startup.S (grub_vga_get_font): Removed.
* include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2010-04-04 14:12:11 +02:00
Grégoire Sutre
187bbe3d9c
* kern/misc.c: Disable the __enable_execute_stack hack for utilities.
...
* include/grub/misc.h: Likewise.
2010-04-03 21:00:21 +02:00
Grégoire Sutre
b9396631bc
* util/grub-install.in: Add `|| exit 1' to all grub-probe calls
...
for which failure is fatal.
2010-04-03 20:52:06 +02:00
Grégoire Sutre
50479febcf
* util/grub-install.in: Use mkdir -p to create grub directory.
...
* util/i386/efi/grub-install.in: Likewise.
* util/ieee1275/grub-install.in: Likewise.
2010-04-03 20:48:36 +02:00
Grégoire Sutre
b1654fdfe1
* Makefile.in (LEX): new variable.
2010-04-03 20:35:13 +02:00
Grégoire Sutre
bd5a6415b0
* util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
...
`=' and added double quotes on operands of this equality test.
2010-04-03 20:23:21 +02:00
Vladimir 'phcoder' Serbinenko
3db3a82b75
* Makefile.in (uninstall): Remove a leftover debug echo.
...
Reported by: Grégoire Sutre
2010-04-03 20:12:43 +02:00
Vladimir 'phcoder' Serbinenko
3802341279
MIPS multiboot2 support.
...
* conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
(multiboot2_mod_SOURCES): New variable.
(multiboot2_mod_CFLAGS): Likewise.
(multiboot2_mod_LDFLAGS): Likewise.
(multiboot2_mod_ASFLAGS): Likewise.
* include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
definition.
(MULTIBOOT_ENTRY_REGISTER): Likewise.
(MULTIBOOT_MBI_REGISTER): Likewise.
(MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
(MULTIBOOT_ELF32_MACHINE): Likewise.
(MULTIBOOT_ELF64_MACHINE): Likewise.
* include/grub/mips/multiboot.h: New file.
* include/grub/video.h (grub_video_driver_id): New type
GRUB_VIDEO_DRIVER_SM712.
(grub_video_get_info_and_fini): Export.
(grub_video_get_palette): Likewise.
(grub_video_get_driver_id): Likewise.
* include/multiboot2.h: Resynced with spec.
* loader/i386/multiboot.c: Moved from here ...
* loader/multiboot.c: ... here. All users updated.
(grub_multiboot_boot): Use platform-specific macros.
* loader/i386/multiboot_elfxx.c: Moved from here ...
* loader/multiboot_elfxx.c: ... here. All users updated.
(E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
* loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
* video/sm712.c (grub_video_sm712_adapter): Add missing id field.
2010-04-03 14:37:13 +02:00
Vladimir 'phcoder' Serbinenko
47674667e3
Import gnulib argp module.
...
* gnulib/argp-ba.c: New file.
* gnulib/argp-eexst.c: Likewise.
* gnulib/argp-fmtstream.c: Likewise.
* gnulib/argp-fmtstream.h: Likewise.
* gnulib/argp-fs-xinl.c: Likewise.
* gnulib/argp-help.c: Likewise.
* gnulib/argp-namefrob.h: Likewise.
* gnulib/argp-parse.c: Likewise.
* gnulib/argp-pin.c: Likewise.
* gnulib/argp-pv.c: Likewise.
* gnulib/argp-pvh.c: Likewise.
* gnulib/argp-version-etc.c: Likewise.
* gnulib/argp-version-etc.h: Likewise.
* gnulib/argp-xinl.c: Likewise.
* gnulib/argp.h: Likewise.
2010-04-03 00:45:01 +02:00
Vladimir 'phcoder' Serbinenko
495442ed02
* kern/device.c (grub_device_iterate): Clear errors after failed
...
opening device.
2010-03-31 22:03:48 +02:00
Vladimir 'phcoder' Serbinenko
f9fd65df54
* kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
...
returned by firmware.
2010-03-31 22:01:37 +02:00
Vladimir 'phcoder' Serbinenko
af09641e2b
* loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix compilation on coreboot and qemu
2010-03-30 11:18:29 +02:00
Vladimir 'phcoder' Serbinenko
016883a55c
* include/multiboot2.h: Resync with spec.
2010-03-28 14:19:41 +02:00
Vladimir 'phcoder' Serbinenko
f97e1f7d0a
Multiboot2 tag support
...
* conf/i386.rmk (multiboot2_mod_SOURCES): Replace
loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
Remove loader/multiboot_loader.c.
* include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
(grub_multiboot2_real_boot): Likewise.
* include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
(grub_get_multiboot_mmap_count): New proto.
(grub_fill_multiboot_mmap): Likewise.
(grub_multiboot_set_video_mode): Likewise.
(grub_multiboot_set_console): Likewise.
(grub_multiboot_load): Likewise.
(grub_multiboot_load_elf): Likewise.
(GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
(GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
* include/multiboot.h: Resynced with specification.
* include/multiboot2.h: Resynced with specification.
* loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
* loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
* loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
* include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
users updated.
* loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
* loader/i386/multiboot.c (accepts_video): ... here. All users updated.
* loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
Removed.
* loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
Moved from here...
* loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
* loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
Moved from here...
* loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
* loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
* loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
All users updated.
* loader/i386/multiboot_mbi2.c: New file.
2010-03-28 13:53:23 +02:00
Vladimir 'phcoder' Serbinenko
3506b90b0d
Resync with gnulib.
...
* Makefile.in (GNULIB_CFLAGS): New variable.
* conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
(grub_script_check_CFLAGS): New variable.
* gnulib/alloca.h: Resync with gnulib.
* gnulib/error.c: Likewise.
* gnulib/error.h: Likewise.
* gnulib/fnmatch.c: Likewise.
* gnulib/fnmatch_loop.c: Likewise.
* gnulib/getdelim.c: Likewise.
* gnulib/getline.c: Likewise.
* gnulib/getopt.c: Likewise.
* gnulib/getopt1.c: Likewise.
* gnulib/getopt_int.h: Likewise.
* gnulib/gettext.h: Likewise.
* gnulib/progname.c: Likewise.
* gnulib/progname.h: Likewise.
2010-03-27 12:53:40 +01:00
Grégoire Sutre
394a3120a7
Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
...
which is the case with --disabled-nls.
* include/grub/i18n.h: Use (defined(ENABLE_NLS)
&& ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
* util/misc.c: Likewise.
* util/mkisofs/mkisofs.c: Likewise.
* util/mkisofs/mkisofs.h: Likewise.
2010-03-27 12:19:32 +01:00
Vladimir 'phcoder' Serbinenko
969d1c782d
Simplify Apple CC support.
...
* commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
Add 0 byte at the end not to have a symbol with empty target.
* mmap/i386/pc/mmap_helper.S: Likewise.
* genmk.rb: Ignore errors 2030 and 2050.
* kern/i386/pc/startup.S: Use LOCAL when possible.
2010-03-27 00:04:14 +01:00
BVK Chaitanya
8d2977bb7a
fix for final semicolon bug
2010-03-26 23:57:06 +05:30
BVK Chaitanya
a7bd6915e1
testcase for blank lines in grub script
2010-03-26 23:41:46 +05:30
Vladimir 'phcoder' Serbinenko
e4ff66281a
Merge grub-file into mainline
2010-03-26 17:11:52 +01:00
Vladimir 'phcoder' Serbinenko
6a5cf6b696
Sunpc partitions support.
...
* conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
(grub_fstest_SOURCES): Likewise.
(pkglib_MODULES): Add part_sunpc.mod.
(part_sunpc_mod_SOURCES): New variable.
(part_sunpc_mod_CFLAGS): Likewise.
(part_sunpc_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
* partmap/sunpc.c: New file.
2010-03-26 16:40:41 +01:00
BVK Chaitanya
746d90457a
2010-01-12 BVK Chaitanya <bvk.groups@gmail.com>
...
For loop support to GRUB script.
* include/grub/script_sh.h (grub_script_cmdfor): New struct.
(grub_script_create_cmdfor): New function prototype.
(grub_script_execute_cmdfor): New function prototype.
* script/execute.c (grub_script_execute_cmdfor): New function.
* script/parser.y (command): New for command.
(forcmd): New grammar rule.
* script/script.c (grub_script_create_cmdfor): New function.
* util/grub-script-check.c (grub_script_execute_cmdfor): New
function.
2010-03-26 21:00:15 +05:30
Vladimir 'phcoder' Serbinenko
18486b18cd
Nested partitions
...
* commands/blocklist.c (grub_cmd_blocklist): Don't check whether
'partition' is NULL, grub_partition_get_start already does that.
* commands/loadenv.c (check_blocklists): Likewise.
(write_blocklists): Likewise.
* conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
(grub_fstest_SOURCES): Likewise.
(pkglib_MODULES): Add part_bsd.mod.
(part_bsd_mod_SOURCES): New variable.
(part_bsd_mod_CFLAGS): Likewise.
(part_bsd_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
(grub_emu_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* include/grub/bsdlabel.h: New file.
* include/grub/partition.h (grub_partition_map): Remove 'probe' and
'get_name'.
(grub_partition): Add 'parent' and 'number'. Remove 'data'.
(grub_partition_map_list): New variable.
(grub_partition_map_register): Inline.
(grub_partition_map_unregister): Likewise.
(FOR_PARTITION_MAPS): New macro.
(grub_partition_map_iterate): Removed.
(grub_partition_get_start): Handle nested partitions.
* include/grub/msdos_partition.h: Remove bsd-related entries.
(grub_pc_partition): Remove.
* kern/disk.c (grub_disk_close): Free partition data.
(grub_disk_adjust_range): Handle nested partitions.
* kern/partition.c (grub_partition_map_probe): New function.
(grub_partition_probe): Parse name to number, handle subpartitions.
(get_partmap): New function.
(grub_partition_iterate): Handle subpartitions.
(grub_partition_get_name): Likewise.
* loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
* loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
* loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
* partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
Set 'number'.
(acorn_partition_map_probe): Remove.
(acorn_partition_map_get_name): Likewise.
* partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
Set 'number'.
Set 'index' to 0 since there can be only one partition entry per sector.
(amiga_partition_map_probe): Remove.
(amiga_partition_map_get_name): Likewise.
* partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
Set 'number'.
Set 'offset' and 'index' to real positions of partitions.
(apple_partition_map_probe): Remove.
(apple_partition_map_get_name): Likewise.
* partmap/bsdlabel.c: New file.
* partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
Set 'number'.
Allocate 'data' so it can be correctly freed.
Set 'index' to offset inside sector.
(gpt_partition_map_probe): Remove.
(gpt_partition_map_get_name): Likewise.
* partmap/msdos.c (grub_partition_parse): Remove.
(pc_partition_map_iterate): Don't force raw access.
Set 'number'.
Make 'ext_offset' a local variable.
(pc_partition_map_probe): Remove.
(pc_partition_map_get_name): Remove.
* partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
Set 'number'.
(sun_partition_map_probe): Remove.
(sun_partition_map_get_name): Likewise.
* parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
(grub_pcpart_type): Likewise.
* util/hostdisk.c (open_device): Handle new numbering scheme.
(grub_util_biosdisk_get_grub_dev): Handle nested partitions.
* util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
* util/grub-probe.c (probe_partmap): Handle nested paritions.
* util/grub-install.in: Insert all subpartition modules.
* util/ieee1275/grub-install.in: Likewise.
2010-03-26 15:55:50 +01:00
Adrian Glaubitz
a3940f8874
* kern/dl.c (grub_dl_resolve_symbols): Improve error message
...
grammar.
2010-03-24 12:54:39 +00:00
21b9992685
* .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
2010-03-24 12:50:15 +00: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
Vladimir 'phcoder' Serbinenko
f84afb2775
* kern/parser.c: Indented.
2010-03-18 00:19:30 +01:00
Vladimir 'phcoder' Serbinenko
ed0e3d30cd
* term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
2010-03-17 08:22:45 +01:00
Vladimir 'phcoder' Serbinenko
0ea81d9845
* video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
...
alpha_mask_size == 0 case.
2010-03-17 00:16:11 +01:00
BVK Chaitanya
0cdc2a095b
2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
...
GRUB shell lexer and parser improvements.
* conf/any-emu.rmk: Build rule updates.
* conf/common.rmk: Likewise.
* conf/i386-coreboot.rmk: Likewise.
* conf/i386-efi.rmk: Likewise.
* conf/i386-ieee1275.rmk: Likewise.
* conf/i386-pc.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* configure.ac: Configure check for flex.
* include/grub/script_sh.h (grub_script_arg_type_t): More argument
types.
(grub_lexer_param): Struct member updates.
(grub_parser_param): Likewise.
(GRUB_LEXER_TOKEN_MAX): Maximum token size.
(GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
(grub_script_lexer_init): Prototype update.
(grub_script_lexer_record_start): Likewise.
(grub_script_lexer_record_stop): Likewise.
(grub_script_lexer_yywrap): New function prototype.
(grub_script_lexer_fini): Likewise.
(grub_script_execute_argument_to_string): Removed by...
(grub_script_execute_argument_to_argv): ...better version.
* script/execute.c (ROUND_UPTO): New macro.
(grub_script_execute_cmdline): Out of memory fixes.
(grub_script_execute_menuentry): Likewise.
(grub_script_execute_argument_to_string): Removed. Update all
users by...
(grub_script_execute_argument_to_argv): ...better version.
* script/function.c (grub_script_function_create): Use
grub_script_execute_argument_to_argv instead of
grub_script_execute_argument_to_string.
* script/lexer.c (check_varstate): Removed.
(check_textstate): Removed.
(grub_script_lexer_record_start): Likewise.
(grub_script_lexer_record_stop): Likewise.
(recordchar): Replaced with...
(grub_script_lexer_record): ...new function.
(nextchar): Removed.
(grub_script_lexer_init): Rewritten.
(grub_script_yylex): Rewritten.
(append_newline): New function.
(grub_script_lexer_yywrap): New function.
(grub_script_lexer_fini): New function.
(grub_script_yyerror): Sets error flag.
* script/yylex.l: New file.
(grub_lexer_yyfree): Wrapper for flex yyffre.
(grub_lexer_yyalloc): Likewise.
(grub_lexer_yyrealloc): Likewise.
* script/parser.y: Refactored.
* script/script.c (grub_script_arg_add): Out of memory fixes.
(grub_script_add_arglist): Likewise.
(grub_script_create_cmdline): Likewise.
(grub_script_create_cmdmenu): Likewise.
(grub_script_add_cmd): Likewise.
(grub_script_parse): Use grub_script_lexer_fini to deallocated.
* util/grub-script-check.c (grub_script_execute_menuentry): Remove
unnecessary code.
* tests/grub_script_echo1.in: New testcase.
* tests/grub_script_vars1.in: New testcase.
* tests/grub_script_echo_keywords.in: New testcase.
2010-03-14 22:37:17 +05:30
Vladimir 'phcoder' Serbinenko
1d63a066e2
Remove some redundancy in build system.
...
* Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
(TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
(TARGET_LDFLAGS): Add -nostdlib.
(TARGET_IMG_LDFLAGS): Likewise.
* commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
anything since mmap isn't available.
* conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
Add util/time.c.
(pkglib_MODULES): Remove reboot.mod.
(reboot_mod_SOURCES): Removed.
(reboot_mod_CFLAGS): Likewise.
(reboot_mod_LDFLAGS): Likewise.
* conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
(MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
(DEFSYMFILES): Add kernel_syms.lst.
(kernel_img_HEADERS): Add common headers.
(symlist.c): New target.
(kernel_syms.lst): Likewise.
(pkglib_MODULES): Add memdisk.mod.
(memdisk_mod_SOURCES): New variable.
(memdisk_mod_CFLAGS): Likewise.
(memdisk_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add reboot.mod.
(reboot_mod_SOURCES): New variable.
(reboot_mod_CFLAGS): Likewise.
(reboot_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add date.mod.
(date_mod_SOURCES): New variable.
(date_mod_CFLAGS): Likewise.
(date_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add datehook.mod.
(datehook_mod_SOURCES): New variable.
(datehook_mod_CFLAGS): Likewise.
(datehook_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add lsmmap.mod.
(lsmmap_mod_SOURCES): New variable.
(lsmmap_mod_CFLAGS): Likewise.
(lsmmap_mod_LDFLAGS): Likewise.
(pkglib_MODULES): Add boot.mod.
(boot_mod_SOURCES): New variable.
(boot_mod_CFLAGS): Likewise.
(boot_mod_LDFLAGS): Likewise.
* conf/i386-coreboot.rmk: Removed redundant parts.
* conf/i386-ieee1275.rmk: Likewise.
* conf/i386-pc.rmk: Likewise.
* conf/mips-yeeloong.rmk: Likewise.
* conf/mips.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/sparc64-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* conf/i386-coreboot.rmk: Moved qemu parts ..
* conf/i386-qemu.rmk: ... here
* conf/i386-efi.rmk: Moved common parts to...
* conf/x86-efi.rmk: ... here.
* conf/i386.rmk: Added modules common to all x86 variants.
* configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
* disk/memdisk.c: Remove grub/machine/kernel.h.
* gensymlist.sh.in: Include symbol.h.
* hook/datehook.c: Correct module name.
* include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
(grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
* include/grub/i386/efi/serial.h: New file.
* include/grub/x86_64/efi/serial.h: Likewise.
* util/time.c: Likewise.
* video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2010-03-14 17:17:49 +01:00
Colin King
463ac55fac
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.
Also-By: Colin Watson <cjwatson@ubuntu.com>
2010-03-14 15:47: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
Vladimir 'phcoder' Serbinenko
4a6d2d06db
Compile parts of grub-emu as modules.
...
* Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
(pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
(all-local): Add $(GRUB_EMU).
(install-local): Install $(GRUB_EMU).
(uninstall): Uninstall $(GRUB_EMU).
* commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
* kern/dl.c: Likewise.
* commands/sleep.c: Not include machine/time.h.
* conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
(COMMON_CFLAGS): Likewise.
(sbin_UTILITIES): Remove grub-emu.
(grub_emu_SOURCES): Removed.
(kernel_img_RELOCATABLE): New variable.
(pkglib_PROGRAMS): Add kernel.img.
(kernel_img_SOURCES): New variable
(kernel_img_CFLAGS): Likewise.
(kernel_img_LDFLAGS): Likewise.
(TARGET_NO_STRIP): Likewise.
(TARGET_NO_DYNAMIC_MODULES): Likewise.
(pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
(grub-emu): New target.
(GRUB_EMU): New variable.
* configure.ac: Whitelist -emu as possible x86_64 architecture.
* efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
* loader/xnu.c: Likewise.
* include/grub/pci.h: Likewise.
* genemuinit.sh: New file.
* genemuinitheader.sh: Likewise.
* genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
Support TARGET_NO_DYNAMIC_MODULES.
* include/grub/dl.h (GRUB_NO_MODULES): New variable.
* commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
* disk/loopback.c: Likewise.
* font/font_cmd.c: Likewise.
* partmap/acorn.c: Likewise.
* partmap/amiga.c: Likewise.
* partmap/apple.c: Likewise.
* partmap/gpt.c: Likewise.
* partmap/msdos.c: Likewise.
* partmap/sun.c: Likewise.
* parttool/msdospart.c: Likewise.
* term/gfxterm.c: Likewise.
* video/bitmap.c: Likewise.
* video/readers/jpeg.c: Likewise.
* video/readers/png.c: Likewise.
* video/readers/tga.c: Likewise.
* video/video.c: Likewise.
* util/grub-emu.c (read_command_list): Removed.
(main): Don't call util_init_nls.
* util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
(grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2010-03-14 16:29:52 +01:00
Vladimir 'phcoder' Serbinenko
91fdd2ed34
* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
...
date.mod, datehook.mod.
(datetime_mod_SOURCES): New variable.
(datetime_mod_CFLAGS): Likewise.
(datetime_mod_LDFLAGS): Likewise.
(date_mod_SOURCES): Likewise.
(date_mod_CFLAGS): Likewise.
(date_mod_LDFLAGS): Likewise.
(datehook_mod_SOURCES): Likewise.
(datehook_mod_CFLAGS): Likewise.
(datehook_mod_LDFLAGS): Likewise.
* conf/sparc64-ieee1275.rmk: Likewise.
* lib/ieee1275/datetime.c: New file.
2010-03-14 15:51:08 +01:00
Vladimir 'phcoder' Serbinenko
873ccae6c2
2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
...
* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
(ieee1275_fb_mod_SOURCES): New variable.
(ieee1275_fb_mod_CFLAGS): Likewise.
(ieee1275_fb_mod_LDFLAGS): Likewise.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
New proto.
* kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
(HEAP_MAX_ADDR): Likewise.
* kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
type.
Correct stop condition.
(grub_ieee1275_devices_iterate): New function.
* video/ieee1275.c: New file.
2010-03-14 15:49:07 +01:00
Vladimir 'phcoder' Serbinenko
601c97c035
Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
...
* boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
as scratch.
* boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
SCRATCH_PAD_DISKBOOT as scratch.
(bootit): Pass Openfirmware pointer in %o4.
* conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
of 0x200000.
(grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
with util/grub-mkrawimage.c.
* configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
* include/grub/aout.h (AOUT_MID_SUN): New definition.
(grub_aout_get_type) [GRUB_UTIL]: Removed.
(grub_aout_load) [GRUB_UTIL]: Likewise.
* include/grub/kernel.h (grub_modules_get_end): New proto.
* include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
(SCRATCH_PAD_BOOT): New definition.
(SCRATCH_PAD_DISKBOOT): Likewise.
(GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
* include/grub/sparc64/ieee1275/ieee1275.h
(grub_ieee1275_original_stack): New variable
* include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
New definition
(GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
(GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
(GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
(GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
(GRUB_PLATFORM_IMAGE_RAW): Likewise.
(GRUB_PLATFORM_IMAGE_AOUT): Likewise.
(grub_platform_image_format_t): New type.
* kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
* kern/main.c (grub_modules_get_end)
[GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
* kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
(codestart): Switch stacks.
* kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
variable.
(grub_heap_init): Use grub_modules_get_end.
* loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
stack.
* util/grub-mkrawimage.c (generate_image): Support sparc64.
(main): Likewise.
* util/sparc64/ieee1275/grub-mkimage.c: Removed.
2010-03-14 15:38:17 +01:00
Thorsten Glaser
d68b491ee2
* util/grub-mkrescue.in: Base ISO UUID on UTC.
2010-03-14 13:48:55 +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
1f15fc1e0a
2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
...
* genmoddep.awk: Output all missing symbols and not only first.
2010-03-07 23:02:13 +01:00
Vladimir 'phcoder' Serbinenko
fce5d8ff62
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
...
* NEWS: Put the date of 1.98 release.
2010-03-06 21:49:59 +01:00
Vladimir 'phcoder' Serbinenko
d1e8a02f11
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
...
* configure.ac: Update CPPFLAGS and not CFLAGS when checking for
ft2build.h.
2010-03-06 21:27:04 +01:00
Vladimir 'phcoder' Serbinenko
696fd607c6
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
...
* normal/cmdline.c (grub_cmdline_get): Fix gabled line after
completition in the middle of string.
2010-03-06 17:48:15 +01:00
Vladimir 'phcoder' Serbinenko
33e2e6f373
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
...
* util/grub-mkrescue.in: Use mktemp with explicit template.
2010-03-06 17:28:25 +01:00
Vladimir 'phcoder' Serbinenko
b1f6d291ad
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
...
* loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2010-03-06 17:27:28 +01:00
Vladimir 'phcoder' Serbinenko
2ac227c7f4
2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
...
* loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
right pointer.
2010-03-06 17:25:40 +01:00
Vladimir 'phcoder' Serbinenko
8f9a632b96
2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
...
Fix FreeBSD compilation.
* Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
* configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2010-03-06 17:22:04 +01:00
Vladimir 'phcoder' Serbinenko
60b03859e8
2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
...
* util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2010-03-05 15:38:04 +01:00
Vladimir 'phcoder' Serbinenko
48a5a769a2
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
...
* gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2010-03-05 15:30:44 +01:00
Vladimir 'phcoder' Serbinenko
3ab4bd77dd
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
...
* disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2010-03-05 15:29:28 +01:00
Robert Millan
d116e0d8d1
2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
...
Support relative image path in theme file.
* gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
(image_set_property): Handle theme_dir and relative path.
2010-03-04 23:16:34 +01:00
Vladimir 'phcoder' Serbinenko
c7ef54aab1
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
...
* configure.ac: Alias amd64 to x86_64.
2010-03-04 22:33:49 +01:00
Vladimir 'phcoder' Serbinenko
fcee14ed5f
2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
...
* NEWS: mention multiboot on EFI.
2010-03-04 21:35:36 +01:00