Merge mainline.
This commit is contained in:
commit
90eb90e24c
263 changed files with 5295 additions and 865 deletions
|
@ -133,3 +133,5 @@ grub-core/gnulib/wctype.h
|
|||
grub-core/rs_decoder.S
|
||||
widthspec.bin
|
||||
widthspec.h
|
||||
docs/stamp-1
|
||||
docs/version-dev.texi
|
||||
|
|
605
ChangeLog
605
ChangeLog
|
@ -1,3 +1,608 @@
|
|||
2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
|
||||
(devpath_1): Use MAKE_PIWG_PATH.
|
||||
(devpath_2): Likewise.
|
||||
(devpath_3): Likewise.
|
||||
(devpath_4): Likewise.
|
||||
(devpath_5): Likewise.
|
||||
(devpath_6): Likewise.
|
||||
|
||||
The appleldr.mod was checked that to be binary identical to previous
|
||||
version.
|
||||
|
||||
2011-05-05 Zach <mikezackles>
|
||||
|
||||
Support 2010 Macbooks.
|
||||
|
||||
* grub-core/loader/efi/appleloader.c (devpath_6): New variable.
|
||||
(devs): Add devpath_6.
|
||||
|
||||
2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
|
||||
/dev/random. /dev/urandom is good enough for our purposes (salting).
|
||||
|
||||
2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
|
||||
|
||||
2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
|
||||
hexadecimal.
|
||||
|
||||
2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
|
||||
and not 0 on failure.
|
||||
|
||||
2011-05-03 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
|
||||
GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
|
||||
disk; otherwise grub_fs_probe will not fall back to the next
|
||||
filesystem.
|
||||
(grub_pxefs_open): Likewise, for consistency.
|
||||
Reported and tested by: Ezekiel Grave.
|
||||
|
||||
2011-05-03 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* tests/partmap_test.in: Don't hardcode path to parted.
|
||||
Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
|
||||
|
||||
2011-05-01 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
|
||||
of `ls' to find out which devices are available.
|
||||
|
||||
2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
|
||||
than source address for efi mmap buffer.
|
||||
|
||||
2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
|
||||
wrong action on non-detecting the magic.
|
||||
|
||||
2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
|
||||
already supplied by another part of the module (fixes compilation on
|
||||
FreeBSD).
|
||||
|
||||
2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
|
||||
match the one used by mdadm.
|
||||
|
||||
2011-04-21 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* po/README: Add instructions for creating po/LINGUAS.
|
||||
|
||||
2011-04-21 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
Add "SEE ALSO" sections to most man pages. Fixes Debian bug
|
||||
#551428.
|
||||
|
||||
* docs/man/grub-editenv.h2m (SEE ALSO): New section.
|
||||
* docs/man/grub-emu.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-install.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-probe.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
|
||||
* docs/man/grub-setup.h2m (SEE ALSO): Likewise.
|
||||
|
||||
2011-04-21 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/kern/emu/getroot.c
|
||||
(grub_find_root_device_from_mountinfo): Remove non-virtual-device
|
||||
test that was incorrectly reintroduced in r3214.
|
||||
Reported by: Ian Dall. Fixes Savannah bug #33133.
|
||||
|
||||
2011-04-21 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
Fix stack pointer handling in 16-bit relocator.
|
||||
|
||||
* grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
|
||||
grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
|
||||
Fixes Ubuntu bug #683904.
|
||||
|
||||
2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* configure.ac: Bump version to 1.99~rc2.
|
||||
|
||||
2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* include/grub/dl.h [ASM_FILE]: Adapt for assembly.
|
||||
* grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
|
||||
* grub-core/lib/x86_64/setjmp.S: Likewise.
|
||||
* grub-core/lib/mips/setjmp.S: Likewise.
|
||||
* grub-core/lib/powerpc/setjmp.S: Likewise.
|
||||
* grub-core/lib/sparc64/setjmp.S: Likewise.
|
||||
|
||||
2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
|
||||
* grub-core/lib/efi/datetime.c: Likewise.
|
||||
|
||||
2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
|
||||
New function.
|
||||
(grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
|
||||
* include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
|
||||
* util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
|
||||
|
||||
2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
|
||||
bitmap.
|
||||
(grub_gfxterm_term_init): Likewise.
|
||||
|
||||
2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Take into account the decorations the computing menu entry width.
|
||||
|
||||
* grub-core/gfxmenu/widget-box.c (get_border_width): New function.
|
||||
(grub_gfxmenu_create_box): Register get_border_width.
|
||||
* grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
|
||||
if available.
|
||||
* include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
|
||||
get_border_width.
|
||||
|
||||
2011-04-18 Endres Puschner <code@e7p.de>
|
||||
|
||||
* grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
|
||||
Don't skip first class.
|
||||
|
||||
2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
|
||||
chunks.
|
||||
* include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
|
||||
|
||||
2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Complete 64-bit division support.
|
||||
|
||||
* grub-core/kern/misc.c (grub_divmod64): Rename to ...
|
||||
(grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
|
||||
* include/grub/misc.h (grub_divmod64): Rename to ...
|
||||
(grub_divmod64_full): ... this.
|
||||
(grub_divmod64): New inline function.
|
||||
|
||||
2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub-mkimage.c (generate_image): Add forgotten comma.
|
||||
|
||||
2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub-mkimage.c (generate_image): Update fwstart.img hash after
|
||||
performing the necessary test.
|
||||
|
||||
2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
|
||||
(kfreebsd.elf): Likewise.
|
||||
(pc-chainloader.elf): Likewise.
|
||||
(ntldr.elf): Likewise.
|
||||
|
||||
2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Identify RAID by its UUID rather than (guessed) name.
|
||||
|
||||
* grub-core/disk/raid.c (ascii2hex): New function.
|
||||
(grub_raid_open): Accept mduuid/%s specification.
|
||||
* grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
|
||||
(get_mdadm_uuid): ... this.
|
||||
(grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
|
||||
|
||||
2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
|
||||
to negative size.
|
||||
|
||||
2011-04-13 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
|
||||
btrfs subvolume.
|
||||
* util/grub.d/20_linux_xen.in: Likewise.
|
||||
|
||||
2011-04-13 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
|
||||
move-mounts appearing out of order. Fixes Ubuntu bug #738345.
|
||||
|
||||
* grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
|
||||
Build a list of relevant visible mounts using the mnt_id and
|
||||
parent_mnt_id fields, and then scan that list at the end.
|
||||
|
||||
2011-04-12 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* docs/grub.texi (normal): New section.
|
||||
(normal_exit): New section.
|
||||
(Embedded configuration): Add reference to normal.
|
||||
(GRUB only offers a rescue shell): Likewise.
|
||||
* docs/grub-dev.texi (Error Handling): Fix typo.
|
||||
|
||||
2011-04-12 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* NEWS: Drop obsolete entry about probe-only btrfs support.
|
||||
|
||||
2011-04-12 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* util/import_gcry.py: Fix typo.
|
||||
|
||||
2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* NEWS: Add btrfs support.
|
||||
|
||||
2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
2011-04-11 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
BtrFS support. Written by me (Vladimir) with important bugfixes and
|
||||
even more important testing by Colin.
|
||||
|
||||
* Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
|
||||
* grub-core/Makefile.core.def (btrfs): Add crc.c.
|
||||
* grub-core/fs/btrfs.c: Stub replaced with real implementation.
|
||||
* grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
|
||||
mem_input_off and mem_input. All users updated to accept in-RAM input.
|
||||
(gzio_seek): New function.
|
||||
(test_zlib_header): Likewise.
|
||||
(grub_gzio_read): Likewise.
|
||||
(grub_zlib_decompress): Likewise.
|
||||
* grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
|
||||
Accept partial and non-virtual mounts.
|
||||
(grub_guess_root_device): Do rescanning after device_from_mountinfo to
|
||||
avoid receiving /dev/dm-X as device.
|
||||
* grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
|
||||
Handle bind and partial mounts.
|
||||
* grub-core/lib/crc.c: New file.
|
||||
* include/grub/deflate.h: Likewise.
|
||||
* include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
|
||||
proto.
|
||||
* include/grub/lib/crc.h: New file.
|
||||
|
||||
2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Implement automatic module license checking according to new GNU
|
||||
guidelines.
|
||||
|
||||
* grub-core/kern/dl.c (grub_dl_check_license): New function.
|
||||
(grub_dl_load_core): Use grub_dl_check_license.
|
||||
* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
|
||||
(GRUB_MOD_LICENSE): Likewise.
|
||||
(GRUB_MOD_DUAL_LICENSE): Likewise.
|
||||
All modules updated.
|
||||
|
||||
2011-04-11 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
|
||||
reserved_first_sector to 1. btrfs reserves plenty of space for boot
|
||||
loaders.
|
||||
Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
|
||||
|
||||
2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub-fstest.c (cmd_cmp): Check that sizes match.
|
||||
|
||||
2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub-fstest.c (read_file): Report GRUB error if file opening
|
||||
failed.
|
||||
|
||||
2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/kern/file.c (grub_file_open): Don't take into account the
|
||||
parenthesis in the middle of the filename.
|
||||
|
||||
2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
|
||||
rather than trying to put initrd way too high.
|
||||
Reported by: Ryan Lortie <desrt@desrt.ca>
|
||||
|
||||
2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
|
||||
improperly removed string.
|
||||
|
||||
2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
|
||||
is_disk.
|
||||
(grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
|
||||
(open_device) Likewise.
|
||||
(grub_util_biosdisk_close): Likewise.
|
||||
Reported by: Mark Korenberger.
|
||||
|
||||
2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
|
||||
|
||||
* util/grub-mkconfig_lib.in: Add missing quotes.
|
||||
|
||||
2011-04-10 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
|
||||
is NULL.
|
||||
|
||||
2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Dynamically count the number of lines for the lower banner.
|
||||
|
||||
* grub-core/normal/menu_entry.c (per_term_screen): New member
|
||||
num_entries.
|
||||
(print_down): Use num_entries.
|
||||
(update_screen): Likewise.
|
||||
(grub_menu_entry_run): Set num_entries.
|
||||
* grub-core/normal/menu_text.c (menu_viewer_data): New member
|
||||
num_entries.
|
||||
(grub_print_message_indented): Move real part to ...
|
||||
(grub_print_message_indented_real): ... here. Additional argument
|
||||
dry_run.
|
||||
(draw_border): Additional argument num_entries.
|
||||
(print_message): Additional argument dry_run.
|
||||
(print_entries): Receive menu viewer data.
|
||||
(grub_menu_init_page): New argment num_entries.
|
||||
(menu_text_set_chosen_entry): Use num_entries.
|
||||
(grub_menu_try_text): Likewise.
|
||||
* grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
|
||||
All users updated.
|
||||
(grub_ucs4_count_lines): New function.
|
||||
* include/grub/term.h (grub_term_cursor_x): Moved from here ..
|
||||
* grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
|
||||
* include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
|
||||
(grub_term_border_height): Likewise.
|
||||
(grub_term_num_entries): Likewise.
|
||||
|
||||
2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
|
||||
Remove now unused string.
|
||||
|
||||
2011-04-09 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* docs/grub-dev.texi (Finding your way around): Update for 1.99
|
||||
build system.
|
||||
(Getting started): GRUB is developed in Bazaar now, not Subversion.
|
||||
|
||||
(Comment): Fix typo.
|
||||
(Getting started): General copy-editing.
|
||||
(Typical Development Experience): Likewise.
|
||||
(Error Handling): Likewise.
|
||||
(Video API): Likewise.
|
||||
|
||||
2011-04-09 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
|
||||
throughout.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub-mkimage.c (main): Handle special naming of yeeloong
|
||||
directory.
|
||||
|
||||
2011-04-08 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* docs/grub-dev.texi: Fix spelling of "developer" throughout.
|
||||
* grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
|
||||
"development".
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
|
||||
grub_strcpy since the lines aren't necessarily 0-terminated.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
|
||||
root on legacy.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/commands/probe.c (options): Argument to set isn't optional.
|
||||
(GRUB_MOD_INIT): DEVICE isn't optional.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
|
||||
word on new line if it's too long anyway. Fixes a hang.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
|
||||
const.
|
||||
* util/grub-setup.c (main): Reuse md device name if available.
|
||||
* util/raid.c (grub_util_raid_getmembers): Receive device name and
|
||||
not GRUB name as argument.
|
||||
Based on patch by: Florian Wagner <fwagner>.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
|
||||
Place mbi on low memory for better compatibility.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
2011-04-08 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* autogen.sh: Ensure that collate and ctype locale is C.
|
||||
* conf/Makefile.common: Likewise.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/normal/menu.c: Add missing include.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
|
||||
|
||||
2011-04-08 Martin Zuther <mzuther@mzuther.de>
|
||||
|
||||
* util/grub-mkconfig.in: Ignore emacsen backup.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
|
||||
on open.
|
||||
(grub_util_biosdisk_close): Likewise.
|
||||
|
||||
2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
|
||||
const attribute and use grub_isdigit.
|
||||
|
||||
2011-04-06 Andrey <dev_null@ukr.net>
|
||||
|
||||
* grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
|
||||
gcc warning.
|
||||
|
||||
2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
|
||||
useful grub_dprintf's.
|
||||
|
||||
2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
|
||||
|
||||
2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub.d/00_header.in: Don't use LANG unless unifont is available.
|
||||
|
||||
2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Output errors if theme loading failed.
|
||||
|
||||
* grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
|
||||
grub_gfxterm_fullscreen on error paths to ...
|
||||
* grub-core/normal/menu.c (menu_init): ...here. Wait after showing
|
||||
theme loading error.
|
||||
|
||||
2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
|
||||
space for older compilers.
|
||||
(GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
|
||||
|
||||
2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
|
||||
and report them as not RAID members since they are useless for GRUB.
|
||||
* grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
|
||||
|
||||
2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Increase LVM implementation robustness in order not to crash on
|
||||
configurations like pvmove. Previously code assumed that in some places
|
||||
only lvs or only pvs are used whereas it seems that they are used
|
||||
interchangeably.
|
||||
|
||||
* grub-core/disk/lvm.c (read_node): New function.
|
||||
(read_lv): Use read_node.
|
||||
(grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
|
||||
Match volumes only at the end when all lvs are found. Take both
|
||||
pvs (first) and lvs (second) into account.
|
||||
* include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
|
||||
mirror_* into node_*. All users updated.
|
||||
(grub_lvm_stripe): Merge this ...
|
||||
(grub_lvm_mirror): ... and this ...
|
||||
(grub_lvm_node): ... into this. All users updated.
|
||||
|
||||
2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
|
||||
of function to allow further scanning for LVMs.
|
||||
|
||||
2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
|
||||
on failed seek as it breaks open fd reusage.
|
||||
|
||||
2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* util/grub-install.in: Add a recommendation to use --recheck before
|
||||
reporting bugs.
|
||||
|
||||
2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* docs/grub.texi (Vendor power-on buttons): Explain how the numbers
|
||||
are obtained.
|
||||
|
||||
2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
GRUB developper manual based on existing Internals section and
|
||||
contributions by the various authors with active copyright assignment.
|
||||
|
||||
* docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
|
||||
* docs/font_char_metrics.png: New file.
|
||||
* docs/font_char_metrics.txt: Likewise.
|
||||
* docs/grub-dev.texi: Likewise.
|
||||
* docs/grub.texi (Internals): Move from here ...
|
||||
* docs/grub-dev.texi: ... here.
|
||||
|
||||
2011-04-01 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
Store the loopback device as data on loopback grub_disk structures,
|
||||
rather than the file it points to. This fixes use of freed memory
|
||||
if an existing loopback device is replaced.
|
||||
|
||||
* grub-core/disk/loopback.c (grub_loopback_open): Store dev in
|
||||
disk->data, not dev->file.
|
||||
(grub_loopback_read): Adjust file assignment to match.
|
||||
Fixes Ubuntu bug #742967.
|
||||
|
||||
2011-04-01 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
|
||||
when replacing an existing device.
|
||||
|
||||
2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
|
||||
memory corruptions.
|
||||
|
||||
* grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
|
||||
unsigned.
|
||||
(grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
|
||||
(grub_jfs_blkno): Use 64-bit quantities for block sectors.
|
||||
(grub_jfs_read_inode): Likewise.
|
||||
(grub_jfs_opendir): Likewise. Remove now useless casts.
|
||||
(grub_jfs_getent): Likewise.
|
||||
Make ino a grub_uint32_t rather than int.
|
||||
(grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
|
||||
(grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
|
||||
division and module with bit operations.
|
||||
(grub_jfs_find_file): Make ino a grub_uint32_t.
|
||||
(grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
|
||||
|
||||
2011-04-01 Colin Watson <cjwatson@ubuntu.com>
|
||||
|
||||
* grub-core/normal/menu_entry.c (run): Quieten uninitialised
|
||||
warning. (This was in fact always initialised before use, but GCC
|
||||
wasn't smart enough to prove that.)
|
||||
* grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
|
||||
|
||||
2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
|
||||
|
|
10
Makefile.am
10
Makefile.am
|
@ -147,28 +147,28 @@ linux.init.i386: $(srcdir)/grub-core/tests/boot/linux.init-i386.S
|
|||
$(TARGET_CC) -o $@ $< -m32 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
|
||||
|
||||
multiboot.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
||||
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -DTARGET_MULTIBOOT=1 -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
|
||||
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -DTARGET_MULTIBOOT=1 -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
|
||||
|
||||
kfreebsd.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
||||
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
|
||||
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
|
||||
|
||||
kfreebsd.aout: kfreebsd.elf
|
||||
$(OBJCOPY) -O a.out-i386-linux $< $@ -R .note.gnu.build-id
|
||||
|
||||
pc-chainloader.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S
|
||||
$(TARGET_CC) -o $@ $< -DTARGET_CHAINLOADER=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,-N -Wl,-Ttext,0x7c00 -m32
|
||||
$(TARGET_CC) -o $@ $< -DTARGET_CHAINLOADER=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x7c00 -m32
|
||||
|
||||
pc-chainloader.bin: pc-chainloader.elf
|
||||
$(OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn $< $@;
|
||||
|
||||
ntldr.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S
|
||||
$(TARGET_CC) -o $@ $< -DTARGET_NTLDR=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,-N -Wl,-Ttext,0 -m32
|
||||
$(TARGET_CC) -o $@ $< -DTARGET_NTLDR=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0 -m32
|
||||
|
||||
ntldr.bin: ntldr.elf
|
||||
$(OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn $< $@;
|
||||
|
||||
multiboot2.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
||||
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include -DTARGET_MULTIBOOT2=1
|
||||
$(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include -DTARGET_MULTIBOOT2=1
|
||||
|
||||
kfreebsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kfreebsd.init-x86_64.S
|
||||
$(TARGET_CC) -o $@ $< -m64 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
|
||||
|
|
|
@ -85,6 +85,7 @@ library = {
|
|||
common = grub-core/lib/LzFind.c;
|
||||
common = grub-core/lib/LzmaEnc.c;
|
||||
common = grub-core/lib/pbkdf2.c;
|
||||
common = grub-core/lib/crc.c;
|
||||
common = grub-core/normal/datetime.c;
|
||||
common = grub-core/normal/misc.c;
|
||||
common = grub-core/partmap/acorn.c;
|
||||
|
@ -100,6 +101,7 @@ library = {
|
|||
common = grub-core/script/main.c;
|
||||
common = grub-core/script/script.c;
|
||||
common = grub-core/script/argv.c;
|
||||
common = grub-core/io/gzio.c;
|
||||
};
|
||||
|
||||
program = {
|
||||
|
|
6
NEWS
6
NEWS
|
@ -29,7 +29,7 @@ New in 1.99:
|
|||
|
||||
* New `lsacpi' command.
|
||||
|
||||
* Basic btrfs support (detection and UUID).
|
||||
* Btrfs support.
|
||||
|
||||
* New `--boot-directory' option to `grub-install', `grub-reboot', and
|
||||
`grub-set-default', with clearer semantics than the previous
|
||||
|
@ -83,10 +83,6 @@ New in 1.99:
|
|||
|
||||
* Extensive updates to the Texinfo documentation.
|
||||
|
||||
* Add `grub-probe' support for the btrfs filesystem, permitting / to
|
||||
reside on btrfs as long as /boot is on a filesystem natively supported
|
||||
by GRUB.
|
||||
|
||||
* Handle symbolic links under /dev/mapper on GNU/Linux.
|
||||
|
||||
* Handle installation across multiple partition table types.
|
||||
|
|
|
@ -2,6 +2,10 @@
|
|||
|
||||
set -e
|
||||
|
||||
export LC_CTYPE=C
|
||||
export LC_COLLATE=C
|
||||
unset LC_ALL
|
||||
|
||||
autogen --version >/dev/null || exit 1
|
||||
|
||||
echo "Importing unicode..."
|
||||
|
|
|
@ -2,6 +2,10 @@
|
|||
|
||||
CFLAGS_PLATFORM=
|
||||
|
||||
export LC_COLLATE := C
|
||||
export LC_CTYPE := C
|
||||
unexport LC_ALL
|
||||
|
||||
# Platform specific options
|
||||
if COND_i386_pc
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||
|
|
|
@ -32,7 +32,7 @@ dnl type, so there is no conflict. Variables with the prefix "TARGET_"
|
|||
dnl (such as TARGET_CC, TARGET_CFLAGS, etc.) are used for the target
|
||||
dnl type.
|
||||
|
||||
AC_INIT([GRUB],[1.99~rc1],[bug-grub@gnu.org])
|
||||
AC_INIT([GRUB],[1.99~rc2],[bug-grub@gnu.org])
|
||||
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
AUTOMAKE_OPTIONS = subdir-objects
|
||||
|
||||
# AM_MAKEINFOFLAGS = --no-split --no-validate
|
||||
info_TEXINFOS = grub.texi
|
||||
info_TEXINFOS = grub.texi grub-dev.texi
|
||||
grub_TEXINFOS = fdl.texi
|
||||
|
||||
|
||||
|
|
BIN
docs/font_char_metrics.png
Normal file
BIN
docs/font_char_metrics.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
1
docs/font_char_metrics.txt
Normal file
1
docs/font_char_metrics.txt
Normal file
|
@ -0,0 +1 @@
|
|||
Please fill this in.
|
1533
docs/grub-dev.texi
Normal file
1533
docs/grub-dev.texi
Normal file
File diff suppressed because it is too large
Load diff
194
docs/grub.texi
194
docs/grub.texi
|
@ -100,7 +100,6 @@ This edition documents version @value{VERSION}.
|
|||
* Obtaining and Building GRUB:: How to obtain and build GRUB
|
||||
* Reporting bugs:: Where you should send a bug report
|
||||
* Future:: Some future plans on GRUB
|
||||
* Internals:: Hacking GRUB
|
||||
* Copying This Manual:: Copying This Manual
|
||||
* Index::
|
||||
@end menu
|
||||
|
@ -1487,14 +1486,14 @@ reside anywhere on the file system, and may be removed after running
|
|||
@command{grub-mkimage}.
|
||||
|
||||
After the embedded configuration file (if any) is executed, GRUB will load
|
||||
the @samp{normal} module, which will then read the real configuration file
|
||||
from @file{$prefix/grub.cfg}. By this point, the @code{root} variable will
|
||||
also have been set to the root device name. For example, @code{prefix}
|
||||
might be set to @samp{(hd0,1)/boot/grub}, and @code{root} might be set to
|
||||
@samp{hd0,1}. Thus, in most cases, the embedded configuration file only
|
||||
needs to set the @code{prefix} and @code{root} variables, and then drop
|
||||
through to GRUB's normal processing. A typical example of this might look
|
||||
like this:
|
||||
the @samp{normal} module (@pxref{normal}), which will then read the real
|
||||
configuration file from @file{$prefix/grub.cfg}. By this point, the
|
||||
@code{root} variable will also have been set to the root device name. For
|
||||
example, @code{prefix} might be set to @samp{(hd0,1)/boot/grub}, and
|
||||
@code{root} might be set to @samp{hd0,1}. Thus, in most cases, the embedded
|
||||
configuration file only needs to set the @code{prefix} and @code{root}
|
||||
variables, and then drop through to GRUB's normal processing. A typical
|
||||
example of this might look like this:
|
||||
|
||||
@example
|
||||
@group
|
||||
|
@ -2050,6 +2049,44 @@ model-specific. Values known to the GRUB team are:
|
|||
To take full advantage of this function, install GRUB into the MBR
|
||||
(@pxref{Installing GRUB using grub-install}).
|
||||
|
||||
If you have a laptop which has a similar feature and not in the above list
|
||||
could you figure your address and contribute?
|
||||
To discover the address do the following:
|
||||
@itemize
|
||||
@item boot normally
|
||||
@item
|
||||
@example
|
||||
sudo modprobe nvram
|
||||
sudo cat /dev/nvram | xxd > normal_button.txt
|
||||
@end example
|
||||
@item boot using vendor button
|
||||
@item
|
||||
@example
|
||||
sudo modprobe nvram
|
||||
sudo cat /dev/nvram | xxd > normal_vendor.txt
|
||||
@end example
|
||||
@end itemize
|
||||
|
||||
Then compare these text files and find where a bit was toggled. E.g. in
|
||||
case of Dell XPS it was:
|
||||
@example
|
||||
byte 0x47: 20 --> 28
|
||||
@end example
|
||||
It's a bit number 3 as seen from following table:
|
||||
@multitable @columnfractions .2 .2
|
||||
@item 0 @tab 01
|
||||
@item 1 @tab 02
|
||||
@item 2 @tab 04
|
||||
@item 3 @tab 08
|
||||
@item 4 @tab 10
|
||||
@item 5 @tab 20
|
||||
@item 6 @tab 40
|
||||
@item 7 @tab 80
|
||||
@end multitable
|
||||
|
||||
0x47 is decimal 71. Linux nvram implementation cuts first 14 bytes of
|
||||
CMOS. So the real byte address in CMOS is 71+14=85
|
||||
So complete address is 85:3
|
||||
|
||||
@node Images
|
||||
@chapter GRUB image files
|
||||
|
@ -3052,6 +3089,8 @@ you forget a command, you can run the command @command{help}
|
|||
* load_env:: Load variables from environment block
|
||||
* loopback:: Make a device from a filesystem image
|
||||
* ls:: List devices or files
|
||||
* normal:: Enter normal mode
|
||||
* normal_exit:: Exit from normal mode
|
||||
* parttool:: Modify partition table entries
|
||||
* password:: Set a clear-text password
|
||||
* password_pbkdf2:: Set a hashed password
|
||||
|
@ -3508,6 +3547,34 @@ name syntax}), then list the contents of that directory.
|
|||
@end deffn
|
||||
|
||||
|
||||
@node normal
|
||||
@subsection normal
|
||||
|
||||
@deffn Command normal [file]
|
||||
Enter normal mode and display the GRUB menu.
|
||||
|
||||
In normal mode, commands, filesystem modules, and cryptography modules are
|
||||
automatically loaded, and the full GRUB script parser is available. Other
|
||||
modules may be explicitly loaded using @command{insmod} (@pxref{insmod}).
|
||||
|
||||
If a @var{file} is given, then commands will be read from that file.
|
||||
Otherwise, they will be read from @file{$prefix/grub.cfg} if it exists.
|
||||
|
||||
@command{normal} may be called from within normal mode, creating a nested
|
||||
environment. It is more usual to use @command{configfile}
|
||||
(@pxref{configfile}) for this.
|
||||
@end deffn
|
||||
|
||||
|
||||
@node normal_exit
|
||||
@subsection normal_exit
|
||||
|
||||
@deffn Command normal_exit
|
||||
Exit normal mode (@pxref{normal}). If this instance of normal mode was not
|
||||
nested within another one, then return to rescue mode.
|
||||
@end deffn
|
||||
|
||||
|
||||
@node parttool
|
||||
@subsection parttool
|
||||
|
||||
|
@ -4045,7 +4112,7 @@ GRUB's normal start-up procedure involves setting the @samp{prefix}
|
|||
environment variable to a value set in the core image by
|
||||
@command{grub-install}, setting the @samp{root} variable to match, loading
|
||||
the @samp{normal} module from the prefix, and running the @samp{normal}
|
||||
command. This command is responsible for reading
|
||||
command (@pxref{normal}). This command is responsible for reading
|
||||
@file{/boot/grub/grub.cfg}, running the menu, and doing all the useful
|
||||
things GRUB is supposed to do.
|
||||
|
||||
|
@ -4060,6 +4127,8 @@ device), then you can correct this and enter normal mode manually:
|
|||
@group
|
||||
# Inspect the current prefix (and other preset variables):
|
||||
set
|
||||
# Find out which devices are available:
|
||||
ls
|
||||
# Set to the correct value, which might be something like this:
|
||||
set prefix=(hd0,1)/grub
|
||||
set root=(hd0,1)
|
||||
|
@ -4374,111 +4443,6 @@ If you are interested in the development of GRUB 2, take a look at
|
|||
@uref{http://www.gnu.org/software/grub/grub.html, the homepage}.
|
||||
|
||||
|
||||
@node Internals
|
||||
@appendix Hacking GRUB
|
||||
|
||||
@menu
|
||||
* Getting the source code::
|
||||
* Finding your way around::
|
||||
@end menu
|
||||
|
||||
|
||||
@node Getting the source code
|
||||
@section Getting the source code
|
||||
|
||||
GRUB is maintained using the @uref{http://bazaar-vcs.org/, Bazaar revision
|
||||
control system}. To fetch the primary development branch:
|
||||
|
||||
@example
|
||||
bzr get http://bzr.savannah.gnu.org/r/grub/trunk/grub
|
||||
@end example
|
||||
|
||||
The GRUB developers maintain several other branches with work in progress.
|
||||
Of these, the most interesting is the experimental branch, which is a
|
||||
staging area for new code which we expect to eventually merge into trunk but
|
||||
which is not yet ready:
|
||||
|
||||
@example
|
||||
bzr get http://bzr.savannah.gnu.org/r/grub/branches/experimental
|
||||
@end example
|
||||
|
||||
Once you have used @kbd{bzr get} to fetch an initial copy of a branch, you
|
||||
can use @kbd{bzr pull} to keep it up to date. If you have modified your
|
||||
local version, you may need to resolve conflicts when pulling.
|
||||
|
||||
|
||||
@node Finding your way around
|
||||
@section Finding your way around
|
||||
|
||||
Here is a brief map of the GRUB code base.
|
||||
|
||||
GRUB uses Autoconf, but not (yet) Automake. The top-level build rules are
|
||||
in @file{configure.ac}, @file{Makefile.in}, and @file{conf/*.rmk}. Each
|
||||
@file{conf/*.rmk} file represents a particular target configuration, and is
|
||||
processed into GNU Make rules by @file{genmk.rb} (which you only need to
|
||||
look at if you are extending the build system). If you are adding a new
|
||||
module which follows an existing pattern, such as a new command or a new
|
||||
filesystem implementation, it is usually easiest to grep @file{conf/*.rmk}
|
||||
for an existing example of that pattern to find out where it should be
|
||||
added.
|
||||
|
||||
Low-level boot code, such as the MBR implementation on PC BIOS systems, is
|
||||
in the @file{boot/} directory.
|
||||
|
||||
The GRUB kernel is in @file{kern/}. This contains core facilities such as
|
||||
the device, disk, and file frameworks, environment variable handling, list
|
||||
processing, and so on. The kernel should contain enough to get up to a
|
||||
rescue prompt. Header files for kernel facilities, among others, are in
|
||||
@file{include/}.
|
||||
|
||||
Terminal implementations are in @file{term/}.
|
||||
|
||||
Disk access code is spread across @file{disk/} (for accessing the disk
|
||||
devices themselves), @file{partmap/} (for interpreting partition table
|
||||
data), and @file{fs/} (for accessing filesystems). Note that, with the odd
|
||||
specialised exception, GRUB only contains code to @emph{read} from
|
||||
filesystems and tries to avoid containing any code to @emph{write} to
|
||||
filesystems; this lets us confidently assure users that GRUB cannot be
|
||||
responsible for filesystem corruption.
|
||||
|
||||
PCI and USB bus handling is in @file{bus/}.
|
||||
|
||||
Video handling code is in @file{video/}. The graphical menu system uses
|
||||
this heavily, but is in a separate directory, @file{gfxmenu/}.
|
||||
|
||||
Most commands are implemented by files in @file{commands/}, with the
|
||||
following exceptions:
|
||||
|
||||
@itemize
|
||||
@item
|
||||
A few core commands live in @file{kern/corecmd.c}.
|
||||
|
||||
@item
|
||||
Commands related to normal mode live under @file{normal/}.
|
||||
|
||||
@item
|
||||
Commands that load and boot kernels live under @file{loader/}.
|
||||
|
||||
@item
|
||||
The @samp{loopback} command is really a disk device, and so lives in
|
||||
@file{disk/loopback.c}.
|
||||
|
||||
@item
|
||||
The @samp{gettext} command lives under @file{gettext/}.
|
||||
|
||||
@item
|
||||
The @samp{loadfont} and @samp{lsfonts} commands live under @file{font/}.
|
||||
|
||||
@item
|
||||
The @samp{serial}, @samp{terminfo}, and @samp{background_image} commands
|
||||
live under @file{term/}.
|
||||
|
||||
@item
|
||||
The @samp{efiemu_*} commands live under @file{efiemu/}.
|
||||
@end itemize
|
||||
|
||||
There are a few other special-purpose exceptions; grep for them if they
|
||||
matter to you.
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
[NAME]
|
||||
grub-editenv \- edit GRUB environment block
|
||||
[SEE ALSO]
|
||||
.BR grub-reboot (8),
|
||||
.BR grub-set-default (8)
|
||||
|
|
|
@ -1,2 +1,6 @@
|
|||
[NAME]
|
||||
grub-emu \- GRUB emulator
|
||||
[SEE ALSO]
|
||||
If you are trying to install GRUB, then you should use
|
||||
.BR grub-install (8)
|
||||
rather than this program.
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-fstest \- debug tool for GRUB filesystem drivers
|
||||
[SEE ALSO]
|
||||
.BR grub-probe (8)
|
||||
|
|
|
@ -1,2 +1,7 @@
|
|||
[NAME]
|
||||
grub-install \- install GRUB to a device
|
||||
[SEE ALSO]
|
||||
.BR grub-mkconfig (8),
|
||||
.BR grub-mkimage (1),
|
||||
.BR grub-setup (8),
|
||||
.BR grub-mkrescue (1)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-macho2img \- convert Mach-O to raw image
|
||||
[SEE ALSO]
|
||||
.BR grub-mkimage (1)
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
[NAME]
|
||||
grub-menulst2cfg \- transform legacy menu.lst into grub.cfg
|
||||
|
||||
[SEE ALSO]
|
||||
.BR grub-mkconfig (8)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-mkconfig \- generate a GRUB configuration file
|
||||
[SEE ALSO]
|
||||
.BR grub-install (8)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-mkdevicemap \- generate a GRUB device map file automatically
|
||||
[SEE ALSO]
|
||||
.BR grub-install (8)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-mkfont \- make GRUB font files
|
||||
[SEE ALSO]
|
||||
.BR grub-mkconfig (8)
|
||||
|
|
|
@ -1,2 +1,7 @@
|
|||
[NAME]
|
||||
grub-mkimage \- make a bootable image of GRUB
|
||||
[SEE ALSO]
|
||||
.BR grub-install (8),
|
||||
.BR grub-setup (8),
|
||||
.BR grub-mkrescue (1),
|
||||
.BR grub-mknetdir (8)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-mklayout \- generate a GRUB keyboard layout file
|
||||
[SEE ALSO]
|
||||
.BR grub-mkconfig (8)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-mknetdir \- prepare a GRUB netboot directory.
|
||||
[SEE ALSO]
|
||||
.BR grub-mkimage (1)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-mkpasswd-pbkdf2 \- generate hashed password for GRUB
|
||||
[SEE ALSO]
|
||||
.BR grub-mkconfig (8)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-mkrelpath \- make a system path relative to its root
|
||||
[SEE ALSO]
|
||||
.BR grub-probe (8)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-mkrescue \- make a GRUB rescue image
|
||||
[SEE ALSO]
|
||||
.BR grub-mkimage (1)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-ofpathname \- find OpenBOOT path for a device
|
||||
[SEE ALSO]
|
||||
.BR grub-probe (8)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-pe2elf \- convert PE image to ELF
|
||||
[SEE ALSO]
|
||||
.BR grub-mkimage (1)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-probe \- probe device information for GRUB
|
||||
[SEE ALSO]
|
||||
.BR grub-fstest (1)
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
[NAME]
|
||||
grub-reboot \- set the default boot entry for GRUB, for the next boot only
|
||||
[SEE ALSO]
|
||||
.BR grub-set-default (8),
|
||||
.BR grub-editenv (1)
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[NAME]
|
||||
grub-script-check \- check grub.cfg for syntax errors
|
||||
[SEE ALSO]
|
||||
.BR grub-mkconfig (8)
|
||||
|
|
|
@ -1,2 +1,5 @@
|
|||
[NAME]
|
||||
grub-set-default \- set the saved default boot entry for GRUB
|
||||
[SEE ALSO]
|
||||
.BR grub-reboot (8),
|
||||
.BR grub-editenv (1)
|
||||
|
|
|
@ -1,2 +1,6 @@
|
|||
[NAME]
|
||||
grub-setup \- set up a device to boot using GRUB
|
||||
[SEE ALSO]
|
||||
.BR grub-install (8),
|
||||
.BR grub-mkimage (1),
|
||||
.BR grub-mkrescue (1)
|
||||
|
|
|
@ -906,6 +906,7 @@ module = {
|
|||
module = {
|
||||
name = btrfs;
|
||||
common = fs/btrfs.c;
|
||||
common = lib/crc.c;
|
||||
};
|
||||
|
||||
module = {
|
||||
|
|
|
@ -120,7 +120,7 @@ __start:
|
|||
ori $t0, $zero, GRUB_SMBUS_SPD_MEMORY_TYPE_DDR2
|
||||
lui $a0, %hi(unimplemented_memory_type)
|
||||
bne $t0, $v0, fatal
|
||||
addiu $a0, $a0, %hi(unimplemented_memory_type)
|
||||
addiu $a0, $a0, %lo(unimplemented_memory_type)
|
||||
|
||||
/* And here is our goal: DDR2 controller initialisation. */
|
||||
lui $t0, %hi(GRUB_CPU_LOONGSON_CORECFG)
|
||||
|
|
|
@ -22,6 +22,10 @@
|
|||
#include <grub/time.h>
|
||||
#include <grub/ata.h>
|
||||
|
||||
#include <grub/dl.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
int
|
||||
grub_cs5536_find (grub_pci_device_t *devp)
|
||||
{
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#include <grub/pci.h>
|
||||
#include <grub/mm.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
/* FIXME: correctly support 64-bit architectures. */
|
||||
/* #if GRUB_TARGET_SIZEOF_VOID_P == 4 */
|
||||
struct grub_pci_dma_chunk *
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/usb.h>
|
||||
#include <grub/dl.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
|
||||
static struct grub_usb_controller_dev usb_controller =
|
||||
{
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
#include <grub/cs5536.h>
|
||||
#include <grub/loader.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
struct grub_ohci_hcca
|
||||
{
|
||||
/* Pointers to Interrupt Endpoint Descriptors. Not used by
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
|
||||
#include <grub/serial.h>
|
||||
#include <grub/usbserial.h>
|
||||
#include <grub/dl.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
void
|
||||
grub_usbserial_fini (struct grub_serial_port *port)
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/usb.h>
|
||||
#include <grub/usbserial.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
enum
|
||||
{
|
||||
GRUB_FTDI_MODEM_CTRL = 0x01,
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/usb.h>
|
||||
#include <grub/usbserial.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
/* Convert speed to divisor. */
|
||||
static grub_uint32_t
|
||||
is_speed_supported (unsigned int speed)
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include <grub/i386/io.h>
|
||||
#include <grub/time.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
#define GRUB_UHCI_IOMASK (0x7FF << 5)
|
||||
|
||||
#define N_QH 256
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/list.h>
|
||||
#include <grub/term.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_usb_controller_dev_t grub_usb_list;
|
||||
static struct grub_usb_attach_desc *attach_hooks;
|
||||
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
#include <grub/efi/api.h>
|
||||
#endif
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] = {
|
||||
{"exclude", 'x', 0,
|
||||
N_("Don't load host tables specified by comma-separated list."),
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_blocklist (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc, char **args)
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <grub/mm.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t (*grub_loader_boot_func) (void);
|
||||
static grub_err_t (*grub_loader_unload_func) (void);
|
||||
static int grub_loader_noreturn;
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <grub/extcmd.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{"dos", -1, 0, N_("Accept DOS-style CR/NL line endings."), 0, 0},
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
#define BUFFER_SIZE 512
|
||||
|
||||
static grub_err_t
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_source (grub_command_t cmd, int argc, char **args)
|
||||
{
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
#define GRUB_DATETIME_SET_YEAR 1
|
||||
#define GRUB_DATETIME_SET_MONTH 2
|
||||
#define GRUB_DATETIME_SET_DAY 4
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <grub/i18n.h>
|
||||
#include <grub/term.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{0, 'n', 0, N_("Do not output the trailing newline."), 0, 0},
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static struct grub_video_patch
|
||||
{
|
||||
const char *name;
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_efi_guid_t acpi_guid = GRUB_EFI_ACPI_TABLE_GUID;
|
||||
static grub_efi_guid_t acpi2_guid = GRUB_EFI_ACPI_20_TABLE_GUID;
|
||||
static grub_efi_guid_t smbios_guid = GRUB_EFI_SMBIOS_TABLE_GUID;
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <grub/efi/efi.h>
|
||||
#include <grub/command.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
#define ADD_MEMORY_DESCRIPTOR(desc, size) \
|
||||
((grub_efi_memory_descriptor_t *) ((char *) (desc) + (size)))
|
||||
|
||||
|
|
|
@ -18,12 +18,15 @@
|
|||
*/
|
||||
#include <grub/types.h>
|
||||
#include <grub/mm.h>
|
||||
#include <grub/dl.h>
|
||||
#include <grub/misc.h>
|
||||
#include <grub/normal.h>
|
||||
#include <grub/charset.h>
|
||||
#include <grub/efi/api.h>
|
||||
#include <grub/efi/efi.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
struct guid_mapping
|
||||
{
|
||||
grub_efi_guid_t guid;
|
||||
|
|
|
@ -23,6 +23,9 @@
|
|||
#include <grub/charset.h>
|
||||
#include <grub/efi/api.h>
|
||||
#include <grub/efi/efi.h>
|
||||
#include <grub/dl.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static void
|
||||
disp_sal (void *table)
|
||||
|
|
|
@ -22,6 +22,9 @@
|
|||
#include <grub/misc.h>
|
||||
#include <grub/extcmd.h>
|
||||
#include <grub/script_sh.h>
|
||||
#include <grub/dl.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
grub_err_t
|
||||
grub_extcmd_dispatcher (struct grub_command *cmd, int argc, char **args,
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
#include <grub/fs.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
/* Convert a LBA address to a CHS address in the INT 13 format. */
|
||||
/* Taken from grub1. */
|
||||
/* XXX: use hardcoded geometry of C = 1024, H = 255, S = 63.
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
#include <grub/misc.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_halt (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc __attribute__ ((unused)),
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include <grub/normal.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] = {
|
||||
{"hash", 'h', 0, N_("Specify hash to use."), N_("HASH"), ARG_TYPE_STRING},
|
||||
{"check", 'c', 0, N_("Check hash list file."), N_("FILE"), ARG_TYPE_STRING},
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include <grub/extcmd.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] = {
|
||||
{"apm", 'B', 0, N_("Set Advanced Power Management\n"
|
||||
"(1=low, ..., 254=high, 255=off)."),
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include <grub/normal.h>
|
||||
#include <grub/charset.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_help (grub_extcmd_context_t ctxt __attribute__ ((unused)), int argc,
|
||||
char **args)
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <grub/extcmd.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] = {
|
||||
{"skip", 's', 0, N_("Skip offset bytes from the beginning of file."), 0,
|
||||
ARG_TYPE_INT},
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#include <grub/misc.h>
|
||||
#include <grub/cmos.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
parse_args (int argc, char *argv[], int *byte, int *bit)
|
||||
{
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
#include <grub/i386/cpuid.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
#define cpuid(num,a,b,c,d) \
|
||||
asm volatile ("xchgl %%ebx, %1; cpuid; xchgl %%ebx, %1" \
|
||||
: "=a" (a), "=r" (b), "=c" (c), "=d" (d) \
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
#include <grub/memory.h>
|
||||
#include <grub/machine/memory.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
/* Real mode IVT slot (seg:off far pointer) for interrupt 0x13. */
|
||||
static grub_uint32_t *const int13slot = UINT_TO_PTR (4 * 0x13);
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/machine/int.h>
|
||||
#include <grub/acpi.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{"no-apm", 'n', 0, N_("Do not use APM to halt the computer."), 0, 0},
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
int
|
||||
grub_apm_get_info (struct grub_apm_info *info)
|
||||
{
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
#define BASE_TEMPO (60 * GRUB_TICKS_PER_SECOND)
|
||||
|
||||
/* The speaker port. */
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_pxe_unload (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc __attribute__ ((unused)),
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
#include <grub/cpu/io.h>
|
||||
#include <grub/loader.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv2+");
|
||||
|
||||
static char sendkey[0x20];
|
||||
/* Length of sendkey. */
|
||||
static int keylen = 0;
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_suspend (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc __attribute__ ((unused)),
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/cpu/io.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_extcmd_t cmd_read_byte, cmd_read_word, cmd_read_dword;
|
||||
static grub_command_t cmd_write_byte, cmd_write_word, cmd_write_dword;
|
||||
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
#include <grub/i18n.h>
|
||||
#include <grub/file.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static struct grub_keyboard_layout layout_us = {
|
||||
.keyboard_map = {
|
||||
/* Keyboard errors. Handled by driver. */
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <grub/term.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{"shift", 's', 0, N_("Check Shift key."), 0, 0},
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
#include <grub/disk.h>
|
||||
#include <grub/partition.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
legacy_file (const char *filename)
|
||||
{
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
#include <grub/extcmd.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{"file", 'f', 0, N_("Specify filename."), 0, ARG_TYPE_PATHNAME},
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
#include <grub/i18n.h>
|
||||
#include <grub/net.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{"long", 'l', 0, N_("Show a long list with more detailed information."), 0, 0},
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <grub/i18n.h>
|
||||
#include <grub/dl.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static void
|
||||
print_strn (grub_uint8_t *str, grub_size_t len)
|
||||
{
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
#include <grub/i18n.h>
|
||||
#include <grub/memory.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const char *names[] =
|
||||
{
|
||||
[GRUB_MEMORY_AVAILABLE] = "available",
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <grub/extcmd.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
struct grub_pci_classname
|
||||
{
|
||||
int class;
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <grub/env.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_extcmd_t cmd_read_byte, cmd_read_word, cmd_read_dword;
|
||||
static grub_command_t cmd_write_byte, cmd_write_word, cmd_write_dword;
|
||||
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
/* cat FILE */
|
||||
static grub_err_t
|
||||
grub_mini_cmd_cat (struct grub_command *cmd __attribute__ ((unused)),
|
||||
|
|
|
@ -24,6 +24,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/cs5536.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_lsspd (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc __attribute__ ((unused)),
|
||||
|
|
|
@ -31,6 +31,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv2+");
|
||||
|
||||
static struct grub_parttool *parts = 0;
|
||||
static int curhandle = 0;
|
||||
static grub_dl_t mymod;
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include <grub/dl.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_dl_t my_mod;
|
||||
|
||||
static grub_err_t
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include <grub/dl.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_dl_t my_mod;
|
||||
|
||||
struct pbkdf2_password
|
||||
|
|
|
@ -32,9 +32,11 @@
|
|||
#include <grub/extcmd.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{"set", 's', GRUB_ARG_OPTION_OPTIONAL,
|
||||
{"set", 's', 0,
|
||||
N_("Set a variable to return value."), "VAR", ARG_TYPE_STRING},
|
||||
{"driver", 'd', 0, N_("Determine driver."), 0, 0},
|
||||
{"partmap", 'p', 0, N_("Determine partition map type."), 0, 0},
|
||||
|
@ -150,7 +152,7 @@ static grub_extcmd_t cmd;
|
|||
|
||||
GRUB_MOD_INIT (probe)
|
||||
{
|
||||
cmd = grub_register_extcmd ("probe", grub_cmd_probe, 0, N_("[DEVICE]"),
|
||||
cmd = grub_register_extcmd ("probe", grub_cmd_probe, 0, N_("DEVICE"),
|
||||
N_("Retrieve device info."), options);
|
||||
}
|
||||
|
||||
|
|
|
@ -26,6 +26,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static char *
|
||||
grub_getline (void)
|
||||
{
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
#include <grub/misc.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static grub_err_t
|
||||
grub_cmd_reboot (grub_command_t cmd __attribute__ ((unused)),
|
||||
int argc __attribute__ ((unused)),
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
#include <grub/script_sh.h>
|
||||
#include <regex.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{ "set", 's', GRUB_ARG_OPTION_REPEATABLE,
|
||||
|
|
|
@ -31,6 +31,8 @@
|
|||
#include <grub/disk.h>
|
||||
#include <grub/partition.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
void
|
||||
FUNC_NAME (const char *key, const char *var, int no_floppy,
|
||||
char **hints, unsigned nhints)
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
#include <grub/search.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{"file", 'f', 0, N_("Search devices by a file."), 0, 0},
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <grub/mm.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
struct pci_register
|
||||
{
|
||||
const char *name;
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
#include <grub/extcmd.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
static const struct grub_arg_option options[] =
|
||||
{
|
||||
{"verbose", 'v', 0, N_("Verbose countdown."), 0, 0},
|
||||
|
|
|
@ -23,6 +23,8 @@
|
|||
#include <grub/i18n.h>
|
||||
#include <grub/misc.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
struct grub_term_autoload *grub_term_input_autoload = NULL;
|
||||
struct grub_term_autoload *grub_term_output_autoload = NULL;
|
||||
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
#include <grub/command.h>
|
||||
#include <grub/i18n.h>
|
||||
|
||||
GRUB_MOD_LICENSE ("GPLv3+");
|
||||
|
||||
/* A simple implementation for signed numbers. */
|
||||
static int
|
||||
grub_strtosl (char *arg, char **end, int base)
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue