Commit graph

4720 commits

Author SHA1 Message Date
Colin Watson
4db50964ad Add btrfs probing support, currently only in the single-device case.
* kern/emu/getroot.c (find_root_device_from_mountinfo): New
function.
(grub_guess_root_device): Call find_root_device_from_mountinfo
before looking in /dev.
2010-05-18 13:01:59 +01:00
Vladimir 'phcoder' Serbinenko
95b97950e2 * include/grub/i18n.h (gettext): Inline instead of using #define.
(grub_gettext): Likewise.
	(_): Likewise.
2010-05-18 14:00:51 +02:00
Vladimir 'phcoder' Serbinenko
01b8d2d787 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
-DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
	* util/grub-mkimage.c (image_targets): Add i386-multiboot.
	(main): Add a slash after pkglibdirroot.
2010-05-18 13:55:26 +02:00
Vladimir 'phcoder' Serbinenko
654e1d1e0e * util/grub-install.in: Add missing "in" keyword. 2010-05-18 13:45:25 +02:00
Vladimir 'phcoder' Serbinenko
26966aeba7 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-mkrescue.in: Remove -O i386-pc duplication.
	Reported by: Seth Goldberg.
2010-05-18 14:21:15 +02:00
Vladimir 'phcoder' Serbinenko
7500674773 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c. 2010-05-18 14:20:00 +02:00
Colin Watson
74cbf5bdcb * configure.ac: Check for Linux device-mapper support.
* util/hostdisk.c (device_is_mapped): New function.
(find_partition_start): New function, partly broken out from
linux_find_partition and grub_util_biosdisk_get_grub_dev but with
device-mapper support added.
(linux_find_partition): Use find_partition_start.
(convert_system_partition_to_system_disk): Add `st' argument.
Support Linux /dev/mapper/* devices if device-mapper support is
available; only DM-RAID devices are understood at present.
(find_system_device): Add `st' argument.  Pass it to
convert_system_partition_to_system_disk.
(grub_util_biosdisk_get_grub_dev): Pass stat result to
find_system_device and convert_system_partition_to_system_disk.  Use
find_partition_start.
* conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
* util/deviceiter.c [__linux__]: Define MINOR.
(grub_util_iterate_devices): Add support for DM-RAID disk devices.
* util/mkdevicemap.c (grub_putchar): New function.
(grub_getkey): New function.
(grub_refresh): New function.
(main): Set debug=all if -v -v is used.
2010-05-18 12:33:35 +01:00
Vladimir 'phcoder' Serbinenko
13f58ea31f merge mainline into newreloc 2010-05-18 13:19:42 +02:00
Colin Watson
355b51e9b5 Fix build with non-GNU libcs.
* util/misc.c (canonicalize_file_name): Move to ...
* kern/emu/misc.c (canonicalize_file_name): ... here.  Needed by
grub_make_system_path_relative_to_its_root.
2010-05-18 11:57:31 +01:00
Colin Watson
7fb5c25fd0 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
we handle finding grub-mkimage.  Default to finding grub-mkimage in
${bindir} with program_transform_name applied, and provide a
--grub-mkimage option to override this.
2010-05-18 11:51:37 +01:00
Colin Watson
e6127bed25 merge from trunk 2010-05-18 11:14:13 +01:00
Vladimir 'phcoder' Serbinenko
1d3293d67d Remove grub-mkisofs.
* conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
	(grub_mkisofs_SOURCES): Removed.
	(grub_mkisofs_CFLAGS): Removed.
	* util/mkisofs/defaults.h: Removed.
	* util/mkisofs/eltorito.c: Likewise.
	* util/mkisofs/exclude.h: Likewise.
	* util/mkisofs/hash.c: Likewise.
	* util/mkisofs/include/: Likewise.
	* util/mkisofs/include/fctldefs.h: Likewise.
	* util/mkisofs/include/mconfig.h: Likewise.
	* util/mkisofs/include/prototyp.h: Likewise.
	* util/mkisofs/include/statdefs.h: Likewise.
	* util/mkisofs/iso9660.h: Likewise.
	* util/mkisofs/joliet.c: Likewise.
	* util/mkisofs/match.c: Likewise.
	* util/mkisofs/match.h: Likewise.
	* util/mkisofs/mkisofs.c: Likewise.
	* util/mkisofs/mkisofs.h: Likewise.
	* util/mkisofs/msdos_partition.h: Likewise.
	* util/mkisofs/multi.c: Likewise.
	* util/mkisofs/name.c: Likewise.
	* util/mkisofs/rock.c: Likewise.
	* util/mkisofs/tree.c: Likewise.
	* util/mkisofs/write.c: Likewise.
2010-05-17 23:33:03 +02:00
Vladimir 'phcoder' Serbinenko
5dde9afe82 Unify grub-mkimage accross platforms.
* Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
	* conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
	(grub_mkelfimage_SOURCES): Removed.
	(util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
	(util/grub-mkimage.c_DEPENDENCIES): .. this.
	(bin_UTILITIES): Add grub-mkimage.
	(grub_mkimage_SOURCES): New variable.
	(kernel_img_HEADERS): Remove machine/kernel.h.
	* conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	(kernel_img_HEADERS): Add machine/kernel.h.
	(kernel_img_FORMAT): Removed.
	(bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	(bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	* conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	* conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
	(pkglib_PROGRAMS): Add kernel.img.
	(bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
	(grub_mkimage_SOURCES): Removed.
	(grub_mkimage_CFLAGS): Likewise.
	(util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
	* configure.ac (machine_CFLAGS): Add "-DMACHINE".
	* include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
	(grub_pe32_optional_header): ... this.
	(grub_pe64_optional_header): ... and this. All users updated.
	(GRUB_PE32_PE32_MAGIC): Split into ..
	(GRUB_PE32_PE32_MAGIC): .. this.
	(GRUB_PE32_PE64_MAGIC): .. and this.
	(GRUB_PE32_SIGNATURE_SIZE): New definition.
	* include/grub/elf.h (PT_GNU_STACK): New definition.
	* include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
	* include/grub/i386/efi/kernel.h: Likewise.
	* include/grub/i386/kernel.h: Likewise.
	* include/grub/i386/pc/kernel.h: Likewise.
	* include/grub/i386/qemu/boot.h: Likewise.
	* include/grub/mips/kernel.h: Likewise.
	* include/grub/mips/qemu-mips/kernel.h: Likewise.
	* include/grub/powerpc/ieee1275/kernel.h: Likewise.
	* include/grub/powerpc/kernel.h: Likewise.
	* include/grub/sparc64/ieee1275/boot.h: Likewise.
	* include/grub/sparc64/ieee1275/kernel.h: Likewise.
	* include/grub/sparc64/kernel.h: Likewise.
	* include/grub/x86_64/efi/kernel.h: Likewise.
	* include/grub/x86_64/kernel.h: Likewise.
	* include/grub/offsets.h: New file.
	* include/grub/kernel.h (grub_module_info): Split into ...
	(grub_module_info32): ... this.
	(grub_module_info64): ... and this.
	* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
	* include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
	(grub_boot_blocklist): Moved from here ...
	* include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
	* include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
	* include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
	* include/grub/types.h (grub_target_to_host16): Removed.
	(grub_target_to_host32): Likewise.
	(grub_target_to_host64): Likewise.
	(grub_host_to_target16): Likewise.
	(grub_host_to_target32): Likewise.
	(grub_host_to_target64): Likewise.
	(grub_host_to_target_addr): Likewise.

	Support grub-mkrescue for efi, coreboot and qemu.

	* conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
	* kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
	* util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
	* util/grub-mkrawimage.c: Moved from here ...
	* util/grub-mkimage.c: ... here. All users updated.
	(ALIGN_ADDR): Use image_target.
	(TARGET_NO_FIELD): New const.
	(image_target_desc): New type.
	(image_targets): New array.
	(grub_target_to_host64): Use image_target.
	(grub_target_to_host32): Likewise.
	(grub_target_to_host16): Likewise.
	(grub_host_to_target64): Likewise.
	(grub_host_to_target32): Likewise.
	(grub_host_to_target16): Likewise.
	(grub_host_to_target_addr): Likewise.
	(generate_image): Handle multiimage.
	(main): Require -O parameter. All users updated.
	* util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
	util/efi/grub-mkimage.c
	* util/grub-mkrescue.in: Handle coreboot, efi and qemu.
	New option --rom-directory.
	Use xorriso.
	* util/i386/efi/grub-mkimage.c: Removed.
	* util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
	(grub_target_to_host32): Likewise.
	(grub_target_to_host64): Likewise.
	(grub_host_to_target16): Likewise.
	(grub_host_to_target32): Likewise.
	(grub_host_to_target64): Likewise.
	* util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
	(grub_target_to_host32): Likewise.
	(grub_target_to_host64): Likewise.
	(grub_host_to_target16): Likewise.
	(grub_host_to_target32): Likewise.
	(grub_host_to_target64): Likewise.
2010-05-17 23:04:10 +02:00
Vladimir 'phcoder' Serbinenko
6198f888c9 Revert spurious change in Makefile.in 2010-05-17 22:28:51 +02:00
Vladimir 'phcoder' Serbinenko
8b26d1d30b add missing sh.mod 2010-05-17 22:23:22 +02:00
Vladimir 'phcoder' Serbinenko
7e70395f9c Cherrypick bugfixes and coreboot+qemu support from expermental 2010-05-17 21:35:39 +02:00
Vladimir 'phcoder' Serbinenko
918405fd8c merge mainline into rescue-efi 2010-05-17 21:26:16 +02:00
BVK Chaitanya
f4fc97d02a source tree reorg for emu platform 2010-05-17 21:10:53 +05:30
BVK Chaitanya
d2d32327a8 merge with mainline 2010-05-17 20:36:05 +05:30
BVK Chaitanya
c77d412448 pulled-in func-params branch 2010-05-17 10:53:35 +05:30
Vladimir 'phcoder' Serbinenko
967828eb5a macroify and share VGA registers 2010-05-17 02:25:37 +02:00
Vladimir 'phcoder' Serbinenko
368e544ba6 Add bochs video support 2010-05-17 01:18:50 +02:00
Vladimir 'phcoder' Serbinenko
9a3e298a7e Fix incorrect aperture size 2010-05-16 22:20:19 +02:00
Vladimir 'phcoder' Serbinenko
31e0ce4d10 Support index color in video_cirrus 2010-05-16 21:18:40 +02:00
Vladimir 'phcoder' Serbinenko
63c1b71cbb Cleanup hidden DAC part. 2010-05-16 20:44:44 +02:00
Vladimir 'phcoder' Serbinenko
d00b0b3f4d Support double buffering on video cirrus 2010-05-16 20:20:31 +02:00
Vladimir 'phcoder' Serbinenko
02aabd9e46 Encapsulate video_fb state in a structure 2010-05-16 15:01:54 +02:00
Vladimir 'phcoder' Serbinenko
26162102fa Move most framebuffer handling to video_fb.c 2010-05-16 14:40:03 +02:00
Vladimir 'phcoder' Serbinenko
94bf3dd564 somewhat working video_cirrus implementation 2010-05-16 01:32:07 +02:00
Vladimir 'phcoder' Serbinenko
65ce0931d0 Fix inconsistent grub_efiemu_finish_boot_services return type 2010-05-13 14:42:22 +02:00
BVK Chaitanya
e204c5d5e5 pull-in break-cmd branch 2010-05-13 10:45:16 +05:30
Vladimir 'phcoder' Serbinenko
cced9145fc Fix gfxmenu crash.
Reported by: Thorsten Grützmacher.

	* gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
	timeout hook.
	(circprog_set_property): Register and unregister timeout hook.
	* gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
	(label_destroy): Free template. and unregister hook.
	(label_set_state): New function.
	(label_set_property): Handle templates and hooks.
	* gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
	timeout hook.
	(progress_bar_set_property): Register and unregister timeout hook.
	* gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
	* include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
	* gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
	(update_timeout_visit): Removed.
	(update_timeouts): New function.
	(redraw_timeouts): Likewise.
	(grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
	(grub_gfxmenu_clear_timeout): Likewise.
	* include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
	(grub_gfxmenu_timeout_notify): Likewise.
	(grub_gfxmenu_timeout_notifications): New external variable.
	(grub_gfxmenu_timeout_register): New function.
	(grub_gfxmenu_timeout_unregister): Likewise.
2010-05-13 03:56:14 +02:00
Vladimir 'phcoder' Serbinenko
8f937bfe07 Fix makeactive syntax 2010-05-12 21:02:41 +02:00
Vladimir 'phcoder' Serbinenko
a408e05187 Add serial command 2010-05-12 18:24:02 +02:00
Vladimir 'phcoder' Serbinenko
67cb07a31b fix more bugs 2010-05-12 18:13:43 +02:00
Vladimir 'phcoder' Serbinenko
b07e88dc6a default support 2010-05-12 17:55:37 +02:00
Vladimir 'phcoder' Serbinenko
68cc4355f8 Fix few bugs and put a cleaner way to handle kernel command 2010-05-12 17:51:22 +02:00
Vladimir 'phcoder' Serbinenko
092fd48a25 legacy parser prototype 2010-05-12 15:19:01 +02:00
BVK Chaitanya
2e961bd737 pull-in func-params again 2010-05-12 17:59:09 +05:30
BVK Chaitanya
7b252ac27c few more testcases 2010-05-12 17:46:49 +05:30
BVK Chaitanya
b4cd82945a minor fix 2010-05-12 17:43:49 +05:30
BVK Chaitanya
45ab4f486f pull-in func-params branch 2010-05-12 17:35:07 +05:30
BVK Chaitanya
04888e8787 few more testcases added 2010-05-12 13:53:50 +05:30
BVK Chaitanya
53018ca6c3 minor fix 2010-05-12 13:12:49 +05:30
BVK Chaitanya
d13f69de73 handle failure case 2010-05-12 10:45:22 +05:30
BVK Chaitanya
263b0fa757 merge with mainline 2010-05-12 10:41:24 +05:30
BVK Chaitanya
49b9bacdee merge with mainline 2010-05-12 10:40:35 +05:30
BVK Chaitanya
a0167e8bdf rewrote arglist to argv conversion and added $@, $* support 2010-05-12 10:19:12 +05:30
BVK Chaitanya
01b0317f7b simplified nesting dynamic scopes 2010-05-11 10:52:10 +05:30
Vladimir 'phcoder' Serbinenko
9fbfb64abe adjust usb_keyboard for keylayouts 2010-05-10 21:25:46 +02:00