Andrey Borzenkov
3100cdc7f9
add grub_qsort_strcmp to use when sorting array of strings
...
Compare function used in qsort gets arguments by reference, so strcmp
cannot be used directly - it expects pointer to char, but gets pointer
to pointer to char.
Introduce new helper grub_qsort_strcmp and use it in grub-install.
This helper is going to be used in a couple more places as well so
add it to global file, not in grub-install.c.
2013-12-07 14:29:00 +04:00
Andrey Borzenkov
ad73cc3312
fix use of grub-probe instead of ${grub_probe}
2013-12-07 14:24:25 +04:00
Vladimir Serbinenko
8c534b85f1
Revamp relocation handling.
...
Move more code to common dl.c. Add missing veneers for arm and arm64.
Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
2013-12-06 09:18:55 +01:00
Vladimir Serbinenko
a846dd4b3a
* util/grub-mkimagexx.c: Fix reloc section generation for ia64.
2013-12-05 23:07:10 +01:00
Vladimir Serbinenko
b0f311f412
* util/grub-install.c: Mention Boot* variable.
2013-12-05 17:05:21 +01:00
Vladimir Serbinenko
e5ed2f6947
Handle unaligned .bss on sparc64.
...
Current code improperly assumes that both __bss_start and _end are
aligned to 8-bytes. Eliminating this assumption and explicitly align
modules.
2013-12-05 06:35:19 +01:00
Colin Watson
3a82f8bb48
Fix grub-shell to avoid breaking "make distcheck"
...
Copying the themes directory in grub-shell isn't
parallel-test-friendly and breaks on the second test when the source
directory is read-only (as in "make distcheck"). Instead, add a
hidden --themes-directory option to grub-mkrescue et al, and use it
in grub-shell.
2013-12-04 13:36:34 +00:00
Colin Watson
44d4884779
Merge branch 'cjwatson/timeout-style'
2013-12-03 16:15:45 +00:00
Vladimir Serbinenko
9e4e6ddfbf
* util/config.c: Add missing pointer adjustment.
...
Reported by: qwertial
2013-12-02 06:51:13 +01:00
Leif Lindholm
b29b77fee2
New port arm64-efi
2013-11-30 16:50:31 +01:00
Colin Watson
9b70860ecc
Consolidate timeout generation code a bit.
2013-11-29 16:11:53 +00:00
Colin Watson
095588ef34
Consistently ignore GRUB_TIMEOUT if GRUB_HIDDEN_TIMEOUT is set
...
Pointed out by Vladimir Serbinenko.
2013-11-29 15:30:44 +00:00
Colin Watson
53cc63bf85
Add GRUB_TIMEOUT_STYLE_BUTTON support
...
Suggested by Vladimir Serbinenko.
2013-11-29 15:18:05 +00:00
Colin Watson
fd0df6d098
Fix build with FreeType 2.5.1
...
* util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
<freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
* util/grub-gen-widthspec.c: Likewise.
* util/grub-mkfont.c: Likewise.
2013-11-29 12:19:36 +00:00
Andrey Borzenkov
69ca97c820
fix using grub device name as install device
...
Shell version of grub-install called grub-setup which resolved
install device name and called main setup routine. C version of
grub-install calls main setup routine directly, which leads
to the error:
grub2-install: info: grub-bios-setup --verbose --force --skip-fs-probe --directory='/boot/grub2/i386-pc' --device-map='/boot/grub2/device.map' '(hd2)'.
grub2-install: info: reading /boot/grub2/i386-pc/boot.img.
grub2-install: info: reading /boot/grub2/i386-pc/core.img.
grub2-install: info: root is `(null)', dest is `(hd2)'.
grub2-install: info: Opening dest.
grub2-install: info: drive = -1.
grub2-install: error: disk `(hd2)' not found.
Move resolving of destination device name into main setup routine
so it is done consistently in both cases.
2013-11-29 11:32:34 +04:00
Vladimir Serbinenko
621e167fd6
* util/grub-fstest.c: Remove variable length arrays.
2013-11-29 05:50:32 +01:00
Vladimir Serbinenko
c8a0f1b229
* util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
...
computing crc32 rather than handling with md fundtions directly.
2013-11-29 04:14:26 +01:00
Vladimir Serbinenko
726409a513
* util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
...
checking fwstart.img rather than md fundtions directly.
2013-11-29 04:05:44 +01:00
Vladimir Serbinenko
422e6e886c
* util/grub-mkrescue.c (main): Check that fread succeeded.
2013-11-29 03:54:21 +01:00
Colin Watson
8f236c1419
Revamp hidden timeout handling
...
Add a new timeout_style environment variable and a corresponding
GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
controls hidden-timeout handling more simply than the previous
arrangements, and pressing any hotkeys associated with menu entries
during the hidden timeout will now boot the corresponding menu entry
immediately.
GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
generates a warning, and if it shows the menu it will do so as if
the second timeout were not present. Other combinations are
translated into reasonable equivalents.
2013-11-28 02:29:15 +00:00
Vladimir Serbinenko
4f9541226c
Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
...
Fixes build for windows.
2013-11-27 14:13:50 +01:00
Colin Watson
5c7206e45e
Speed up test suite by avoiding fsync
...
Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls into
no-ops, and use it in programs that copy files but do not need to take
special care to sync writes (grub-mknetdir, grub-rescue,
grub-mkstandalone).
On my laptop, this reduces partmap_test's runtime from 1236 seconds to
204 seconds.
2013-11-27 10:10:22 +00:00
Vladimir Serbinenko
bee1b5ce3f
* util/grub-mknetdir.c: Look for platform directories under pkglibdir
...
and not pkgdatadir.
2013-11-25 19:16:05 +01:00
Colin Watson
07e3b04742
Add a --locale-directory option to grub-install and related tools.
...
* include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
--locale-directory option.
(enum grub_install_options): Add
GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
* util/grub-install-common.c (grub_install_help_filter): Handle
GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
(grub_install_parse): Likewise.
(get_localedir): New function to check for a user-provided option
before trying grub_util_get_localedir.
(copy_locales): Use get_localedir rather than
grub_util_get_localedir. Handle differing locale directory layouts.
(grub_install_copy_files): Likewise.
2013-11-25 18:04:50 +00:00
Vladimir Serbinenko
d6c92cdc34
Merge branch 'master' into leiflindholm/arm64
...
Conflicts:
include/grub/util/install.h
2013-11-25 13:02:27 +01:00
Keshav Padram Amburay
5ae5c54c7e
* util/grub-install.c (update_nvram): Support --no-nvram flag
...
for EFI targets.
2013-11-23 13:02:12 +01:00
Vladimir Serbinenko
e67566ce0a
* util/garbage-gen.c: Add missing include of sys/time.h.
2013-11-23 12:42:30 +01:00
Vladimir Serbinenko
4a23e2fe29
Add *-xen to the list of grub-install-common platforms.
2013-11-22 14:21:16 +01:00
Vladimir Serbinenko
4906052019
Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
...
do essentially the same thing, do it in similar way.
2013-11-21 21:54:33 +01:00
Colin Watson
c6a823e267
* util/grub-mkrescue.c (main): If a source directory is not
...
specified, read platform-specific files from subdirectories of
pkglibdir, not pkgdatadir.
2013-11-21 17:36:45 +00:00
Vladimir Serbinenko
7dd0a30361
* grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
...
array.
2013-11-20 20:09:18 +01:00
Vladimir Serbinenko
ca120e31f2
* util/grub-mkconfig.in: Say explicit "grub configuration" rather
...
than grub.cfg.
2013-11-20 10:18:19 +01:00
Axel Kellermann
55e706c918
* util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
...
selectively skipping systems.
2013-11-19 23:39:51 +01:00
Vladimir Serbinenko
7d44ff7de6
Add automated filesystem checking based on scripts I've used now for
...
quite some time locally. Most of the test require root so they are
skipped when run without necessarry privelegies.
2013-11-19 21:05:59 +01:00
Colin Watson
a8c3e5e3c7
* util/grub-install.c (main): Adjust info messages to match
...
installed paths of grub-bios-setup and grub-sparc64-setup.
2013-11-19 18:43:05 +00:00
Colin Watson
4402db3ecc
* util/grub-install-common.c (copy_locales): Consistently use
...
grub_util_get_localedir () rather than LOCALEDIR.
(grub_install_copy_files): Likewise.
2013-11-19 15:35:44 +00:00
Vladimir Serbinenko
d3def58c52
Add missing arm64 declaration
2013-11-18 17:52:57 +01:00
Vladimir Serbinenko
96fa2d9d02
Merge branch 'master' into leiflindholm/arm64
2013-11-18 17:51:28 +01:00
Colin Watson
a1f00cc557
* util/grub-mkrescue.c (main): Fix typo.
2013-11-18 15:30:47 +00:00
Vladimir Serbinenko
b40ce65180
* util/grub-install-common.c (grub_install_copy_files): Fix module
...
destination directory.
2013-11-18 15:59:55 +01:00
Vladimir Serbinenko
96adefdb12
* util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
...
work again.
2013-11-18 14:36:31 +01:00
Vladimir Serbinenko
a284320e1e
Fix handling of install lists.
2013-11-18 11:38:00 +01:00
Vladimir Serbinenko
4336b5d85e
* util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
...
modules to be in line with make_image_abs.
2013-11-18 02:03:36 +01:00
Vladimir Serbinenko
6aa6077bcc
* util/grub-mkrescue.c (main): Add trailing \n in
...
.disk_label.contentDetails to be in line with previous shell script.
2013-11-17 02:05:45 +01:00
Vladimir Serbinenko
66c00cb159
* util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
2013-11-17 02:03:03 +01:00
Vladimir Serbinenko
3a129dba59
* util/grub-install-common.c (grub_install_parse): Recognize
...
--compress=none like shell script did.
2013-11-17 02:01:21 +01:00
Vladimir Serbinenko
d4d55b29e0
* util/grub-install-common.c (platforms): Fix the order of entries and
...
remove useless field val.
2013-11-17 00:54:40 +01:00
Vladimir Serbinenko
55e2c84fe3
* util/grub-install.c: Add new option --no-bootsector to skip
...
installing of bootsector. Accept --grub-setup=/bin/true as
backwards-compatible synonym.
2013-11-16 21:11:01 +01:00
Leif Lindholm
15a463d742
ARM 64 port by Leif Lindholm
2013-11-16 20:52:55 +01:00
Vladimir Serbinenko
cd46aa6cef
Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
...
the function of these files exceeds what can be sanely handled in shell
in posix-comaptible way. Also writing it in C extends the functionality
to non-UNIX-like OS and minimal environments.
2013-11-16 20:21:16 +01:00
Colin Watson
23012db921
* util/grub-reboot.in (usage): Fix a typo.
2013-11-15 14:32:03 +00:00
Colin Watson
0de172a0c0
* util/grub-install_header: Set localedir here, since this file is
...
where it's used.
* util/grub-install.in: Remove setting of localedir.
* util/grub-mkrescue.in: Likewise.
2013-11-14 16:45:27 +00:00
Colin Watson
1326b9ae2a
* util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
...
unused variables.
2013-11-14 15:08:37 +00:00
Colin Watson
11b2a9b70b
* util/grub-install.in (efi_quiet): Fix inverted logic: make
...
efibootmgr quiet when --debug is not used, rather than when it is.
2013-11-13 13:05:39 +00:00
Colin Watson
d0d1e3dacb
* util/grub-editenv.c (help_filter, argp): Document how to delete
...
the whole environment block.
Reported by Dan Jacobson. Fixes Debian bug #726265 .
2013-11-13 02:15:57 +00:00
Lukas Schwaighofer
2d357558fb
* util/grub.d/20_linux_xen.in: Don't decompress initrd.
2013-11-12 21:03:27 +01:00
Vladimir Serbinenko
66acd9d64c
* util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
...
Add missing semicolon.
2013-11-11 22:49:52 +01:00
Vladimir Serbinenko
348d05359c
* util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
2013-11-11 22:48:43 +01:00
Vladimir Serbinenko
0d2d30bb39
* configure.ac: Check for lzma.h for enabling liblzma and allow
...
manual disabling.
2013-11-11 22:47:48 +01:00
Fam Zheng
e756ec8284
* util/grub.d/30_os-prober.in: Add minix entry.
2013-11-11 00:24:49 +01:00
Vladimir Serbinenko
881c6a1049
* util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
2013-11-10 19:34:19 +01:00
Vladimir Serbinenko
9612ebc00e
Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
...
XEN PV environment and load kernels.
2013-11-09 21:29:11 +01:00
Vladimir Serbinenko
d1307d873a
Import libgcrypt 1.5.3.
2013-11-07 06:35:50 +01:00
Vladimir Serbinenko
ec0ebb3fc2
Remove vestiges of -Wunsafe-loop-optimisations.
...
* conf/Makefile.common (CFLAGS_GNULIB): Remove
-Wno-unsafe-loop-optimisations.
* grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
pragma.
* grub-core/io/gzio.c: Likewise.
* grub-core/script/parser.y: Likewise.
* grub-core/script/yylex.l: Likewise.
* util/grub-mkfont.c: Likewise.
2013-11-07 02:25:31 +01:00
Vladimir Serbinenko
6ab537e324
* util/grub-mkfont.c (process_cursive): Remove nested function.
2013-11-07 02:13:30 +01:00
Vladimir Serbinenko
7cb24eb5ff
* util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
2013-11-07 01:04:06 +01:00
Vladimir Serbinenko
5701750c2c
* util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
...
assigning to itself.
2013-11-07 00:30:41 +01:00
Vladimir Serbinenko
323de05ba2
Support GRUB_DISABLE_SUBMENU config.
...
Inspired by patch from Prarit Bhargava.
2013-11-04 00:15:31 +01:00
Vladimir Serbinenko
bed78ef4e6
Revert "Attempts at ZFS options"
...
It was accidently committed to wrong branch
This reverts commit 0ee5cdfe9f
.
2013-11-03 16:52:33 +01:00
Vladimir Serbinenko
0ee5cdfe9f
Attempts at ZFS options
2013-11-03 16:40:32 +01:00
Vladimir Serbinenko
fb9f12a02d
* util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
2013-11-02 22:00:59 +01:00
Vladimir Serbinenko
4685200fa9
* util/grub-mount.c: Handle symlinks to directories.
2013-11-02 20:30:39 +01:00
Vladimir Serbinenko
a0c9d5c6d9
* util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
2013-11-02 19:16:36 +01:00
Vladimir Serbinenko
cb72aa1809
Rewrite blocklist functions in order to get progress when
...
reading large extents and decrease amount of blocklist hook calls.
2013-11-01 23:28:03 +01:00
Vladimir Serbinenko
9a021c5580
* util/grub-mkrescue.in: Do not use UUID search on EFI.
2013-11-01 16:05:15 +01:00
Vladimir Serbinenko
5177391ebe
* include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
...
and grub_hostfs_init.
2013-10-28 13:33:12 +01:00
Vladimir Serbinenko
30fd7198fe
* util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
...
fails.
2013-10-27 20:38:32 +01:00
Vladimir Serbinenko
cf880639f6
Revert " * util/grub-mkstandalone.in: Remove needless copying since we already"
...
The copying in question was needed.
This reverts commit 8154884dd4
.
2013-10-27 12:22:52 +01:00
Grégoire Sutre
f37bf9c778
* util/grub.d/00_header.in: Don't use LANG if it's not set.
2013-10-26 20:11:55 +02:00
Grégoire Sutre
67811a6fd4
* util/grub-mkconfig.in: Replace $0 with $self.
...
* util/grub-reboot.in: Likewise.
* util/grub-set-default.in: Likewise.
2013-10-26 20:05:29 +02:00
Vladimir 'phcoder' Serbinenko
cd78a56fb2
Move stat () and device mode checking into OS-dependent files as
...
long as performance doesn't suffer.
2013-10-19 16:29:20 +02:00
Vladimir 'phcoder' Serbinenko
663f6eb195
* util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
...
(load_image): Likewise.
2013-10-19 02:39:06 +02:00
Vladimir 'phcoder' Serbinenko
6f65237374
* util/grub-render-label.c: Move backend part to ...
...
* util/render-label.c: ... here.
2013-10-19 02:37:01 +02:00
Vladimir 'phcoder' Serbinenko
44d1c20a13
* util/grub-render-label.c: Move backend part to ...
...
* util/render-label.c: ... here.
2013-10-19 02:34:18 +02:00
Vladimir 'phcoder' Serbinenko
8154884dd4
* util/grub-mkstandalone.in: Remove needless copying since we already
...
pass the files to tar.
2013-10-17 01:12:22 +02:00
Hiroyuki YAMAMORI
ceca6ddf26
Handle Japanese special keys.
...
Reported by: Hiroyuki YAMAMORI.
Codes supplied by: Hiroyuki YAMAMORI.
2013-10-17 00:49:05 +02:00
Vladimir 'phcoder' Serbinenko
593816780e
* util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2013-10-15 21:25:18 +02:00
Vladimir 'phcoder' Serbinenko
bacfefbb0e
* util/grub-editenv.c (create_envblk_file): More from here ...
...
* util/editenv.c (grub_util_create_envblk_file): ... to here.
2013-10-15 21:23:54 +02:00
Vladimir 'phcoder' Serbinenko
df1e64c98e
Define grub_util_is_directory/regular/special_file and
...
use OS-dependent versions rather than to rely on stat().
2013-10-15 20:27:58 +02:00
Vladimir 'phcoder' Serbinenko
ec16e02639
* util/grub-mkimage.c: Move backend part to ...
...
* util/mkimage.c: ... here.
2013-10-15 19:14:55 +02:00
Vladimir 'phcoder' Serbinenko
f4e0adc0f9
Remove leftover references to some of the system headers.
2013-10-15 17:59:54 +02:00
Vladimir 'phcoder' Serbinenko
5a869940de
Split out blocklist retrieving from setup.c to
...
grub-core/osdep/blocklist.c and add windows implementation since
generic version doesn't work on NTFS on Windows due to aggressive
unflushable cache.
2013-10-15 17:02:26 +02:00
Vladimir 'phcoder' Serbinenko
c06c75201c
Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
...
files.
2013-10-15 16:16:04 +02:00
Vladimir 'phcoder' Serbinenko
588744d0dc
* util/grub-probe.c (probe): Separate different drives in hint-str
...
by spaces and not newlines.
* util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2013-10-14 18:27:29 +02:00
Vladimir 'phcoder' Serbinenko
66a1b3eeb7
* util/misc.c (grub_util_get_image_size): Use FILE functions rather than
...
stat.
2013-10-13 23:45:22 +02:00
Vladimir 'phcoder' Serbinenko
e19bec1715
* util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2013-10-13 23:44:07 +02:00
Vladimir 'phcoder' Serbinenko
bb338aaf24
Add a wrapper for fopen. On unix-like systems just pass-through. On
...
windows use unicode version.
2013-10-13 20:36:28 +02:00
Vladimir 'phcoder' Serbinenko
ae5540d3d4
Move set_program_name and init_nls to host_init. On windows
...
fix in this fuction console and argument charset as well.
2013-10-13 20:03:42 +02:00
Andrey Borzenkov
4cd3c4fec7
Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
...
GRUB_ENABLE_CRYPTODISK.
* util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
GRUB_ENABLE_CRYPTODISK.
* util/grub-mkconfig_lib.in: Likewise.
2013-10-12 08:17:05 +02:00
Vladimir 'phcoder' Serbinenko
ba9baabecd
* util/grub-setup.c (setup): Move copying of partition table as
...
futher up as possible to avoid possible overwrite by floppy routines.
2013-10-11 16:15:43 +02:00