Commit graph

4650 commits

Author SHA1 Message Date
bvk.groups@gmail.com
4d69c7863b * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}. 2010-09-07 11:00:37 +05:30
bvk.groups@gmail.com
aa3119c46f * docs/grub.texi (Shell-like scripting): Documentation for break,
continue, shift and return commands.
2010-09-07 09:39:14 +05:30
bvk.groups@gmail.com
40294df243 merge with mainline 2010-09-07 09:35:57 +05:30
bvk.groups@gmail.com
e175e78d4a documentation for some grub-script features 2010-09-07 09:33:29 +05:30
Vladimir 'phcoder' Serbinenko
88ae2ce160 Fix several powerpc-ieee1275 issues and one EFI one while on it 2010-09-06 23:03:25 +02:00
Vladimir 'phcoder' Serbinenko
db0f7e3d20 Rename CD-ROM to cd on BIOS.
* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
	"cd".
	(grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
2010-09-06 09:35:35 +02:00
Vladimir 'phcoder' Serbinenko
88b87c9313 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
* util/grub-probe.c (main): Likewise.
	* util/i386/pc/grub-setup.c (main): Likewise.
	* util/sparc64/ieee1275/grub-setup.c (main): Likewise.
	Reported and debugged by: alexxy
2010-09-05 23:24:57 +02:00
Vladimir 'phcoder' Serbinenko
294f324d89 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
diagnostic info.
2010-09-05 23:20:13 +02:00
Jo Shields
d7ee3441eb * util/grub.d/30_os-prober.in: Add missing classes. 2010-09-05 22:43:43 +02:00
Vladimir 'phcoder' Serbinenko
122a9b2cd9 Merge mainline into legacy_parser 2010-09-05 20:44:42 +02:00
Vladimir 'phcoder' Serbinenko
5cd837bd47 Add testload 2010-09-05 20:43:43 +02:00
Vladimir 'phcoder' Serbinenko
d7e06c1f0b * docs/grub.texi (Theme file format): Document new position format. 2010-09-05 20:33:03 +02:00
Vladimir 'phcoder' Serbinenko
fc157e539c * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
a table. Use @code instead of @verbatim.
2010-09-05 20:17:34 +02:00
Colin D Bennett
506e9a1ce0 Gfxmenu documentation.
* docs/grub.texi (Theme file format): New chapter.
2010-09-05 20:04:10 +02:00
Szymon Janc
f0aff67c47 * grub-core/Makefile.core.def (xzio): New module.
* grub-core/io/xzio.c: New file.
	* grub-core/lib/xzembed/xz.h: New file (from xembed).
	* grub-core/lib/xzembed/xz_config.h: Likewise.
	* grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
	* grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
	* grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
	* grub-core/lib/xzembed/xz_lzma2.h: Likewise.
	* grub-core/lib/xzembed/xz_private.h: Likewise.
	* grub-core/lib/xzembed/xz_stream.h: Likewise.
	* include/grub/file.h (grub_file_filter_id): New compression filter
	GRUB_FILE_FILTER_XZIO.
2010-09-05 17:12:13 +02:00
Vladimir 'phcoder' Serbinenko
82a8506214 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
* grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
	size.
2010-09-05 17:01:16 +02:00
Vladimir 'phcoder' Serbinenko
3579415d20 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
2010-09-05 16:55:49 +02:00
Vladimir 'phcoder' Serbinenko
5124ae6d4f Uncompressed checksum support.
* grub-core/commands/hashsum.c (options): Add option --uncompress.
	(check_list): New parameter uncompress.
	(grub_cmd_hashsum): Handle --uncompress.
2010-09-05 16:48:54 +02:00
Vladimir 'phcoder' Serbinenko
9aadb3d146 Add missing ChangeLog entry 2010-09-05 16:43:31 +02:00
Vladimir 'phcoder' Serbinenko
06f7011716 Reintroduce testload.
* grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
	from here ...
	* grub-core/commands/testload.c (grub_cmd_testload): ... here.
	(GRUB_MOD_INIT): New function.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/Makefile.core.def (testload): New module.
2010-09-05 16:40:41 +02:00
Szymon Janc
a17792c324 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
(uint8_t): New type.
	(uint16_t): Likewise.
	(uint32_t): Likewise.
	(uint64_t): Likewise.
2010-09-05 14:24:39 +02:00
Szymon Janc
b81e40a379 * include/grub/crypto.h (GRUB_MD_CRC32): New definition. 2010-09-05 14:18:31 +02:00
Vladimir 'phcoder' Serbinenko
fc2ef1172c * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
Made static.
	(grub_gzfile_open): Removed. All users updated.
	(GRUB_MOD_INIT): New function.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/kern/file.c (grub_file_filters_all): New variable.
	(grub_file_filters_enabled): Likewise.
	(grub_file_open): Handle filters.
	* grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
	* grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
	* include/grub/file.h (grub_file_filter_id_t): New type.
	(grub_file_filter_t): Likewise.
	(grub_file_filters_all): New extern variable.
	(grub_file_filters_enabled): Likewise.
	(grub_file_filter_register): New inline function.
	(grub_file_filter_unregister): Likewise.
	(grub_file_filter_disable): Likewise.
	(grub_file_filter_disable_compression): Likewise.
	* include/grub/gzio.h: Removed.
2010-09-05 13:05:36 +02:00
BVK Chaitanya
1bce65c7b1 not command (!) support 2010-09-05 14:57:28 +05:30
BVK Chaitanya
35ee15e09a Filename expansion support for wildcards in GRUB script.
* tests/grub_script_expansion.in: New test.
	* Makefile.util.def: Rule for new test.

	* grub-core/commands/wildcard.c: New file, implements filename
	expansion support for GRUB script.
	* grub-core/Makefile.core.def: Rule update for regexp.mod.
	* grub-core/script/argv.c: Cosmetic changes.
	* grub-core/script/execute.c (grub_script_arglist_to_argv):
	Refactored to perform wildcard expansion on arguments.
	* include/grub/script_sh.h (grub_script_wildcard_translator): New
	struct.

	* tests/util/grub-shell.in: Fix quoting for read input.
2010-09-04 22:45:34 +05:30
BVK Chaitanya
ee14ec9935 merge with mainline 2010-09-04 22:34:32 +05:30
BVK Chaitanya
5f0c4acaca Support for updating environment variables with matched substrings
of regexp.

	* tests/grub_cmd_regexp.in: New test.
	* Makefile.util.def: Rule for new test.

	* grub-core/commands/regexp.c: New option -s to update environment
	variables with regexp matches.
2010-09-04 22:19:58 +05:30
BVK Chaitanya
a431c98a52 merge with mainline 2010-09-04 22:13:45 +05:30
Szymon Janc
3759a35f75 * include/grub/file.h (grub_file): New member not_easly_seekable.
(grub_file_seekable): New inline function.
	* grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
	easily seekable.
	(grub_gzio_open): Set not_easly_seekable.
	* grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
	* grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
2010-09-04 18:28:42 +02:00
BVK Chaitanya
ed8c6dec96 Support for options to appear multiple times on cmdline.
* include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
	* grub-core/commands/extcmd.c: Support for repeatable option.
	* grub-core/lib/arg.c (grub_arg_list_alloc): New function for
	repeatable option support.

	Refactor menuentry into a regular command.

	* grub-core/commands/menuentry.c: New file, menuentry command
	implementation.
	* grub-core/Makefile.core.def: Rule update for normal.mod.
	* grub-core/normal/main.c: Moved menuentry creation to
	grub-core/commands/menuentry.c.
	* grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
	(grub_menu_execute_entry_real): Removed.
	* grub-core/script/execute.c (grub_script_execute_sourcecode): New
	function.
	(grub_script_execute_menuentry): Removed.
	* grub-core/script/parser.y (menuentry): Removed.
	* grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
	* grub-core/script/yylex.l (menuentry): Removed.
	* include/grub/menu.h (grub_menu_init): New prototype.
	(grub_menu_fini): New prototype.
	* include/grub/normal.h (grub_normal_add_menu_entry): Removed.
	* include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
	(grub_script_execute_sourcecode): New prototype.
2010-09-04 21:43:54 +05:30
BVK Chaitanya
9fcd1ee541 merge with mainline 2010-09-04 21:02:48 +05:30
BVK Chaitanya
dacd0cf07a "return" command for GRUB script functions.
* tests/grub_script_return.in: New test.
	* Makefile.util.def: Rules for new test.

	* grub-core/script/execute.c (grub_script_return): New function.
	* grub-core/script/main.c: Register/unregister return commaond.
	* include/grub/script_sh.h (grub_script_return): New prototype.
2010-09-04 20:53:09 +05:30
BVK Chaitanya
165bfce138 merge with mainline 2010-09-04 20:44:44 +05:30
Vladimir 'phcoder' Serbinenko
df3df23d5c Reorganise memory map handling 2010-09-04 17:10:10 +02:00
BVK Chaitanya
52e72f9d46 "setparams" command to update positional parameters.
* tests/grub_script_setparams.in: New test.
	* Makefile.util.def: Rules for new test.

	* grub-core/script/argv.c (grub_script_argv_make): New function.
	* grub-core/script/execute.c (replace_scope): New function.
	(grub_script_setparams): New function.
	* grub-core/script/lexer.c: Remove unused variables.
	* grub-core/script/main.c: Register/unregister setparams command.
	* include/grub/script_sh.h (grub_script_argv_make): New prototype.
	(grub_script_setparams): New prototype.
2010-09-04 20:27:48 +05:30
BVK Chaitanya
cd652829a1 merge with mainline 2010-09-04 14:41:08 +05:30
BVK Chaitanya
49649ac85d review comments 2010-09-04 14:32:59 +05:30
BVK Chaitanya
965e0faac8 merge with mainline 2010-09-04 14:30:12 +05:30
BVK Chaitanya
854bd47cb8 fix memory leak and out-of-range writes 2010-09-04 14:22:51 +05:30
BVK Chaitanya
e77cc389d5 merge with mainline 2010-09-04 14:21:56 +05:30
BVK Chaitanya
25b60c913b * grub-core/normal/completion.c (grub_normal_do_completion): Fix
grub_free order.
2010-09-04 14:19:04 +05:30
BVK Chaitanya
6d7c073bc8 merge with mainline 2010-09-04 11:49:02 +05:30
BVK Chaitanya
7af6505ba1 merge with mainline 2010-09-04 11:37:59 +05:30
BVK Chaitanya
312e3e3668 merge with mainline 2010-09-04 11:28:45 +05:30
BVK Chaitanya
227cab7c79 merge with mainline 2010-09-04 10:56:23 +05:30
BVK Chaitanya
37e7bf68c5 Support for passing block of commands as an argument to
extcmds.

	* Makefile.util.def: Rules for new test.
	* tests/grub_script_blockarg.in: New test.
	* grub-core/tests/test_blockarg.c: New file, block argument
	command used in the test.

	* include/grub/extcmd.h (grub_extcmd_context): New struct.
	(grub_register_extcmd_prio): New function prototype.
	(grub_extcmd_dispatcher): New function prototype.
	* include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
	type.
	* include/grub/script_sh.h (struct grub_script): New members
	`children', `next_siblings' and `refcnt' for block arguments and
	reference counting.
	(GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
	(grub_script_arg): New member `script' for block argument.
	(grub_script_argv): New member `script' for block argument.
	(grub_parser_param): New member `scripts' for block argument.
	(grub_script_mem_free): New extern function prototype.
	(grub_script_ref): New function prototype.
	(grub_script_unref): New function prototype.

	* grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
	extcmd form to support block arguments.
	* grub-core/script/argv.c: Block arguments support.
	* grub-core/script/execute.c: Likewise.
	* grub-core/script/lexer.c: Likewise.
	* grub-core/script/main.c: Likewise.
	* grub-core/script/script.c: Likewise.
	* grub-core/script/parser.y: Likewise.  New `block' and `block0'
	non-terminals.

	* grub-core/commands/acpi.c: Update extcmd implementations with
	grub_extcmd_context_t.
	* grub-core/commands/cat.c: Likewise.
	* grub-core/commands/echo.c: Likewise.
	* grub-core/commands/extcmd.c: Likewise.
	* grub-core/commands/hashsum.c: Likewise.
	* grub-core/commands/hdparm.c: Likewise.
	* grub-core/commands/help.c: Likewise.
	* grub-core/commands/hexdump.c: Likewise.
	* grub-core/commands/i386/cpuid.c: Likewise.
	* grub-core/commands/i386/pc/drivemap.c: Likewise.
	* grub-core/commands/i386/pc/halt.c: Likewise.
	* grub-core/commands/i386/pc/sendkey.c: Likewise.
	* grub-core/commands/iorw.c: Likewise.
	* grub-core/commands/keystatus.c: Likewise.
	* grub-core/commands/loadenv.c: Likewise.
	* grub-core/commands/ls.c: Likewise.
	* grub-core/commands/lspci.c: Likewise.
	* grub-core/commands/memrw.c: Likewise.
	* grub-core/commands/probe.c: Likewise.
	* grub-core/commands/search_wrap.c: Likewise.
	* grub-core/commands/setpci.c: Likewise.
	* grub-core/commands/sleep.c: Likewise.
	* grub-core/disk/loopback.c: Likewise.
	* grub-core/hello/hello.c: Likewise.
	* grub-core/loader/i386/bsd.c: Likewise.
	* grub-core/loader/xnu.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.
	* grub-core/term/serial.c: Likewise.
	* grub-core/tests/lib/functional_test.c: Likewise.
2010-09-04 09:13:30 +05:30
BVK Chaitanya
e5a73c4247 merge with mainline 2010-09-04 09:05:21 +05:30
BVK Chaitanya
888d1500b2 Multi-line quoted strings support.
* grub-core/script/lexer.c (append_newline): Removed.
	(grub_script_lexer_yywrap): Refactored.
	(grub_script_lexer_init): Refactored.
	* grub-core/script/yylex.l (yywrap): New function.
	(grub_lexer_resplit): New function.
	(grub_lexer_unput): New function.
	* include/grub/script_sh.h (grub_lexer_param): New members, unput
	and resplit.
	* tests/grub_script_echo1.in: Added few more testcases.
2010-09-04 08:43:35 +05:30
BVK Chaitanya
adcf5a8e30 merge with mainline 2010-09-04 08:33:42 +05:30
BVK Chaitanya
80f5b97cdc --source option for menuentry 2010-09-04 08:14:50 +05:30