Vladimir 'phcoder' Serbinenko
4f0de6881c
C part of Reed-Solomon
2010-09-24 14:05:47 +02:00
Vladimir 'phcoder' Serbinenko
6d0fa83c79
Support xz compression on yeeloong.
...
* Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
* configure.ac: Check for LZMA.
* grub-core/Makefile.core.def (xz_decompress): New target.
(none_decompress): Likewise.
* grub-core/boot/decompressor/minilib.c: New file.
* grub-core/boot/decompressor/none.c: Likewise.
* grub-core/boot/decompressor/xz.c: Likewise.
* grub-core/kern/mips/cache.S: Change to noreorder nomacro.
* grub-core/kern/mips/cache_flush.S: Likewise.
* grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
* grub-core/kern/mips/startup.S: Move first stage to ...
* grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
nomacro.
* grub-core/kern/mips/startup.S: Change to noreorder nomacro.
* grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
* grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
Allocate statically.
* grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
Allocate statically or use scratch. Don't check CRC32.
* grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
Allocate statically. Don't check CRC32.
* include/grub/decompressor.h: New file.
* include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
Removed.
(GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
(GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
(GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
(GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
(GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
* util/grub-mkimage.c (grub_compression_t): New type.
(PLATFORM_FLAGS_DECOMPRESSORS): New flag.
(image_target_desc): New field default_compression.
(image_targets): Adjust yeeloong targets.
(compress_kernel_xz) [HAVE_LIBLZMA]: New function.
(compress_kernel): New parameter comp.
(generate_image): Likewise. Handle new compression case.
(options): New option --compression
(help): Likewise.
(main): Handle new option.
2010-09-23 02:10:44 +02:00
Vladimir 'phcoder' Serbinenko
bf5f1dc6d2
Write total module size before compressing
2010-09-22 00:51:54 +02:00
Vladimir 'phcoder' Serbinenko
2c44e493c7
Compressor part
2010-09-21 21:35:46 +02:00
Vladimir 'phcoder' Serbinenko
758194b076
Allow compression algorithm specification
2010-09-21 20:30:28 +02:00
Colin Watson
5c5277839a
* util/grub-install.in: Fix the bootloader ID option to be
...
consistently --bootloader-id, not --bootloader_id.
Reported by: KESHAV P.R.
2010-09-21 12:10:36 +01:00
Yves Blusseau
a4c1d277c1
Keep boot and grub directory names in sync with utils scripts
...
* configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
* config.h.in: Add previous macros.
* include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
* util/grub-install.in: Use $bootdir and $grubdir variables.
2010-09-21 11:42:30 +02:00
Yves Blusseau
934d7e44b2
* util/grub-editenv.c: Update strings to avoid warnings when generating
...
grub.pot file.
* util/grub-setup.c: Likewise.
2010-09-21 11:17:54 +02:00
Vladimir 'phcoder' Serbinenko
c5b4cd370e
asm part for mips decompressor
2010-09-21 10:14:08 +02:00
Vladimir 'phcoder' Serbinenko
3e0fa5d0e0
* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2010-09-21 01:02:24 +02:00
Vladimir 'phcoder' Serbinenko
ade9bd6642
* util/grub.d/20_linux_xen.in: Use submenus.
2010-09-21 00:58:59 +02:00
Vladimir 'phcoder' Serbinenko
74342e312f
Support some annoying BSD and Minix subpartitions.
...
* Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
Properly handle concatenation.
* grub-core/kern/device.c (grub_device_iterate): Likewise.
* grub-core/normal/completion.c (iterate_partition): Likewise.
* grub-core/kern/disk.c (grub_disk_open): Make disk->name not
contain partition. All users updated.
* grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
struct.
(grub_openbsdlabel_partition_map): Likewise.
(bsdlabel_partition_map_iterate): Rename to ..
(iterate_real): ... this. New arguments sector, freebsd and pmap.
(bsdlabel_partition_map_iterate): New function.
(netopenbsdlabel_partition_map_iterate): Likewise.
(netbsdlabel_partition_map_iterate): Likewise.
(openbsdlabel_partition_map_iterate): Likewise.
(GRUB_MOD_INIT): Register new partmaps.
(GRUB_MOD_FINI): Unregister new partmaps.
* grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
(grub_partition_msdos_iterate): ... this. All users updated.
Don't support embedding other than in a minix partition.
* include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
proto.
* include/grub/partition.h (grub_partition): New field msdostype.
* util/grub-install.in: Handle openbsd and netbsd types being in
part_bsd module.
2010-09-20 21:45:06 +02:00
Vladimir 'phcoder' Serbinenko
1e8d555b7d
Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
...
* Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
* grub-core/Makefile.core.def (mdraid): Renamed to ...
(mdraid09): ... this.
(mdraid1x): New module.
* grub-core/disk/mdraid_linux.c: Move 1.x parts ...
* grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
2010-09-20 20:09:31 +02:00
Colin Watson
dfe3b247a2
* util/grub-editenv.c (argp_parser): Don't pass translated strings
...
as printf format strings; the translations might contain '%' which
could cause a crash.
(main): Likewise.
* util/grub-fstest.c (argp_parser): Likewise.
* util/grub-setup.c (argp_parser): Likewise.
(main): Likewise.
2010-09-20 17:56:14 +01:00
Vladimir 'phcoder' Serbinenko
3286a4b4c2
Use argp in grub-fstest.
...
* util/grub-fstest.c: Don't include getopt.h.
Include argp.h.
(root): New variable.
(args_count): Likewise.
(nparm): Likewise.
(num_disks): Likewise.
(images): Likewise.
(cmd): Likewise.
(debug_str): Likewise.
(args): Likewise.
(options): Transformed to argp.
(usage): Removed.
(main): Split argument parsing into ...
(argp_parser): ... this. Changed to argp format.
(argp): New variable.
(main): Use argp_parse.
2010-09-20 18:38:38 +02:00
Colin Watson
c982589f0c
* util/grub-mkrescue.in: Add explicit root argument to --set to
...
prevent the UUID being interpreted as an argument to --set (matches
previous change to prepare_grub_to_access_device).
2010-09-20 13:14:44 +01:00
Yves Blusseau
6439b8ee81
* util/grub-editenv.c: Use argp instead of getopt.
2010-09-20 12:39:28 +02:00
Yves Blusseau
c5930ec832
* util/grub-setup.c: Use argp instead of getopt.
2010-09-20 12:37:37 +02:00
Szymon Janc
c55f50180d
Remove crc.mod and move crc command to hashsum.mod.
...
Remove lib/crc.c - users updated to use gcrypt implementation.
* grub-core/commands/crc.c: Removed.
* grub-core/Makefile.core.def (crc): Module removed.
* grub-core/commands/hashsum.c (aliases[]): Add crc alias.
* grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
* grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
* grub-core/lib/crc.c: Removed.
* include/grub/lib/crc.h: Removed.
* Makefile.util.def (crc): Remove lib/crc.c
* grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
* util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
* Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
* Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
* Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
* grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
2010-09-20 01:40:58 +02:00
BVK Chaitanya
b524259bec
merge with mainline
2010-09-19 18:54:45 +05:30
BVK Chaitanya
2f4e8053e0
* util/grub-mkconfig.in: Check the config script for syntax errors
...
before saving.
2010-09-19 08:49:25 +05:30
BVK Chaitanya
7431d7a49c
merge with mainline
2010-09-19 08:45:38 +05:30
Colin Watson
75831c3419
* Makefile.util.def (grub-install): Use util/grub-install.in on all
...
platforms.
* util/grub-install.in: Add EFI and IEEE1275 support.
* util/i386/efi/grub-install.in: Removed.
* util/ieee1275/grub-install.in: Likewise.
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-09-19 01:32:27 +02:00
Vladimir 'phcoder' Serbinenko
eaf41b2592
* grub-core/commands/i386/cmostest.c (+parse_args): New function.
...
(grub_cmd_cmosclean): Likewise.
(GRUB_MOD_INIT): Register command cmosclean.
* util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
* util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
2010-09-19 01:15:44 +02:00
Carles Pina i Estany
1a9130dd3f
Add keyboard layouts support.
...
* Makefile.util.def (grub-mklayout): New file.
(grub-kbdcomp): New script.
* grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
Add keyboard_layouts.h.
* grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
commands/boot.c on yeeloong.
(keylayouts): New module.
* grub-core/bus/usb/ohci.c
* grub-core/bus/usb/uhci.c
* grub-core/bus/usb/usbhub.c (rescan): New variable.
(grub_usb_add_hub): Poll interrupt pipe for device handling.
(attach_root_port): Likewise.
(poll_nonroot_hub): Likewise.
(grub_usb_poll_devices): Likewise.
(detach_device): Close transfer.
* grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
function.
(grub_usb_bulk_setup_readwrite): Likewise.
(grub_usb_bulk_finish_readwrite): Likewise.
* grub-core/commands/keylayouts.c: New file.
* grub-core/commands/keystatus.c (grub_getkeystatus): New function.
* grub-core/commands/menuentry.c (hotkey_aliases): All several new
aliases.
* grub-core/term/at_keyboard.c: Restructured to use keylayouts and
support scancode 2.
* grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
* include/grub/keyboard_layouts.h: New file.
* util/grub-mklayout.c: New file.
* util/grub-kbdcomp.in: Likewise.
Also-By: Aleš Nesrsta <starous@volny.cz>
Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-09-19 01:01:35 +02:00
Vladimir 'phcoder' Serbinenko
9696382e79
GRUB-legacy configuration file support.
...
* Makefile.util.def (grub-menulst2cfg): New util.
* docs/man/grub-menulst2cfg.h2m: New file.
* grub-core/Makefile.core.def (legacycfg): New module.
* grub-core/commands/legacycfg.c: New file.
* grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
(grub_normal_add_menu_entry): ... this.
* grub-core/commands/password.c (grub_cmd_password): Split main part to ...
(grub_normal_set_password): ...this.
* grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
* grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
* grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
* grub-core/lib/legacy_parse.c: New file.
* grub-core/normal/auth.c (grub_cmd_authenticate): New command.
* include/grub/i386/pc/vesa_modes_table.h: New file.
* include/grub/legacy_parse.h: Likewise.
* include/grub/normal.h (grub_normal_add_menu_entry): New proto.
* util/grub-menulst2cfg.c: New file.
* grub-core/Makefile.core.def (lsapm): New module.
* grub-core/commands/i386/pc/lsapm.c: New file.
* grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
* grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
Likewise.
* include/grub/i386/pc/apm.h: New file.
* include/multiboot.h (multiboot_apm_info): New struct.
2010-09-18 16:21:57 +02:00
Colin Watson
108538d8ff
Support RAID on virtio devices, and others.
...
* grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
Rename to ...
[__MINGW32__] (grub_find_device): ... this.
[! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
[! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
reasonable default if dir is NULL.
[! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
...
[! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
(grub_guess_root_device): Update callers.
* include/grub/emu/getroot.h (grub_find_device): Add prototype.
* util/raid.c (grub_util_getdiskname): Remove.
(grub_util_raid_getmembers): Use grub_find_device rather than
grub_util_getdiskname.
2010-09-16 14:55:28 +01:00
Colin Watson
c514c29712
Explicitly pass -d ${pkglibdir} to grub-mkimage, to make it easier to
...
run grub-install from the build directory.
2010-09-16 14:50:41 +01:00
Vladimir 'phcoder' Serbinenko
cb731b5e81
* util/grub-setup.c (setup): Fix incorrect container semantics.
2010-09-16 00:27:06 +02:00
Vladimir 'phcoder' Serbinenko
e50fca4a4c
Move embedding routines to partmap sources files.
...
* grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
[GRUB_UTIL]: New variable.
(gpt_partition_map_iterate): Set part.parent.
(gpt_partition_map_embed) [GRUB_UTIL]: New function.
(grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
* grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
New function.
(grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
* include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
(grub_partition_map) [GRUB_UTIL]: New field embed.
* util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
(setup): Use ->embed.
2010-09-15 21:36:57 +02:00
Vladimir 'phcoder' Serbinenko
f00478b719
* grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
...
function.
* include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
* util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
2010-09-15 15:30:43 +02:00
Vladimir 'phcoder' Serbinenko
76de44d8ac
Merge mainline into install
2010-09-15 14:46:53 +02:00
Vladimir 'phcoder' Serbinenko
14437e8008
Allow install_device to be missing on non-pc and non-sparc
2010-09-15 14:45:08 +02:00
Yves Blusseau
2b94e3ff6e
Add function to get completions from usage.
...
* util/bash-completion.d/grub-completion.bash.in: Add function to get
completions from usage. Use LC_ALL=C to get options properly.
2010-09-15 11:46:16 +02:00
Vladimir 'phcoder' Serbinenko
0cb2f2813f
merge mainline into legacy_parser
2010-09-15 11:43:59 +02:00
Vladimir 'phcoder' Serbinenko
d2ea455141
* grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
...
allocate p.
2010-09-14 21:07:39 +02:00
Vladimir 'phcoder' Serbinenko
3c3b5040cd
* util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
...
explicit root argument to set to prevent UUID to be interpreted as
argument to set.
2010-09-14 21:04:08 +02:00
Vladimir 'phcoder' Serbinenko
94564f81a8
* include/grub/disk.h (grub_disk): Remove has_partitions.
...
All users updated.
* disk/loopback.c (grub_loopback): Remove has_partitions.
All users updated.
(options): Remove partitions. All users updated.
* util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
* util/i386/pc/grub-setup.c (setup): copy partition table only when
actual partition table is found.
2010-09-13 23:59:22 +02:00
Vladimir 'phcoder' Serbinenko
3352800b99
Remove readability checks (too many false negatives).
...
* util/grub-install.in: Remove readability checks.
* util/grub-mkconfig.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-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
way.
2010-09-13 22:18:03 +02:00
Vladimir 'phcoder' Serbinenko
fb53b340aa
Fix sparc64.
...
* configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
* grub-core/Makefile.core.def (kernel): Make ldflags just use the
right address. Add sparc64_ieee1275_ldflags.
* grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
* util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
to grub_host_to_target_addr
(load_image): Likewise.
2010-09-13 16:49:50 +02:00
Vladimir 'phcoder' Serbinenko
9b5b2541a2
grub-mknetdir script.
...
* Makefile.util.def (grub-mknetdir): New module.
* tests/util/grub-shell.in: Support boot=net
* util/grub-mknetdir.in: New file.
2010-09-13 14:03:05 +02:00
Yves Blusseau
b23ffd70eb
Bash completion script for util commands
...
* Makefile.am: Add util/bash-completion.d directory
* configure.ac: Likewise.
* util/bash-completion.d/Makefile.am: New file.
* util/bash-completion.d/grub-completion.bash.in: Likewise.
2010-09-13 10:29:18 +02:00
Vladimir 'phcoder' Serbinenko
e64334df29
Support mixed inline and suffix commands
2010-09-12 15:50:52 +02:00
Vladimir 'phcoder' Serbinenko
64ad6157ae
Fix bunch of memory problems and implement hdbias
2010-09-12 14:01:02 +02:00
Vladimir 'phcoder' Serbinenko
6c6850ae13
Implement hiddenmenu (not tested)
2010-09-12 02:55:24 +02:00
Vladimir 'phcoder' Serbinenko
bd9603071a
Merge mainline into legacy_parser
2010-09-11 22:39:55 +02:00
Vladimir 'phcoder' Serbinenko
09695ab80c
Fix few compile errors
2010-09-11 22:18:06 +02:00
Vladimir 'phcoder' Serbinenko
76e61597b4
Merge mainline into install
2010-09-11 17:28:46 +02:00
Vladimir Serbinenko
25761e13ee
* util/grub-install.in (grub_partition): New variable.
...
Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
* util/i386/pc/grub-setup.c (setup): Don't touch prefix.
Fixes a bug reported by Yves Blusseau.
2010-09-11 17:21:48 +02:00
Vladimir 'phcoder' Serbinenko
038272a5c5
Merge mainline into install
2010-09-11 16:38:37 +02:00