mirror of
https://git.proxmox.com/git/grub2
synced 2025-07-27 04:39:15 +00:00
New upstream snapshot.
This commit is contained in:
commit
6c6996fe24
64
.bzrignore → .gitignore
vendored
64
.bzrignore → .gitignore
vendored
@ -8,11 +8,16 @@
|
||||
*.1
|
||||
*.8
|
||||
aclocal.m4
|
||||
ahci_test
|
||||
ascii.bitmaps
|
||||
ascii.h
|
||||
autom4te.cache
|
||||
build_env.mk
|
||||
.bzrignore
|
||||
build-grub-gen-asciih
|
||||
build-grub-gen-widthspec
|
||||
build-grub-mkfont
|
||||
cdboot_test
|
||||
cmp_test
|
||||
config.cache
|
||||
config.guess
|
||||
config.h
|
||||
@ -22,35 +27,46 @@ config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
core_compress_test
|
||||
DISTLIST
|
||||
debian/grub-extras/*/conf/*.mk
|
||||
docs/*.info
|
||||
docs/stamp-vti
|
||||
docs/version.texi
|
||||
ehci_test
|
||||
*.elf
|
||||
example_grub_script_test
|
||||
example_scripted_test
|
||||
example_unit_test
|
||||
*.exec
|
||||
fddboot_test
|
||||
genkernsyms.sh
|
||||
gensymlist.sh
|
||||
gentrigtables
|
||||
gettext_strings_test
|
||||
grub-bin2h
|
||||
grub-bios-setup
|
||||
grub_cmd_date
|
||||
grub_cmd_echo
|
||||
grub_cmd_regexp
|
||||
grub_cmd_set_date
|
||||
grub_cmd_sleep
|
||||
grub-editenv
|
||||
grub-emu
|
||||
grub-emu-lite
|
||||
grub_emu_init.c
|
||||
grub_emu_init.h
|
||||
grub-fstest
|
||||
grub_fstest_init.c
|
||||
grub_fstest_init.h
|
||||
grub_func_test
|
||||
grub-install
|
||||
grub-kbdcomp
|
||||
grub-macho2img
|
||||
grub-menulst2cfg
|
||||
grub-mk*
|
||||
grub-mount
|
||||
grub-ofpathname
|
||||
grub-pe2elf
|
||||
grub-probe
|
||||
grub_probe_init.c
|
||||
@ -67,15 +83,22 @@ grub_script_continue
|
||||
grub_script_dollar
|
||||
grub_script_echo1
|
||||
grub_script_echo_keywords
|
||||
grub_script_escape_comma
|
||||
grub_script_eval
|
||||
grub_script_expansion
|
||||
grub_script_final_semicolon
|
||||
grub_script_for1
|
||||
grub_script_functions
|
||||
grub_script_gettext
|
||||
grub_script_if
|
||||
grub_script_leading_whitespace
|
||||
grub_script_no_commands
|
||||
grub_script_not
|
||||
grub_script_return
|
||||
grub_script_setparams
|
||||
grub_script_shift
|
||||
grub_script_strcmp
|
||||
grub_script_test
|
||||
grub_script_vars1
|
||||
grub_script_while1
|
||||
grub_script.tab.c
|
||||
@ -88,6 +111,10 @@ grub_setup_init.c
|
||||
grub_setup_init.h
|
||||
grub-shell
|
||||
grub-shell-tester
|
||||
grub-sparc64-setup
|
||||
gzcompress_test
|
||||
hddboot_test
|
||||
help_test
|
||||
*.img
|
||||
*.image
|
||||
include/grub/cpu
|
||||
@ -95,27 +122,40 @@ include/grub/machine
|
||||
install-sh
|
||||
lib/libgcrypt-grub
|
||||
libgrub_a_init.c
|
||||
*.log
|
||||
*.lst
|
||||
lzocompress_test
|
||||
*.marker
|
||||
Makefile
|
||||
*.mod
|
||||
mod-*.c
|
||||
missing
|
||||
netboot_test
|
||||
*.o
|
||||
*.a
|
||||
ohci_test
|
||||
partmap_test
|
||||
pata_test
|
||||
*.pf2
|
||||
*.pp
|
||||
po/*.mo
|
||||
po/grub.pot
|
||||
po/POTFILES
|
||||
po/stamp-po
|
||||
printf_test
|
||||
priority_queue_unit_test
|
||||
pseries_test
|
||||
stamp-h
|
||||
stamp-h1
|
||||
stamp-h.in
|
||||
symlist.c
|
||||
symlist.h
|
||||
trigtables.c
|
||||
*.trs
|
||||
uhci_test
|
||||
update-grub_lib
|
||||
unidata.c
|
||||
xzcompress_test
|
||||
Makefile.in
|
||||
GPATH
|
||||
GRTAGS
|
||||
@ -127,12 +167,13 @@ depcomp
|
||||
mdate-sh
|
||||
texinfo.tex
|
||||
grub-core/lib/libgcrypt-grub
|
||||
**/.deps
|
||||
**/.deps-util
|
||||
**/.deps-core
|
||||
**/.dirstamp
|
||||
.deps
|
||||
.deps-util
|
||||
.deps-core
|
||||
.dirstamp
|
||||
Makefile.util.am
|
||||
contrib
|
||||
grub-core/bootinfo.txt
|
||||
grub-core/Makefile.core.am
|
||||
grub-core/Makefile.gcry.def
|
||||
grub-core/contrib
|
||||
@ -140,6 +181,7 @@ grub-core/gdb_grub
|
||||
grub-core/genmod.sh
|
||||
grub-core/gensyminfo.sh
|
||||
grub-core/gmodule.pl
|
||||
grub-core/grub.chrp
|
||||
grub-core/modinfo.sh
|
||||
grub-core/*.module
|
||||
grub-core/*.pp
|
||||
@ -149,6 +191,7 @@ grub-core/gnulib/arg-nonnull.h
|
||||
grub-core/gnulib/c++defs.h
|
||||
grub-core/gnulib/charset.alias
|
||||
grub-core/gnulib/configmake.h
|
||||
grub-core/gnulib/float.h
|
||||
grub-core/gnulib/getopt.h
|
||||
grub-core/gnulib/langinfo.h
|
||||
grub-core/gnulib/ref-add.sed
|
||||
@ -171,3 +214,14 @@ Makefile.utilgcry.def
|
||||
po/*.po
|
||||
po/*.gmo
|
||||
po/LINGUAS
|
||||
po/remove-potcdate.sed
|
||||
include/grub/gcrypt/gcrypt.h
|
||||
include/grub/gcrypt/g10lib.h
|
||||
po/POTFILES.in
|
||||
po/POTFILES-shell.in
|
||||
grub-glue-efi
|
||||
grub-render-label
|
||||
grub-core/gnulib/locale.h
|
||||
grub-core/gnulib/unitypes.h
|
||||
grub-core/gnulib/uniwidth.h
|
||||
build-aux/test-driver
|
112
INSTALL
112
INSTALL
@ -12,6 +12,11 @@ you don't have any of them, please obtain and install them before
|
||||
configuring the GRUB.
|
||||
|
||||
* GCC 4.1.3 or later
|
||||
Note: older versions may work but support is limited
|
||||
Note: clang 3.2 or later works for i386 and x86_64 targets but results in
|
||||
much bigger binaries.
|
||||
Note: clang 3.2 or later works for arm
|
||||
Note: clang 3.4 or later works for powerpc
|
||||
* GNU Make
|
||||
* GNU Bison 2.3 or later
|
||||
* GNU gettext 0.17 or later
|
||||
@ -23,11 +28,11 @@ On GNU/Linux, you also need:
|
||||
|
||||
* libdevmapper 1.02.34 or later (recommended)
|
||||
|
||||
To build grub-emu, you need:
|
||||
For optional grub-emu features, you need:
|
||||
|
||||
* ncurses
|
||||
* libusb (recommended)
|
||||
* SDL (recommended)
|
||||
* libpciaccess (optional)
|
||||
* libusb (optional)
|
||||
|
||||
To build GRUB's graphical terminal (gfxterm), you need:
|
||||
|
||||
@ -45,6 +50,7 @@ need the following.
|
||||
Prerequisites for make-check:
|
||||
|
||||
* qemu, specifically the binary 'qemu-system-i386'
|
||||
* xorriso 1.2.9 or later, for grub-mkrescue and grub-shell
|
||||
|
||||
Configuring the GRUB
|
||||
====================
|
||||
@ -75,9 +81,14 @@ Building the GRUB
|
||||
|
||||
The simplest way to compile this package is:
|
||||
|
||||
1. `cd' to the directory containing the package's source code. If
|
||||
you don't use a release tarball you have to type `./autogen.sh'.
|
||||
Type `./configure' to configure the package for your system.
|
||||
1. `cd' to the directory containing the package's source code.
|
||||
|
||||
2. Skip this and following step if you use release tarball and proceed to
|
||||
step 4. If you want translations type `./linguas.sh'.
|
||||
|
||||
3. Type `./autogen.sh'.
|
||||
|
||||
4. Type `./configure' to configure the package for your system.
|
||||
If you're using `csh' on an old version of System V, you might
|
||||
need to type `sh ./configure' instead to prevent `csh' from trying
|
||||
to execute `configure' itself.
|
||||
@ -85,15 +96,15 @@ The simplest way to compile this package is:
|
||||
Running `configure' takes awhile. While running, it prints some
|
||||
messages telling which features it is checking for.
|
||||
|
||||
2. Type `make' to compile the package.
|
||||
6. Type `make' to compile the package.
|
||||
|
||||
3. Optionally, type `make check' to run any self-tests that come with
|
||||
7. Optionally, type `make check' to run any self-tests that come with
|
||||
the package.
|
||||
|
||||
4. Type `make install' to install the programs and any data files and
|
||||
8. Type `make install' to install the programs and any data files and
|
||||
documentation.
|
||||
|
||||
5. You can remove the program binaries and object files from the
|
||||
9. You can remove the program binaries and object files from the
|
||||
source code directory by typing `make clean'. To also remove the
|
||||
files that `configure' created (so you can compile the package for
|
||||
a different kind of computer), type `make distclean'. There is
|
||||
@ -102,6 +113,87 @@ The simplest way to compile this package is:
|
||||
all sorts of other programs in order to regenerate files that came
|
||||
with the distribution.
|
||||
|
||||
Cross-compiling the GRUB
|
||||
========================
|
||||
|
||||
GRUB defines 3 platforms:
|
||||
|
||||
- "Build" is the one which build systems runs on.
|
||||
- "Host" is where you execute GRUB utils.
|
||||
- "Target" is where GRUB itself runs.
|
||||
|
||||
For grub-emu host and target must be the same but may differ from build.
|
||||
|
||||
If build and host are different make check isn't available.
|
||||
|
||||
If build and host are different man pages are not generated.
|
||||
|
||||
As an example imagine you have a build system running on FreeBSD on sparc
|
||||
which prepares packages for developpers running amd64 GNU/Linux laptop and
|
||||
they need to make images for ARM board running U-boot. In this case:
|
||||
|
||||
build=sparc64-freebsd
|
||||
host=amd64-linux-gnu
|
||||
target=arm-uboot
|
||||
|
||||
For this example the configure line might look like (more details below)
|
||||
(some options are optional and included here for completeness but some rarely
|
||||
used options are omited):
|
||||
|
||||
./configure BUILD_CC=gcc BUILD_FREETYPE=freetype-config --host=amd64-linux-gnu
|
||||
CC=amd64-linux-gnu-gcc CFLAGS="-g -O2" FREETYPE=amd64-linux-gnu-freetype-config
|
||||
--target=arm --with-platform=uboot TARGET_CC=arm-elf-gcc
|
||||
TARGET_CFLAGS="-Os -march=armv6" TARGET_CCASFLAGS="-march=armv6"
|
||||
TARGET_OBJCOPY="arm-elf-objcopy" TARGET_STRIP="arm-elf-strip"
|
||||
TARGET_NM=arm-elf-nm TARGET_RANLIB=arm-elf-ranlib LEX=gflex
|
||||
|
||||
You need to use following options to specify tools and platforms. For minimum
|
||||
version look at prerequisites. All tools not mentioned in this section under
|
||||
corresponding platform are not needed for the platform in question.
|
||||
|
||||
- For build
|
||||
1. BUILD_CC= to gcc able to compile for build. This is used, for
|
||||
example, to compile build-gentrigtables which is then run to
|
||||
generate sin and cos tables.
|
||||
2. BUILD_CFLAGS= for C options for build.
|
||||
3. BUILD_CPPFLAGS= for C preprocessor options for build.
|
||||
4. BUILD_FREETYPE= for freetype-config for build (optional).
|
||||
|
||||
- For host
|
||||
1. --host= to autoconf name of host.
|
||||
2. CC= for gcc able to compile for host
|
||||
3. CFLAGS= for C options for host.
|
||||
4. CPPFLAGS= for C preprocessor options for host.
|
||||
5. LDFLAGS= for linker options for host.
|
||||
6. FREETYPE= for freetype-config for host (optional).
|
||||
7. Libdevmapper if any must be in standard linker folders (-ldevmapper) (optional).
|
||||
8. Libfuse if any must be in standard linker folders (-lfuse) (optional).
|
||||
9. Libzfs if any must be in standard linker folders (-lzfs) (optional).
|
||||
10. Liblzma if any must be in standard linker folders (-llzma) (optional).
|
||||
|
||||
- For target
|
||||
1. --target= to autoconf cpu name of target.
|
||||
2. --with-platform to choose firmware.
|
||||
3. TARGET_CC= for gcc able to compile for target
|
||||
4. TARGET_CFLAGS= for C options for target.
|
||||
5. TARGET_CPPFLAGS= for C preprocessor options for target.
|
||||
6. TARGET_CCASFLAGS= for assembler options for target.
|
||||
7. TARGET_LDFLAGS= for linker options for target.
|
||||
8. TARGET_OBJCOPY= for objcopy for target.
|
||||
9. TARGET_STRIP= for strip for target.
|
||||
10. TARGET_NM= for nm for target.
|
||||
11. TARGET_RANLIB= for ranlib for target.
|
||||
|
||||
- Additionally for emu, for host and target.
|
||||
1. SDL is looked for in stadard linker directories (-lSDL) (optional)
|
||||
2. libpciaccess is looked for in stadard linker directories (-lpciaccess) (optional)
|
||||
3. libusb is looked for in stadard linker directories (-lusb) (optional)
|
||||
|
||||
- Platform-agnostic tools and data.
|
||||
1. make is the tool you execute after ./configure.
|
||||
2. Bison is specified in YACC= variable
|
||||
3. Flex is specified in LEX= variable
|
||||
4. GNU unifont and Djvu sans are looked for in standard directories.
|
||||
|
||||
Compiling For Multiple Architectures
|
||||
====================================
|
||||
|
159
Makefile.am
159
Makefile.am
@ -60,63 +60,65 @@ grub_fstest_init.c: grub_fstest_init.lst $(top_srcdir)/geninit.sh
|
||||
sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1)
|
||||
CLEANFILES += grub_fstest_init.c
|
||||
|
||||
if COND_GRUB_MKFONT
|
||||
if COND_HAVE_FONT_SOURCE
|
||||
pkgdata_DATA += unicode.pf2 ascii.pf2 euro.pf2 ascii.h widthspec.h
|
||||
endif
|
||||
endif
|
||||
|
||||
starfield_theme_files = $(srcdir)/themes/starfield/blob_w.png $(srcdir)/themes/starfield/boot_menu_c.png $(srcdir)/themes/starfield/boot_menu_e.png $(srcdir)/themes/starfield/boot_menu_ne.png $(srcdir)/themes/starfield/boot_menu_n.png $(srcdir)/themes/starfield/boot_menu_nw.png $(srcdir)/themes/starfield/boot_menu_se.png $(srcdir)/themes/starfield/boot_menu_s.png $(srcdir)/themes/starfield/boot_menu_sw.png $(srcdir)/themes/starfield/boot_menu_w.png $(srcdir)/themes/starfield/slider_c.png $(srcdir)/themes/starfield/slider_n.png $(srcdir)/themes/starfield/slider_s.png $(srcdir)/themes/starfield/starfield.png $(srcdir)/themes/starfield/terminal_box_c.png $(srcdir)/themes/starfield/terminal_box_e.png $(srcdir)/themes/starfield/terminal_box_ne.png $(srcdir)/themes/starfield/terminal_box_n.png $(srcdir)/themes/starfield/terminal_box_nw.png $(srcdir)/themes/starfield/terminal_box_se.png $(srcdir)/themes/starfield/terminal_box_s.png $(srcdir)/themes/starfield/terminal_box_sw.png $(srcdir)/themes/starfield/terminal_box_w.png $(srcdir)/themes/starfield/theme.txt $(srcdir)/themes/starfield/README $(srcdir)/themes/starfield/COPYING.CC-BY-SA-3.0
|
||||
|
||||
build-grub-mkfont: util/grub-mkfont.c grub-core/unidata.c grub-core/kern/emu/misc.c util/misc.c
|
||||
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ $(build_freetype_cflags) $(build_freetype_libs)
|
||||
CLEANFILES += build-grub-mkfont
|
||||
|
||||
build-grub-gen-asciih: util/grub-gen-asciih.c
|
||||
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(build_freetype_cflags) $(build_freetype_libs) -Wall -Werror
|
||||
CLEANFILES += build-grub-gen-asciih
|
||||
|
||||
build-grub-gen-widthspec: util/grub-gen-widthspec.c
|
||||
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(build_freetype_cflags) $(build_freetype_libs) -Wall -Werror
|
||||
CLEANFILES += build-grub-gen-widthspec
|
||||
|
||||
if COND_STARFIELD
|
||||
starfield_DATA = dejavu_10.pf2 dejavu_12.pf2 dejavu_bold_14.pf2 dejavu_14.pf2 dejavu_16.pf2 $(starfield_theme_files)
|
||||
dejavu_10.pf2: $(DJVU_FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont -s 10 -o $@ $(DJVU_FONT_SOURCE)
|
||||
dejavu_12.pf2: $(DJVU_FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont -s 12 -o $@ $(DJVU_FONT_SOURCE)
|
||||
dejavu_14.pf2: $(DJVU_FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont -s 14 -o $@ $(DJVU_FONT_SOURCE)
|
||||
dejavu_bold_14.pf2: $(DJVU_FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont -b -s 14 -o $@ $(DJVU_FONT_SOURCE)
|
||||
dejavu_16.pf2: $(DJVU_FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont -s 16 -o $@ $(DJVU_FONT_SOURCE)
|
||||
dejavu_10.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont
|
||||
./build-grub-mkfont -s 10 -o $@ $(DJVU_FONT_SOURCE)
|
||||
dejavu_12.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont
|
||||
./build-grub-mkfont -s 12 -o $@ $(DJVU_FONT_SOURCE)
|
||||
dejavu_14.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont
|
||||
./build-grub-mkfont -s 14 -o $@ $(DJVU_FONT_SOURCE)
|
||||
dejavu_bold_14.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont
|
||||
./build-grub-mkfont -b -s 14 -o $@ $(DJVU_FONT_SOURCE)
|
||||
dejavu_16.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont
|
||||
./build-grub-mkfont -s 16 -o $@ $(DJVU_FONT_SOURCE)
|
||||
else
|
||||
starfield_DATA =
|
||||
starfield_DATA =
|
||||
endif
|
||||
|
||||
EXTRA_DIST += $(starfield_theme_files)
|
||||
EXTRA_DIST += $(srcdir)/themes/starfield/src/slider_s.xcf $(srcdir)/themes/starfield/src/slider_n.xcf $(srcdir)/themes/starfield/src/slider_c.xcf $(srcdir)/themes/starfield/src/blob_nw.xcf $(srcdir)/themes/starfield/src/bootmenu/center.xcf $(srcdir)/themes/starfield/src/bootmenu/corner.xcf $(srcdir)/themes/starfield/src/bootmenu/side.xcf $(srcdir)/themes/starfield/src/terminalbox/side.xcf $(srcdir)/themes/starfield/src/terminalbox/corner.xcf $(srcdir)/themes/starfield/src/terminalbox/center.xcf
|
||||
|
||||
unicode.pf2: $(FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont -o $@ $(FONT_SOURCE)
|
||||
unicode.pf2: $(FONT_SOURCE) build-grub-mkfont
|
||||
./build-grub-mkfont -o $@ $(FONT_SOURCE)
|
||||
CLEANFILES += unicode.pf2
|
||||
|
||||
# Arrows and lines are needed to draw the menu, so always include them
|
||||
UNICODE_ARROWS=0x2190-0x2193
|
||||
UNICODE_LINES=0x2501-0x251B
|
||||
|
||||
ascii.pf2: $(FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont -o $@ $(FONT_SOURCE) -r 0x0-0x7f,$(UNICODE_ARROWS),$(UNICODE_LINES)
|
||||
ascii.pf2: $(FONT_SOURCE) build-grub-mkfont
|
||||
./build-grub-mkfont -o $@ $(FONT_SOURCE) -r 0x0-0x7f,$(UNICODE_ARROWS),$(UNICODE_LINES)
|
||||
CLEANFILES += ascii.pf2
|
||||
|
||||
euro.pf2: $(FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont -o $@ $(FONT_SOURCE) -r 0x0-0x4ff,0x1e00-0x1fff,$(UNICODE_ARROWS),$(UNICODE_LINES)
|
||||
euro.pf2: $(FONT_SOURCE) build-grub-mkfont
|
||||
./build-grub-mkfont -o $@ $(FONT_SOURCE) -r 0x0-0x4ff,0x1e00-0x1fff,$(UNICODE_ARROWS),$(UNICODE_LINES)
|
||||
CLEANFILES += euro.pf2
|
||||
|
||||
ascii.bitmaps: $(FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont --ascii-bitmaps -o $@ $(FONT_SOURCE)
|
||||
CLEANFILES += ascii.bitmaps
|
||||
ascii.h: $(FONT_SOURCE) build-grub-gen-asciih
|
||||
./build-grub-gen-asciih $(FONT_SOURCE) $@
|
||||
CLEANFILES += ascii.h
|
||||
|
||||
ascii.h: ascii.bitmaps grub-bin2h
|
||||
$(builddir)/grub-bin2h ascii_bitmaps < $< > $@
|
||||
CLEANFILES += ascii.h $(top_builddir)/grub-core/include/ascii.h
|
||||
|
||||
widthspec.bin: $(FONT_SOURCE) grub-mkfont
|
||||
$(builddir)/grub-mkfont --width-spec -o $@ $(FONT_SOURCE)
|
||||
CLEANFILES += widthspec.bin
|
||||
|
||||
widthspec.h: widthspec.bin grub-bin2h
|
||||
$(builddir)/grub-bin2h widthspec < $< > $@
|
||||
widthspec.h: $(FONT_SOURCE) build-grub-gen-widthspec
|
||||
./build-grub-gen-widthspec $(FONT_SOURCE) $@
|
||||
CLEANFILES += widthspec.h
|
||||
|
||||
# Install config.h into platformdir
|
||||
@ -153,10 +155,10 @@ if COND_x86_64_efi
|
||||
QEMU32=qemu-system-x86_64
|
||||
endif
|
||||
|
||||
linux.init.x86_64: $(srcdir)/grub-core/tests/boot/linux.init-x86_64.S
|
||||
linux.init.x86_64: $(srcdir)/grub-core/tests/boot/linux.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(TARGET_CC) -o $@ $< -m64 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
|
||||
|
||||
linux.init.i386: $(srcdir)/grub-core/tests/boot/linux.init-i386.S
|
||||
linux.init.i386: $(srcdir)/grub-core/tests/boot/linux.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(TARGET_CC) -o $@ $< -m32 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
|
||||
|
||||
linux.init.mips: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
|
||||
@ -171,46 +173,46 @@ linux.init.mipsel: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
|
||||
linux.init.loongson: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
|
||||
$(TARGET_CC) -o $@ $< -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -DREBOOT=1
|
||||
|
||||
multiboot.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
||||
multiboot.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(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
|
||||
kfreebsd.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(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 -R .note.gnu.gold-version
|
||||
$(TARGET_OBJCOPY) -O a.out-i386-linux $< $@ -R .note.gnu.build-id -R .note.gnu.gold-version
|
||||
|
||||
pc-chainloader.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S
|
||||
pc-chainloader.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(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 -R .note.gnu.gold-version $< $@;
|
||||
$(TARGET_OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn -R .note.gnu.gold-version $< $@;
|
||||
|
||||
ntldr.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S
|
||||
ntldr.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(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 -R .note.gnu.gold-version $< $@;
|
||||
$(TARGET_OBJCOPY) -O binary --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn -R .note.gnu.gold-version $< $@;
|
||||
|
||||
multiboot2.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S
|
||||
multiboot2.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(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
|
||||
kfreebsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kfreebsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(TARGET_CC) -o $@ $< -m64 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
|
||||
|
||||
kfreebsd.init.i386: $(srcdir)/grub-core/tests/boot/kfreebsd.init-i386.S
|
||||
kfreebsd.init.i386: $(srcdir)/grub-core/tests/boot/kfreebsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(TARGET_CC) -o $@ $< -m32 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
|
||||
|
||||
knetbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S
|
||||
knetbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(TARGET_CC) -o $@ $< -m32 -nostdlib -nostdinc -DTARGET_NETBSD=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
|
||||
|
||||
kopenbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S
|
||||
kopenbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(TARGET_CC) -o $@ $< -m32 -nostdlib -nostdinc -DTARGET_OPENBSD=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
|
||||
|
||||
knetbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S
|
||||
knetbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(TARGET_CC) -o $@ $< -m64 -DTARGET_NETBSD=1 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
|
||||
|
||||
kopenbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S
|
||||
kopenbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
$(TARGET_CC) -o $@ $< -m64 -DTARGET_OPENBSD=1 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
|
||||
|
||||
linux-initramfs.mips: linux.init.mips Makefile
|
||||
@ -244,7 +246,7 @@ kopenbsd.image.x86_64: kopenbsd.init.x86_64 $(srcdir)/grub-core/tests/boot/kopen
|
||||
TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && mkdir $$TDIR/dev && mkdir $$TDIR/sbin && cp $< $$TDIR/sbin/init && makefs -F $(srcdir)/grub-core/tests/boot/kbsd.spec.txt -t ffs -s 128k -f 10 -o minfree=0,version=1 $@ $$TDIR && bsdlabel -f -R $@ $(srcdir)/grub-core/tests/boot/kopenbsdlabel.txt && rm -rf $$TDIR || rm -f $@
|
||||
|
||||
knetbsd.miniroot-image.i386.img: knetbsd.image.i386 $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.i386
|
||||
$(OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.i386 $@
|
||||
$(TARGET_OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.i386 $@
|
||||
|
||||
kfreebsd-mfsroot.x86_64.img: kfreebsd.init.x86_64 Makefile
|
||||
TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && mkdir $$TDIR/dev && mkdir $$TDIR/sbin && cp $< $$TDIR/sbin/init && makefs -t ffs -s 30m -f 1000 -o minfree=0,version=1 $@ $$TDIR && rm -rf $$TDIR
|
||||
@ -253,7 +255,7 @@ knetbsd.image.x86_64: knetbsd.init.x86_64 $(srcdir)/grub-core/tests/boot/kbsd.sp
|
||||
TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && mkdir $$TDIR/dev && mkdir $$TDIR/sbin && cp $< $$TDIR/sbin/init && makefs -F $(srcdir)/grub-core/tests/boot/kbsd.spec.txt -t ffs -s 64k -f 10 -o minfree=0,version=1 $@ $$TDIR && rm -rf $$TDIR
|
||||
|
||||
knetbsd.miniroot-image.x86_64.img: knetbsd.image.x86_64 $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.x86_64
|
||||
$(OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.x86_64 $@
|
||||
$(TARGET_OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.x86_64 $@
|
||||
|
||||
CLEANFILES += linux.init.i386 kfreebsd.init.i386 linux.init.x86_64 linux-initramfs.i386 linux-initramfs.x86_64
|
||||
|
||||
@ -261,70 +263,70 @@ kfreebsd-mfsroot.i386.gz: kfreebsd-mfsroot.i386.img
|
||||
gzip < $< > $@
|
||||
|
||||
bootcheck-kfreebsd-i386: kfreebsd-mfsroot.i386.gz $(GRUB_PAYLOADS_DIR)/kfreebsd.i386 $(GRUB_PAYLOADS_DIR)/kfreebsd_env.i386 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/mfsroot.gz=kfreebsd-mfsroot.i386.gz --files=/kfreebsd=$(GRUB_PAYLOADS_DIR)/kfreebsd.i386 --files=/kfreebsd_env=$(GRUB_PAYLOADS_DIR)/kfreebsd_env.i386 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/mfsroot.gz=kfreebsd-mfsroot.i386.gz --files=/kfreebsd=$(GRUB_PAYLOADS_DIR)/kfreebsd.i386 --files=/kfreebsd_env=$(GRUB_PAYLOADS_DIR)/kfreebsd_env.i386 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
kfreebsd-mfsroot.x86_64.gz: kfreebsd-mfsroot.x86_64.img
|
||||
gzip < $< > $@
|
||||
|
||||
bootcheck-kfreebsd-x86_64: kfreebsd-mfsroot.x86_64.gz $(GRUB_PAYLOADS_DIR)/kfreebsd.x86_64 $(GRUB_PAYLOADS_DIR)/kfreebsd_env.x86_64 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=qemu-system-x86_64 --files=/mfsroot.gz=kfreebsd-mfsroot.x86_64.gz --files=/kfreebsd=$(GRUB_PAYLOADS_DIR)/kfreebsd.x86_64 --files=/kfreebsd_env=$(GRUB_PAYLOADS_DIR)/kfreebsd_env.x86_64 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/mfsroot.gz=kfreebsd-mfsroot.x86_64.gz --files=/kfreebsd=$(GRUB_PAYLOADS_DIR)/kfreebsd.x86_64 --files=/kfreebsd_env=$(GRUB_PAYLOADS_DIR)/kfreebsd_env.x86_64 $(srcdir)/grub-core/tests/boot/kfreebsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
knetbsd.miniroot-image.i386.gz: knetbsd.miniroot-image.i386.img
|
||||
gzip < $< > $@
|
||||
|
||||
bootcheck-knetbsd-i386: knetbsd.miniroot-image.i386.gz $(GRUB_PAYLOADS_DIR)/knetbsd.i386 $(srcdir)/grub-core/tests/boot/knetbsd.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/miniroot.gz=knetbsd.miniroot-image.i386.gz --files=/knetbsd=$(GRUB_PAYLOADS_DIR)/knetbsd.i386 $(srcdir)/grub-core/tests/boot/knetbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/miniroot.gz=knetbsd.miniroot-image.i386.gz --files=/knetbsd=$(GRUB_PAYLOADS_DIR)/knetbsd.i386 $(srcdir)/grub-core/tests/boot/knetbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-kopenbsd-i386: kopenbsd.image.i386 $(GRUB_PAYLOADS_DIR)/kopenbsd.i386 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/ramdisk=kopenbsd.image.i386 --files=/kopenbsd=$(GRUB_PAYLOADS_DIR)/kopenbsd.i386 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/ramdisk=kopenbsd.image.i386 --files=/kopenbsd=$(GRUB_PAYLOADS_DIR)/kopenbsd.i386 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-kopenbsd-x86_64: kopenbsd.image.x86_64 $(GRUB_PAYLOADS_DIR)/kopenbsd.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=qemu-system-x86_64 --files=/ramdisk=kopenbsd.image.x86_64 --files=/kopenbsd=$(GRUB_PAYLOADS_DIR)/kopenbsd.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/ramdisk=kopenbsd.image.x86_64 --files=/kopenbsd=$(GRUB_PAYLOADS_DIR)/kopenbsd.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
knetbsd.miniroot-image.x86_64.gz: knetbsd.miniroot-image.x86_64.img
|
||||
gzip < $< > $@
|
||||
|
||||
bootcheck-knetbsd-x86_64: knetbsd.miniroot-image.x86_64.gz $(GRUB_PAYLOADS_DIR)/knetbsd.x86_64 $(srcdir)/grub-core/tests/boot/knetbsd.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=qemu-system-x86_64 --files=/miniroot.gz=knetbsd.miniroot-image.x86_64.gz --files=/knetbsd=$(GRUB_PAYLOADS_DIR)/knetbsd.x86_64 $(srcdir)/grub-core/tests/boot/knetbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/miniroot.gz=knetbsd.miniroot-image.x86_64.gz --files=/knetbsd=$(GRUB_PAYLOADS_DIR)/knetbsd.x86_64 $(srcdir)/grub-core/tests/boot/knetbsd.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-linux-i386: linux-initramfs.i386 $(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/initrd=linux-initramfs.i386 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/initrd=linux-initramfs.i386 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-linux-x86_64: linux-initramfs.x86_64 $(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=qemu-system-x86_64 --files=/initrd=linux-initramfs.x86_64 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/initrd=linux-initramfs.x86_64 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-linux-mips: linux-initramfs.mips $(GRUB_PAYLOADS_DIR)/linux.mips $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --files=/initrd=linux-initramfs.mips --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.mips $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --files=/initrd=linux-initramfs.mips --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.mips $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-linux-ppc: linux-initramfs.ppc $(GRUB_PAYLOADS_DIR)/linux.ppc $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --files=/initrd=linux-initramfs.ppc --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.ppc $(srcdir)/grub-core/tests/boot/linux-ppc.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --files=/initrd=linux-initramfs.ppc --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.ppc $(srcdir)/grub-core/tests/boot/linux-ppc.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-linux-mipsel: linux-initramfs.mipsel $(GRUB_PAYLOADS_DIR)/linux.mipsel $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --files=/initrd=linux-initramfs.mipsel --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.mipsel $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --files=/initrd=linux-initramfs.mipsel --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.mipsel $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-linux-loongson: linux-initramfs.loongson $(GRUB_PAYLOADS_DIR)/linux.loongson $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --files=/initrd=linux-initramfs.loongson --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.loongson $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --files=/initrd=linux-initramfs.loongson --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.loongson $(srcdir)/grub-core/tests/boot/linux.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-linux16-i386: linux-initramfs.i386 $(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/initrd=linux-initramfs.i386 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux16.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/initrd=linux-initramfs.i386 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux16.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-linux16-x86_64: linux-initramfs.x86_64 $(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=qemu-system-x86_64 --files=/initrd=linux-initramfs.x86_64 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux16.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=qemu-system-x86_64 --files=/initrd=linux-initramfs.x86_64 --files=/linux=$(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux16.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-multiboot: multiboot.elf $(srcdir)/grub-core/tests/boot/multiboot.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/multiboot.elf=multiboot.elf $(srcdir)/grub-core/tests/boot/multiboot.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/multiboot.elf=multiboot.elf $(srcdir)/grub-core/tests/boot/multiboot.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-multiboot2: multiboot2.elf $(srcdir)/grub-core/tests/boot/multiboot2.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/multiboot2.elf=multiboot2.elf $(srcdir)/grub-core/tests/boot/multiboot2.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/multiboot2.elf=multiboot2.elf $(srcdir)/grub-core/tests/boot/multiboot2.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-kfreebsd-aout: kfreebsd.aout $(srcdir)/grub-core/tests/boot/kfreebsd-aout.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/kfreebsd.aout=kfreebsd.aout $(srcdir)/grub-core/tests/boot/kfreebsd-aout.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/kfreebsd.aout=kfreebsd.aout $(srcdir)/grub-core/tests/boot/kfreebsd-aout.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-pc-chainloader: pc-chainloader.bin $(srcdir)/grub-core/tests/boot/pc-chainloader.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/pc-chainloader.bin=pc-chainloader.bin $(srcdir)/grub-core/tests/boot/pc-chainloader.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/pc-chainloader.bin=pc-chainloader.bin $(srcdir)/grub-core/tests/boot/pc-chainloader.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
bootcheck-ntldr: ntldr.bin $(srcdir)/grub-core/tests/boot/ntldr.cfg grub-shell
|
||||
timeout -s KILL $(BOOTCHECK_TIMEOUT) ./grub-shell --qemu=$(QEMU32) --files=/ntldr.bin=ntldr.bin $(srcdir)/grub-core/tests/boot/ntldr.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
./grub-shell --timeout=$(BOOTCHECK_TIMEOUT) --qemu=$(QEMU32) --files=/ntldr.bin=ntldr.bin $(srcdir)/grub-core/tests/boot/ntldr.cfg | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
|
||||
|
||||
if COND_i386_efi
|
||||
BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-knetbsd-x86_64 bootcheck-kfreebsd-x86_64 bootcheck-kfreebsd-i386
|
||||
@ -335,18 +337,17 @@ BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-
|
||||
endif
|
||||
|
||||
if COND_i386_multiboot
|
||||
# Freebsd crashes because memory at 0-0x1000 is occupied and requires ACPI
|
||||
# FreeBSD requires ACPI
|
||||
BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-knetbsd-x86_64
|
||||
endif
|
||||
|
||||
if COND_i386_coreboot
|
||||
# 64-bit NetBSD crashes because memory at 0-0x1000 is occupied
|
||||
# Freebsd crashes because memory at 0-0x1000 is occupied and requires ACPI
|
||||
BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
|
||||
# Freebsd requires ACPI
|
||||
BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-knetbsd-x86_64
|
||||
endif
|
||||
|
||||
if COND_i386_qemu
|
||||
# Freebsd crashes because memory at 0-0x1000 is occupied and requires ACPI
|
||||
# FreeBSD requires ACPI
|
||||
BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-knetbsd-x86_64
|
||||
endif
|
||||
|
||||
@ -377,7 +378,7 @@ if COND_powerpc_ieee1275
|
||||
BOOTCHECKS = bootcheck-linux-ppc
|
||||
endif
|
||||
|
||||
EXTRA_DIST += grub-core/tests/boot/kbsd.init-i386.S grub-core/tests/boot/kbsd.init-x86_64.S grub-core/tests/boot/kbsd.spec.txt grub-core/tests/boot/kernel-8086.S grub-core/tests/boot/kernel-i386.S grub-core/tests/boot/kfreebsd-aout.cfg grub-core/tests/boot/kfreebsd.cfg grub-core/tests/boot/kfreebsd.init-i386.S grub-core/tests/boot/kfreebsd.init-x86_64.S grub-core/tests/boot/knetbsd.cfg grub-core/tests/boot/kopenbsd.cfg grub-core/tests/boot/kopenbsdlabel.txt grub-core/tests/boot/linux16.cfg grub-core/tests/boot/linux.cfg grub-core/tests/boot/linux.init-i386.S grub-core/tests/boot/linux.init-x86_64.S grub-core/tests/boot/multiboot2.cfg grub-core/tests/boot/multiboot.cfg grub-core/tests/boot/ntldr.cfg grub-core/tests/boot/pc-chainloader.cfg
|
||||
EXTRA_DIST += grub-core/tests/boot/kbsd.init-i386.S grub-core/tests/boot/kbsd.init-x86_64.S grub-core/tests/boot/kbsd.spec.txt grub-core/tests/boot/kernel-8086.S grub-core/tests/boot/kernel-i386.S grub-core/tests/boot/kfreebsd-aout.cfg grub-core/tests/boot/kfreebsd.cfg grub-core/tests/boot/kfreebsd.init-i386.S grub-core/tests/boot/kfreebsd.init-x86_64.S grub-core/tests/boot/knetbsd.cfg grub-core/tests/boot/kopenbsd.cfg grub-core/tests/boot/kopenbsdlabel.txt grub-core/tests/boot/linux16.cfg grub-core/tests/boot/linux.cfg grub-core/tests/boot/linux.init-i386.S grub-core/tests/boot/linux.init-mips.S grub-core/tests/boot/linux.init-ppc.S grub-core/tests/boot/linux.init-x86_64.S grub-core/tests/boot/linux-ppc.cfg grub-core/tests/boot/multiboot2.cfg grub-core/tests/boot/multiboot.cfg grub-core/tests/boot/ntldr.cfg grub-core/tests/boot/pc-chainloader.cfg grub-core/tests/boot/qemu-shutdown-x86.S
|
||||
|
||||
.PHONY: bootcheck-linux-i386 bootcheck-linux-x86_64 \
|
||||
bootcheck-kfreebsd-i386 bootcheck-kfreebsd-x86_64 \
|
||||
@ -390,3 +391,11 @@ SUCCESSFUL_BOOT_STRING=3e49994fd5d82b7c9298d672d774080d
|
||||
BOOTCHECK_TIMEOUT=180
|
||||
|
||||
bootcheck: $(BOOTCHECKS)
|
||||
|
||||
if COND_i386_coreboot
|
||||
default_payload.elf: grub-mkstandalone grub-mkimage
|
||||
pkgdatadir=. ./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o $@ --modules='ahci ehci usbms part_msdos xfs ext2 fat at_keyboard part_gpt usbserial_usbdebug cbfs' --install-modules='ls linux search configfile normal cbtime cbls memrw iorw minicmd lsmmap lspci halt reboot hexdump pcidump setpci lsacpi chain' --fonts= --themes= --locales= -d grub-core/
|
||||
endif
|
||||
|
||||
|
||||
EXTRA_DIST += linguas.sh
|
||||
|
@ -9,9 +9,23 @@ library = {
|
||||
common = grub-core/kern/command.c;
|
||||
common = grub-core/kern/device.c;
|
||||
common = grub-core/kern/disk.c;
|
||||
common = grub-core/lib/disk.c;
|
||||
common = util/getroot.c;
|
||||
common = util/raid.c;
|
||||
common = grub-core/osdep/unix/getroot.c;
|
||||
common = grub-core/osdep/getroot.c;
|
||||
common = grub-core/osdep/devmapper/getroot.c;
|
||||
common = grub-core/osdep/relpath.c;
|
||||
extra_dist = grub-core/kern/disk_common.c;
|
||||
extra_dist = grub-core/osdep/unix/relpath.c;
|
||||
extra_dist = grub-core/osdep/aros/relpath.c;
|
||||
extra_dist = grub-core/osdep/windows/relpath.c;
|
||||
common = grub-core/kern/emu/hostdisk.c;
|
||||
common = grub-core/osdep/devmapper/hostdisk.c;
|
||||
common = grub-core/osdep/hostdisk.c;
|
||||
common = grub-core/osdep/unix/hostdisk.c;
|
||||
common = grub-core/osdep/exec.c;
|
||||
common = grub-core/osdep/sleep.c;
|
||||
common = grub-core/osdep/password.c;
|
||||
common = grub-core/kern/emu/misc.c;
|
||||
common = grub-core/kern/emu/mm.c;
|
||||
common = grub-core/kern/env.c;
|
||||
@ -32,11 +46,13 @@ library = {
|
||||
common = grub-core/disk/ldm.c;
|
||||
common = grub-core/disk/diskfilter.c;
|
||||
common = grub-core/partmap/gpt.c;
|
||||
common = grub-core/partmap/msdos.c;
|
||||
common = grub-core/fs/proc.c;
|
||||
};
|
||||
|
||||
library = {
|
||||
name = libgrubmods.a;
|
||||
cflags = '$(CFLAGS_POSIX) -Wno-undef -Wno-error=missing-noreturn';
|
||||
cflags = '-fno-builtin -Wno-undef';
|
||||
cppflags = '-I$(top_srcdir)/grub-core/lib/minilzo -I$(srcdir)/grub-core/lib/xzembed -DMINILZO_HAVE_CONFIG_H';
|
||||
|
||||
common_nodist = grub_script.tab.c;
|
||||
@ -57,10 +73,24 @@ library = {
|
||||
common = grub-core/disk/mdraid1x_linux.c;
|
||||
common = grub-core/disk/raid5_recover.c;
|
||||
common = grub-core/disk/raid6_recover.c;
|
||||
common = grub-core/font/font.c;
|
||||
common = grub-core/gfxmenu/font.c;
|
||||
common = grub-core/normal/charset.c;
|
||||
common = grub-core/video/fb/fbblit.c;
|
||||
common = grub-core/video/fb/fbutil.c;
|
||||
common = grub-core/video/fb/fbfill.c;
|
||||
common = grub-core/video/fb/video_fb.c;
|
||||
common = grub-core/video/video.c;
|
||||
common = grub-core/video/capture.c;
|
||||
common = grub-core/video/colors.c;
|
||||
common = grub-core/unidata.c;
|
||||
common = grub-core/io/bufio.c;
|
||||
common = grub-core/fs/affs.c;
|
||||
common = grub-core/fs/afs.c;
|
||||
common = grub-core/fs/bfs.c;
|
||||
common = grub-core/fs/btrfs.c;
|
||||
common = grub-core/fs/cbfs.c;
|
||||
common = grub-core/fs/archelp.c;
|
||||
common = grub-core/fs/cpio.c;
|
||||
common = grub-core/fs/cpio_be.c;
|
||||
common = grub-core/fs/odc.c;
|
||||
@ -71,6 +101,7 @@ library = {
|
||||
common = grub-core/fs/fshelp.c;
|
||||
common = grub-core/fs/hfs.c;
|
||||
common = grub-core/fs/hfsplus.c;
|
||||
common = grub-core/fs/hfspluscomp.c;
|
||||
common = grub-core/fs/iso9660.c;
|
||||
common = grub-core/fs/jfs.c;
|
||||
common = grub-core/fs/minix.c;
|
||||
@ -90,11 +121,13 @@ library = {
|
||||
common = grub-core/fs/udf.c;
|
||||
common = grub-core/fs/ufs2.c;
|
||||
common = grub-core/fs/ufs.c;
|
||||
common = grub-core/fs/ufs_be.c;
|
||||
common = grub-core/fs/xfs.c;
|
||||
common = grub-core/fs/zfs/zfscrypt.c;
|
||||
common = grub-core/fs/zfs/zfs.c;
|
||||
common = grub-core/fs/zfs/zfsinfo.c;
|
||||
common = grub-core/fs/zfs/zfs_lzjb.c;
|
||||
common = grub-core/fs/zfs/zfs_lz4.c;
|
||||
common = grub-core/fs/zfs/zfs_sha256.c;
|
||||
common = grub-core/fs/zfs/zfs_fletcher.c;
|
||||
common = grub-core/lib/envblk.c;
|
||||
@ -109,12 +142,12 @@ library = {
|
||||
common = grub-core/partmap/acorn.c;
|
||||
common = grub-core/partmap/amiga.c;
|
||||
common = grub-core/partmap/apple.c;
|
||||
common = grub-core/partmap/msdos.c;
|
||||
common = grub-core/partmap/sun.c;
|
||||
common = grub-core/partmap/plan.c;
|
||||
common = grub-core/partmap/dvh.c;
|
||||
common = grub-core/partmap/sunpc.c;
|
||||
common = grub-core/partmap/bsdlabel.c;
|
||||
common = grub-core/partmap/dfly.c;
|
||||
common = grub-core/script/function.c;
|
||||
common = grub-core/script/lexer.c;
|
||||
common = grub-core/script/main.c;
|
||||
@ -129,24 +162,17 @@ library = {
|
||||
common = grub-core/lib/xzembed/xz_dec_stream.c;
|
||||
};
|
||||
|
||||
program = {
|
||||
name = grub-bin2h;
|
||||
common = util/bin2h.c;
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER)';
|
||||
installdir = noinst;
|
||||
};
|
||||
|
||||
program = {
|
||||
name = grub-mkimage;
|
||||
mansection = 1;
|
||||
|
||||
common = util/grub-mkimage.c;
|
||||
common = util/mkimage.c;
|
||||
common = util/resolve.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
common = grub-core/kern/arm/dl_helper.c;
|
||||
|
||||
extra_dist = util/grub-mkimagexx.c;
|
||||
|
||||
@ -165,6 +191,7 @@ program = {
|
||||
|
||||
common = util/grub-mkrelpath.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
@ -179,6 +206,7 @@ program = {
|
||||
|
||||
common = util/grub-script-check.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
@ -192,6 +220,8 @@ program = {
|
||||
mansection = 1;
|
||||
|
||||
common = util/grub-editenv.c;
|
||||
common = util/editenv.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
@ -206,14 +236,14 @@ program = {
|
||||
|
||||
common = util/grub-mkpasswd-pbkdf2.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/osdep/random.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||
cflags = '$(CFLAGS_GCRY)';
|
||||
cppflags = '$(CPPFLAGS_GCRY)';
|
||||
};
|
||||
|
||||
program = {
|
||||
@ -223,19 +253,6 @@ program = {
|
||||
condition = COND_APPLE_CC;
|
||||
};
|
||||
|
||||
program = {
|
||||
name = grub-pe2elf;
|
||||
mansection = 1;
|
||||
common = util/grub-pe2elf.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBINTL)';
|
||||
condition = COND_GRUB_PE2ELF;
|
||||
};
|
||||
|
||||
program = {
|
||||
name = grub-fstest;
|
||||
mansection = 1;
|
||||
@ -243,9 +260,7 @@ program = {
|
||||
common = util/grub-fstest.c;
|
||||
common = grub-core/kern/emu/hostfs.c;
|
||||
common = grub-core/disk/host.c;
|
||||
|
||||
cflags = '$(CFLAGS_GCRY)';
|
||||
cppflags = '$(CPPFLAGS_GCRY)';
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
@ -261,6 +276,7 @@ program = {
|
||||
common = util/grub-mount.c;
|
||||
common = grub-core/kern/emu/hostfs.c;
|
||||
common = grub-core/disk/host.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
@ -274,10 +290,11 @@ program = {
|
||||
name = grub-mkfont;
|
||||
mansection = 1;
|
||||
common = util/grub-mkfont.c;
|
||||
common = grub-core/unidata.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
cflags = '$(freetype_cflags)';
|
||||
cppflags = '-DGRUB_MKFONT=1';
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
@ -309,8 +326,9 @@ program = {
|
||||
installdir = sbin;
|
||||
mansection = 8;
|
||||
common = util/grub-probe.c;
|
||||
common = util/ieee1275/ofpath.c;
|
||||
common = grub-core/osdep/ofpath.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
@ -324,16 +342,22 @@ program = {
|
||||
installdir = sbin;
|
||||
mansection = 8;
|
||||
common = util/grub-setup.c;
|
||||
common = util/lvm.c;
|
||||
common = util/setup_bios.c;
|
||||
extra_dist = util/setup.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/lib/reed_solomon.c;
|
||||
common = grub-core/osdep/blocklist.c;
|
||||
extra_dist = grub-core/osdep/generic/blocklist.c;
|
||||
extra_dist = grub-core/osdep/linux/blocklist.c;
|
||||
extra_dist = grub-core/osdep/windows/blocklist.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||
cppflags = '-DGRUB_SETUP_BIOS=1';
|
||||
cppflags = '-DGRUB_SETUP_FUNC=grub_util_bios_setup';
|
||||
};
|
||||
|
||||
program = {
|
||||
@ -341,17 +365,19 @@ program = {
|
||||
installdir = sbin;
|
||||
mansection = 8;
|
||||
common = util/grub-setup.c;
|
||||
common = util/lvm.c;
|
||||
common = util/setup_sparc.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/lib/reed_solomon.c;
|
||||
common = util/ieee1275/ofpath.c;
|
||||
common = grub-core/osdep/ofpath.c;
|
||||
common = grub-core/osdep/blocklist.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||
cppflags = '-DGRUB_SETUP_SPARC64=1';
|
||||
cppflags = '-DGRUB_SETUP_FUNC=grub_util_sparc_setup';
|
||||
};
|
||||
|
||||
program = {
|
||||
@ -359,7 +385,8 @@ program = {
|
||||
installdir = sbin;
|
||||
mansection = 8;
|
||||
common = util/ieee1275/grub-ofpathname.c;
|
||||
common = util/ieee1275/ofpath.c;
|
||||
common = grub-core/osdep/ofpath.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
@ -374,6 +401,7 @@ program = {
|
||||
|
||||
common = util/grub-mklayout.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
@ -476,26 +504,15 @@ script = {
|
||||
script = {
|
||||
mansection = 1;
|
||||
name = grub-mkrescue;
|
||||
x86 = util/grub-mkrescue.in;
|
||||
mips_qemu_mips = util/grub-mkrescue.in;
|
||||
mips_loongson = util/grub-mkrescue.in;
|
||||
ia64_efi = util/grub-mkrescue.in;
|
||||
powerpc_ieee1275 = util/powerpc/ieee1275/grub-mkrescue.in;
|
||||
enable = i386_pc;
|
||||
enable = i386_efi;
|
||||
enable = x86_64_efi;
|
||||
enable = i386_qemu;
|
||||
enable = i386_multiboot;
|
||||
enable = i386_coreboot;
|
||||
enable = mips_qemu_mips;
|
||||
enable = mips_loongson;
|
||||
enable = ia64_efi;
|
||||
enable = powerpc_ieee1275;
|
||||
common = util/grub-install_header;
|
||||
common = util/grub-mkrescue.in;
|
||||
enable = noemu;
|
||||
};
|
||||
|
||||
script = {
|
||||
mansection = 1;
|
||||
name = grub-mkstandalone;
|
||||
common = util/grub-install_header;
|
||||
common = util/grub-mkstandalone.in;
|
||||
};
|
||||
|
||||
@ -504,15 +521,17 @@ script = {
|
||||
installdir = sbin;
|
||||
name = grub-install;
|
||||
|
||||
common = util/grub-install_header;
|
||||
common = util/grub-install.in;
|
||||
enable = noemu;
|
||||
};
|
||||
|
||||
script = {
|
||||
mansection = 8;
|
||||
installdir = sbin;
|
||||
mansection = 1;
|
||||
installdir = bin;
|
||||
name = grub-mknetdir;
|
||||
|
||||
common = util/grub-install_header;
|
||||
common = util/grub-mknetdir.in;
|
||||
};
|
||||
|
||||
@ -567,12 +586,61 @@ script = {
|
||||
common = tests/example_scripted_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = gettext_strings_test;
|
||||
common = tests/gettext_strings_test.in;
|
||||
extra_dist = po/exclude.pot;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = pata_test;
|
||||
common = tests/pata_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = ahci_test;
|
||||
common = tests/ahci_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = uhci_test;
|
||||
common = tests/uhci_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = ohci_test;
|
||||
common = tests/ohci_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = ehci_test;
|
||||
common = tests/ehci_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = example_grub_script_test;
|
||||
common = tests/example_grub_script_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_script_eval;
|
||||
common = tests/grub_script_eval.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_script_test;
|
||||
common = tests/grub_script_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_script_echo1;
|
||||
@ -687,6 +755,24 @@ script = {
|
||||
common = tests/grub_cmd_regexp.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_cmd_date;
|
||||
common = tests/grub_cmd_date.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_cmd_set_date;
|
||||
common = tests/grub_cmd_set_date.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_cmd_sleep;
|
||||
common = tests/grub_cmd_sleep.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_script_expansion;
|
||||
@ -711,24 +797,114 @@ script = {
|
||||
common = tests/partmap_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = hddboot_test;
|
||||
common = tests/hddboot_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = fddboot_test;
|
||||
common = tests/fddboot_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = cdboot_test;
|
||||
common = tests/cdboot_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = netboot_test;
|
||||
common = tests/netboot_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = pseries_test;
|
||||
common = tests/pseries_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = core_compress_test;
|
||||
common = tests/core_compress_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = xzcompress_test;
|
||||
common = tests/xzcompress_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = gzcompress_test;
|
||||
common = tests/gzcompress_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = lzocompress_test;
|
||||
common = tests/lzocompress_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_cmd_echo;
|
||||
common = tests/grub_cmd_echo.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = help_test;
|
||||
common = tests/help_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_script_gettext;
|
||||
common = tests/grub_script_gettext.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_script_escape_comma;
|
||||
common = tests/grub_script_escape_comma.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_script_strcmp;
|
||||
common = tests/grub_script_strcmp.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = test_sha512sum;
|
||||
common = tests/test_sha512sum.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = test_unset;
|
||||
common = tests/test_unset.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_func_test;
|
||||
common = tests/grub_func_test.in;
|
||||
};
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
name = grub_cmd_tr;
|
||||
common = tests/grub_cmd_tr.in;
|
||||
};
|
||||
|
||||
program = {
|
||||
testcase;
|
||||
name = example_unit_test;
|
||||
@ -759,6 +935,38 @@ program = {
|
||||
ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||
};
|
||||
|
||||
program = {
|
||||
testcase;
|
||||
name = date_test;
|
||||
common = tests/date_unit_test.c;
|
||||
common = tests/lib/unit_test.c;
|
||||
common = grub-core/kern/list.c;
|
||||
common = grub-core/kern/misc.c;
|
||||
common = grub-core/tests/lib/test.c;
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||
};
|
||||
|
||||
program = {
|
||||
testcase;
|
||||
name = priority_queue_unit_test;
|
||||
common = tests/priority_queue_unit_test.cc;
|
||||
common = tests/lib/unit_test.c;
|
||||
common = grub-core/kern/list.c;
|
||||
common = grub-core/kern/misc.c;
|
||||
common = grub-core/tests/lib/test.c;
|
||||
common = grub-core/lib/priority_queue.c;
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||
condition = COND_HAVE_CXX;
|
||||
};
|
||||
|
||||
program = {
|
||||
testcase;
|
||||
name = cmp_test;
|
||||
@ -780,6 +988,41 @@ program = {
|
||||
common = util/grub-menulst2cfg.c;
|
||||
common = grub-core/lib/legacy_parse.c;
|
||||
common = grub-core/lib/i386/pc/vesa_modes_table.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||
};
|
||||
|
||||
program = {
|
||||
name = grub-glue-efi;
|
||||
mansection = 1;
|
||||
|
||||
common = util/grub-glue-efi.c;
|
||||
common = util/glue-efi.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
|
||||
};
|
||||
|
||||
program = {
|
||||
name = grub-render-label;
|
||||
mansection = 1;
|
||||
|
||||
common = util/grub-render-label.c;
|
||||
common = util/render-label.c;
|
||||
common = grub-core/kern/emu/argp_common.c;
|
||||
common = grub-core/kern/emu/hostfs.c;
|
||||
common = grub-core/disk/host.c;
|
||||
common = grub-core/osdep/init.c;
|
||||
|
||||
ldadd = libgrubmods.a;
|
||||
ldadd = libgrubgcry.a;
|
||||
|
2
NEWS
2
NEWS
@ -1,6 +1,6 @@
|
||||
New in 2.00:
|
||||
|
||||
* Appearence:
|
||||
* Appearance:
|
||||
* Official theme for gfxmenu (starfield)
|
||||
* Menu is organised with submenus.
|
||||
* Better default video mode selection using EDID.
|
||||
|
127
acinclude.m4
127
acinclude.m4
@ -74,7 +74,7 @@ AC_MSG_RESULT([$grub_cv_asm_uscore])
|
||||
dnl Some versions of `objcopy -O binary' vary their output depending
|
||||
dnl on the link address.
|
||||
AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE],
|
||||
[AC_MSG_CHECKING([whether ${OBJCOPY} works for absolute addresses])
|
||||
[AC_MSG_CHECKING([whether ${TARGET_OBJCOPY} works for absolute addresses])
|
||||
AC_CACHE_VAL(grub_cv_prog_objcopy_absolute,
|
||||
[cat > conftest.c <<\EOF
|
||||
void cmain (void);
|
||||
@ -95,9 +95,9 @@ for link_addr in 0x2000 0x8000 0x7C00; do
|
||||
else
|
||||
AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr])
|
||||
fi
|
||||
if AC_TRY_COMMAND([${OBJCOPY-objcopy} --only-section=.text -O binary conftest.exec conftest]); then :
|
||||
if AC_TRY_COMMAND([${TARGET_OBJCOPY-objcopy} --only-section=.text -O binary conftest.exec conftest]); then :
|
||||
else
|
||||
AC_MSG_ERROR([${OBJCOPY-objcopy} cannot create binary files])
|
||||
AC_MSG_ERROR([${TARGET_OBJCOPY-objcopy} cannot create binary files])
|
||||
fi
|
||||
if test ! -f conftest.old || AC_TRY_COMMAND([cmp -s conftest.old conftest]); then
|
||||
mv -f conftest conftest.old
|
||||
@ -134,6 +134,54 @@ if test "x$grub_cv_prog_ld_build_id_none" = xyes; then
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Supply -P to nm
|
||||
AC_DEFUN([grub_PROG_NM_MINUS_P],
|
||||
[AC_MSG_CHECKING([whether nm accepts -P])
|
||||
AC_CACHE_VAL(grub_cv_prog_nm_minus_p,
|
||||
[
|
||||
nm_minus_p_tmp_dir="$(mktemp -d "./confXXXXXX")"
|
||||
AC_LANG_CONFTEST([AC_LANG_PROGRAM([[]], [[]])])
|
||||
$TARGET_CC conftest.c -o "$nm_minus_p_tmp_dir/ef"
|
||||
if $TARGET_NM -P "$nm_minus_p_tmp_dir/ef" 2>&1 > /dev/null; then
|
||||
grub_cv_prog_nm_minus_p=yes
|
||||
else
|
||||
grub_cv_prog_nm_minus_p=no
|
||||
fi
|
||||
rm "$nm_minus_p_tmp_dir/ef"
|
||||
])
|
||||
AC_MSG_RESULT([$grub_cv_prog_nm_minus_p])
|
||||
|
||||
if test "x$grub_cv_prog_nm_minus_p" = xyes; then
|
||||
TARGET_NMFLAGS_MINUS_P="-P"
|
||||
else
|
||||
TARGET_NMFLAGS_MINUS_P=
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Supply --defined-only to nm
|
||||
AC_DEFUN([grub_PROG_NM_DEFINED_ONLY],
|
||||
[AC_MSG_CHECKING([whether nm accepts --defined-only])
|
||||
AC_CACHE_VAL(grub_cv_prog_nm_defined_only,
|
||||
[
|
||||
nm_defined_only_tmp_dir="$(mktemp -d "./confXXXXXX")"
|
||||
AC_LANG_CONFTEST([AC_LANG_PROGRAM([[]], [[]])])
|
||||
$TARGET_CC conftest.c -o "$nm_defined_only_tmp_dir/ef"
|
||||
if $TARGET_NM --defined-only "$nm_defined_only_tmp_dir/ef" 2>&1 > /dev/null; then
|
||||
grub_cv_prog_nm_defined_only=yes
|
||||
else
|
||||
grub_cv_prog_nm_defined_only=no
|
||||
fi
|
||||
rm "$nm_defined_only_tmp_dir/ef"
|
||||
])
|
||||
AC_MSG_RESULT([$grub_cv_prog_nm_defined_only])
|
||||
|
||||
if test "x$grub_cv_prog_nm_defined_only" = xyes; then
|
||||
TARGET_NMFLAGS_DEFINED_ONLY=--defined-only
|
||||
else
|
||||
TARGET_NMFLAGS_DEFINED_ONLY=
|
||||
fi
|
||||
])
|
||||
|
||||
|
||||
dnl Mass confusion!
|
||||
dnl Older versions of GAS interpret `.code16' to mean ``generate 32-bit
|
||||
@ -164,7 +212,7 @@ else
|
||||
sed -e s/@ADDR32@/addr32\;/ < conftest.s.in > conftest.s
|
||||
fi
|
||||
|
||||
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -c conftest.s]) && test -s conftest.o; then
|
||||
if AC_TRY_COMMAND([${CC-cc} ${TARGET_CCASFLAGS} ${CFLAGS} -c conftest.s]) && test -s conftest.o; then
|
||||
grub_cv_i386_asm_addr32=yes
|
||||
else
|
||||
grub_cv_i386_asm_addr32=no
|
||||
@ -174,21 +222,6 @@ rm -f conftest*])
|
||||
|
||||
AC_MSG_RESULT([$grub_cv_i386_asm_addr32])])
|
||||
|
||||
dnl check if our compiler is apple cc
|
||||
dnl because it requires numerous workarounds
|
||||
AC_DEFUN([grub_apple_cc],
|
||||
[AC_REQUIRE([AC_PROG_CC])
|
||||
AC_MSG_CHECKING([whether our compiler is apple cc])
|
||||
AC_CACHE_VAL(grub_cv_apple_cc,
|
||||
[if $CC -v 2>&1 | grep "Apple Inc." > /dev/null; then
|
||||
grub_cv_apple_cc=yes
|
||||
else
|
||||
grub_cv_apple_cc=no
|
||||
fi
|
||||
])
|
||||
|
||||
AC_MSG_RESULT([$grub_cv_apple_cc])])
|
||||
|
||||
dnl check if our target compiler is apple cc
|
||||
dnl because it requires numerous workarounds
|
||||
AC_DEFUN([grub_apple_target_cc],
|
||||
@ -218,7 +251,7 @@ AC_CACHE_VAL(grub_cv_i386_asm_prefix_requirement,
|
||||
l1: addr32 movb %al, l1
|
||||
EOF
|
||||
|
||||
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -c conftest.s]) && test -s conftest.o; then
|
||||
if AC_TRY_COMMAND([${CC-cc} ${TARGET_CCASFLAGS} ${CFLAGS} -c conftest.s]) && test -s conftest.o; then
|
||||
grub_cv_i386_asm_prefix_requirement=yes
|
||||
else
|
||||
grub_cv_i386_asm_prefix_requirement=no
|
||||
@ -313,32 +346,6 @@ else
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Check if the C compiler generates calls to `__enable_execute_stack()'.
|
||||
AC_DEFUN([grub_CHECK_ENABLE_EXECUTE_STACK],[
|
||||
AC_MSG_CHECKING([whether `$CC' generates calls to `__enable_execute_stack()'])
|
||||
AC_LANG_CONFTEST([AC_LANG_SOURCE([[
|
||||
void f (int (*p) (void));
|
||||
void g (int i)
|
||||
{
|
||||
int nestedfunc (void) { return i; }
|
||||
f (nestedfunc);
|
||||
}
|
||||
]])])
|
||||
if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -S conftest.c]) && test -s conftest.s; then
|
||||
true
|
||||
else
|
||||
AC_MSG_ERROR([${CC-cc} failed to produce assembly code])
|
||||
fi
|
||||
if grep __enable_execute_stack conftest.s >/dev/null 2>&1; then
|
||||
NEED_ENABLE_EXECUTE_STACK=1
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
NEED_ENABLE_EXECUTE_STACK=0
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
rm -f conftest*
|
||||
])
|
||||
|
||||
|
||||
dnl Check if the C compiler supports `-fstack-protector'.
|
||||
AC_DEFUN([grub_CHECK_STACK_PROTECTOR],[
|
||||
@ -369,7 +376,7 @@ AC_MSG_CHECKING([whether `$CC' accepts `-mstack-arg-probe'])
|
||||
AC_LANG_CONFTEST([AC_LANG_SOURCE([[
|
||||
void foo (void) { volatile char a[8]; a[3]; }
|
||||
]])])
|
||||
[if eval "$ac_compile -S -mstack-arg-probe -o conftest.s" 2> /dev/null; then]
|
||||
[if eval "$ac_compile -S -mstack-arg-probe -Werror -o conftest.s" 2> /dev/null; then]
|
||||
AC_MSG_RESULT([yes])
|
||||
[# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
|
||||
rm -f conftest.s
|
||||
@ -452,3 +459,29 @@ else
|
||||
AC_MSG_RESULT([no])
|
||||
[fi]
|
||||
])
|
||||
|
||||
dnl Create an output variable with the transformed name of a GRUB utility
|
||||
dnl program.
|
||||
AC_DEFUN([grub_TRANSFORM],[dnl
|
||||
AC_SUBST(AS_TR_SH([$1]), [`AS_ECHO([$1]) | sed "$program_transform_name"`])dnl
|
||||
])
|
||||
|
||||
dnl Check if the C compiler supports `-mno-unaligned-access'.
|
||||
AC_DEFUN([grub_CHECK_NO_UNALIGNED_ACCESS],[
|
||||
[# foobar
|
||||
nua_possible=yes]
|
||||
AC_MSG_CHECKING([whether `$CC' supports `-mno-unaligned-access'])
|
||||
AC_LANG_CONFTEST([AC_LANG_SOURCE([[
|
||||
int main() {
|
||||
return 0;
|
||||
}
|
||||
]])])
|
||||
|
||||
[if eval "$ac_compile -S -mno-unaligned-access -o conftest.s" 2> /dev/null; then]
|
||||
AC_MSG_RESULT([yes])
|
||||
[rm -f conftest.s
|
||||
else
|
||||
nua_possible=no]
|
||||
AC_MSG_RESULT([no])
|
||||
[fi]
|
||||
])
|
||||
|
20
autogen.sh
20
autogen.sh
@ -2,10 +2,12 @@
|
||||
|
||||
set -e
|
||||
|
||||
export LC_CTYPE=C
|
||||
export LC_COLLATE=C
|
||||
unset LC_ALL
|
||||
|
||||
find . -iname '*.[ch]' ! -ipath './grub-core/lib/libgcrypt-grub/*' ! -ipath './build-aux/*' ! -ipath './grub-core/lib/libgcrypt/src/misc.c' ! -ipath './grub-core/lib/libgcrypt/src/global.c' ! -ipath './grub-core/lib/libgcrypt/src/secmem.c' ! -ipath './util/grub-gen-widthspec.c' ! -ipath './util/grub-gen-asciih.c' |sort > po/POTFILES.in
|
||||
find util -iname '*.in' ! -name Makefile.in |sort > po/POTFILES-shell.in
|
||||
|
||||
autogen --version >/dev/null || exit 1
|
||||
|
||||
echo "Importing unicode..."
|
||||
@ -13,6 +15,22 @@ python util/import_unicode.py unicode/UnicodeData.txt unicode/BidiMirroring.txt
|
||||
|
||||
echo "Importing libgcrypt..."
|
||||
python util/import_gcry.py grub-core/lib/libgcrypt/ grub-core
|
||||
sed -n -f util/import_gcrypth.sed < grub-core/lib/libgcrypt/src/gcrypt.h.in > include/grub/gcrypt/gcrypt.h
|
||||
if [ -f include/grub/gcrypt/g10lib.h ]; then
|
||||
rm include/grub/gcrypt/g10lib.h
|
||||
fi
|
||||
if [ -d grub-core/lib/libgcrypt-grub/mpi/generic ]; then
|
||||
rm -rf grub-core/lib/libgcrypt-grub/mpi/generic
|
||||
fi
|
||||
ln -s ../../../grub-core/lib/libgcrypt-grub/src/g10lib.h include/grub/gcrypt/g10lib.h
|
||||
cp -R grub-core/lib/libgcrypt/mpi/generic grub-core/lib/libgcrypt-grub/mpi/generic
|
||||
|
||||
for x in mpi-asm-defs.h mpih-add1.c mpih-sub1.c mpih-mul1.c mpih-mul2.c mpih-mul3.c mpih-lshift.c mpih-rshift.c; do
|
||||
if [ -h grub-core/lib/libgcrypt-grub/mpi/"$x" ] || [ -f grub-core/lib/libgcrypt-grub/mpi/"$x" ]; then
|
||||
rm grub-core/lib/libgcrypt-grub/mpi/"$x"
|
||||
fi
|
||||
ln -s generic/"$x" grub-core/lib/libgcrypt-grub/mpi/"$x"
|
||||
done
|
||||
|
||||
echo "Creating Makefile.tpl..."
|
||||
python gentpl.py | sed -e '/^$/{N;/^\n$/D;}' > Makefile.tpl
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Output a system dependent set of variables, describing how to set the
|
||||
# run time search path of shared libraries in an executable.
|
||||
#
|
||||
# Copyright 1996-2006 Free Software Foundation, Inc.
|
||||
# Copyright 1996-2013 Free Software Foundation, Inc.
|
||||
# Taken from GNU libtool, 2001
|
||||
# Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
|
||||
#
|
||||
@ -25,7 +25,7 @@
|
||||
# known workaround is to choose shorter directory names for the build
|
||||
# directory and/or the installation directory.
|
||||
|
||||
# All known linkers require a `.a' archive for static linking (except MSVC,
|
||||
# All known linkers require a '.a' archive for static linking (except MSVC,
|
||||
# which needs '.lib').
|
||||
libext=a
|
||||
shrext=.so
|
||||
@ -47,7 +47,7 @@ for cc_temp in $CC""; do
|
||||
done
|
||||
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
|
||||
# Code taken from libtool.m4's _LT_COMPILER_PIC.
|
||||
|
||||
wl=
|
||||
if test "$GCC" = yes; then
|
||||
@ -57,14 +57,7 @@ else
|
||||
aix*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
darwin*)
|
||||
case $cc_basename in
|
||||
xlc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
mingw* | pw32* | os2*)
|
||||
mingw* | cygwin* | pw32* | os2* | cegcc*)
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
wl='-Wl,'
|
||||
@ -72,24 +65,37 @@ else
|
||||
irix5* | irix6* | nonstopux*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
newsos6)
|
||||
;;
|
||||
linux*)
|
||||
linux* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
case $cc_basename in
|
||||
icc* | ecc*)
|
||||
ecc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
pgcc | pgf77 | pgf90)
|
||||
icc* | ifort*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
lf95*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
nagfor*)
|
||||
wl='-Wl,-Wl,,'
|
||||
;;
|
||||
pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
ccc*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
xl* | bgxl* | bgf* | mpixl*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
como)
|
||||
wl='-lopt='
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
*Sun\ F* | *Sun*Fortran*)
|
||||
wl=
|
||||
;;
|
||||
*Sun\ C*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
@ -97,22 +103,36 @@ else
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
newsos6)
|
||||
;;
|
||||
*nto* | *qnx*)
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sco3.2v5*)
|
||||
rdos*)
|
||||
;;
|
||||
solaris*)
|
||||
wl='-Wl,'
|
||||
case $cc_basename in
|
||||
f77* | f90* | f95* | sunf77* | sunf90* | sunf95*)
|
||||
wl='-Qoption ld '
|
||||
;;
|
||||
*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
sunos4*)
|
||||
wl='-Qoption ld '
|
||||
;;
|
||||
sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
|
||||
sysv4 | sysv4.2uw2* | sysv4.3*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
sysv4*MP*)
|
||||
;;
|
||||
sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
unicos*)
|
||||
wl='-Wl,'
|
||||
;;
|
||||
@ -121,7 +141,7 @@ else
|
||||
esac
|
||||
fi
|
||||
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
|
||||
# Code taken from libtool.m4's _LT_LINKER_SHLIBS.
|
||||
|
||||
hardcode_libdir_flag_spec=
|
||||
hardcode_libdir_separator=
|
||||
@ -129,7 +149,7 @@ hardcode_direct=no
|
||||
hardcode_minus_L=no
|
||||
|
||||
case "$host_os" in
|
||||
cygwin* | mingw* | pw32*)
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
@ -155,22 +175,21 @@ if test "$with_gnu_ld" = yes; then
|
||||
# option of GNU ld is called -rpath, not --rpath.
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
case "$host_os" in
|
||||
aix3* | aix4* | aix5*)
|
||||
aix[3-9]*)
|
||||
# On AIX/PPC, the GNU linker is very broken
|
||||
if test "$host_cpu" != ia64; then
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
|
||||
# that the semantics of dynamic libraries on AmigaOS, at least up
|
||||
# to version 4, is to share data among multiple programs linked
|
||||
# with the same dynamic library. Since this doesn't match the
|
||||
# behavior of shared libraries on other platforms, we cannot use
|
||||
# them.
|
||||
ld_shlibs=no
|
||||
case "$host_cpu" in
|
||||
powerpc)
|
||||
;;
|
||||
m68k)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
beos*)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
@ -179,7 +198,7 @@ if test "$with_gnu_ld" = yes; then
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
@ -189,11 +208,13 @@ if test "$with_gnu_ld" = yes; then
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
interix3*)
|
||||
haiku*)
|
||||
;;
|
||||
interix[3-9]*)
|
||||
hardcode_direct=no
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
;;
|
||||
linux*)
|
||||
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
|
||||
:
|
||||
else
|
||||
@ -251,7 +272,7 @@ else
|
||||
hardcode_direct=unsupported
|
||||
fi
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
aix[4-9]*)
|
||||
if test "$host_cpu" = ia64; then
|
||||
# On IA64, the linker does run time linking by default, so we don't
|
||||
# have to do anything special.
|
||||
@ -261,7 +282,7 @@ else
|
||||
# Test if we are trying to use run time linking or normal
|
||||
# AIX style linking. If -brtl is somewhere in LDFLAGS, we
|
||||
# need to do runtime linking.
|
||||
case $host_os in aix4.[23]|aix4.[23].*|aix5*)
|
||||
case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
|
||||
for ld_flag in $LDFLAGS; do
|
||||
if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
|
||||
aix_use_runtimelinking=yes
|
||||
@ -280,7 +301,7 @@ else
|
||||
strings "$collect2name" | grep resolve_lib_name >/dev/null
|
||||
then
|
||||
# We have reworked collect2
|
||||
hardcode_direct=yes
|
||||
:
|
||||
else
|
||||
# We have old collect2
|
||||
hardcode_direct=unsupported
|
||||
@ -316,14 +337,18 @@ else
|
||||
fi
|
||||
;;
|
||||
amigaos*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
# see comment about different semantics on the GNU ld section
|
||||
ld_shlibs=no
|
||||
case "$host_cpu" in
|
||||
powerpc)
|
||||
;;
|
||||
m68k)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
bsdi[45]*)
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
@ -333,24 +358,15 @@ else
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
hardcode_direct=no
|
||||
if test "$GCC" = yes ; then
|
||||
if { case $cc_basename in ifort*) true;; *) test "$GCC" = yes;; esac; }; then
|
||||
:
|
||||
else
|
||||
case $cc_basename in
|
||||
xlc*)
|
||||
;;
|
||||
*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
esac
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
dgux*)
|
||||
hardcode_libdir_flag_spec='-L$libdir'
|
||||
;;
|
||||
freebsd1*)
|
||||
ld_shlibs=no
|
||||
;;
|
||||
freebsd2.2*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
@ -359,7 +375,7 @@ else
|
||||
hardcode_direct=yes
|
||||
hardcode_minus_L=yes
|
||||
;;
|
||||
freebsd* | kfreebsd*-gnu | dragonfly*)
|
||||
freebsd* | dragonfly*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
;;
|
||||
@ -411,19 +427,25 @@ else
|
||||
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
|
||||
hardcode_libdir_separator=:
|
||||
;;
|
||||
*nto* | *qnx*)
|
||||
;;
|
||||
openbsd*)
|
||||
hardcode_direct=yes
|
||||
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
if test -f /usr/libexec/ld.so; then
|
||||
hardcode_direct=yes
|
||||
if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
else
|
||||
case "$host_os" in
|
||||
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
else
|
||||
case "$host_os" in
|
||||
openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
;;
|
||||
*)
|
||||
hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
|
||||
;;
|
||||
esac
|
||||
ld_shlibs=no
|
||||
fi
|
||||
;;
|
||||
os2*)
|
||||
@ -471,7 +493,7 @@ else
|
||||
ld_shlibs=yes
|
||||
fi
|
||||
;;
|
||||
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
|
||||
sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6*)
|
||||
hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
|
||||
@ -487,34 +509,58 @@ else
|
||||
fi
|
||||
|
||||
# Check dynamic linker characteristics
|
||||
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
|
||||
# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER.
|
||||
# Unlike libtool.m4, here we don't care about _all_ names of the library, but
|
||||
# only about the one the linker finds when passed -lNAME. This is the last
|
||||
# element of library_names_spec in libtool.m4, or possibly two of them if the
|
||||
# linker has special search rules.
|
||||
library_names_spec= # the last element of library_names_spec in libtool.m4
|
||||
libname_spec='lib$name'
|
||||
case "$host_os" in
|
||||
aix3*)
|
||||
library_names_spec='$libname.a'
|
||||
;;
|
||||
aix4* | aix5*)
|
||||
aix[4-9]*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
amigaos*)
|
||||
case "$host_cpu" in
|
||||
powerpc*)
|
||||
library_names_spec='$libname$shrext' ;;
|
||||
m68k)
|
||||
library_names_spec='$libname.a' ;;
|
||||
esac
|
||||
;;
|
||||
beos*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
bsdi[45]*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
cygwin* | mingw* | pw32*)
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
shrext=.dll
|
||||
library_names_spec='$libname.dll.a $libname.lib'
|
||||
;;
|
||||
darwin* | rhapsody*)
|
||||
shrext=.dylib
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
dgux*)
|
||||
;;
|
||||
freebsd1*)
|
||||
;;
|
||||
kfreebsd*-gnu)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
freebsd* | dragonfly*)
|
||||
case "$host_os" in
|
||||
freebsd[123]*)
|
||||
library_names_spec='$libname$shrext$versuffix' ;;
|
||||
*)
|
||||
library_names_spec='$libname$shrext' ;;
|
||||
esac
|
||||
;;
|
||||
gnu*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
haiku*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
case $host_cpu in
|
||||
@ -528,10 +574,13 @@ case "$host_os" in
|
||||
shrext=.sl
|
||||
;;
|
||||
esac
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
interix3*)
|
||||
interix[3-9]*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
irix5* | irix6* | nonstopux*)
|
||||
library_names_spec='$libname$shrext'
|
||||
case "$host_os" in
|
||||
irix5* | nonstopux*)
|
||||
libsuff= shlibsuff=
|
||||
@ -548,41 +597,62 @@ case "$host_os" in
|
||||
;;
|
||||
linux*oldld* | linux*aout* | linux*coff*)
|
||||
;;
|
||||
linux*)
|
||||
linux* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
knetbsd*-gnu)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
netbsd*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
newsos6)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
nto-qnx*)
|
||||
*nto* | *qnx*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
openbsd*)
|
||||
library_names_spec='$libname$shrext$versuffix'
|
||||
;;
|
||||
os2*)
|
||||
libname_spec='$name'
|
||||
shrext=.dll
|
||||
library_names_spec='$libname.a'
|
||||
;;
|
||||
osf3* | osf4* | osf5*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
rdos*)
|
||||
;;
|
||||
solaris*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
sunos4*)
|
||||
library_names_spec='$libname$shrext$versuffix'
|
||||
;;
|
||||
sysv4 | sysv4.3*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
sysv4*MP*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
tpf*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
uts4*)
|
||||
library_names_spec='$libname$shrext'
|
||||
;;
|
||||
esac
|
||||
|
||||
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
|
||||
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
|
||||
escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
|
||||
|
||||
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
|
||||
@ -596,6 +666,12 @@ libext="$libext"
|
||||
# Shared library suffix (normally "so").
|
||||
shlibext="$shlibext"
|
||||
|
||||
# Format of library name prefix.
|
||||
libname_spec="$escaped_libname_spec"
|
||||
|
||||
# Library names that the linker finds when passed -lNAME.
|
||||
library_names_spec="$escaped_library_names_spec"
|
||||
|
||||
# Flag to hardcode \$libdir into a binary during linking.
|
||||
# This must work even if \$libdir does not exist.
|
||||
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
|
||||
|
10
build-aux/snippet/_Noreturn.h
Normal file
10
build-aux/snippet/_Noreturn.h
Normal file
@ -0,0 +1,10 @@
|
||||
#if !defined _Noreturn && __STDC_VERSION__ < 201112
|
||||
# if (3 <= __GNUC__ || (__GNUC__ == 2 && 8 <= __GNUC_MINOR__) \
|
||||
|| 0x5110 <= __SUNPRO_C)
|
||||
# define _Noreturn __attribute__ ((__noreturn__))
|
||||
# elif 1200 <= _MSC_VER
|
||||
# define _Noreturn __declspec (noreturn)
|
||||
# else
|
||||
# define _Noreturn
|
||||
# endif
|
||||
#endif
|
@ -1,5 +1,5 @@
|
||||
/* A C macro for declaring that specific arguments must not be NULL.
|
||||
Copyright (C) 2009, 2010 Free Software Foundation, Inc.
|
||||
Copyright (C) 2009-2013 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published
|
||||
@ -9,7 +9,7 @@
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
@ -1,5 +1,5 @@
|
||||
/* C++ compatible function declaration macros.
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2013 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published
|
||||
@ -9,7 +9,7 @@
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
@ -1,5 +1,5 @@
|
||||
/* A C macro for emitting warnings if a function is used.
|
||||
Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2013 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software: you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published
|
||||
@ -9,7 +9,7 @@
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
@ -55,7 +55,7 @@
|
||||
rather than issue the nice warning, but the end result of informing
|
||||
the developer about their portability problem is still achieved):
|
||||
#if HAVE_RAW_DECL_ENVIRON
|
||||
static inline char ***rpl_environ (void) { return &environ; }
|
||||
static char ***rpl_environ (void) { return &environ; }
|
||||
_GL_WARN_ON_USE (rpl_environ, "environ is not always properly declared");
|
||||
# undef environ
|
||||
# define environ (*rpl_environ ())
|
@ -3,40 +3,29 @@
|
||||
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
|
||||
endif
|
||||
if COND_i386_efi
|
||||
LDFLAGS_PLATFORM = -Wl,-melf_i386
|
||||
endif
|
||||
if COND_x86_64_efi
|
||||
LDFLAGS_PLATFORM = -Wl,-melf_x86_64
|
||||
endif
|
||||
if COND_i386_qemu
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||
endif
|
||||
if COND_i386_coreboot
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||
endif
|
||||
if COND_i386_ieee1275
|
||||
CFLAGS_PLATFORM += -mrtd -mregparm=3
|
||||
endif
|
||||
if COND_mips_loongson
|
||||
CFLAGS_PLATFORM += -mexplicit-relocs
|
||||
CPPFLAGS_PLATFORM = -DUSE_ASCII_FAILBACK
|
||||
CPPFLAGS_PLATFORM = -DUSE_ASCII_FALLBACK
|
||||
endif
|
||||
if COND_mips
|
||||
CFLAGS_PLATFORM += -mflush-func=grub_cpu_flush_cache
|
||||
CFLAGS_PLATFORM += -mflush-func=grub_red_herring
|
||||
CCASFLAGS_PLATFORM = -march=mips3
|
||||
endif
|
||||
if COND_sparc64_ieee1275
|
||||
CFLAGS_PLATFORM += -mno-app-regs
|
||||
LDFLAGS_PLATFORM = -Wl,-melf64_sparc -mno-relax
|
||||
endif
|
||||
if COND_arm
|
||||
CFLAGS_PLATFORM += -mthumb-interwork -mlong-calls
|
||||
CCASFLAGS_PLATFORM = -mthumb-interwork
|
||||
LDFLAGS_PLATFORM = -Wl,--wrap=__clear_cache
|
||||
endif
|
||||
|
||||
#FIXME: discover and check XEN headers
|
||||
CPPFLAGS_XEN = -I/usr/include
|
||||
|
||||
# Other options
|
||||
|
||||
@ -47,29 +36,16 @@ CPPFLAGS_DEFAULT += -I$(top_builddir)
|
||||
CPPFLAGS_DEFAULT += -I$(top_srcdir)
|
||||
CPPFLAGS_DEFAULT += -I$(top_srcdir)/include
|
||||
CPPFLAGS_DEFAULT += -I$(top_builddir)/include
|
||||
CCASFLAGS_DEFAULT = -DASM_FILE=1
|
||||
CPPFLAGS_DEFAULT += -I$(top_srcdir)/grub-core/lib/libgcrypt-grub/include
|
||||
CPPFLAGS_DEFAULT += -I$(top_srcdir)/grub-core/lib/libgcrypt-grub/src/
|
||||
CCASFLAGS_DEFAULT = $(CPPFLAGS_DEFAULT) -DASM_FILE=1
|
||||
BUILD_CPPFLAGS += $(CPPFLAGS_DEFAULT)
|
||||
|
||||
LDADD_KERNEL =
|
||||
|
||||
if ! COND_i386_pc
|
||||
if ! COND_i386_efi
|
||||
if ! COND_i386_qemu
|
||||
if ! COND_i386_coreboot
|
||||
if ! COND_i386_multiboot
|
||||
if ! COND_i386_ieee1275
|
||||
if ! COND_x86_64_efi
|
||||
LDADD_KERNEL += -lgcc
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
LDADD_KERNEL = $(TARGET_LIBGCC)
|
||||
|
||||
CFLAGS_KERNEL = $(CFLAGS_CPU) $(CFLAGS_PLATFORM) -ffreestanding
|
||||
LDFLAGS_KERNEL = $(LDFLAGS_CPU) $(LDFLAGS_PLATFORM) -nostdlib $(TARGET_LDFLAGS_OLDMAGIC) -static-libgcc
|
||||
CPPFLAGS_KERNEL = $(CPPFLAGS_CPU) $(CPPFLAGS_PLATFORM)
|
||||
LDFLAGS_KERNEL = $(LDFLAGS_CPU) $(LDFLAGS_PLATFORM) -nostdlib $(TARGET_LDFLAGS_OLDMAGIC) $(TARGET_LDFLAGS_STATIC_LIBGCC)
|
||||
CPPFLAGS_KERNEL = $(CPPFLAGS_CPU) $(CPPFLAGS_PLATFORM) -DGRUB_KERNEL=1
|
||||
CCASFLAGS_KERNEL = $(CCASFLAGS_CPU) $(CCASFLAGS_PLATFORM)
|
||||
if COND_CYGWIN
|
||||
STRIPFLAGS_KERNEL = -F elf32-i386 -R .rel.dyn -R .reginfo -R .note -R .comment -R .drectve -R .note.gnu.gold-version
|
||||
@ -102,15 +78,15 @@ grubconfdir = $(sysconfdir)/grub.d
|
||||
platformdir = $(pkglibdir)/$(target_cpu)-$(platform)
|
||||
starfielddir = $(pkgdatadir)/themes/starfield
|
||||
|
||||
CFLAGS_GCRY = -Wno-error -Wno-missing-field-initializers
|
||||
CPPFLAGS_GCRY = -I$(top_srcdir)/grub-core/lib/libgcrypt_wrap
|
||||
|
||||
CFLAGS_GNULIB = -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition -Wno-unsafe-loop-optimizations
|
||||
CFLAGS_GNULIB = -Wno-undef -Wno-sign-compare -Wno-unused -Wno-unused-parameter -Wno-redundant-decls -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition
|
||||
CPPFLAGS_GNULIB = -I$(top_builddir)/grub-core/gnulib -I$(top_srcdir)/grub-core/gnulib
|
||||
|
||||
CFLAGS_POSIX = -fno-builtin
|
||||
CPPFLAGS_POSIX = -I$(top_srcdir)/grub-core/lib/posix_wrap
|
||||
|
||||
CFLAGS_GCRY = -Wno-error -Wno-missing-field-initializers -Wno-redundant-decls -Wno-undef $(CFLAGS_POSIX)
|
||||
CPPFLAGS_GCRY = -I$(top_srcdir)/grub-core/lib/libgcrypt_wrap $(CPPFLAGS_POSIX) -D_GCRYPT_IN_LIBGCRYPT=1 -I$(top_srcdir)/include/grub/gcrypt
|
||||
|
||||
CPPFLAGS_EFIEMU = -I$(top_srcdir)/grub-core/efiemu/runtime
|
||||
|
||||
# List file macros for recognizing /interesting/ modules
|
||||
@ -144,7 +120,7 @@ bin_PROGRAMS =
|
||||
platform_DATA =
|
||||
sbin_PROGRAMS =
|
||||
check_SCRIPTS =
|
||||
grubconf_DATA =
|
||||
dist_grubconf_DATA =
|
||||
check_PROGRAMS =
|
||||
noinst_SCRIPTS =
|
||||
noinst_PROGRAMS =
|
||||
@ -167,12 +143,12 @@ $(top_srcdir)/Makefile.tpl: $(top_srcdir)/gentpl.py
|
||||
mv $@.new $@
|
||||
|
||||
.PRECIOUS: $(top_srcdir)/Makefile.util.am
|
||||
$(top_srcdir)/Makefile.util.am: $(top_srcdir)/Makefile.util.def $(top_srcdir)/Makefile.tpl
|
||||
autogen -T $(top_srcdir)/Makefile.tpl $< | sed -e '/^$$/{N;/^\\n$$/D;}' > $@.new || (rm -f $@.new; exit 1)
|
||||
$(top_srcdir)/Makefile.util.am: $(top_srcdir)/Makefile.util.def $(top_srcdir)/Makefile.utilgcry.def $(top_srcdir)/Makefile.tpl
|
||||
cat $(top_srcdir)/Makefile.util.def $(top_srcdir)/Makefile.utilgcry.def | autogen -T $(top_srcdir)/Makefile.tpl | sed -e '/^$$/{N;/^\\n$$/D;}' > $@.new || (rm -f $@.new; exit 1)
|
||||
mv $@.new $@
|
||||
|
||||
.PRECIOUS: $(top_srcdir)/grub-core/Makefile.core.am
|
||||
$(top_srcdir)/grub-core/Makefile.core.am: $(top_srcdir)/grub-core/Makefile.core.def $(top_srcdir)/grub-core/Makefile.gcry.def $(top_srcdir)/Makefile.tpl
|
||||
if [ "x$$GRUB_CONTRIB" != x ]; then echo "You need to run ./autogen.sh manually." >&2; exit 1; fi
|
||||
autogen -T $(top_srcdir)/Makefile.tpl $(top_srcdir)/grub-core/Makefile.core.def $(top_srcdir)/grub-core/Makefile.gcry.def | sed -e '/^$$/{N;/^\\n$$/D;}' > $@.new || (rm -f $@.new; exit 1)
|
||||
cat $(top_srcdir)/grub-core/Makefile.core.def $(top_srcdir)/grub-core/Makefile.gcry.def | autogen -T $(top_srcdir)/Makefile.tpl | sed -e '/^$$/{N;/^\\n$$/D;}' > $@.new || (rm -f $@.new; exit 1)
|
||||
mv $@.new $@
|
||||
|
@ -26,7 +26,8 @@ EXTRA_DIST += grub-core/gensymlist.sh
|
||||
EXTRA_DIST += grub-core/genemuinit.sh
|
||||
EXTRA_DIST += grub-core/genemuinitheader.sh
|
||||
|
||||
EXTRA_DIST += grub-core/lib/libgcrypt/cipher
|
||||
EXTRA_DIST += grub-core/lib/libgcrypt
|
||||
EXTRA_DIST += grub-core/lib/libgcrypt-grub/mpi/generic
|
||||
EXTRA_DIST += $(shell find $(top_srcdir)/include -name '*.h')
|
||||
EXTRA_DIST += $(shell find $(top_srcdir)/grub-core/lib -name '*.h')
|
||||
EXTRA_DIST += $(shell find $(top_srcdir)/grub-core/gnulib -name '*.h')
|
||||
@ -34,8 +35,16 @@ EXTRA_DIST += grub-core/efiemu/runtime/config.h
|
||||
|
||||
EXTRA_DIST += grub-core/lib/LzmaDec.c
|
||||
|
||||
EXTRA_DIST += grub-core/fs/cpio_common.c
|
||||
|
||||
EXTRA_DIST += BUGS
|
||||
EXTRA_DIST += util/i386/efi/grub-dumpdevtree
|
||||
EXTRA_DIST += util/spkmodem-recv.c
|
||||
EXTRA_DIST += util/import_gcrypth.sed
|
||||
EXTRA_DIST += util/bin2h.c
|
||||
EXTRA_DIST += util/grub-gen-asciih.c
|
||||
EXTRA_DIST += util/grub-gen-widthspec.c
|
||||
EXTRA_DIST += util/grub-pe2elf.c
|
||||
|
||||
EXTRA_DIST += m4/gnulib-cache.m4
|
||||
EXTRA_DIST += m4/glibc2.m4
|
||||
@ -51,3 +60,46 @@ EXTRA_DIST += m4/printf-posix.m4
|
||||
EXTRA_DIST += m4/threadlib.m4
|
||||
EXTRA_DIST += m4/uintmax_t.m4
|
||||
EXTRA_DIST += m4/visibility.m4
|
||||
EXTRA_DIST += m4/math_h.m4
|
||||
|
||||
EXTRA_DIST += grub-core/osdep/apple/hostdisk.c
|
||||
EXTRA_DIST += grub-core/osdep/aros/hostdisk.c
|
||||
EXTRA_DIST += grub-core/osdep/basic/hostdisk.c
|
||||
EXTRA_DIST += grub-core/osdep/bsd/hostdisk.c
|
||||
EXTRA_DIST += grub-core/osdep/freebsd/hostdisk.c
|
||||
EXTRA_DIST += grub-core/osdep/hurd/hostdisk.c
|
||||
EXTRA_DIST += grub-core/osdep/linux/hostdisk.c
|
||||
EXTRA_DIST += grub-core/osdep/windows/hostdisk.c
|
||||
EXTRA_DIST += grub-core/osdep/sun/hostdisk.c
|
||||
EXTRA_DIST += grub-core/osdep/haiku/hostdisk.c
|
||||
|
||||
EXTRA_DIST += grub-core/osdep/basic/init.c
|
||||
EXTRA_DIST += grub-core/osdep/windows/init.c
|
||||
|
||||
EXTRA_DIST += grub-core/osdep/apple/getroot.c
|
||||
EXTRA_DIST += grub-core/osdep/aros/getroot.c
|
||||
EXTRA_DIST += grub-core/osdep/basic/getroot.c
|
||||
EXTRA_DIST += grub-core/osdep/bsd/getroot.c
|
||||
EXTRA_DIST += grub-core/osdep/windows/getroot.c
|
||||
EXTRA_DIST += grub-core/osdep/freebsd/getroot.c
|
||||
EXTRA_DIST += grub-core/osdep/hurd/getroot.c
|
||||
EXTRA_DIST += grub-core/osdep/linux/getroot.c
|
||||
EXTRA_DIST += grub-core/osdep/sun/getroot.c
|
||||
EXTRA_DIST += grub-core/osdep/haiku/getroot.c
|
||||
|
||||
EXTRA_DIST += grub-core/osdep/basic/random.c
|
||||
EXTRA_DIST += grub-core/osdep/basic/ofpath.c
|
||||
|
||||
EXTRA_DIST += grub-core/osdep/unix/password.c
|
||||
EXTRA_DIST += grub-core/osdep/unix/random.c
|
||||
EXTRA_DIST += grub-core/osdep/unix/sleep.c
|
||||
|
||||
EXTRA_DIST += grub-core/osdep/linux/ofpath.c
|
||||
|
||||
EXTRA_DIST += grub-core/osdep/windows/password.c
|
||||
EXTRA_DIST += grub-core/osdep/windows/random.c
|
||||
EXTRA_DIST += grub-core/osdep/windows/sleep.c
|
||||
|
||||
EXTRA_DIST += tests/dfly-mbr-mbexample.mbr.img.gz
|
||||
EXTRA_DIST += tests/dfly-mbr-mbexample.dfly.img.gz
|
||||
|
||||
|
37
config.h.in
37
config.h.in
@ -5,9 +5,30 @@
|
||||
#if defined(__PPC__) && !defined(__powerpc__)
|
||||
#define __powerpc__ 1
|
||||
#endif
|
||||
#if defined (GRUB_UTIL) || !defined (GRUB_MACHINE)
|
||||
|
||||
#define GCRYPT_NO_DEPRECATED 1
|
||||
|
||||
/* Define to 1 to enable disk cache statistics. */
|
||||
#define DISK_CACHE_STATS @DISK_CACHE_STATS@
|
||||
#define BOOT_TIME_STATS @BOOT_TIME_STATS@
|
||||
/* Define to 1 to make GRUB quieter at boot time. */
|
||||
#define QUIET_BOOT @QUIET_BOOT@
|
||||
|
||||
#if defined (GRUB_BUILD)
|
||||
#undef ENABLE_NLS
|
||||
#define BUILD_SIZEOF_LONG @BUILD_SIZEOF_LONG@
|
||||
#define BUILD_SIZEOF_VOID_P @BUILD_SIZEOF_VOID_P@
|
||||
#if defined __APPLE__
|
||||
# if defined __BIG_ENDIAN__
|
||||
# define BUILD_WORDS_BIGENDIAN 1
|
||||
# else
|
||||
# define BUILD_WORDS_BIGENDIAN 0
|
||||
# endif
|
||||
#else
|
||||
#define BUILD_WORDS_BIGENDIAN @BUILD_WORDS_BIGENDIAN@
|
||||
#endif
|
||||
#elif defined (GRUB_UTIL) || !defined (GRUB_MACHINE)
|
||||
#include <config-util.h>
|
||||
#define NESTED_FUNC_ATTR
|
||||
#else
|
||||
/* Define if C symbols get an underscore after compilation. */
|
||||
#define HAVE_ASM_USCORE @HAVE_ASM_USCORE@
|
||||
@ -35,24 +56,14 @@
|
||||
#define GRUB_BOOT_DIR_NAME "@bootdirname@"
|
||||
/* Default grub directory name */
|
||||
#define GRUB_DIR_NAME "@grubdirname@"
|
||||
/* Define to 1 if GCC generates calls to __enable_execute_stack(). */
|
||||
#define NEED_ENABLE_EXECUTE_STACK @NEED_ENABLE_EXECUTE_STACK@
|
||||
/* Define to 1 if GCC generates calls to __register_frame_info(). */
|
||||
#define NEED_REGISTER_FRAME_INFO @NEED_REGISTER_FRAME_INFO@
|
||||
/* Define to 1 to enable disk cache statistics. */
|
||||
#define DISK_CACHE_STATS @DISK_CACHE_STATS@
|
||||
/* Define to 1 to make GRUB quieter at boot time. */
|
||||
#define QUIET_BOOT @QUIET_BOOT@
|
||||
|
||||
#define GRUB_TARGET_CPU "@GRUB_TARGET_CPU@"
|
||||
#define GRUB_PLATFORM "@GRUB_PLATFORM@"
|
||||
|
||||
#define RE_ENABLE_I18N 1
|
||||
|
||||
#if defined(__i386__)
|
||||
#define NESTED_FUNC_ATTR __attribute__ ((__regparm__ (1)))
|
||||
#else
|
||||
#define NESTED_FUNC_ATTR
|
||||
#endif
|
||||
#define _GNU_SOURCE 1
|
||||
|
||||
#endif
|
||||
|
880
configure.ac
880
configure.ac
File diff suppressed because it is too large
Load Diff
6
debian/changelog
vendored
6
debian/changelog
vendored
@ -1,3 +1,9 @@
|
||||
grub2 (2.00+20131114-1) UNRELEASED; urgency=low
|
||||
|
||||
* New upstream snapshot.
|
||||
|
||||
-- Colin Watson <cjwatson@debian.org> Fri, 15 Nov 2013 10:18:57 +0000
|
||||
|
||||
grub2 (2.00-20) unstable; urgency=low
|
||||
|
||||
* Backport from upstream:
|
||||
|
191
debian/patches/acpihalt_improvements.patch
vendored
191
debian/patches/acpihalt_improvements.patch
vendored
@ -1,191 +0,0 @@
|
||||
Description: acpihalt: expand parser to handle SSDTs and some more opcodes
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Forwarded: https://lists.gnu.org/archive/html/grub-devel/2013-03/msg00060.html
|
||||
Last-Update: 2013-05-09
|
||||
|
||||
Index: b/grub-core/commands/acpihalt.c
|
||||
===================================================================
|
||||
--- a/grub-core/commands/acpihalt.c
|
||||
+++ b/grub-core/commands/acpihalt.c
|
||||
@@ -41,6 +41,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef GRUB_DSDT_TEST
|
||||
+#include <grub/mm.h>
|
||||
#include <grub/misc.h>
|
||||
#include <grub/time.h>
|
||||
#include <grub/cpu/io.h>
|
||||
@@ -146,6 +147,10 @@
|
||||
ptr += skip_name_string (ptr, end);
|
||||
ptr++;
|
||||
break;
|
||||
+ case GRUB_ACPI_EXTOPCODE_EVENT_OP:
|
||||
+ ptr++;
|
||||
+ ptr += skip_name_string (ptr, end);
|
||||
+ break;
|
||||
case GRUB_ACPI_EXTOPCODE_OPERATION_REGION:
|
||||
ptr++;
|
||||
ptr += skip_name_string (ptr, end);
|
||||
@@ -158,7 +163,12 @@
|
||||
return 0;
|
||||
break;
|
||||
case GRUB_ACPI_EXTOPCODE_FIELD_OP:
|
||||
+ case GRUB_ACPI_EXTOPCODE_DEVICE_OP:
|
||||
+ case GRUB_ACPI_EXTOPCODE_PROCESSOR_OP:
|
||||
+ case GRUB_ACPI_EXTOPCODE_POWER_RES_OP:
|
||||
+ case GRUB_ACPI_EXTOPCODE_THERMAL_ZONE_OP:
|
||||
case GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP:
|
||||
+ case GRUB_ACPI_EXTOPCODE_BANK_FIELD_OP:
|
||||
ptr++;
|
||||
ptr += decode_length (ptr, 0);
|
||||
break;
|
||||
@@ -170,12 +180,14 @@
|
||||
}
|
||||
|
||||
static int
|
||||
-get_sleep_type (grub_uint8_t *table, grub_uint8_t *end)
|
||||
+get_sleep_type (grub_uint8_t *table, grub_uint8_t *ptr, grub_uint8_t *end,
|
||||
+ grub_uint8_t *scope, int scope_len)
|
||||
{
|
||||
- grub_uint8_t *ptr, *prev = table;
|
||||
- int sleep_type = -1;
|
||||
+ grub_uint8_t *prev = table;
|
||||
+ int sleep_type = -2;
|
||||
|
||||
- ptr = table + sizeof (struct grub_acpi_table_header);
|
||||
+ if (!ptr)
|
||||
+ ptr = table + sizeof (struct grub_acpi_table_header);
|
||||
while (ptr < end && prev < ptr)
|
||||
{
|
||||
int add;
|
||||
@@ -202,7 +214,8 @@
|
||||
}
|
||||
case GRUB_ACPI_OPCODE_NAME:
|
||||
ptr++;
|
||||
- if (memcmp (ptr, "_S5_", 4) == 0 || memcmp (ptr, "\\_S5_", 4) == 0)
|
||||
+ if ((!scope || memcmp (scope, "\\", scope_len) == 0) &&
|
||||
+ (memcmp (ptr, "_S5_", 4) == 0 || memcmp (ptr, "\\_S5_", 4) == 0))
|
||||
{
|
||||
int ll;
|
||||
grub_uint8_t *ptr2 = ptr;
|
||||
@@ -241,6 +254,25 @@
|
||||
return -1;
|
||||
break;
|
||||
case GRUB_ACPI_OPCODE_SCOPE:
|
||||
+ {
|
||||
+ int scope_sleep_type;
|
||||
+ int ll;
|
||||
+ grub_uint8_t *name;
|
||||
+ int name_len;
|
||||
+
|
||||
+ ptr++;
|
||||
+ add = decode_length (ptr, &ll);
|
||||
+ name = ptr + ll;
|
||||
+ name_len = skip_name_string (name, ptr + add);
|
||||
+ if (!name_len)
|
||||
+ return -1;
|
||||
+ scope_sleep_type = get_sleep_type (table, name + name_len,
|
||||
+ ptr + add, name, name_len);
|
||||
+ if (scope_sleep_type != -2)
|
||||
+ return scope_sleep_type;
|
||||
+ ptr += add;
|
||||
+ break;
|
||||
+ }
|
||||
case GRUB_ACPI_OPCODE_IF:
|
||||
case GRUB_ACPI_OPCODE_METHOD:
|
||||
{
|
||||
@@ -291,7 +323,7 @@
|
||||
return 2;
|
||||
}
|
||||
|
||||
- printf ("Sleep type = %d\n", get_sleep_type (buf, buf + len));
|
||||
+ printf ("Sleep type = %d\n", get_sleep_type (buf, NULL, buf + len, NULL, 0));
|
||||
free (buf);
|
||||
fclose (f);
|
||||
return 0;
|
||||
@@ -304,8 +336,10 @@
|
||||
{
|
||||
struct grub_acpi_rsdp_v20 *rsdp2;
|
||||
struct grub_acpi_rsdp_v10 *rsdp1;
|
||||
- struct grub_acpi_table_header *rsdt;
|
||||
- grub_uint32_t *entry_ptr;
|
||||
+ struct grub_acpi_table_header *rsdt;
|
||||
+ grub_uint32_t *entry_ptr;
|
||||
+ grub_uint32_t port = 0;
|
||||
+ int sleep_type = -1;
|
||||
|
||||
rsdp2 = grub_acpi_get_rsdpv2 ();
|
||||
if (rsdp2)
|
||||
@@ -324,33 +358,39 @@
|
||||
{
|
||||
if (grub_memcmp ((void *) (grub_addr_t) *entry_ptr, "FACP", 4) == 0)
|
||||
{
|
||||
- grub_uint32_t port;
|
||||
struct grub_acpi_fadt *fadt
|
||||
= ((struct grub_acpi_fadt *) (grub_addr_t) *entry_ptr);
|
||||
struct grub_acpi_table_header *dsdt
|
||||
= (struct grub_acpi_table_header *) (grub_addr_t) fadt->dsdt_addr;
|
||||
- int sleep_type = -1;
|
||||
+ grub_uint8_t *buf = (grub_uint8_t *) dsdt;
|
||||
|
||||
port = fadt->pm1a;
|
||||
|
||||
grub_dprintf ("acpi", "PM1a port=%x\n", port);
|
||||
|
||||
if (grub_memcmp (dsdt->signature, "DSDT",
|
||||
- sizeof (dsdt->signature)) != 0)
|
||||
- break;
|
||||
+ sizeof (dsdt->signature)) == 0)
|
||||
+ sleep_type = get_sleep_type (buf, NULL, buf + dsdt->length,
|
||||
+ NULL, 0);
|
||||
+ }
|
||||
+ else if (grub_memcmp ((void *) (grub_addr_t) *entry_ptr, "SSDT", 4) == 0)
|
||||
+ {
|
||||
+ struct grub_acpi_table_header *ssdt
|
||||
+ = (struct grub_acpi_table_header *) (grub_addr_t) *entry_ptr;
|
||||
+ grub_uint8_t *buf = (grub_uint8_t *) ssdt;
|
||||
|
||||
- sleep_type = get_sleep_type ((grub_uint8_t *) dsdt,
|
||||
- (grub_uint8_t *) dsdt + dsdt->length);
|
||||
+ grub_dprintf ("acpi", "SSDT = %p\n", ssdt);
|
||||
|
||||
- if (sleep_type < 0 || sleep_type >= 8)
|
||||
- break;
|
||||
+ sleep_type = get_sleep_type (buf, NULL, buf + ssdt->length, NULL, 0);
|
||||
+ }
|
||||
+ }
|
||||
|
||||
- grub_dprintf ("acpi", "SLP_TYP = %d, port = 0x%x\n",
|
||||
- sleep_type, port);
|
||||
+ if (port && sleep_type >= 0 && sleep_type < 8)
|
||||
+ {
|
||||
+ grub_dprintf ("acpi", "SLP_TYP = %d, port = 0x%x\n", sleep_type, port);
|
||||
|
||||
- grub_outw (GRUB_ACPI_SLP_EN
|
||||
- | (sleep_type << GRUB_ACPI_SLP_TYP_OFFSET), port & 0xffff);
|
||||
- }
|
||||
+ grub_outw (GRUB_ACPI_SLP_EN | (sleep_type << GRUB_ACPI_SLP_TYP_OFFSET),
|
||||
+ port & 0xffff);
|
||||
}
|
||||
|
||||
grub_millisleep (1500);
|
||||
Index: b/include/grub/acpi.h
|
||||
===================================================================
|
||||
--- a/include/grub/acpi.h
|
||||
+++ b/include/grub/acpi.h
|
||||
@@ -174,9 +174,15 @@
|
||||
enum
|
||||
{
|
||||
GRUB_ACPI_EXTOPCODE_MUTEX = 0x01,
|
||||
+ GRUB_ACPI_EXTOPCODE_EVENT_OP = 0x02,
|
||||
GRUB_ACPI_EXTOPCODE_OPERATION_REGION = 0x80,
|
||||
GRUB_ACPI_EXTOPCODE_FIELD_OP = 0x81,
|
||||
+ GRUB_ACPI_EXTOPCODE_DEVICE_OP = 0x82,
|
||||
+ GRUB_ACPI_EXTOPCODE_PROCESSOR_OP = 0x83,
|
||||
+ GRUB_ACPI_EXTOPCODE_POWER_RES_OP = 0x84,
|
||||
+ GRUB_ACPI_EXTOPCODE_THERMAL_ZONE_OP = 0x85,
|
||||
GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP = 0x86,
|
||||
+ GRUB_ACPI_EXTOPCODE_BANK_FIELD_OP = 0x87,
|
||||
};
|
||||
|
||||
#endif /* ! GRUB_ACPI_HEADER */
|
4
debian/patches/blacklist_1440x900x32.patch
vendored
4
debian/patches/blacklist_1440x900x32.patch
vendored
@ -2,13 +2,13 @@ Description: Blacklist 1440x900x32 from VBE preferred mode handling
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/701111
|
||||
Forwarded: no
|
||||
Last-Update: 2013-01-03
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/grub-core/video/i386/pc/vbe.c
|
||||
===================================================================
|
||||
--- a/grub-core/video/i386/pc/vbe.c
|
||||
+++ b/grub-core/video/i386/pc/vbe.c
|
||||
@@ -1055,6 +1055,15 @@
|
||||
@@ -1053,6 +1053,15 @@
|
||||
|| vbe_mode_info.y_resolution > height)
|
||||
/* Resolution exceeds that of preferred mode. */
|
||||
continue;
|
||||
|
29
debian/patches/core_in_fs.patch
vendored
29
debian/patches/core_in_fs.patch
vendored
@ -1,16 +1,17 @@
|
||||
Index: b/util/grub-setup.c
|
||||
Index: b/util/setup.c
|
||||
===================================================================
|
||||
--- a/util/grub-setup.c
|
||||
+++ b/util/grub-setup.c
|
||||
@@ -85,6 +85,7 @@
|
||||
--- a/util/setup.c
|
||||
+++ b/util/setup.c
|
||||
@@ -58,6 +58,8 @@
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
#define DEFAULT_BOOT_FILE "boot.img"
|
||||
#define DEFAULT_CORE_FILE "core.img"
|
||||
+#define CORE_IMG_IN_FS "setup_left_core_image_in_filesystem"
|
||||
|
||||
#ifdef GRUB_SETUP_SPARC64
|
||||
#define grub_target_to_host16(x) grub_be_to_cpu16(x)
|
||||
@@ -556,6 +557,8 @@
|
||||
+
|
||||
/* On SPARC this program fills in various fields inside of the 'boot' and 'core'
|
||||
* image files.
|
||||
*
|
||||
@@ -577,6 +579,8 @@
|
||||
|
||||
grub_free (sectors);
|
||||
|
||||
@ -19,13 +20,13 @@ Index: b/util/grub-setup.c
|
||||
goto finish;
|
||||
}
|
||||
|
||||
@@ -598,6 +601,9 @@
|
||||
@@ -619,6 +623,9 @@
|
||||
/* The core image must be put on a filesystem unfortunately. */
|
||||
grub_util_info ("will leave the core image on the filesystem");
|
||||
|
||||
+ fp = fopen (DEFAULT_DIRECTORY "/" CORE_IMG_IN_FS, "w");
|
||||
+ fclose (fp);
|
||||
+
|
||||
/* Make sure that GRUB reads the identical image as the OS. */
|
||||
tmp_img = xmalloc (core_size);
|
||||
core_path_dev_full = grub_util_get_path (dir, core_file);
|
||||
grub_util_biosdisk_flush (root_dev->disk);
|
||||
|
||||
/* Clean out the blocklists. */
|
||||
|
6
debian/patches/default_grub_d.patch
vendored
6
debian/patches/default_grub_d.patch
vendored
@ -2,13 +2,13 @@ Description: Read /etc/default/grub.d/*.cfg after /etc/default/grub
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/901600
|
||||
Forwarded: no
|
||||
Last-Update: 2013-01-02
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub-install.in
|
||||
===================================================================
|
||||
--- a/util/grub-install.in
|
||||
+++ b/util/grub-install.in
|
||||
@@ -68,6 +68,11 @@
|
||||
@@ -46,6 +46,11 @@
|
||||
if test -f "${sysconfdir}/default/grub" ; then
|
||||
. "${sysconfdir}/default/grub"
|
||||
fi
|
||||
@ -24,7 +24,7 @@ Index: b/util/grub-mkconfig.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkconfig.in
|
||||
+++ b/util/grub-mkconfig.in
|
||||
@@ -150,6 +150,11 @@
|
||||
@@ -149,6 +149,11 @@
|
||||
if test -f ${sysconfdir}/default/grub ; then
|
||||
. ${sysconfdir}/default/grub
|
||||
fi
|
||||
|
4
debian/patches/disable_floppies.patch
vendored
4
debian/patches/disable_floppies.patch
vendored
@ -7,7 +7,7 @@ Index: b/grub-core/kern/emu/hostdisk.c
|
||||
===================================================================
|
||||
--- a/grub-core/kern/emu/hostdisk.c
|
||||
+++ b/grub-core/kern/emu/hostdisk.c
|
||||
@@ -1331,6 +1331,18 @@
|
||||
@@ -532,6 +532,18 @@
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -23,6 +23,6 @@ Index: b/grub-core/kern/emu/hostdisk.c
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
#ifdef __linux__
|
||||
/* On Linux, the devfs uses symbolic links horribly, and that
|
||||
confuses the interface very much, so use realpath to expand
|
||||
symbolic links. */
|
||||
|
4
debian/patches/dpkg_version_comparison.patch
vendored
4
debian/patches/dpkg_version_comparison.patch
vendored
@ -7,7 +7,7 @@ Index: b/util/grub-mkconfig_lib.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkconfig_lib.in
|
||||
+++ b/util/grub-mkconfig_lib.in
|
||||
@@ -229,8 +229,9 @@
|
||||
@@ -235,8 +235,9 @@
|
||||
|
||||
version_test_gt ()
|
||||
{
|
||||
@ -19,7 +19,7 @@ Index: b/util/grub-mkconfig_lib.in
|
||||
version_test_gt_cmp=gt
|
||||
if [ "x$version_test_gt_b" = "x" ] ; then
|
||||
return 0
|
||||
@@ -240,7 +241,7 @@
|
||||
@@ -246,7 +247,7 @@
|
||||
*.old:*) version_test_gt_a="`echo -n "$version_test_gt_a" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=gt ;;
|
||||
*:*.old) version_test_gt_b="`echo -n "$version_test_gt_b" | sed -e 's/\.old$//'`" ; version_test_gt_cmp=ge ;;
|
||||
esac
|
||||
|
26
debian/patches/efi_disk_cache.patch
vendored
26
debian/patches/efi_disk_cache.patch
vendored
@ -1,26 +0,0 @@
|
||||
Description: Bump the values of GRUB_DISK_CACHE_SIZE and GRUB_DISK_CACHE_BITS
|
||||
on EFI systems (and only on EFI sytems) to dramatically reduce the load times
|
||||
for vmlinux and initrd. Forwarding this isn't required as upstream trunk
|
||||
has completely rewritten how this all works.
|
||||
Author: Adam Conrad <adconrad@debian.org>
|
||||
Origin: other, http://blog.fpmurphy.com/2010/03/grub2-efi-support.html
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/944347
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2012-03-05
|
||||
|
||||
Index: b/include/grub/disk.h
|
||||
===================================================================
|
||||
--- a/include/grub/disk.h
|
||||
+++ b/include/grub/disk.h
|
||||
@@ -146,7 +146,11 @@
|
||||
|
||||
/* The size of a disk cache in 512B units. Must be at least as big as the
|
||||
largest supported sector size, currently 16K. */
|
||||
+#ifdef GRUB_MACHINE_EFI
|
||||
+#define GRUB_DISK_CACHE_BITS 10
|
||||
+#else
|
||||
#define GRUB_DISK_CACHE_BITS 6
|
||||
+#endif
|
||||
#define GRUB_DISK_CACHE_SIZE (1 << GRUB_DISK_CACHE_BITS)
|
||||
|
||||
/* Return value of grub_disk_get_size() in case disk size is unknown. */
|
37
debian/patches/efi_mmap_size.patch
vendored
37
debian/patches/efi_mmap_size.patch
vendored
@ -1,37 +0,0 @@
|
||||
Description: Don't decrease efi_mmap_size
|
||||
Author: Vladimir Serbinenko <phcoder@gmail.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4545
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1046429
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4545
|
||||
Last-Update: 2012-09-06
|
||||
|
||||
Index: b/grub-core/loader/i386/linux.c
|
||||
===================================================================
|
||||
--- a/grub-core/loader/i386/linux.c
|
||||
+++ b/grub-core/loader/i386/linux.c
|
||||
@@ -118,12 +118,13 @@
|
||||
int ret;
|
||||
grub_efi_memory_descriptor_t *mmap;
|
||||
grub_efi_uintn_t desc_size;
|
||||
+ grub_efi_uintn_t cur_mmap_size = mmap_size;
|
||||
|
||||
- mmap = grub_malloc (mmap_size);
|
||||
+ mmap = grub_malloc (cur_mmap_size);
|
||||
if (! mmap)
|
||||
return 0;
|
||||
|
||||
- ret = grub_efi_get_memory_map (&mmap_size, mmap, 0, &desc_size, 0);
|
||||
+ ret = grub_efi_get_memory_map (&cur_mmap_size, mmap, 0, &desc_size, 0);
|
||||
grub_free (mmap);
|
||||
|
||||
if (ret < 0)
|
||||
@@ -134,6 +135,8 @@
|
||||
else if (ret > 0)
|
||||
break;
|
||||
|
||||
+ if (mmap_size < cur_mmap_size)
|
||||
+ mmap_size = cur_mmap_size;
|
||||
mmap_size += (1 << 12);
|
||||
}
|
||||
|
56
debian/patches/efidisk_non_512_sectors.patch
vendored
56
debian/patches/efidisk_non_512_sectors.patch
vendored
@ -1,56 +0,0 @@
|
||||
Description: Handle partitions on non-512B EFI disks
|
||||
Origin: backport, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4795
|
||||
Author: Peter Jones <pjones@redhat.com>
|
||||
Author: Vladimir Serbinenko <phcoder@gmail.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1065281
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2013-09-18
|
||||
|
||||
Index: b/grub-core/disk/efi/efidisk.c
|
||||
===================================================================
|
||||
--- a/grub-core/disk/efi/efidisk.c
|
||||
+++ b/grub-core/disk/efi/efidisk.c
|
||||
@@ -668,9 +668,11 @@
|
||||
&& (GRUB_EFI_DEVICE_PATH_SUBTYPE (c->last_device_path)
|
||||
== GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE)
|
||||
&& (grub_partition_get_start (disk->partition)
|
||||
- == hd.partition_start)
|
||||
+ == (hd.partition_start << (disk->log_sector_size
|
||||
+ - GRUB_DISK_SECTOR_BITS)))
|
||||
&& (grub_partition_get_len (disk->partition)
|
||||
- == hd.partition_size))
|
||||
+ == (hd.partition_size << (disk->log_sector_size
|
||||
+ - GRUB_DISK_SECTOR_BITS))))
|
||||
{
|
||||
handle = c->handle;
|
||||
return 1;
|
||||
@@ -763,11 +765,14 @@
|
||||
auto int find_partition (grub_disk_t disk, const grub_partition_t part);
|
||||
|
||||
/* Find the identical partition. */
|
||||
- int find_partition (grub_disk_t disk __attribute__ ((unused)),
|
||||
- const grub_partition_t part)
|
||||
+ int find_partition (grub_disk_t disk, const grub_partition_t part)
|
||||
{
|
||||
- if (grub_partition_get_start (part) == hd.partition_start
|
||||
- && grub_partition_get_len (part) == hd.partition_size)
|
||||
+ if (grub_partition_get_start (part)
|
||||
+ == (hd.partition_start << (disk->log_sector_size
|
||||
+ - GRUB_DISK_SECTOR_BITS))
|
||||
+ && grub_partition_get_len (part)
|
||||
+ == (hd.partition_size << (disk->log_sector_size
|
||||
+ - GRUB_DISK_SECTOR_BITS)))
|
||||
{
|
||||
partition_name = grub_partition_get_name (part);
|
||||
return 1;
|
||||
@@ -799,7 +804,9 @@
|
||||
/* Find a partition which matches the hard drive device path. */
|
||||
grub_memcpy (&hd, ldp, sizeof (hd));
|
||||
if (hd.partition_start == 0
|
||||
- && hd.partition_size == grub_disk_get_size (parent))
|
||||
+ && (hd.partition_size << (parent->log_sector_size
|
||||
+ - GRUB_DISK_SECTOR_BITS))
|
||||
+ == grub_disk_get_size (parent))
|
||||
{
|
||||
dev_name = grub_strdup (parent->name);
|
||||
}
|
241
debian/patches/efifwsetup.patch
vendored
241
debian/patches/efifwsetup.patch
vendored
@ -1,241 +0,0 @@
|
||||
Description: Add efifwsetup module to reboot into firmware setup menu
|
||||
Author: Peter Jones <pjones@redhat.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4575
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4579
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4575
|
||||
Last-Update: 2012-09-19
|
||||
|
||||
Index: b/grub-core/Makefile.core.def
|
||||
===================================================================
|
||||
--- a/grub-core/Makefile.core.def
|
||||
+++ b/grub-core/Makefile.core.def
|
||||
@@ -573,6 +573,12 @@
|
||||
};
|
||||
|
||||
module = {
|
||||
+ name = efifwsetup;
|
||||
+ efi = commands/efi/efifwsetup.c;
|
||||
+ enable = efi;
|
||||
+};
|
||||
+
|
||||
+module = {
|
||||
name = blocklist;
|
||||
common = commands/blocklist.c;
|
||||
};
|
||||
Index: b/grub-core/commands/efi/efifwsetup.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/grub-core/commands/efi/efifwsetup.c
|
||||
@@ -0,0 +1,90 @@
|
||||
+/* fwsetup.c - Reboot into firmware setup menu. */
|
||||
+/*
|
||||
+ * GRUB -- GRand Unified Bootloader
|
||||
+ * Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
+ *
|
||||
+ * GRUB is free software: you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation, either version 3 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * GRUB is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
+#include <grub/types.h>
|
||||
+#include <grub/mm.h>
|
||||
+#include <grub/misc.h>
|
||||
+#include <grub/efi/api.h>
|
||||
+#include <grub/efi/efi.h>
|
||||
+#include <grub/command.h>
|
||||
+#include <grub/i18n.h>
|
||||
+
|
||||
+GRUB_MOD_LICENSE ("GPLv3+");
|
||||
+
|
||||
+static grub_err_t
|
||||
+grub_cmd_fwsetup (grub_command_t cmd __attribute__ ((unused)),
|
||||
+ int argc __attribute__ ((unused)),
|
||||
+ char **args __attribute__ ((unused)))
|
||||
+{
|
||||
+ grub_efi_uint64_t *old_os_indications;
|
||||
+ grub_efi_uint64_t os_indications = GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI;
|
||||
+ grub_err_t status;
|
||||
+ grub_size_t oi_size;
|
||||
+ grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID;
|
||||
+
|
||||
+ old_os_indications = grub_efi_get_variable ("OsIndications", &global,
|
||||
+ &oi_size);
|
||||
+
|
||||
+ if (old_os_indications != NULL && oi_size == sizeof (os_indications))
|
||||
+ os_indications |= *old_os_indications;
|
||||
+
|
||||
+ status = grub_efi_set_variable ("OsIndications", &global, &os_indications,
|
||||
+ sizeof (os_indications));
|
||||
+ if (status != GRUB_ERR_NONE)
|
||||
+ return status;
|
||||
+
|
||||
+ grub_reboot ();
|
||||
+
|
||||
+ return GRUB_ERR_BUG;
|
||||
+}
|
||||
+
|
||||
+static grub_command_t cmd = NULL;
|
||||
+
|
||||
+static grub_efi_boolean_t
|
||||
+efifwsetup_is_supported (void)
|
||||
+{
|
||||
+ grub_efi_uint64_t *os_indications_supported = NULL;
|
||||
+ grub_size_t oi_size = 0;
|
||||
+ grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID;
|
||||
+
|
||||
+ os_indications_supported = grub_efi_get_variable ("OsIndicationsSupported",
|
||||
+ &global, &oi_size);
|
||||
+
|
||||
+ if (!os_indications_supported)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (*os_indications_supported & GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI)
|
||||
+ return 1;
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+GRUB_MOD_INIT (efifwsetup)
|
||||
+{
|
||||
+ if (efifwsetup_is_supported ())
|
||||
+ cmd = grub_register_command ("fwsetup", grub_cmd_fwsetup, NULL,
|
||||
+ N_("Reboot into firmware setup menu."));
|
||||
+
|
||||
+}
|
||||
+
|
||||
+GRUB_MOD_FINI (efifwsetup)
|
||||
+{
|
||||
+ if (cmd)
|
||||
+ grub_unregister_command (cmd);
|
||||
+}
|
||||
Index: b/grub-core/efiemu/runtime/efiemu.c
|
||||
===================================================================
|
||||
--- a/grub-core/efiemu/runtime/efiemu.c
|
||||
+++ b/grub-core/efiemu/runtime/efiemu.c
|
||||
@@ -78,7 +78,7 @@
|
||||
|
||||
grub_efi_status_t
|
||||
efiemu_set_variable (grub_efi_char16_t *variable_name,
|
||||
- grub_efi_guid_t *vendor_guid,
|
||||
+ const grub_efi_guid_t *vendor_guid,
|
||||
grub_efi_uint32_t attributes,
|
||||
grub_efi_uintn_t data_size,
|
||||
void *data);
|
||||
@@ -131,11 +131,11 @@
|
||||
|
||||
/* Some standard functions because we need to be standalone */
|
||||
static void
|
||||
-efiemu_memcpy (void *to, void *from, int count)
|
||||
+efiemu_memcpy (void *to, const void *from, int count)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < count; i++)
|
||||
- ((grub_uint8_t *) to)[i] = ((grub_uint8_t *) from)[i];
|
||||
+ ((grub_uint8_t *) to)[i] = ((const grub_uint8_t *) from)[i];
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -503,10 +503,10 @@
|
||||
|
||||
grub_efi_status_t
|
||||
EFI_FUNC (efiemu_set_variable) (grub_efi_char16_t *variable_name,
|
||||
- grub_efi_guid_t *vendor_guid,
|
||||
- grub_efi_uint32_t attributes,
|
||||
- grub_efi_uintn_t data_size,
|
||||
- void *data)
|
||||
+ const grub_efi_guid_t *vendor_guid,
|
||||
+ grub_efi_uint32_t attributes,
|
||||
+ grub_efi_uintn_t data_size,
|
||||
+ void *data)
|
||||
{
|
||||
struct efi_variable *efivar;
|
||||
grub_uint8_t *ptr;
|
||||
Index: b/grub-core/kern/efi/efi.c
|
||||
===================================================================
|
||||
--- a/grub-core/kern/efi/efi.c
|
||||
+++ b/grub-core/kern/efi/efi.c
|
||||
@@ -181,6 +181,36 @@
|
||||
return grub_error (GRUB_ERR_IO, "set_virtual_address_map failed");
|
||||
}
|
||||
|
||||
+grub_err_t
|
||||
+grub_efi_set_variable(const char *var, const grub_efi_guid_t *guid,
|
||||
+ void *data, grub_size_t datasize)
|
||||
+{
|
||||
+ grub_efi_status_t status;
|
||||
+ grub_efi_runtime_services_t *r;
|
||||
+ grub_efi_char16_t *var16;
|
||||
+ grub_size_t len, len16;
|
||||
+
|
||||
+ len = grub_strlen (var);
|
||||
+ len16 = len * GRUB_MAX_UTF16_PER_UTF8;
|
||||
+ var16 = grub_malloc ((len16 + 1) * sizeof (var16[0]));
|
||||
+ if (!var16)
|
||||
+ return grub_errno;
|
||||
+ len16 = grub_utf8_to_utf16 (var16, len16, (grub_uint8_t *) var, len, NULL);
|
||||
+ var16[len16] = 0;
|
||||
+
|
||||
+ r = grub_efi_system_table->runtime_services;
|
||||
+
|
||||
+ status = efi_call_5 (r->set_variable, var16, guid,
|
||||
+ (GRUB_EFI_VARIABLE_NON_VOLATILE
|
||||
+ | GRUB_EFI_VARIABLE_BOOTSERVICE_ACCESS
|
||||
+ | GRUB_EFI_VARIABLE_RUNTIME_ACCESS),
|
||||
+ datasize, data);
|
||||
+ if (status == GRUB_EFI_SUCCESS)
|
||||
+ return GRUB_ERR_NONE;
|
||||
+
|
||||
+ return grub_error (GRUB_ERR_IO, "could not set EFI variable `%s'", var);
|
||||
+}
|
||||
+
|
||||
void *
|
||||
grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
|
||||
grub_size_t *datasize_out)
|
||||
Index: b/include/grub/efi/api.h
|
||||
===================================================================
|
||||
--- a/include/grub/efi/api.h
|
||||
+++ b/include/grub/efi/api.h
|
||||
@@ -58,6 +58,8 @@
|
||||
#define GRUB_EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010
|
||||
#define GRUB_EFI_OPEN_PROTOCOL_BY_EXCLUSIVE 0x00000020
|
||||
|
||||
+#define GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI 0x0000000000000001ULL
|
||||
+
|
||||
#define GRUB_EFI_VARIABLE_NON_VOLATILE 0x0000000000000001
|
||||
#define GRUB_EFI_VARIABLE_BOOTSERVICE_ACCESS 0x0000000000000002
|
||||
#define GRUB_EFI_VARIABLE_RUNTIME_ACCESS 0x0000000000000004
|
||||
@@ -1066,7 +1068,7 @@
|
||||
|
||||
grub_efi_status_t
|
||||
(*set_variable) (grub_efi_char16_t *variable_name,
|
||||
- grub_efi_guid_t *vendor_guid,
|
||||
+ const grub_efi_guid_t *vendor_guid,
|
||||
grub_efi_uint32_t attributes,
|
||||
grub_efi_uintn_t data_size,
|
||||
void *data);
|
||||
Index: b/include/grub/efi/efi.h
|
||||
===================================================================
|
||||
--- a/include/grub/efi/efi.h
|
||||
+++ b/include/grub/efi/efi.h
|
||||
@@ -64,6 +64,11 @@
|
||||
void *EXPORT_FUNC (grub_efi_get_variable) (const char *variable,
|
||||
const grub_efi_guid_t *guid,
|
||||
grub_size_t *datasize_out);
|
||||
+grub_err_t
|
||||
+EXPORT_FUNC (grub_efi_set_variable) (const char *var,
|
||||
+ const grub_efi_guid_t *guid,
|
||||
+ void *data,
|
||||
+ grub_size_t datasize);
|
||||
int
|
||||
EXPORT_FUNC (grub_efi_compare_device_paths) (const grub_efi_device_path_t *dp1,
|
||||
const grub_efi_device_path_t *dp2);
|
88
debian/patches/emu_freebsd.patch
vendored
88
debian/patches/emu_freebsd.patch
vendored
@ -1,88 +0,0 @@
|
||||
Description: Fix grub-emu build on FreeBSD
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4587
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4587
|
||||
Last-Update: 2012-09-22
|
||||
|
||||
Index: b/Makefile.util.def
|
||||
===================================================================
|
||||
--- a/Makefile.util.def
|
||||
+++ b/Makefile.util.def
|
||||
@@ -266,7 +266,7 @@
|
||||
ldadd = libgrubgcry.a;
|
||||
ldadd = libgrubkern.a;
|
||||
ldadd = grub-core/gnulib/libgnu.a;
|
||||
- ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) -lfuse';
|
||||
+ ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM) -lfuse';
|
||||
condition = COND_GRUB_MOUNT;
|
||||
};
|
||||
|
||||
Index: b/grub-core/net/drivers/emu/emunet.c
|
||||
===================================================================
|
||||
--- a/grub-core/net/drivers/emu/emunet.c
|
||||
+++ b/grub-core/net/drivers/emu/emunet.c
|
||||
@@ -21,8 +21,10 @@
|
||||
#include <sys/socket.h>
|
||||
#include <grub/net.h>
|
||||
#include <sys/types.h>
|
||||
-#include <linux/if.h>
|
||||
-#include <linux/if_tun.h>
|
||||
+#ifdef __linux__
|
||||
+# include <linux/if.h>
|
||||
+# include <linux/if_tun.h>
|
||||
+#endif /* __linux__ */
|
||||
#include <sys/ioctl.h>
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
@@ -97,6 +99,7 @@
|
||||
|
||||
GRUB_MOD_INIT(emunet)
|
||||
{
|
||||
+#ifdef __linux__
|
||||
struct ifreq ifr;
|
||||
fd = open ("/dev/net/tun", O_RDWR | O_NONBLOCK);
|
||||
if (fd < 0)
|
||||
@@ -110,6 +113,10 @@
|
||||
return;
|
||||
}
|
||||
grub_net_card_register (&emucard);
|
||||
+#else /* !__linux__ */
|
||||
+ fd = -1;
|
||||
+ return;
|
||||
+#endif /* __linux__ */
|
||||
}
|
||||
|
||||
GRUB_MOD_FINI(emunet)
|
||||
Index: b/util/getroot.c
|
||||
===================================================================
|
||||
--- a/util/getroot.c
|
||||
+++ b/util/getroot.c
|
||||
@@ -220,6 +220,9 @@
|
||||
|
||||
#if !defined (__MINGW32__) && !defined (__CYGWIN__) && !defined (__GNU__)
|
||||
|
||||
+#if (defined (__linux__) || \
|
||||
+ !defined (HAVE_LIBZFS) || !defined (HAVE_LIBNVPAIR))
|
||||
+
|
||||
static pid_t
|
||||
exec_pipe (char **argv, int *fd)
|
||||
{
|
||||
@@ -258,6 +261,8 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#endif
|
||||
+
|
||||
static char **
|
||||
find_root_devices_from_poolname (char *poolname)
|
||||
{
|
||||
@@ -269,7 +274,7 @@
|
||||
zpool_handle_t *zpool;
|
||||
libzfs_handle_t *libzfs;
|
||||
nvlist_t *config, *vdev_tree;
|
||||
- nvlist_t **children, **path;
|
||||
+ nvlist_t **children;
|
||||
unsigned int nvlist_count;
|
||||
unsigned int i;
|
||||
char *device = 0;
|
52
debian/patches/fix_powerpc_emu.patch
vendored
52
debian/patches/fix_powerpc_emu.patch
vendored
@ -1,52 +0,0 @@
|
||||
Description: Only fix up powerpc key repeat on IEEE1275 machines.
|
||||
Fixes powerpc-emu compilation.
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4580
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4580
|
||||
Last-Update: 2012-09-14
|
||||
|
||||
Index: b/grub-core/term/terminfo.c
|
||||
===================================================================
|
||||
--- a/grub-core/term/terminfo.c
|
||||
+++ b/grub-core/term/terminfo.c
|
||||
@@ -33,7 +33,7 @@
|
||||
#include <grub/extcmd.h>
|
||||
#include <grub/i18n.h>
|
||||
#include <grub/time.h>
|
||||
-#ifdef __powerpc__
|
||||
+#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275)
|
||||
#include <grub/ieee1275/ieee1275.h>
|
||||
#endif
|
||||
|
||||
@@ -563,7 +563,7 @@
|
||||
grub_terminfo_readkey (termi, data->input_buf,
|
||||
&data->npending, data->readkey);
|
||||
|
||||
-#ifdef __powerpc__
|
||||
+#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275)
|
||||
if (data->npending == 1 && data->input_buf[0] == '\e'
|
||||
&& grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_BROKEN_REPEAT)
|
||||
&& grub_get_time_ms () - data->last_key_time < 1000
|
||||
@@ -580,7 +580,7 @@
|
||||
int ret;
|
||||
data->npending--;
|
||||
ret = data->input_buf[0];
|
||||
-#ifdef __powerpc__
|
||||
+#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275)
|
||||
if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_BROKEN_REPEAT))
|
||||
{
|
||||
data->last_key = ret;
|
||||
Index: b/include/grub/terminfo.h
|
||||
===================================================================
|
||||
--- a/include/grub/terminfo.h
|
||||
+++ b/include/grub/terminfo.h
|
||||
@@ -32,7 +32,7 @@
|
||||
{
|
||||
int input_buf[GRUB_TERMINFO_READKEY_MAX_LEN];
|
||||
int npending;
|
||||
-#ifdef __powerpc__
|
||||
+#if defined(__powerpc__) && defined(GRUB_MACHINE_IEEE1275)
|
||||
int last_key;
|
||||
grub_uint64_t last_key_time;
|
||||
#endif
|
15
debian/patches/gettext_quiet.patch
vendored
15
debian/patches/gettext_quiet.patch
vendored
@ -2,23 +2,20 @@ Description: Silence error messages when translations are unavailable
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug: https://savannah.gnu.org/bugs/?35880
|
||||
Forwarded: https://savannah.gnu.org/bugs/?35880
|
||||
Last-Update: 2012-09-06
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/grub-core/gettext/gettext.c
|
||||
===================================================================
|
||||
--- a/grub-core/gettext/gettext.c
|
||||
+++ b/grub-core/gettext/gettext.c
|
||||
@@ -412,6 +412,14 @@
|
||||
|
||||
grub_free (lang);
|
||||
}
|
||||
@@ -427,6 +427,11 @@
|
||||
if (locale[0] == 'e' && locale[1] == 'n'
|
||||
&& (locale[2] == '\0' || locale[2] == '_'))
|
||||
grub_errno = err = GRUB_ERR_NONE;
|
||||
+
|
||||
+ /* If no translations are available, fall back to untranslated text. */
|
||||
+ if (err == GRUB_ERR_FILE_NOT_FOUND)
|
||||
+ {
|
||||
+ grub_errno = GRUB_ERR_NONE;
|
||||
+ return 0;
|
||||
+ }
|
||||
+ grub_errno = err = GRUB_ERR_NONE;
|
||||
+
|
||||
return err;
|
||||
}
|
||||
|
6
debian/patches/gfxpayload_dynamic.patch
vendored
6
debian/patches/gfxpayload_dynamic.patch
vendored
@ -5,13 +5,13 @@ Description: Add configure option to enable gfxpayload=keep dynamically
|
||||
Author: Evan Broder <evan@ebroder.net>
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2013-11-13
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1109,6 +1109,17 @@
|
||||
@@ -1376,6 +1376,17 @@
|
||||
fi
|
||||
AC_SUBST([QUICK_BOOT])
|
||||
|
||||
@ -33,7 +33,7 @@ Index: b/grub-core/Makefile.core.def
|
||||
===================================================================
|
||||
--- a/grub-core/Makefile.core.def
|
||||
+++ b/grub-core/Makefile.core.def
|
||||
@@ -704,6 +704,15 @@
|
||||
@@ -888,6 +888,15 @@
|
||||
};
|
||||
|
||||
module = {
|
||||
|
41
debian/patches/gnulib_gets.patch
vendored
41
debian/patches/gnulib_gets.patch
vendored
@ -1,41 +0,0 @@
|
||||
Description: Avoid assuming that gets is declared
|
||||
Origin: backport, http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=66712c23388e93e5c518ebc8515140fa0c807348
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4611
|
||||
Last-Update: 2012-12-28
|
||||
|
||||
Index: b/grub-core/gnulib/stdio.in.h
|
||||
===================================================================
|
||||
--- a/grub-core/gnulib/stdio.in.h
|
||||
+++ b/grub-core/gnulib/stdio.in.h
|
||||
@@ -138,10 +138,12 @@
|
||||
#endif
|
||||
|
||||
/* It is very rare that the developer ever has full control of stdin,
|
||||
- so any use of gets warrants an unconditional warning. Assume it is
|
||||
- always declared, since it is required by C89. */
|
||||
+ so any use of gets warrants an unconditional warning; besides, C11
|
||||
+ removed it. */
|
||||
#undef gets
|
||||
+#if HAVE_RAW_DECL_GETS
|
||||
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
||||
+#endif
|
||||
|
||||
#if @GNULIB_FOPEN@
|
||||
# if @REPLACE_FOPEN@
|
||||
Index: b/m4/stdio_h.m4
|
||||
===================================================================
|
||||
--- a/m4/stdio_h.m4
|
||||
+++ b/m4/stdio_h.m4
|
||||
@@ -35,9 +35,9 @@
|
||||
|
||||
dnl Check for declarations of anything we want to poison if the
|
||||
dnl corresponding gnulib module is not in use, and which is not
|
||||
- dnl guaranteed by C89.
|
||||
+ dnl guaranteed by both C89 and C11.
|
||||
gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
|
||||
- ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat
|
||||
+ ]], [dprintf fpurge fseeko ftello getdelim getline gets popen renameat
|
||||
snprintf tmpfile vdprintf vsnprintf])
|
||||
])
|
||||
|
@ -1,43 +1,31 @@
|
||||
Description: Support running grub-probe in grub-legacy's update-grub
|
||||
Author: Robert Millan <rmh@aybabtu.com>
|
||||
Author: Colin Watson <cjwatson@debian.org>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/getroot.c
|
||||
===================================================================
|
||||
--- a/util/getroot.c
|
||||
+++ b/util/getroot.c
|
||||
@@ -2144,7 +2144,7 @@
|
||||
}
|
||||
*ptr = 0;
|
||||
if (dos_part >= 0)
|
||||
- snprintf (ptr, end - ptr, ",%d", dos_part + 1);
|
||||
+ snprintf (ptr, end - ptr, ",%d", dos_part + (getenv ("GRUB_LEGACY_0_BASED_PARTITIONS") ? 0 : 1));
|
||||
ptr += strlen (ptr);
|
||||
if (bsd_part >= 0)
|
||||
snprintf (ptr, end - ptr, ",%d", bsd_part + 1);
|
||||
@@ -2241,6 +2241,29 @@
|
||||
@@ -239,6 +239,20 @@
|
||||
|
||||
if (start == part_start)
|
||||
{
|
||||
+ if (getenv ("GRUB_LEGACY_0_BASED_PARTITIONS"))
|
||||
+ {
|
||||
+ int dos_part, bsd_part;
|
||||
+ char *fullname, *comma;
|
||||
if (ctx->start == part_start)
|
||||
{
|
||||
+ /* This is dreadfully hardcoded, but there's a limit to what GRUB
|
||||
+ Legacy was able to deal with anyway. */
|
||||
+ if (getenv ("GRUB_LEGACY_0_BASED_PARTITIONS"))
|
||||
+ {
|
||||
+ if (partition->parent)
|
||||
+ /* Probably a BSD slice. */
|
||||
+ ctx->partname = xasprintf ("%d,%d", partition->parent->number,
|
||||
+ partition->number + 1);
|
||||
+ else
|
||||
+ ctx->partname = xasprintf ("%d", partition->number);
|
||||
+
|
||||
+ if (partition->parent)
|
||||
+ {
|
||||
+ dos_part = partition->parent->number;
|
||||
+ bsd_part = partition->number;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ dos_part = partition->number;
|
||||
+ bsd_part = -1;
|
||||
+ }
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ fullname = make_device_name (drive, dos_part, bsd_part);
|
||||
+ comma = strchr (fullname, ',');
|
||||
+ partname = comma ? xstrdup (comma + 1) : NULL;
|
||||
+ free (fullname);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
partname = grub_partition_get_name (partition);
|
||||
return 1;
|
||||
}
|
||||
ctx->partname = grub_partition_get_name (partition);
|
||||
return 1;
|
||||
}
|
||||
|
25
debian/patches/initrd_addr_min.patch
vendored
25
debian/patches/initrd_addr_min.patch
vendored
@ -1,25 +0,0 @@
|
||||
Description: Fix incorrect initrd minimum address calculation
|
||||
Don't add the initrd size to addr_min, since the initrd will be allocated
|
||||
after this address. Fixes failure to load initrd on systems where the
|
||||
64MiB-128MiB range of physical memory is reserved, such as Windows Azure
|
||||
guests.
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1055686
|
||||
Forwarded: https://lists.gnu.org/archive/html/grub-devel/2012-10/msg00023.html
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4664
|
||||
Last-Update: 2013-01-20
|
||||
|
||||
Index: b/grub-core/loader/i386/linux.c
|
||||
===================================================================
|
||||
--- a/grub-core/loader/i386/linux.c
|
||||
+++ b/grub-core/loader/i386/linux.c
|
||||
@@ -1101,8 +1101,7 @@
|
||||
worse than that of Linux 2.3.xx, so avoid the last 64kb. */
|
||||
addr_max -= 0x10000;
|
||||
|
||||
- addr_min = (grub_addr_t) prot_mode_target + prot_init_space
|
||||
- + page_align (size);
|
||||
+ addr_min = (grub_addr_t) prot_mode_target + prot_init_space;
|
||||
|
||||
/* Put the initrd as high as possible, 4KiB aligned. */
|
||||
addr = (addr_max - size) & ~0xFFF;
|
8
debian/patches/install_bios_setup_path.patch
vendored
8
debian/patches/install_bios_setup_path.patch
vendored
@ -2,18 +2,18 @@ Description: Look for grub-bios-setup in /usr/lib/grub/i386-pc/ as well
|
||||
Author: Colin Watson <cjwatson@debian.org>
|
||||
Bug-Debian: http://bugs.debian.org/705636
|
||||
Forwarded: no
|
||||
Last-Update: 2013-04-17
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/util/grub-install.in
|
||||
===================================================================
|
||||
--- a/util/grub-install.in
|
||||
+++ b/util/grub-install.in
|
||||
@@ -363,6 +363,9 @@
|
||||
@@ -322,6 +322,9 @@
|
||||
|
||||
if test "x$grub_setup" = x && [ "${grub_modinfo_target_cpu}-${grub_modinfo_platform}" = "i386-pc" ]; then
|
||||
grub_setup="${sbindir}/`echo grub-bios-setup | sed ${transform}`"
|
||||
grub_setup="${sbindir}/@grub_bios_setup@"
|
||||
+ if [ ! -e "$grub_setup" ]; then
|
||||
+ grub_setup="${source_dir}/`echo grub-bios-setup | sed ${transform}`"
|
||||
+ grub_setup="${source_dir}/@grub_bios_setup@"
|
||||
+ fi
|
||||
fi
|
||||
|
||||
|
6
debian/patches/install_efi_fallback.patch
vendored
6
debian/patches/install_efi_fallback.patch
vendored
@ -5,13 +5,13 @@ Description: Fall back to i386-pc if booted using EFI but -efi is missing
|
||||
better than returning a confusing error.
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2012-09-14
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub-install.in
|
||||
===================================================================
|
||||
--- a/util/grub-install.in
|
||||
+++ b/util/grub-install.in
|
||||
@@ -292,7 +292,8 @@
|
||||
@@ -249,7 +249,8 @@
|
||||
linux*)
|
||||
modprobe -q efivars 2>/dev/null || true ;;
|
||||
esac
|
||||
@ -21,7 +21,7 @@ Index: b/util/grub-install.in
|
||||
target="x86_64-efi"
|
||||
else
|
||||
target=i386-pc
|
||||
@@ -308,7 +309,8 @@
|
||||
@@ -265,7 +266,8 @@
|
||||
linux*)
|
||||
modprobe -q efivars 2>/dev/null || true ;;
|
||||
esac
|
||||
|
@ -5,13 +5,13 @@ Description: Cope with Kubuntu setting GRUB_DISTRIBUTOR
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1242417
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2013-11-12
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/util/grub-install.in
|
||||
===================================================================
|
||||
--- a/util/grub-install.in
|
||||
+++ b/util/grub-install.in
|
||||
@@ -471,6 +471,10 @@
|
||||
@@ -434,6 +434,10 @@
|
||||
# not collide with other vendors. To minimise collisions, we use the
|
||||
# name of our distributor if possible.
|
||||
efi_distributor="$bootloader_id"
|
||||
|
37
debian/patches/install_locale_langpack.patch
vendored
37
debian/patches/install_locale_langpack.patch
vendored
@ -1,19 +1,28 @@
|
||||
Description: Prefer translations from language packs
|
||||
Description: Prefer translations from Ubuntu language packs if available
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/537998
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2012-09-26
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub-install.in
|
||||
Index: b/util/grub-install_header
|
||||
===================================================================
|
||||
--- a/util/grub-install.in
|
||||
+++ b/util/grub-install.in
|
||||
@@ -543,7 +543,7 @@
|
||||
|
||||
# Copy gettext files
|
||||
mkdir -p "${grubdir}"/locale/
|
||||
-for dir in "${localedir}"/*; do
|
||||
+for dir in "${localedir}"/* "${localedir}-langpack"/*; do
|
||||
if test -f "$dir/LC_MESSAGES/grub.mo"; then
|
||||
cp -f "$dir/LC_MESSAGES/grub.mo" "${grubdir}/locale/${dir##*/}.mo"
|
||||
fi
|
||||
--- a/util/grub-install_header
|
||||
+++ b/util/grub-install_header
|
||||
@@ -118,7 +118,7 @@
|
||||
grub_compress_file "$file" "${grub_install_files_target_directory}"/locale/"$(basename "$file")"
|
||||
fi
|
||||
done
|
||||
- for dir in "${localedir}"/*; do
|
||||
+ for dir in "${localedir}"/* "${localedir}-langpack"/*; do
|
||||
if test -f "$dir/LC_MESSAGES/@PACKAGE@.mo" && ! test -f "${grub_install_files_target_directory}"/locale/"${dir##*/}.mo"; then
|
||||
grub_compress_file "$dir/LC_MESSAGES/@PACKAGE@.mo" "${grub_install_files_target_directory}"/locale/"${dir##*/}.mo"
|
||||
fi
|
||||
@@ -127,6 +127,8 @@
|
||||
for locale in $install_locales; do
|
||||
if test -f "${grub_install_files_source_directory}"/po/$locale.mo; then
|
||||
grub_compress_file "${grub_install_files_source_directory}"/po/locale.mo "${grub_install_files_target_directory}"/locale/$locale.mo
|
||||
+ elif test -f "${localedir}-langpack/$locale/LC_MESSAGES/@PACKAGE@.mo"; then
|
||||
+ grub_compress_file "${localedir}-langpack/$locale/LC_MESSAGES/@PACKAGE@.mo" "${grub_install_files_target_directory}"/locale/$locale.mo
|
||||
elif test -f "${localedir}/$locale/LC_MESSAGES/@PACKAGE@.mo"; then
|
||||
grub_compress_file "${localedir}/$locale/LC_MESSAGES/@PACKAGE@.mo" "${grub_install_files_target_directory}"/locale/$locale.mo
|
||||
fi
|
||||
|
28
debian/patches/install_signed.patch
vendored
28
debian/patches/install_signed.patch
vendored
@ -3,21 +3,21 @@ Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Author: Stéphane Graber <stgraber@ubuntu.com>
|
||||
Author: Steve Langasek <steve.langasek@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2013-11-12
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/util/grub-install.in
|
||||
===================================================================
|
||||
--- a/util/grub-install.in
|
||||
+++ b/util/grub-install.in
|
||||
@@ -63,6 +63,7 @@
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
removable=no
|
||||
efi_quiet=
|
||||
efi_quiet=-q
|
||||
+uefi_secure_boot=yes
|
||||
|
||||
# Get GRUB_DISTRIBUTOR.
|
||||
if test -f "${sysconfdir}/default/grub" ; then
|
||||
@@ -117,6 +118,8 @@
|
||||
@@ -92,6 +93,8 @@
|
||||
print_option_help "--removable" "$(gettext "the installation device is removable. This option is only available on EFI.")"
|
||||
print_option_help "--bootloader-id=$(gettext "ID")" "$(gettext "the ID of bootloader. This option is only available on EFI.")"
|
||||
print_option_help "--efi-directory=$(gettext "DIR")" "$(gettext "use DIR as the EFI System Partition root.")"
|
||||
@ -26,7 +26,7 @@ Index: b/util/grub-install.in
|
||||
echo
|
||||
gettext "INSTALL_DEVICE must be system device filename.";echo
|
||||
echo
|
||||
@@ -258,6 +261,11 @@
|
||||
@@ -215,6 +218,11 @@
|
||||
-f | --force)
|
||||
setup_force="--force" ;;
|
||||
|
||||
@ -38,7 +38,7 @@ Index: b/util/grub-install.in
|
||||
-*)
|
||||
gettext_printf "Unrecognized option \`%s'\n" "$option" 1>&2
|
||||
usage
|
||||
@@ -460,39 +468,32 @@
|
||||
@@ -423,43 +431,34 @@
|
||||
# not collide with other vendors. To minimise collisions, we use the
|
||||
# name of our distributor if possible.
|
||||
efi_distributor="$bootloader_id"
|
||||
@ -54,6 +54,8 @@ Index: b/util/grub-install.in
|
||||
+ # expansion.
|
||||
+ ia64)
|
||||
+ efi_suffix=ia64 ;;
|
||||
+ arm)
|
||||
+ efi_suffix=arm ;;
|
||||
+ *)
|
||||
+ efi_suffix= ;;
|
||||
+ esac
|
||||
@ -73,6 +75,8 @@ Index: b/util/grub-install.in
|
||||
- # expansion.
|
||||
- ia64)
|
||||
- efi_file=BOOTIA64.EFI ;;
|
||||
- arm)
|
||||
- efi_file=BOOTARM.EFI ;;
|
||||
- esac
|
||||
+ efi_file="BOOT$(printf %s "$efi_suffix" | tr a-z A-Z).EFI"
|
||||
else
|
||||
@ -88,14 +92,16 @@ Index: b/util/grub-install.in
|
||||
- # expansion.
|
||||
- ia64)
|
||||
- efi_file=grubia64.efi ;;
|
||||
- arm)
|
||||
- efi_file=grubarm.efi ;;
|
||||
- *)
|
||||
- efi_file=grub.efi ;;
|
||||
- esac
|
||||
+ efi_file="grub$efi_suffix.efi"
|
||||
# TODO: We should also use efibootmgr, if available, to add a Boot
|
||||
# entry for ourselves.
|
||||
fi
|
||||
@@ -634,7 +635,15 @@
|
||||
efidir="$efidir/EFI/$efi_distributor"
|
||||
mkdir -p "$efidir" || exit 1
|
||||
@@ -575,7 +574,15 @@
|
||||
config_opt_file="${grubdir}/${grub_modinfo_target_cpu}-$grub_modinfo_platform/load.cfg"
|
||||
fi
|
||||
|
||||
@ -112,7 +118,7 @@ Index: b/util/grub-install.in
|
||||
if [ x"${install_device}" != x ]; then
|
||||
if echo "${install_device}" | grep -qx "(.*)" ; then
|
||||
install_drive="${install_device}"
|
||||
@@ -653,7 +662,7 @@
|
||||
@@ -594,7 +601,7 @@
|
||||
install_drive="$grub_drive"
|
||||
fi
|
||||
|
||||
@ -121,7 +127,7 @@ Index: b/util/grub-install.in
|
||||
# generic method (used on coreboot and ata mod)
|
||||
uuid=
|
||||
if [ x"$force_file_id" != xy ]; then
|
||||
@@ -828,10 +837,31 @@
|
||||
@@ -776,10 +783,31 @@
|
||||
gettext "You will have to set \`SystemPartition' and \`OSLoader' manually." 1>&2
|
||||
echo 1>&2
|
||||
elif [ x"$grub_modinfo_platform" = xefi ]; then
|
||||
|
@ -2,13 +2,13 @@ Description: If GRUB Legacy is still around, tell packaging to ignore it
|
||||
Author: Colin Watson <cjwatson@debian.org>
|
||||
Bug-Debian: http://bugs.debian.org/586143
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2010-06-18
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub-install.in
|
||||
===================================================================
|
||||
--- a/util/grub-install.in
|
||||
+++ b/util/grub-install.in
|
||||
@@ -863,6 +863,13 @@
|
||||
@@ -823,6 +823,13 @@
|
||||
echo 1>&2
|
||||
fi
|
||||
|
||||
|
57
debian/patches/kfreebsd_9.1.patch
vendored
57
debian/patches/kfreebsd_9.1.patch
vendored
@ -1,57 +0,0 @@
|
||||
Description: Fix booting FreeBSD >= 9.1 amd64 kernels
|
||||
Author: Vladimir Serbinenko <phcoder@gmail.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4556
|
||||
Bug-Debian: http://bugs.debian.org/699002
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4556
|
||||
Last-Update: 2013-01-28
|
||||
|
||||
Index: b/grub-core/loader/i386/bsd.c
|
||||
===================================================================
|
||||
--- a/grub-core/loader/i386/bsd.c
|
||||
+++ b/grub-core/loader/i386/bsd.c
|
||||
@@ -1309,7 +1309,7 @@
|
||||
&& phdr->p_type != PT_DYNAMIC)
|
||||
return 0;
|
||||
|
||||
- paddr = phdr->p_paddr & 0xFFFFFF;
|
||||
+ paddr = phdr->p_paddr & 0xFFFFFFF;
|
||||
|
||||
if (paddr < kern_start)
|
||||
kern_start = paddr;
|
||||
@@ -1333,7 +1333,7 @@
|
||||
}
|
||||
|
||||
*do_load = 1;
|
||||
- phdr->p_paddr &= 0xFFFFFF;
|
||||
+ phdr->p_paddr &= 0xFFFFFFF;
|
||||
paddr = phdr->p_paddr;
|
||||
|
||||
*addr = (grub_addr_t) (paddr - kern_start + (grub_uint8_t *) kern_chunk_src);
|
||||
@@ -1351,7 +1351,7 @@
|
||||
&& phdr->p_type != PT_DYNAMIC)
|
||||
return 0;
|
||||
|
||||
- paddr = phdr->p_paddr & 0xffffff;
|
||||
+ paddr = phdr->p_paddr & 0xfffffff;
|
||||
|
||||
if (paddr < kern_start)
|
||||
kern_start = paddr;
|
||||
@@ -1375,7 +1375,7 @@
|
||||
}
|
||||
|
||||
*do_load = 1;
|
||||
- paddr = phdr->p_paddr & 0xffffff;
|
||||
+ paddr = phdr->p_paddr & 0xfffffff;
|
||||
|
||||
*addr = (grub_addr_t) (paddr - kern_start + (grub_uint8_t *) kern_chunk_src);
|
||||
|
||||
@@ -1394,7 +1394,7 @@
|
||||
{
|
||||
grub_relocator_chunk_t ch;
|
||||
|
||||
- entry = elf->ehdr.ehdr32.e_entry & 0xFFFFFF;
|
||||
+ entry = elf->ehdr.ehdr32.e_entry & 0xFFFFFFF;
|
||||
err = grub_elf32_phdr_iterate (elf, filename,
|
||||
grub_bsd_elf32_size_hook, NULL);
|
||||
if (err)
|
4
debian/patches/linuxefi.patch
vendored
4
debian/patches/linuxefi.patch
vendored
@ -2,13 +2,13 @@ Description: Add "linuxefi" loader which avoids ExitBootServices
|
||||
Author: Matthew Garrett <mjg@redhat.com>
|
||||
Origin: vendor, http://pkgs.fedoraproject.org/cgit/grub2.git/tree/grub2-linuxefi.patch
|
||||
Forwarded: no
|
||||
Last-Update: 2012-10-05
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/grub-core/Makefile.core.def
|
||||
===================================================================
|
||||
--- a/grub-core/Makefile.core.def
|
||||
+++ b/grub-core/Makefile.core.def
|
||||
@@ -1421,6 +1421,14 @@
|
||||
@@ -1681,6 +1681,14 @@
|
||||
};
|
||||
|
||||
module = {
|
||||
|
4
debian/patches/linuxefi_amd64_only.patch
vendored
4
debian/patches/linuxefi_amd64_only.patch
vendored
@ -1,13 +1,13 @@
|
||||
Description: Only build linuxefi on amd64
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2012-10-05
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/grub-core/Makefile.core.def
|
||||
===================================================================
|
||||
--- a/grub-core/Makefile.core.def
|
||||
+++ b/grub-core/Makefile.core.def
|
||||
@@ -1424,7 +1424,6 @@
|
||||
@@ -1684,7 +1684,6 @@
|
||||
name = linuxefi;
|
||||
efi = loader/i386/efi/linux.c;
|
||||
efi = lib/cmdline.c;
|
||||
|
10
debian/patches/linuxefi_non_sb_fallback.patch
vendored
10
debian/patches/linuxefi_non_sb_fallback.patch
vendored
@ -2,7 +2,7 @@ Description: If running under UEFI secure boot, attempt to use linuxefi loader
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Author: Steve Langasek <steve.langasek@canonical.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2012-10-05
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/grub-core/loader/i386/efi/linux.c
|
||||
===================================================================
|
||||
@ -21,7 +21,7 @@ Index: b/grub-core/loader/i386/linux.c
|
||||
===================================================================
|
||||
--- a/grub-core/loader/i386/linux.c
|
||||
+++ b/grub-core/loader/i386/linux.c
|
||||
@@ -75,6 +75,8 @@
|
||||
@@ -76,6 +76,8 @@
|
||||
static struct linux_kernel_params linux_params;
|
||||
static char *linux_cmdline;
|
||||
#ifdef GRUB_MACHINE_EFI
|
||||
@ -30,7 +30,7 @@ Index: b/grub-core/loader/i386/linux.c
|
||||
static grub_efi_uintn_t efi_mmap_size;
|
||||
#else
|
||||
static const grub_size_t efi_mmap_size = 0;
|
||||
@@ -684,6 +686,41 @@
|
||||
@@ -688,6 +690,41 @@
|
||||
|
||||
grub_dl_ref (my_mod);
|
||||
|
||||
@ -73,8 +73,8 @@ Index: b/grub-core/loader/i386/linux.c
|
||||
{
|
||||
grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected"));
|
||||
@@ -1050,6 +1087,12 @@
|
||||
int nfiles = 0;
|
||||
grub_uint8_t *ptr;
|
||||
grub_err_t err;
|
||||
struct grub_linux_initrd_context initrd_ctx;
|
||||
|
||||
+#ifdef GRUB_MACHINE_EFI
|
||||
+ /* If we're using linuxefi, just forward to initrdefi. */
|
||||
|
42
debian/patches/maybe_quiet.patch
vendored
42
debian/patches/maybe_quiet.patch
vendored
@ -25,26 +25,26 @@ Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/386922
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/861048
|
||||
Forwarded: (partial) http://lists.gnu.org/archive/html/grub-devel/2009-09/msg00056.html
|
||||
Last-Update: 2013-08-26
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/config.h.in
|
||||
===================================================================
|
||||
--- a/config.h.in
|
||||
+++ b/config.h.in
|
||||
@@ -41,6 +41,8 @@
|
||||
#define NEED_REGISTER_FRAME_INFO @NEED_REGISTER_FRAME_INFO@
|
||||
@@ -11,6 +11,8 @@
|
||||
/* Define to 1 to enable disk cache statistics. */
|
||||
#define DISK_CACHE_STATS @DISK_CACHE_STATS@
|
||||
#define BOOT_TIME_STATS @BOOT_TIME_STATS@
|
||||
+/* Define to 1 to make GRUB quieter at boot time. */
|
||||
+#define QUIET_BOOT @QUIET_BOOT@
|
||||
|
||||
#define GRUB_TARGET_CPU "@GRUB_TARGET_CPU@"
|
||||
#define GRUB_PLATFORM "@GRUB_PLATFORM@"
|
||||
#if defined (GRUB_BUILD)
|
||||
#undef ENABLE_NLS
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1087,6 +1087,17 @@
|
||||
@@ -1354,6 +1354,17 @@
|
||||
fi
|
||||
AC_SUBST([UBUNTU_RECOVERY])
|
||||
|
||||
@ -62,9 +62,9 @@ Index: b/configure.ac
|
||||
LIBS=""
|
||||
|
||||
AC_SUBST([FONT_SOURCE])
|
||||
@@ -1243,5 +1254,10 @@
|
||||
@@ -1589,5 +1600,10 @@
|
||||
else
|
||||
echo With libzfs support: No "($libzfs_excuse)"
|
||||
echo "With liblzma from $LIBLZMA (support for XZ-compressed mips images)"
|
||||
fi
|
||||
+if [ x"$enable_quiet_boot" = xyes ]; then
|
||||
+echo With quiet boot: Yes
|
||||
@ -87,7 +87,7 @@ Index: b/grub-core/boot/i386/pc/boot.S
|
||||
|
||||
/*
|
||||
* defines for the code go here
|
||||
@@ -150,9 +153,17 @@
|
||||
@@ -242,9 +245,17 @@
|
||||
/* save drive reference first thing! */
|
||||
pushw %dx
|
||||
|
||||
@ -189,7 +189,7 @@ Index: b/grub-core/kern/main.c
|
||||
===================================================================
|
||||
--- a/grub-core/kern/main.c
|
||||
+++ b/grub-core/kern/main.c
|
||||
@@ -207,13 +207,23 @@
|
||||
@@ -251,15 +251,25 @@
|
||||
void __attribute__ ((noreturn))
|
||||
grub_main (void)
|
||||
{
|
||||
@ -200,6 +200,8 @@ Index: b/grub-core/kern/main.c
|
||||
/* First of all, initialize the machine. */
|
||||
grub_machine_init ();
|
||||
|
||||
grub_boot_time ("After machine init.");
|
||||
|
||||
+#ifdef QUIET_BOOT
|
||||
+ /* Disable the cursor until we need it. */
|
||||
+ FOR_ACTIVE_TERM_OUTPUTS(term)
|
||||
@ -211,11 +213,11 @@ Index: b/grub-core/kern/main.c
|
||||
grub_setcolorstate (GRUB_TERM_COLOR_STANDARD);
|
||||
+#endif
|
||||
|
||||
/* Load pre-loaded modules and free the space. */
|
||||
grub_register_exported_symbols ();
|
||||
@@ -232,5 +242,12 @@
|
||||
|
||||
grub_load_config ();
|
||||
|
||||
@@ -295,5 +305,12 @@
|
||||
grub_boot_time ("After execution of embedded config. Attempt to go to normal mode");
|
||||
|
||||
grub_load_normal_mode ();
|
||||
+
|
||||
+#ifdef QUIET_BOOT
|
||||
@ -230,7 +232,7 @@ Index: b/grub-core/kern/rescue_reader.c
|
||||
===================================================================
|
||||
--- a/grub-core/kern/rescue_reader.c
|
||||
+++ b/grub-core/kern/rescue_reader.c
|
||||
@@ -77,7 +77,9 @@
|
||||
@@ -78,7 +78,9 @@
|
||||
void __attribute__ ((noreturn))
|
||||
grub_rescue_run (void)
|
||||
{
|
||||
@ -244,7 +246,7 @@ Index: b/grub-core/normal/main.c
|
||||
===================================================================
|
||||
--- a/grub-core/normal/main.c
|
||||
+++ b/grub-core/normal/main.c
|
||||
@@ -399,6 +399,15 @@
|
||||
@@ -428,6 +428,15 @@
|
||||
grub_normal_read_line_real (char **line, int cont, int nested)
|
||||
{
|
||||
const char *prompt;
|
||||
@ -260,7 +262,7 @@ Index: b/grub-core/normal/main.c
|
||||
|
||||
if (cont)
|
||||
/* TRANSLATORS: it's command line prompt. */
|
||||
@@ -446,7 +455,9 @@
|
||||
@@ -476,7 +485,9 @@
|
||||
return;
|
||||
}
|
||||
|
||||
@ -274,7 +276,7 @@ Index: b/grub-core/normal/menu.c
|
||||
===================================================================
|
||||
--- a/grub-core/normal/menu.c
|
||||
+++ b/grub-core/normal/menu.c
|
||||
@@ -669,12 +669,18 @@
|
||||
@@ -674,12 +674,18 @@
|
||||
|
||||
/* Callback invoked immediately before a menu entry is executed. */
|
||||
static void
|
||||
@ -294,7 +296,7 @@ Index: b/grub-core/normal/menu.c
|
||||
}
|
||||
|
||||
/* Callback invoked when a default menu entry executed because of a timeout
|
||||
@@ -722,6 +728,9 @@
|
||||
@@ -727,6 +733,9 @@
|
||||
int boot_entry;
|
||||
grub_menu_entry_t e;
|
||||
int auto_boot;
|
||||
@ -304,7 +306,7 @@ Index: b/grub-core/normal/menu.c
|
||||
|
||||
boot_entry = run_menu (menu, nested, &auto_boot);
|
||||
if (boot_entry < 0)
|
||||
@@ -731,7 +740,11 @@
|
||||
@@ -736,7 +745,11 @@
|
||||
if (! e)
|
||||
continue; /* Menu is empty. */
|
||||
|
||||
|
20
debian/patches/mkconfig_emacs_autosave.patch
vendored
20
debian/patches/mkconfig_emacs_autosave.patch
vendored
@ -1,20 +0,0 @@
|
||||
Description: Fix detection of Emacs autosave files
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5089
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5089
|
||||
Last-Update: 2013-08-11
|
||||
|
||||
Index: b/util/grub-mkconfig.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkconfig.in
|
||||
+++ b/util/grub-mkconfig.in
|
||||
@@ -253,7 +253,7 @@
|
||||
# emacsen backup files. FIXME: support other editors
|
||||
*~) ;;
|
||||
# emacsen autosave files. FIXME: support other editors
|
||||
- \#*\#) ;;
|
||||
+ */\#*\#) ;;
|
||||
*)
|
||||
if grub_file_is_not_garbage "$i" && test -x "$i" ; then
|
||||
echo
|
31
debian/patches/mkconfig_hurd_sort.patch
vendored
31
debian/patches/mkconfig_hurd_sort.patch
vendored
@ -1,31 +0,0 @@
|
||||
Description: Sort gnumach kernels in version order
|
||||
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5232
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5232
|
||||
Last-Update: 2013-10-07
|
||||
|
||||
Index: b/util/grub.d/10_hurd.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/10_hurd.in
|
||||
+++ b/util/grub.d/10_hurd.in
|
||||
@@ -153,8 +153,8 @@
|
||||
submenu_indentation=""
|
||||
is_first_entry=true
|
||||
|
||||
-for kernel in ${kernels}
|
||||
-do
|
||||
+while [ "x$kernels" != "x" ] ; do
|
||||
+ kernel=`version_find_latest $kernels`
|
||||
|
||||
if [ "x$is_first_entry" = xtrue ]; then
|
||||
hurd_entry "$kernel" simple
|
||||
@@ -166,6 +166,8 @@
|
||||
|
||||
hurd_entry "$kernel" advanced
|
||||
hurd_entry "$kernel" recovery
|
||||
+
|
||||
+ kernels=`echo $kernels | tr ' ' '\n' | grep -vx $kernel | tr '\n' ' '`
|
||||
is_first_entry=false
|
||||
done
|
||||
|
10
debian/patches/mkconfig_loopback.patch
vendored
10
debian/patches/mkconfig_loopback.patch
vendored
@ -13,7 +13,7 @@ Index: b/util/grub-mkconfig_lib.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkconfig_lib.in
|
||||
+++ b/util/grub-mkconfig_lib.in
|
||||
@@ -129,6 +129,21 @@
|
||||
@@ -130,6 +130,21 @@
|
||||
esac
|
||||
done
|
||||
|
||||
@ -35,9 +35,9 @@ Index: b/util/grub-mkconfig_lib.in
|
||||
if dmsetup status $device 2>/dev/null | grep -q 'crypt[[:space:]]$'; then
|
||||
grub_warn \
|
||||
"$device is a crypto device, which GRUB cannot read directly. Some" \
|
||||
@@ -169,6 +184,14 @@
|
||||
echo " search --no-floppy --fs-uuid --set=root ${fs_uuid}"
|
||||
echo "fi"
|
||||
@@ -240,6 +255,14 @@
|
||||
else
|
||||
return 1
|
||||
fi
|
||||
+
|
||||
+ if [ "x${loop_file}" != x ]; then
|
||||
@ -49,7 +49,7 @@ Index: b/util/grub-mkconfig_lib.in
|
||||
+ fi
|
||||
}
|
||||
|
||||
grub_get_device_id ()
|
||||
version_test_gt ()
|
||||
Index: b/util/grub.d/10_linux.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/10_linux.in
|
||||
|
4
debian/patches/mkconfig_mid_upgrade.patch
vendored
4
debian/patches/mkconfig_mid_upgrade.patch
vendored
@ -8,13 +8,13 @@ Description: Bail out if trying to run grub-mkconfig during upgrade to 2.00
|
||||
problem.
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2012-09-13
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub-mkconfig.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkconfig.in
|
||||
+++ b/util/grub-mkconfig.in
|
||||
@@ -99,6 +99,13 @@
|
||||
@@ -98,6 +98,13 @@
|
||||
esac
|
||||
done
|
||||
|
||||
|
@ -2,13 +2,13 @@ Description: Avoid getting confused by inaccessible loop device backing paths
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/938724
|
||||
Forwarded: no
|
||||
Last-Update: 2012-09-07
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub-mkconfig_lib.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkconfig_lib.in
|
||||
+++ b/util/grub-mkconfig_lib.in
|
||||
@@ -138,7 +138,7 @@
|
||||
@@ -139,7 +139,7 @@
|
||||
/dev/*) ;;
|
||||
*)
|
||||
loop_device="${device}"
|
||||
@ -21,26 +21,26 @@ Index: b/util/grub.d/30_os-prober.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/30_os-prober.in
|
||||
+++ b/util/grub.d/30_os-prober.in
|
||||
@@ -169,6 +169,11 @@
|
||||
@@ -200,6 +200,11 @@
|
||||
LINITRD="${LINITRD#/boot}"
|
||||
fi
|
||||
|
||||
+ if [ -z "${prepare_boot_cache}" ]; then
|
||||
+ prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | sed -e "s/^/\t/")"
|
||||
+ prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | grub_add_tab)"
|
||||
+ [ "${prepare_boot_cache}" ] || continue
|
||||
+ fi
|
||||
+
|
||||
onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
|
||||
recovery_params="$(echo "${LPARAMS}" | grep 'single\|recovery')" || true
|
||||
counter=1
|
||||
@@ -180,10 +185,6 @@
|
||||
@@ -211,10 +216,6 @@
|
||||
fi
|
||||
used_osprober_linux_ids="$used_osprober_linux_ids 'osprober-gnulinux-$LKERNEL-${recovery_params}-$counter-$boot_device_id'"
|
||||
|
||||
- if [ -z "${prepare_boot_cache}" ]; then
|
||||
- prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | sed -e "s/^/\t/")"
|
||||
- prepare_boot_cache="$(prepare_grub_to_access_device ${LBOOT} | grub_add_tab)"
|
||||
- fi
|
||||
-
|
||||
if [ "x$is_first_entry" = xtrue ]; then
|
||||
if [ "x$is_top_level" = xtrue ] && [ "x${GRUB_DISABLE_SUBMENU}" != xy ]; then
|
||||
cat << EOF
|
||||
menuentry '$(echo "$OS" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' {
|
||||
menuentry '$(echo "$OS $onstr" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-simple-$boot_device_id' {
|
||||
|
129
debian/patches/mkconfig_overescaping.patch
vendored
129
debian/patches/mkconfig_overescaping.patch
vendored
@ -1,129 +0,0 @@
|
||||
Description: Remove extra layer of escaping from grub_probe
|
||||
Also add missing quoting to various grub.d scripts.
|
||||
Author: Vladimir Serbinenko <phcoder@gmail.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4558
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4558
|
||||
Last-Update: 2012-09-17
|
||||
|
||||
Index: b/util/grub-mkconfig_lib.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkconfig_lib.in
|
||||
+++ b/util/grub-mkconfig_lib.in
|
||||
@@ -288,19 +288,19 @@
|
||||
echo "$version_find_latest_a"
|
||||
}
|
||||
|
||||
-# One layer of quotation is eaten by "", the second by sed, and the third by
|
||||
-# printf; so this turns ' into \'. Note that you must use the output of
|
||||
+# One layer of quotation is eaten by "" and the second by
|
||||
+# sed; so this turns ' into \'. Note that you must use the output of
|
||||
# this function in a printf format string.
|
||||
|
||||
grub_quote () {
|
||||
- sed "s/'/'\\\\\\\\''/g"
|
||||
+ sed "s/'/'\\\\''/g"
|
||||
}
|
||||
|
||||
gettext_quoted () {
|
||||
- gettext "$@" | sed "s/'/'\\\\\\\\''/g"
|
||||
+ gettext "$@" | grub_quote
|
||||
}
|
||||
|
||||
-# Run the first argument through gettext_quoted, and then pass that and all
|
||||
+# Run the first argument through gettext, and then pass that and all
|
||||
# remaining arguments to printf. This is a useful abbreviation and tends to
|
||||
# be easier to type.
|
||||
gettext_printf () {
|
||||
Index: b/util/grub.d/10_hurd.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/10_hurd.in
|
||||
+++ b/util/grub.d/10_hurd.in
|
||||
@@ -117,7 +117,7 @@
|
||||
opts=
|
||||
fi
|
||||
sed "s/^/$submenu_indentation/" << EOF
|
||||
- echo '$message'
|
||||
+ echo '$(echo "$message" | grub_quote)'
|
||||
multiboot ${kernel} root=device:${GRUB_DEVICE#/dev/} $opts ${GRUB_CMDLINE_GNUMACH}
|
||||
EOF
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
fi
|
||||
|
||||
sed "s/^/$submenu_indentation/" << EOF
|
||||
- echo '$message'
|
||||
+ echo '$(echo "$message" | grub_quote)'
|
||||
module /hurd/${hurd_fs}.static ${hurd_fs} $opts \\
|
||||
--multiboot-command-line='\${kernel-command-line}' \\
|
||||
--host-priv-port='\${host-port}' \\
|
||||
Index: b/util/grub.d/10_illumos.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/10_illumos.in
|
||||
+++ b/util/grub.d/10_illumos.in
|
||||
@@ -46,6 +46,7 @@
|
||||
ISADIR=
|
||||
fi
|
||||
zfs-bootfs $($grub_mkrelpath /) ZFS_BOOTFS
|
||||
+ echo '$(echo "$message" | grub_quote)'
|
||||
multiboot $($grub_mkrelpath /platform/i86pc/kernel)/\$ISADIR/unix /platform/i86pc/kernel/\$ISADIR/unix -B \$ZFS_BOOTFS,console=text
|
||||
module $($grub_mkrelpath /platform/i86pc)/\$ISADIR/boot_archive /platform/i86pc/\$ISADIR/boot_archive
|
||||
}
|
||||
Index: b/util/grub.d/10_kfreebsd.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/10_kfreebsd.in
|
||||
+++ b/util/grub.d/10_kfreebsd.in
|
||||
@@ -100,7 +100,7 @@
|
||||
printf '%s\n' "${prepare_boot_cache}" | sed "s/^/$submenu_indentation/"
|
||||
message="$(gettext_printf "Loading kernel of FreeBSD %s ..." ${version})"
|
||||
sed "s/^/$submenu_indentation/" << EOF
|
||||
- echo '$message'
|
||||
+ echo '$(echo "$message" | grub_quote)'
|
||||
kfreebsd ${rel_dirname}/${basename} ${args}
|
||||
EOF
|
||||
|
||||
Index: b/util/grub.d/10_linux.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/10_linux.in
|
||||
+++ b/util/grub.d/10_linux.in
|
||||
@@ -135,14 +135,14 @@
|
||||
fi
|
||||
message="$(gettext_printf "Loading Linux %s ..." ${version})"
|
||||
sed "s/^/$submenu_indentation/" << EOF
|
||||
- echo '$message'
|
||||
+ echo '$(echo "$message" | grub_quote)'
|
||||
linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
|
||||
EOF
|
||||
if test -n "${initrd}" ; then
|
||||
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
|
||||
message="$(gettext_printf "Loading initial ramdisk ...")"
|
||||
sed "s/^/$submenu_indentation/" << EOF
|
||||
- echo '$message'
|
||||
+ echo '$(echo "$message" | grub_quote)'
|
||||
initrd ${rel_dirname}/${initrd}
|
||||
EOF
|
||||
fi
|
||||
Index: b/util/grub.d/20_linux_xen.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/20_linux_xen.in
|
||||
+++ b/util/grub.d/20_linux_xen.in
|
||||
@@ -125,16 +125,16 @@
|
||||
xmessage="$(gettext_printf "Loading Xen %s ..." ${xen_version})"
|
||||
lmessage="$(gettext_printf "Loading Linux %s ..." ${version})"
|
||||
sed "s/^/$submenu_indentation/" << EOF
|
||||
- echo '$xmessage'
|
||||
+ echo '$(echo "$xmessage" | grub_quote)'
|
||||
multiboot ${rel_xen_dirname}/${xen_basename} placeholder ${xen_args}
|
||||
- echo '$lmessage'
|
||||
+ echo '$(echo "$lmessage" | grub_quote)'
|
||||
module ${rel_dirname}/${basename} placeholder root=${linux_root_device_thisversion} ro ${args}
|
||||
EOF
|
||||
if test -n "${initrd}" ; then
|
||||
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
|
||||
message="$(gettext_printf "Loading initial ramdisk ...")"
|
||||
sed "s/^/$submenu_indentation/" << EOF
|
||||
- echo '$message'
|
||||
+ echo '$(echo "$message" | grub_quote)'
|
||||
module ${rel_dirname}/${initrd}
|
||||
EOF
|
||||
fi
|
4
debian/patches/mkconfig_signed_kernel.patch
vendored
4
debian/patches/mkconfig_signed_kernel.patch
vendored
@ -1,7 +1,7 @@
|
||||
Description: Generate configuration for signed UEFI kernels if available
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2013-11-13
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub.d/10_linux.in
|
||||
===================================================================
|
||||
@ -25,7 +25,7 @@ Index: b/util/grub.d/10_linux.in
|
||||
# TRANSLATORS: ramdisk isn't identifier. Should be translated.
|
||||
message="$(gettext_printf "Loading initial ramdisk ...")"
|
||||
@@ -202,6 +210,13 @@
|
||||
is_first_entry=true
|
||||
is_top_level=true
|
||||
while [ "x$list" != "x" ] ; do
|
||||
linux=`version_find_latest $list`
|
||||
+ case $linux in
|
||||
|
4
debian/patches/mkconfig_skip_dmcrypt.patch
vendored
4
debian/patches/mkconfig_skip_dmcrypt.patch
vendored
@ -12,7 +12,7 @@ Index: b/util/grub-mkconfig_lib.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkconfig_lib.in
|
||||
+++ b/util/grub-mkconfig_lib.in
|
||||
@@ -129,6 +129,15 @@
|
||||
@@ -130,6 +130,15 @@
|
||||
esac
|
||||
done
|
||||
|
||||
@ -26,5 +26,5 @@ Index: b/util/grub-mkconfig_lib.in
|
||||
+ fi
|
||||
+
|
||||
# Abstraction modules aren't auto-loaded.
|
||||
abstraction="`"${grub_probe}" --device "${device}" --target=abstraction`"
|
||||
abstraction="`"${grub_probe}" --device $@ --target=abstraction`"
|
||||
for module in ${abstraction} ; do
|
||||
|
20
debian/patches/mkconfig_stderr_handling.patch
vendored
20
debian/patches/mkconfig_stderr_handling.patch
vendored
@ -1,20 +0,0 @@
|
||||
Description: Fix stderr leakage from grub-probe in is_path_readable_by_grub
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4590
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4590
|
||||
Last-Update: 2012-09-26
|
||||
|
||||
Index: b/util/grub-mkconfig_lib.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkconfig_lib.in
|
||||
+++ b/util/grub-mkconfig_lib.in
|
||||
@@ -65,7 +65,7 @@
|
||||
|
||||
# ... or if we can't figure out the abstraction module, for example if
|
||||
# memberlist fails on an LVM volume group.
|
||||
- if abstractions="`"${grub_probe}" -t abstraction "$path"`" 2>&1 ; then
|
||||
+ if abstractions="`"${grub_probe}" -t abstraction "$path"`" 2> /dev/null ; then
|
||||
:
|
||||
else
|
||||
return 1
|
@ -4,7 +4,7 @@ Author: Mario Limonciello <Mario_Limonciello@dell.com>
|
||||
Author: Colin Watson <cjwatson@debian.org>
|
||||
Author: Harald Sitter <apachelogger@kubuntu.org>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2013-11-13
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub.d/10_linux.in
|
||||
===================================================================
|
||||
@ -23,6 +23,6 @@ Index: b/util/grub.d/10_linux.in
|
||||
+ OS="${GRUB_DISTRIBUTOR} GNU/Linux"
|
||||
+ ;;
|
||||
+ esac
|
||||
CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1) ${CLASS}"
|
||||
CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
|
||||
fi
|
||||
|
||||
|
@ -12,7 +12,7 @@ Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1076,6 +1076,17 @@
|
||||
@@ -1343,6 +1343,17 @@
|
||||
AC_SUBST([LIBZFS])
|
||||
AC_SUBST([LIBNVPAIR])
|
||||
|
||||
@ -69,7 +69,7 @@ Index: b/util/grub.d/10_linux.in
|
||||
fi
|
||||
|
||||
echo " insmod gzio" | sed "s/^/$submenu_indentation/"
|
||||
@@ -244,7 +256,7 @@
|
||||
@@ -245,7 +257,7 @@
|
||||
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
|
||||
if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
|
||||
linux_entry "${OS}" "${version}" recovery \
|
||||
@ -82,7 +82,7 @@ Index: b/util/grub.d/30_os-prober.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/30_os-prober.in
|
||||
+++ b/util/grub.d/30_os-prober.in
|
||||
@@ -170,7 +170,7 @@
|
||||
@@ -201,7 +201,7 @@
|
||||
fi
|
||||
|
||||
onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
|
||||
|
24
debian/patches/mkrescue_diet.patch
vendored
24
debian/patches/mkrescue_diet.patch
vendored
@ -4,29 +4,29 @@ Description: Allow reducing size of xorriso-created rescue images
|
||||
Author: Thomas Schmitt <scdbackup@gmx.net>
|
||||
Origin: other, http://lists.gnu.org/archive/html/grub-devel/2010-05/msg00100.html
|
||||
Forwarded: yes
|
||||
Last-Update: 2010-06-02
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub-mkrescue.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkrescue.in
|
||||
+++ b/util/grub-mkrescue.in
|
||||
@@ -52,6 +52,7 @@
|
||||
grub_mkimage="${bindir}/`echo grub-mkimage | sed ${transform}`"
|
||||
@@ -43,6 +43,7 @@
|
||||
product_version="${PACKAGE_VERSION}"
|
||||
|
||||
xorriso=xorriso
|
||||
+diet=no
|
||||
|
||||
export TEXTDOMAIN=@PACKAGE@
|
||||
export TEXTDOMAINDIR="@localedir@"
|
||||
@@ -76,6 +77,7 @@
|
||||
# TRANSLATORS: xorriso is a program for creating ISOs and burning CDs
|
||||
print_option_help "--xorriso=$filetrans" "$(gettext "use FILE as xorriso [optional]")"
|
||||
print_option_help "--grub-mkimage=$filetrans" "$(gettext "use FILE as grub-mkimage")"
|
||||
localedir="@datadir@/locale"
|
||||
|
||||
@@ -69,6 +70,7 @@
|
||||
print_option_help "--product-version=$(gettext "STRING")" "$(gettext "use STRING as product version")"
|
||||
print_option_help "--sparc-boot" "$(gettext "enable sparc boot. Disables HFS+, APM, ARCS and boot as disk image for i386-pc")"
|
||||
print_option_help "--arcs-boot" "$(gettext "enable ARCS (big-endian mips machines, mostly SGI) boot. Disables HFS+, APM, sparc64 and boot as disk image for i386-pc")"
|
||||
+ print_option_help "--diet" "$(gettext "apply size reducing measures [optional]")"
|
||||
echo
|
||||
gettext_printf "%s generates a bootable rescue image with specified source files, source directories, or mkisofs options listed by the output of \`%s'\n" "xorriso -as mkisofs -help" "$self" | grub_fmt
|
||||
echo
|
||||
@@ -148,6 +150,9 @@
|
||||
@@ -160,6 +162,9 @@
|
||||
--xorriso=*)
|
||||
xorriso=`echo "${option}" | sed 's/--xorriso=//'` ;;
|
||||
|
||||
@ -36,7 +36,7 @@ Index: b/util/grub-mkrescue.in
|
||||
*)
|
||||
source="${source} ${option} $@"; break ;;
|
||||
esac
|
||||
@@ -368,7 +373,14 @@
|
||||
@@ -487,7 +492,14 @@
|
||||
fi
|
||||
|
||||
# build iso image
|
||||
@ -51,4 +51,4 @@ Index: b/util/grub-mkrescue.in
|
||||
+fi
|
||||
rm -rf "${iso9660_dir}"
|
||||
|
||||
rm -f "${embed_img}"
|
||||
rm -f "${sysarea_img}"
|
||||
|
14
debian/patches/mkrescue_efi_modules.patch
vendored
14
debian/patches/mkrescue_efi_modules.patch
vendored
@ -2,21 +2,21 @@ Description: Build part_msdos and vfat into EFI boot images
|
||||
Author: Mario Limonciello <Mario_Limonciello@dell.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/677758
|
||||
Forwarded: http://lists.gnu.org/archive/html/grub-devel/2011-01/msg00028.html
|
||||
Last-Update: 2011-04-11
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/util/grub-mkrescue.in
|
||||
===================================================================
|
||||
--- a/util/grub-mkrescue.in
|
||||
+++ b/util/grub-mkrescue.in
|
||||
@@ -326,9 +326,9 @@
|
||||
@@ -377,9 +377,9 @@
|
||||
# build bootia64.efi
|
||||
make_image "${ia64_dir}" ia64-efi "${efi_dir}"/efi/boot/bootia64.efi ""
|
||||
make_image_fwdisk "${ia64_dir}" ia64-efi "${efi_dir}"/efi/boot/bootia64.efi ""
|
||||
# build bootx64.efi
|
||||
- make_image "${efi64_dir}" x86_64-efi "${efi_dir}"/efi/boot/bootx64.efi ""
|
||||
+ make_image "${efi64_dir}" x86_64-efi "${efi_dir}"/efi/boot/bootx64.efi "part_msdos fat"
|
||||
- make_image_fwdisk "${efi64_dir}" x86_64-efi "${efi_dir}"/efi/boot/bootx64.efi ""
|
||||
+ make_image_fwdisk "${efi64_dir}" x86_64-efi "${efi_dir}"/efi/boot/bootx64.efi "part_msdos fat"
|
||||
# build bootia32.efi
|
||||
- make_image "${efi32_dir}" i386-efi "${efi_dir}"/efi/boot/bootia32.efi ""
|
||||
+ make_image "${efi32_dir}" i386-efi "${efi_dir}"/efi/boot/bootia32.efi "part_msdos fat"
|
||||
- make_image_fwdisk "${efi32_dir}" i386-efi "${efi_dir}"/efi/boot/bootia32.efi ""
|
||||
+ make_image_fwdisk "${efi32_dir}" i386-efi "${efi_dir}"/efi/boot/bootia32.efi "part_msdos fat"
|
||||
if [ -e "${efi_dir}"/efi/boot/bootia32.efi ]; then
|
||||
# For old macs. Suggested by Peter Jones.
|
||||
cp "${efi_dir}"/efi/boot/bootia32.efi "${efi_dir}"/efi/boot/boot.efi
|
||||
|
@ -1,31 +0,0 @@
|
||||
Description: Ignore symlink traversal failures in grub-mount readdir
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Forwarded: https://lists.gnu.org/archive/html/grub-devel/2012-10/msg00021.html
|
||||
Last-Update: 2012-10-12
|
||||
|
||||
Index: b/util/grub-mount.c
|
||||
===================================================================
|
||||
--- a/util/grub-mount.c
|
||||
+++ b/util/grub-mount.c
|
||||
@@ -292,7 +292,20 @@
|
||||
file = grub_file_open (tmp);
|
||||
free (tmp);
|
||||
if (! file)
|
||||
- return translate_error ();
|
||||
+ {
|
||||
+ /* We cannot handle symlinks properly yet, and symlinks to
|
||||
+ directories will cause us to reach here. Symlink loops or
|
||||
+ dangling symlinks will also cause an error. For the
|
||||
+ meantime, while treating these as zero-length files is wrong,
|
||||
+ it's better than failing the whole readdir call by returning
|
||||
+ translate_error ().
|
||||
+
|
||||
+ Ultimately, we should be able to tell from the
|
||||
+ grub_dirhook_info that this is a symlink, and fill in the
|
||||
+ attributes of the symlink rather than its target. */
|
||||
+ grub_errno = GRUB_ERR_NONE;
|
||||
+ return 0;
|
||||
+ }
|
||||
st.st_size = file->size;
|
||||
grub_file_close (file);
|
||||
}
|
30
debian/patches/msdos_embed_off_by_one.patch
vendored
30
debian/patches/msdos_embed_off_by_one.patch
vendored
@ -1,30 +0,0 @@
|
||||
Description: Revert incorrect off-by-one fix when embedding in MBR
|
||||
A 62-sector core image should fit before end == 63.
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4586
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1051154
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4586
|
||||
Last-Update: 2012-09-19
|
||||
|
||||
Index: b/grub-core/partmap/msdos.c
|
||||
===================================================================
|
||||
--- a/grub-core/partmap/msdos.c
|
||||
+++ b/grub-core/partmap/msdos.c
|
||||
@@ -316,14 +316,14 @@
|
||||
break;
|
||||
}
|
||||
|
||||
- if (end >= *nsectors + 2)
|
||||
+ if (end >= *nsectors + 1)
|
||||
{
|
||||
unsigned i, j;
|
||||
char *embed_signature_check;
|
||||
unsigned int orig_nsectors, avail_nsectors;
|
||||
|
||||
orig_nsectors = *nsectors;
|
||||
- *nsectors = end - 2;
|
||||
+ *nsectors = end - 1;
|
||||
avail_nsectors = *nsectors;
|
||||
if (*nsectors > max_nsectors)
|
||||
*nsectors = max_nsectors;
|
4
debian/patches/no_insmod_on_sb.patch
vendored
4
debian/patches/no_insmod_on_sb.patch
vendored
@ -3,7 +3,7 @@ Author: Matthew Garrett <mjg@redhat.com>
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Origin: vendor, http://pkgs.fedoraproject.org/cgit/grub2.git/tree/grub-2.00-no-insmod-on-sb.patch
|
||||
Forwarded: no
|
||||
Last-Update: 2013-01-02
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/grub-core/kern/dl.c
|
||||
===================================================================
|
||||
@ -20,7 +20,7 @@ Index: b/grub-core/kern/dl.c
|
||||
|
||||
|
||||
#pragma GCC diagnostic ignored "-Wcast-align"
|
||||
@@ -668,6 +672,15 @@
|
||||
@@ -653,6 +657,15 @@
|
||||
void *core = 0;
|
||||
grub_dl_t mod = 0;
|
||||
|
||||
|
8
debian/patches/olpc_prefix_hack.patch
vendored
8
debian/patches/olpc_prefix_hack.patch
vendored
@ -5,7 +5,7 @@ Index: b/grub-core/kern/ieee1275/init.c
|
||||
===================================================================
|
||||
--- a/grub-core/kern/ieee1275/init.c
|
||||
+++ b/grub-core/kern/ieee1275/init.c
|
||||
@@ -61,6 +61,7 @@
|
||||
@@ -65,6 +65,7 @@
|
||||
grub_ieee1275_exit ();
|
||||
}
|
||||
|
||||
@ -13,7 +13,7 @@ Index: b/grub-core/kern/ieee1275/init.c
|
||||
/* Translate an OF filesystem path (separated by backslashes), into a GRUB
|
||||
path (separated by forward slashes). */
|
||||
static void
|
||||
@@ -75,10 +76,19 @@
|
||||
@@ -79,10 +80,19 @@
|
||||
backslash = grub_strchr (filepath, '\\');
|
||||
}
|
||||
}
|
||||
@ -33,9 +33,9 @@ Index: b/grub-core/kern/ieee1275/init.c
|
||||
void
|
||||
grub_machine_get_bootlocation (char **device, char **path)
|
||||
{
|
||||
@@ -133,6 +143,7 @@
|
||||
}
|
||||
@@ -150,6 +160,7 @@
|
||||
}
|
||||
grub_free (bootpath);
|
||||
}
|
||||
+#endif
|
||||
|
||||
|
36
debian/patches/os_prober_efi.patch
vendored
36
debian/patches/os_prober_efi.patch
vendored
@ -1,36 +0,0 @@
|
||||
Index: b/util/grub.d/30_os-prober.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/30_os-prober.in
|
||||
+++ b/util/grub.d/30_os-prober.in
|
||||
@@ -35,6 +35,11 @@
|
||||
exit 0
|
||||
fi
|
||||
|
||||
+# Try to load the efivars module, in case it's needed for EFI support
|
||||
+# to work below. Hide the errors in case it's not available, there is
|
||||
+# no need to scare people here.
|
||||
+modprobe efivars >/dev/null 2>&1 || true
|
||||
+
|
||||
OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
|
||||
if [ -z "${OSPROBED}" ] ; then
|
||||
# empty os-prober output, nothing doing
|
||||
@@ -144,6 +149,19 @@
|
||||
}
|
||||
EOF
|
||||
;;
|
||||
+ efi)
|
||||
+ EFIPATH=${DEVICE#*@}
|
||||
+ DEVICE=${DEVICE%@*}
|
||||
+ cat << EOF
|
||||
+menuentry "${LONGNAME} (UEFI on ${DEVICE})" --class windows --class os {
|
||||
+EOF
|
||||
+ save_default_entry | sed -e "s/^/\t/"
|
||||
+ prepare_grub_to_access_device ${DEVICE} | sed -e "s/^/\t/"
|
||||
+ cat <<EOF
|
||||
+ chainloader ${EFIPATH}
|
||||
+}
|
||||
+EOF
|
||||
+ ;;
|
||||
linux)
|
||||
LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ' ' '^' | paste -s -d ' '`"
|
||||
prepare_boot_cache=
|
34
debian/patches/probe_dmraid.patch
vendored
34
debian/patches/probe_dmraid.patch
vendored
@ -3,22 +3,22 @@ Author: Robert Collins <robertc@robertcollins.net>
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/803658
|
||||
Forwarded: no
|
||||
Last-Update: 2013-11-12
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/util/getroot.c
|
||||
Index: b/grub-core/osdep/devmapper/getroot.c
|
||||
===================================================================
|
||||
--- a/util/getroot.c
|
||||
+++ b/util/getroot.c
|
||||
@@ -1929,6 +1929,12 @@
|
||||
grub_util_info ("%s child has no DM name", path);
|
||||
goto devmapper_out;
|
||||
}
|
||||
+ if (strstr (child_name, "-") != 0)
|
||||
+ {
|
||||
+ grub_util_info ("%s child %s looks like a sub-layer\n",
|
||||
+ path, child_name);
|
||||
+ goto devmapper_out;
|
||||
+ }
|
||||
mapper_name = child_name;
|
||||
|
||||
devmapper_out:
|
||||
--- a/grub-core/osdep/devmapper/getroot.c
|
||||
+++ b/grub-core/osdep/devmapper/getroot.c
|
||||
@@ -294,6 +294,12 @@
|
||||
grub_util_info ("%s child has no DM name", path);
|
||||
goto devmapper_out;
|
||||
}
|
||||
+ if (strstr (child_name, "-") != 0)
|
||||
+ {
|
||||
+ grub_util_info ("%s child %s looks like a sub-layer\n",
|
||||
+ path, child_name);
|
||||
+ goto devmapper_out;
|
||||
+ }
|
||||
mapper_name = child_name;
|
||||
*is_part = 1;
|
||||
node = child;
|
||||
|
22
debian/patches/probe_error_handling.patch
vendored
22
debian/patches/probe_error_handling.patch
vendored
@ -1,22 +0,0 @@
|
||||
Description: Fix spurious failure on Xen partition devices without disk devices
|
||||
Zero out grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
|
||||
falling back to the partition device, otherwise a later call to this
|
||||
function may fail spuriously.
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5092
|
||||
Bug-Debian: http://bugs.debian.org/708614
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5092
|
||||
Last-Update: 2013-08-13
|
||||
|
||||
Index: b/util/getroot.c
|
||||
===================================================================
|
||||
--- a/util/getroot.c
|
||||
+++ b/util/getroot.c
|
||||
@@ -2316,6 +2316,7 @@
|
||||
grub_util_warn
|
||||
(_("disk does not exist, so falling back to partition device %s"),
|
||||
os_dev);
|
||||
+ grub_errno = GRUB_ERR_NONE;
|
||||
|
||||
canon = canonicalize_file_name (os_dev);
|
||||
drive = find_system_device (canon ? : os_dev, &st, 0, 1);
|
54
debian/patches/probe_fusionio.patch
vendored
54
debian/patches/probe_fusionio.patch
vendored
@ -2,8 +2,32 @@ Description: Probe FusionIO devices
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1237519
|
||||
Forwarded: no
|
||||
Last-Update: 2013-11-13
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/grub-core/osdep/linux/getroot.c
|
||||
===================================================================
|
||||
--- a/grub-core/osdep/linux/getroot.c
|
||||
+++ b/grub-core/osdep/linux/getroot.c
|
||||
@@ -885,6 +885,19 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ /* If this is a FusionIO disk. */
|
||||
+ if ((strncmp ("fio", p, 3) == 0) && p[3] >= 'a' && p[3] <= 'z')
|
||||
+ {
|
||||
+ char *pp = p + 3;
|
||||
+ while (*pp >= 'a' && *pp <= 'z')
|
||||
+ pp++;
|
||||
+ if (*pp)
|
||||
+ *is_part = 1;
|
||||
+ /* /dev/fio[a-z]+[0-9]* */
|
||||
+ *pp = '\0';
|
||||
+ return path;
|
||||
+ }
|
||||
+
|
||||
return path;
|
||||
}
|
||||
|
||||
Index: b/util/deviceiter.c
|
||||
===================================================================
|
||||
--- a/util/deviceiter.c
|
||||
@ -24,7 +48,7 @@ Index: b/util/deviceiter.c
|
||||
@@ -852,6 +858,19 @@
|
||||
if (check_device_readable_unique (name))
|
||||
{
|
||||
if (hook (name, 0))
|
||||
if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -37,31 +61,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_fio_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
Index: b/util/getroot.c
|
||||
===================================================================
|
||||
--- a/util/getroot.c
|
||||
+++ b/util/getroot.c
|
||||
@@ -1825,6 +1825,19 @@
|
||||
return path;
|
||||
}
|
||||
|
||||
+ /* If this is a FusionIO disk. */
|
||||
+ if ((strncmp ("fio", p, 3) == 0) && p[3] >= 'a' && p[3] <= 'z')
|
||||
+ {
|
||||
+ char *pp = p + 3;
|
||||
+ while (*pp >= 'a' && *pp <= 'z')
|
||||
+ pp++;
|
||||
+ if (*pp)
|
||||
+ *is_part = 1;
|
||||
+ /* /dev/fio[a-z]+[0-9]* */
|
||||
+ *pp = '\0';
|
||||
+ return path;
|
||||
+ }
|
||||
+
|
||||
#ifdef HAVE_DEVICE_MAPPER
|
||||
if ((strncmp ("/dev/mapper/", path, sizeof ("/dev/mapper/") - 1) == 0)
|
||||
|| (strncmp ("/dev/dm-", path, sizeof ("/dev/dm-") - 1) == 0))
|
||||
|
43
debian/patches/quick_boot.patch
vendored
43
debian/patches/quick_boot.patch
vendored
@ -14,13 +14,13 @@ Description: Add configure option to bypass boot menu if possible
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Author: Richard Laager <rlaager@wiktel.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2013-11-13
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1098,6 +1098,17 @@
|
||||
@@ -1365,6 +1365,17 @@
|
||||
fi
|
||||
AC_SUBST([QUIET_BOOT])
|
||||
|
||||
@ -42,7 +42,7 @@ Index: b/docs/grub.texi
|
||||
===================================================================
|
||||
--- a/docs/grub.texi
|
||||
+++ b/docs/grub.texi
|
||||
@@ -1289,6 +1289,15 @@
|
||||
@@ -1483,6 +1483,15 @@
|
||||
Each module will be loaded as early as possible, at the start of
|
||||
@file{grub.cfg}.
|
||||
|
||||
@ -63,11 +63,11 @@ Index: b/util/grub-mkconfig.in
|
||||
--- a/util/grub-mkconfig.in
|
||||
+++ b/util/grub-mkconfig.in
|
||||
@@ -228,7 +228,8 @@
|
||||
GRUB_INIT_TUNE \
|
||||
GRUB_SAVEDEFAULT \
|
||||
GRUB_ENABLE_CRYPTODISK \
|
||||
- GRUB_BADRAM
|
||||
+ GRUB_BADRAM \
|
||||
GRUB_BADRAM \
|
||||
- GRUB_DISABLE_SUBMENU
|
||||
+ GRUB_DISABLE_SUBMENU \
|
||||
+ GRUB_RECORDFAIL_TIMEOUT
|
||||
|
||||
if test "x${grub_cfg}" != "x"; then
|
||||
@ -76,7 +76,7 @@ Index: b/util/grub.d/00_header.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/00_header.in
|
||||
+++ b/util/grub.d/00_header.in
|
||||
@@ -23,6 +23,8 @@
|
||||
@@ -21,6 +21,8 @@
|
||||
exec_prefix="@exec_prefix@"
|
||||
datarootdir="@datarootdir@"
|
||||
grub_lang=`echo $LANG | cut -d . -f 1`
|
||||
@ -85,7 +85,7 @@ Index: b/util/grub.d/00_header.in
|
||||
|
||||
export TEXTDOMAIN=@PACKAGE@
|
||||
export TEXTDOMAINDIR="@localedir@"
|
||||
@@ -46,6 +48,7 @@
|
||||
@@ -44,6 +46,7 @@
|
||||
|
||||
cat << EOF
|
||||
if [ -s \$prefix/grubenv ]; then
|
||||
@ -93,7 +93,7 @@ Index: b/util/grub.d/00_header.in
|
||||
load_env
|
||||
fi
|
||||
EOF
|
||||
@@ -86,7 +89,31 @@
|
||||
@@ -96,7 +99,31 @@
|
||||
save_env saved_entry
|
||||
fi
|
||||
}
|
||||
@ -125,7 +125,7 @@ Index: b/util/grub.d/00_header.in
|
||||
function load_video {
|
||||
EOF
|
||||
if [ -n "${GRUB_VIDEO_BACKEND}" ]; then
|
||||
@@ -272,7 +299,15 @@
|
||||
@@ -282,7 +309,15 @@
|
||||
|
||||
make_timeout ()
|
||||
{
|
||||
@ -162,13 +162,13 @@ Index: b/util/grub.d/10_linux.in
|
||||
+ echo "recordfail" | sed "s/^/$submenu_indentation/"
|
||||
+ fi
|
||||
if [ x$type != xrecovery ] ; then
|
||||
save_default_entry | sed -e "s/^/\t/"
|
||||
save_default_entry | grub_add_tab
|
||||
fi
|
||||
Index: b/util/grub.d/30_os-prober.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/30_os-prober.in
|
||||
+++ b/util/grub.d/30_os-prober.in
|
||||
@@ -20,18 +20,78 @@
|
||||
@@ -20,28 +20,90 @@
|
||||
prefix="@prefix@"
|
||||
exec_prefix="@exec_prefix@"
|
||||
datarootdir="@datarootdir@"
|
||||
@ -247,7 +247,6 @@ Index: b/util/grub.d/30_os-prober.in
|
||||
exit 0
|
||||
fi
|
||||
|
||||
@@ -43,10 +103,12 @@
|
||||
OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
|
||||
if [ -z "${OSPROBED}" ] ; then
|
||||
# empty os-prober output, nothing doing
|
||||
@ -268,15 +267,15 @@ Index: b/util/grub.d/30_os-prober.in
|
||||
onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
|
||||
cat << EOF
|
||||
menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class windows --class os \$menuentry_id_option 'osprober-chain-$(grub_get_device_id "${DEVICE}")' {
|
||||
@@ -169,6 +232,7 @@
|
||||
EOF
|
||||
@@ -176,6 +239,7 @@
|
||||
;;
|
||||
efi)
|
||||
+ found_other_os=1
|
||||
EFIPATH=${DEVICE#*@}
|
||||
DEVICE=${DEVICE%@*}
|
||||
cat << EOF
|
||||
@@ -211,6 +275,7 @@
|
||||
|
||||
+ found_other_os=1
|
||||
EFIPATH=${DEVICE#*@}
|
||||
DEVICE=${DEVICE%@*}
|
||||
onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
|
||||
@@ -224,6 +288,7 @@
|
||||
[ "${prepare_boot_cache}" ] || continue
|
||||
fi
|
||||
|
||||
@ -284,7 +283,7 @@ Index: b/util/grub.d/30_os-prober.in
|
||||
onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
|
||||
recovery_params="$(echo "${LPARAMS}" | grep 'single\|recovery')" || true
|
||||
counter=1
|
||||
@@ -277,6 +342,7 @@
|
||||
@@ -290,6 +355,7 @@
|
||||
osx_entry xnu_kernel64 64
|
||||
;;
|
||||
hurd)
|
||||
@ -292,7 +291,7 @@ Index: b/util/grub.d/30_os-prober.in
|
||||
onstr="$(gettext_printf "(on %s)" "${DEVICE}")"
|
||||
cat << EOF
|
||||
menuentry '$(echo "${LONGNAME} $onstr" | grub_quote)' --class hurd --class gnu --class os \$menuentry_id_option 'osprober-gnuhurd-/boot/gnumach.gz-false-$(grub_get_device_id "${DEVICE}")' {
|
||||
@@ -309,3 +375,5 @@
|
||||
@@ -333,3 +399,5 @@
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
93
debian/patches/restore_mkdevicemap.patch
vendored
93
debian/patches/restore_mkdevicemap.patch
vendored
@ -2,7 +2,7 @@ Index: b/Makefile.util.def
|
||||
===================================================================
|
||||
--- a/Makefile.util.def
|
||||
+++ b/Makefile.util.def
|
||||
@@ -289,6 +289,22 @@
|
||||
@@ -306,6 +306,22 @@
|
||||
};
|
||||
|
||||
program = {
|
||||
@ -35,8 +35,8 @@ Index: b/include/grub/util/deviceiter.h
|
||||
+
|
||||
+#include <config.h>
|
||||
+
|
||||
+void grub_util_iterate_devices (int NESTED_FUNC_ATTR (*hook) (const char *, int),
|
||||
+ int floppy_disks);
|
||||
+void grub_util_iterate_devices (int (*hook) (const char *, int),
|
||||
+ void *hook_data, int floppy_disks);
|
||||
+void grub_util_emit_devicemap_entry (FILE *fp, char *name, int is_floppy,
|
||||
+ int *num_fd, int *num_hd);
|
||||
+
|
||||
@ -568,7 +568,7 @@ Index: b/util/deviceiter.c
|
||||
+#endif /* __linux__ */
|
||||
+
|
||||
+void
|
||||
+grub_util_iterate_devices (int NESTED_FUNC_ATTR (*hook) (const char *, int),
|
||||
+grub_util_iterate_devices (int (*hook) (const char *, int), void *hook_data,
|
||||
+ int floppy_disks)
|
||||
+{
|
||||
+ int i;
|
||||
@ -586,7 +586,7 @@ Index: b/util/deviceiter.c
|
||||
+ break;
|
||||
+ /* In floppies, write the map, whether check_device_readable_unique
|
||||
+ succeeds or not, because the user just may not insert floppies. */
|
||||
+ if (hook (name, 1))
|
||||
+ if (hook (name, 1, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
@ -641,7 +641,7 @@ Index: b/util/deviceiter.c
|
||||
+ {
|
||||
+ if (check_device_readable_unique (devs[dev].stable))
|
||||
+ {
|
||||
+ if (hook (devs[dev].stable, 0))
|
||||
+ if (hook (devs[dev].stable, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ free (devs[dev].stable);
|
||||
@ -669,7 +669,7 @@ Index: b/util/deviceiter.c
|
||||
+ if (realpath (discn, name))
|
||||
+ {
|
||||
+ strcat (name, "/disc");
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -685,7 +685,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_ide_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -700,7 +700,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_ada_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -713,7 +713,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_ataraid_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -726,7 +726,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_mfi_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -741,7 +741,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_virtio_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -754,7 +754,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_ataraid_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -767,7 +767,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_xvd_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -781,7 +781,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_scsi_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -804,7 +804,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_dac960_disk_name (name, controller, drive);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -825,7 +825,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_acceleraid_disk_name (name, controller, drive);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -846,7 +846,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_cciss_disk_name (name, controller, drive);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -867,7 +867,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_ida_disk_name (name, controller, drive);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -885,7 +885,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_i2o_disk_name (name, unit);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -899,7 +899,7 @@ Index: b/util/deviceiter.c
|
||||
+ get_mmc_disk_name (name, i);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ goto out;
|
||||
+ }
|
||||
+ }
|
||||
@ -970,7 +970,7 @@ Index: b/util/deviceiter.c
|
||||
+ name = xasprintf ("/dev/mapper/%s", node_name);
|
||||
+ if (check_device_readable_unique (name))
|
||||
+ {
|
||||
+ if (hook (name, 0))
|
||||
+ if (hook (name, 0, hook_data))
|
||||
+ {
|
||||
+ free (name);
|
||||
+ if (task)
|
||||
@ -1023,7 +1023,7 @@ Index: b/util/grub-mkdevicemap.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/util/grub-mkdevicemap.c
|
||||
@@ -0,0 +1,171 @@
|
||||
@@ -0,0 +1,182 @@
|
||||
+/* grub-mkdevicemap.c - make a device map file automatically */
|
||||
+/*
|
||||
+ * GRUB -- GRand Unified Bootloader
|
||||
@ -1066,34 +1066,45 @@ Index: b/util/grub-mkdevicemap.c
|
||||
+
|
||||
+#include "progname.h"
|
||||
+
|
||||
+/* Context for make_device_map. */
|
||||
+struct make_device_map_ctx
|
||||
+{
|
||||
+ FILE *fp;
|
||||
+ int *num_fd;
|
||||
+ int *num_hd;
|
||||
+};
|
||||
+
|
||||
+/* Helper for make_device_map. */
|
||||
+static int
|
||||
+process_device (const char *name, int is_floppy, void *data)
|
||||
+{
|
||||
+ struct make_device_map_ctx *ctx = data;
|
||||
+
|
||||
+ grub_util_emit_devicemap_entry (ctx->fp, (char *) name,
|
||||
+ is_floppy, ctx->num_fd, ctx->num_hd);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+make_device_map (const char *device_map, int floppy_disks)
|
||||
+{
|
||||
+ int num_hd = 0;
|
||||
+ int num_fd = 0;
|
||||
+ FILE *fp;
|
||||
+
|
||||
+ auto int NESTED_FUNC_ATTR process_device (const char *name, int is_floppy);
|
||||
+
|
||||
+ int NESTED_FUNC_ATTR process_device (const char *name, int is_floppy)
|
||||
+ {
|
||||
+ grub_util_emit_devicemap_entry (fp, (char *) name,
|
||||
+ is_floppy, &num_fd, &num_hd);
|
||||
+ return 0;
|
||||
+ }
|
||||
+ struct make_device_map_ctx ctx = {
|
||||
+ .num_fd = 0,
|
||||
+ .num_hd = 0
|
||||
+ };
|
||||
+
|
||||
+ if (strcmp (device_map, "-") == 0)
|
||||
+ fp = stdout;
|
||||
+ ctx.fp = stdout;
|
||||
+ else
|
||||
+ fp = fopen (device_map, "w");
|
||||
+ ctx.fp = fopen (device_map, "w");
|
||||
+
|
||||
+ if (! fp)
|
||||
+ if (! ctx.fp)
|
||||
+ grub_util_error (_("cannot open %s"), device_map);
|
||||
+
|
||||
+ grub_util_iterate_devices (process_device, floppy_disks);
|
||||
+ grub_util_iterate_devices (process_device, floppy_disks, &ctx);
|
||||
+
|
||||
+ if (fp != stdout)
|
||||
+ fclose (fp);
|
||||
+ if (ctx.fp != stdout)
|
||||
+ fclose (ctx.fp);
|
||||
+}
|
||||
+
|
||||
+static struct option options[] =
|
||||
|
87
debian/patches/script_check_no_commands.patch
vendored
87
debian/patches/script_check_no_commands.patch
vendored
@ -1,87 +0,0 @@
|
||||
Description: Guard against scripts containing no commands
|
||||
Make grub-script-check fail on scripts containing no commands, to guard
|
||||
against corrupted grub-mkconfig setups that produce no useful output.
|
||||
Origin: backport, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/5044
|
||||
Author: Colin Watson <cjwatson@debian.org>
|
||||
Bug-Debian: http://bugs.debian.org/713886
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2013-07-13
|
||||
|
||||
Index: b/Makefile.util.def
|
||||
===================================================================
|
||||
--- a/Makefile.util.def
|
||||
+++ b/Makefile.util.def
|
||||
@@ -701,6 +701,12 @@
|
||||
|
||||
script = {
|
||||
testcase;
|
||||
+ name = grub_script_no_commands;
|
||||
+ common = tests/grub_script_no_commands.in;
|
||||
+};
|
||||
+
|
||||
+script = {
|
||||
+ testcase;
|
||||
name = partmap_test;
|
||||
common = tests/partmap_test.in;
|
||||
};
|
||||
Index: b/tests/grub_script_no_commands.in
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/tests/grub_script_no_commands.in
|
||||
@@ -0,0 +1,21 @@
|
||||
+#! /bin/sh
|
||||
+set -e
|
||||
+
|
||||
+# grub-script-check refuses to pass a file with no commands; this usually
|
||||
+# indicates a bug in the code generating that file.
|
||||
+
|
||||
+@builddir@/grub-script-check <<EOF && exit 1
|
||||
+
|
||||
+EOF
|
||||
+
|
||||
+@builddir@/grub-script-check <<EOF && exit 1
|
||||
+# comment
|
||||
+EOF
|
||||
+
|
||||
+@builddir@/grub-script-check <<EOF && exit 1
|
||||
+# comment 1
|
||||
+# comment 2
|
||||
+
|
||||
+EOF
|
||||
+
|
||||
+exit 0
|
||||
Index: b/util/grub-script-check.c
|
||||
===================================================================
|
||||
--- a/util/grub-script-check.c
|
||||
+++ b/util/grub-script-check.c
|
||||
@@ -92,7 +92,7 @@
|
||||
int lineno = 0;
|
||||
FILE *file = 0;
|
||||
struct arguments arguments;
|
||||
- int found_input = 0;
|
||||
+ int found_input = 0, found_cmd = 0;
|
||||
struct grub_script *script = NULL;
|
||||
|
||||
auto grub_err_t get_config_line (char **line, int cont);
|
||||
@@ -177,6 +177,8 @@
|
||||
script = grub_script_parse (input, get_config_line);
|
||||
if (script)
|
||||
{
|
||||
+ if (script->cmd)
|
||||
+ found_cmd = 1;
|
||||
grub_script_execute (script);
|
||||
grub_script_free (script);
|
||||
}
|
||||
@@ -191,6 +193,12 @@
|
||||
fprintf (stderr, _("Syntax error at line %u\n"), lineno);
|
||||
return 1;
|
||||
}
|
||||
+ if (! found_cmd)
|
||||
+ {
|
||||
+ fprintf (stderr, _("Script contains no commands and will do nothing\n"),
|
||||
+ arguments.filename);
|
||||
+ return 1;
|
||||
+ }
|
||||
|
||||
return 0;
|
||||
}
|
22
debian/patches/series
vendored
22
debian/patches/series
vendored
@ -1,4 +1,3 @@
|
||||
upstream-extra-dist.patch
|
||||
olpc_prefix_hack.patch
|
||||
core_in_fs.patch
|
||||
dpkg_version_comparison.patch
|
||||
@ -11,29 +10,16 @@ mkconfig_skip_dmcrypt.patch
|
||||
install_stage2_confusion.patch
|
||||
mkrescue_efi_modules.patch
|
||||
mkconfig_loopback.patch
|
||||
efi_disk_cache.patch
|
||||
restore_mkdevicemap.patch
|
||||
efi_mmap_size.patch
|
||||
gettext_quiet.patch
|
||||
mkconfig_mid_upgrade.patch
|
||||
fix_powerpc_emu.patch
|
||||
install_efi_fallback.patch
|
||||
mkconfig_overescaping.patch
|
||||
efifwsetup.patch
|
||||
mkconfig_ubuntu_recovery.patch
|
||||
msdos_embed_off_by_one.patch
|
||||
emu_freebsd.patch
|
||||
mkconfig_stderr_handling.patch
|
||||
tftp_endianness.patch
|
||||
install_locale_langpack.patch
|
||||
mkconfig_nonexistent_loopback.patch
|
||||
mount_readdir_symlink_failures.patch
|
||||
initrd_addr_min.patch
|
||||
gnulib_gets.patch
|
||||
no_insmod_on_sb.patch
|
||||
default_grub_d.patch
|
||||
blacklist_1440x900x32.patch
|
||||
kfreebsd_9.1.patch
|
||||
uefi_firmware_setup.patch
|
||||
mkconfig_ubuntu_distributor.patch
|
||||
linuxefi.patch
|
||||
@ -44,17 +30,9 @@ linuxefi_non_sb_fallback.patch
|
||||
mkconfig_signed_kernel.patch
|
||||
install_signed.patch
|
||||
install_bios_setup_path.patch
|
||||
os_prober_efi.patch
|
||||
acpihalt_improvements.patch
|
||||
script_check_no_commands.patch
|
||||
texinfo_ordering.patch
|
||||
mkconfig_emacs_autosave.patch
|
||||
sleep_shift.patch
|
||||
probe_error_handling.patch
|
||||
wubi_no_windows.patch
|
||||
maybe_quiet.patch
|
||||
efidisk_non_512_sectors.patch
|
||||
mkconfig_hurd_sort.patch
|
||||
probe_dmraid.patch
|
||||
install_efi_ubuntu_flavours.patch
|
||||
quick_boot.patch
|
||||
|
21
debian/patches/texinfo_ordering.patch
vendored
21
debian/patches/texinfo_ordering.patch
vendored
@ -1,21 +0,0 @@
|
||||
Description: Move @itemize after @subsection to satisfy texinfo-5.1
|
||||
Author: Bryan Hundven <bryanhundven@gmail.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4813
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4813
|
||||
Last-Update: 2013-08-11
|
||||
|
||||
Index: b/docs/grub-dev.texi
|
||||
===================================================================
|
||||
--- a/docs/grub-dev.texi
|
||||
+++ b/docs/grub-dev.texi
|
||||
@@ -1394,8 +1394,8 @@
|
||||
|
||||
@node Bitmap API
|
||||
@section Bitmap API
|
||||
-@itemize
|
||||
@subsection grub_video_bitmap_create
|
||||
+@itemize
|
||||
@item Prototype:
|
||||
@example
|
||||
grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap, unsigned int width, unsigned int height, enum grub_video_blit_format blit_format)
|
29
debian/patches/tftp_endianness.patch
vendored
29
debian/patches/tftp_endianness.patch
vendored
@ -1,29 +0,0 @@
|
||||
Description: Fix tftp endianness problem
|
||||
Author: Vladimir Serbinenko <phcoder@gmail.com>
|
||||
Origin: upstream, http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4548
|
||||
Forwarded: not-needed
|
||||
Applied-Upstream: http://bazaar.launchpad.net/~vcs-imports/grub/grub2-bzr/revision/4548
|
||||
Last-Update: 2012-09-26
|
||||
|
||||
Index: b/grub-core/net/tftp.c
|
||||
===================================================================
|
||||
--- a/grub-core/net/tftp.c
|
||||
+++ b/grub-core/net/tftp.c
|
||||
@@ -143,7 +143,7 @@
|
||||
|
||||
tftph_ack = (struct tftphdr *) nb_ack.data;
|
||||
tftph_ack->opcode = grub_cpu_to_be16 (TFTP_ACK);
|
||||
- tftph_ack->u.ack.block = block;
|
||||
+ tftph_ack->u.ack.block = grub_cpu_to_be16 (block);
|
||||
|
||||
err = grub_net_send_udp_packet (data->sock, &nb_ack);
|
||||
if (err)
|
||||
@@ -225,7 +225,7 @@
|
||||
grub_priority_queue_pop (data->pq);
|
||||
|
||||
if (file->device->net->packs.count < 50)
|
||||
- err = ack (data, tftph->u.data.block);
|
||||
+ err = ack (data, data->block + 1);
|
||||
else
|
||||
{
|
||||
file->device->net->stall = 1;
|
15
debian/patches/uefi_firmware_setup.patch
vendored
15
debian/patches/uefi_firmware_setup.patch
vendored
@ -1,12 +1,13 @@
|
||||
Description: Output a menu entry for firmware setup on UEFI FastBoot systems
|
||||
Author: Steve Langasek <steve.langasek@ubuntu.com>
|
||||
Forwarded: no
|
||||
Last-Update: 2013-11-14
|
||||
|
||||
Index: b/Makefile.util.def
|
||||
===================================================================
|
||||
--- a/Makefile.util.def
|
||||
+++ b/Makefile.util.def
|
||||
@@ -456,6 +456,12 @@
|
||||
@@ -484,6 +484,12 @@
|
||||
};
|
||||
|
||||
script = {
|
||||
@ -19,18 +20,6 @@ Index: b/Makefile.util.def
|
||||
name = '40_custom';
|
||||
common = util/grub.d/40_custom.in;
|
||||
installdir = grubconf;
|
||||
Index: b/po/POTFILES-shell.in
|
||||
===================================================================
|
||||
--- a/po/POTFILES-shell.in
|
||||
+++ b/po/POTFILES-shell.in
|
||||
@@ -7,6 +7,7 @@
|
||||
util/grub.d/10_windows.in
|
||||
util/grub.d/20_linux_xen.in
|
||||
util/grub.d/30_os-prober.in
|
||||
+util/grub.d/30_uefi-firmware.in
|
||||
util/grub.d/40_custom.in
|
||||
util/grub.d/41_custom.in
|
||||
util/grub-install.in
|
||||
Index: b/util/grub.d/30_uefi-firmware.in
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
|
173
debian/patches/upstream-extra-dist.patch
vendored
173
debian/patches/upstream-extra-dist.patch
vendored
@ -1,173 +0,0 @@
|
||||
Description: Files present in upstream branch but missing from upstream tarball
|
||||
This allows us to maintain the packaging as a branch of upstream more
|
||||
easily. The build system has been corrected upstream, so this patch can be
|
||||
dropped after the next upstream release.
|
||||
Last-Update: 2012-09-04
|
||||
|
||||
Index: b/grub-core/tests/boot/linux.init-ppc.S
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/grub-core/tests/boot/linux.init-ppc.S
|
||||
@@ -0,0 +1,61 @@
|
||||
+/*
|
||||
+ * GRUB -- GRand Unified Bootloader
|
||||
+ * Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
+ *
|
||||
+ * GRUB is free software: you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation, either version 3 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * GRUB is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
+#define SYSCALL_WRITE 4
|
||||
+#define SYSCALL_RESET 88
|
||||
+#define SYSCALL_EXIT 1
|
||||
+
|
||||
+#define STDOUT 1
|
||||
+#define SHUTDOWN_MAGIC1 0xfee1dead
|
||||
+#define SHUTDOWN_MAGIC2 0x28121969
|
||||
+#define SHUTDOWN_MAGIC3 0x4321fedc
|
||||
+
|
||||
+ .text
|
||||
+ .global start, _start, __start
|
||||
+__start:
|
||||
+_start:
|
||||
+start:
|
||||
+ /* write. */
|
||||
+ li %r0, SYSCALL_WRITE
|
||||
+ li %r3, STDOUT
|
||||
+ lis %r4, message@h
|
||||
+ ori %r4, %r4, message@l
|
||||
+ lis %r5, messageend@h
|
||||
+ ori %r5, %r5, messageend@l
|
||||
+ sub %r5, %r5, %r4
|
||||
+ sc
|
||||
+
|
||||
+ /* shutdown. */
|
||||
+ li %r0, SYSCALL_RESET
|
||||
+ lis %r3, SHUTDOWN_MAGIC1@h
|
||||
+ ori %r3, %r3, SHUTDOWN_MAGIC1@l
|
||||
+ lis %r4, SHUTDOWN_MAGIC2@h
|
||||
+ ori %r4, %r4, SHUTDOWN_MAGIC2@l
|
||||
+ lis %r5, SHUTDOWN_MAGIC3@h
|
||||
+ ori %r5, %r5, SHUTDOWN_MAGIC3@l
|
||||
+ sc
|
||||
+
|
||||
+ /* exit(1). Shouldn't be reached. */
|
||||
+ li %r0, SYSCALL_EXIT
|
||||
+ li %r3, 1
|
||||
+ sc
|
||||
+
|
||||
+ .data
|
||||
+message:
|
||||
+ .ascii "Boot Test Passed Successfully\n" SUCCESSFUL_BOOT_STRING "\n"
|
||||
+messageend:
|
||||
Index: b/grub-core/tests/boot/linux.init-mips.S
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/grub-core/tests/boot/linux.init-mips.S
|
||||
@@ -0,0 +1,61 @@
|
||||
+/*
|
||||
+ * GRUB -- GRand Unified Bootloader
|
||||
+ * Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
+ *
|
||||
+ * GRUB is free software: you can redistribute it and/or modify
|
||||
+ * it under the terms of the GNU General Public License as published by
|
||||
+ * the Free Software Foundation, either version 3 of the License, or
|
||||
+ * (at your option) any later version.
|
||||
+ *
|
||||
+ * GRUB is distributed in the hope that it will be useful,
|
||||
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ * GNU General Public License for more details.
|
||||
+ *
|
||||
+ * You should have received a copy of the GNU General Public License
|
||||
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
+ */
|
||||
+
|
||||
+#define SYSCALL_WRITE 4004
|
||||
+#define SYSCALL_RESET 4088
|
||||
+#define SYSCALL_EXIT 4001
|
||||
+
|
||||
+#define STDOUT 1
|
||||
+#define SHUTDOWN_MAGIC1 0xfee1dead
|
||||
+#define SHUTDOWN_MAGIC2 0x28121969
|
||||
+#ifdef REBOOT
|
||||
+#define SHUTDOWN_MAGIC3 0x01234567
|
||||
+#else
|
||||
+#define SHUTDOWN_MAGIC3 0x4321fedc
|
||||
+#endif
|
||||
+ .text
|
||||
+ .global start, _start, __start
|
||||
+__start:
|
||||
+_start:
|
||||
+start:
|
||||
+ /* write. */
|
||||
+ li $v0, SYSCALL_WRITE
|
||||
+ li $a0, STDOUT
|
||||
+ lui $a1, %hi(message)
|
||||
+ addiu $a1, %lo(message)
|
||||
+ lui $a2, %hi(messageend)
|
||||
+ addiu $a2, %lo(messageend)
|
||||
+ subu $a2, $a2, $a1
|
||||
+ syscall
|
||||
+
|
||||
+ /* shutdown. */
|
||||
+ li $v0, SYSCALL_RESET
|
||||
+ li $a0, SHUTDOWN_MAGIC1
|
||||
+ li $a1, SHUTDOWN_MAGIC2
|
||||
+ li $a2, SHUTDOWN_MAGIC3
|
||||
+ syscall
|
||||
+
|
||||
+ /* exit(1). Shouldn't be reached. */
|
||||
+ li $v0, SYSCALL_EXIT
|
||||
+ li $a0, 1
|
||||
+ syscall
|
||||
+
|
||||
+ .data
|
||||
+message:
|
||||
+ .ascii "Boot Test Passed Successfully\n" SUCCESSFUL_BOOT_STRING "\n"
|
||||
+messageend:
|
||||
Index: b/grub-core/tests/boot/linux-ppc.cfg
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/grub-core/tests/boot/linux-ppc.cfg
|
||||
@@ -0,0 +1,5 @@
|
||||
+linux /linux console=ttyPZ1 root=/dev/ram0
|
||||
+initrd /initrd
|
||||
+boot
|
||||
+# Shouln't happen
|
||||
+halt
|
||||
Index: b/linguas.sh
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ b/linguas.sh
|
||||
@@ -0,0 +1,20 @@
|
||||
+#!/bin/sh
|
||||
+
|
||||
+rsync -Lrtvz --exclude=ko.po translationproject.org::tp/latest/grub/ po
|
||||
+
|
||||
+autogenerated="en@quot en@hebrew de@hebrew en@cyrillic en@greek en@arabic en@piglatin de_CH"
|
||||
+
|
||||
+
|
||||
+for x in $autogenerated; do
|
||||
+ rm "po/$x.po";
|
||||
+done
|
||||
+
|
||||
+
|
||||
+(
|
||||
+ (
|
||||
+ cd po && ls *.po| cut -d. -f1
|
||||
+ for x in $autogenerated; do
|
||||
+ echo "$x";
|
||||
+ done
|
||||
+ ) | sort | uniq | xargs
|
||||
+) >po/LINGUAS
|
4
debian/patches/vt_handoff.patch
vendored
4
debian/patches/vt_handoff.patch
vendored
@ -4,13 +4,13 @@ Description: Add configure option to use vt.handoff=7
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Author: Andy Whitcroft <apw@canonical.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2013-11-13
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1120,6 +1120,17 @@
|
||||
@@ -1387,6 +1387,17 @@
|
||||
fi
|
||||
AC_SUBST([GFXPAYLOAD_DYNAMIC])
|
||||
|
||||
|
4
debian/patches/wubi_no_windows.patch
vendored
4
debian/patches/wubi_no_windows.patch
vendored
@ -6,13 +6,13 @@ Description: Skip Windows os-prober entries on Wubi systems
|
||||
https://blueprints.launchpad.net/ubuntu/+spec/foundations-o-wubi
|
||||
Author: Colin Watson <cjwatson@ubuntu.com>
|
||||
Forwarded: not-needed
|
||||
Last-Update: 2013-08-13
|
||||
Last-Update: 2013-11-15
|
||||
|
||||
Index: b/util/grub.d/30_os-prober.in
|
||||
===================================================================
|
||||
--- a/util/grub.d/30_os-prober.in
|
||||
+++ b/util/grub.d/30_os-prober.in
|
||||
@@ -112,6 +112,8 @@
|
||||
@@ -107,6 +107,8 @@
|
||||
|
||||
used_osprober_linux_ids=
|
||||
|
||||
|
244
docs/autoiso.cfg
Normal file
244
docs/autoiso.cfg
Normal file
@ -0,0 +1,244 @@
|
||||
# Sample GRUB script to autodetect operating systems
|
||||
#
|
||||
# Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
#
|
||||
# GRUB is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# GRUB is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
function pathname { regexp -s 2:"$2" '^(\(.*\))?(/.*)$' "$1"; }
|
||||
function devname { regexp -s "$2" '^(\(.*\)).*$' "$1"; }
|
||||
|
||||
function loopback_iso_entry {
|
||||
realdev="$1"
|
||||
isopath="$2"
|
||||
loopdev="$3"
|
||||
|
||||
if test -f /boot/grub/loopback.cfg; then
|
||||
cfgpath=/boot/grub/loopback.cfg
|
||||
elif test -f /grub/loopback.cfg; then
|
||||
cfgpath=/grub/loopback.cfg
|
||||
else
|
||||
return 1;
|
||||
fi
|
||||
|
||||
echo loopback.cfg $isopath: yes
|
||||
menuentry "Boot GRUB Loopback Config from ${realdev}${isopath}" "$realdev" "$isopath" "$cfgpath" {
|
||||
set device="$2"
|
||||
set iso_path="$3"
|
||||
set cfg_path="$4"
|
||||
|
||||
export iso_path
|
||||
loopback loopdev_cfg "${device}${iso_path}"
|
||||
set root=(loopdev_cfg)
|
||||
configfile $cfg_path
|
||||
loopback -d loopdev_cfg
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
function grml_iso_entry {
|
||||
realdev="$1"
|
||||
isopath="$2"
|
||||
loopdev="$3"
|
||||
|
||||
result=1
|
||||
for dir in /boot/grml /boot/grmlsmall /boot/grmlmedium; do
|
||||
if ! test -f ${dir}/linux26 -a -f ${dir}/initrd.gz; then continue; fi
|
||||
|
||||
echo grml $isopath: yes
|
||||
result=0
|
||||
menuentry "GRML Linux from ${realdev}${isopath}" \
|
||||
"$realdev" "$isopath" "$dir" {
|
||||
set device="$2"
|
||||
set isopath="$3"
|
||||
set grmldir="$4"
|
||||
|
||||
loopback loopdev_grml "${device}${isopath}"
|
||||
set root=(loopdev_grml)
|
||||
linux $grmldir/linux26 findiso="$isopath" apm=power-off quiet \
|
||||
boot=live nomce
|
||||
initrd $grmldir/initrd.gz
|
||||
loopback -d loopdev_grml
|
||||
}
|
||||
done
|
||||
return $result
|
||||
}
|
||||
|
||||
function pmagic_iso_entry {
|
||||
realdev="$1"
|
||||
isopath="$2"
|
||||
loopdev="$3"
|
||||
|
||||
if ! test -f /pmagic/bzImage -a -f /pmagic/initramfs; then return 1; fi
|
||||
|
||||
echo pmagic $isopath: yes
|
||||
menuentry "Parted Magic from ${realdev}${isopath}" "$realdev" "$isopath" {
|
||||
set device="$2"
|
||||
set isopath="$3"
|
||||
|
||||
loopback loopdev_pmagic "${device}${isopath}"
|
||||
set root=(loopdev_pmagic)
|
||||
linux /pmagic/bzImage iso_filename="$isopath" edd=off noapic \
|
||||
load_ramdisk=1 prompt_ramdisk=0 rw sleep=10 loglevel=0 \
|
||||
keymap=$langcode
|
||||
initrd /pmagic/initramfs
|
||||
loopback -d loopdev_pmagic
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
function sidux_iso_entry {
|
||||
realdev="$1"
|
||||
isopath="$2"
|
||||
loopdev="$3"
|
||||
|
||||
result=1
|
||||
for kernel in /boot/vmlinuz-*-sidux-*; do
|
||||
if ! test -f "$kernel"; then continue; fi
|
||||
regexp -s 1:v1 -s 2:v2 '/boot/vmlinuz-(.*)-sidux-(.*)' "$kernel"
|
||||
|
||||
initrd="/boot/initrd.img-$v1-sidux-$v2"
|
||||
if ! test -f "$initrd"; then continue; fi
|
||||
|
||||
result=0
|
||||
echo sidux $isopath: yes
|
||||
menuentry "Sidux vmlinux-$v1-sidux-$v2 from ${realdev}${isopath}" "$realdev" "$isopath" "$kernel" "$initrd" {
|
||||
set device="$2"
|
||||
set isopath="$3"
|
||||
set kernel="$4"
|
||||
set initrd="$5"
|
||||
|
||||
loopback loopdev_sidux "${device}${isopath}"
|
||||
set root=(loopdev_sidux)
|
||||
linux $kernel fromiso=$isopath boot=fll quiet
|
||||
initrd $initrd
|
||||
loopback -d loopdev_sidux
|
||||
}
|
||||
done
|
||||
return $result
|
||||
}
|
||||
|
||||
function slax_iso_entry {
|
||||
realdev="$1"
|
||||
isopath="$2"
|
||||
loopdev="$3"
|
||||
|
||||
if ! test -f /boot/vmlinuz -a -f /boot/initrd.gz; then return 1; fi
|
||||
|
||||
echo slax $isopath: yes
|
||||
menuentry "Slax Linux from ${realdev}${isopath}" "$realdev" "$isopath" {
|
||||
set device="$2"
|
||||
set isopath="$3"
|
||||
|
||||
loopback loopdev_slax "${device}${isopath}"
|
||||
set root=(loopdev_slax)
|
||||
linux /boot/vmlinuz from=$isopath ramdisk_size=6666 root=/dev/ram0 rw
|
||||
initrd /boot/initrd.gz
|
||||
loopback -d loopdev_slax
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
function tinycore_iso_entry {
|
||||
realpath="$1"
|
||||
isopath="$2"
|
||||
loopdev="$3"
|
||||
|
||||
if ! test -f /boot/bzImage -a -f /boot/tinycore.gz; then return 1; fi
|
||||
|
||||
echo tinycore $isopath: yes
|
||||
menuentry "Tinycore Linux from ${realdev}${isopath}" "$realdev" "$isopath" {
|
||||
set device="$2"
|
||||
set isopath="$3"
|
||||
|
||||
loopback loopdev_tiny "${device}${isopath}"
|
||||
set root=(loopdev_tiny)
|
||||
linux /boot/bzImage
|
||||
initrd /boot/tinycore.gz
|
||||
loopback -d loopdev_tiny
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
function casper_iso_entry {
|
||||
realpath="$1"
|
||||
isopath="$2"
|
||||
loopdev="$3"
|
||||
|
||||
if ! test -f /casper/vmlinuz; then return 1; fi
|
||||
initrd=
|
||||
for f in /casper/initrd.*z; do
|
||||
if ! test -f "$f"; then continue; fi
|
||||
pathname "$f" initrd
|
||||
done
|
||||
if test -z "$initrd"; then return 1; fi
|
||||
|
||||
echo casper $isopath: yes
|
||||
menuentry "Casper based Linux from ${realdev}${isopath}" "$realdev" "$isopath" "$initrd" {
|
||||
set device="$2"
|
||||
set isopath="$3"
|
||||
set initrd="$4"
|
||||
|
||||
loopback loopdev_casper "${device}${isopath}"
|
||||
set root=(loopdev_casper)
|
||||
linux /casper/vmlinuz boot=casper iso-scan/filename="$isopath" quiet splash noprompt keyb="$langcode" \
|
||||
debian-installer/language="$langcode" console-setup/layoutcode?="$langcode" --
|
||||
initrd $initrd
|
||||
loopback -d loopdev_casper
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
function scan_isos {
|
||||
isodirs="$1"
|
||||
|
||||
for dev in (*); do
|
||||
for dir in $isodirs; do
|
||||
for file in ${dev}${dir}/*.iso ${dev}${dir}/*.ISO; do
|
||||
if ! test -f "$file"; then continue; fi
|
||||
|
||||
pathname $file isopath
|
||||
if test -z "$dev" -o -z "$isopath"; then continue; fi
|
||||
|
||||
if ! loopback loopdev_scan "$file"; then continue; fi
|
||||
saved_root=$root
|
||||
set root=(loopdev_scan)
|
||||
|
||||
if loopback_iso_entry $dev $isopath (loopdev_scan); then true;
|
||||
elif grml_iso_entry $dev $isopath (loopdev_scan); then true;
|
||||
elif pmagic_iso_entry $dev $isopath (loopdev_scan); then true;
|
||||
elif sidux_iso_entry $dev $isopath (loopdev_scan); then true;
|
||||
elif slax_iso_entry $dev $isopath (loopdev_scan); then true;
|
||||
elif tinycore_iso_entry $dev $isopath (loopdev_scan); then true;
|
||||
elif casper_iso_entry $dev $isopath (loopdev_scan); then true;
|
||||
else true; fi
|
||||
|
||||
set root=$saved_root
|
||||
loopback -d loopdev_scan
|
||||
done
|
||||
done
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
# XXX Remove later
|
||||
insmod serial
|
||||
serial
|
||||
terminal_output --append serial
|
||||
# terminal_input --append serial
|
||||
|
||||
langcode="$lang"
|
||||
|
||||
insmod regexp
|
||||
scan_isos /iso /boot/iso
|
||||
|
@ -74,12 +74,11 @@ This edition documents version @value{VERSION}.
|
||||
|
||||
@menu
|
||||
* Getting the source code::
|
||||
* Finding your way around::
|
||||
* Coding style::
|
||||
* Finding your way around::
|
||||
* Contributing Changes::
|
||||
* Porting::
|
||||
* Error Handling::
|
||||
* CIA::
|
||||
* BIOS port memory map::
|
||||
* Video Subsystem::
|
||||
* PFF2 Font File Format::
|
||||
@ -92,24 +91,36 @@ This edition documents version @value{VERSION}.
|
||||
@node Getting the source code
|
||||
@chapter Getting the source code
|
||||
|
||||
GRUB is maintained using the @uref{http://bazaar-vcs.org/, Bazaar revision
|
||||
control system}. To fetch the primary development branch:
|
||||
GRUB is maintained using the @uref{GIT revision
|
||||
control system}. To fetch:
|
||||
|
||||
@example
|
||||
bzr get http://bzr.savannah.gnu.org/r/grub/trunk/grub
|
||||
git clone git://git.sv.gnu.org/grub.git
|
||||
@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:
|
||||
|
||||
Web access is available under
|
||||
@example
|
||||
bzr get http://bzr.savannah.gnu.org/r/grub/branches/experimental
|
||||
http://git.savannah.gnu.org/cgit/grub.git/
|
||||
@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
|
||||
The branches available are:
|
||||
|
||||
@table @samp
|
||||
@item master
|
||||
Main developpement branch.
|
||||
@item grub-legacy
|
||||
GRUB 0.97 codebase. Kept for reference and legal reasons
|
||||
@item multiboot
|
||||
Multiboot specfication
|
||||
@item multiboot2
|
||||
Multiboot2 specfication
|
||||
@item developper branches
|
||||
Prefixed with developper name. Every developper of a team manages his own branches.
|
||||
Developper branches do not need changelog entries.
|
||||
@end table
|
||||
|
||||
Once you have used @kbd{git clone} to fetch an initial copy of a branch, you
|
||||
can use @kbd{git pull} to keep it up to date. If you have modified your
|
||||
local version, you may need to resolve conflicts when pulling.
|
||||
|
||||
@node Coding style
|
||||
@ -286,14 +297,19 @@ live under @file{grub-core/term/}.
|
||||
|
||||
@item
|
||||
The @samp{efiemu_*} commands live under @file{grub-core/efiemu/}.
|
||||
|
||||
@item
|
||||
OS-dependent code should be under @file{grub-core/osdep/}
|
||||
|
||||
@item
|
||||
Utility programs meant to be run from a full operating system
|
||||
(except OS-dependent code mentioned previously) are in @file{util/}.
|
||||
|
||||
@end itemize
|
||||
|
||||
There are a few other special-purpose exceptions; grep for them if they
|
||||
matter to you.
|
||||
|
||||
Utility programs meant to be run from a full operating system are in
|
||||
@file{util/}.
|
||||
|
||||
@node Contributing Changes
|
||||
@chapter Contributing changes
|
||||
@c By YoshinoriOkuji, VesaJääskeläinen, ColinWatson
|
||||
@ -329,10 +345,10 @@ anymore.
|
||||
@itemize
|
||||
@item Always use latest GRUB 2 source code. So get that first.
|
||||
|
||||
For developers it is recommended always to use the newest development version of GRUB 2. If development takes a long period of time, please remember to keep in sync with newest developments regularly so it is much easier to integrate your change in the future. GRUB 2 is being developed in a Bazaar (bzr) repository.
|
||||
For developers it is recommended always to use the newest development version of GRUB 2. If development takes a long period of time, please remember to keep in sync with newest developments regularly so it is much easier to integrate your change in the future. GRUB 2 is being developed in a GIT repository.
|
||||
|
||||
Please check Savannah's GRUB project page for details how to get newest bzr:
|
||||
@uref{http://savannah.gnu.org/bzr/?group=grub, GRUB 2 bzr Repository}
|
||||
Please check Savannah's GRUB project page for details how to get newest git:
|
||||
@uref{https://savannah.gnu.org/git/?group=grub, GRUB 2 git Repository}
|
||||
|
||||
@item Compile it and try it out.
|
||||
|
||||
@ -890,34 +906,6 @@ if (grub_errno != GRUB_ERR_NONE)
|
||||
grub_error_pop ();
|
||||
@end example
|
||||
|
||||
@node CIA
|
||||
@chapter CIA
|
||||
@c By Robert Millan and Carles Pina
|
||||
If you have commit access, please setup CIA in your Bazaar
|
||||
config so those in IRC receive notification of your commits.
|
||||
|
||||
In @file{~/.bazaar/bazaar.conf}, add "cia_send_revno = true".
|
||||
Optionally, you can also add "cia_user = myusername" if you'd
|
||||
like CIA service to use a specific account (for statistical purpose).
|
||||
|
||||
In the @file{.bzr/branch/branch.conf} of your checkout branch,
|
||||
"set nickname = /path_to_this_branch" and "cia_project = GNU GRUB".
|
||||
|
||||
Additionally, please set cia_send_revno in the [DEFAULT] section
|
||||
of your @file{~/.bazaar/bazaar.conf}. E.g.:
|
||||
|
||||
@example
|
||||
[DEFAULT]
|
||||
cia_send_revno = true
|
||||
@end example
|
||||
|
||||
Remember to install cia-clients (Debian/Ubuntu package) to be able to use CIA.
|
||||
|
||||
Keep in mind Bazaar sends notifications for all commits to branches that have
|
||||
this setting, regardless of whether they're bound branches (checkouts) or not.
|
||||
So if you make local commits in a non-bound branch and it bothers you that
|
||||
others can read them, do not use this setting.
|
||||
|
||||
@node BIOS port memory map
|
||||
@chapter BIOS port memory map
|
||||
@c By Yoshinori K Okuji
|
||||
@ -948,8 +936,8 @@ driver manager works are not included here.
|
||||
|
||||
@menu
|
||||
* Video API::
|
||||
* Bitmap API::
|
||||
* Example usage of Video API::
|
||||
* Bitmap API::
|
||||
@end menu
|
||||
|
||||
@node Video API
|
||||
@ -1108,6 +1096,47 @@ struct grub_video_palette_data
|
||||
Used to query indexed color palettes. If mode is RGB mode, colors will be copied from emulated palette data. In Indexed Color modes, palettes will be read from hardware. Color values will be converted to suit structure format. @code{start} will tell what hardware color index (or emulated color index) will be used as a source for first indice of @code{palette_data}, after that both hardware color index and @code{palette_data} index will be incremented until @code{count} number of colors have been read.
|
||||
@end itemize
|
||||
|
||||
@subsection grub_video_set_area_status
|
||||
@itemize
|
||||
|
||||
@item Prototype:
|
||||
@example
|
||||
grub_err_t
|
||||
grub_video_set_area_status (grub_video_area_status_t area_status);
|
||||
@end example
|
||||
@example
|
||||
enum grub_video_area_status_t
|
||||
@{
|
||||
GRUB_VIDEO_AREA_DISABLED,
|
||||
GRUB_VIDEO_AREA_ENABLED
|
||||
@};
|
||||
@end example
|
||||
|
||||
@item Description:
|
||||
|
||||
Used to set area drawing mode for redrawing the specified region. Draw commands
|
||||
are performed in the intersection of the viewport and the region called area.
|
||||
Coordinates remain related to the viewport. If draw commands try to draw over
|
||||
the area, they are clipped.
|
||||
Set status to DISABLED if you need to draw everything.
|
||||
Set status to ENABLED and region to the desired rectangle to redraw everything
|
||||
inside the region leaving everything else intact.
|
||||
Should be used for redrawing of active elements.
|
||||
@end itemize
|
||||
|
||||
@subsection grub_video_get_area_status
|
||||
@itemize
|
||||
|
||||
@item Prototype:
|
||||
@example
|
||||
grub_err_r
|
||||
grub_video_get_area_status (grub_video_area_status_t *area_status);
|
||||
@end example
|
||||
|
||||
@item Description:
|
||||
Used to query the area status.
|
||||
@end itemize
|
||||
|
||||
@subsection grub_video_set_viewport
|
||||
@itemize
|
||||
@item Prototype:
|
||||
@ -1134,6 +1163,37 @@ grub_video_get_viewport (unsigned int *x, unsigned int *y, unsigned int *width,
|
||||
Used to query current viewport dimensions. Software developer can use this to choose best way to render contents of the viewport.
|
||||
@end itemize
|
||||
|
||||
@subsection grub_video_set_region
|
||||
@itemize
|
||||
@item Prototype:
|
||||
|
||||
@example
|
||||
grub_err_t
|
||||
grub_video_set_region (unsigned int x, unsigned int y, unsigned int width, unsigned int height);
|
||||
@end example
|
||||
@item Description:
|
||||
|
||||
Used to specify the region of the screen which should be redrawn. Use absolute
|
||||
values. When the region is set and area status is ENABLE all draw commands will
|
||||
be performed inside the interseption of region and viewport named area.
|
||||
If draw commands try to draw over viewport, they are clipped. If developer
|
||||
requests larger than possible region, width and height will be clamped to fit
|
||||
screen. Should be used for redrawing of active elements.
|
||||
@end itemize
|
||||
|
||||
@subsection grub_video_get_region
|
||||
@itemize
|
||||
@item Prototype:
|
||||
|
||||
@example
|
||||
grub_err_t
|
||||
grub_video_get_region (unsigned int *x, unsigned int *y, unsigned int *width, unsigned int *height);
|
||||
@end example
|
||||
@item Description:
|
||||
|
||||
Used to query current region dimensions.
|
||||
@end itemize
|
||||
|
||||
@subsection grub_video_map_color
|
||||
@itemize
|
||||
@item Prototype:
|
||||
|
1867
docs/grub.texi
1867
docs/grub.texi
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
[NAME]
|
||||
grub-setup \- set up a device to boot using GRUB
|
||||
grub-bios-setup \- set up a device to boot using GRUB
|
||||
[SEE ALSO]
|
||||
.BR grub-install (8),
|
||||
.BR grub-mkimage (1),
|
||||
|
4
docs/man/grub-glue-efi.h2m
Normal file
4
docs/man/grub-glue-efi.h2m
Normal file
@ -0,0 +1,4 @@
|
||||
[NAME]
|
||||
grub-glue-efi \- generate a fat binary for EFI
|
||||
[DESCRIPTION]
|
||||
grub-glue-efi processes ia32 and amd64 EFI images and glues them according to Apple format.
|
@ -3,5 +3,4 @@ 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,4 +0,0 @@
|
||||
[NAME]
|
||||
grub-mkdevicemap \- generate a GRUB device map file automatically
|
||||
[SEE ALSO]
|
||||
.BR grub-install (8)
|
@ -2,6 +2,5 @@
|
||||
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)
|
||||
|
3
docs/man/grub-render-label.h2m
Normal file
3
docs/man/grub-render-label.h2m
Normal file
@ -0,0 +1,3 @@
|
||||
[NAME]
|
||||
grub-render-label \- generate a .disk_label for Apple Macs.
|
||||
|
@ -1,5 +1,5 @@
|
||||
[NAME]
|
||||
grub-setup \- set up a device to boot using GRUB
|
||||
grub-sparc64-setup \- set up a device to boot using GRUB
|
||||
[SEE ALSO]
|
||||
.BR grub-install (8),
|
||||
.BR grub-mkimage (1),
|
||||
|
325
docs/osdetect.cfg
Normal file
325
docs/osdetect.cfg
Normal file
@ -0,0 +1,325 @@
|
||||
# Sample GRUB script to autodetect operating systems
|
||||
#
|
||||
# Copyright (C) 2010 Free Software Foundation, Inc.
|
||||
#
|
||||
# GRUB is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# GRUB is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
set saved_root=$root
|
||||
|
||||
function freebsd_ufs_variants {
|
||||
set device=$1
|
||||
set fstype=$2
|
||||
set uuid=$3
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device)" $device $uuid {
|
||||
set root=$2
|
||||
set uuid=$3
|
||||
|
||||
freebsd /boot/kernel/kernel
|
||||
set FreeBSD.acpi_load=YES
|
||||
set FreeBSD.hint.acpi.0.disabled=0
|
||||
set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid
|
||||
frebsd_loadenv /boot/device.hints
|
||||
}
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device) (single)" $device $uuid {
|
||||
set root=$2
|
||||
set uuid=$3
|
||||
|
||||
freebsd /boot/kernel/kernel --single
|
||||
set FreeBSD.acpi_load=YES
|
||||
set FreeBSD.hint.acpi.0.disabled=0
|
||||
set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid
|
||||
frebsd_loadenv /boot/device.hints
|
||||
}
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device) (verbose)" $device $uuid {
|
||||
set root=$2
|
||||
set uuid=$3
|
||||
|
||||
freebsd /boot/kernel/kernel --verbose
|
||||
set FreeBSD.acpi_load=YES
|
||||
set FreeBSD.hint.acpi.0.disabled=0
|
||||
set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid
|
||||
frebsd_loadenv /boot/device.hints
|
||||
}
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device) (without ACPI)" $device $uuid {
|
||||
set root=$2
|
||||
set uuid=$3
|
||||
|
||||
freebsd /boot/kernel/kernel --verbose
|
||||
unset FreeBSD.acpi_load
|
||||
set FreeBSD.hint.acpi.0.disabled=1
|
||||
set FreeBSD.loader.acpi_disabled_by_user=1
|
||||
set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid
|
||||
frebsd_loadenv /boot/device.hints
|
||||
}
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device) (safe mode)" $device $uuid {
|
||||
set root=$2
|
||||
set uuid=$3
|
||||
|
||||
freebsd /boot/kernel/kernel --verbose
|
||||
unset FreeBSD.acpi_load
|
||||
set FreeBSD.hint.acpi.0.disabled=1
|
||||
set FreeBSD.loader.acpi_disabled_by_user=1
|
||||
set FreeBSD.hint.apic.0.disabled=1
|
||||
set FreeBSD.hw.ata.ata_dma=0
|
||||
set FreeBSD.hw.ata.atapi_dma=0
|
||||
set FreeBSD.hw.ata.wc=0
|
||||
set FreeBSD.hw.eisa_slots=0
|
||||
set FreeBSD.hint.kbdmux.0.disabled=1
|
||||
set FreeBSD.vfs.root.mountfrom=ufs:ufsid/$uuid
|
||||
frebsd_loadenv /boot/device.hints
|
||||
}
|
||||
}
|
||||
|
||||
function freebsd_zfs_variants {
|
||||
set device=$1
|
||||
set fstype=zfs
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device)" $device {
|
||||
set root=$2
|
||||
|
||||
freebsd /@/boot/kernel/kernel
|
||||
set FreeBSD.acpi_load=YES
|
||||
set FreeBSD.hint.acpi.0.disabled=0
|
||||
freebsd_module_elf /@/boot/kernel/opensolaris.ko
|
||||
freebsd_module_elf /@/boot/kernel/zfs.ko
|
||||
freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
|
||||
probe -l -s name $root
|
||||
set FreeBSD.vfs.root.mountfrom=zfs:$name
|
||||
freebsd_loadenv /@/boot/device.hints
|
||||
}
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device) (single)" $device {
|
||||
set root=$2
|
||||
|
||||
freebsd /@/boot/kernel/kernel --single
|
||||
set FreeBSD.acpi_load=YES
|
||||
set FreeBSD.hint.acpi.0.disabled=0
|
||||
freebsd_module_elf /@/boot/kernel/opensolaris.ko
|
||||
freebsd_module_elf /@/boot/kernel/zfs.ko
|
||||
freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
|
||||
probe -l -s name $root
|
||||
set FreeBSD.vfs.root.mountfrom=zfs:$name
|
||||
freebsd_loadenv /@/boot/device.hints
|
||||
}
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device) (verbose)" $device {
|
||||
set root=$2
|
||||
|
||||
freebsd /@/boot/kernel/kernel --verbose
|
||||
set FreeBSD.acpi_load=YES
|
||||
set FreeBSD.hint.acpi.0.disabled=0
|
||||
freebsd_module_elf /@/boot/kernel/opensolaris.ko
|
||||
freebsd_module_elf /@/boot/kernel/zfs.ko
|
||||
freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
|
||||
probe -l -s name $root
|
||||
set FreeBSD.vfs.root.mountfrom=zfs:$name
|
||||
freebsd_loadenv /@/boot/device.hints
|
||||
}
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device) (without ACPI)" $device {
|
||||
set root=$2
|
||||
|
||||
freebsd /@/boot/kernel/kernel --verbose
|
||||
unset FreeBSD.acpi_load
|
||||
set FreeBSD.hint.acpi.0.disabled=1
|
||||
set FreeBSD.loader.acpi_disabled_by_user=1
|
||||
freebsd_module_elf /@/boot/kernel/opensolaris.ko
|
||||
freebsd_module_elf /@/boot/kernel/zfs.ko
|
||||
freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
|
||||
probe -l -s name $root
|
||||
set FreeBSD.vfs.root.mountfrom=zfs:$name
|
||||
freebsd_loadenv /@/boot/device.hints
|
||||
}
|
||||
|
||||
menuentry "FreeBSD (on $fstype $device) (safe mode)" $device {
|
||||
set root=$2
|
||||
|
||||
freebsd /@/boot/kernel/kernel --verbose
|
||||
unset FreeBSD.acpi_load
|
||||
set FreeBSD.hint.acpi.0.disabled=1
|
||||
set FreeBSD.loader.acpi_disabled_by_user=1
|
||||
set FreeBSD.hint.apic.0.disabled=1
|
||||
set FreeBSD.hw.ata.ata_dma=0
|
||||
set FreeBSD.hw.ata.atapi_dma=0
|
||||
set FreeBSD.hw.ata.wc=0
|
||||
set FreeBSD.hw.eisa_slots=0
|
||||
set FreeBSD.hint.kbdmux.0.disabled=1
|
||||
freebsd_module_elf /@/boot/kernel/opensolaris.ko
|
||||
freebsd_module_elf /@/boot/kernel/zfs.ko
|
||||
freebsd_module /@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
|
||||
probe -l -s name $root
|
||||
set FreeBSD.vfs.root.mountfrom=zfs:$name
|
||||
freebsd_loadenv /@/boot/device.hints
|
||||
}
|
||||
}
|
||||
|
||||
insmod regexp
|
||||
for dev in (*); do
|
||||
# $device: parenthesis removed from $dev
|
||||
regexp -s device '\((.*)\)' $dev
|
||||
# $fstype: filesystem type identified
|
||||
probe -s fstype -f $dev
|
||||
# uuid: filesystem UUID
|
||||
probe -s uuid -u $dev
|
||||
|
||||
if test -f ($device)/bootmgr -a -f ($device)/boot/bcd; then
|
||||
menuentry "Windows Vista bootmgr (on $device)" $device {
|
||||
set root=$2
|
||||
chainloader +1
|
||||
}
|
||||
elif test -f ($device)/ntldr -a \
|
||||
-e ($device)/ntdetect.com -a -f ($device)/boot.ini; then
|
||||
menuentry "Windows NT/2000/XP loader (on $device)" $device {
|
||||
set root=$2
|
||||
regexp -s devnum 'hd([0-9]+)' $root
|
||||
if test "$devnum" != "0"; then
|
||||
drivemap -s hd0 $root
|
||||
fi
|
||||
chainloader +1
|
||||
}
|
||||
elif test -f ($device)/windows/win.com; then
|
||||
menuentry "Windows 98/ME (on $device)" $device {
|
||||
set root=$2
|
||||
regexp -s devnum 'hd([0-9]+)' $root
|
||||
if test "$devnum" != "0"; then
|
||||
drivemap -s hd0 $root
|
||||
fi
|
||||
chainloader +1
|
||||
}
|
||||
elif test -f ($device)/io.sys -a -f ($device)/command.com; then
|
||||
menuentry "MS-DOS (on $device)" $device {
|
||||
set root=$2
|
||||
regexp -s devnum 'hd([0-9]+)' $root
|
||||
if test "$devnum" != "0"; then
|
||||
drivemap -s hd0 $root
|
||||
fi
|
||||
chainloader +1
|
||||
}
|
||||
elif test -f ($device)/kernel.sys; then
|
||||
menuentry "FreeDOS (on $device)" $device {
|
||||
set root=$2
|
||||
regexp -s type '([fh])d[0-9]+' $root
|
||||
regexp -s devnum '[fh]d([0-9]+)' $root
|
||||
if test $type = 'h' -a "$devnum" != "0"; then
|
||||
drivemap -s hd0 $root
|
||||
fi
|
||||
chainloader +1
|
||||
}
|
||||
elif test "$fstype" = ufs1 -o "$fstype" = ufs2 -a \
|
||||
-e ($device)/boot/kernel/kernel -a \
|
||||
-e ($device)/boot/device.hints; then
|
||||
|
||||
freebsd_ufs_variants $device $fstype $uuid
|
||||
|
||||
elif test "$fstype" = zfs -a \
|
||||
-e ($device)/@/boot/kernel/kernel -a \
|
||||
-e ($device)/@/boot/device.hints; then
|
||||
|
||||
freebsd_zfs_variants $device
|
||||
|
||||
elif test "$fstype" = hfsplus -a -f ($device)/mach_kernel; then
|
||||
menuentry "Mac OS X/Darwin" $device $uuid {
|
||||
set root=$2
|
||||
set uuid=$3
|
||||
|
||||
insmod vbe
|
||||
do_resume=0
|
||||
if [ /var/vm/sleepimage -nt10 / ]; then
|
||||
if xnu_resume /var/vm/sleepimage; then
|
||||
do_resume=1
|
||||
fi
|
||||
fi
|
||||
if [ $do_resume = 1 ]; then
|
||||
xnu_uuid $uuid uuid
|
||||
if [ -f /Extra/DSDT.aml ]; then
|
||||
acpi -e /Extra/DSDT.aml
|
||||
fi
|
||||
xnu_kernel /mach_kernel boot-uuid=${uuid} rd=*uuid
|
||||
if [ /System/Library/Extensions.mkext -nt /System/Library/Extensions ]; then
|
||||
xnu_mkext /System/Library/Extensions.mkext
|
||||
else
|
||||
xnu_mkext /System/Library/Extensions
|
||||
fi
|
||||
if [ -f /Extra/Extensions.mkext ]; then
|
||||
xnu_mkext /Extra/Extensions.mkext
|
||||
fi
|
||||
if [ -d /Extra/Extensions ]; then
|
||||
xnu_kextdir /Extra/Extensions
|
||||
fi
|
||||
if [ -f /Extra/devtree.txt ]; then
|
||||
xnu_devtree /Extra/devtree.txt
|
||||
fi
|
||||
if [ -f /Extra/splash.jpg ]; then
|
||||
insmod jpeg
|
||||
xnu_splash /Extra/splash.jpg
|
||||
fi
|
||||
if [ -f /Extra/splash.png ]; then
|
||||
insmod png
|
||||
xnu_splash /Extra/splash.png
|
||||
fi
|
||||
if [ -f /Extra/splash.tga ]; then
|
||||
insmod tga
|
||||
xnu_splash /Extra/splash.tga
|
||||
fi
|
||||
fi
|
||||
}
|
||||
else
|
||||
set root=$device
|
||||
for file in /boot/vmlinuz-* /boot/linux-*; do
|
||||
if test -f $file; then
|
||||
regexp -s version '/boot/vmlinuz-(.*)' $file
|
||||
regexp -s version '/boot/linux-(.*)' $file
|
||||
|
||||
menuentry "Linux $file" $device $uuid $file $version {
|
||||
set root=$2
|
||||
set uuid=$3
|
||||
set kernel=$4
|
||||
set version=$5
|
||||
|
||||
linux $kernel root=UUID=$uuid ro
|
||||
if test -f /boot/initrd-$version.img; then
|
||||
initrd /boot/initrd-$version.img
|
||||
elif test -f /boot/initrd.img-$version; then
|
||||
initrd /boot/initrd.img-$version
|
||||
elif test -f /boot/initrd-$version; then
|
||||
initrd /boot/initrd-$version
|
||||
fi
|
||||
}
|
||||
|
||||
menuentry "Linux $file (single)" $device $uuid $file $version {
|
||||
set root=$2
|
||||
set uuid=$3
|
||||
set kernel=$4
|
||||
set version=$5
|
||||
|
||||
linux $kernel root=UUID=$uuid ro single
|
||||
if test -f /boot/initrd-$version.img; then
|
||||
initrd /boot/initrd-$version.img
|
||||
elif test -f /boot/initrd.img-$version; then
|
||||
initrd /boot/initrd.img-$version
|
||||
elif test -f /boot/initrd-$version; then
|
||||
initrd /boot/initrd-$version
|
||||
fi
|
||||
}
|
||||
fi
|
||||
done
|
||||
fi
|
||||
done
|
||||
|
||||
set root=$saved_root
|
71
gentpl.py
71
gentpl.py
@ -21,9 +21,10 @@
|
||||
|
||||
GRUB_PLATFORMS = [ "emu", "i386_pc", "i386_efi", "i386_qemu", "i386_coreboot",
|
||||
"i386_multiboot", "i386_ieee1275", "x86_64_efi",
|
||||
"i386_xen", "x86_64_xen",
|
||||
"mips_loongson", "sparc64_ieee1275",
|
||||
"powerpc_ieee1275", "mips_arc", "ia64_efi",
|
||||
"mips_qemu_mips" ]
|
||||
"mips_qemu_mips", "arm_uboot", "arm_efi" ]
|
||||
|
||||
GROUPS = {}
|
||||
|
||||
@ -36,10 +37,13 @@ GROUPS["x86"] = GROUPS["i386"] + GROUPS["x86_64"]
|
||||
GROUPS["mips"] = [ "mips_loongson", "mips_qemu_mips", "mips_arc" ]
|
||||
GROUPS["sparc64"] = [ "sparc64_ieee1275" ]
|
||||
GROUPS["powerpc"] = [ "powerpc_ieee1275" ]
|
||||
GROUPS["arm"] = [ "arm_uboot", "arm_efi" ]
|
||||
|
||||
# Groups based on firmware
|
||||
GROUPS["efi"] = [ "i386_efi", "x86_64_efi", "ia64_efi" ]
|
||||
GROUPS["efi"] = [ "i386_efi", "x86_64_efi", "ia64_efi", "arm_efi" ]
|
||||
GROUPS["ieee1275"] = [ "i386_ieee1275", "sparc64_ieee1275", "powerpc_ieee1275" ]
|
||||
GROUPS["uboot"] = [ "arm_uboot" ]
|
||||
GROUPS["xen"] = [ "i386_xen", "x86_64_xen" ]
|
||||
|
||||
# emu is a special case so many core functionality isn't needed on this platform
|
||||
GROUPS["noemu"] = GRUB_PLATFORMS[:]; GROUPS["noemu"].remove("emu")
|
||||
@ -47,20 +51,23 @@ GROUPS["noemu"] = GRUB_PLATFORMS[:]; GROUPS["noemu"].remove("emu")
|
||||
# Groups based on hardware features
|
||||
GROUPS["cmos"] = GROUPS["x86"][:] + ["mips_loongson", "mips_qemu_mips",
|
||||
"sparc64_ieee1275", "powerpc_ieee1275"]
|
||||
GROUPS["cmos"].remove("i386_efi"); GROUPS["cmos"].remove("x86_64_efi")
|
||||
GROUPS["cmos"].remove("i386_efi"); GROUPS["cmos"].remove("x86_64_efi");
|
||||
GROUPS["pci"] = GROUPS["x86"] + ["mips_loongson"]
|
||||
GROUPS["usb"] = GROUPS["pci"]
|
||||
|
||||
# If gfxterm is main output console integrate it into kernel
|
||||
GROUPS["videoinkernel"] = ["mips_loongson", "mips_qemu_mips"]
|
||||
GROUPS["videoinkernel"] = ["mips_loongson", "i386_coreboot" ]
|
||||
GROUPS["videomodules"] = GRUB_PLATFORMS[:];
|
||||
for i in GROUPS["videoinkernel"]: GROUPS["videomodules"].remove(i)
|
||||
|
||||
# Similar for terminfo
|
||||
GROUPS["terminfoinkernel"] = ["mips_loongson", "mips_arc", "mips_qemu_mips" ] + GROUPS["ieee1275"];
|
||||
GROUPS["terminfoinkernel"] = [ "emu", "mips_loongson", "mips_arc", "mips_qemu_mips" ] + GROUPS["xen"] + GROUPS["ieee1275"] + GROUPS["uboot"];
|
||||
GROUPS["terminfomodule"] = GRUB_PLATFORMS[:];
|
||||
for i in GROUPS["terminfoinkernel"]: GROUPS["terminfomodule"].remove(i)
|
||||
|
||||
# Flattened Device Trees (FDT)
|
||||
GROUPS["fdt"] = [ "arm_uboot", "arm_efi" ]
|
||||
|
||||
# Miscelaneous groups schedulded to disappear in future
|
||||
GROUPS["i386_coreboot_multiboot_qemu"] = ["i386_coreboot", "i386_multiboot", "i386_qemu"]
|
||||
GROUPS["nopc"] = GRUB_PLATFORMS[:]; GROUPS["nopc"].remove("i386_pc")
|
||||
@ -302,13 +309,8 @@ def define_macro_for_platform_nodist_sources(p):
|
||||
return define_autogen_macro(
|
||||
"get_" + p + "_nodist_sources",
|
||||
platform_values(p, "_nodist"))
|
||||
def define_macro_for_platform_dependencies(p):
|
||||
return define_autogen_macro(
|
||||
"get_" + p + "_dependencies",
|
||||
platform_values(p, "dependencies", "_dependencies"))
|
||||
def platform_sources(p): return "[+ get_" + p + "_sources +]"
|
||||
def platform_nodist_sources(p): return "[+ get_" + p + "_nodist_sources +]"
|
||||
def platform_dependencies(p): return "[+ get_" + p + "_dependencies +]"
|
||||
|
||||
#
|
||||
# Returns Autogen code which defines the autogen macros that collect
|
||||
@ -326,6 +328,10 @@ def define_macro_for_platform_ldadd(p):
|
||||
return define_autogen_macro(
|
||||
"get_" + p + "_ldadd",
|
||||
platform_specific_values(p, "_ldadd", "ldadd"))
|
||||
def define_macro_for_platform_dependencies(p):
|
||||
return define_autogen_macro(
|
||||
"get_" + p + "_dependencies",
|
||||
platform_specific_values(p, "_dependencies", "dependencies"))
|
||||
def define_macro_for_platform_ldflags(p):
|
||||
return define_autogen_macro(
|
||||
"get_" + p + "_ldflags",
|
||||
@ -351,6 +357,7 @@ def define_macro_for_platform_objcopyflags(p):
|
||||
#
|
||||
def platform_startup(p): return "[+ get_" + p + "_startup +]"
|
||||
def platform_ldadd(p): return "[+ get_" + p + "_ldadd +]"
|
||||
def platform_dependencies(p): return "[+ get_" + p + "_dependencies +]"
|
||||
def platform_cflags(p): return "[+ get_" + p + "_cflags +]"
|
||||
def platform_ldflags(p): return "[+ get_" + p + "_ldflags +]"
|
||||
def platform_cppflags(p): return "[+ get_" + p + "_cppflags +]"
|
||||
@ -380,9 +387,9 @@ def module(platform):
|
||||
r += var_set(cname() + "_LDFLAGS", "$(AM_LDFLAGS) $(LDFLAGS_MODULE) " + platform_ldflags(platform))
|
||||
r += var_set(cname() + "_CPPFLAGS", "$(AM_CPPFLAGS) $(CPPFLAGS_MODULE) " + platform_cppflags(platform))
|
||||
r += var_set(cname() + "_CCASFLAGS", "$(AM_CCASFLAGS) $(CCASFLAGS_MODULE) " + platform_ccasflags(platform))
|
||||
# r += var_set(cname() + "_DEPENDENCIES", platform_dependencies(platform) + " " + platform_ldadd(platform))
|
||||
r += var_set(cname() + "_DEPENDENCIES", "$(TARGET_OBJ2ELF) " + platform_dependencies(platform))
|
||||
|
||||
r += gvar_add("EXTRA_DIST", extra_dist())
|
||||
r += gvar_add("dist_noinst_DATA", extra_dist())
|
||||
r += gvar_add("BUILT_SOURCES", "$(nodist_" + cname() + "_SOURCES)")
|
||||
r += gvar_add("CLEANFILES", "$(nodist_" + cname() + "_SOURCES)")
|
||||
|
||||
@ -408,9 +415,9 @@ def kernel(platform):
|
||||
r += var_set(cname() + "_CPPFLAGS", "$(AM_CPPFLAGS) $(CPPFLAGS_KERNEL) " + platform_cppflags(platform))
|
||||
r += var_set(cname() + "_CCASFLAGS", "$(AM_CCASFLAGS) $(CCASFLAGS_KERNEL) " + platform_ccasflags(platform))
|
||||
r += var_set(cname() + "_STRIPFLAGS", "$(AM_STRIPFLAGS) $(STRIPFLAGS_KERNEL) " + platform_stripflags(platform))
|
||||
# r += var_set(cname() + "_DEPENDENCIES", platform_dependencies(platform) + " " + platform_ldadd(platform))
|
||||
r += var_set(cname() + "_DEPENDENCIES", "$(TARGET_OBJ2ELF)")
|
||||
|
||||
r += gvar_add("EXTRA_DIST", extra_dist())
|
||||
r += gvar_add("dist_noinst_DATA", extra_dist())
|
||||
r += gvar_add("BUILT_SOURCES", "$(nodist_" + cname() + "_SOURCES)")
|
||||
r += gvar_add("CLEANFILES", "$(nodist_" + cname() + "_SOURCES)")
|
||||
|
||||
@ -419,14 +426,14 @@ def kernel(platform):
|
||||
r += rule("[+ name +].img", "[+ name +].exec$(EXEEXT)",
|
||||
if_platform_tagged(platform, "nostrip",
|
||||
"""if test x$(USE_APPLE_CC_FIXES) = xyes; then \
|
||||
$(OBJCONV) -f$(TARGET_MODULE_FORMAT) -nr:_grub_mod_init:grub_mod_init -nr:_grub_mod_fini:grub_mod_fini -ed2022 -wd1106 -nu -nd $< $@; \
|
||||
$(TARGET_OBJCONV) -f$(TARGET_MODULE_FORMAT) -nr:_grub_mod_init:grub_mod_init -nr:_grub_mod_fini:grub_mod_fini -ed2022 -wd1106 -nu -nd $< $@; \
|
||||
elif test ! -z '$(TARGET_OBJ2ELF)'; then \
|
||||
cp $< $@.bin; $(TARGET_OBJ2ELF) $@.bin && cp $@.bin $@ || (rm -f $@.bin; exit 1); \
|
||||
else cp $< $@; fi""",
|
||||
"""if test x$(USE_APPLE_CC_FIXES) = xyes; then \
|
||||
$(STRIP) $(""" + cname() + """) -o $@.bin $<; \
|
||||
$(OBJCONV) -f$(TARGET_MODULE_FORMAT) -nr:_grub_mod_init:grub_mod_init -nr:_grub_mod_fini:grub_mod_fini -ed2022 -wd1106 -nu -nd $@.bin $@; \
|
||||
else """ + "$(STRIP) $(" + cname() + "_STRIPFLAGS) -o $@ $<; \
|
||||
$(TARGET_STRIP) $(""" + cname() + """) -o $@.bin $<; \
|
||||
$(TARGET_OBJCONV) -f$(TARGET_MODULE_FORMAT) -nr:_grub_mod_init:grub_mod_init -nr:_grub_mod_fini:grub_mod_fini -ed2022 -wd1106 -nu -nd $@.bin $@; \
|
||||
else """ + "$(TARGET_STRIP) $(" + cname() + "_STRIPFLAGS) -o $@ $<; \
|
||||
fi"""))
|
||||
return r
|
||||
|
||||
@ -443,7 +450,7 @@ def image(platform):
|
||||
r += var_set(cname() + "_OBJCOPYFLAGS", "$(OBJCOPYFLAGS_IMAGE) " + platform_objcopyflags(platform))
|
||||
# r += var_set(cname() + "_DEPENDENCIES", platform_dependencies(platform) + " " + platform_ldadd(platform))
|
||||
|
||||
r += gvar_add("EXTRA_DIST", extra_dist())
|
||||
r += gvar_add("dist_noinst_DATA", extra_dist())
|
||||
r += gvar_add("BUILT_SOURCES", "$(nodist_" + cname() + "_SOURCES)")
|
||||
r += gvar_add("CLEANFILES", "$(nodist_" + cname() + "_SOURCES)")
|
||||
|
||||
@ -453,7 +460,7 @@ def image(platform):
|
||||
if test x$(USE_APPLE_CC_FIXES) = xyes; then \
|
||||
$(MACHO2IMG) $< $@; \
|
||||
else \
|
||||
$(OBJCOPY) $(""" + cname() + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn -R .note.gnu.gold-version $< $@; \
|
||||
$(TARGET_OBJCOPY) $(""" + cname() + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .reginfo -R .rel.dyn -R .note.gnu.gold-version $< $@; \
|
||||
fi
|
||||
""")
|
||||
return r
|
||||
@ -476,7 +483,7 @@ def library(platform):
|
||||
r += var_add(cname() + "_CCASFLAGS", first_time("$(AM_CCASFLAGS) $(CCASFLAGS_LIBRARY) ") + platform_ccasflags(platform))
|
||||
# r += var_add(cname() + "_DEPENDENCIES", platform_dependencies(platform) + " " + platform_ldadd(platform))
|
||||
|
||||
r += gvar_add("EXTRA_DIST", extra_dist())
|
||||
r += gvar_add("dist_noinst_DATA", extra_dist())
|
||||
r += first_time(gvar_add("BUILT_SOURCES", "$(nodist_" + cname() + "_SOURCES)"))
|
||||
r += first_time(gvar_add("CLEANFILES", "$(nodist_" + cname() + "_SOURCES)"))
|
||||
return r
|
||||
@ -484,10 +491,10 @@ def library(platform):
|
||||
def installdir(default="bin"):
|
||||
return "[+ IF installdir +][+ installdir +][+ ELSE +]" + default + "[+ ENDIF +]"
|
||||
|
||||
def manpage():
|
||||
def manpage(adddeps):
|
||||
r = "if COND_MAN_PAGES\n"
|
||||
r += gvar_add("man_MANS", "[+ name +].[+ mansection +]\n")
|
||||
r += rule("[+ name +].[+ mansection +]", "[+ name +]", """
|
||||
r += rule("[+ name +].[+ mansection +]", "[+ name +] " + adddeps, """
|
||||
chmod a+x [+ name +]
|
||||
PATH=$(builddir):$$PATH pkgdatadir=$(builddir) $(HELP2MAN) --section=[+ mansection +] -i $(top_srcdir)/docs/man/[+ name +].h2m -o $@ [+ name +]
|
||||
""")
|
||||
@ -503,7 +510,7 @@ def program(platform, test=False):
|
||||
r += gvar_add("TESTS", "[+ name +]")
|
||||
r += "[+ ELSE +]"
|
||||
r += var_add(installdir() + "_PROGRAMS", "[+ name +]")
|
||||
r += "[+ IF mansection +]" + manpage() + "[+ ENDIF +]"
|
||||
r += "[+ IF mansection +]" + manpage("") + "[+ ENDIF +]"
|
||||
r += "[+ ENDIF +]"
|
||||
|
||||
r += var_set(cname() + "_SOURCES", platform_sources(platform))
|
||||
@ -515,15 +522,14 @@ def program(platform, test=False):
|
||||
r += var_set(cname() + "_CCASFLAGS", "$(AM_CCASFLAGS) $(CCASFLAGS_PROGRAM) " + platform_ccasflags(platform))
|
||||
# r += var_set(cname() + "_DEPENDENCIES", platform_dependencies(platform) + " " + platform_ldadd(platform))
|
||||
|
||||
r += gvar_add("EXTRA_DIST", extra_dist())
|
||||
r += gvar_add("dist_noinst_DATA", extra_dist())
|
||||
r += gvar_add("BUILT_SOURCES", "$(nodist_" + cname() + "_SOURCES)")
|
||||
r += gvar_add("CLEANFILES", "$(nodist_" + cname() + "_SOURCES)")
|
||||
return r
|
||||
|
||||
def data(platform):
|
||||
r = gvar_add("EXTRA_DIST", platform_sources(platform))
|
||||
r += gvar_add("EXTRA_DIST", extra_dist())
|
||||
r += var_add(installdir() + "_DATA", platform_sources(platform))
|
||||
r = var_add("dist_" + installdir() + "_DATA", platform_sources(platform))
|
||||
r += gvar_add("dist_noinst_DATA", extra_dist())
|
||||
return r
|
||||
|
||||
def script(platform):
|
||||
@ -532,15 +538,16 @@ def script(platform):
|
||||
r += gvar_add ("TESTS", "[+ name +]")
|
||||
r += "[+ ELSE +]"
|
||||
r += var_add(installdir() + "_SCRIPTS", "[+ name +]")
|
||||
r += "[+ IF mansection +]" + manpage() + "[+ ENDIF +]"
|
||||
r += "[+ IF mansection +]" + manpage("grub-mkconfig_lib") + "[+ ENDIF +]"
|
||||
r += "[+ ENDIF +]"
|
||||
|
||||
r += rule("[+ name +]", platform_sources(platform) + " $(top_builddir)/config.status", """
|
||||
$(top_builddir)/config.status --file=$@:$<
|
||||
r += rule("[+ name +]", "$(top_builddir)/config.status " + platform_sources(platform), """
|
||||
(skip=1; for x in $^; do if [ $$skip = 1 ]; then skip=0; else cat "$$x"; fi; done) | $(top_builddir)/config.status --file=$@:-
|
||||
chmod a+x [+ name +]
|
||||
""")
|
||||
|
||||
r += gvar_add("CLEANFILES", "[+ name +]")
|
||||
r += gvar_add("EXTRA_DIST", extra_dist())
|
||||
r += gvar_add("dist_noinst_DATA", platform_sources(platform))
|
||||
return r
|
||||
|
||||
@ -595,11 +602,11 @@ print ("[+ AutoGen5 template +]\n")
|
||||
for p in GRUB_PLATFORMS:
|
||||
print (define_macro_for_platform_sources(p))
|
||||
print (define_macro_for_platform_nodist_sources(p))
|
||||
# print define_macro_for_platform_dependencies(p)
|
||||
|
||||
print (define_macro_for_platform_startup(p))
|
||||
print (define_macro_for_platform_cflags(p))
|
||||
print (define_macro_for_platform_ldadd(p))
|
||||
print (define_macro_for_platform_dependencies(p))
|
||||
print (define_macro_for_platform_ldflags(p))
|
||||
print (define_macro_for_platform_cppflags(p))
|
||||
print (define_macro_for_platform_ccasflags(p))
|
||||
|
@ -7,11 +7,11 @@ include $(top_srcdir)/conf/Makefile.common
|
||||
CC=$(TARGET_CC)
|
||||
CPP=$(TARGET_CC)
|
||||
CCAS=$(TARGET_CC)
|
||||
RANLIB=$(TARGET_RANLIB)
|
||||
STRIP=$(TARGET_STRIP)
|
||||
|
||||
if COND_GRUB_MKFONT
|
||||
if COND_HAVE_FONT_SOURCE
|
||||
TARGET_CFLAGS += -DUSE_ASCII_FAILBACK=1 -DHAVE_UNIFONT_WIDTHSPEC=1
|
||||
endif
|
||||
TARGET_CFLAGS += -DUSE_ASCII_FALLBACK=1 -DHAVE_UNIFONT_WIDTHSPEC=1
|
||||
endif
|
||||
|
||||
MACHO2IMG=$(top_builddir)/grub-macho2img
|
||||
@ -30,25 +30,19 @@ CFLAGS_LIBRARY += $(CFLAGS_PLATFORM) -fno-builtin
|
||||
CPPFLAGS_LIBRARY += $(CPPFLAGS_PLATFORM)
|
||||
CCASFLAGS_LIBRARY += $(CCASFLAGS_PLATFORM)
|
||||
|
||||
build-grub-pe2elf: $(top_srcdir)/util/grub-pe2elf.c $(top_srcdir)/grub-core/kern/emu/misc.c $(top_srcdir)/util/misc.c
|
||||
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -DGRUB_BUILD=1 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-pe2elf\" $^
|
||||
|
||||
# gentrigtables
|
||||
gentrigtables: gentrigtables.c
|
||||
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(CPPFLAGS) $< -lm
|
||||
$(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< $(BUILD_LIBM)
|
||||
CLEANFILES += gentrigtables
|
||||
|
||||
# trigtables.c
|
||||
trigtables.c: gentrigtables gentrigtables.c $(top_srcdir)/configure.ac
|
||||
$(builddir)/gentrigtables > $@
|
||||
./gentrigtables > $@
|
||||
CLEANFILES += trigtables.c
|
||||
|
||||
gensm712: video/sm712.c
|
||||
$(BUILD_CC) -DGENINIT -o $@ -I$(top_builddir) -I$(top_builddir)/include -I$(top_srcdir)/include $(CPPFLAGS) $<
|
||||
CLEANFILES += gensm712
|
||||
|
||||
# trigtables.c
|
||||
sm712_start.S: gensm712 video/sm712.c $(top_srcdir)/configure.ac
|
||||
$(builddir)/gensm712 > $@
|
||||
CLEANFILES += sm712_start.S
|
||||
|
||||
# XXX Use Automake's LEX & YACC support
|
||||
grub_script.tab.h: script/parser.y
|
||||
$(YACC) -d -p grub_script_yy -b grub_script $<
|
||||
@ -60,12 +54,9 @@ grub_script.yy.h: script/yylex.l
|
||||
$(LEX) -o grub_script.yy.c --header-file=grub_script.yy.h $<
|
||||
grub_script.yy.c: grub_script.yy.h
|
||||
|
||||
rs_decoder.S: $(srcdir)/lib/reed_solomon.c
|
||||
rs_decoder.h: $(srcdir)/lib/reed_solomon.c
|
||||
$(TARGET_CC) $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Os -I$(top_builddir) -S -DSTANDALONE -o $@ $< -g0 -mregparm=3 -ffreestanding
|
||||
|
||||
kern/i386/pc/startup.S: $(builddir)/rs_decoder.S
|
||||
boot/mips/loongson/fwstart.S: $(builddir)/sm712_start.S
|
||||
|
||||
CLEANFILES += grub_script.yy.c grub_script.yy.h
|
||||
|
||||
include $(srcdir)/Makefile.core.am
|
||||
@ -91,36 +82,44 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/term.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/time.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/mm_private.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/net.h
|
||||
if !COND_clang
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/libgcc.h
|
||||
endif
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/memory.h
|
||||
|
||||
if COND_i386_pc
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/pxe.h
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/int.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
|
||||
endif
|
||||
|
||||
if COND_i386_efi
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h
|
||||
endif
|
||||
|
||||
if COND_i386_coreboot
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/coreboot/lbio.h
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/i386/pc/int.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
|
||||
endif
|
||||
|
||||
if COND_i386_multiboot
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/i386/pc/int.h
|
||||
endif
|
||||
|
||||
if COND_i386_qemu
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
|
||||
endif
|
||||
|
||||
if COND_i386_ieee1275
|
||||
@ -128,13 +127,31 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/ieee1275/ieee1275.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
|
||||
endif
|
||||
|
||||
if COND_i386_xen
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/xen.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/xen/hypercall.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h
|
||||
endif
|
||||
|
||||
if COND_x86_64_xen
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/xen.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/x86_64/xen/hypercall.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h
|
||||
endif
|
||||
|
||||
if COND_x86_64_efi
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/pit.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/i386/tsc.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h
|
||||
endif
|
||||
|
||||
@ -150,18 +167,13 @@ endif
|
||||
if COND_mips_arc
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arc/arc.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
||||
endif
|
||||
|
||||
if COND_mips_qemu_mips
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/cpu/cache.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bitmap.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bitmap_scale.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/serial.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/loader.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/terminfo.h
|
||||
@ -174,11 +186,10 @@ KERNEL_HEADER_FILES += $(top_builddir)/include/grub/keyboard_layouts.h
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/kernel.h
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/machine/time.h
|
||||
KERNEL_HEADER_FILES += $(top_builddir)/include/grub/cpu/cache.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bitmap.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/video_fb.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/gfxterm.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/font.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bitmap_scale.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/bufio.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/pci.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/cs5536.h
|
||||
@ -210,10 +221,26 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||
endif
|
||||
|
||||
if COND_arm_uboot
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/uboot/uboot.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/uboot/disk.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||
endif
|
||||
|
||||
if COND_arm_efi
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/efi/loader.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
|
||||
endif
|
||||
|
||||
if COND_emu
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/datetime.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/misc.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/export.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/net.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/hostdisk.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/emu/hostfile.h
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||
if COND_GRUB_EMU_SDL
|
||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/sdl.h
|
||||
endif
|
||||
@ -264,11 +291,11 @@ kern/emu/grub_emu_dyn-main.$(OBJEXT):grub_emu_init.h
|
||||
grub_emu_dyn-grub_emu_init.$(OBJEXT):grub_emu_init.h
|
||||
|
||||
grub_emu_init.h: genemuinitheader.sh $(MOD_FILES)
|
||||
rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinitheader.sh $(NM) > $@
|
||||
rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinitheader.sh $(TARGET_NM) > $@
|
||||
CLEANFILES += grub_emu_init.h
|
||||
|
||||
grub_emu_init.c: grub_emu_init.h genemuinit.sh $(MOD_FILES)
|
||||
rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinit.sh $(NM) > $@
|
||||
rm -f $@; echo $(MOD_FILES) | sh $(srcdir)/genemuinit.sh $(TARGET_NM) > $@
|
||||
CLEANFILES += grub_emu_init.c
|
||||
endif
|
||||
|
||||
@ -349,7 +376,7 @@ syminfo.lst: gensyminfo.sh kernel_syms.lst $(MODULE_FILES)
|
||||
|
||||
# generate global module dependencies list
|
||||
moddep.lst: syminfo.lst genmoddep.awk video.lst
|
||||
cat $< | sort | awk -f $(srcdir)/genmoddep.awk > $@ || (rm -f $@; exit 1)
|
||||
cat $< | sort | $(AWK) -f $(srcdir)/genmoddep.awk > $@ || (rm -f $@; exit 1)
|
||||
platform_DATA += moddep.lst
|
||||
CLEANFILES += config.log syminfo.lst moddep.lst
|
||||
|
||||
@ -363,27 +390,27 @@ if COND_ENABLE_EFIEMU
|
||||
efiemu32.o: efiemu/runtime/efiemu.c $(TARGET_OBJ2ELF)
|
||||
-rm -f $@; \
|
||||
if test "x$(TARGET_APPLE_CC)" = x1; then \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -DELF32 -DAPPLE_CC -m32 -Wall -Werror -nostdlib -O2 -c -o $@.bin $< || exit 1; \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m32 -Wall -Werror -nostdlib -O2 -c -o $@.bin $< || exit 1; \
|
||||
$(OBJCONV) -felf32 -nu -nd $@.bin $@ || exit 1; \
|
||||
rm -f $@.bin; \
|
||||
else \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -DELF32 -m32 -Wall -Werror -nostdlib -O2 -c -o $@ $< || exit 1; \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m32 -Wall -Werror -nostdlib -O2 -c -o $@ $< || exit 1; \
|
||||
if test ! -z "$(TARGET_OBJ2ELF)"; then $(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi; \
|
||||
fi
|
||||
|
||||
efiemu64_c.o: efiemu/runtime/efiemu.c
|
||||
if test "x$(TARGET_APPLE_CC)" = x1; then \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -DELF64 -DAPPLE_CC=1 -m64 -nostdlib -Wall -Werror -mno-red-zone -c -o $@ $< || exit 1; \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -nostdlib -Wall -Werror -mno-red-zone -c -o $@ $< || exit 1; \
|
||||
else \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -DELF64 -m64 -nostdlib -Wall -Werror -O2 -mcmodel=large -mno-red-zone -c -o $@ $< || exit 1; \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -nostdlib -Wall -Werror -O2 -mcmodel=large -mno-red-zone -c -o $@ $< || exit 1; \
|
||||
fi
|
||||
|
||||
efiemu64_s.o: efiemu/runtime/efiemu.S
|
||||
-rm -f $@
|
||||
if test "x$(TARGET_APPLE_CC)" = x1; then \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -DELF64 -DAPPLE_CC=1 -m64 -Wall -Werror -nostdlib -O2 -mno-red-zone -c -o $@ $< || exit 1; \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -Wall -Werror -nostdlib -O2 -mno-red-zone -c -o $@ $< || exit 1; \
|
||||
else \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -DELF64 -m64 -Wall -Werror -nostdlib -O2 -mcmodel=large -mno-red-zone -c -o $@ $< || exit 1; \
|
||||
$(TARGET_CC) $(DEFS) $(INCLUDES) $(CPPFLAGS_EFIEMU) $(CPPFLAGS_DEFAULT) -m64 -Wall -Werror -nostdlib -O2 -mcmodel=large -mno-red-zone -c -o $@ $< || exit 1; \
|
||||
fi
|
||||
|
||||
efiemu64.o: efiemu64_c.o efiemu64_s.o $(TARGET_OBJ2ELEF)
|
||||
@ -394,7 +421,7 @@ efiemu64.o: efiemu64_c.o efiemu64_s.o $(TARGET_OBJ2ELEF)
|
||||
$(OBJCONV) -felf64 -nu -nd $@.bin $@ || exit 1; \
|
||||
rm -f $@.bin; \
|
||||
else \
|
||||
$(TARGET_CC) -m64 -nostdlib -Wl,-r -o $@ $^ || exit 1; \
|
||||
$(TARGET_CC) -m64 -Wl,-melf_x86_64 -nostdlib -Wl,-r -o $@ $^ || exit 1; \
|
||||
if test ! -z "$(TARGET_OBJ2ELF)"; then $(TARGET_OBJ2ELF) $@ || (rm -f $@; exit 1); fi; \
|
||||
fi
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -31,6 +31,81 @@
|
||||
#define MSG(x) movw $x, %si; call LOCAL(message)
|
||||
#define ERR(x) movw $x, %si; jmp LOCAL(error_message)
|
||||
|
||||
.macro floppy
|
||||
part_start:
|
||||
|
||||
probe_values:
|
||||
.byte 36, 18, 15, 9, 0
|
||||
|
||||
LOCAL(floppy_probe):
|
||||
/*
|
||||
* Perform floppy probe.
|
||||
*/
|
||||
|
||||
movw $probe_values - 1, %si
|
||||
|
||||
LOCAL(probe_loop):
|
||||
/* reset floppy controller INT 13h AH=0 */
|
||||
xorw %ax, %ax
|
||||
int $0x13
|
||||
|
||||
incw %si
|
||||
movb (%si), %cl
|
||||
|
||||
/* if number of sectors is 0, display error and die */
|
||||
cmpb $0, %cl
|
||||
jne 1f
|
||||
|
||||
/*
|
||||
* Floppy disk probe failure.
|
||||
*/
|
||||
MSG(fd_probe_error_string)
|
||||
jmp LOCAL(general_error)
|
||||
|
||||
/* "Floppy" */
|
||||
fd_probe_error_string: .asciz "Floppy"
|
||||
|
||||
1:
|
||||
/* perform read */
|
||||
movw $GRUB_BOOT_MACHINE_BUFFER_SEG, %bx
|
||||
movw %bx, %es
|
||||
xorw %bx, %bx
|
||||
movw $0x201, %ax
|
||||
movb $0, %ch
|
||||
movb $0, %dh
|
||||
int $0x13
|
||||
|
||||
/* if error, jump to "LOCAL(probe_loop)" */
|
||||
jc LOCAL(probe_loop)
|
||||
|
||||
/* %cl is already the correct value! */
|
||||
movb $1, %dh
|
||||
movb $79, %ch
|
||||
|
||||
jmp LOCAL(final_init)
|
||||
.endm
|
||||
|
||||
.macro scratch
|
||||
|
||||
/* scratch space */
|
||||
mode:
|
||||
.byte 0
|
||||
disk_address_packet:
|
||||
sectors:
|
||||
.long 0
|
||||
heads:
|
||||
.long 0
|
||||
cylinders:
|
||||
.word 0
|
||||
sector_start:
|
||||
.byte 0
|
||||
head_start:
|
||||
.byte 0
|
||||
cylinder_start:
|
||||
.word 0
|
||||
/* more space... */
|
||||
.endm
|
||||
|
||||
.file "boot.S"
|
||||
|
||||
.text
|
||||
@ -54,6 +129,34 @@ start:
|
||||
jmp LOCAL(after_BPB)
|
||||
nop /* do I care about this ??? */
|
||||
|
||||
#ifdef HYBRID_BOOT
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
|
||||
nop
|
||||
nop
|
||||
jmp LOCAL(after_BPB)
|
||||
#else
|
||||
/*
|
||||
* This space is for the BIOS parameter block!!!! Don't change
|
||||
* the first jump, nor start the code anywhere but right after
|
||||
@ -62,27 +165,14 @@ start:
|
||||
|
||||
. = _start + GRUB_BOOT_MACHINE_BPB_START
|
||||
. = _start + 4
|
||||
|
||||
/* scratch space */
|
||||
mode:
|
||||
.byte 0
|
||||
disk_address_packet:
|
||||
sectors:
|
||||
.long 0
|
||||
heads:
|
||||
.long 0
|
||||
cylinders:
|
||||
.word 0
|
||||
sector_start:
|
||||
.byte 0
|
||||
head_start:
|
||||
.byte 0
|
||||
cylinder_start:
|
||||
.word 0
|
||||
/* more space... */
|
||||
#endif
|
||||
#ifdef HYBRID_BOOT
|
||||
floppy
|
||||
#else
|
||||
scratch
|
||||
#endif
|
||||
|
||||
. = _start + GRUB_BOOT_MACHINE_BPB_END
|
||||
|
||||
/*
|
||||
* End of BIOS parameter block.
|
||||
*/
|
||||
@ -90,9 +180,11 @@ cylinder_start:
|
||||
kernel_address:
|
||||
.word GRUB_BOOT_MACHINE_KERNEL_ADDR
|
||||
|
||||
#ifndef HYBRID_BOOT
|
||||
. = _start + GRUB_BOOT_MACHINE_KERNEL_SECTOR
|
||||
kernel_sector:
|
||||
.long 1, 0
|
||||
#endif
|
||||
|
||||
. = _start + GRUB_BOOT_MACHINE_BOOT_DRIVE
|
||||
boot_drive:
|
||||
@ -421,6 +513,11 @@ LOCAL(message):
|
||||
* number here.
|
||||
*/
|
||||
|
||||
#ifdef HYBRID_BOOT
|
||||
. = _start + 0x1b0
|
||||
kernel_sector:
|
||||
.long 1, 0
|
||||
#endif
|
||||
. = _start + GRUB_BOOT_MACHINE_WINDOWS_NT_MAGIC
|
||||
nt_magic:
|
||||
.long 0
|
||||
@ -430,62 +527,17 @@ nt_magic:
|
||||
* This is where an MBR would go if on a hard disk. The code
|
||||
* here isn't even referenced unless we're on a floppy. Kinda
|
||||
* sneaky, huh?
|
||||
*/
|
||||
*/
|
||||
|
||||
. = _start + GRUB_BOOT_MACHINE_PART_START
|
||||
part_start:
|
||||
|
||||
probe_values:
|
||||
.byte 36, 18, 15, 9, 0
|
||||
|
||||
LOCAL(floppy_probe):
|
||||
/*
|
||||
* Perform floppy probe.
|
||||
*/
|
||||
|
||||
movw $probe_values - 1, %si
|
||||
|
||||
LOCAL(probe_loop):
|
||||
/* reset floppy controller INT 13h AH=0 */
|
||||
xorw %ax, %ax
|
||||
int $0x13
|
||||
|
||||
incw %si
|
||||
movb (%si), %cl
|
||||
|
||||
/* if number of sectors is 0, display error and die */
|
||||
cmpb $0, %cl
|
||||
jne 1f
|
||||
|
||||
/*
|
||||
* Floppy disk probe failure.
|
||||
*/
|
||||
MSG(fd_probe_error_string)
|
||||
jmp LOCAL(general_error)
|
||||
|
||||
/* "Floppy" */
|
||||
fd_probe_error_string: .asciz "Floppy"
|
||||
|
||||
1:
|
||||
/* perform read */
|
||||
movw $GRUB_BOOT_MACHINE_BUFFER_SEG, %bx
|
||||
movw %bx, %es
|
||||
xorw %bx, %bx
|
||||
movw $0x201, %ax
|
||||
movb $0, %ch
|
||||
movb $0, %dh
|
||||
int $0x13
|
||||
|
||||
/* if error, jump to "LOCAL(probe_loop)" */
|
||||
jc LOCAL(probe_loop)
|
||||
|
||||
/* %cl is already the correct value! */
|
||||
movb $1, %dh
|
||||
movb $79, %ch
|
||||
|
||||
jmp LOCAL(final_init)
|
||||
#ifndef HYBRID_BOOT
|
||||
floppy
|
||||
#else
|
||||
scratch
|
||||
#endif
|
||||
|
||||
. = _start + GRUB_BOOT_MACHINE_PART_END
|
||||
|
||||
|
||||
/* the last 2 bytes in the sector 0 contain the signature */
|
||||
.word GRUB_BOOT_MACHINE_SIGNATURE
|
||||
|
@ -93,11 +93,12 @@ LOCAL(read_cdrom):
|
||||
pushw $CDBLK_LENG
|
||||
|
||||
/* Block number. */
|
||||
incl %esi
|
||||
pushl %eax
|
||||
pushl %esi
|
||||
|
||||
/* Buffer address. */
|
||||
pushw $((DATA_ADDR - 0x400)>> 4)
|
||||
pushw $((DATA_ADDR - 0x200)>> 4)
|
||||
pushl %eax
|
||||
pushw $0x10
|
||||
|
||||
@ -167,6 +168,6 @@ err_noboot_msg:
|
||||
err_cdfail_msg:
|
||||
.ascii "cdrom read fails\0"
|
||||
|
||||
. = start + 0x1FF
|
||||
. = start + 0x7FF
|
||||
|
||||
.byte 0
|
||||
|
@ -207,6 +207,10 @@ real_code_2:
|
||||
2:
|
||||
call LOCAL(move_memory)
|
||||
|
||||
movb %dh, %ss:(DATA_ADDR + GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE + 2)
|
||||
movb (reg_edx + 2 - start), %dh
|
||||
movb %dh, %ss:(DATA_ADDR + GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE + 1)
|
||||
|
||||
movb $0xFF, %dh
|
||||
|
||||
ljmp $(DATA_ADDR >> 4), $0
|
||||
|
@ -100,7 +100,6 @@ LOCAL (codestart):
|
||||
/* The ".code32" directive takes GAS out of 16-bit mode. */
|
||||
.code32
|
||||
|
||||
incl %eax
|
||||
cld
|
||||
call grub_gate_a20
|
||||
|
||||
@ -119,12 +118,12 @@ LOCAL (codestart):
|
||||
|
||||
#include "../../../kern/i386/realmode.S"
|
||||
|
||||
#include <rs_decoder.S>
|
||||
#include <rs_decoder.h>
|
||||
|
||||
.text
|
||||
|
||||
/*
|
||||
* grub_gate_a20(int on)
|
||||
* grub_gate_a20(void)
|
||||
*
|
||||
* Gate address-line 20 for high memory.
|
||||
*
|
||||
@ -134,12 +133,10 @@ LOCAL (codestart):
|
||||
*/
|
||||
|
||||
grub_gate_a20:
|
||||
movl %eax, %edx
|
||||
|
||||
gate_a20_test_current_state:
|
||||
/* first of all, test if already in a good state */
|
||||
call gate_a20_check_state
|
||||
cmpb %al, %dl
|
||||
testb %al, %al
|
||||
jnz gate_a20_try_bios
|
||||
ret
|
||||
|
||||
@ -149,18 +146,15 @@ gate_a20_try_bios:
|
||||
call prot_to_real
|
||||
|
||||
.code16
|
||||
movw $0x2400, %ax
|
||||
testb %dl, %dl
|
||||
jz 1f
|
||||
incw %ax
|
||||
1: int $0x15
|
||||
movw $0x2401, %ax
|
||||
int $0x15
|
||||
|
||||
DATA32 call real_to_prot
|
||||
.code32
|
||||
|
||||
popl %ebp
|
||||
call gate_a20_check_state
|
||||
cmpb %al, %dl
|
||||
testb %al, %al
|
||||
jnz gate_a20_try_system_control_port_a
|
||||
ret
|
||||
|
||||
@ -172,20 +166,13 @@ gate_a20_try_system_control_port_a:
|
||||
/* fourth, try the system control port A */
|
||||
inb $0x92
|
||||
andb $(~0x03), %al
|
||||
testb %dl, %dl
|
||||
jz 6f
|
||||
orb $0x02, %al
|
||||
6: outb $0x92
|
||||
outb $0x92
|
||||
|
||||
/* When turning off Gate A20, do not check the state strictly,
|
||||
because a failure is not fatal usually, and Gate A20 is always
|
||||
on some modern machines. */
|
||||
testb %dl, %dl
|
||||
jz 7f
|
||||
call gate_a20_check_state
|
||||
cmpb %al, %dl
|
||||
testb %al, %al
|
||||
jnz gate_a20_try_keyboard_controller
|
||||
7: ret
|
||||
ret
|
||||
|
||||
gate_a20_flush_keyboard_buffer:
|
||||
inb $0x64
|
||||
@ -211,11 +198,8 @@ gate_a20_try_keyboard_controller:
|
||||
andb $0x02, %al
|
||||
jnz 4b
|
||||
|
||||
movb $0xdd, %al
|
||||
testb %dl, %dl
|
||||
jz 5f
|
||||
orb $0x02, %al
|
||||
5: outb $0x60
|
||||
movb $0xdf, %al
|
||||
outb $0x60
|
||||
call gate_a20_flush_keyboard_buffer
|
||||
|
||||
/* output a dummy command (USB keyboard hack) */
|
||||
@ -224,7 +208,7 @@ gate_a20_try_keyboard_controller:
|
||||
call gate_a20_flush_keyboard_buffer
|
||||
|
||||
call gate_a20_check_state
|
||||
cmpb %al, %dl
|
||||
testb %al, %al
|
||||
/* everything failed, so restart from the beginning */
|
||||
jnz gate_a20_try_bios
|
||||
ret
|
||||
@ -234,7 +218,7 @@ gate_a20_check_state:
|
||||
movl $100, %ecx
|
||||
1:
|
||||
call 3f
|
||||
cmpb %al, %dl
|
||||
testb %al, %al
|
||||
jz 2f
|
||||
loop 1b
|
||||
2:
|
||||
@ -263,9 +247,8 @@ gate_a20_check_state:
|
||||
pushl %ebx
|
||||
addl $0x100000, %ebx
|
||||
movb (%ebx), %ch
|
||||
/* this result is 1 if A20 is on or 0 if it is off */
|
||||
/* this result is 0 if A20 is on or 1 if it is off */
|
||||
subb %ch, %al
|
||||
xorb $1, %al
|
||||
/* restore the original */
|
||||
popl %ebx
|
||||
movb %cl, (%ebx)
|
||||
|
@ -51,6 +51,13 @@ VARIABLE(grub_core_entry_addr)
|
||||
pushl $1f
|
||||
DATA32 jmp real_to_prot
|
||||
.code32
|
||||
/* Ensure A20 is enabled. We're in qemu, so control port A works
|
||||
and there is no need to wait since there is no real logic, it's
|
||||
all emulated. */
|
||||
inb $0x92
|
||||
andb $(~0x03), %al
|
||||
orb $0x02, %al
|
||||
outb $0x92
|
||||
1:
|
||||
movl grub_core_entry_addr, %edx
|
||||
jmp *%edx
|
||||
|
@ -754,140 +754,3 @@ continue:
|
||||
#endif
|
||||
|
||||
cached_continue:
|
||||
#ifndef FULOONG2F
|
||||
/* We have to init video early enough or watchdog will reboot us. */
|
||||
|
||||
/* Setup PCI controller. */
|
||||
|
||||
lui $t0, %hi (GRUB_CPU_LOONGSON_PCI_HIT1_SEL_LO)
|
||||
lui $t1, %hi(0x8000000c)
|
||||
addiu $t1, $t1, %lo(0x8000000c)
|
||||
|
||||
sw $t1, %lo (GRUB_CPU_LOONGSON_PCI_HIT1_SEL_LO) ($t0)
|
||||
li $t1, 0xffffffff
|
||||
sw $t1, %lo (GRUB_CPU_LOONGSON_PCI_HIT1_SEL_HI) ($t0)
|
||||
|
||||
li $t0, GRUB_MACHINE_PCI_CONTROLLER_HEADER
|
||||
li $t1, (GRUB_PCI_COMMAND_PARITY_ERROR | GRUB_PCI_COMMAND_BUS_MASTER \
|
||||
| GRUB_PCI_COMMAND_MEM_ENABLED)
|
||||
sh $t0, GRUB_PCI_REG_COMMAND ($t1)
|
||||
li $t1, ((1 << GRUB_PCI_STATUS_DEVSEL_TIMING_SHIFT) \
|
||||
| GRUB_PCI_STATUS_FAST_B2B_CAPABLE \
|
||||
| GRUB_PCI_STATUS_66MHZ_CAPABLE \
|
||||
| GRUB_PCI_STATUS_CAPABILITIES)
|
||||
sh $t0, GRUB_PCI_REG_STATUS ($t1)
|
||||
li $t0, 0xff
|
||||
sw $t0, GRUB_PCI_REG_CACHELINE ($t1)
|
||||
lui $t1, %hi(0x80000000 | GRUB_PCI_ADDR_MEM_TYPE_64 \
|
||||
| GRUB_PCI_ADDR_MEM_PREFETCH)
|
||||
addiu $t1, $t1, %lo(0x80000000 | GRUB_PCI_ADDR_MEM_TYPE_64 \
|
||||
| GRUB_PCI_ADDR_MEM_PREFETCH)
|
||||
sw $t0, GRUB_PCI_REG_ADDRESS_REG0 ($t1)
|
||||
sw $zero, GRUB_PCI_REG_ADDRESS_REG1 ($t1)
|
||||
|
||||
/* Find video. */
|
||||
/* $t4 chooses device in priority encoding. */
|
||||
/* Resulting value is kept in GRUB_MACHINE_PCI_CONF_CTRL_REG.
|
||||
This way we don't need to sacrifice a register for it. */
|
||||
retry_sm712:
|
||||
/* We have only one bus (0). Function is 0. */
|
||||
lui $t0, %hi(GRUB_MACHINE_PCI_CONF_CTRL_REG_ADDR)
|
||||
lui $t1, %hi(GRUB_MACHINE_PCI_CONFSPACE)
|
||||
lui $t3, %hi(GRUB_SM712_PCIID)
|
||||
addiu $t3, $t3, %lo(GRUB_SM712_PCIID)
|
||||
ori $t4, $zero, 1
|
||||
1:
|
||||
andi $t4, $t4, ((1 << GRUB_PCI_NUM_DEVICES) - 1)
|
||||
/* In case of failure try again. SM712 may be slow to come up. */
|
||||
beql $t4, $zero, retry_sm712
|
||||
nop
|
||||
sw $t4, %lo(GRUB_MACHINE_PCI_CONF_CTRL_REG_ADDR) ($t0)
|
||||
lw $t2, (%lo(GRUB_MACHINE_PCI_CONFSPACE) + GRUB_PCI_REG_PCI_ID) ($t1)
|
||||
bnel $t2, $t3, 1b
|
||||
sll $t4, $t4, 1
|
||||
|
||||
/* FIXME: choose address dynamically if needed. */
|
||||
#define SM712_MAP 0x04000000
|
||||
|
||||
lui $t2, %hi(SM712_MAP)
|
||||
sw $t4, %lo(GRUB_MACHINE_PCI_CONF_CTRL_REG_ADDR) ($t0)
|
||||
sw $t2, (%lo(GRUB_MACHINE_PCI_CONFSPACE) + GRUB_PCI_REG_ADDRESS_REG0) ($t1)
|
||||
|
||||
/* Set latency. */
|
||||
li $t2, 0x8
|
||||
sw $t4, %lo(GRUB_MACHINE_PCI_CONF_CTRL_REG_ADDR) ($t0)
|
||||
sw $t2, (%lo(GRUB_MACHINE_PCI_CONFSPACE) + GRUB_PCI_REG_CACHELINE) ($t1)
|
||||
|
||||
/* Enable address spaces. */
|
||||
li $t2, 0x7
|
||||
sw $t4, %lo(GRUB_MACHINE_PCI_CONF_CTRL_REG_ADDR) ($t0)
|
||||
sw $t2, (%lo(GRUB_MACHINE_PCI_CONFSPACE) + GRUB_PCI_REG_COMMAND) ($t1)
|
||||
|
||||
lui $t3, %hi(GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_SR_INDEX)
|
||||
li $t2, 0x18
|
||||
sb $t2, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_SR_INDEX)($t3)
|
||||
|
||||
lui $t3, %hi(GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_SR_DATA)
|
||||
li $t2, 0x11
|
||||
sb $t2, %lo(GRUB_MACHINE_PCI_IO_BASE + GRUB_VGA_IO_SR_DATA)($t3)
|
||||
|
||||
li $t2, ((((SM712_MAP & ~GRUB_MACHINE_PCI_WIN_OFFSET_MASK) \
|
||||
>> GRUB_MACHINE_PCI_WIN_SHIFT) \
|
||||
& GRUB_MACHINE_PCI_WIN_MASK))
|
||||
lui $t3, %hi(0xbfe00110)
|
||||
addiu $t3, $t3, %lo(0xbfe00110)
|
||||
sw $t2, 0 ($t3)
|
||||
li $t2, (GRUB_MACHINE_PCI_WIN1_ADDR \
|
||||
| (SM712_MAP & GRUB_MACHINE_PCI_WIN_OFFSET_MASK))
|
||||
|
||||
lui $t3, %hi(GRUB_SM712_REG_BASE)
|
||||
addiu $t3, $t3, %lo(GRUB_SM712_REG_BASE)
|
||||
addu $t2, $t2, $t3
|
||||
lui $t0, %hi(init_table - 0x20000000)
|
||||
addiu $t0, $t0, %lo(init_table - 0x20000000)
|
||||
lui $t1, %hi(init_table_end - 0x20000000)
|
||||
addiu $t1, $t1, %lo(init_table_end - 0x20000000)
|
||||
li $t5, 0x80
|
||||
addiu $t6, $t2, 0x3c0
|
||||
|
||||
table_cont:
|
||||
lb $t3, 0($t0)
|
||||
andi $t5, $t3, 0x80
|
||||
andi $t3, $t3, 0x7f
|
||||
addu $t3, $t3, $t6
|
||||
lb $t4, 1($t0)
|
||||
|
||||
bne $zero, $t5, 1f
|
||||
addiu $t0, $t0, 2
|
||||
b 2f
|
||||
sb $t4, 0($t3)
|
||||
1:
|
||||
lb $t4, 0($t3)
|
||||
2:
|
||||
bne $t0, $t1, table_cont
|
||||
nop
|
||||
|
||||
lui $t3, %hi(0x40c000 - GRUB_SM712_REG_BASE)
|
||||
addiu $t3, $t3, %lo(0x40c000 - GRUB_SM712_REG_BASE)
|
||||
addu $t1, $t2, $t3
|
||||
sw $zero, 0xc ($t1)
|
||||
sw $zero, 0x40 ($t1)
|
||||
li $t3, 0x20000
|
||||
sw $t3, 0x0 ($t1)
|
||||
lui $t3, %hi(0x1020100)
|
||||
addiu $t3, $t3, %lo(0x1020100)
|
||||
sw $t3, 0x10 ($t1)
|
||||
|
||||
li $t4, 0x16
|
||||
sb $t4, GRUB_VGA_IO_SR_INDEX($t2)
|
||||
|
||||
lb $t4, GRUB_VGA_IO_SR_DATA($t2)
|
||||
|
||||
b init_end
|
||||
nop
|
||||
init_table:
|
||||
#include "sm712_start.S"
|
||||
init_table_end:
|
||||
.align 4
|
||||
init_end:
|
||||
#endif
|
||||
|
@ -196,6 +196,21 @@ do_check:
|
||||
argfw:
|
||||
not $s7, $a2
|
||||
cmdlinedone:
|
||||
#endif
|
||||
#ifdef GRUB_MACHINE_ARC
|
||||
lui $t0, %hi(_start - 256)
|
||||
addiu $t0, $t0, %lo(_start - 256)
|
||||
addiu $t3, $t0, 255
|
||||
lw $t1, 0($a1)
|
||||
1:
|
||||
bne $t0, $t3, 2f
|
||||
lb $t2, 0($t1)
|
||||
move $t2, $zero
|
||||
2:
|
||||
sb $t2, 0($t0)
|
||||
addiu $t0, $t0, 1
|
||||
bnez $t2, 1b
|
||||
addiu $t1, $t1, 1
|
||||
#endif
|
||||
/* Copy the decompressor. */
|
||||
lui $t1, %hi(base)
|
||||
@ -253,10 +268,15 @@ cmdlinedone:
|
||||
lui $t0, %hi(EXT_C(grub_decompress_core))
|
||||
addiu $t0, $t0, %lo(EXT_C(grub_decompress_core))
|
||||
|
||||
#ifdef GRUB_MACHINE_ARC
|
||||
lui $sp, %hi(_start - 512)
|
||||
jalr $t0
|
||||
addiu $sp, $sp, %lo(_start - 512)
|
||||
#else
|
||||
lui $sp, %hi(_start - 256)
|
||||
jalr $t0
|
||||
addiu $sp, $sp, %lo(_start - 256)
|
||||
|
||||
#endif
|
||||
move $a0, $s1
|
||||
move $a1, $s6
|
||||
|
||||
|
73
grub-core/boot/powerpc/bootinfo.txt.in
Normal file
73
grub-core/boot/powerpc/bootinfo.txt.in
Normal file
@ -0,0 +1,73 @@
|
||||
<chrp-boot>
|
||||
<description>@PACKAGE@ @VERSION@</description>
|
||||
<os-name>@PACKAGE@ @VERSION@</os-name>
|
||||
<boot-script>boot &device;:\boot\grub\powerpc.elf</boot-script>
|
||||
<icon size=64,64 color-space=3,3,2>
|
||||
<bitmap>
|
||||
FF FF FF FF FF FF FF FF FF FF 92 6D 6D 6D 6D 6D 6D 6D 6D 6D DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF B6 92 6D 92 92 92 DB FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF DB 6D 92 DB FF FF FF FF FF DB B6 FF FF 92 6D FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 92 DB FF FF FF FF FF B6 6D 92 DB FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF 49 92 FF FF B6 B6 24 00 24 00 00 00 00 49 6D DB 6D 92 DB B6 DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF B6 6D DB 92 6D 24 49 92 6D 6D FF FF FF 92 6D FF FF FF FF FF FF
|
||||
FF FF FF FF B6 49 DB FF FF 24 00 00 00 92 92 B6 FF DB DB FF DB B6 FF DB 92 49 DB FF FF FF FF FF FF FF FF FF FF FF FF FF DB 49 6D B6 FF 6D B6 6D 6D 92 24 24 00 00 24 6D FF FF 49 DB FF FF FF FF
|
||||
FF FF FF B6 49 FF DB 49 24 00 49 6D B6 FF B6 92 6D 6D 6D 92 DB DB DB B6 6D 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 6D DB FF FF FF FF DB B6 B6 B6 FF DB 24 00 00 92 B6 FF 49 FF FF FF FF
|
||||
FF FF DB 49 FF FF 49 00 00 24 FF FF 6D 49 92 DB FF FF FF DB 92 92 92 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 92 92 6D 6D B6 DB DB B6 6D 6D FF FF 24 00 00 DB FF 49 FF FF FF
|
||||
FF FF 49 FF FF 49 00 00 6D DB DB 49 DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 B6 B6 24 00 24 DB DB 6D FF FF
|
||||
FF B6 92 FF B6 00 00 24 FF DB 6D FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 B6 FF 00 00 49 FF 92 B6 FF
|
||||
FF 6D FF FF 92 00 00 49 FF 6D FF FF FF FF FF FF FF FF FF FF FF FF FF B6 92 92 6D 6D 6D 6D DB FF FF FF FF FF FF B6 92 92 92 92 92 FF FF FF FF FF FF FF FF FF FF FF FF 6D FF 24 00 24 FF FF 6D FF
|
||||
DB 92 FF DB 00 00 49 FF 92 DB FF FF FF FF FF FF FF FF FF FF FF DB 6D B6 FF FF FF FF FF FF 92 6D FF FF FF FF 6D B6 FF FF FF FF FF B6 B6 FF FF FF FF FF FF FF FF FF FF FF 92 DB 00 00 92 FF 92 DB
|
||||
92 FF FF B6 00 00 6D FF 6D FF FF FF FF FF FF FF FF FF FF FF DB 6D FF FF FF 92 49 49 49 92 FF FF 49 DB DB 24 DB FF B6 49 49 92 FF FF DB 92 FF FF FF FF FF FF FF FF FF FF 92 FF 00 00 6D FF DB 92
|
||||
6D FF FF FF 00 00 49 92 DB FF FF FF FF FF FF FF FF FF FF DB 6D FF FF 6D 00 00 00 00 00 00 00 B6 FF 49 00 24 24 49 24 00 00 00 00 6D FF DB 92 FF FF FF FF FF FF FF FF FF DB B6 00 00 92 FF FF 6D
|
||||
6D FF FF 24 00 00 DB 6D FF FF FF FF FF FF FF FF FF FF DB 6D FF DB 00 00 00 00 00 00 00 00 00 00 B6 FF DB B6 49 92 24 24 00 00 00 00 24 FF DB 92 FF FF FF FF FF FF FF FF FF 92 6D 00 00 DB FF 6D
|
||||
6D FF FF 24 00 00 FF 6D FF FF FF FF FF FF FF FF FF FF 49 FF B6 00 00 00 00 00 00 00 00 00 00 00 00 92 FF FF 92 DB DB 24 24 00 00 00 00 24 FF 92 DB FF FF FF FF FF FF FF FF 92 92 00 00 FF FF 6D
|
||||
6D FF FF B6 00 00 92 6D FF FF FF FF FF FF FF FF FF 49 FF DB 00 00 00 00 00 00 00 00 00 00 00 00 00 92 FF FF B6 B6 FF 92 24 00 00 00 00 00 49 FF 6D FF FF FF FF FF FF FF FF 92 24 00 49 FF FF 6D
|
||||
6D FF FF 00 00 00 DB 6D FF FF FF FF FF FF FF FF 6D DB DB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 92 FF FF DB B6 FF B6 49 00 00 00 00 00 00 6D FF 6D FF FF FF FF FF FF FF 92 92 00 00 DB FF 6D
|
||||
6D FF FF DB 00 00 B6 6D FF FF FF FF FF FF FF 6D B6 FF 24 00 00 00 00 00 00 00 00 00 00 00 24 B6 DB 6D FF FF FF FF FF 6D 49 24 00 00 00 00 00 00 B6 DB B6 FF FF FF FF FF B6 DB 24 00 92 FF FF 6D
|
||||
6D FF FF 6D 00 00 24 DB 92 FF FF FF FF FF 92 92 FF 49 00 00 00 00 00 49 B6 FF FF DB B6 DB FF FF FF B6 92 FF FF DB 92 FF FF FF 49 6D 92 24 00 00 00 DB B6 DB FF FF FF FF 6D FF 00 00 00 DB FF 6D
|
||||
6D FF FF 92 24 00 49 FF 6D B6 FF FF FF 6D 92 FF 49 00 00 49 DB FF FF FF FF FF FF B6 FF FF FF FF FF FF B6 6D 92 92 FF FF FF FF 6D FF FF FF DB 24 00 24 FF 92 B6 FF FF 92 B6 FF 00 00 B6 FF FF 6D
|
||||
92 FF FF FF 00 00 24 92 FF 92 6D 92 49 B6 DB 24 00 24 DB FF FF FF FF FF DB 92 24 00 FF FF FF FF 6D 6D FF FF FF 6D 6D FF FF B6 DB 6D FF FF FF FF 00 00 24 DB B6 6D 6D B6 DB 00 00 00 6D FF FF 6D
|
||||
DB 92 FF DB 49 00 00 00 B6 FF FF DB FF 6D 00 00 6D FF FF FF FF FF FF FF 24 92 00 49 FF FF FF FF FF 6D B6 FF FF 6D 6D FF 6D 00 DB DB 92 FF FF FF DB 00 00 00 6D FF FF DB 6D 00 00 24 FF FF 92 DB
|
||||
FF 49 FF FF 6D 00 00 00 24 49 B6 FF 24 00 00 6D FF FF FF FF FF FF FF 49 92 B6 00 DB FF FF DB DB FF FF B6 FF FF FF FF FF 00 49 DB FF 92 FF FF FF FF 92 00 00 00 24 6D 00 00 00 00 24 DB FF 49 FF
|
||||
FF 92 B6 FF 92 49 00 00 00 00 00 24 00 00 00 FF FF FF FF FF FF FF 92 6D FF B6 DB FF DB B6 DB B6 B6 FF FF B6 FF FF FF DB 00 B6 DB FF 92 FF FF FF FF FF 24 00 00 00 00 00 00 00 00 B6 FF 92 B6 FF
|
||||
FF FF 49 FF FF 49 24 00 00 00 00 00 00 00 B6 FF FF FF FF FF FF FF B6 FF FF FF FF FF FF FF FF FF 6D FF FF 6D FF FF FF DB 24 FF FF FF 92 FF FF FF FF FF 6D 00 00 00 00 00 00 00 DB FF FF 6D FF FF
|
||||
FF FF DB 6D FF FF 6D 49 00 00 00 00 00 24 FF FF FF FF FF FF FF FF FF FF FF FF FF DB 6D 49 24 24 24 FF FF DB FF FF FF FF 24 24 00 00 92 FF FF FF FF FF DB 00 00 00 00 00 00 FF DB FF 6D FF FF FF
|
||||
FF FF FF 92 B6 FF FF DB 49 24 00 00 00 92 FF FF FF FF FF FF FF FF FF DB FF FF FF 49 49 24 00 24 FF FF FF FF FF FF FF FF 49 6D 00 24 49 FF FF FF FF FF FF 49 00 24 6D 6D B6 FF FF 6D B6 FF FF FF
|
||||
FF FF FF FF 6D B6 FF FF DB 92 B6 49 00 FF FF FF FF FF FF FF FF FF FF B6 FF FF FF 92 DB 92 00 24 FF FF FF FF FF FF FF FF FF 00 00 6D FF FF FF FF FF FF FF DB 00 6D DB FF FF FF 6D B6 FF FF FF FF
|
||||
FF FF FF FF FF 92 6D FF FF FF FF B6 49 FF FF FF FF FF FF FF FF FF FF 6D FF FF FF FF B6 92 92 B6 B6 DB FF FF FF FF FF FF FF B6 6D 49 6D FF FF FF FF FF FF FF 92 24 FF FF B6 6D DB FF FF FF FF FF
|
||||
FF FF FF FF FF FF DB 49 6D B6 FF 6D 92 FF FF FF FF FF FF FF FF FF DB 6D FF FF FF FF FF FF FF FF FF 92 FF FF FF FF FF FF FF FF 6D DB 92 FF FF FF FF FF FF FF FF 6D 49 6D DB FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF DB 92 49 00 FF FF FF FF FF FF FF FF FF FF 6D 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 92 6D FF FF FF FF FF FF FF DB 92 FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF 49 FF FF FF FF FF FF FF FF FF DB 00 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 B6 92 6D B6 FF FF FF FF FF FF 49 DB FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF 24 FF FF FF FF FF FF FF FF FF 49 DB 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 6D 6D FF 92 49 92 FF FF FF FF DB 49 DB FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF B6 49 FF FF FF FF FF FF FF FF 6D 92 FF 92 FF FF FF FF FF FF FF FF FF FF B6 6D 49 6D DB FF FF FF FF FF 6D 49 FF FF FF DB 6D 6D 92 92 6D 49 FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF 24 FF FF FF FF FF FF FF FF 6D 92 FF FF FF DB FF FF FF FF FF FF FF FF 6D 6D FF FF FF 92 6D FF FF FF FF FF 49 92 B6 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF DB 6D FF FF FF FF FF FF DB 24 92 FF FF FF FF FF FF FF FF FF FF FF FF FF 49 49 6D DB FF FF DB 6D B6 FF FF FF FF B6 B6 DB 49 FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF 24 B6 FF FF FF FF B6 49 49 24 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF 00 49 FF DB DB FF FF FF B6 92 FF FF FF FF FF FF 92 DB FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF 24 B6 FF FF B6 24 00 6D DB FF 6D 92 FF FF FF FF FF FF FF FF FF FF FF FF FF 6D DB DB 00 00 24 FF FF FF FF B6 FF FF FF FF FF B6 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF B6 B6 DB B6 6D 49 49 92 FF FF FF B6 6D FF FF FF FF FF FF FF 92 92 FF FF FF FF FF FF FF 49 92 DB 49 FF FF FF FF FF FF FF FF FF 92 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF 92 24 49 49 6D FF 6D 92 FF FF FF B6 6D FF FF FF FF FF FF FF FF FF FF DB FF FF FF FF FF FF FF FF B6 FF FF FF FF FF FF FF FF FF 49 FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF 6D 92 FF FF FF B6 6D FF FF FF FF FF FF FF FF FF FF B6 DB DB FF FF FF FF FF FF FF DB FF FF FF FF FF FF FF 6D 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF 6D 92 FF FF FF FF 24 92 FF FF FF FF FF FF FF FF FF FF 6D B6 FF FF FF FF FF FF FF FF FF FF FF FF FF DB 49 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF 6D B6 FF FF FF FF B6 6D FF FF FF FF FF FF FF FF FF FF B6 92 FF FF FF FF FF FF FF FF FF FF FF DB 6D 00 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF 6D 92 FF FF FF FF DB 49 FF FF FF FF FF FF FF FF FF FF FF 49 FF FF FF FF FF FF FF FF FF FF FF FF FF DB 49 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF 92 6D FF FF FF FF FF 00 24 DB FF FF FF FF FF FF FF FF FF DB 6D FF FF FF FF FF FF FF FF FF FF FF FF FF FF 49 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF B6 49 FF FF FF FF FF FF 92 6D FF FF FF FF FF FF FF FF FF FF 6D B6 FF FF FF FF FF FF FF FF FF FF FF FF B6 49 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 FF FF FF FF FF FF FF 49 00 DB FF FF FF FF FF FF FF FF FF 6D 6D B6 DB DB DB 92 49 00 00 00 00 00 49 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF 49 DB FF FF FF FF FF FF FF 24 FF FF FF FF FF FF FF FF FF FF FF DB 6D 49 49 6D B6 DB FF FF FF B6 6D FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 92 FF FF FF FF FF FF B6 6D FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 6D FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 24 FF FF FF FF FF FF DB 00 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF DB 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 B6 FF FF FF FF FF FF DB 6D 00 49 FF FF FF FF FF FF FF FF FF FF FF FF DB B6 92 6D 6D 6D 49 DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 49 FF FF FF FF FF FF FF FF 49 00 92 FF FF FF FF FF FF FF FF 49 00 00 00 00 00 49 B6 DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF DB 6D FF FF FF FF FF FF FF FF 6D 6D FF B6 B6 FF FF FF FF FF FF 92 92 FF FF 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 B6 FF FF FF FF FF FF DB 00 DB 6D 00 B6 FF FF FF FF FF FF FF FF FF FF 24 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 DB FF FF FF FF FF 92 00 FF 24 00 00 49 FF FF FF FF FF FF FF FF FF B6 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 FF FF FF FF FF FF 49 24 24 00 00 6D FF FF FF FF FF FF FF DB FF DB 6D FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF B6 FF FF FF FF FF FF 6D 00 24 24 24 FF FF FF FF FF FF DB B6 DB 49 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF B6 00 B6 00 49 DB FF FF FF DB 24 6D 24 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00 B6 6D 00 00 DB FF 6D 00 00 00 DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF DB 00 6D FF FF 00 00 DB 49 00 00 00 00 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 92 DB FF FF 6D 00 00 92 24 00 00 00 00 00 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF B6 FF FF 00 6D 00 00 24 00 00 00 00 00 00 24 92 DB FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 6D DB 00 00 00 00 00 00 00 00 00 00 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF DB 00 24 00 00 6D 00 00 00 B6 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF DB 49 92 6D 6D DB B6 92 92 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
</bitmap>
|
||||
</icon>
|
||||
</chrp-boot>
|
172
grub-core/boot/powerpc/grub.chrp.in
Normal file
172
grub-core/boot/powerpc/grub.chrp.in
Normal file
@ -0,0 +1,172 @@
|
||||
<CHRP-BOOT>
|
||||
<COMPATIBLE>
|
||||
MacRISC MacRISC3 MacRISC4
|
||||
</COMPATIBLE>
|
||||
<DESCRIPTION>
|
||||
@PACKAGE@ @VERSION@
|
||||
</DESCRIPTION>
|
||||
<OS-BADGE-ICONS>
|
||||
3434
|
||||
00000000000000F781FB8181818181FBFAF500000000000000000000000000000000000000F6FAFAFAFA81F9F600000000000000
|
||||
0000000000F8FBF9F500F95656FCFB5656FBF800000000000000000000000000000000F5FAF9F5F7F600F6F6F9FAF70000000000
|
||||
000000F5FBFA0056FDFEFEFDFDFAAC81FB56568181560000000000000000000000F9F9F9F7FCFDFEFEFEFFFC81F656FA00000000
|
||||
0000F5AC2BF7FBFEFEFD2BF6568181F9F7F6F6F8FBF50000000000000000000000FAF700F600F5F7F7F6F7FEFFACF82BFB000000
|
||||
0000FC2BF5FEFFFFF5F7FC81F70000F7F9FAFAF8000000000000000000000000000056F9F9FAF9F7F7FA812BF7FFFF56F7FA0000
|
||||
005656F5FEFFAC2BF9FA000000000000000000000000000000000000000000000000000000000000000000FA56FAFEFEF8F9F700
|
||||
00FB00F7FFFF56F9F800000000000000000000F656FAFA56F50000000000F5F8F9F8F5000000000000000000F9F7FCFFFB00FB00
|
||||
F8F800ACFFACF6FA000000000000000000F6FA562BF5F5F781FA000000F9FA2B00F556F9F5000000000000000081F8FFFEF6562B
|
||||
810000FFFFF9FAF500000000000000002B8100F5F9FCACFBF82BFBF6FCFAF6FAFC81F600FA2B000000000000002BF8FEFFF8F5FA
|
||||
FA00F5FEFFFA8100000000000000002B8100F9FEFFFFFFFFFFFBF6FDFEACFDFEFFFFFFFBF581F600000000000000F9FEFFF700FA
|
||||
FA00FBFFFEF6F900000000000000F6FB00FCFFFFFFFFFFFFFFFFFCF600FCF7ACFEFFFFFFFDF6810000000000000056F9FFAC00FA
|
||||
FA00F6FFFFF856000000000000F5FBF5ACFFFFFFFFFFFFFFFFFFFF2B002BF8F5ACFFFFFFFFFDF6FA000000000000F9FCFF560081
|
||||
FA0081FFFFF8F9000000000000FBF6FBFFFFFFFFFFFFFFFFFFFFFFF800F55600FCFFFFFFFFFF81F8F80000000000F981FFAC0081
|
||||
FA0000FEFEF8FB0000000000812BFAFFFFFFFFFFFFFEFFFFFDF92BFA0000F6F981ACFEFFFFFFFF56F9F600000000F9FDFF2B0081
|
||||
FA00FAFFFF81812B000000FAF8F9FFFFFEACFBF80000F500000000F9F900562B0000FCF7F9ACFFFF2BF9F50000F9F6FEFFFB0081
|
||||
810000FCFFFBF6FB56F7FBF8F9FFFE5600000000F5FAAC000000F82BF6FAFBF800F556F80000F9FFFE2BFAFAFAF8FAFFFEF60081
|
||||
FAF6F5ACFFFFAC00F856F7ACFFFCF500000000FAFCFFFC00000056AC00F581F92BFEF9FAF6000081FFFFFBF6F62BFFFFACF6F6FA
|
||||
F6FA00FAFFFFFFACFA56FFFFAC0000000000F6FD2BFEF6F5565600F5F800F60081FEF7F656000000FDFFFFFDFDFFFFFFAC0081F5
|
||||
0081F52BFDFFFFFFFFFFFFFFF60000000000FBF6F6F5F656F52BF900FA000000FCFAF5F656000000F7FFFFFFFFFFFFFDF7F68100
|
||||
00F6FB00F8FDFFFFFFFFFF810000000000F6F5000000F52B56F9FC00F7F70000FCF881FCF500000000FEFFFFFFFFAC5600FBF500
|
||||
000056F900F8ACFDFFFFFFF5000000000000002B0000FDFEFFFE560000F60000F9ACFFFE810000000081FFFEFDFAF800FAF70000
|
||||
000000FAF9002B56FAFDFC0000000000000000F80000FBF5FEFEF5000000000000ACFFFA2B0000000000FEFB2BF5008156000000
|
||||
00000000F9FBF600F6FBF800000000000000F7F8000000F9F9F9F82B0000000000F6ACACF70000000000F7FD2BFA812B00000000
|
||||
0000000000F681FCFBFD0000000000000000FBF6000000000000F52B000000000000F92B810000000000008181F6000000000000
|
||||
0000000000000000F6FC00000000000000F6FF0000000000000000000000000000000081FBFB2B00000000F7F900000000000000
|
||||
000000000000000000FC00000000000000FCFAF600000000000000000000000000000056ACF581FBF700000081FB000000000000
|
||||
0000000000000000FAF90000000000008156F5F8000000000000002BFBFCFBF800000000FD2B000056FB8181FBF8000000000000
|
||||
0000000000000000AC0000000000F5FBF90000F6000000000000F5AC56F6005681F50000F6ACFCFBF70000000000000000000000
|
||||
00000000000000F881000000F5FAFDFD00000000000000000000F7FEFA2B0000F581F70000000000810000000000000000000000
|
||||
000000000000F9FCF500FAFDACFAF5FD00000000000000000000F5ACF5FDFEFA0000F82B00000000810000000000000000000000
|
||||
000000000000FCF8F9AC81FD000000FD000000000000FAF7000000F50081F9FAF800000000000000FB0000000000000000000000
|
||||
000000000000FC81F956F5FD000000FD0000000000000000F800F5000000000056000000000000F7FB0000000000000000000000
|
||||
00000000000000000000F5AC000000ACF800000000000000F5FAF80000000000F50000000000F8ACF50000000000000000000000
|
||||
00000000000000000000F5AC000000F5AC000000000000000056F9000000000000000000F7ACFCF5000000000000000000000000
|
||||
00000000000000000000F5FD00000000AC000000000000000000FB0000000000000000F5F6F5FCF6000000000000000000000000
|
||||
0000000000000000000000FD00000000FBFDF600000000000000F8F900000000000000000000F5FB000000000000000000000000
|
||||
0000000000000000000000FDF500000000F9ACF800000000000000815600000000F656818181AC56000000000000000000000000
|
||||
000000000000000000000081F80000000000F9FC0000000000000000F9ACACACFCFBFAFA81FD2B00000000000000000000000000
|
||||
0000000000000000000000F7FB0000000000FBF70000000000000000000000000000000000FB0000000000000000000000000000
|
||||
000000000000000000000000ACF500000000F9FD56F5000000000000000000000000000000FB0000000000000000000000000000
|
||||
000000000000000000000000F8FA0000000000F6FEFEF5000000000000F55681FCACFDACFC560000000000000000000000000000
|
||||
00000000000000000000000000FBF600000000002BFCFA00F700000000F9FDFDFAFEF90000000000000000000000000000000000
|
||||
00000000000000000000000000F5FB0000000000F5FEF7ACAC0000000000000000FCF50000000000000000000000000000000000
|
||||
0000000000000000000000000000F6FA000000002BFF2BFFFFAC00000000000000F7FA0000000000000000000000000000000000
|
||||
000000000000000000000000000000F65600000000FAFEFFFFAC0000000000F800F6810000000000000000000000000000000000
|
||||
00000000000000000000000000000000F52B00000000F8FEFBFF5600000000FCFAACF60000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000F9FCFCFFFB00F8FEFFFDF5000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000F9FDF7F5FFFD56FFFFFFFD00000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000810000FBFFFFFBFFFFFFFFACF9F5F5000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000F600FC81FFFEFFFFFFFFFFFE8100000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000F7F6FDFFFFFFFEFFFFACF500000000000000000000000000000000
|
||||
000000000000000000000000000000000000000000000000000000F5FC81FC81FAFBF9F500000000000000000000000000000000
|
||||
|
||||
00000000000000F781FB8181818181FBFAF500000000000000000000000000000000000000F6FAFAFAFA81F9F600000000000000
|
||||
0000000000F8FBF9F500F95656FCFB5656FBF800000000000000000000000000000000F5FAF9F5F7F600F6F6F9FAF70000000000
|
||||
000000F5FBFA0056FDFEFEFDFDFAAC81FB56568181560000000000000000000000F9F9F9F7FCFDFEFEFEFFFC81F656FA00000000
|
||||
0000F5AC2BF7FBFEFEFD2BF6568181F9F7F6F6F8FBF50000000000000000000000FAF700F600F5F7F7F6F7FEFFACF82BFB000000
|
||||
0000FC2BF5FEFFFFF5F7FC81F70000F7F9FAFAF8000000000000000000000000000056F9F9FAF9F7F7FA812BF7FFFF56F7FA0000
|
||||
005656F5FEFFAC2BF9FA000000000000000000000000000000000000000000000000000000000000000000FA56FAFEFEF8F9F700
|
||||
00FB00F7FFFF56F9F800000000000000000000F656FAFA56F50000000000F5F8F9F8F5000000000000000000F9F7FCFFFB00FB00
|
||||
F8F800ACFFACF6FA000000000000000000F6FA562BF5F5F781FA000000F9FA2B00F556F9F5000000000000000081F8FFFEF6562B
|
||||
810000FFFFF9FAF500000000000000002B8100F5F9FCACFBF82BFBF6FCFAF6FAFC81F600FA2B000000000000002BF8FEFFF8F5FA
|
||||
FA00F5FEFFFA8100000000000000002B8100F9FEFFFFFFFFFFFBF6FDFEACFDFEFFFFFFFBF581F600000000000000F9FEFFF700FA
|
||||
FA00FBFFFEF6F900000000000000F6FB00FCFFFFFFFFFFFFFFFFFCF600FCF7ACFEFFFFFFFDF6810000000000000056F9FFAC00FA
|
||||
FA00F6FFFFF856000000000000F5FBF5ACFFFFFFFFFFFFFFFFFFFF2B002BF8F5ACFFFFFFFFFDF6FA000000000000F9FCFF560081
|
||||
FA0081FFFFF8F9000000000000FBF6FBFFFFFFFFFFFFFFFFFFFFFFF800F55600FCFFFFFFFFFF81F8F80000000000F981FFAC0081
|
||||
FA0000FEFEF8FB0000000000812BFAFFFFFFFFFFFFFEFFFFFDF92BFA0000F6F981ACFEFFFFFFFF56F9F600000000F9FDFF2B0081
|
||||
FA00FAFFFF81812B000000FAF8F9FFFFFEACFBF80000F500000000F9F900562B0000FCF7F9ACFFFF2BF9F50000F9F6FEFFFB0081
|
||||
810000FCFFFBF6FB56F7FBF8F9FFFE5600000000F5FAAC000000F82BF6FAFBF800F556F80000F9FFFE2BFAFAFAF8FAFFFEF60081
|
||||
FAF6F5ACFFFFAC00F856F7ACFFFCF500000000FAFCFFFC00000056AC00F581F92BFEF9FAF6000081FFFFFBF6F62BFFFFACF6F6FA
|
||||
F6FA00FAFFFFFFACFA56FFFFAC0000000000F6FD2BFEF6F5565600F5F800F60081FEF7F656000000FDFFFFFDFDFFFFFFAC0081F5
|
||||
0081F52BFDFFFFFFFFFFFFFFF60000000000FBF6F6F5F656F52BF900FA000000FCFAF5F656000000F7FFFFFFFFFFFFFDF7F68100
|
||||
00F6FB00F8FDFFFFFFFFFF810000000000F6F5000000F52B56F9FC00F7F70000FCF881FCF500000000FEFFFFFFFFAC5600FBF500
|
||||
000056F900F8ACFDFFFFFFF5000000000000002B0000FDFEFFFE560000F60000F9ACFFFE810000000081FFFEFDFAF800FAF70000
|
||||
000000FAF9002B56FAFDFC0000000000000000F80000FBF5FEFEF5000000000000ACFFFA2B0000000000FEFB2BF5008156000000
|
||||
00000000F9FBF600F6FBF800000000000000F7F8000000F9F9F9F82B0000000000F6ACACF70000000000F7FD2BFA812B00000000
|
||||
0000000000F681FCFBFD0000000000000000FBF6000000000000F52B000000000000F92B810000000000008181F6000000000000
|
||||
0000000000000000F6FC00000000000000F6FF0000000000000000000000000000000081FBFB2B00000000F7F900000000000000
|
||||
000000000000000000FC00000000000000FCFAF600000000000000000000000000000056ACF581FBF700000081FB000000000000
|
||||
0000000000000000FAF90000000000008156F5F8000000000000002BFBFCFBF800000000FD2B000056FB8181FBF8000000000000
|
||||
0000000000000000AC0000000000F5FBF90000F6000000000000F5AC56F6005681F50000F6ACFCFBF70000000000000000000000
|
||||
00000000000000F881000000F5FAFDFD00000000000000000000F7FEFA2B0000F581F70000000000810000000000000000000000
|
||||
000000000000F9FCF500FAFDACFAF5FD00000000000000000000F5ACF5FDFEFA0000F82B00000000810000000000000000000000
|
||||
000000000000FCF8F9AC81FD000000FD000000000000FAF7000000F50081F9FAF800000000000000FB0000000000000000000000
|
||||
000000000000FC81F956F5FD000000FD0000000000000000F800F5000000000056000000000000F7FB0000000000000000000000
|
||||
00000000000000000000F5AC000000ACF800000000000000F5FAF80000000000F50000000000F8ACF50000000000000000000000
|
||||
00000000000000000000F5AC000000F5AC000000000000000056F9000000000000000000F7ACFCF5000000000000000000000000
|
||||
00000000000000000000F5FD00000000AC000000000000000000FB0000000000000000F5F6F5FCF6000000000000000000000000
|
||||
0000000000000000000000FD00000000FBFDF600000000000000F8F900000000000000000000F5FB000000000000000000000000
|
||||
0000000000000000000000FDF500000000F9ACF800000000000000815600000000F656818181AC56000000000000000000000000
|
||||
000000000000000000000081F80000000000F9FC0000000000000000F9ACACACFCFBFAFA81FD2B00000000000000000000000000
|
||||
0000000000000000000000F7FB0000000000FBF70000000000000000000000000000000000FB0000000000000000000000000000
|
||||
000000000000000000000000ACF500000000F9FD56F5000000000000000000000000000000FB0000000000000000000000000000
|
||||
000000000000000000000000F8FA0000000000F6FEFEF5000000000000F55681FCACFDACFC560000000000000000000000000000
|
||||
00000000000000000000000000FBF600000000002BFCFA00F700000000F9FDFDFAFEF90000000000000000000000000000000000
|
||||
00000000000000000000000000F5FB0000000000F5FEF7ACAC0000000000000000FCF50000000000000000000000000000000000
|
||||
0000000000000000000000000000F6FA000000002BFF2BFFFFAC00000000000000F7FA0000000000000000000000000000000000
|
||||
000000000000000000000000000000F65600000000FAFEFFFFAC0000000000F800F6810000000000000000000000000000000000
|
||||
00000000000000000000000000000000F52B00000000F8FEFBFF5600000000FCFAACF60000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000F9FCFCFFFB00F8FEFFFDF5000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000F9FDF7F5FFFD56FFFFFFFD00000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000810000FBFFFFFBFFFFFFFFACF9F5F5000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000F600FC81FFFEFFFFFFFFFFFE8100000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000F7F6FDFFFFFFFEFFFFACF500000000000000000000000000000000
|
||||
000000000000000000000000000000000000000000000000000000F5FC81FC81FAFBF9F500000000000000000000000000000000
|
||||
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
</OS-BADGE-ICONS>
|
||||
<BOOT-SCRIPT>
|
||||
boot &device;:&partition;,\System\Library\CoreServices\grub.elf
|
||||
</BOOT-SCRIPT>
|
||||
</CHRP-BOOT>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user