]> git.ipfire.org Git - ipfire-2.x.git/commitdiff
Merge remote-tracking branch 'origin/efi' into next
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 16 Aug 2018 11:49:13 +0000 (12:49 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Thu, 16 Aug 2018 11:49:13 +0000 (12:49 +0100)
61 files changed:
config/cdrom/grub-efi.cfg [new file with mode: 0644]
config/cdrom/grub.cfg [new file with mode: 0644]
config/grub2/default
config/kernel/kernel.config.aarch64-ipfire
config/rootfiles/common/aarch64/efibootmgr [new file with mode: 0644]
config/rootfiles/common/aarch64/efivar [new file with mode: 0644]
config/rootfiles/common/aarch64/grub [new file with mode: 0644]
config/rootfiles/common/aarch64/linux
config/rootfiles/common/aarch64/stage2
config/rootfiles/common/cdrkit [new file with mode: 0644]
config/rootfiles/common/dvdrtools [deleted file]
config/rootfiles/common/i586/grub
config/rootfiles/common/i586/syslinux
config/rootfiles/common/installer
config/rootfiles/common/parted
config/rootfiles/common/stage2
config/rootfiles/common/x86_64/efibootmgr [new file with mode: 0644]
config/rootfiles/common/x86_64/efivar [new file with mode: 0644]
config/rootfiles/common/x86_64/grub
config/rootfiles/common/x86_64/ipfire-netboot
config/rootfiles/common/x86_64/stage2
config/rootfiles/common/x86_64/syslinux
lfs/Config
lfs/cdrkit [new file with mode: 0644]
lfs/cdrom
lfs/efibootmgr [new file with mode: 0644]
lfs/efivar [moved from lfs/dvdrtools with 87% similarity]
lfs/flash-images
lfs/grub
lfs/ipfire-netboot
lfs/parted
lfs/syslinux
make.sh
src/initscripts/system/partresize
src/installer/Makefile.am
src/installer/dracut-module/module-setup.sh
src/installer/hw.c
src/installer/hw.h
src/installer/install-bootloader [moved from src/scripts/update-bootloader with 67% similarity]
src/installer/main.c
src/patches/cdrkit/cdrkit-1.1.10-build-fix.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-cmakewarn.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-devname.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-dvdman.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-format.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-handler.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-manpagefix.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-memset.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-paranoiacdda.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-ppc64le_elfheader.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-readsegfault.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-rootstat.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-usalinst.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-utf8.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.11-werror_gcc5.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.8-werror.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.9-buffer_overflow.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.9-efi-boot.patch [new file with mode: 0644]
src/patches/cdrkit/cdrkit-1.1.9-no_mp3.patch [new file with mode: 0644]
src/patches/parted-3.2-device-mapper.patch [new file with mode: 0644]
src/scripts/backupiso

diff --git a/config/cdrom/grub-efi.cfg b/config/cdrom/grub-efi.cfg
new file mode 100644 (file)
index 0000000..8ce7150
--- /dev/null
@@ -0,0 +1,2 @@
+search.fs_label "NAME VERSION ARCH" root
+set prefix=($root)/EFI/BOOT
diff --git a/config/cdrom/grub.cfg b/config/cdrom/grub.cfg
new file mode 100644 (file)
index 0000000..421c0e6
--- /dev/null
@@ -0,0 +1,34 @@
+set default="0"
+
+function load_video {
+  insmod efi_gop
+  insmod efi_uga
+  insmod video_bochs
+  insmod video_cirrus
+  insmod all_video
+}
+
+load_video
+set gfxpayload=keep
+insmod gzio
+insmod part_gpt
+insmod ext2
+
+set timeout=60
+
+menuentry 'Install NAME VERSION ARCH' --class ipfire --class gnu-linux --class gnu --class os {
+       linux /boot/isolinux/vmlinuz
+       initrd /boot/isolinux/instroot
+}
+
+submenu 'Other Installation Options -->' {
+       menuentry 'Install NAME VERSION (Text Mode)' --class ipfire --class gnu-linux --class gnu --class os {
+               linux /boot/isolinux/vmlinuz novga
+               initrd /boot/isolinux/instroot
+       }
+
+       menuentry 'Unattended installation' --class ipfire --class gnu-linux --class gnu --class os {
+               linux /boot/isolinux/vmlinuz installer.unattended
+               initrd /boot/isolinux/instroot
+       }
+}
index 39eed0fb5aa30b60aef792f33e039da9396b5b49..c1b78237e88fcd4572740c019f6a6356593ce396 100644 (file)
@@ -4,4 +4,3 @@ GRUB_DEFAULT=saved
 GRUB_CMDLINE_LINUX="panic=10"
 GRUB_DISABLE_RECOVERY="true"
 GRUB_BACKGROUND="/boot/grub/splash.png"
-GRUB_FONT="/boot/grub/unifont.pf2"
index c3b97ea927aae98d92ff1fcd2c08d0cfdeaea46b..fd70734905b012ca943a3ecd01b655a9d0d868e9 100644 (file)
@@ -1,6 +1,6 @@
 #
 # Automatically generated file; DO NOT EDIT.
-# Linux/arm64 4.14.50-ipfire-multi Kernel Configuration
+# Linux/arm64 4.14.50-ipfire Kernel Configuration
 #
 CONFIG_ARM64=y
 CONFIG_64BIT=y
@@ -442,6 +442,7 @@ CONFIG_PCI_ECAM=y
 # CONFIG_PCI_IOV is not set
 # CONFIG_PCI_PRI is not set
 # CONFIG_PCI_PASID is not set
+CONFIG_PCI_LABEL=y
 # CONFIG_HOTPLUG_PCI is not set
 
 #
@@ -600,7 +601,9 @@ CONFIG_ARM64_MODULE_CMODEL_LARGE=y
 #
 CONFIG_CMDLINE="console=ttyAM0,115200 root=/dev/sda1 rootdelay=20"
 # CONFIG_CMDLINE_FORCE is not set
-# CONFIG_EFI is not set
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_DMI=y
 
 #
 # Userspace binary formats
@@ -2412,7 +2415,6 @@ CONFIG_WLAN=y
 # CONFIG_WIRELESS_WDS is not set
 CONFIG_WLAN_VENDOR_ADMTEK=y
 CONFIG_ADM8211=m
-# CONFIG_RTL8189ES is not set
 CONFIG_ATH_COMMON=m
 CONFIG_WLAN_VENDOR_ATH=y
 # CONFIG_ATH_DEBUG is not set
@@ -2623,7 +2625,6 @@ CONFIG_WL18XX=m
 CONFIG_WLCORE=m
 CONFIG_WLCORE_SDIO=m
 CONFIG_WILINK_PLATFORM_DATA=y
-# CONFIG_WLAN_VENDOR_XRADIO is not set
 CONFIG_WLAN_VENDOR_ZYDAS=y
 CONFIG_USB_ZD1201=m
 CONFIG_ZD1211RW=m
@@ -2872,6 +2873,7 @@ CONFIG_HVC_DRIVER=y
 # CONFIG_HVC_DCC is not set
 CONFIG_VIRTIO_CONSOLE=m
 CONFIG_IPMI_HANDLER=m
+CONFIG_IPMI_DMI_DECODE=y
 # CONFIG_IPMI_PANIC_EVENT is not set
 CONFIG_IPMI_DEVICE_INTERFACE=m
 CONFIG_IPMI_SI=m
@@ -3592,7 +3594,6 @@ CONFIG_REGULATOR_PFUZE100=y
 # CONFIG_REGULATOR_PV88080 is not set
 # CONFIG_REGULATOR_PV88090 is not set
 # CONFIG_REGULATOR_PWM is not set
-CONFIG_REGULATOR_SY8106A=y
 # CONFIG_REGULATOR_TPS51632 is not set
 # CONFIG_REGULATOR_TPS62360 is not set
 # CONFIG_REGULATOR_TPS65023 is not set
@@ -3603,7 +3604,6 @@ CONFIG_REGULATOR_TWL4030=y
 CONFIG_REGULATOR_VEXPRESS=y
 CONFIG_CEC_CORE=m
 CONFIG_CEC_NOTIFIER=y
-CONFIG_CEC_PIN=y
 CONFIG_RC_CORE=m
 CONFIG_RC_MAP=m
 CONFIG_RC_DECODERS=y
@@ -4246,12 +4246,6 @@ CONFIG_DRM_UDL=m
 # CONFIG_DRM_MGAG200 is not set
 # CONFIG_DRM_CIRRUS_QEMU is not set
 CONFIG_DRM_RCAR_DW_HDMI=m
-CONFIG_DRM_SUN4I=m
-CONFIG_DRM_SUN4I_HDMI=m
-CONFIG_DRM_SUN4I_HDMI_CEC=y
-CONFIG_DRM_SUN4I_BACKEND=m
-CONFIG_DRM_SUN8I_DW_HDMI=m
-CONFIG_DRM_SUN8I_MIXER=m
 # CONFIG_DRM_QXL is not set
 # CONFIG_DRM_BOCHS is not set
 CONFIG_DRM_VIRTIO_GPU=m
@@ -4342,6 +4336,7 @@ CONFIG_FB_ARMCLCD=m
 # CONFIG_FB_ASILIANT is not set
 # CONFIG_FB_IMSTT is not set
 # CONFIG_FB_UVESA is not set
+CONFIG_FB_EFI=y
 CONFIG_FB_OPENCORES=m
 # CONFIG_FB_S1D13XXX is not set
 # CONFIG_FB_NVIDIA is not set
@@ -5328,6 +5323,7 @@ CONFIG_RTC_DRV_DS1553=m
 # CONFIG_RTC_DRV_DS1685_FAMILY is not set
 CONFIG_RTC_DRV_DS1742=m
 CONFIG_RTC_DRV_DS2404=m
+# CONFIG_RTC_DRV_EFI is not set
 CONFIG_RTC_DRV_STK17TA8=m
 # CONFIG_RTC_DRV_M48T86 is not set
 CONFIG_RTC_DRV_M48T35=m
@@ -6066,10 +6062,27 @@ CONFIG_ARM_PSCI_FW=y
 # CONFIG_ARM_PSCI_CHECKER is not set
 # CONFIG_ARM_SCPI_PROTOCOL is not set
 # CONFIG_FIRMWARE_MEMMAP is not set
+CONFIG_DMIID=y
+# CONFIG_DMI_SYSFS is not set
 CONFIG_RASPBERRYPI_FIRMWARE=y
 # CONFIG_FW_CFG_SYSFS is not set
 CONFIG_HAVE_ARM_SMCCC=y
 # CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_VARS=y
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_VARS_PSTORE=y
+# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_ARMSTUB=y
+CONFIG_EFI_BOOTLOADER_CONTROL=m
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_RESET_ATTACK_MITIGATION is not set
 CONFIG_MESON_SM=y
 
 #
@@ -6191,6 +6204,7 @@ CONFIG_TMPFS_XATTR=y
 # CONFIG_HUGETLB_PAGE is not set
 CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
 CONFIG_CONFIGFS_FS=m
+CONFIG_EFIVAR_FS=m
 CONFIG_MISC_FILESYSTEMS=y
 # CONFIG_ORANGEFS_FS is not set
 # CONFIG_ADFS_FS is not set
@@ -6810,6 +6824,7 @@ CONFIG_DDR=y
 CONFIG_IRQ_POLL=y
 CONFIG_LIBFDT=y
 CONFIG_OID_REGISTRY=m
+CONFIG_UCS2_STRING=y
 CONFIG_FONT_SUPPORT=y
 # CONFIG_FONTS is not set
 CONFIG_FONT_8x8=y
diff --git a/config/rootfiles/common/aarch64/efibootmgr b/config/rootfiles/common/aarch64/efibootmgr
new file mode 100644 (file)
index 0000000..56a0eb1
--- /dev/null
@@ -0,0 +1,4 @@
+usr/sbin/efibootdump
+usr/sbin/efibootmgr
+#usr/share/man/man8/efibootdump.8
+#usr/share/man/man8/efibootmgr.8
diff --git a/config/rootfiles/common/aarch64/efivar b/config/rootfiles/common/aarch64/efivar
new file mode 100644 (file)
index 0000000..4018e4c
--- /dev/null
@@ -0,0 +1,46 @@
+usr/bin/efivar
+#usr/include/efivar
+#usr/include/efivar/efiboot-creator.h
+#usr/include/efivar/efiboot-loadopt.h
+#usr/include/efivar/efiboot.h
+#usr/include/efivar/efivar-dp.h
+#usr/include/efivar/efivar-guids.h
+#usr/include/efivar/efivar.h
+#usr/lib/libefiboot.so
+usr/lib/libefiboot.so.1
+usr/lib/libefiboot.so.1.35
+#usr/lib/libefivar.so
+usr/lib/libefivar.so.1
+usr/lib/libefivar.so.1.35
+#usr/lib/pkgconfig/efiboot.pc
+#usr/lib/pkgconfig/efivar.pc
+#usr/share/man/man1/efivar.1
+#usr/share/man/man3/efi_append_variable.3
+#usr/share/man/man3/efi_del_variable.3
+#usr/share/man/man3/efi_get_next_variable_name.3
+#usr/share/man/man3/efi_get_variable.3
+#usr/share/man/man3/efi_get_variable_attributes.3
+#usr/share/man/man3/efi_get_variable_size.3
+#usr/share/man/man3/efi_guid_to_id_guid.3
+#usr/share/man/man3/efi_guid_to_name.3
+#usr/share/man/man3/efi_guid_to_str.3
+#usr/share/man/man3/efi_guid_to_symbol.3
+#usr/share/man/man3/efi_name_to_guid.3
+#usr/share/man/man3/efi_set_variable.3
+#usr/share/man/man3/efi_str_to_guid.3
+#usr/share/man/man3/efi_symbol_to_guid.3
+#usr/share/man/man3/efi_variable_alloc.3
+#usr/share/man/man3/efi_variable_export.3
+#usr/share/man/man3/efi_variable_free.3
+#usr/share/man/man3/efi_variable_get_attributes.3
+#usr/share/man/man3/efi_variable_get_data.3
+#usr/share/man/man3/efi_variable_get_guid.3
+#usr/share/man/man3/efi_variable_get_name.3
+#usr/share/man/man3/efi_variable_import.3
+#usr/share/man/man3/efi_variable_realize.3
+#usr/share/man/man3/efi_variable_set_attributes.3
+#usr/share/man/man3/efi_variable_set_data.3
+#usr/share/man/man3/efi_variable_set_guid.3
+#usr/share/man/man3/efi_variable_set_name.3
+#usr/share/man/man3/efi_variable_t.3
+#usr/share/man/man3/efi_variables_supported.3
diff --git a/config/rootfiles/common/aarch64/grub b/config/rootfiles/common/aarch64/grub
new file mode 100644 (file)
index 0000000..6de37dd
--- /dev/null
@@ -0,0 +1,536 @@
+#boot/grub
+boot/grub/splash.png
+#etc/bash_completion.d
+#etc/bash_completion.d/grub
+etc/default/grub
+#etc/grub.d
+etc/grub.d/00_header
+etc/grub.d/10_linux
+etc/grub.d/20_linux_xen
+etc/grub.d/30_os-prober
+etc/grub.d/40_custom
+etc/grub.d/41_custom
+etc/grub.d/README
+usr/bin/grub-editenv
+usr/bin/grub-file
+usr/bin/grub-fstest
+usr/bin/grub-glue-efi
+usr/bin/grub-kbdcomp
+usr/bin/grub-menulst2cfg
+usr/bin/grub-mkfont
+usr/bin/grub-mkimage
+usr/bin/grub-mklayout
+usr/bin/grub-mknetdir
+usr/bin/grub-mkpasswd-pbkdf2
+usr/bin/grub-mkrelpath
+usr/bin/grub-mkrescue
+usr/bin/grub-mkstandalone
+usr/bin/grub-render-label
+usr/bin/grub-script-check
+usr/bin/grub-syslinux2cfg
+#usr/lib/grub
+#usr/lib/grub/arm64-efi
+usr/lib/grub/arm64-efi/acpi.mod
+usr/lib/grub/arm64-efi/acpi.module
+usr/lib/grub/arm64-efi/adler32.mod
+usr/lib/grub/arm64-efi/adler32.module
+usr/lib/grub/arm64-efi/affs.mod
+usr/lib/grub/arm64-efi/affs.module
+usr/lib/grub/arm64-efi/afs.mod
+usr/lib/grub/arm64-efi/afs.module
+usr/lib/grub/arm64-efi/all_video.mod
+usr/lib/grub/arm64-efi/all_video.module
+usr/lib/grub/arm64-efi/archelp.mod
+usr/lib/grub/arm64-efi/archelp.module
+usr/lib/grub/arm64-efi/bfs.mod
+usr/lib/grub/arm64-efi/bfs.module
+usr/lib/grub/arm64-efi/bitmap.mod
+usr/lib/grub/arm64-efi/bitmap.module
+usr/lib/grub/arm64-efi/bitmap_scale.mod
+usr/lib/grub/arm64-efi/bitmap_scale.module
+usr/lib/grub/arm64-efi/blocklist.mod
+usr/lib/grub/arm64-efi/blocklist.module
+usr/lib/grub/arm64-efi/boot.mod
+usr/lib/grub/arm64-efi/boot.module
+usr/lib/grub/arm64-efi/bswap_test.mod
+usr/lib/grub/arm64-efi/bswap_test.module
+usr/lib/grub/arm64-efi/btrfs.mod
+usr/lib/grub/arm64-efi/btrfs.module
+usr/lib/grub/arm64-efi/bufio.mod
+usr/lib/grub/arm64-efi/bufio.module
+usr/lib/grub/arm64-efi/cat.mod
+usr/lib/grub/arm64-efi/cat.module
+usr/lib/grub/arm64-efi/cbfs.mod
+usr/lib/grub/arm64-efi/cbfs.module
+usr/lib/grub/arm64-efi/chain.mod
+usr/lib/grub/arm64-efi/chain.module
+usr/lib/grub/arm64-efi/cmdline_cat_test.mod
+usr/lib/grub/arm64-efi/cmdline_cat_test.module
+usr/lib/grub/arm64-efi/cmp.mod
+usr/lib/grub/arm64-efi/cmp.module
+usr/lib/grub/arm64-efi/cmp_test.mod
+usr/lib/grub/arm64-efi/cmp_test.module
+usr/lib/grub/arm64-efi/command.lst
+usr/lib/grub/arm64-efi/config.h
+usr/lib/grub/arm64-efi/configfile.mod
+usr/lib/grub/arm64-efi/configfile.module
+usr/lib/grub/arm64-efi/cpio.mod
+usr/lib/grub/arm64-efi/cpio.module
+usr/lib/grub/arm64-efi/cpio_be.mod
+usr/lib/grub/arm64-efi/cpio_be.module
+usr/lib/grub/arm64-efi/crc64.mod
+usr/lib/grub/arm64-efi/crc64.module
+usr/lib/grub/arm64-efi/crypto.lst
+usr/lib/grub/arm64-efi/crypto.mod
+usr/lib/grub/arm64-efi/crypto.module
+usr/lib/grub/arm64-efi/cryptodisk.mod
+usr/lib/grub/arm64-efi/cryptodisk.module
+usr/lib/grub/arm64-efi/ctz_test.mod
+usr/lib/grub/arm64-efi/ctz_test.module
+usr/lib/grub/arm64-efi/date.mod
+usr/lib/grub/arm64-efi/date.module
+usr/lib/grub/arm64-efi/datehook.mod
+usr/lib/grub/arm64-efi/datehook.module
+usr/lib/grub/arm64-efi/datetime.mod
+usr/lib/grub/arm64-efi/datetime.module
+usr/lib/grub/arm64-efi/disk.mod
+usr/lib/grub/arm64-efi/disk.module
+usr/lib/grub/arm64-efi/diskfilter.mod
+usr/lib/grub/arm64-efi/diskfilter.module
+usr/lib/grub/arm64-efi/div.mod
+usr/lib/grub/arm64-efi/div.module
+usr/lib/grub/arm64-efi/div_test.mod
+usr/lib/grub/arm64-efi/div_test.module
+usr/lib/grub/arm64-efi/dm_nv.mod
+usr/lib/grub/arm64-efi/dm_nv.module
+usr/lib/grub/arm64-efi/echo.mod
+usr/lib/grub/arm64-efi/echo.module
+usr/lib/grub/arm64-efi/efi_gop.mod
+usr/lib/grub/arm64-efi/efi_gop.module
+usr/lib/grub/arm64-efi/efifwsetup.mod
+usr/lib/grub/arm64-efi/efifwsetup.module
+usr/lib/grub/arm64-efi/efinet.mod
+usr/lib/grub/arm64-efi/efinet.module
+usr/lib/grub/arm64-efi/elf.mod
+usr/lib/grub/arm64-efi/elf.module
+usr/lib/grub/arm64-efi/eval.mod
+usr/lib/grub/arm64-efi/eval.module
+usr/lib/grub/arm64-efi/exfat.mod
+usr/lib/grub/arm64-efi/exfat.module
+usr/lib/grub/arm64-efi/exfctest.mod
+usr/lib/grub/arm64-efi/exfctest.module
+usr/lib/grub/arm64-efi/ext2.mod
+usr/lib/grub/arm64-efi/ext2.module
+usr/lib/grub/arm64-efi/extcmd.mod
+usr/lib/grub/arm64-efi/extcmd.module
+usr/lib/grub/arm64-efi/fat.mod
+usr/lib/grub/arm64-efi/fat.module
+usr/lib/grub/arm64-efi/fdt.mod
+usr/lib/grub/arm64-efi/fdt.module
+usr/lib/grub/arm64-efi/file.mod
+usr/lib/grub/arm64-efi/file.module
+usr/lib/grub/arm64-efi/font.mod
+usr/lib/grub/arm64-efi/font.module
+usr/lib/grub/arm64-efi/fs.lst
+usr/lib/grub/arm64-efi/fshelp.mod
+usr/lib/grub/arm64-efi/fshelp.module
+usr/lib/grub/arm64-efi/functional_test.mod
+usr/lib/grub/arm64-efi/functional_test.module
+usr/lib/grub/arm64-efi/gcry_arcfour.mod
+usr/lib/grub/arm64-efi/gcry_arcfour.module
+usr/lib/grub/arm64-efi/gcry_blowfish.mod
+usr/lib/grub/arm64-efi/gcry_blowfish.module
+usr/lib/grub/arm64-efi/gcry_camellia.mod
+usr/lib/grub/arm64-efi/gcry_camellia.module
+usr/lib/grub/arm64-efi/gcry_cast5.mod
+usr/lib/grub/arm64-efi/gcry_cast5.module
+usr/lib/grub/arm64-efi/gcry_crc.mod
+usr/lib/grub/arm64-efi/gcry_crc.module
+usr/lib/grub/arm64-efi/gcry_des.mod
+usr/lib/grub/arm64-efi/gcry_des.module
+usr/lib/grub/arm64-efi/gcry_dsa.mod
+usr/lib/grub/arm64-efi/gcry_dsa.module
+usr/lib/grub/arm64-efi/gcry_idea.mod
+usr/lib/grub/arm64-efi/gcry_idea.module
+usr/lib/grub/arm64-efi/gcry_md4.mod
+usr/lib/grub/arm64-efi/gcry_md4.module
+usr/lib/grub/arm64-efi/gcry_md5.mod
+usr/lib/grub/arm64-efi/gcry_md5.module
+usr/lib/grub/arm64-efi/gcry_rfc2268.mod
+usr/lib/grub/arm64-efi/gcry_rfc2268.module
+usr/lib/grub/arm64-efi/gcry_rijndael.mod
+usr/lib/grub/arm64-efi/gcry_rijndael.module
+usr/lib/grub/arm64-efi/gcry_rmd160.mod
+usr/lib/grub/arm64-efi/gcry_rmd160.module
+usr/lib/grub/arm64-efi/gcry_rsa.mod
+usr/lib/grub/arm64-efi/gcry_rsa.module
+usr/lib/grub/arm64-efi/gcry_seed.mod
+usr/lib/grub/arm64-efi/gcry_seed.module
+usr/lib/grub/arm64-efi/gcry_serpent.mod
+usr/lib/grub/arm64-efi/gcry_serpent.module
+usr/lib/grub/arm64-efi/gcry_sha1.mod
+usr/lib/grub/arm64-efi/gcry_sha1.module
+usr/lib/grub/arm64-efi/gcry_sha256.mod
+usr/lib/grub/arm64-efi/gcry_sha256.module
+usr/lib/grub/arm64-efi/gcry_sha512.mod
+usr/lib/grub/arm64-efi/gcry_sha512.module
+usr/lib/grub/arm64-efi/gcry_tiger.mod
+usr/lib/grub/arm64-efi/gcry_tiger.module
+usr/lib/grub/arm64-efi/gcry_twofish.mod
+usr/lib/grub/arm64-efi/gcry_twofish.module
+usr/lib/grub/arm64-efi/gcry_whirlpool.mod
+usr/lib/grub/arm64-efi/gcry_whirlpool.module
+usr/lib/grub/arm64-efi/gdb_grub
+usr/lib/grub/arm64-efi/geli.mod
+usr/lib/grub/arm64-efi/geli.module
+usr/lib/grub/arm64-efi/gettext.mod
+usr/lib/grub/arm64-efi/gettext.module
+usr/lib/grub/arm64-efi/gfxmenu.mod
+usr/lib/grub/arm64-efi/gfxmenu.module
+usr/lib/grub/arm64-efi/gfxterm.mod
+usr/lib/grub/arm64-efi/gfxterm.module
+usr/lib/grub/arm64-efi/gfxterm_background.mod
+usr/lib/grub/arm64-efi/gfxterm_background.module
+usr/lib/grub/arm64-efi/gfxterm_menu.mod
+usr/lib/grub/arm64-efi/gfxterm_menu.module
+usr/lib/grub/arm64-efi/gmodule.pl
+usr/lib/grub/arm64-efi/gptsync.mod
+usr/lib/grub/arm64-efi/gptsync.module
+usr/lib/grub/arm64-efi/gzio.mod
+usr/lib/grub/arm64-efi/gzio.module
+usr/lib/grub/arm64-efi/halt.mod
+usr/lib/grub/arm64-efi/halt.module
+usr/lib/grub/arm64-efi/hashsum.mod
+usr/lib/grub/arm64-efi/hashsum.module
+usr/lib/grub/arm64-efi/hello.mod
+usr/lib/grub/arm64-efi/hello.module
+usr/lib/grub/arm64-efi/help.mod
+usr/lib/grub/arm64-efi/help.module
+usr/lib/grub/arm64-efi/hexdump.mod
+usr/lib/grub/arm64-efi/hexdump.module
+usr/lib/grub/arm64-efi/hfs.mod
+usr/lib/grub/arm64-efi/hfs.module
+usr/lib/grub/arm64-efi/hfsplus.mod
+usr/lib/grub/arm64-efi/hfsplus.module
+usr/lib/grub/arm64-efi/hfspluscomp.mod
+usr/lib/grub/arm64-efi/hfspluscomp.module
+usr/lib/grub/arm64-efi/http.mod
+usr/lib/grub/arm64-efi/http.module
+usr/lib/grub/arm64-efi/iso9660.mod
+usr/lib/grub/arm64-efi/iso9660.module
+usr/lib/grub/arm64-efi/jfs.mod
+usr/lib/grub/arm64-efi/jfs.module
+usr/lib/grub/arm64-efi/jpeg.mod
+usr/lib/grub/arm64-efi/jpeg.module
+usr/lib/grub/arm64-efi/kernel.exec
+usr/lib/grub/arm64-efi/kernel.img
+usr/lib/grub/arm64-efi/keystatus.mod
+usr/lib/grub/arm64-efi/keystatus.module
+usr/lib/grub/arm64-efi/ldm.mod
+usr/lib/grub/arm64-efi/ldm.module
+usr/lib/grub/arm64-efi/linux.mod
+usr/lib/grub/arm64-efi/linux.module
+usr/lib/grub/arm64-efi/loadenv.mod
+usr/lib/grub/arm64-efi/loadenv.module
+usr/lib/grub/arm64-efi/loopback.mod
+usr/lib/grub/arm64-efi/loopback.module
+usr/lib/grub/arm64-efi/ls.mod
+usr/lib/grub/arm64-efi/ls.module
+usr/lib/grub/arm64-efi/lsacpi.mod
+usr/lib/grub/arm64-efi/lsacpi.module
+usr/lib/grub/arm64-efi/lsefi.mod
+usr/lib/grub/arm64-efi/lsefi.module
+usr/lib/grub/arm64-efi/lsefimmap.mod
+usr/lib/grub/arm64-efi/lsefimmap.module
+usr/lib/grub/arm64-efi/lsefisystab.mod
+usr/lib/grub/arm64-efi/lsefisystab.module
+usr/lib/grub/arm64-efi/lsmmap.mod
+usr/lib/grub/arm64-efi/lsmmap.module
+usr/lib/grub/arm64-efi/lssal.mod
+usr/lib/grub/arm64-efi/lssal.module
+usr/lib/grub/arm64-efi/luks.mod
+usr/lib/grub/arm64-efi/luks.module
+usr/lib/grub/arm64-efi/lvm.mod
+usr/lib/grub/arm64-efi/lvm.module
+usr/lib/grub/arm64-efi/lzopio.mod
+usr/lib/grub/arm64-efi/lzopio.module
+usr/lib/grub/arm64-efi/macbless.mod
+usr/lib/grub/arm64-efi/macbless.module
+usr/lib/grub/arm64-efi/macho.mod
+usr/lib/grub/arm64-efi/macho.module
+usr/lib/grub/arm64-efi/mdraid09.mod
+usr/lib/grub/arm64-efi/mdraid09.module
+usr/lib/grub/arm64-efi/mdraid09_be.mod
+usr/lib/grub/arm64-efi/mdraid09_be.module
+usr/lib/grub/arm64-efi/mdraid1x.mod
+usr/lib/grub/arm64-efi/mdraid1x.module
+usr/lib/grub/arm64-efi/memdisk.mod
+usr/lib/grub/arm64-efi/memdisk.module
+usr/lib/grub/arm64-efi/memrw.mod
+usr/lib/grub/arm64-efi/memrw.module
+usr/lib/grub/arm64-efi/minicmd.mod
+usr/lib/grub/arm64-efi/minicmd.module
+usr/lib/grub/arm64-efi/minix.mod
+usr/lib/grub/arm64-efi/minix.module
+usr/lib/grub/arm64-efi/minix2.mod
+usr/lib/grub/arm64-efi/minix2.module
+usr/lib/grub/arm64-efi/minix2_be.mod
+usr/lib/grub/arm64-efi/minix2_be.module
+usr/lib/grub/arm64-efi/minix3.mod
+usr/lib/grub/arm64-efi/minix3.module
+usr/lib/grub/arm64-efi/minix3_be.mod
+usr/lib/grub/arm64-efi/minix3_be.module
+usr/lib/grub/arm64-efi/minix_be.mod
+usr/lib/grub/arm64-efi/minix_be.module
+usr/lib/grub/arm64-efi/mmap.mod
+usr/lib/grub/arm64-efi/mmap.module
+usr/lib/grub/arm64-efi/moddep.lst
+usr/lib/grub/arm64-efi/modinfo.sh
+usr/lib/grub/arm64-efi/mpi.mod
+usr/lib/grub/arm64-efi/mpi.module
+usr/lib/grub/arm64-efi/msdospart.mod
+usr/lib/grub/arm64-efi/msdospart.module
+usr/lib/grub/arm64-efi/mul_test.mod
+usr/lib/grub/arm64-efi/mul_test.module
+usr/lib/grub/arm64-efi/net.mod
+usr/lib/grub/arm64-efi/net.module
+usr/lib/grub/arm64-efi/newc.mod
+usr/lib/grub/arm64-efi/newc.module
+usr/lib/grub/arm64-efi/nilfs2.mod
+usr/lib/grub/arm64-efi/nilfs2.module
+usr/lib/grub/arm64-efi/normal.mod
+usr/lib/grub/arm64-efi/normal.module
+usr/lib/grub/arm64-efi/ntfs.mod
+usr/lib/grub/arm64-efi/ntfs.module
+usr/lib/grub/arm64-efi/ntfscomp.mod
+usr/lib/grub/arm64-efi/ntfscomp.module
+usr/lib/grub/arm64-efi/odc.mod
+usr/lib/grub/arm64-efi/odc.module
+usr/lib/grub/arm64-efi/offsetio.mod
+usr/lib/grub/arm64-efi/offsetio.module
+usr/lib/grub/arm64-efi/part_acorn.mod
+usr/lib/grub/arm64-efi/part_acorn.module
+usr/lib/grub/arm64-efi/part_amiga.mod
+usr/lib/grub/arm64-efi/part_amiga.module
+usr/lib/grub/arm64-efi/part_apple.mod
+usr/lib/grub/arm64-efi/part_apple.module
+usr/lib/grub/arm64-efi/part_bsd.mod
+usr/lib/grub/arm64-efi/part_bsd.module
+usr/lib/grub/arm64-efi/part_dfly.mod
+usr/lib/grub/arm64-efi/part_dfly.module
+usr/lib/grub/arm64-efi/part_dvh.mod
+usr/lib/grub/arm64-efi/part_dvh.module
+usr/lib/grub/arm64-efi/part_gpt.mod
+usr/lib/grub/arm64-efi/part_gpt.module
+usr/lib/grub/arm64-efi/part_msdos.mod
+usr/lib/grub/arm64-efi/part_msdos.module
+usr/lib/grub/arm64-efi/part_plan.mod
+usr/lib/grub/arm64-efi/part_plan.module
+usr/lib/grub/arm64-efi/part_sun.mod
+usr/lib/grub/arm64-efi/part_sun.module
+usr/lib/grub/arm64-efi/part_sunpc.mod
+usr/lib/grub/arm64-efi/part_sunpc.module
+usr/lib/grub/arm64-efi/partmap.lst
+usr/lib/grub/arm64-efi/parttool.lst
+usr/lib/grub/arm64-efi/parttool.mod
+usr/lib/grub/arm64-efi/parttool.module
+usr/lib/grub/arm64-efi/password.mod
+usr/lib/grub/arm64-efi/password.module
+usr/lib/grub/arm64-efi/password_pbkdf2.mod
+usr/lib/grub/arm64-efi/password_pbkdf2.module
+usr/lib/grub/arm64-efi/pbkdf2.mod
+usr/lib/grub/arm64-efi/pbkdf2.module
+usr/lib/grub/arm64-efi/pbkdf2_test.mod
+usr/lib/grub/arm64-efi/pbkdf2_test.module
+usr/lib/grub/arm64-efi/png.mod
+usr/lib/grub/arm64-efi/png.module
+usr/lib/grub/arm64-efi/priority_queue.mod
+usr/lib/grub/arm64-efi/priority_queue.module
+usr/lib/grub/arm64-efi/probe.mod
+usr/lib/grub/arm64-efi/probe.module
+usr/lib/grub/arm64-efi/procfs.mod
+usr/lib/grub/arm64-efi/procfs.module
+usr/lib/grub/arm64-efi/progress.mod
+usr/lib/grub/arm64-efi/progress.module
+usr/lib/grub/arm64-efi/raid5rec.mod
+usr/lib/grub/arm64-efi/raid5rec.module
+usr/lib/grub/arm64-efi/raid6rec.mod
+usr/lib/grub/arm64-efi/raid6rec.module
+usr/lib/grub/arm64-efi/read.mod
+usr/lib/grub/arm64-efi/read.module
+usr/lib/grub/arm64-efi/reboot.mod
+usr/lib/grub/arm64-efi/reboot.module
+usr/lib/grub/arm64-efi/regexp.mod
+usr/lib/grub/arm64-efi/regexp.module
+usr/lib/grub/arm64-efi/reiserfs.mod
+usr/lib/grub/arm64-efi/reiserfs.module
+usr/lib/grub/arm64-efi/romfs.mod
+usr/lib/grub/arm64-efi/romfs.module
+usr/lib/grub/arm64-efi/scsi.mod
+usr/lib/grub/arm64-efi/scsi.module
+usr/lib/grub/arm64-efi/search.mod
+usr/lib/grub/arm64-efi/search.module
+usr/lib/grub/arm64-efi/search_fs_file.mod
+usr/lib/grub/arm64-efi/search_fs_file.module
+usr/lib/grub/arm64-efi/search_fs_uuid.mod
+usr/lib/grub/arm64-efi/search_fs_uuid.module
+usr/lib/grub/arm64-efi/search_label.mod
+usr/lib/grub/arm64-efi/search_label.module
+usr/lib/grub/arm64-efi/serial.mod
+usr/lib/grub/arm64-efi/serial.module
+usr/lib/grub/arm64-efi/setjmp.mod
+usr/lib/grub/arm64-efi/setjmp.module
+usr/lib/grub/arm64-efi/setjmp_test.mod
+usr/lib/grub/arm64-efi/setjmp_test.module
+usr/lib/grub/arm64-efi/sfs.mod
+usr/lib/grub/arm64-efi/sfs.module
+usr/lib/grub/arm64-efi/shift_test.mod
+usr/lib/grub/arm64-efi/shift_test.module
+usr/lib/grub/arm64-efi/signature_test.mod
+usr/lib/grub/arm64-efi/signature_test.module
+usr/lib/grub/arm64-efi/sleep.mod
+usr/lib/grub/arm64-efi/sleep.module
+usr/lib/grub/arm64-efi/sleep_test.mod
+usr/lib/grub/arm64-efi/sleep_test.module
+usr/lib/grub/arm64-efi/squash4.mod
+usr/lib/grub/arm64-efi/squash4.module
+usr/lib/grub/arm64-efi/syslinuxcfg.mod
+usr/lib/grub/arm64-efi/syslinuxcfg.module
+usr/lib/grub/arm64-efi/tar.mod
+usr/lib/grub/arm64-efi/tar.module
+usr/lib/grub/arm64-efi/terminal.lst
+usr/lib/grub/arm64-efi/terminal.mod
+usr/lib/grub/arm64-efi/terminal.module
+usr/lib/grub/arm64-efi/terminfo.mod
+usr/lib/grub/arm64-efi/terminfo.module
+usr/lib/grub/arm64-efi/test.mod
+usr/lib/grub/arm64-efi/test.module
+usr/lib/grub/arm64-efi/test_blockarg.mod
+usr/lib/grub/arm64-efi/test_blockarg.module
+usr/lib/grub/arm64-efi/testload.mod
+usr/lib/grub/arm64-efi/testload.module
+usr/lib/grub/arm64-efi/testspeed.mod
+usr/lib/grub/arm64-efi/testspeed.module
+usr/lib/grub/arm64-efi/tftp.mod
+usr/lib/grub/arm64-efi/tftp.module
+usr/lib/grub/arm64-efi/tga.mod
+usr/lib/grub/arm64-efi/tga.module
+usr/lib/grub/arm64-efi/time.mod
+usr/lib/grub/arm64-efi/time.module
+usr/lib/grub/arm64-efi/tr.mod
+usr/lib/grub/arm64-efi/tr.module
+usr/lib/grub/arm64-efi/trig.mod
+usr/lib/grub/arm64-efi/trig.module
+usr/lib/grub/arm64-efi/true.mod
+usr/lib/grub/arm64-efi/true.module
+usr/lib/grub/arm64-efi/udf.mod
+usr/lib/grub/arm64-efi/udf.module
+usr/lib/grub/arm64-efi/ufs1.mod
+usr/lib/grub/arm64-efi/ufs1.module
+usr/lib/grub/arm64-efi/ufs1_be.mod
+usr/lib/grub/arm64-efi/ufs1_be.module
+usr/lib/grub/arm64-efi/ufs2.mod
+usr/lib/grub/arm64-efi/ufs2.module
+usr/lib/grub/arm64-efi/verify.mod
+usr/lib/grub/arm64-efi/verify.module
+usr/lib/grub/arm64-efi/video.lst
+usr/lib/grub/arm64-efi/video.mod
+usr/lib/grub/arm64-efi/video.module
+usr/lib/grub/arm64-efi/video_colors.mod
+usr/lib/grub/arm64-efi/video_colors.module
+usr/lib/grub/arm64-efi/video_fb.mod
+usr/lib/grub/arm64-efi/video_fb.module
+usr/lib/grub/arm64-efi/videoinfo.mod
+usr/lib/grub/arm64-efi/videoinfo.module
+usr/lib/grub/arm64-efi/videotest.mod
+usr/lib/grub/arm64-efi/videotest.module
+usr/lib/grub/arm64-efi/videotest_checksum.mod
+usr/lib/grub/arm64-efi/videotest_checksum.module
+usr/lib/grub/arm64-efi/xen_boot.mod
+usr/lib/grub/arm64-efi/xen_boot.module
+usr/lib/grub/arm64-efi/xfs.mod
+usr/lib/grub/arm64-efi/xfs.module
+usr/lib/grub/arm64-efi/xnu_uuid.mod
+usr/lib/grub/arm64-efi/xnu_uuid.module
+usr/lib/grub/arm64-efi/xnu_uuid_test.mod
+usr/lib/grub/arm64-efi/xnu_uuid_test.module
+usr/lib/grub/arm64-efi/xzio.mod
+usr/lib/grub/arm64-efi/xzio.module
+usr/lib/grub/arm64-efi/zfs.mod
+usr/lib/grub/arm64-efi/zfs.module
+usr/lib/grub/arm64-efi/zfscrypt.mod
+usr/lib/grub/arm64-efi/zfscrypt.module
+usr/lib/grub/arm64-efi/zfsinfo.mod
+usr/lib/grub/arm64-efi/zfsinfo.module
+usr/sbin/grub-bios-setup
+usr/sbin/grub-install
+usr/sbin/grub-macbless
+usr/sbin/grub-mkconfig
+usr/sbin/grub-ofpathname
+usr/sbin/grub-probe
+usr/sbin/grub-reboot
+usr/sbin/grub-set-default
+usr/sbin/grub-sparc64-setup
+#usr/share/grub
+#usr/share/grub/ascii.h
+usr/share/grub/ascii.pf2
+usr/share/grub/euro.pf2
+usr/share/grub/grub-mkconfig_lib
+usr/share/grub/unicode.pf2
+#usr/share/grub/widthspec.h
+#usr/share/info/grub-dev.info
+#usr/share/info/grub.info
+#usr/share/locale/ast/LC_MESSAGES/grub.mo
+#usr/share/locale/ca/LC_MESSAGES/grub.mo
+#usr/share/locale/da/LC_MESSAGES/grub.mo
+#usr/share/locale/de/LC_MESSAGES/grub.mo
+#usr/share/locale/de@hebrew
+#usr/share/locale/de@hebrew/LC_MESSAGES
+#usr/share/locale/de@hebrew/LC_MESSAGES/grub.mo
+#usr/share/locale/de_CH
+#usr/share/locale/de_CH/LC_MESSAGES
+#usr/share/locale/de_CH/LC_MESSAGES/grub.mo
+#usr/share/locale/en@arabic
+#usr/share/locale/en@arabic/LC_MESSAGES
+#usr/share/locale/en@arabic/LC_MESSAGES/grub.mo
+#usr/share/locale/en@cyrillic
+#usr/share/locale/en@cyrillic/LC_MESSAGES
+#usr/share/locale/en@cyrillic/LC_MESSAGES/grub.mo
+#usr/share/locale/en@greek
+#usr/share/locale/en@greek/LC_MESSAGES
+#usr/share/locale/en@greek/LC_MESSAGES/grub.mo
+#usr/share/locale/en@hebrew
+#usr/share/locale/en@hebrew/LC_MESSAGES
+#usr/share/locale/en@hebrew/LC_MESSAGES/grub.mo
+#usr/share/locale/en@piglatin
+#usr/share/locale/en@piglatin/LC_MESSAGES
+#usr/share/locale/en@piglatin/LC_MESSAGES/grub.mo
+#usr/share/locale/en@quot/LC_MESSAGES/grub.mo
+#usr/share/locale/eo/LC_MESSAGES/grub.mo
+#usr/share/locale/es/LC_MESSAGES/grub.mo
+#usr/share/locale/fi/LC_MESSAGES/grub.mo
+#usr/share/locale/fr/LC_MESSAGES/grub.mo
+#usr/share/locale/gl/LC_MESSAGES/grub.mo
+#usr/share/locale/hr/LC_MESSAGES/grub.mo
+#usr/share/locale/hu/LC_MESSAGES/grub.mo
+#usr/share/locale/id/LC_MESSAGES/grub.mo
+#usr/share/locale/it/LC_MESSAGES/grub.mo
+#usr/share/locale/ja/LC_MESSAGES/grub.mo
+#usr/share/locale/ko/LC_MESSAGES/grub.mo
+#usr/share/locale/lt/LC_MESSAGES/grub.mo
+#usr/share/locale/nb/LC_MESSAGES/grub.mo
+#usr/share/locale/nl/LC_MESSAGES/grub.mo
+#usr/share/locale/pa
+#usr/share/locale/pa/LC_MESSAGES
+#usr/share/locale/pa/LC_MESSAGES/grub.mo
+#usr/share/locale/pl/LC_MESSAGES/grub.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/grub.mo
+#usr/share/locale/ru/LC_MESSAGES/grub.mo
+#usr/share/locale/sl/LC_MESSAGES/grub.mo
+#usr/share/locale/sr/LC_MESSAGES/grub.mo
+#usr/share/locale/sv/LC_MESSAGES/grub.mo
+#usr/share/locale/tr/LC_MESSAGES/grub.mo
+#usr/share/locale/uk/LC_MESSAGES/grub.mo
+#usr/share/locale/vi/LC_MESSAGES/grub.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/grub.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/grub.mo
index 34ef44080e82855139c290f5b9674ebd50b43b61..c5351db9461ebc6a166183ac79693123128101ff 100644 (file)
@@ -209,6 +209,9 @@ lib/modules/KVER-ipfire
 #lib/modules/KVER-ipfire/kernel/drivers/firewire/firewire-core.ko
 #lib/modules/KVER-ipfire/kernel/drivers/firewire/firewire-ohci.ko
 #lib/modules/KVER-ipfire/kernel/drivers/firewire/firewire-sbp2.ko
+#lib/modules/KVER-ipfire/kernel/drivers/firmware
+#lib/modules/KVER-ipfire/kernel/drivers/firmware/efi
+#lib/modules/KVER-ipfire/kernel/drivers/firmware/efi/efibc.ko
 #lib/modules/KVER-ipfire/kernel/drivers/gpio
 #lib/modules/KVER-ipfire/kernel/drivers/gpio/gpio-adnp.ko
 #lib/modules/KVER-ipfire/kernel/drivers/gpio/gpio-viperboard.ko
@@ -260,15 +263,6 @@ lib/modules/KVER-ipfire
 #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/panel/panel-simple.ko
 #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/pl111
 #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/pl111/pl111_drm.ko
-#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i
-#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i-backend.ko
-#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i-drm-hdmi.ko
-#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i-drm.ko
-#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i-tcon.ko
-#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun4i_tv.ko
-#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun6i_drc.ko
-#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun8i-mixer.ko
-#lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/sun4i/sun8i_dw_hdmi.ko
 #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/tinydrm
 #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/tinydrm/core
 #lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/tinydrm/core/tinydrm.ko
@@ -1951,6 +1945,8 @@ lib/modules/KVER-ipfire
 #lib/modules/KVER-ipfire/kernel/fs/configfs/configfs.ko
 #lib/modules/KVER-ipfire/kernel/fs/dlm
 #lib/modules/KVER-ipfire/kernel/fs/dlm/dlm.ko
+#lib/modules/KVER-ipfire/kernel/fs/efivarfs
+#lib/modules/KVER-ipfire/kernel/fs/efivarfs/efivarfs.ko
 #lib/modules/KVER-ipfire/kernel/fs/fat
 #lib/modules/KVER-ipfire/kernel/fs/fat/fat.ko
 #lib/modules/KVER-ipfire/kernel/fs/fat/msdos.ko
index 70a33d6591ce33720f9606a9348981999f95f8fb..110114c478482e0dbc4ad67bc1ab2be81e51e165 100644 (file)
@@ -103,7 +103,6 @@ usr/local/bin/scanhd
 usr/local/bin/settime
 usr/local/bin/timecheck
 usr/local/bin/timezone-transition
-usr/local/bin/update-bootloader
 usr/local/bin/update-lang-cache
 usr/local/bin/xt_geoip_build
 usr/local/bin/xt_geoip_update
diff --git a/config/rootfiles/common/cdrkit b/config/rootfiles/common/cdrkit
new file mode 100644 (file)
index 0000000..299753c
--- /dev/null
@@ -0,0 +1,46 @@
+#usr/bin/cdda2wav
+#usr/bin/cdrecord
+#usr/bin/devdump
+#usr/bin/dirsplit
+#usr/bin/dvdrecord
+usr/bin/genisoimage
+#usr/bin/isodebug
+#usr/bin/isodump
+#usr/bin/isoinfo
+#usr/bin/isovfy
+usr/bin/mkhybrid
+usr/bin/mkisofs
+#usr/bin/readom
+#usr/bin/wodim
+#usr/include/usal
+#usr/include/usal/aspi-dos.h
+#usr/include/usal/aspi-win32.h
+#usr/include/usal/pg.h
+#usr/include/usal/scsicdb.h
+#usr/include/usal/scsidefs.h
+#usr/include/usal/scsireg.h
+#usr/include/usal/scsisense.h
+#usr/include/usal/scsitransp.h
+#usr/include/usal/spti-wnt.h
+#usr/include/usal/srb_os2.h
+#usr/include/usal/usalcmd.h
+#usr/include/usal/usalio.h
+#usr/include/usal/usalops.h
+#usr/include/usal/usaltimes.h
+#usr/lib/librols.so
+usr/lib/librols.so.0
+usr/lib/librols.so.0.0.1
+#usr/lib/libusal.so
+usr/lib/libusal.so.0
+usr/lib/libusal.so.0.0.1
+#usr/sbin/netscsid
+#usr/share/man/man1/devdump.1
+#usr/share/man/man1/dirsplit.1
+#usr/share/man/man1/genisoimage.1
+#usr/share/man/man1/isodebug.1
+#usr/share/man/man1/isodump.1
+#usr/share/man/man1/isoinfo.1
+#usr/share/man/man1/isovfy.1
+#usr/share/man/man1/readom.1
+#usr/share/man/man1/wodim.1
+#usr/share/man/man5/genisoimagerc.5
diff --git a/config/rootfiles/common/dvdrtools b/config/rootfiles/common/dvdrtools
deleted file mode 100644 (file)
index 61fb046..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-#usr/bin/cdda2mp3
-#usr/bin/cdda2ogg
-#usr/bin/cdda2wav
-#usr/bin/devdump
-#usr/bin/dvdrecord
-usr/bin/isodump
-usr/bin/isoinfo
-usr/bin/isovfy
-usr/bin/mkisofs
-#usr/bin/readcd
-#usr/share/man/man1/cdda2wav.1
-#usr/share/man/man1/dvdrecord.1
-#usr/share/man/man1/readcd.1
-#usr/share/man/man8/isoinfo.8
-#usr/share/man/man8/mkisofs.8
index 6cd8a4dca382c83287262f6eb46ef00d9328dcd6..bc28d45931e5c99b99b89383892cbb7ea69563c8 100644 (file)
@@ -1,7 +1,6 @@
 #boot/grub
 boot/grub/grub.cfg
 boot/grub/splash.png
-boot/grub/unifont.pf2
 #etc/bash_completion.d
 #etc/bash_completion.d/grub
 etc/default/grub
@@ -12,8 +11,7 @@ etc/grub.d/20_linux_xen
 etc/grub.d/30_os-prober
 etc/grub.d/40_custom
 etc/grub.d/41_custom
-etc/grub.d/README
-etc/grub2.cfg
+#etc/grub.d/README
 usr/bin/grub-editenv
 usr/bin/grub-file
 usr/bin/grub-fstest
@@ -150,8 +148,6 @@ usr/lib/grub/i386-pc
 #usr/lib/grub/i386-pc/echo.module
 #usr/lib/grub/i386-pc/efiemu.mod
 #usr/lib/grub/i386-pc/efiemu.module
-#usr/lib/grub/i386-pc/efiemu32.o
-#usr/lib/grub/i386-pc/efiemu64.o
 #usr/lib/grub/i386-pc/ehci.mod
 #usr/lib/grub/i386-pc/ehci.module
 #usr/lib/grub/i386-pc/elf.mod
@@ -598,8 +594,13 @@ usr/sbin/grub-probe
 usr/sbin/grub-reboot
 usr/sbin/grub-set-default
 usr/sbin/grub-sparc64-setup
-usr/share/grub
+#usr/share/grub
+#usr/share/grub/ascii.h
+usr/share/grub/ascii.pf2
+usr/share/grub/euro.pf2
 usr/share/grub/grub-mkconfig_lib
+usr/share/grub/unicode.pf2
+#usr/share/grub/widthspec.h
 #usr/share/info/grub-dev.info
 #usr/share/info/grub.info
 #usr/share/locale/ast/LC_MESSAGES/grub.mo
index 89cf5c844921b5230a663d6518381db95779498b..0322239d0133c0e29dd7084ea60fae5e2e3d7d95 100644 (file)
@@ -14,7 +14,9 @@ usr/bin/isohybrid
 #usr/bin/syslinux2ansi
 #usr/man/man1/extlinux.1
 #usr/man/man1/gethostip.1
+#usr/man/man1/isohybrid.1
 #usr/man/man1/lss16toppm.1
+#usr/man/man1/memdiskfind.1
 #usr/man/man1/ppmtolss16.1
 #usr/man/man1/syslinux.1
 #usr/man/man1/syslinux2ansi.1
@@ -25,6 +27,7 @@ usr/bin/isohybrid
 #usr/share/syslinux/cat.c32
 #usr/share/syslinux/chain.c32
 #usr/share/syslinux/cmd.c32
+#usr/share/syslinux/cmenu.c32
 #usr/share/syslinux/com32
 #usr/share/syslinux/com32/com32.ld
 #usr/share/syslinux/com32/include
@@ -36,11 +39,26 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/bitsize/stdint.h
 #usr/share/syslinux/com32/include/bitsize/stdintconst.h
 #usr/share/syslinux/com32/include/bitsize/stdintlimits.h
+#usr/share/syslinux/com32/include/bitsize32
+#usr/share/syslinux/com32/include/bitsize32/limits.h
+#usr/share/syslinux/com32/include/bitsize32/stddef.h
+#usr/share/syslinux/com32/include/bitsize32/stdint.h
+#usr/share/syslinux/com32/include/bitsize32/stdintconst.h
+#usr/share/syslinux/com32/include/bitsize32/stdintlimits.h
+#usr/share/syslinux/com32/include/bitsize64
+#usr/share/syslinux/com32/include/bitsize64/limits.h
+#usr/share/syslinux/com32/include/bitsize64/stddef.h
+#usr/share/syslinux/com32/include/bitsize64/stdint.h
+#usr/share/syslinux/com32/include/bitsize64/stdintconst.h
+#usr/share/syslinux/com32/include/bitsize64/stdintlimits.h
 #usr/share/syslinux/com32/include/bufprintf.h
+#usr/share/syslinux/com32/include/byteswap.h
+#usr/share/syslinux/com32/include/cli.h
 #usr/share/syslinux/com32/include/colortbl.h
 #usr/share/syslinux/com32/include/com32.h
 #usr/share/syslinux/com32/include/console.h
 #usr/share/syslinux/com32/include/cpufeature.h
+#usr/share/syslinux/com32/include/ctime.h
 #usr/share/syslinux/com32/include/ctype.h
 #usr/share/syslinux/com32/include/dev.h
 #usr/share/syslinux/com32/include/dhcp.h
@@ -101,6 +119,8 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/gplinclude/vpd/vpd.h
 #usr/share/syslinux/com32/include/gplinclude/zzjson
 #usr/share/syslinux/com32/include/gplinclude/zzjson/zzjson.h
+#usr/share/syslinux/com32/include/hw
+#usr/share/syslinux/com32/include/hw/vga.h
 #usr/share/syslinux/com32/include/ilog2.h
 #usr/share/syslinux/com32/include/inttypes.h
 #usr/share/syslinux/com32/include/klibc
@@ -109,16 +129,27 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/klibc/diverr.h
 #usr/share/syslinux/com32/include/klibc/endian.h
 #usr/share/syslinux/com32/include/klibc/extern.h
+#usr/share/syslinux/com32/include/klibc/i386
+#usr/share/syslinux/com32/include/klibc/i386/archsetjmp.h
 #usr/share/syslinux/com32/include/klibc/sysconfig.h
+#usr/share/syslinux/com32/include/klibc/x86_64
+#usr/share/syslinux/com32/include/klibc/x86_64/archsetjmp.h
 #usr/share/syslinux/com32/include/libansi.h
 #usr/share/syslinux/com32/include/limits.h
+#usr/share/syslinux/com32/include/linux
+#usr/share/syslinux/com32/include/linux/list.h
 #usr/share/syslinux/com32/include/math.h
+#usr/share/syslinux/com32/include/menu.h
 #usr/share/syslinux/com32/include/minmax.h
 #usr/share/syslinux/com32/include/netinet
 #usr/share/syslinux/com32/include/netinet/in.h
 #usr/share/syslinux/com32/include/png.h
 #usr/share/syslinux/com32/include/pngconf.h
+#usr/share/syslinux/com32/include/refstr.h
+#usr/share/syslinux/com32/include/serial.h
 #usr/share/syslinux/com32/include/setjmp.h
+#usr/share/syslinux/com32/include/sort.h
+#usr/share/syslinux/com32/include/srecsend.h
 #usr/share/syslinux/com32/include/stdarg.h
 #usr/share/syslinux/com32/include/stdbool.h
 #usr/share/syslinux/com32/include/stddef.h
@@ -134,14 +165,24 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/sys/elf32.h
 #usr/share/syslinux/com32/include/sys/elf64.h
 #usr/share/syslinux/com32/include/sys/elfcommon.h
+#usr/share/syslinux/com32/include/sys/exec.h
 #usr/share/syslinux/com32/include/sys/fpu.h
 #usr/share/syslinux/com32/include/sys/gpxe.h
+#usr/share/syslinux/com32/include/sys/i386
+#usr/share/syslinux/com32/include/sys/i386/bitops.h
+#usr/share/syslinux/com32/include/sys/i386/cpu.h
+#usr/share/syslinux/com32/include/sys/i386/module.h
 #usr/share/syslinux/com32/include/sys/io.h
+#usr/share/syslinux/com32/include/sys/module.h
 #usr/share/syslinux/com32/include/sys/pci.h
 #usr/share/syslinux/com32/include/sys/stat.h
 #usr/share/syslinux/com32/include/sys/time.h
 #usr/share/syslinux/com32/include/sys/times.h
 #usr/share/syslinux/com32/include/sys/types.h
+#usr/share/syslinux/com32/include/sys/x86_64
+#usr/share/syslinux/com32/include/sys/x86_64/bitops.h
+#usr/share/syslinux/com32/include/sys/x86_64/cpu.h
+#usr/share/syslinux/com32/include/sys/x86_64/module.h
 #usr/share/syslinux/com32/include/syslinux
 #usr/share/syslinux/com32/include/syslinux/adv.h
 #usr/share/syslinux/com32/include/syslinux/advconst.h
@@ -150,8 +191,9 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/syslinux/bootpm.h
 #usr/share/syslinux/com32/include/syslinux/bootrm.h
 #usr/share/syslinux/com32/include/syslinux/config.h
+#usr/share/syslinux/com32/include/syslinux/debug.h
 #usr/share/syslinux/com32/include/syslinux/disk.h
-#usr/share/syslinux/com32/include/syslinux/features.h
+#usr/share/syslinux/com32/include/syslinux/firmware.h
 #usr/share/syslinux/com32/include/syslinux/idle.h
 #usr/share/syslinux/com32/include/syslinux/io.h
 #usr/share/syslinux/com32/include/syslinux/keyboard.h
@@ -164,27 +206,35 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/syslinux/pxe_api.h
 #usr/share/syslinux/com32/include/syslinux/reboot.h
 #usr/share/syslinux/com32/include/syslinux/resolve.h
+#usr/share/syslinux/com32/include/syslinux/sysappend.h
+#usr/share/syslinux/com32/include/syslinux/version.h
 #usr/share/syslinux/com32/include/syslinux/vesacon.h
 #usr/share/syslinux/com32/include/syslinux/video.h
 #usr/share/syslinux/com32/include/syslinux/zio.h
+#usr/share/syslinux/com32/include/tftp.h
 #usr/share/syslinux/com32/include/time.h
 #usr/share/syslinux/com32/include/tinyjpeg.h
 #usr/share/syslinux/com32/include/unistd.h
+#usr/share/syslinux/com32/include/upload_backend.h
 #usr/share/syslinux/com32/include/zconf.h
 #usr/share/syslinux/com32/include/zlib.h
-#usr/share/syslinux/com32/libcom32.a
-#usr/share/syslinux/com32/libcom32gpl.a
 #usr/share/syslinux/com32/libcom32upload.a
-#usr/share/syslinux/com32/libutil_com.a
+#usr/share/syslinux/com32/libgpl.c32
 #usr/share/syslinux/com32/libutil_lnx.a
 #usr/share/syslinux/config.c32
+#usr/share/syslinux/cptime.c32
+#usr/share/syslinux/cpu.c32
 #usr/share/syslinux/cpuid.c32
 #usr/share/syslinux/cpuidtest.c32
+#usr/share/syslinux/debug.c32
+#usr/share/syslinux/dhcp.c32
 #usr/share/syslinux/diag
 #usr/share/syslinux/diag/geodsp1s.img.xz
 #usr/share/syslinux/diag/geodspms.img.xz
 #usr/share/syslinux/diag/handoff.bin
+#usr/share/syslinux/dir.c32
 #usr/share/syslinux/disk.c32
+#usr/share/syslinux/dmi.c32
 #usr/share/syslinux/dmitest.c32
 #usr/share/syslinux/dosutil
 #usr/share/syslinux/dosutil/copybs.com
@@ -197,15 +247,13 @@ usr/bin/isohybrid
 #usr/share/syslinux/gptmbr_c.bin
 #usr/share/syslinux/gptmbr_f.bin
 #usr/share/syslinux/gpxecmd.c32
-#usr/share/syslinux/gpxelinux.0
-#usr/share/syslinux/gpxelinuxk.0
 #usr/share/syslinux/hdt.c32
+#usr/share/syslinux/hexdump.c32
 #usr/share/syslinux/host.c32
 #usr/share/syslinux/ifcpu.c32
 #usr/share/syslinux/ifcpu64.c32
 #usr/share/syslinux/ifmemdsk.c32
 #usr/share/syslinux/ifplop.c32
-#usr/share/syslinux/int18.com
 #usr/share/syslinux/isohdpfx.bin
 #usr/share/syslinux/isohdpfx_c.bin
 #usr/share/syslinux/isohdpfx_f.bin
@@ -216,7 +264,15 @@ usr/bin/isohybrid
 #usr/share/syslinux/isolinux.bin
 #usr/share/syslinux/kbdmap.c32
 #usr/share/syslinux/kontron_wdt.c32
+#usr/share/syslinux/ldlinux.c32
+#usr/share/syslinux/lfs.c32
+#usr/share/syslinux/libcom32.c32
+#usr/share/syslinux/libgpl.c32
+#usr/share/syslinux/liblua.c32
+#usr/share/syslinux/libmenu.c32
+#usr/share/syslinux/libutil.c32
 #usr/share/syslinux/linux.c32
+#usr/share/syslinux/lpxelinux.0
 #usr/share/syslinux/ls.c32
 #usr/share/syslinux/lua.c32
 #usr/share/syslinux/mboot.c32
@@ -224,15 +280,14 @@ usr/bin/isohybrid
 #usr/share/syslinux/mbr_c.bin
 #usr/share/syslinux/mbr_f.bin
 #usr/share/syslinux/memdisk
-#usr/share/syslinux/memdump.com
 #usr/share/syslinux/meminfo.c32
 #usr/share/syslinux/menu.c32
+#usr/share/syslinux/pci.c32
 #usr/share/syslinux/pcitest.c32
 #usr/share/syslinux/pmload.c32
-#usr/share/syslinux/poweroff.com
+#usr/share/syslinux/poweroff.c32
 #usr/share/syslinux/prdhcp.c32
 #usr/share/syslinux/pwd.c32
-#usr/share/syslinux/pxechain.com
 #usr/share/syslinux/pxechn.c32
 #usr/share/syslinux/pxelinux.0
 #usr/share/syslinux/reboot.c32
@@ -240,10 +295,9 @@ usr/bin/isohybrid
 #usr/share/syslinux/sanboot.c32
 #usr/share/syslinux/sdi.c32
 #usr/share/syslinux/sysdump.c32
+#usr/share/syslinux/syslinux.c32
 #usr/share/syslinux/syslinux.com
-#usr/share/syslinux/syslinux.exe
-#usr/share/syslinux/syslinux64.exe
-#usr/share/syslinux/ver.com
+#usr/share/syslinux/vesa.c32
 #usr/share/syslinux/vesainfo.c32
 #usr/share/syslinux/vesamenu.c32
 #usr/share/syslinux/vpdtest.c32
index ff8cda5981b66b75ed61dcfbdab7ce282e77292f..d4abb97aac0550699a820fc2241270d7892c84e4 100644 (file)
@@ -1,5 +1,6 @@
 #usr/bin/downloadsource.sh
 #usr/bin/execute-postinstall.sh
+usr/bin/install-bootloader
 #usr/bin/installer
 #usr/bin/start-networking.sh
 #usr/lib/dracut/modules.d/99installer
index 223a580cb0831809e47444627bc6a48c14d68c53..6e43eeb3a16ef1414cc6c75b50d03db6fbeb570a 100644 (file)
 #usr/lib/libparted-fs-resize.la
 #usr/lib/libparted-fs-resize.so
 usr/lib/libparted-fs-resize.so.0
-usr/lib/libparted-fs-resize.so.0.0.0
+usr/lib/libparted-fs-resize.so.0.0.1
 #usr/lib/libparted.a
 #usr/lib/libparted.la
 #usr/lib/libparted.so
 usr/lib/libparted.so.2
-usr/lib/libparted.so.2.0.0
+usr/lib/libparted.so.2.0.1
 #usr/lib/pkgconfig/libparted.pc
 usr/sbin/parted
 usr/sbin/partprobe
index a5ba6ae26969ac3e53b05fda5fa8eac524d0b4b9..5665f230129c36fa2829d266b2f3d44b5b90bc44 100644 (file)
@@ -101,7 +101,6 @@ usr/local/bin/scanhd
 usr/local/bin/settime
 usr/local/bin/timecheck
 usr/local/bin/timezone-transition
-usr/local/bin/update-bootloader
 usr/local/bin/update-lang-cache
 usr/local/bin/xt_geoip_build
 usr/local/bin/xt_geoip_update
diff --git a/config/rootfiles/common/x86_64/efibootmgr b/config/rootfiles/common/x86_64/efibootmgr
new file mode 100644 (file)
index 0000000..56a0eb1
--- /dev/null
@@ -0,0 +1,4 @@
+usr/sbin/efibootdump
+usr/sbin/efibootmgr
+#usr/share/man/man8/efibootdump.8
+#usr/share/man/man8/efibootmgr.8
diff --git a/config/rootfiles/common/x86_64/efivar b/config/rootfiles/common/x86_64/efivar
new file mode 100644 (file)
index 0000000..4018e4c
--- /dev/null
@@ -0,0 +1,46 @@
+usr/bin/efivar
+#usr/include/efivar
+#usr/include/efivar/efiboot-creator.h
+#usr/include/efivar/efiboot-loadopt.h
+#usr/include/efivar/efiboot.h
+#usr/include/efivar/efivar-dp.h
+#usr/include/efivar/efivar-guids.h
+#usr/include/efivar/efivar.h
+#usr/lib/libefiboot.so
+usr/lib/libefiboot.so.1
+usr/lib/libefiboot.so.1.35
+#usr/lib/libefivar.so
+usr/lib/libefivar.so.1
+usr/lib/libefivar.so.1.35
+#usr/lib/pkgconfig/efiboot.pc
+#usr/lib/pkgconfig/efivar.pc
+#usr/share/man/man1/efivar.1
+#usr/share/man/man3/efi_append_variable.3
+#usr/share/man/man3/efi_del_variable.3
+#usr/share/man/man3/efi_get_next_variable_name.3
+#usr/share/man/man3/efi_get_variable.3
+#usr/share/man/man3/efi_get_variable_attributes.3
+#usr/share/man/man3/efi_get_variable_size.3
+#usr/share/man/man3/efi_guid_to_id_guid.3
+#usr/share/man/man3/efi_guid_to_name.3
+#usr/share/man/man3/efi_guid_to_str.3
+#usr/share/man/man3/efi_guid_to_symbol.3
+#usr/share/man/man3/efi_name_to_guid.3
+#usr/share/man/man3/efi_set_variable.3
+#usr/share/man/man3/efi_str_to_guid.3
+#usr/share/man/man3/efi_symbol_to_guid.3
+#usr/share/man/man3/efi_variable_alloc.3
+#usr/share/man/man3/efi_variable_export.3
+#usr/share/man/man3/efi_variable_free.3
+#usr/share/man/man3/efi_variable_get_attributes.3
+#usr/share/man/man3/efi_variable_get_data.3
+#usr/share/man/man3/efi_variable_get_guid.3
+#usr/share/man/man3/efi_variable_get_name.3
+#usr/share/man/man3/efi_variable_import.3
+#usr/share/man/man3/efi_variable_realize.3
+#usr/share/man/man3/efi_variable_set_attributes.3
+#usr/share/man/man3/efi_variable_set_data.3
+#usr/share/man/man3/efi_variable_set_guid.3
+#usr/share/man/man3/efi_variable_set_name.3
+#usr/share/man/man3/efi_variable_t.3
+#usr/share/man/man3/efi_variables_supported.3
index 6cd8a4dca382c83287262f6eb46ef00d9328dcd6..d64a9881917e45745db0bfc4d78918c8aa731fd6 100644 (file)
@@ -1,7 +1,6 @@
 #boot/grub
 boot/grub/grub.cfg
 boot/grub/splash.png
-boot/grub/unifont.pf2
 #etc/bash_completion.d
 #etc/bash_completion.d/grub
 etc/default/grub
@@ -12,8 +11,7 @@ etc/grub.d/20_linux_xen
 etc/grub.d/30_os-prober
 etc/grub.d/40_custom
 etc/grub.d/41_custom
-etc/grub.d/README
-etc/grub2.cfg
+#etc/grub.d/README
 usr/bin/grub-editenv
 usr/bin/grub-file
 usr/bin/grub-fstest
@@ -33,562 +31,1087 @@ usr/bin/grub-script-check
 usr/bin/grub-syslinux2cfg
 #usr/lib/grub
 usr/lib/grub/i386-pc
-#usr/lib/grub/i386-pc/acpi.mod
-#usr/lib/grub/i386-pc/acpi.module
-#usr/lib/grub/i386-pc/adler32.mod
-#usr/lib/grub/i386-pc/adler32.module
-#usr/lib/grub/i386-pc/affs.mod
-#usr/lib/grub/i386-pc/affs.module
-#usr/lib/grub/i386-pc/afs.mod
-#usr/lib/grub/i386-pc/afs.module
-#usr/lib/grub/i386-pc/ahci.mod
-#usr/lib/grub/i386-pc/ahci.module
-#usr/lib/grub/i386-pc/all_video.mod
-#usr/lib/grub/i386-pc/all_video.module
-#usr/lib/grub/i386-pc/aout.mod
-#usr/lib/grub/i386-pc/aout.module
-#usr/lib/grub/i386-pc/archelp.mod
-#usr/lib/grub/i386-pc/archelp.module
-#usr/lib/grub/i386-pc/at_keyboard.mod
-#usr/lib/grub/i386-pc/at_keyboard.module
-#usr/lib/grub/i386-pc/ata.mod
-#usr/lib/grub/i386-pc/ata.module
-#usr/lib/grub/i386-pc/backtrace.mod
-#usr/lib/grub/i386-pc/backtrace.module
-#usr/lib/grub/i386-pc/bfs.mod
-#usr/lib/grub/i386-pc/bfs.module
-#usr/lib/grub/i386-pc/biosdisk.mod
-#usr/lib/grub/i386-pc/biosdisk.module
-#usr/lib/grub/i386-pc/bitmap.mod
-#usr/lib/grub/i386-pc/bitmap.module
-#usr/lib/grub/i386-pc/bitmap_scale.mod
-#usr/lib/grub/i386-pc/bitmap_scale.module
-#usr/lib/grub/i386-pc/blocklist.mod
-#usr/lib/grub/i386-pc/blocklist.module
-#usr/lib/grub/i386-pc/boot.image
-#usr/lib/grub/i386-pc/boot.img
-#usr/lib/grub/i386-pc/boot.mod
-#usr/lib/grub/i386-pc/boot.module
-#usr/lib/grub/i386-pc/boot_hybrid.image
-#usr/lib/grub/i386-pc/boot_hybrid.img
-#usr/lib/grub/i386-pc/bsd.mod
-#usr/lib/grub/i386-pc/bsd.module
-#usr/lib/grub/i386-pc/bswap_test.mod
-#usr/lib/grub/i386-pc/bswap_test.module
-#usr/lib/grub/i386-pc/btrfs.mod
-#usr/lib/grub/i386-pc/btrfs.module
-#usr/lib/grub/i386-pc/bufio.mod
-#usr/lib/grub/i386-pc/bufio.module
-#usr/lib/grub/i386-pc/cat.mod
-#usr/lib/grub/i386-pc/cat.module
-#usr/lib/grub/i386-pc/cbfs.mod
-#usr/lib/grub/i386-pc/cbfs.module
-#usr/lib/grub/i386-pc/cbls.mod
-#usr/lib/grub/i386-pc/cbls.module
-#usr/lib/grub/i386-pc/cbmemc.mod
-#usr/lib/grub/i386-pc/cbmemc.module
-#usr/lib/grub/i386-pc/cbtable.mod
-#usr/lib/grub/i386-pc/cbtable.module
-#usr/lib/grub/i386-pc/cbtime.mod
-#usr/lib/grub/i386-pc/cbtime.module
-#usr/lib/grub/i386-pc/cdboot.image
-#usr/lib/grub/i386-pc/cdboot.img
-#usr/lib/grub/i386-pc/chain.mod
-#usr/lib/grub/i386-pc/chain.module
-#usr/lib/grub/i386-pc/cmdline_cat_test.mod
-#usr/lib/grub/i386-pc/cmdline_cat_test.module
-#usr/lib/grub/i386-pc/cmosdump.mod
-#usr/lib/grub/i386-pc/cmosdump.module
-#usr/lib/grub/i386-pc/cmostest.mod
-#usr/lib/grub/i386-pc/cmostest.module
-#usr/lib/grub/i386-pc/cmp.mod
-#usr/lib/grub/i386-pc/cmp.module
-#usr/lib/grub/i386-pc/cmp_test.mod
-#usr/lib/grub/i386-pc/cmp_test.module
-#usr/lib/grub/i386-pc/command.lst
-#usr/lib/grub/i386-pc/config.h
-#usr/lib/grub/i386-pc/configfile.mod
-#usr/lib/grub/i386-pc/configfile.module
-#usr/lib/grub/i386-pc/cpio.mod
-#usr/lib/grub/i386-pc/cpio.module
-#usr/lib/grub/i386-pc/cpio_be.mod
-#usr/lib/grub/i386-pc/cpio_be.module
-#usr/lib/grub/i386-pc/cpuid.mod
-#usr/lib/grub/i386-pc/cpuid.module
-#usr/lib/grub/i386-pc/crc64.mod
-#usr/lib/grub/i386-pc/crc64.module
-#usr/lib/grub/i386-pc/crypto.lst
-#usr/lib/grub/i386-pc/crypto.mod
-#usr/lib/grub/i386-pc/crypto.module
-#usr/lib/grub/i386-pc/cryptodisk.mod
-#usr/lib/grub/i386-pc/cryptodisk.module
-#usr/lib/grub/i386-pc/cs5536.mod
-#usr/lib/grub/i386-pc/cs5536.module
-#usr/lib/grub/i386-pc/ctz_test.mod
-#usr/lib/grub/i386-pc/ctz_test.module
-#usr/lib/grub/i386-pc/date.mod
-#usr/lib/grub/i386-pc/date.module
-#usr/lib/grub/i386-pc/datehook.mod
-#usr/lib/grub/i386-pc/datehook.module
-#usr/lib/grub/i386-pc/datetime.mod
-#usr/lib/grub/i386-pc/datetime.module
-#usr/lib/grub/i386-pc/disk.mod
-#usr/lib/grub/i386-pc/disk.module
-#usr/lib/grub/i386-pc/diskboot.image
-#usr/lib/grub/i386-pc/diskboot.img
-#usr/lib/grub/i386-pc/diskfilter.mod
-#usr/lib/grub/i386-pc/diskfilter.module
-#usr/lib/grub/i386-pc/div.mod
-#usr/lib/grub/i386-pc/div.module
-#usr/lib/grub/i386-pc/div_test.mod
-#usr/lib/grub/i386-pc/div_test.module
-#usr/lib/grub/i386-pc/dm_nv.mod
-#usr/lib/grub/i386-pc/dm_nv.module
-#usr/lib/grub/i386-pc/drivemap.mod
-#usr/lib/grub/i386-pc/drivemap.module
-#usr/lib/grub/i386-pc/echo.mod
-#usr/lib/grub/i386-pc/echo.module
-#usr/lib/grub/i386-pc/efiemu.mod
-#usr/lib/grub/i386-pc/efiemu.module
-#usr/lib/grub/i386-pc/efiemu32.o
-#usr/lib/grub/i386-pc/efiemu64.o
-#usr/lib/grub/i386-pc/ehci.mod
-#usr/lib/grub/i386-pc/ehci.module
-#usr/lib/grub/i386-pc/elf.mod
-#usr/lib/grub/i386-pc/elf.module
-#usr/lib/grub/i386-pc/eval.mod
-#usr/lib/grub/i386-pc/eval.module
-#usr/lib/grub/i386-pc/exfat.mod
-#usr/lib/grub/i386-pc/exfat.module
-#usr/lib/grub/i386-pc/exfctest.mod
-#usr/lib/grub/i386-pc/exfctest.module
-#usr/lib/grub/i386-pc/ext2.mod
-#usr/lib/grub/i386-pc/ext2.module
-#usr/lib/grub/i386-pc/extcmd.mod
-#usr/lib/grub/i386-pc/extcmd.module
-#usr/lib/grub/i386-pc/fat.mod
-#usr/lib/grub/i386-pc/fat.module
-#usr/lib/grub/i386-pc/file.mod
-#usr/lib/grub/i386-pc/file.module
-#usr/lib/grub/i386-pc/font.mod
-#usr/lib/grub/i386-pc/font.module
-#usr/lib/grub/i386-pc/freedos.mod
-#usr/lib/grub/i386-pc/freedos.module
-#usr/lib/grub/i386-pc/fs.lst
-#usr/lib/grub/i386-pc/fshelp.mod
-#usr/lib/grub/i386-pc/fshelp.module
-#usr/lib/grub/i386-pc/functional_test.mod
-#usr/lib/grub/i386-pc/functional_test.module
-#usr/lib/grub/i386-pc/gcry_arcfour.mod
-#usr/lib/grub/i386-pc/gcry_arcfour.module
-#usr/lib/grub/i386-pc/gcry_blowfish.mod
-#usr/lib/grub/i386-pc/gcry_blowfish.module
-#usr/lib/grub/i386-pc/gcry_camellia.mod
-#usr/lib/grub/i386-pc/gcry_camellia.module
-#usr/lib/grub/i386-pc/gcry_cast5.mod
-#usr/lib/grub/i386-pc/gcry_cast5.module
-#usr/lib/grub/i386-pc/gcry_crc.mod
-#usr/lib/grub/i386-pc/gcry_crc.module
-#usr/lib/grub/i386-pc/gcry_des.mod
-#usr/lib/grub/i386-pc/gcry_des.module
-#usr/lib/grub/i386-pc/gcry_dsa.mod
-#usr/lib/grub/i386-pc/gcry_dsa.module
-#usr/lib/grub/i386-pc/gcry_idea.mod
-#usr/lib/grub/i386-pc/gcry_idea.module
-#usr/lib/grub/i386-pc/gcry_md4.mod
-#usr/lib/grub/i386-pc/gcry_md4.module
-#usr/lib/grub/i386-pc/gcry_md5.mod
-#usr/lib/grub/i386-pc/gcry_md5.module
-#usr/lib/grub/i386-pc/gcry_rfc2268.mod
-#usr/lib/grub/i386-pc/gcry_rfc2268.module
-#usr/lib/grub/i386-pc/gcry_rijndael.mod
-#usr/lib/grub/i386-pc/gcry_rijndael.module
-#usr/lib/grub/i386-pc/gcry_rmd160.mod
-#usr/lib/grub/i386-pc/gcry_rmd160.module
-#usr/lib/grub/i386-pc/gcry_rsa.mod
-#usr/lib/grub/i386-pc/gcry_rsa.module
-#usr/lib/grub/i386-pc/gcry_seed.mod
-#usr/lib/grub/i386-pc/gcry_seed.module
-#usr/lib/grub/i386-pc/gcry_serpent.mod
-#usr/lib/grub/i386-pc/gcry_serpent.module
-#usr/lib/grub/i386-pc/gcry_sha1.mod
-#usr/lib/grub/i386-pc/gcry_sha1.module
-#usr/lib/grub/i386-pc/gcry_sha256.mod
-#usr/lib/grub/i386-pc/gcry_sha256.module
-#usr/lib/grub/i386-pc/gcry_sha512.mod
-#usr/lib/grub/i386-pc/gcry_sha512.module
-#usr/lib/grub/i386-pc/gcry_tiger.mod
-#usr/lib/grub/i386-pc/gcry_tiger.module
-#usr/lib/grub/i386-pc/gcry_twofish.mod
-#usr/lib/grub/i386-pc/gcry_twofish.module
-#usr/lib/grub/i386-pc/gcry_whirlpool.mod
-#usr/lib/grub/i386-pc/gcry_whirlpool.module
-#usr/lib/grub/i386-pc/gdb.mod
-#usr/lib/grub/i386-pc/gdb.module
-#usr/lib/grub/i386-pc/gdb_grub
-#usr/lib/grub/i386-pc/geli.mod
-#usr/lib/grub/i386-pc/geli.module
-#usr/lib/grub/i386-pc/gettext.mod
-#usr/lib/grub/i386-pc/gettext.module
-#usr/lib/grub/i386-pc/gfxmenu.mod
-#usr/lib/grub/i386-pc/gfxmenu.module
-#usr/lib/grub/i386-pc/gfxterm.mod
-#usr/lib/grub/i386-pc/gfxterm.module
-#usr/lib/grub/i386-pc/gfxterm_background.mod
-#usr/lib/grub/i386-pc/gfxterm_background.module
-#usr/lib/grub/i386-pc/gfxterm_menu.mod
-#usr/lib/grub/i386-pc/gfxterm_menu.module
-#usr/lib/grub/i386-pc/gmodule.pl
-#usr/lib/grub/i386-pc/gptsync.mod
-#usr/lib/grub/i386-pc/gptsync.module
-#usr/lib/grub/i386-pc/gzio.mod
-#usr/lib/grub/i386-pc/gzio.module
-#usr/lib/grub/i386-pc/halt.mod
-#usr/lib/grub/i386-pc/halt.module
-#usr/lib/grub/i386-pc/hashsum.mod
-#usr/lib/grub/i386-pc/hashsum.module
-#usr/lib/grub/i386-pc/hdparm.mod
-#usr/lib/grub/i386-pc/hdparm.module
-#usr/lib/grub/i386-pc/hello.mod
-#usr/lib/grub/i386-pc/hello.module
-#usr/lib/grub/i386-pc/help.mod
-#usr/lib/grub/i386-pc/help.module
-#usr/lib/grub/i386-pc/hexdump.mod
-#usr/lib/grub/i386-pc/hexdump.module
-#usr/lib/grub/i386-pc/hfs.mod
-#usr/lib/grub/i386-pc/hfs.module
-#usr/lib/grub/i386-pc/hfsplus.mod
-#usr/lib/grub/i386-pc/hfsplus.module
-#usr/lib/grub/i386-pc/hfspluscomp.mod
-#usr/lib/grub/i386-pc/hfspluscomp.module
-#usr/lib/grub/i386-pc/http.mod
-#usr/lib/grub/i386-pc/http.module
-#usr/lib/grub/i386-pc/iorw.mod
-#usr/lib/grub/i386-pc/iorw.module
-#usr/lib/grub/i386-pc/iso9660.mod
-#usr/lib/grub/i386-pc/iso9660.module
-#usr/lib/grub/i386-pc/jfs.mod
-#usr/lib/grub/i386-pc/jfs.module
-#usr/lib/grub/i386-pc/jpeg.mod
-#usr/lib/grub/i386-pc/jpeg.module
-#usr/lib/grub/i386-pc/kernel.exec
-#usr/lib/grub/i386-pc/kernel.img
-#usr/lib/grub/i386-pc/keylayouts.mod
-#usr/lib/grub/i386-pc/keylayouts.module
-#usr/lib/grub/i386-pc/keystatus.mod
-#usr/lib/grub/i386-pc/keystatus.module
-#usr/lib/grub/i386-pc/ldm.mod
-#usr/lib/grub/i386-pc/ldm.module
-#usr/lib/grub/i386-pc/legacy_password_test.mod
-#usr/lib/grub/i386-pc/legacy_password_test.module
-#usr/lib/grub/i386-pc/legacycfg.mod
-#usr/lib/grub/i386-pc/legacycfg.module
-#usr/lib/grub/i386-pc/linux.mod
-#usr/lib/grub/i386-pc/linux.module
-#usr/lib/grub/i386-pc/linux16.mod
-#usr/lib/grub/i386-pc/linux16.module
-#usr/lib/grub/i386-pc/lnxboot.image
-#usr/lib/grub/i386-pc/lnxboot.img
-#usr/lib/grub/i386-pc/loadenv.mod
-#usr/lib/grub/i386-pc/loadenv.module
-#usr/lib/grub/i386-pc/loopback.mod
-#usr/lib/grub/i386-pc/loopback.module
-#usr/lib/grub/i386-pc/ls.mod
-#usr/lib/grub/i386-pc/ls.module
-#usr/lib/grub/i386-pc/lsacpi.mod
-#usr/lib/grub/i386-pc/lsacpi.module
-#usr/lib/grub/i386-pc/lsapm.mod
-#usr/lib/grub/i386-pc/lsapm.module
-#usr/lib/grub/i386-pc/lsmmap.mod
-#usr/lib/grub/i386-pc/lsmmap.module
-#usr/lib/grub/i386-pc/lspci.mod
-#usr/lib/grub/i386-pc/lspci.module
-#usr/lib/grub/i386-pc/luks.mod
-#usr/lib/grub/i386-pc/luks.module
-#usr/lib/grub/i386-pc/lvm.mod
-#usr/lib/grub/i386-pc/lvm.module
-#usr/lib/grub/i386-pc/lzma_decompress.image
-#usr/lib/grub/i386-pc/lzma_decompress.img
-#usr/lib/grub/i386-pc/lzopio.mod
-#usr/lib/grub/i386-pc/lzopio.module
-#usr/lib/grub/i386-pc/macbless.mod
-#usr/lib/grub/i386-pc/macbless.module
-#usr/lib/grub/i386-pc/macho.mod
-#usr/lib/grub/i386-pc/macho.module
-#usr/lib/grub/i386-pc/mda_text.mod
-#usr/lib/grub/i386-pc/mda_text.module
-#usr/lib/grub/i386-pc/mdraid09.mod
-#usr/lib/grub/i386-pc/mdraid09.module
-#usr/lib/grub/i386-pc/mdraid09_be.mod
-#usr/lib/grub/i386-pc/mdraid09_be.module
-#usr/lib/grub/i386-pc/mdraid1x.mod
-#usr/lib/grub/i386-pc/mdraid1x.module
-#usr/lib/grub/i386-pc/memdisk.mod
-#usr/lib/grub/i386-pc/memdisk.module
-#usr/lib/grub/i386-pc/memrw.mod
-#usr/lib/grub/i386-pc/memrw.module
-#usr/lib/grub/i386-pc/minicmd.mod
-#usr/lib/grub/i386-pc/minicmd.module
-#usr/lib/grub/i386-pc/minix.mod
-#usr/lib/grub/i386-pc/minix.module
-#usr/lib/grub/i386-pc/minix2.mod
-#usr/lib/grub/i386-pc/minix2.module
-#usr/lib/grub/i386-pc/minix2_be.mod
-#usr/lib/grub/i386-pc/minix2_be.module
-#usr/lib/grub/i386-pc/minix3.mod
-#usr/lib/grub/i386-pc/minix3.module
-#usr/lib/grub/i386-pc/minix3_be.mod
-#usr/lib/grub/i386-pc/minix3_be.module
-#usr/lib/grub/i386-pc/minix_be.mod
-#usr/lib/grub/i386-pc/minix_be.module
-#usr/lib/grub/i386-pc/mmap.mod
-#usr/lib/grub/i386-pc/mmap.module
-#usr/lib/grub/i386-pc/moddep.lst
-#usr/lib/grub/i386-pc/modinfo.sh
-#usr/lib/grub/i386-pc/morse.mod
-#usr/lib/grub/i386-pc/morse.module
-#usr/lib/grub/i386-pc/mpi.mod
-#usr/lib/grub/i386-pc/mpi.module
-#usr/lib/grub/i386-pc/msdospart.mod
-#usr/lib/grub/i386-pc/msdospart.module
-#usr/lib/grub/i386-pc/mul_test.mod
-#usr/lib/grub/i386-pc/mul_test.module
-#usr/lib/grub/i386-pc/multiboot.mod
-#usr/lib/grub/i386-pc/multiboot.module
-#usr/lib/grub/i386-pc/multiboot2.mod
-#usr/lib/grub/i386-pc/multiboot2.module
-#usr/lib/grub/i386-pc/nativedisk.mod
-#usr/lib/grub/i386-pc/nativedisk.module
-#usr/lib/grub/i386-pc/net.mod
-#usr/lib/grub/i386-pc/net.module
-#usr/lib/grub/i386-pc/newc.mod
-#usr/lib/grub/i386-pc/newc.module
-#usr/lib/grub/i386-pc/nilfs2.mod
-#usr/lib/grub/i386-pc/nilfs2.module
-#usr/lib/grub/i386-pc/normal.mod
-#usr/lib/grub/i386-pc/normal.module
-#usr/lib/grub/i386-pc/ntfs.mod
-#usr/lib/grub/i386-pc/ntfs.module
-#usr/lib/grub/i386-pc/ntfscomp.mod
-#usr/lib/grub/i386-pc/ntfscomp.module
-#usr/lib/grub/i386-pc/ntldr.mod
-#usr/lib/grub/i386-pc/ntldr.module
-#usr/lib/grub/i386-pc/odc.mod
-#usr/lib/grub/i386-pc/odc.module
-#usr/lib/grub/i386-pc/offsetio.mod
-#usr/lib/grub/i386-pc/offsetio.module
-#usr/lib/grub/i386-pc/ohci.mod
-#usr/lib/grub/i386-pc/ohci.module
-#usr/lib/grub/i386-pc/part_acorn.mod
-#usr/lib/grub/i386-pc/part_acorn.module
-#usr/lib/grub/i386-pc/part_amiga.mod
-#usr/lib/grub/i386-pc/part_amiga.module
-#usr/lib/grub/i386-pc/part_apple.mod
-#usr/lib/grub/i386-pc/part_apple.module
-#usr/lib/grub/i386-pc/part_bsd.mod
-#usr/lib/grub/i386-pc/part_bsd.module
-#usr/lib/grub/i386-pc/part_dfly.mod
-#usr/lib/grub/i386-pc/part_dfly.module
-#usr/lib/grub/i386-pc/part_dvh.mod
-#usr/lib/grub/i386-pc/part_dvh.module
-#usr/lib/grub/i386-pc/part_gpt.mod
-#usr/lib/grub/i386-pc/part_gpt.module
-#usr/lib/grub/i386-pc/part_msdos.mod
-#usr/lib/grub/i386-pc/part_msdos.module
-#usr/lib/grub/i386-pc/part_plan.mod
-#usr/lib/grub/i386-pc/part_plan.module
-#usr/lib/grub/i386-pc/part_sun.mod
-#usr/lib/grub/i386-pc/part_sun.module
-#usr/lib/grub/i386-pc/part_sunpc.mod
-#usr/lib/grub/i386-pc/part_sunpc.module
-#usr/lib/grub/i386-pc/partmap.lst
-#usr/lib/grub/i386-pc/parttool.lst
-#usr/lib/grub/i386-pc/parttool.mod
-#usr/lib/grub/i386-pc/parttool.module
-#usr/lib/grub/i386-pc/password.mod
-#usr/lib/grub/i386-pc/password.module
-#usr/lib/grub/i386-pc/password_pbkdf2.mod
-#usr/lib/grub/i386-pc/password_pbkdf2.module
-#usr/lib/grub/i386-pc/pata.mod
-#usr/lib/grub/i386-pc/pata.module
-#usr/lib/grub/i386-pc/pbkdf2.mod
-#usr/lib/grub/i386-pc/pbkdf2.module
-#usr/lib/grub/i386-pc/pbkdf2_test.mod
-#usr/lib/grub/i386-pc/pbkdf2_test.module
-#usr/lib/grub/i386-pc/pci.mod
-#usr/lib/grub/i386-pc/pci.module
-#usr/lib/grub/i386-pc/pcidump.mod
-#usr/lib/grub/i386-pc/pcidump.module
-#usr/lib/grub/i386-pc/plan9.mod
-#usr/lib/grub/i386-pc/plan9.module
-#usr/lib/grub/i386-pc/play.mod
-#usr/lib/grub/i386-pc/play.module
-#usr/lib/grub/i386-pc/png.mod
-#usr/lib/grub/i386-pc/png.module
-#usr/lib/grub/i386-pc/priority_queue.mod
-#usr/lib/grub/i386-pc/priority_queue.module
-#usr/lib/grub/i386-pc/probe.mod
-#usr/lib/grub/i386-pc/probe.module
-#usr/lib/grub/i386-pc/procfs.mod
-#usr/lib/grub/i386-pc/procfs.module
-#usr/lib/grub/i386-pc/progress.mod
-#usr/lib/grub/i386-pc/progress.module
-#usr/lib/grub/i386-pc/pxe.mod
-#usr/lib/grub/i386-pc/pxe.module
-#usr/lib/grub/i386-pc/pxeboot.image
-#usr/lib/grub/i386-pc/pxeboot.img
-#usr/lib/grub/i386-pc/pxechain.mod
-#usr/lib/grub/i386-pc/pxechain.module
-#usr/lib/grub/i386-pc/raid5rec.mod
-#usr/lib/grub/i386-pc/raid5rec.module
-#usr/lib/grub/i386-pc/raid6rec.mod
-#usr/lib/grub/i386-pc/raid6rec.module
-#usr/lib/grub/i386-pc/random.mod
-#usr/lib/grub/i386-pc/random.module
-#usr/lib/grub/i386-pc/read.mod
-#usr/lib/grub/i386-pc/read.module
-#usr/lib/grub/i386-pc/reboot.mod
-#usr/lib/grub/i386-pc/reboot.module
-#usr/lib/grub/i386-pc/regexp.mod
-#usr/lib/grub/i386-pc/regexp.module
-#usr/lib/grub/i386-pc/reiserfs.mod
-#usr/lib/grub/i386-pc/reiserfs.module
-#usr/lib/grub/i386-pc/relocator.mod
-#usr/lib/grub/i386-pc/relocator.module
-#usr/lib/grub/i386-pc/romfs.mod
-#usr/lib/grub/i386-pc/romfs.module
-#usr/lib/grub/i386-pc/scsi.mod
-#usr/lib/grub/i386-pc/scsi.module
-#usr/lib/grub/i386-pc/search.mod
-#usr/lib/grub/i386-pc/search.module
-#usr/lib/grub/i386-pc/search_fs_file.mod
-#usr/lib/grub/i386-pc/search_fs_file.module
-#usr/lib/grub/i386-pc/search_fs_uuid.mod
-#usr/lib/grub/i386-pc/search_fs_uuid.module
-#usr/lib/grub/i386-pc/search_label.mod
-#usr/lib/grub/i386-pc/search_label.module
-#usr/lib/grub/i386-pc/sendkey.mod
-#usr/lib/grub/i386-pc/sendkey.module
-#usr/lib/grub/i386-pc/serial.mod
-#usr/lib/grub/i386-pc/serial.module
-#usr/lib/grub/i386-pc/setjmp.mod
-#usr/lib/grub/i386-pc/setjmp.module
-#usr/lib/grub/i386-pc/setjmp_test.mod
-#usr/lib/grub/i386-pc/setjmp_test.module
-#usr/lib/grub/i386-pc/setpci.mod
-#usr/lib/grub/i386-pc/setpci.module
-#usr/lib/grub/i386-pc/sfs.mod
-#usr/lib/grub/i386-pc/sfs.module
-#usr/lib/grub/i386-pc/shift_test.mod
-#usr/lib/grub/i386-pc/shift_test.module
-#usr/lib/grub/i386-pc/signature_test.mod
-#usr/lib/grub/i386-pc/signature_test.module
-#usr/lib/grub/i386-pc/sleep.mod
-#usr/lib/grub/i386-pc/sleep.module
-#usr/lib/grub/i386-pc/sleep_test.mod
-#usr/lib/grub/i386-pc/sleep_test.module
-#usr/lib/grub/i386-pc/spkmodem.mod
-#usr/lib/grub/i386-pc/spkmodem.module
-#usr/lib/grub/i386-pc/squash4.mod
-#usr/lib/grub/i386-pc/squash4.module
-#usr/lib/grub/i386-pc/syslinuxcfg.mod
-#usr/lib/grub/i386-pc/syslinuxcfg.module
-#usr/lib/grub/i386-pc/tar.mod
-#usr/lib/grub/i386-pc/tar.module
-#usr/lib/grub/i386-pc/terminal.lst
-#usr/lib/grub/i386-pc/terminal.mod
-#usr/lib/grub/i386-pc/terminal.module
-#usr/lib/grub/i386-pc/terminfo.mod
-#usr/lib/grub/i386-pc/terminfo.module
-#usr/lib/grub/i386-pc/test.mod
-#usr/lib/grub/i386-pc/test.module
-#usr/lib/grub/i386-pc/test_blockarg.mod
-#usr/lib/grub/i386-pc/test_blockarg.module
-#usr/lib/grub/i386-pc/testload.mod
-#usr/lib/grub/i386-pc/testload.module
-#usr/lib/grub/i386-pc/testspeed.mod
-#usr/lib/grub/i386-pc/testspeed.module
-#usr/lib/grub/i386-pc/tftp.mod
-#usr/lib/grub/i386-pc/tftp.module
-#usr/lib/grub/i386-pc/tga.mod
-#usr/lib/grub/i386-pc/tga.module
-#usr/lib/grub/i386-pc/time.mod
-#usr/lib/grub/i386-pc/time.module
-#usr/lib/grub/i386-pc/tr.mod
-#usr/lib/grub/i386-pc/tr.module
-#usr/lib/grub/i386-pc/trig.mod
-#usr/lib/grub/i386-pc/trig.module
-#usr/lib/grub/i386-pc/true.mod
-#usr/lib/grub/i386-pc/true.module
-#usr/lib/grub/i386-pc/truecrypt.mod
-#usr/lib/grub/i386-pc/truecrypt.module
-#usr/lib/grub/i386-pc/udf.mod
-#usr/lib/grub/i386-pc/udf.module
-#usr/lib/grub/i386-pc/ufs1.mod
-#usr/lib/grub/i386-pc/ufs1.module
-#usr/lib/grub/i386-pc/ufs1_be.mod
-#usr/lib/grub/i386-pc/ufs1_be.module
-#usr/lib/grub/i386-pc/ufs2.mod
-#usr/lib/grub/i386-pc/ufs2.module
-#usr/lib/grub/i386-pc/uhci.mod
-#usr/lib/grub/i386-pc/uhci.module
-#usr/lib/grub/i386-pc/usb.mod
-#usr/lib/grub/i386-pc/usb.module
-#usr/lib/grub/i386-pc/usb_keyboard.mod
-#usr/lib/grub/i386-pc/usb_keyboard.module
-#usr/lib/grub/i386-pc/usbms.mod
-#usr/lib/grub/i386-pc/usbms.module
-#usr/lib/grub/i386-pc/usbserial_common.mod
-#usr/lib/grub/i386-pc/usbserial_common.module
-#usr/lib/grub/i386-pc/usbserial_ftdi.mod
-#usr/lib/grub/i386-pc/usbserial_ftdi.module
-#usr/lib/grub/i386-pc/usbserial_pl2303.mod
-#usr/lib/grub/i386-pc/usbserial_pl2303.module
-#usr/lib/grub/i386-pc/usbserial_usbdebug.mod
-#usr/lib/grub/i386-pc/usbserial_usbdebug.module
-#usr/lib/grub/i386-pc/usbtest.mod
-#usr/lib/grub/i386-pc/usbtest.module
-#usr/lib/grub/i386-pc/vbe.mod
-#usr/lib/grub/i386-pc/vbe.module
-#usr/lib/grub/i386-pc/verify.mod
-#usr/lib/grub/i386-pc/verify.module
-#usr/lib/grub/i386-pc/vga.mod
-#usr/lib/grub/i386-pc/vga.module
-#usr/lib/grub/i386-pc/vga_text.mod
-#usr/lib/grub/i386-pc/vga_text.module
-#usr/lib/grub/i386-pc/video.lst
-#usr/lib/grub/i386-pc/video.mod
-#usr/lib/grub/i386-pc/video.module
-#usr/lib/grub/i386-pc/video_bochs.mod
-#usr/lib/grub/i386-pc/video_bochs.module
-#usr/lib/grub/i386-pc/video_cirrus.mod
-#usr/lib/grub/i386-pc/video_cirrus.module
-#usr/lib/grub/i386-pc/video_colors.mod
-#usr/lib/grub/i386-pc/video_colors.module
-#usr/lib/grub/i386-pc/video_fb.mod
-#usr/lib/grub/i386-pc/video_fb.module
-#usr/lib/grub/i386-pc/videoinfo.mod
-#usr/lib/grub/i386-pc/videoinfo.module
-#usr/lib/grub/i386-pc/videotest.mod
-#usr/lib/grub/i386-pc/videotest.module
-#usr/lib/grub/i386-pc/videotest_checksum.mod
-#usr/lib/grub/i386-pc/videotest_checksum.module
-#usr/lib/grub/i386-pc/xfs.mod
-#usr/lib/grub/i386-pc/xfs.module
-#usr/lib/grub/i386-pc/xnu.mod
-#usr/lib/grub/i386-pc/xnu.module
-#usr/lib/grub/i386-pc/xnu_uuid.mod
-#usr/lib/grub/i386-pc/xnu_uuid.module
-#usr/lib/grub/i386-pc/xnu_uuid_test.mod
-#usr/lib/grub/i386-pc/xnu_uuid_test.module
-#usr/lib/grub/i386-pc/xzio.mod
-#usr/lib/grub/i386-pc/xzio.module
-#usr/lib/grub/i386-pc/zfs.mod
-#usr/lib/grub/i386-pc/zfs.module
-#usr/lib/grub/i386-pc/zfscrypt.mod
-#usr/lib/grub/i386-pc/zfscrypt.module
-#usr/lib/grub/i386-pc/zfsinfo.mod
-#usr/lib/grub/i386-pc/zfsinfo.module
+usr/lib/grub/i386-pc/acpi.mod
+usr/lib/grub/i386-pc/acpi.module
+usr/lib/grub/i386-pc/adler32.mod
+usr/lib/grub/i386-pc/adler32.module
+usr/lib/grub/i386-pc/affs.mod
+usr/lib/grub/i386-pc/affs.module
+usr/lib/grub/i386-pc/afs.mod
+usr/lib/grub/i386-pc/afs.module
+usr/lib/grub/i386-pc/ahci.mod
+usr/lib/grub/i386-pc/ahci.module
+usr/lib/grub/i386-pc/all_video.mod
+usr/lib/grub/i386-pc/all_video.module
+usr/lib/grub/i386-pc/aout.mod
+usr/lib/grub/i386-pc/aout.module
+usr/lib/grub/i386-pc/archelp.mod
+usr/lib/grub/i386-pc/archelp.module
+usr/lib/grub/i386-pc/at_keyboard.mod
+usr/lib/grub/i386-pc/at_keyboard.module
+usr/lib/grub/i386-pc/ata.mod
+usr/lib/grub/i386-pc/ata.module
+usr/lib/grub/i386-pc/backtrace.mod
+usr/lib/grub/i386-pc/backtrace.module
+usr/lib/grub/i386-pc/bfs.mod
+usr/lib/grub/i386-pc/bfs.module
+usr/lib/grub/i386-pc/biosdisk.mod
+usr/lib/grub/i386-pc/biosdisk.module
+usr/lib/grub/i386-pc/bitmap.mod
+usr/lib/grub/i386-pc/bitmap.module
+usr/lib/grub/i386-pc/bitmap_scale.mod
+usr/lib/grub/i386-pc/bitmap_scale.module
+usr/lib/grub/i386-pc/blocklist.mod
+usr/lib/grub/i386-pc/blocklist.module
+usr/lib/grub/i386-pc/boot.image
+usr/lib/grub/i386-pc/boot.img
+usr/lib/grub/i386-pc/boot.mod
+usr/lib/grub/i386-pc/boot.module
+usr/lib/grub/i386-pc/boot_hybrid.image
+usr/lib/grub/i386-pc/boot_hybrid.img
+usr/lib/grub/i386-pc/bsd.mod
+usr/lib/grub/i386-pc/bsd.module
+usr/lib/grub/i386-pc/bswap_test.mod
+usr/lib/grub/i386-pc/bswap_test.module
+usr/lib/grub/i386-pc/btrfs.mod
+usr/lib/grub/i386-pc/btrfs.module
+usr/lib/grub/i386-pc/bufio.mod
+usr/lib/grub/i386-pc/bufio.module
+usr/lib/grub/i386-pc/cat.mod
+usr/lib/grub/i386-pc/cat.module
+usr/lib/grub/i386-pc/cbfs.mod
+usr/lib/grub/i386-pc/cbfs.module
+usr/lib/grub/i386-pc/cbls.mod
+usr/lib/grub/i386-pc/cbls.module
+usr/lib/grub/i386-pc/cbmemc.mod
+usr/lib/grub/i386-pc/cbmemc.module
+usr/lib/grub/i386-pc/cbtable.mod
+usr/lib/grub/i386-pc/cbtable.module
+usr/lib/grub/i386-pc/cbtime.mod
+usr/lib/grub/i386-pc/cbtime.module
+usr/lib/grub/i386-pc/cdboot.image
+usr/lib/grub/i386-pc/cdboot.img
+usr/lib/grub/i386-pc/chain.mod
+usr/lib/grub/i386-pc/chain.module
+usr/lib/grub/i386-pc/cmdline_cat_test.mod
+usr/lib/grub/i386-pc/cmdline_cat_test.module
+usr/lib/grub/i386-pc/cmosdump.mod
+usr/lib/grub/i386-pc/cmosdump.module
+usr/lib/grub/i386-pc/cmostest.mod
+usr/lib/grub/i386-pc/cmostest.module
+usr/lib/grub/i386-pc/cmp.mod
+usr/lib/grub/i386-pc/cmp.module
+usr/lib/grub/i386-pc/cmp_test.mod
+usr/lib/grub/i386-pc/cmp_test.module
+usr/lib/grub/i386-pc/command.lst
+usr/lib/grub/i386-pc/config.h
+usr/lib/grub/i386-pc/configfile.mod
+usr/lib/grub/i386-pc/configfile.module
+usr/lib/grub/i386-pc/cpio.mod
+usr/lib/grub/i386-pc/cpio.module
+usr/lib/grub/i386-pc/cpio_be.mod
+usr/lib/grub/i386-pc/cpio_be.module
+usr/lib/grub/i386-pc/cpuid.mod
+usr/lib/grub/i386-pc/cpuid.module
+usr/lib/grub/i386-pc/crc64.mod
+usr/lib/grub/i386-pc/crc64.module
+usr/lib/grub/i386-pc/crypto.lst
+usr/lib/grub/i386-pc/crypto.mod
+usr/lib/grub/i386-pc/crypto.module
+usr/lib/grub/i386-pc/cryptodisk.mod
+usr/lib/grub/i386-pc/cryptodisk.module
+usr/lib/grub/i386-pc/cs5536.mod
+usr/lib/grub/i386-pc/cs5536.module
+usr/lib/grub/i386-pc/ctz_test.mod
+usr/lib/grub/i386-pc/ctz_test.module
+usr/lib/grub/i386-pc/date.mod
+usr/lib/grub/i386-pc/date.module
+usr/lib/grub/i386-pc/datehook.mod
+usr/lib/grub/i386-pc/datehook.module
+usr/lib/grub/i386-pc/datetime.mod
+usr/lib/grub/i386-pc/datetime.module
+usr/lib/grub/i386-pc/disk.mod
+usr/lib/grub/i386-pc/disk.module
+usr/lib/grub/i386-pc/diskboot.image
+usr/lib/grub/i386-pc/diskboot.img
+usr/lib/grub/i386-pc/diskfilter.mod
+usr/lib/grub/i386-pc/diskfilter.module
+usr/lib/grub/i386-pc/div.mod
+usr/lib/grub/i386-pc/div.module
+usr/lib/grub/i386-pc/div_test.mod
+usr/lib/grub/i386-pc/div_test.module
+usr/lib/grub/i386-pc/dm_nv.mod
+usr/lib/grub/i386-pc/dm_nv.module
+usr/lib/grub/i386-pc/drivemap.mod
+usr/lib/grub/i386-pc/drivemap.module
+usr/lib/grub/i386-pc/echo.mod
+usr/lib/grub/i386-pc/echo.module
+usr/lib/grub/i386-pc/efiemu.mod
+usr/lib/grub/i386-pc/efiemu.module
+usr/lib/grub/i386-pc/efiemu32.o
+usr/lib/grub/i386-pc/efiemu64.o
+usr/lib/grub/i386-pc/ehci.mod
+usr/lib/grub/i386-pc/ehci.module
+usr/lib/grub/i386-pc/elf.mod
+usr/lib/grub/i386-pc/elf.module
+usr/lib/grub/i386-pc/eval.mod
+usr/lib/grub/i386-pc/eval.module
+usr/lib/grub/i386-pc/exfat.mod
+usr/lib/grub/i386-pc/exfat.module
+usr/lib/grub/i386-pc/exfctest.mod
+usr/lib/grub/i386-pc/exfctest.module
+usr/lib/grub/i386-pc/ext2.mod
+usr/lib/grub/i386-pc/ext2.module
+usr/lib/grub/i386-pc/extcmd.mod
+usr/lib/grub/i386-pc/extcmd.module
+usr/lib/grub/i386-pc/fat.mod
+usr/lib/grub/i386-pc/fat.module
+usr/lib/grub/i386-pc/file.mod
+usr/lib/grub/i386-pc/file.module
+usr/lib/grub/i386-pc/font.mod
+usr/lib/grub/i386-pc/font.module
+usr/lib/grub/i386-pc/freedos.mod
+usr/lib/grub/i386-pc/freedos.module
+usr/lib/grub/i386-pc/fs.lst
+usr/lib/grub/i386-pc/fshelp.mod
+usr/lib/grub/i386-pc/fshelp.module
+usr/lib/grub/i386-pc/functional_test.mod
+usr/lib/grub/i386-pc/functional_test.module
+usr/lib/grub/i386-pc/gcry_arcfour.mod
+usr/lib/grub/i386-pc/gcry_arcfour.module
+usr/lib/grub/i386-pc/gcry_blowfish.mod
+usr/lib/grub/i386-pc/gcry_blowfish.module
+usr/lib/grub/i386-pc/gcry_camellia.mod
+usr/lib/grub/i386-pc/gcry_camellia.module
+usr/lib/grub/i386-pc/gcry_cast5.mod
+usr/lib/grub/i386-pc/gcry_cast5.module
+usr/lib/grub/i386-pc/gcry_crc.mod
+usr/lib/grub/i386-pc/gcry_crc.module
+usr/lib/grub/i386-pc/gcry_des.mod
+usr/lib/grub/i386-pc/gcry_des.module
+usr/lib/grub/i386-pc/gcry_dsa.mod
+usr/lib/grub/i386-pc/gcry_dsa.module
+usr/lib/grub/i386-pc/gcry_idea.mod
+usr/lib/grub/i386-pc/gcry_idea.module
+usr/lib/grub/i386-pc/gcry_md4.mod
+usr/lib/grub/i386-pc/gcry_md4.module
+usr/lib/grub/i386-pc/gcry_md5.mod
+usr/lib/grub/i386-pc/gcry_md5.module
+usr/lib/grub/i386-pc/gcry_rfc2268.mod
+usr/lib/grub/i386-pc/gcry_rfc2268.module
+usr/lib/grub/i386-pc/gcry_rijndael.mod
+usr/lib/grub/i386-pc/gcry_rijndael.module
+usr/lib/grub/i386-pc/gcry_rmd160.mod
+usr/lib/grub/i386-pc/gcry_rmd160.module
+usr/lib/grub/i386-pc/gcry_rsa.mod
+usr/lib/grub/i386-pc/gcry_rsa.module
+usr/lib/grub/i386-pc/gcry_seed.mod
+usr/lib/grub/i386-pc/gcry_seed.module
+usr/lib/grub/i386-pc/gcry_serpent.mod
+usr/lib/grub/i386-pc/gcry_serpent.module
+usr/lib/grub/i386-pc/gcry_sha1.mod
+usr/lib/grub/i386-pc/gcry_sha1.module
+usr/lib/grub/i386-pc/gcry_sha256.mod
+usr/lib/grub/i386-pc/gcry_sha256.module
+usr/lib/grub/i386-pc/gcry_sha512.mod
+usr/lib/grub/i386-pc/gcry_sha512.module
+usr/lib/grub/i386-pc/gcry_tiger.mod
+usr/lib/grub/i386-pc/gcry_tiger.module
+usr/lib/grub/i386-pc/gcry_twofish.mod
+usr/lib/grub/i386-pc/gcry_twofish.module
+usr/lib/grub/i386-pc/gcry_whirlpool.mod
+usr/lib/grub/i386-pc/gcry_whirlpool.module
+usr/lib/grub/i386-pc/gdb.mod
+usr/lib/grub/i386-pc/gdb.module
+usr/lib/grub/i386-pc/gdb_grub
+usr/lib/grub/i386-pc/geli.mod
+usr/lib/grub/i386-pc/geli.module
+usr/lib/grub/i386-pc/gettext.mod
+usr/lib/grub/i386-pc/gettext.module
+usr/lib/grub/i386-pc/gfxmenu.mod
+usr/lib/grub/i386-pc/gfxmenu.module
+usr/lib/grub/i386-pc/gfxterm.mod
+usr/lib/grub/i386-pc/gfxterm.module
+usr/lib/grub/i386-pc/gfxterm_background.mod
+usr/lib/grub/i386-pc/gfxterm_background.module
+usr/lib/grub/i386-pc/gfxterm_menu.mod
+usr/lib/grub/i386-pc/gfxterm_menu.module
+usr/lib/grub/i386-pc/gmodule.pl
+usr/lib/grub/i386-pc/gptsync.mod
+usr/lib/grub/i386-pc/gptsync.module
+usr/lib/grub/i386-pc/gzio.mod
+usr/lib/grub/i386-pc/gzio.module
+usr/lib/grub/i386-pc/halt.mod
+usr/lib/grub/i386-pc/halt.module
+usr/lib/grub/i386-pc/hashsum.mod
+usr/lib/grub/i386-pc/hashsum.module
+usr/lib/grub/i386-pc/hdparm.mod
+usr/lib/grub/i386-pc/hdparm.module
+usr/lib/grub/i386-pc/hello.mod
+usr/lib/grub/i386-pc/hello.module
+usr/lib/grub/i386-pc/help.mod
+usr/lib/grub/i386-pc/help.module
+usr/lib/grub/i386-pc/hexdump.mod
+usr/lib/grub/i386-pc/hexdump.module
+usr/lib/grub/i386-pc/hfs.mod
+usr/lib/grub/i386-pc/hfs.module
+usr/lib/grub/i386-pc/hfsplus.mod
+usr/lib/grub/i386-pc/hfsplus.module
+usr/lib/grub/i386-pc/hfspluscomp.mod
+usr/lib/grub/i386-pc/hfspluscomp.module
+usr/lib/grub/i386-pc/http.mod
+usr/lib/grub/i386-pc/http.module
+usr/lib/grub/i386-pc/iorw.mod
+usr/lib/grub/i386-pc/iorw.module
+usr/lib/grub/i386-pc/iso9660.mod
+usr/lib/grub/i386-pc/iso9660.module
+usr/lib/grub/i386-pc/jfs.mod
+usr/lib/grub/i386-pc/jfs.module
+usr/lib/grub/i386-pc/jpeg.mod
+usr/lib/grub/i386-pc/jpeg.module
+usr/lib/grub/i386-pc/kernel.exec
+usr/lib/grub/i386-pc/kernel.img
+usr/lib/grub/i386-pc/keylayouts.mod
+usr/lib/grub/i386-pc/keylayouts.module
+usr/lib/grub/i386-pc/keystatus.mod
+usr/lib/grub/i386-pc/keystatus.module
+usr/lib/grub/i386-pc/ldm.mod
+usr/lib/grub/i386-pc/ldm.module
+usr/lib/grub/i386-pc/legacy_password_test.mod
+usr/lib/grub/i386-pc/legacy_password_test.module
+usr/lib/grub/i386-pc/legacycfg.mod
+usr/lib/grub/i386-pc/legacycfg.module
+usr/lib/grub/i386-pc/linux.mod
+usr/lib/grub/i386-pc/linux.module
+usr/lib/grub/i386-pc/linux16.mod
+usr/lib/grub/i386-pc/linux16.module
+usr/lib/grub/i386-pc/lnxboot.image
+usr/lib/grub/i386-pc/lnxboot.img
+usr/lib/grub/i386-pc/loadenv.mod
+usr/lib/grub/i386-pc/loadenv.module
+usr/lib/grub/i386-pc/loopback.mod
+usr/lib/grub/i386-pc/loopback.module
+usr/lib/grub/i386-pc/ls.mod
+usr/lib/grub/i386-pc/ls.module
+usr/lib/grub/i386-pc/lsacpi.mod
+usr/lib/grub/i386-pc/lsacpi.module
+usr/lib/grub/i386-pc/lsapm.mod
+usr/lib/grub/i386-pc/lsapm.module
+usr/lib/grub/i386-pc/lsmmap.mod
+usr/lib/grub/i386-pc/lsmmap.module
+usr/lib/grub/i386-pc/lspci.mod
+usr/lib/grub/i386-pc/lspci.module
+usr/lib/grub/i386-pc/luks.mod
+usr/lib/grub/i386-pc/luks.module
+usr/lib/grub/i386-pc/lvm.mod
+usr/lib/grub/i386-pc/lvm.module
+usr/lib/grub/i386-pc/lzma_decompress.image
+usr/lib/grub/i386-pc/lzma_decompress.img
+usr/lib/grub/i386-pc/lzopio.mod
+usr/lib/grub/i386-pc/lzopio.module
+usr/lib/grub/i386-pc/macbless.mod
+usr/lib/grub/i386-pc/macbless.module
+usr/lib/grub/i386-pc/macho.mod
+usr/lib/grub/i386-pc/macho.module
+usr/lib/grub/i386-pc/mda_text.mod
+usr/lib/grub/i386-pc/mda_text.module
+usr/lib/grub/i386-pc/mdraid09.mod
+usr/lib/grub/i386-pc/mdraid09.module
+usr/lib/grub/i386-pc/mdraid09_be.mod
+usr/lib/grub/i386-pc/mdraid09_be.module
+usr/lib/grub/i386-pc/mdraid1x.mod
+usr/lib/grub/i386-pc/mdraid1x.module
+usr/lib/grub/i386-pc/memdisk.mod
+usr/lib/grub/i386-pc/memdisk.module
+usr/lib/grub/i386-pc/memrw.mod
+usr/lib/grub/i386-pc/memrw.module
+usr/lib/grub/i386-pc/minicmd.mod
+usr/lib/grub/i386-pc/minicmd.module
+usr/lib/grub/i386-pc/minix.mod
+usr/lib/grub/i386-pc/minix.module
+usr/lib/grub/i386-pc/minix2.mod
+usr/lib/grub/i386-pc/minix2.module
+usr/lib/grub/i386-pc/minix2_be.mod
+usr/lib/grub/i386-pc/minix2_be.module
+usr/lib/grub/i386-pc/minix3.mod
+usr/lib/grub/i386-pc/minix3.module
+usr/lib/grub/i386-pc/minix3_be.mod
+usr/lib/grub/i386-pc/minix3_be.module
+usr/lib/grub/i386-pc/minix_be.mod
+usr/lib/grub/i386-pc/minix_be.module
+usr/lib/grub/i386-pc/mmap.mod
+usr/lib/grub/i386-pc/mmap.module
+usr/lib/grub/i386-pc/moddep.lst
+usr/lib/grub/i386-pc/modinfo.sh
+usr/lib/grub/i386-pc/morse.mod
+usr/lib/grub/i386-pc/morse.module
+usr/lib/grub/i386-pc/mpi.mod
+usr/lib/grub/i386-pc/mpi.module
+usr/lib/grub/i386-pc/msdospart.mod
+usr/lib/grub/i386-pc/msdospart.module
+usr/lib/grub/i386-pc/mul_test.mod
+usr/lib/grub/i386-pc/mul_test.module
+usr/lib/grub/i386-pc/multiboot.mod
+usr/lib/grub/i386-pc/multiboot.module
+usr/lib/grub/i386-pc/multiboot2.mod
+usr/lib/grub/i386-pc/multiboot2.module
+usr/lib/grub/i386-pc/nativedisk.mod
+usr/lib/grub/i386-pc/nativedisk.module
+usr/lib/grub/i386-pc/net.mod
+usr/lib/grub/i386-pc/net.module
+usr/lib/grub/i386-pc/newc.mod
+usr/lib/grub/i386-pc/newc.module
+usr/lib/grub/i386-pc/nilfs2.mod
+usr/lib/grub/i386-pc/nilfs2.module
+usr/lib/grub/i386-pc/normal.mod
+usr/lib/grub/i386-pc/normal.module
+usr/lib/grub/i386-pc/ntfs.mod
+usr/lib/grub/i386-pc/ntfs.module
+usr/lib/grub/i386-pc/ntfscomp.mod
+usr/lib/grub/i386-pc/ntfscomp.module
+usr/lib/grub/i386-pc/ntldr.mod
+usr/lib/grub/i386-pc/ntldr.module
+usr/lib/grub/i386-pc/odc.mod
+usr/lib/grub/i386-pc/odc.module
+usr/lib/grub/i386-pc/offsetio.mod
+usr/lib/grub/i386-pc/offsetio.module
+usr/lib/grub/i386-pc/ohci.mod
+usr/lib/grub/i386-pc/ohci.module
+usr/lib/grub/i386-pc/part_acorn.mod
+usr/lib/grub/i386-pc/part_acorn.module
+usr/lib/grub/i386-pc/part_amiga.mod
+usr/lib/grub/i386-pc/part_amiga.module
+usr/lib/grub/i386-pc/part_apple.mod
+usr/lib/grub/i386-pc/part_apple.module
+usr/lib/grub/i386-pc/part_bsd.mod
+usr/lib/grub/i386-pc/part_bsd.module
+usr/lib/grub/i386-pc/part_dfly.mod
+usr/lib/grub/i386-pc/part_dfly.module
+usr/lib/grub/i386-pc/part_dvh.mod
+usr/lib/grub/i386-pc/part_dvh.module
+usr/lib/grub/i386-pc/part_gpt.mod
+usr/lib/grub/i386-pc/part_gpt.module
+usr/lib/grub/i386-pc/part_msdos.mod
+usr/lib/grub/i386-pc/part_msdos.module
+usr/lib/grub/i386-pc/part_plan.mod
+usr/lib/grub/i386-pc/part_plan.module
+usr/lib/grub/i386-pc/part_sun.mod
+usr/lib/grub/i386-pc/part_sun.module
+usr/lib/grub/i386-pc/part_sunpc.mod
+usr/lib/grub/i386-pc/part_sunpc.module
+usr/lib/grub/i386-pc/partmap.lst
+usr/lib/grub/i386-pc/parttool.lst
+usr/lib/grub/i386-pc/parttool.mod
+usr/lib/grub/i386-pc/parttool.module
+usr/lib/grub/i386-pc/password.mod
+usr/lib/grub/i386-pc/password.module
+usr/lib/grub/i386-pc/password_pbkdf2.mod
+usr/lib/grub/i386-pc/password_pbkdf2.module
+usr/lib/grub/i386-pc/pata.mod
+usr/lib/grub/i386-pc/pata.module
+usr/lib/grub/i386-pc/pbkdf2.mod
+usr/lib/grub/i386-pc/pbkdf2.module
+usr/lib/grub/i386-pc/pbkdf2_test.mod
+usr/lib/grub/i386-pc/pbkdf2_test.module
+usr/lib/grub/i386-pc/pci.mod
+usr/lib/grub/i386-pc/pci.module
+usr/lib/grub/i386-pc/pcidump.mod
+usr/lib/grub/i386-pc/pcidump.module
+usr/lib/grub/i386-pc/plan9.mod
+usr/lib/grub/i386-pc/plan9.module
+usr/lib/grub/i386-pc/play.mod
+usr/lib/grub/i386-pc/play.module
+usr/lib/grub/i386-pc/png.mod
+usr/lib/grub/i386-pc/png.module
+usr/lib/grub/i386-pc/priority_queue.mod
+usr/lib/grub/i386-pc/priority_queue.module
+usr/lib/grub/i386-pc/probe.mod
+usr/lib/grub/i386-pc/probe.module
+usr/lib/grub/i386-pc/procfs.mod
+usr/lib/grub/i386-pc/procfs.module
+usr/lib/grub/i386-pc/progress.mod
+usr/lib/grub/i386-pc/progress.module
+usr/lib/grub/i386-pc/pxe.mod
+usr/lib/grub/i386-pc/pxe.module
+usr/lib/grub/i386-pc/pxeboot.image
+usr/lib/grub/i386-pc/pxeboot.img
+usr/lib/grub/i386-pc/pxechain.mod
+usr/lib/grub/i386-pc/pxechain.module
+usr/lib/grub/i386-pc/raid5rec.mod
+usr/lib/grub/i386-pc/raid5rec.module
+usr/lib/grub/i386-pc/raid6rec.mod
+usr/lib/grub/i386-pc/raid6rec.module
+usr/lib/grub/i386-pc/random.mod
+usr/lib/grub/i386-pc/random.module
+usr/lib/grub/i386-pc/read.mod
+usr/lib/grub/i386-pc/read.module
+usr/lib/grub/i386-pc/reboot.mod
+usr/lib/grub/i386-pc/reboot.module
+usr/lib/grub/i386-pc/regexp.mod
+usr/lib/grub/i386-pc/regexp.module
+usr/lib/grub/i386-pc/reiserfs.mod
+usr/lib/grub/i386-pc/reiserfs.module
+usr/lib/grub/i386-pc/relocator.mod
+usr/lib/grub/i386-pc/relocator.module
+usr/lib/grub/i386-pc/romfs.mod
+usr/lib/grub/i386-pc/romfs.module
+usr/lib/grub/i386-pc/scsi.mod
+usr/lib/grub/i386-pc/scsi.module
+usr/lib/grub/i386-pc/search.mod
+usr/lib/grub/i386-pc/search.module
+usr/lib/grub/i386-pc/search_fs_file.mod
+usr/lib/grub/i386-pc/search_fs_file.module
+usr/lib/grub/i386-pc/search_fs_uuid.mod
+usr/lib/grub/i386-pc/search_fs_uuid.module
+usr/lib/grub/i386-pc/search_label.mod
+usr/lib/grub/i386-pc/search_label.module
+usr/lib/grub/i386-pc/sendkey.mod
+usr/lib/grub/i386-pc/sendkey.module
+usr/lib/grub/i386-pc/serial.mod
+usr/lib/grub/i386-pc/serial.module
+usr/lib/grub/i386-pc/setjmp.mod
+usr/lib/grub/i386-pc/setjmp.module
+usr/lib/grub/i386-pc/setjmp_test.mod
+usr/lib/grub/i386-pc/setjmp_test.module
+usr/lib/grub/i386-pc/setpci.mod
+usr/lib/grub/i386-pc/setpci.module
+usr/lib/grub/i386-pc/sfs.mod
+usr/lib/grub/i386-pc/sfs.module
+usr/lib/grub/i386-pc/shift_test.mod
+usr/lib/grub/i386-pc/shift_test.module
+usr/lib/grub/i386-pc/signature_test.mod
+usr/lib/grub/i386-pc/signature_test.module
+usr/lib/grub/i386-pc/sleep.mod
+usr/lib/grub/i386-pc/sleep.module
+usr/lib/grub/i386-pc/sleep_test.mod
+usr/lib/grub/i386-pc/sleep_test.module
+usr/lib/grub/i386-pc/spkmodem.mod
+usr/lib/grub/i386-pc/spkmodem.module
+usr/lib/grub/i386-pc/squash4.mod
+usr/lib/grub/i386-pc/squash4.module
+usr/lib/grub/i386-pc/syslinuxcfg.mod
+usr/lib/grub/i386-pc/syslinuxcfg.module
+usr/lib/grub/i386-pc/tar.mod
+usr/lib/grub/i386-pc/tar.module
+usr/lib/grub/i386-pc/terminal.lst
+usr/lib/grub/i386-pc/terminal.mod
+usr/lib/grub/i386-pc/terminal.module
+usr/lib/grub/i386-pc/terminfo.mod
+usr/lib/grub/i386-pc/terminfo.module
+usr/lib/grub/i386-pc/test.mod
+usr/lib/grub/i386-pc/test.module
+usr/lib/grub/i386-pc/test_blockarg.mod
+usr/lib/grub/i386-pc/test_blockarg.module
+usr/lib/grub/i386-pc/testload.mod
+usr/lib/grub/i386-pc/testload.module
+usr/lib/grub/i386-pc/testspeed.mod
+usr/lib/grub/i386-pc/testspeed.module
+usr/lib/grub/i386-pc/tftp.mod
+usr/lib/grub/i386-pc/tftp.module
+usr/lib/grub/i386-pc/tga.mod
+usr/lib/grub/i386-pc/tga.module
+usr/lib/grub/i386-pc/time.mod
+usr/lib/grub/i386-pc/time.module
+usr/lib/grub/i386-pc/tr.mod
+usr/lib/grub/i386-pc/tr.module
+usr/lib/grub/i386-pc/trig.mod
+usr/lib/grub/i386-pc/trig.module
+usr/lib/grub/i386-pc/true.mod
+usr/lib/grub/i386-pc/true.module
+usr/lib/grub/i386-pc/truecrypt.mod
+usr/lib/grub/i386-pc/truecrypt.module
+usr/lib/grub/i386-pc/udf.mod
+usr/lib/grub/i386-pc/udf.module
+usr/lib/grub/i386-pc/ufs1.mod
+usr/lib/grub/i386-pc/ufs1.module
+usr/lib/grub/i386-pc/ufs1_be.mod
+usr/lib/grub/i386-pc/ufs1_be.module
+usr/lib/grub/i386-pc/ufs2.mod
+usr/lib/grub/i386-pc/ufs2.module
+usr/lib/grub/i386-pc/uhci.mod
+usr/lib/grub/i386-pc/uhci.module
+usr/lib/grub/i386-pc/usb.mod
+usr/lib/grub/i386-pc/usb.module
+usr/lib/grub/i386-pc/usb_keyboard.mod
+usr/lib/grub/i386-pc/usb_keyboard.module
+usr/lib/grub/i386-pc/usbms.mod
+usr/lib/grub/i386-pc/usbms.module
+usr/lib/grub/i386-pc/usbserial_common.mod
+usr/lib/grub/i386-pc/usbserial_common.module
+usr/lib/grub/i386-pc/usbserial_ftdi.mod
+usr/lib/grub/i386-pc/usbserial_ftdi.module
+usr/lib/grub/i386-pc/usbserial_pl2303.mod
+usr/lib/grub/i386-pc/usbserial_pl2303.module
+usr/lib/grub/i386-pc/usbserial_usbdebug.mod
+usr/lib/grub/i386-pc/usbserial_usbdebug.module
+usr/lib/grub/i386-pc/usbtest.mod
+usr/lib/grub/i386-pc/usbtest.module
+usr/lib/grub/i386-pc/vbe.mod
+usr/lib/grub/i386-pc/vbe.module
+usr/lib/grub/i386-pc/verify.mod
+usr/lib/grub/i386-pc/verify.module
+usr/lib/grub/i386-pc/vga.mod
+usr/lib/grub/i386-pc/vga.module
+usr/lib/grub/i386-pc/vga_text.mod
+usr/lib/grub/i386-pc/vga_text.module
+usr/lib/grub/i386-pc/video.lst
+usr/lib/grub/i386-pc/video.mod
+usr/lib/grub/i386-pc/video.module
+usr/lib/grub/i386-pc/video_bochs.mod
+usr/lib/grub/i386-pc/video_bochs.module
+usr/lib/grub/i386-pc/video_cirrus.mod
+usr/lib/grub/i386-pc/video_cirrus.module
+usr/lib/grub/i386-pc/video_colors.mod
+usr/lib/grub/i386-pc/video_colors.module
+usr/lib/grub/i386-pc/video_fb.mod
+usr/lib/grub/i386-pc/video_fb.module
+usr/lib/grub/i386-pc/videoinfo.mod
+usr/lib/grub/i386-pc/videoinfo.module
+usr/lib/grub/i386-pc/videotest.mod
+usr/lib/grub/i386-pc/videotest.module
+usr/lib/grub/i386-pc/videotest_checksum.mod
+usr/lib/grub/i386-pc/videotest_checksum.module
+usr/lib/grub/i386-pc/xfs.mod
+usr/lib/grub/i386-pc/xfs.module
+usr/lib/grub/i386-pc/xnu.mod
+usr/lib/grub/i386-pc/xnu.module
+usr/lib/grub/i386-pc/xnu_uuid.mod
+usr/lib/grub/i386-pc/xnu_uuid.module
+usr/lib/grub/i386-pc/xnu_uuid_test.mod
+usr/lib/grub/i386-pc/xnu_uuid_test.module
+usr/lib/grub/i386-pc/xzio.mod
+usr/lib/grub/i386-pc/xzio.module
+usr/lib/grub/i386-pc/zfs.mod
+usr/lib/grub/i386-pc/zfs.module
+usr/lib/grub/i386-pc/zfscrypt.mod
+usr/lib/grub/i386-pc/zfscrypt.module
+usr/lib/grub/i386-pc/zfsinfo.mod
+usr/lib/grub/i386-pc/zfsinfo.module
+usr/lib/grub/x86_64-efi
+usr/lib/grub/x86_64-efi/acpi.mod
+usr/lib/grub/x86_64-efi/acpi.module
+usr/lib/grub/x86_64-efi/adler32.mod
+usr/lib/grub/x86_64-efi/adler32.module
+usr/lib/grub/x86_64-efi/affs.mod
+usr/lib/grub/x86_64-efi/affs.module
+usr/lib/grub/x86_64-efi/afs.mod
+usr/lib/grub/x86_64-efi/afs.module
+usr/lib/grub/x86_64-efi/ahci.mod
+usr/lib/grub/x86_64-efi/ahci.module
+usr/lib/grub/x86_64-efi/all_video.mod
+usr/lib/grub/x86_64-efi/all_video.module
+usr/lib/grub/x86_64-efi/aout.mod
+usr/lib/grub/x86_64-efi/aout.module
+usr/lib/grub/x86_64-efi/appleldr.mod
+usr/lib/grub/x86_64-efi/appleldr.module
+usr/lib/grub/x86_64-efi/archelp.mod
+usr/lib/grub/x86_64-efi/archelp.module
+usr/lib/grub/x86_64-efi/at_keyboard.mod
+usr/lib/grub/x86_64-efi/at_keyboard.module
+usr/lib/grub/x86_64-efi/ata.mod
+usr/lib/grub/x86_64-efi/ata.module
+usr/lib/grub/x86_64-efi/backtrace.mod
+usr/lib/grub/x86_64-efi/backtrace.module
+usr/lib/grub/x86_64-efi/bfs.mod
+usr/lib/grub/x86_64-efi/bfs.module
+usr/lib/grub/x86_64-efi/bitmap.mod
+usr/lib/grub/x86_64-efi/bitmap.module
+usr/lib/grub/x86_64-efi/bitmap_scale.mod
+usr/lib/grub/x86_64-efi/bitmap_scale.module
+usr/lib/grub/x86_64-efi/blocklist.mod
+usr/lib/grub/x86_64-efi/blocklist.module
+usr/lib/grub/x86_64-efi/boot.mod
+usr/lib/grub/x86_64-efi/boot.module
+usr/lib/grub/x86_64-efi/bsd.mod
+usr/lib/grub/x86_64-efi/bsd.module
+usr/lib/grub/x86_64-efi/bswap_test.mod
+usr/lib/grub/x86_64-efi/bswap_test.module
+usr/lib/grub/x86_64-efi/btrfs.mod
+usr/lib/grub/x86_64-efi/btrfs.module
+usr/lib/grub/x86_64-efi/bufio.mod
+usr/lib/grub/x86_64-efi/bufio.module
+usr/lib/grub/x86_64-efi/cat.mod
+usr/lib/grub/x86_64-efi/cat.module
+usr/lib/grub/x86_64-efi/cbfs.mod
+usr/lib/grub/x86_64-efi/cbfs.module
+usr/lib/grub/x86_64-efi/cbls.mod
+usr/lib/grub/x86_64-efi/cbls.module
+usr/lib/grub/x86_64-efi/cbmemc.mod
+usr/lib/grub/x86_64-efi/cbmemc.module
+usr/lib/grub/x86_64-efi/cbtable.mod
+usr/lib/grub/x86_64-efi/cbtable.module
+usr/lib/grub/x86_64-efi/cbtime.mod
+usr/lib/grub/x86_64-efi/cbtime.module
+usr/lib/grub/x86_64-efi/chain.mod
+usr/lib/grub/x86_64-efi/chain.module
+usr/lib/grub/x86_64-efi/cmdline_cat_test.mod
+usr/lib/grub/x86_64-efi/cmdline_cat_test.module
+usr/lib/grub/x86_64-efi/cmp.mod
+usr/lib/grub/x86_64-efi/cmp.module
+usr/lib/grub/x86_64-efi/cmp_test.mod
+usr/lib/grub/x86_64-efi/cmp_test.module
+usr/lib/grub/x86_64-efi/command.lst
+usr/lib/grub/x86_64-efi/config.h
+usr/lib/grub/x86_64-efi/configfile.mod
+usr/lib/grub/x86_64-efi/configfile.module
+usr/lib/grub/x86_64-efi/cpio.mod
+usr/lib/grub/x86_64-efi/cpio.module
+usr/lib/grub/x86_64-efi/cpio_be.mod
+usr/lib/grub/x86_64-efi/cpio_be.module
+usr/lib/grub/x86_64-efi/cpuid.mod
+usr/lib/grub/x86_64-efi/cpuid.module
+usr/lib/grub/x86_64-efi/crc64.mod
+usr/lib/grub/x86_64-efi/crc64.module
+usr/lib/grub/x86_64-efi/crypto.lst
+usr/lib/grub/x86_64-efi/crypto.mod
+usr/lib/grub/x86_64-efi/crypto.module
+usr/lib/grub/x86_64-efi/cryptodisk.mod
+usr/lib/grub/x86_64-efi/cryptodisk.module
+usr/lib/grub/x86_64-efi/cs5536.mod
+usr/lib/grub/x86_64-efi/cs5536.module
+usr/lib/grub/x86_64-efi/ctz_test.mod
+usr/lib/grub/x86_64-efi/ctz_test.module
+usr/lib/grub/x86_64-efi/date.mod
+usr/lib/grub/x86_64-efi/date.module
+usr/lib/grub/x86_64-efi/datehook.mod
+usr/lib/grub/x86_64-efi/datehook.module
+usr/lib/grub/x86_64-efi/datetime.mod
+usr/lib/grub/x86_64-efi/datetime.module
+usr/lib/grub/x86_64-efi/disk.mod
+usr/lib/grub/x86_64-efi/disk.module
+usr/lib/grub/x86_64-efi/diskfilter.mod
+usr/lib/grub/x86_64-efi/diskfilter.module
+usr/lib/grub/x86_64-efi/div.mod
+usr/lib/grub/x86_64-efi/div.module
+usr/lib/grub/x86_64-efi/div_test.mod
+usr/lib/grub/x86_64-efi/div_test.module
+usr/lib/grub/x86_64-efi/dm_nv.mod
+usr/lib/grub/x86_64-efi/dm_nv.module
+usr/lib/grub/x86_64-efi/echo.mod
+usr/lib/grub/x86_64-efi/echo.module
+usr/lib/grub/x86_64-efi/efi_gop.mod
+usr/lib/grub/x86_64-efi/efi_gop.module
+usr/lib/grub/x86_64-efi/efi_uga.mod
+usr/lib/grub/x86_64-efi/efi_uga.module
+usr/lib/grub/x86_64-efi/efifwsetup.mod
+usr/lib/grub/x86_64-efi/efifwsetup.module
+usr/lib/grub/x86_64-efi/efinet.mod
+usr/lib/grub/x86_64-efi/efinet.module
+usr/lib/grub/x86_64-efi/ehci.mod
+usr/lib/grub/x86_64-efi/ehci.module
+usr/lib/grub/x86_64-efi/elf.mod
+usr/lib/grub/x86_64-efi/elf.module
+usr/lib/grub/x86_64-efi/eval.mod
+usr/lib/grub/x86_64-efi/eval.module
+usr/lib/grub/x86_64-efi/exfat.mod
+usr/lib/grub/x86_64-efi/exfat.module
+usr/lib/grub/x86_64-efi/exfctest.mod
+usr/lib/grub/x86_64-efi/exfctest.module
+usr/lib/grub/x86_64-efi/ext2.mod
+usr/lib/grub/x86_64-efi/ext2.module
+usr/lib/grub/x86_64-efi/extcmd.mod
+usr/lib/grub/x86_64-efi/extcmd.module
+usr/lib/grub/x86_64-efi/fat.mod
+usr/lib/grub/x86_64-efi/fat.module
+usr/lib/grub/x86_64-efi/file.mod
+usr/lib/grub/x86_64-efi/file.module
+usr/lib/grub/x86_64-efi/fixvideo.mod
+usr/lib/grub/x86_64-efi/fixvideo.module
+usr/lib/grub/x86_64-efi/font.mod
+usr/lib/grub/x86_64-efi/font.module
+usr/lib/grub/x86_64-efi/fs.lst
+usr/lib/grub/x86_64-efi/fshelp.mod
+usr/lib/grub/x86_64-efi/fshelp.module
+usr/lib/grub/x86_64-efi/functional_test.mod
+usr/lib/grub/x86_64-efi/functional_test.module
+usr/lib/grub/x86_64-efi/gcry_arcfour.mod
+usr/lib/grub/x86_64-efi/gcry_arcfour.module
+usr/lib/grub/x86_64-efi/gcry_blowfish.mod
+usr/lib/grub/x86_64-efi/gcry_blowfish.module
+usr/lib/grub/x86_64-efi/gcry_camellia.mod
+usr/lib/grub/x86_64-efi/gcry_camellia.module
+usr/lib/grub/x86_64-efi/gcry_cast5.mod
+usr/lib/grub/x86_64-efi/gcry_cast5.module
+usr/lib/grub/x86_64-efi/gcry_crc.mod
+usr/lib/grub/x86_64-efi/gcry_crc.module
+usr/lib/grub/x86_64-efi/gcry_des.mod
+usr/lib/grub/x86_64-efi/gcry_des.module
+usr/lib/grub/x86_64-efi/gcry_dsa.mod
+usr/lib/grub/x86_64-efi/gcry_dsa.module
+usr/lib/grub/x86_64-efi/gcry_idea.mod
+usr/lib/grub/x86_64-efi/gcry_idea.module
+usr/lib/grub/x86_64-efi/gcry_md4.mod
+usr/lib/grub/x86_64-efi/gcry_md4.module
+usr/lib/grub/x86_64-efi/gcry_md5.mod
+usr/lib/grub/x86_64-efi/gcry_md5.module
+usr/lib/grub/x86_64-efi/gcry_rfc2268.mod
+usr/lib/grub/x86_64-efi/gcry_rfc2268.module
+usr/lib/grub/x86_64-efi/gcry_rijndael.mod
+usr/lib/grub/x86_64-efi/gcry_rijndael.module
+usr/lib/grub/x86_64-efi/gcry_rmd160.mod
+usr/lib/grub/x86_64-efi/gcry_rmd160.module
+usr/lib/grub/x86_64-efi/gcry_rsa.mod
+usr/lib/grub/x86_64-efi/gcry_rsa.module
+usr/lib/grub/x86_64-efi/gcry_seed.mod
+usr/lib/grub/x86_64-efi/gcry_seed.module
+usr/lib/grub/x86_64-efi/gcry_serpent.mod
+usr/lib/grub/x86_64-efi/gcry_serpent.module
+usr/lib/grub/x86_64-efi/gcry_sha1.mod
+usr/lib/grub/x86_64-efi/gcry_sha1.module
+usr/lib/grub/x86_64-efi/gcry_sha256.mod
+usr/lib/grub/x86_64-efi/gcry_sha256.module
+usr/lib/grub/x86_64-efi/gcry_sha512.mod
+usr/lib/grub/x86_64-efi/gcry_sha512.module
+usr/lib/grub/x86_64-efi/gcry_tiger.mod
+usr/lib/grub/x86_64-efi/gcry_tiger.module
+usr/lib/grub/x86_64-efi/gcry_twofish.mod
+usr/lib/grub/x86_64-efi/gcry_twofish.module
+usr/lib/grub/x86_64-efi/gcry_whirlpool.mod
+usr/lib/grub/x86_64-efi/gcry_whirlpool.module
+usr/lib/grub/x86_64-efi/gdb_grub
+usr/lib/grub/x86_64-efi/geli.mod
+usr/lib/grub/x86_64-efi/geli.module
+usr/lib/grub/x86_64-efi/gettext.mod
+usr/lib/grub/x86_64-efi/gettext.module
+usr/lib/grub/x86_64-efi/gfxmenu.mod
+usr/lib/grub/x86_64-efi/gfxmenu.module
+usr/lib/grub/x86_64-efi/gfxterm.mod
+usr/lib/grub/x86_64-efi/gfxterm.module
+usr/lib/grub/x86_64-efi/gfxterm_background.mod
+usr/lib/grub/x86_64-efi/gfxterm_background.module
+usr/lib/grub/x86_64-efi/gfxterm_menu.mod
+usr/lib/grub/x86_64-efi/gfxterm_menu.module
+usr/lib/grub/x86_64-efi/gmodule.pl
+usr/lib/grub/x86_64-efi/gptsync.mod
+usr/lib/grub/x86_64-efi/gptsync.module
+usr/lib/grub/x86_64-efi/gzio.mod
+usr/lib/grub/x86_64-efi/gzio.module
+usr/lib/grub/x86_64-efi/halt.mod
+usr/lib/grub/x86_64-efi/halt.module
+usr/lib/grub/x86_64-efi/hashsum.mod
+usr/lib/grub/x86_64-efi/hashsum.module
+usr/lib/grub/x86_64-efi/hdparm.mod
+usr/lib/grub/x86_64-efi/hdparm.module
+usr/lib/grub/x86_64-efi/hello.mod
+usr/lib/grub/x86_64-efi/hello.module
+usr/lib/grub/x86_64-efi/help.mod
+usr/lib/grub/x86_64-efi/help.module
+usr/lib/grub/x86_64-efi/hexdump.mod
+usr/lib/grub/x86_64-efi/hexdump.module
+usr/lib/grub/x86_64-efi/hfs.mod
+usr/lib/grub/x86_64-efi/hfs.module
+usr/lib/grub/x86_64-efi/hfsplus.mod
+usr/lib/grub/x86_64-efi/hfsplus.module
+usr/lib/grub/x86_64-efi/hfspluscomp.mod
+usr/lib/grub/x86_64-efi/hfspluscomp.module
+usr/lib/grub/x86_64-efi/http.mod
+usr/lib/grub/x86_64-efi/http.module
+usr/lib/grub/x86_64-efi/iorw.mod
+usr/lib/grub/x86_64-efi/iorw.module
+usr/lib/grub/x86_64-efi/iso9660.mod
+usr/lib/grub/x86_64-efi/iso9660.module
+usr/lib/grub/x86_64-efi/jfs.mod
+usr/lib/grub/x86_64-efi/jfs.module
+usr/lib/grub/x86_64-efi/jpeg.mod
+usr/lib/grub/x86_64-efi/jpeg.module
+usr/lib/grub/x86_64-efi/kernel.exec
+usr/lib/grub/x86_64-efi/kernel.img
+usr/lib/grub/x86_64-efi/keylayouts.mod
+usr/lib/grub/x86_64-efi/keylayouts.module
+usr/lib/grub/x86_64-efi/keystatus.mod
+usr/lib/grub/x86_64-efi/keystatus.module
+usr/lib/grub/x86_64-efi/ldm.mod
+usr/lib/grub/x86_64-efi/ldm.module
+usr/lib/grub/x86_64-efi/legacy_password_test.mod
+usr/lib/grub/x86_64-efi/legacy_password_test.module
+usr/lib/grub/x86_64-efi/legacycfg.mod
+usr/lib/grub/x86_64-efi/legacycfg.module
+usr/lib/grub/x86_64-efi/linux.mod
+usr/lib/grub/x86_64-efi/linux.module
+usr/lib/grub/x86_64-efi/linux16.mod
+usr/lib/grub/x86_64-efi/linux16.module
+usr/lib/grub/x86_64-efi/loadbios.mod
+usr/lib/grub/x86_64-efi/loadbios.module
+usr/lib/grub/x86_64-efi/loadenv.mod
+usr/lib/grub/x86_64-efi/loadenv.module
+usr/lib/grub/x86_64-efi/loopback.mod
+usr/lib/grub/x86_64-efi/loopback.module
+usr/lib/grub/x86_64-efi/ls.mod
+usr/lib/grub/x86_64-efi/ls.module
+usr/lib/grub/x86_64-efi/lsacpi.mod
+usr/lib/grub/x86_64-efi/lsacpi.module
+usr/lib/grub/x86_64-efi/lsefi.mod
+usr/lib/grub/x86_64-efi/lsefi.module
+usr/lib/grub/x86_64-efi/lsefimmap.mod
+usr/lib/grub/x86_64-efi/lsefimmap.module
+usr/lib/grub/x86_64-efi/lsefisystab.mod
+usr/lib/grub/x86_64-efi/lsefisystab.module
+usr/lib/grub/x86_64-efi/lsmmap.mod
+usr/lib/grub/x86_64-efi/lsmmap.module
+usr/lib/grub/x86_64-efi/lspci.mod
+usr/lib/grub/x86_64-efi/lspci.module
+usr/lib/grub/x86_64-efi/lssal.mod
+usr/lib/grub/x86_64-efi/lssal.module
+usr/lib/grub/x86_64-efi/luks.mod
+usr/lib/grub/x86_64-efi/luks.module
+usr/lib/grub/x86_64-efi/lvm.mod
+usr/lib/grub/x86_64-efi/lvm.module
+usr/lib/grub/x86_64-efi/lzopio.mod
+usr/lib/grub/x86_64-efi/lzopio.module
+usr/lib/grub/x86_64-efi/macbless.mod
+usr/lib/grub/x86_64-efi/macbless.module
+usr/lib/grub/x86_64-efi/macho.mod
+usr/lib/grub/x86_64-efi/macho.module
+usr/lib/grub/x86_64-efi/mdraid09.mod
+usr/lib/grub/x86_64-efi/mdraid09.module
+usr/lib/grub/x86_64-efi/mdraid09_be.mod
+usr/lib/grub/x86_64-efi/mdraid09_be.module
+usr/lib/grub/x86_64-efi/mdraid1x.mod
+usr/lib/grub/x86_64-efi/mdraid1x.module
+usr/lib/grub/x86_64-efi/memdisk.mod
+usr/lib/grub/x86_64-efi/memdisk.module
+usr/lib/grub/x86_64-efi/memrw.mod
+usr/lib/grub/x86_64-efi/memrw.module
+usr/lib/grub/x86_64-efi/minicmd.mod
+usr/lib/grub/x86_64-efi/minicmd.module
+usr/lib/grub/x86_64-efi/minix.mod
+usr/lib/grub/x86_64-efi/minix.module
+usr/lib/grub/x86_64-efi/minix2.mod
+usr/lib/grub/x86_64-efi/minix2.module
+usr/lib/grub/x86_64-efi/minix2_be.mod
+usr/lib/grub/x86_64-efi/minix2_be.module
+usr/lib/grub/x86_64-efi/minix3.mod
+usr/lib/grub/x86_64-efi/minix3.module
+usr/lib/grub/x86_64-efi/minix3_be.mod
+usr/lib/grub/x86_64-efi/minix3_be.module
+usr/lib/grub/x86_64-efi/minix_be.mod
+usr/lib/grub/x86_64-efi/minix_be.module
+usr/lib/grub/x86_64-efi/mmap.mod
+usr/lib/grub/x86_64-efi/mmap.module
+usr/lib/grub/x86_64-efi/moddep.lst
+usr/lib/grub/x86_64-efi/modinfo.sh
+usr/lib/grub/x86_64-efi/morse.mod
+usr/lib/grub/x86_64-efi/morse.module
+usr/lib/grub/x86_64-efi/mpi.mod
+usr/lib/grub/x86_64-efi/mpi.module
+usr/lib/grub/x86_64-efi/msdospart.mod
+usr/lib/grub/x86_64-efi/msdospart.module
+usr/lib/grub/x86_64-efi/mul_test.mod
+usr/lib/grub/x86_64-efi/mul_test.module
+usr/lib/grub/x86_64-efi/multiboot.mod
+usr/lib/grub/x86_64-efi/multiboot.module
+usr/lib/grub/x86_64-efi/multiboot2.mod
+usr/lib/grub/x86_64-efi/multiboot2.module
+usr/lib/grub/x86_64-efi/nativedisk.mod
+usr/lib/grub/x86_64-efi/nativedisk.module
+usr/lib/grub/x86_64-efi/net.mod
+usr/lib/grub/x86_64-efi/net.module
+usr/lib/grub/x86_64-efi/newc.mod
+usr/lib/grub/x86_64-efi/newc.module
+usr/lib/grub/x86_64-efi/nilfs2.mod
+usr/lib/grub/x86_64-efi/nilfs2.module
+usr/lib/grub/x86_64-efi/normal.mod
+usr/lib/grub/x86_64-efi/normal.module
+usr/lib/grub/x86_64-efi/ntfs.mod
+usr/lib/grub/x86_64-efi/ntfs.module
+usr/lib/grub/x86_64-efi/ntfscomp.mod
+usr/lib/grub/x86_64-efi/ntfscomp.module
+usr/lib/grub/x86_64-efi/odc.mod
+usr/lib/grub/x86_64-efi/odc.module
+usr/lib/grub/x86_64-efi/offsetio.mod
+usr/lib/grub/x86_64-efi/offsetio.module
+usr/lib/grub/x86_64-efi/ohci.mod
+usr/lib/grub/x86_64-efi/ohci.module
+usr/lib/grub/x86_64-efi/part_acorn.mod
+usr/lib/grub/x86_64-efi/part_acorn.module
+usr/lib/grub/x86_64-efi/part_amiga.mod
+usr/lib/grub/x86_64-efi/part_amiga.module
+usr/lib/grub/x86_64-efi/part_apple.mod
+usr/lib/grub/x86_64-efi/part_apple.module
+usr/lib/grub/x86_64-efi/part_bsd.mod
+usr/lib/grub/x86_64-efi/part_bsd.module
+usr/lib/grub/x86_64-efi/part_dfly.mod
+usr/lib/grub/x86_64-efi/part_dfly.module
+usr/lib/grub/x86_64-efi/part_dvh.mod
+usr/lib/grub/x86_64-efi/part_dvh.module
+usr/lib/grub/x86_64-efi/part_gpt.mod
+usr/lib/grub/x86_64-efi/part_gpt.module
+usr/lib/grub/x86_64-efi/part_msdos.mod
+usr/lib/grub/x86_64-efi/part_msdos.module
+usr/lib/grub/x86_64-efi/part_plan.mod
+usr/lib/grub/x86_64-efi/part_plan.module
+usr/lib/grub/x86_64-efi/part_sun.mod
+usr/lib/grub/x86_64-efi/part_sun.module
+usr/lib/grub/x86_64-efi/part_sunpc.mod
+usr/lib/grub/x86_64-efi/part_sunpc.module
+usr/lib/grub/x86_64-efi/partmap.lst
+usr/lib/grub/x86_64-efi/parttool.lst
+usr/lib/grub/x86_64-efi/parttool.mod
+usr/lib/grub/x86_64-efi/parttool.module
+usr/lib/grub/x86_64-efi/password.mod
+usr/lib/grub/x86_64-efi/password.module
+usr/lib/grub/x86_64-efi/password_pbkdf2.mod
+usr/lib/grub/x86_64-efi/password_pbkdf2.module
+usr/lib/grub/x86_64-efi/pata.mod
+usr/lib/grub/x86_64-efi/pata.module
+usr/lib/grub/x86_64-efi/pbkdf2.mod
+usr/lib/grub/x86_64-efi/pbkdf2.module
+usr/lib/grub/x86_64-efi/pbkdf2_test.mod
+usr/lib/grub/x86_64-efi/pbkdf2_test.module
+usr/lib/grub/x86_64-efi/pcidump.mod
+usr/lib/grub/x86_64-efi/pcidump.module
+usr/lib/grub/x86_64-efi/play.mod
+usr/lib/grub/x86_64-efi/play.module
+usr/lib/grub/x86_64-efi/png.mod
+usr/lib/grub/x86_64-efi/png.module
+usr/lib/grub/x86_64-efi/priority_queue.mod
+usr/lib/grub/x86_64-efi/priority_queue.module
+usr/lib/grub/x86_64-efi/probe.mod
+usr/lib/grub/x86_64-efi/probe.module
+usr/lib/grub/x86_64-efi/procfs.mod
+usr/lib/grub/x86_64-efi/procfs.module
+usr/lib/grub/x86_64-efi/progress.mod
+usr/lib/grub/x86_64-efi/progress.module
+usr/lib/grub/x86_64-efi/raid5rec.mod
+usr/lib/grub/x86_64-efi/raid5rec.module
+usr/lib/grub/x86_64-efi/raid6rec.mod
+usr/lib/grub/x86_64-efi/raid6rec.module
+usr/lib/grub/x86_64-efi/random.mod
+usr/lib/grub/x86_64-efi/random.module
+usr/lib/grub/x86_64-efi/read.mod
+usr/lib/grub/x86_64-efi/read.module
+usr/lib/grub/x86_64-efi/reboot.mod
+usr/lib/grub/x86_64-efi/reboot.module
+usr/lib/grub/x86_64-efi/regexp.mod
+usr/lib/grub/x86_64-efi/regexp.module
+usr/lib/grub/x86_64-efi/reiserfs.mod
+usr/lib/grub/x86_64-efi/reiserfs.module
+usr/lib/grub/x86_64-efi/relocator.mod
+usr/lib/grub/x86_64-efi/relocator.module
+usr/lib/grub/x86_64-efi/romfs.mod
+usr/lib/grub/x86_64-efi/romfs.module
+usr/lib/grub/x86_64-efi/scsi.mod
+usr/lib/grub/x86_64-efi/scsi.module
+usr/lib/grub/x86_64-efi/search.mod
+usr/lib/grub/x86_64-efi/search.module
+usr/lib/grub/x86_64-efi/search_fs_file.mod
+usr/lib/grub/x86_64-efi/search_fs_file.module
+usr/lib/grub/x86_64-efi/search_fs_uuid.mod
+usr/lib/grub/x86_64-efi/search_fs_uuid.module
+usr/lib/grub/x86_64-efi/search_label.mod
+usr/lib/grub/x86_64-efi/search_label.module
+usr/lib/grub/x86_64-efi/serial.mod
+usr/lib/grub/x86_64-efi/serial.module
+usr/lib/grub/x86_64-efi/setjmp.mod
+usr/lib/grub/x86_64-efi/setjmp.module
+usr/lib/grub/x86_64-efi/setjmp_test.mod
+usr/lib/grub/x86_64-efi/setjmp_test.module
+usr/lib/grub/x86_64-efi/setpci.mod
+usr/lib/grub/x86_64-efi/setpci.module
+usr/lib/grub/x86_64-efi/sfs.mod
+usr/lib/grub/x86_64-efi/sfs.module
+usr/lib/grub/x86_64-efi/shift_test.mod
+usr/lib/grub/x86_64-efi/shift_test.module
+usr/lib/grub/x86_64-efi/signature_test.mod
+usr/lib/grub/x86_64-efi/signature_test.module
+usr/lib/grub/x86_64-efi/sleep.mod
+usr/lib/grub/x86_64-efi/sleep.module
+usr/lib/grub/x86_64-efi/sleep_test.mod
+usr/lib/grub/x86_64-efi/sleep_test.module
+usr/lib/grub/x86_64-efi/spkmodem.mod
+usr/lib/grub/x86_64-efi/spkmodem.module
+usr/lib/grub/x86_64-efi/squash4.mod
+usr/lib/grub/x86_64-efi/squash4.module
+usr/lib/grub/x86_64-efi/syslinuxcfg.mod
+usr/lib/grub/x86_64-efi/syslinuxcfg.module
+usr/lib/grub/x86_64-efi/tar.mod
+usr/lib/grub/x86_64-efi/tar.module
+usr/lib/grub/x86_64-efi/terminal.lst
+usr/lib/grub/x86_64-efi/terminal.mod
+usr/lib/grub/x86_64-efi/terminal.module
+usr/lib/grub/x86_64-efi/terminfo.mod
+usr/lib/grub/x86_64-efi/terminfo.module
+usr/lib/grub/x86_64-efi/test.mod
+usr/lib/grub/x86_64-efi/test.module
+usr/lib/grub/x86_64-efi/test_blockarg.mod
+usr/lib/grub/x86_64-efi/test_blockarg.module
+usr/lib/grub/x86_64-efi/testload.mod
+usr/lib/grub/x86_64-efi/testload.module
+usr/lib/grub/x86_64-efi/testspeed.mod
+usr/lib/grub/x86_64-efi/testspeed.module
+usr/lib/grub/x86_64-efi/tftp.mod
+usr/lib/grub/x86_64-efi/tftp.module
+usr/lib/grub/x86_64-efi/tga.mod
+usr/lib/grub/x86_64-efi/tga.module
+usr/lib/grub/x86_64-efi/time.mod
+usr/lib/grub/x86_64-efi/time.module
+usr/lib/grub/x86_64-efi/tr.mod
+usr/lib/grub/x86_64-efi/tr.module
+usr/lib/grub/x86_64-efi/trig.mod
+usr/lib/grub/x86_64-efi/trig.module
+usr/lib/grub/x86_64-efi/true.mod
+usr/lib/grub/x86_64-efi/true.module
+usr/lib/grub/x86_64-efi/udf.mod
+usr/lib/grub/x86_64-efi/udf.module
+usr/lib/grub/x86_64-efi/ufs1.mod
+usr/lib/grub/x86_64-efi/ufs1.module
+usr/lib/grub/x86_64-efi/ufs1_be.mod
+usr/lib/grub/x86_64-efi/ufs1_be.module
+usr/lib/grub/x86_64-efi/ufs2.mod
+usr/lib/grub/x86_64-efi/ufs2.module
+usr/lib/grub/x86_64-efi/uhci.mod
+usr/lib/grub/x86_64-efi/uhci.module
+usr/lib/grub/x86_64-efi/usb.mod
+usr/lib/grub/x86_64-efi/usb.module
+usr/lib/grub/x86_64-efi/usb_keyboard.mod
+usr/lib/grub/x86_64-efi/usb_keyboard.module
+usr/lib/grub/x86_64-efi/usbms.mod
+usr/lib/grub/x86_64-efi/usbms.module
+usr/lib/grub/x86_64-efi/usbserial_common.mod
+usr/lib/grub/x86_64-efi/usbserial_common.module
+usr/lib/grub/x86_64-efi/usbserial_ftdi.mod
+usr/lib/grub/x86_64-efi/usbserial_ftdi.module
+usr/lib/grub/x86_64-efi/usbserial_pl2303.mod
+usr/lib/grub/x86_64-efi/usbserial_pl2303.module
+usr/lib/grub/x86_64-efi/usbserial_usbdebug.mod
+usr/lib/grub/x86_64-efi/usbserial_usbdebug.module
+usr/lib/grub/x86_64-efi/usbtest.mod
+usr/lib/grub/x86_64-efi/usbtest.module
+usr/lib/grub/x86_64-efi/verify.mod
+usr/lib/grub/x86_64-efi/verify.module
+usr/lib/grub/x86_64-efi/video.lst
+usr/lib/grub/x86_64-efi/video.mod
+usr/lib/grub/x86_64-efi/video.module
+usr/lib/grub/x86_64-efi/video_bochs.mod
+usr/lib/grub/x86_64-efi/video_bochs.module
+usr/lib/grub/x86_64-efi/video_cirrus.mod
+usr/lib/grub/x86_64-efi/video_cirrus.module
+usr/lib/grub/x86_64-efi/video_colors.mod
+usr/lib/grub/x86_64-efi/video_colors.module
+usr/lib/grub/x86_64-efi/video_fb.mod
+usr/lib/grub/x86_64-efi/video_fb.module
+usr/lib/grub/x86_64-efi/videoinfo.mod
+usr/lib/grub/x86_64-efi/videoinfo.module
+usr/lib/grub/x86_64-efi/videotest.mod
+usr/lib/grub/x86_64-efi/videotest.module
+usr/lib/grub/x86_64-efi/videotest_checksum.mod
+usr/lib/grub/x86_64-efi/videotest_checksum.module
+usr/lib/grub/x86_64-efi/xfs.mod
+usr/lib/grub/x86_64-efi/xfs.module
+usr/lib/grub/x86_64-efi/xnu.mod
+usr/lib/grub/x86_64-efi/xnu.module
+usr/lib/grub/x86_64-efi/xnu_uuid.mod
+usr/lib/grub/x86_64-efi/xnu_uuid.module
+usr/lib/grub/x86_64-efi/xnu_uuid_test.mod
+usr/lib/grub/x86_64-efi/xnu_uuid_test.module
+usr/lib/grub/x86_64-efi/xzio.mod
+usr/lib/grub/x86_64-efi/xzio.module
+usr/lib/grub/x86_64-efi/zfs.mod
+usr/lib/grub/x86_64-efi/zfs.module
+usr/lib/grub/x86_64-efi/zfscrypt.mod
+usr/lib/grub/x86_64-efi/zfscrypt.module
+usr/lib/grub/x86_64-efi/zfsinfo.mod
+usr/lib/grub/x86_64-efi/zfsinfo.module
 usr/sbin/grub-bios-setup
 usr/sbin/grub-install
 usr/sbin/grub-macbless
@@ -598,8 +1121,13 @@ usr/sbin/grub-probe
 usr/sbin/grub-reboot
 usr/sbin/grub-set-default
 usr/sbin/grub-sparc64-setup
-usr/share/grub
+#usr/share/grub
+#usr/share/grub/ascii.h
+usr/share/grub/ascii.pf2
+usr/share/grub/euro.pf2
 usr/share/grub/grub-mkconfig_lib
+usr/share/grub/unicode.pf2
+#usr/share/grub/widthspec.h
 #usr/share/info/grub-dev.info
 #usr/share/info/grub.info
 #usr/share/locale/ast/LC_MESSAGES/grub.mo
index b73261febbee88f0d7036bdd410c293824004208..33ec5550401ceca9d04884210c10f89c9a831836 100644 (file)
@@ -1,2 +1,3 @@
 #usr/share/ipfire-netboot
+#usr/share/ipfire-netboot/ipxe.efi
 #usr/share/ipfire-netboot/ipxe.lkrn
index 70a33d6591ce33720f9606a9348981999f95f8fb..110114c478482e0dbc4ad67bc1ab2be81e51e165 100644 (file)
@@ -103,7 +103,6 @@ usr/local/bin/scanhd
 usr/local/bin/settime
 usr/local/bin/timecheck
 usr/local/bin/timezone-transition
-usr/local/bin/update-bootloader
 usr/local/bin/update-lang-cache
 usr/local/bin/xt_geoip_build
 usr/local/bin/xt_geoip_update
index 89cf5c844921b5230a663d6518381db95779498b..8bab25a02a3fc585ac36735b167ce6a236b3f40a 100644 (file)
@@ -14,7 +14,9 @@ usr/bin/isohybrid
 #usr/bin/syslinux2ansi
 #usr/man/man1/extlinux.1
 #usr/man/man1/gethostip.1
+#usr/man/man1/isohybrid.1
 #usr/man/man1/lss16toppm.1
+#usr/man/man1/memdiskfind.1
 #usr/man/man1/ppmtolss16.1
 #usr/man/man1/syslinux.1
 #usr/man/man1/syslinux2ansi.1
@@ -25,6 +27,7 @@ usr/bin/isohybrid
 #usr/share/syslinux/cat.c32
 #usr/share/syslinux/chain.c32
 #usr/share/syslinux/cmd.c32
+#usr/share/syslinux/cmenu.c32
 #usr/share/syslinux/com32
 #usr/share/syslinux/com32/com32.ld
 #usr/share/syslinux/com32/include
@@ -36,11 +39,26 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/bitsize/stdint.h
 #usr/share/syslinux/com32/include/bitsize/stdintconst.h
 #usr/share/syslinux/com32/include/bitsize/stdintlimits.h
+#usr/share/syslinux/com32/include/bitsize32
+#usr/share/syslinux/com32/include/bitsize32/limits.h
+#usr/share/syslinux/com32/include/bitsize32/stddef.h
+#usr/share/syslinux/com32/include/bitsize32/stdint.h
+#usr/share/syslinux/com32/include/bitsize32/stdintconst.h
+#usr/share/syslinux/com32/include/bitsize32/stdintlimits.h
+#usr/share/syslinux/com32/include/bitsize64
+#usr/share/syslinux/com32/include/bitsize64/limits.h
+#usr/share/syslinux/com32/include/bitsize64/stddef.h
+#usr/share/syslinux/com32/include/bitsize64/stdint.h
+#usr/share/syslinux/com32/include/bitsize64/stdintconst.h
+#usr/share/syslinux/com32/include/bitsize64/stdintlimits.h
 #usr/share/syslinux/com32/include/bufprintf.h
+#usr/share/syslinux/com32/include/byteswap.h
+#usr/share/syslinux/com32/include/cli.h
 #usr/share/syslinux/com32/include/colortbl.h
 #usr/share/syslinux/com32/include/com32.h
 #usr/share/syslinux/com32/include/console.h
 #usr/share/syslinux/com32/include/cpufeature.h
+#usr/share/syslinux/com32/include/ctime.h
 #usr/share/syslinux/com32/include/ctype.h
 #usr/share/syslinux/com32/include/dev.h
 #usr/share/syslinux/com32/include/dhcp.h
@@ -101,6 +119,8 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/gplinclude/vpd/vpd.h
 #usr/share/syslinux/com32/include/gplinclude/zzjson
 #usr/share/syslinux/com32/include/gplinclude/zzjson/zzjson.h
+#usr/share/syslinux/com32/include/hw
+#usr/share/syslinux/com32/include/hw/vga.h
 #usr/share/syslinux/com32/include/ilog2.h
 #usr/share/syslinux/com32/include/inttypes.h
 #usr/share/syslinux/com32/include/klibc
@@ -109,16 +129,27 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/klibc/diverr.h
 #usr/share/syslinux/com32/include/klibc/endian.h
 #usr/share/syslinux/com32/include/klibc/extern.h
+#usr/share/syslinux/com32/include/klibc/i386
+#usr/share/syslinux/com32/include/klibc/i386/archsetjmp.h
 #usr/share/syslinux/com32/include/klibc/sysconfig.h
+#usr/share/syslinux/com32/include/klibc/x86_64
+#usr/share/syslinux/com32/include/klibc/x86_64/archsetjmp.h
 #usr/share/syslinux/com32/include/libansi.h
 #usr/share/syslinux/com32/include/limits.h
+#usr/share/syslinux/com32/include/linux
+#usr/share/syslinux/com32/include/linux/list.h
 #usr/share/syslinux/com32/include/math.h
+#usr/share/syslinux/com32/include/menu.h
 #usr/share/syslinux/com32/include/minmax.h
 #usr/share/syslinux/com32/include/netinet
 #usr/share/syslinux/com32/include/netinet/in.h
 #usr/share/syslinux/com32/include/png.h
 #usr/share/syslinux/com32/include/pngconf.h
+#usr/share/syslinux/com32/include/refstr.h
+#usr/share/syslinux/com32/include/serial.h
 #usr/share/syslinux/com32/include/setjmp.h
+#usr/share/syslinux/com32/include/sort.h
+#usr/share/syslinux/com32/include/srecsend.h
 #usr/share/syslinux/com32/include/stdarg.h
 #usr/share/syslinux/com32/include/stdbool.h
 #usr/share/syslinux/com32/include/stddef.h
@@ -134,14 +165,24 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/sys/elf32.h
 #usr/share/syslinux/com32/include/sys/elf64.h
 #usr/share/syslinux/com32/include/sys/elfcommon.h
+#usr/share/syslinux/com32/include/sys/exec.h
 #usr/share/syslinux/com32/include/sys/fpu.h
 #usr/share/syslinux/com32/include/sys/gpxe.h
+#usr/share/syslinux/com32/include/sys/i386
+#usr/share/syslinux/com32/include/sys/i386/bitops.h
+#usr/share/syslinux/com32/include/sys/i386/cpu.h
+#usr/share/syslinux/com32/include/sys/i386/module.h
 #usr/share/syslinux/com32/include/sys/io.h
+#usr/share/syslinux/com32/include/sys/module.h
 #usr/share/syslinux/com32/include/sys/pci.h
 #usr/share/syslinux/com32/include/sys/stat.h
 #usr/share/syslinux/com32/include/sys/time.h
 #usr/share/syslinux/com32/include/sys/times.h
 #usr/share/syslinux/com32/include/sys/types.h
+#usr/share/syslinux/com32/include/sys/x86_64
+#usr/share/syslinux/com32/include/sys/x86_64/bitops.h
+#usr/share/syslinux/com32/include/sys/x86_64/cpu.h
+#usr/share/syslinux/com32/include/sys/x86_64/module.h
 #usr/share/syslinux/com32/include/syslinux
 #usr/share/syslinux/com32/include/syslinux/adv.h
 #usr/share/syslinux/com32/include/syslinux/advconst.h
@@ -150,8 +191,9 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/syslinux/bootpm.h
 #usr/share/syslinux/com32/include/syslinux/bootrm.h
 #usr/share/syslinux/com32/include/syslinux/config.h
+#usr/share/syslinux/com32/include/syslinux/debug.h
 #usr/share/syslinux/com32/include/syslinux/disk.h
-#usr/share/syslinux/com32/include/syslinux/features.h
+#usr/share/syslinux/com32/include/syslinux/firmware.h
 #usr/share/syslinux/com32/include/syslinux/idle.h
 #usr/share/syslinux/com32/include/syslinux/io.h
 #usr/share/syslinux/com32/include/syslinux/keyboard.h
@@ -164,32 +206,86 @@ usr/bin/isohybrid
 #usr/share/syslinux/com32/include/syslinux/pxe_api.h
 #usr/share/syslinux/com32/include/syslinux/reboot.h
 #usr/share/syslinux/com32/include/syslinux/resolve.h
+#usr/share/syslinux/com32/include/syslinux/sysappend.h
+#usr/share/syslinux/com32/include/syslinux/version.h
 #usr/share/syslinux/com32/include/syslinux/vesacon.h
 #usr/share/syslinux/com32/include/syslinux/video.h
 #usr/share/syslinux/com32/include/syslinux/zio.h
+#usr/share/syslinux/com32/include/tftp.h
 #usr/share/syslinux/com32/include/time.h
 #usr/share/syslinux/com32/include/tinyjpeg.h
 #usr/share/syslinux/com32/include/unistd.h
+#usr/share/syslinux/com32/include/upload_backend.h
 #usr/share/syslinux/com32/include/zconf.h
 #usr/share/syslinux/com32/include/zlib.h
-#usr/share/syslinux/com32/libcom32.a
-#usr/share/syslinux/com32/libcom32gpl.a
 #usr/share/syslinux/com32/libcom32upload.a
-#usr/share/syslinux/com32/libutil_com.a
+#usr/share/syslinux/com32/libgpl.c32
 #usr/share/syslinux/com32/libutil_lnx.a
 #usr/share/syslinux/config.c32
+#usr/share/syslinux/cptime.c32
+#usr/share/syslinux/cpu.c32
 #usr/share/syslinux/cpuid.c32
 #usr/share/syslinux/cpuidtest.c32
+#usr/share/syslinux/debug.c32
+#usr/share/syslinux/dhcp.c32
 #usr/share/syslinux/diag
 #usr/share/syslinux/diag/geodsp1s.img.xz
 #usr/share/syslinux/diag/geodspms.img.xz
 #usr/share/syslinux/diag/handoff.bin
+#usr/share/syslinux/dir.c32
 #usr/share/syslinux/disk.c32
+#usr/share/syslinux/dmi.c32
 #usr/share/syslinux/dmitest.c32
 #usr/share/syslinux/dosutil
 #usr/share/syslinux/dosutil/copybs.com
 #usr/share/syslinux/dosutil/eltorito.sys
 #usr/share/syslinux/dosutil/mdiskchk.com
+#usr/share/syslinux/efi64
+#usr/share/syslinux/efi64/cat.c32
+#usr/share/syslinux/efi64/chain.c32
+#usr/share/syslinux/efi64/cmd.c32
+#usr/share/syslinux/efi64/cmenu.c32
+#usr/share/syslinux/efi64/config.c32
+#usr/share/syslinux/efi64/cptime.c32
+#usr/share/syslinux/efi64/cpu.c32
+#usr/share/syslinux/efi64/cpuid.c32
+#usr/share/syslinux/efi64/cpuidtest.c32
+#usr/share/syslinux/efi64/debug.c32
+#usr/share/syslinux/efi64/dhcp.c32
+#usr/share/syslinux/efi64/dir.c32
+#usr/share/syslinux/efi64/dmi.c32
+#usr/share/syslinux/efi64/dmitest.c32
+#usr/share/syslinux/efi64/gfxboot.c32
+#usr/share/syslinux/efi64/hdt.c32
+#usr/share/syslinux/efi64/hexdump.c32
+#usr/share/syslinux/efi64/host.c32
+#usr/share/syslinux/efi64/ifcpu.c32
+#usr/share/syslinux/efi64/ifcpu64.c32
+#usr/share/syslinux/efi64/ldlinux.e64
+#usr/share/syslinux/efi64/lfs.c32
+#usr/share/syslinux/efi64/libcom32.c32
+#usr/share/syslinux/efi64/libgpl.c32
+#usr/share/syslinux/efi64/liblua.c32
+#usr/share/syslinux/efi64/libmenu.c32
+#usr/share/syslinux/efi64/libutil.c32
+#usr/share/syslinux/efi64/linux.c32
+#usr/share/syslinux/efi64/ls.c32
+#usr/share/syslinux/efi64/lua.c32
+#usr/share/syslinux/efi64/mboot.c32
+#usr/share/syslinux/efi64/meminfo.c32
+#usr/share/syslinux/efi64/menu.c32
+#usr/share/syslinux/efi64/pci.c32
+#usr/share/syslinux/efi64/pwd.c32
+#usr/share/syslinux/efi64/reboot.c32
+#usr/share/syslinux/efi64/rosh.c32
+#usr/share/syslinux/efi64/sysdump.c32
+#usr/share/syslinux/efi64/syslinux.c32
+#usr/share/syslinux/efi64/syslinux.efi
+#usr/share/syslinux/efi64/vesa.c32
+#usr/share/syslinux/efi64/vesamenu.c32
+#usr/share/syslinux/efi64/vpdtest.c32
+#usr/share/syslinux/efi64/whichsys.c32
+#usr/share/syslinux/efi64/zzjson.c32
 #usr/share/syslinux/elf.c32
 #usr/share/syslinux/ethersel.c32
 #usr/share/syslinux/gfxboot.c32
@@ -197,15 +293,13 @@ usr/bin/isohybrid
 #usr/share/syslinux/gptmbr_c.bin
 #usr/share/syslinux/gptmbr_f.bin
 #usr/share/syslinux/gpxecmd.c32
-#usr/share/syslinux/gpxelinux.0
-#usr/share/syslinux/gpxelinuxk.0
 #usr/share/syslinux/hdt.c32
+#usr/share/syslinux/hexdump.c32
 #usr/share/syslinux/host.c32
 #usr/share/syslinux/ifcpu.c32
 #usr/share/syslinux/ifcpu64.c32
 #usr/share/syslinux/ifmemdsk.c32
 #usr/share/syslinux/ifplop.c32
-#usr/share/syslinux/int18.com
 #usr/share/syslinux/isohdpfx.bin
 #usr/share/syslinux/isohdpfx_c.bin
 #usr/share/syslinux/isohdpfx_f.bin
@@ -216,7 +310,15 @@ usr/bin/isohybrid
 #usr/share/syslinux/isolinux.bin
 #usr/share/syslinux/kbdmap.c32
 #usr/share/syslinux/kontron_wdt.c32
+#usr/share/syslinux/ldlinux.c32
+#usr/share/syslinux/lfs.c32
+#usr/share/syslinux/libcom32.c32
+#usr/share/syslinux/libgpl.c32
+#usr/share/syslinux/liblua.c32
+#usr/share/syslinux/libmenu.c32
+#usr/share/syslinux/libutil.c32
 #usr/share/syslinux/linux.c32
+#usr/share/syslinux/lpxelinux.0
 #usr/share/syslinux/ls.c32
 #usr/share/syslinux/lua.c32
 #usr/share/syslinux/mboot.c32
@@ -224,15 +326,14 @@ usr/bin/isohybrid
 #usr/share/syslinux/mbr_c.bin
 #usr/share/syslinux/mbr_f.bin
 #usr/share/syslinux/memdisk
-#usr/share/syslinux/memdump.com
 #usr/share/syslinux/meminfo.c32
 #usr/share/syslinux/menu.c32
+#usr/share/syslinux/pci.c32
 #usr/share/syslinux/pcitest.c32
 #usr/share/syslinux/pmload.c32
-#usr/share/syslinux/poweroff.com
+#usr/share/syslinux/poweroff.c32
 #usr/share/syslinux/prdhcp.c32
 #usr/share/syslinux/pwd.c32
-#usr/share/syslinux/pxechain.com
 #usr/share/syslinux/pxechn.c32
 #usr/share/syslinux/pxelinux.0
 #usr/share/syslinux/reboot.c32
@@ -240,10 +341,9 @@ usr/bin/isohybrid
 #usr/share/syslinux/sanboot.c32
 #usr/share/syslinux/sdi.c32
 #usr/share/syslinux/sysdump.c32
+#usr/share/syslinux/syslinux.c32
 #usr/share/syslinux/syslinux.com
-#usr/share/syslinux/syslinux.exe
-#usr/share/syslinux/syslinux64.exe
-#usr/share/syslinux/ver.com
+#usr/share/syslinux/vesa.c32
 #usr/share/syslinux/vesainfo.c32
 #usr/share/syslinux/vesamenu.c32
 #usr/share/syslinux/vpdtest.c32
index 82bdde066a991ca0629df53c81758a2f036093b6..516fb1cabb8ee276ea639a30050beef9feb8c79e 100644 (file)
@@ -79,6 +79,19 @@ DIR_TMP     = /tmp
 # Add the compiler location and version and specs to the ccache hash
 CCACHE_COMPILERCHECK += $(shell gcc -dumpspecs 2>/dev/null | md5sum | cut -d ' ' -f1)
 
+# We support EFI on x86_64 and aarch64
+ifeq "$(BUILD_ARCH)" "x86_64"
+       EFI = 1
+       EFI_ARCH = x64
+       GRUB_ARCH = $(BUILD_ARCH)
+endif
+
+ifeq "$(BUILD_ARCH)" "aarch64"
+       EFI = 1
+       EFI_ARCH = aa64
+       GRUB_ARCH = arm64
+endif
+
 ###############################################################################
 # Common Macro Definitions
 ###############################################################################
diff --git a/lfs/cdrkit b/lfs/cdrkit
new file mode 100644 (file)
index 0000000..24b5365
--- /dev/null
@@ -0,0 +1,109 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.1.11
+
+THISAPP    = cdrkit-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = efe08e2f3ca478486037b053acd512e9
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.8-werror.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.9-buffer_overflow.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.9-no_mp3.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.9-efi-boot.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.10-build-fix.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-cmakewarn.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-devname.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-dvdman.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-format.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-handler.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-manpagefix.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-memset.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-paranoiacdda.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-ppc64le_elfheader.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-readsegfault.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-rootstat.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-usalinst.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-utf8.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cdrkit/cdrkit-1.1.11-werror_gcc5.patch
+
+       cd $(DIR_APP) && sed -i CMakeLists.txt -e "s/icedax//g"
+
+       cd $(DIR_APP) && mkdir -pv build
+       cd $(DIR_APP)/build && cmake .. \
+               -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+               -DBUILD_SHARED_LIBS:BOOL=ON
+       cd $(DIR_APP)/build && make $(MAKETUNING)
+       cd $(DIR_APP)/build && make install
+
+       ln -svf genisoimage /usr/bin/mkisofs
+       ln -svf genisoimage /usr/bin/mkhybrid
+       ln -svf icedax /usr/bin/cdda2wav
+       ln -svf wodim /usr/bin/cdrecord
+       ln -svf wodim /usr/bin/dvdrecord
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index 08bd609c478652957486672d914c391e3e391a68..c33919c386a8e369bf4112a261dce44cbd8a492c 100644 (file)
--- a/lfs/cdrom
+++ b/lfs/cdrom
@@ -29,6 +29,103 @@ VER = ipfire
 THISAPP    = cdrom
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
+ifeq "$(BUILD_PLATFORM)" "arm"
+       TAR_OPTIONS =
+else
+       TAR_OPTIONS = --lzma
+endif
+
+HAS_MEMTEST = 0
+HAS_IPXE = 0
+HAS_ISOLINUX = 0
+HAS_KERNEL = 1
+
+ifeq "$(BUILD_PLATFORM)" "x86"
+       HAS_MEMTEST = 1
+       HAS_IPXE = 1
+       HAS_ISOLINUX = 1
+endif
+
+ifeq "$(BUILD_ARCH)" "armv5tel"
+       HAS_KERNEL = 0
+endif
+
+ISO_ARGS = -J -r -v \
+       -A "$(NAME) $(VERSION) $(BUILD_ARCH)" \
+       -V "$(NAME) $(VERSION) $(BUILD_ARCH)"
+
+ISOHYBRID_ARGS =
+
+ifeq "$(HAS_ISOLINUX)" "1"
+       ISO_ARGS += \
+               -no-emul-boot \
+               -boot-load-size 4 \
+               -boot-info-table \
+               -b boot/isolinux/isolinux.bin \
+               -c boot/isolinux/boot.catalog
+endif
+
+ifeq "$(EFI)" "1"
+       ISO_ARGS += \
+               -eltorito-alt-boot \
+               -e boot/isolinux/efiboot.img \
+               -no-emul-boot
+
+       ISOHYBRID_ARGS += --uefi
+endif
+
+GRUB_EFI_MODULES = \
+       all_video \
+       at_keyboard \
+       boot \
+       bitmap_scale \
+       cat \
+       chain \
+       configfile \
+       disk \
+       echo \
+       efi_gop \
+       efi_uga \
+       ext2 \
+       extcmd \
+       fat \
+       file \
+       font \
+       fxterm_menu \
+       gfxterm \
+       gfxmenu \
+       gfxterm_background \
+       gzio \
+       halt \
+       help \
+       iso9660 \
+       jpeg \
+       loadbios \
+       loadenv \
+       loopback \
+       linux \
+       ls \
+       memdisk \
+       minicmd \
+       nativedisk \
+       normal \
+       ntfs \
+       part_gpt \
+       part_msdos \
+       png \
+       probe \
+       reboot \
+       regexp \
+       search \
+       search_fs_file \
+       search_fs_uuid \
+       search_label \
+       tar \
+       test \
+       tga \
+       true \
+       usb_keyboard
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -79,15 +176,16 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cp $(DIR_SRC)/doc/COPYING                               /install/cdrom/
        cp $(DIR_SRC)/doc/{ChangeLog,packages-list.txt} /install/cdrom/doc
 
-       # Make the ISO
        mkdir -p /install/cdrom/boot/isolinux
-       dd if=/dev/zero  bs=1k count=2            > /install/cdrom/boot/isolinux/boot.catalog
-ifneq "$(BUILD_PLATFORM)" "arm"
+
+ifeq "$(HAS_KERNEL)" "1"
        cp /boot/vmlinuz-$(KVER)-ipfire             /install/cdrom/boot/isolinux/vmlinuz
        dracut --force --early-microcode -a "installer" --strip --xz /install/cdrom/boot/isolinux/instroot $(KVER)-ipfire
+endif
+
+ifeq "$(HAS_ISOLINUX)" "1"
+       dd if=/dev/zero  bs=1k count=2            > /install/cdrom/boot/isolinux/boot.catalog
        cp $(DIR_SRC)/config/syslinux/boot.png      /install/cdrom/boot/isolinux/boot.png
-       cp /usr/lib/memtest86+/memtest.bin          /install/cdrom/boot/isolinux/memtest
-       cp /usr/share/ipfire-netboot/ipxe.lkrn      /install/cdrom/boot/isolinux/netboot
        cp /usr/share/syslinux/isolinux.bin         /install/cdrom/boot/isolinux/isolinux.bin
        cp /usr/share/hwdata/pci.ids                /install/cdrom/boot/isolinux/pci.ids
        cp -vf /usr/share/syslinux/*.c32            /install/cdrom/boot/isolinux/
@@ -95,16 +193,61 @@ ifneq "$(BUILD_PLATFORM)" "arm"
                $(DIR_SRC)/config/syslinux/syslinux.cfg \
                > /install/cdrom/boot/isolinux/isolinux.cfg
 endif
+
+ifeq "$(HAS_MEMTEST)" "1"
+       # Install memtest
+       cp /usr/lib/memtest86+/memtest.bin          /install/cdrom/boot/isolinux/memtest
+endif
+
+ifeq "$(HAS_IPXE)" "1"
+       cp /usr/share/ipfire-netboot/ipxe.lkrn      /install/cdrom/boot/isolinux/netboot
+endif
+
+ifeq "$(EFI)" "1"
+       # Generate embedded GRUB configuration
+       sed -e "s/NAME/$(NAME)/g" -e "s/VERSION/$(VERSION)/g" -e "s/ARCH/$(BUILD_ARCH)/g" \
+               $(DIR_SRC)/config/cdrom/grub-efi.cfg > /tmp/grub-efi.cfg
+
+       # Build a GRUB EFI image
+       mkdir -pv /install/cdrom/EFI/BOOT
+       grub-mkimage \
+               --format=$(GRUB_ARCH)-efi \
+               --output=/install/cdrom/EFI/BOOT/boot$(EFI_ARCH).efi \
+               --config=/tmp/grub-efi.cfg \
+               --compression=xz \
+               --prefix=/EFI/BOOT \
+               $$(for mod in $(GRUB_EFI_MODULES); do [ -f "/usr/lib/grub/$(GRUB_ARCH)-efi/$${mod}.mod" ] && echo "$${mod}"; done)
+
+       # Install GRUB configuration
+       mkdir -pv /install/cdrom/EFI/BOOT
+       sed -e "s/NAME/$(NAME)/g" -e "s/VERSION/$(VERSION)/g" -e "s/ARCH/$(BUILD_ARCH)/g" \
+               < $(DIR_SRC)/config/cdrom/grub.cfg > /install/cdrom/EFI/BOOT/grub.cfg
+
+       # Create the EFI Eltorito image
+       dd if=/dev/zero of=/install/cdrom/boot/isolinux/efiboot.img bs=1k count=1440
+       mkdosfs -F 12 -n "IPFIRE_EFI" /install/cdrom/boot/isolinux/efiboot.img
+
+       # Mount the EFI image
+       mkdir -pv /install/efiboot.img
+       mount -o loop /install/cdrom/boot/isolinux/efiboot.img /install/efiboot.img
+
+       # Copy the bootloader into the image
+       mkdir -pv /install/efiboot.img/EFI/BOOT
+       cp -a /install/cdrom/EFI/BOOT/boot$(EFI_ARCH).efi \
+               /install/efiboot.img/EFI/BOOT/boot$(EFI_ARCH).efi
+
+       # Cleanup
+       umount /install/efiboot.img
+       rm -rf /install/efiboot.img /tmp/grub-efi.cfg
+endif
+
        cd /install/cdrom && find -type f ! -name md5sum.txt | grep -v "./boot" | \
                                                xargs md5sum > md5sum.txt
 
        mkdir -p /install/images
-ifeq "$(BUILD_PLATFORM)" "arm"
-       cd /install/cdrom && mkisofs -J -r -V "$(NAME)_$(VERSION)" \
-               . > /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
-else
-       cd /install/cdrom && mkisofs -J -r -V "$(NAME)_$(VERSION)" \
-           -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table \
-           -c boot/isolinux/boot.catalog . > /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
-       isohybrid /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
+       cd /install/cdrom && mkisofs $(ISO_ARGS) \
+               -o /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso .
+
+ifeq "$(HAS_ISOLINUX)" "1"
+       isohybrid $(ISOHYBRID_ARGS) /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso
 endif
diff --git a/lfs/efibootmgr b/lfs/efibootmgr
new file mode 100644 (file)
index 0000000..9a2a917
--- /dev/null
@@ -0,0 +1,80 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 16
+
+THISAPP    = efibootmgr-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+SUP_ARCH   = aarch64 x86_64
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = ab7cf46774fda951a0e8a40beb65a90e
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_APP) && make CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
+               EFIDIR=$(SNAME) $(MAKETUNING)
+       cd $(DIR_APP) && make install EFIDIR=$(SNAME)
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
similarity index 87%
rename from lfs/dvdrtools
rename to lfs/efivar
index a093172eb331f5e133918cacb4e280ab1f91dcdf..90d4c57e79a66ab6b57070e3cffb8e5525c235a7 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
 
 include Config
 
-VER        = 0.2.1
+VER        = 35
 
-THISAPP    = dvdrtools-$(VER)
-DL_FILE    = $(THISAPP).tar.gz
+THISAPP    = efivar-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
+SUP_ARCH   = aarch64 x86_64
 
 ###############################################################################
 # Top-level Rules
@@ -40,7 +41,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = e82d359137e716e8c0b04d5c73bd3e79
+$(DL_FILE)_MD5 = 53da18ea0cf7bba1fd9edf3098037edf
 
 install : $(TARGET)
 
@@ -69,11 +70,10 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
-       $(UPDATE_AUTOMAKE)
-       cd $(DIR_APP) && ./configure --prefix=/usr --mandir=/usr/share/man \
-               --disable-static
-       cd $(DIR_APP) && make $(MAKETUNING)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_APP) && make CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKETUNING)
        cd $(DIR_APP) && make install
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 40aca53770481b766795b6c683d176163eadbe60..b78691e083ea40a309bb336552ba492a5307fa68 100644 (file)
@@ -31,6 +31,9 @@ TARGET     = $(DIR_INFO)/$(THISAPP)
 
 DEVICE     = $(shell losetup -f)
 PART_BOOT  = /dev/mapper/$(patsubst /dev/%,%,$(DEVICE))p1
+ifeq "$(EFI)" "1"
+  PART_EFI = /dev/mapper/$(patsubst /dev/%,%,$(DEVICE))p2
+endif
 PART_ROOT  = /dev/mapper/$(patsubst /dev/%,%,$(DEVICE))p3
 
 IMAGE_FILE = /install/images/$(SNAME)-$(VERSION).2gb-ext4.$(BUILD_ARCH)-full-core$(CORE).img.xz
@@ -62,11 +65,14 @@ ifeq "$(BUILD_PLATFORM)" "arm"
 
  # FAT32
  PART_TYPE = c
+ifeq "$(BUILD_ARCH)" "aarch64"
+ BOOTLOADER = grub
+endif
 else
  BOOTLOADER = grub
  S_OFFSET = 8192
 
- # Logical
+ # Linux
  PART_TYPE = L
 endif
 
@@ -75,8 +81,24 @@ endif
 S_BOOT := $(shell echo $$(( 262144 - $(S_OFFSET) )))
 S_ROOT := 2477600
 
+ifeq "$(EFI)" "1"
+ S_EFI = 65536 # 32 MB
+else
+ S_EFI = 0
+endif
+
 PADDING = 100 # MB
 
+ifeq "$(EFI)" "1"
+ SFDISK      = $(SFDISK_BOOT)$(SFDISK_EFI)$(SFDISK_ROOT)
+else
+ SFDISK      = $(SFDISK_BOOT),0,0\n$(SFDISK_ROOT)
+endif
+
+SFDISK_BOOT = $(S_OFFSET),$(S_BOOT),$(PART_TYPE),*\n
+SFDISK_EFI  = $(shell echo $$(( $(S_OFFSET) + $(S_BOOT) ))),$(S_EFI),U\n
+SFDISK_ROOT = $(shell echo $$(( $(S_OFFSET) + $(S_BOOT) + $(S_EFI) ))),$(S_ROOT),L\n
+
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        # Stop if $(MNThdd) is still mounted
        mountpoint $(MNThdd) && exit 1 || exit 0
@@ -84,13 +106,11 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        rm -rf $(IMG) $(MNThdd) && mkdir -p $(MNThdd)
 
        # Allocate image on disk
-       dd if=/dev/zero of=$(IMG) bs=512 count=$$(( $(S_OFFSET) + $(S_BOOT) + $(S_ROOT) ))
+       dd if=/dev/zero of=$(IMG) bs=512 count=$$(( $(S_OFFSET) + $(S_BOOT) + $(S_EFI) + $(S_ROOT) ))
        losetup $(DEVICE) $(IMG)
 
        # Write Partition table
-       echo -e "$(S_OFFSET),$(S_BOOT),$(PART_TYPE),*\n,0,0\n$$(( $(S_BOOT) + $(S_OFFSET) )),$(S_ROOT),L\n" \
-               | sfdisk -uS $(DEVICE)
-       -echo -e "d\n2\nw\n\q\n" | fdisk $(DEVICE)
+       echo -e "$(SFDISK)" | sfdisk -uS $(DEVICE)
 
        kpartx -v -a $(DEVICE)
 
@@ -99,6 +119,9 @@ ifeq "$(PART_TYPE)" "c"
        mkfs.vfat $(PART_BOOT)
 else
        mkfs.ext2 -F $(PART_BOOT)
+endif
+ifeq "$(EFI)" "1"
+       mkfs.vfat $(PART_EFI)
 endif
        mkfs.ext4 -O ^has_journal,extent -F $(PART_ROOT)
 
@@ -113,6 +136,11 @@ endif
        mkdir -pv $(MNThdd)/boot
        mount $(PART_BOOT) $(MNThdd)/boot
 
+ifeq "$(EFI)" "1"
+       mkdir -pv $(MNThdd)/boot/efi
+       mount $(PART_EFI) $(MNThdd)/boot/efi
+endif
+
        # Install Pandaboard MLO and uboot first
 ifeq "$(BUILD_ARCH)" "armv5tel"
        cp -v /boot/MLO $(MNThdd)/boot/
@@ -139,6 +167,10 @@ endif
        # Create /etc/fstab
        printf "$(FSTAB_FMT)" "$$(blkid -o value -s UUID $(PART_BOOT))" "/boot" \
                "auto" "defaults" 1 2 >  $(MNThdd)/etc/fstab
+ifeq "$(EFI)" "1"
+       printf "$(FSTAB_FMT)" "$$(blkid -o value -s UUID $(PART_EFI))" "/boot/efi" \
+               "auto" "defaults" 1 2 >> $(MNThdd)/etc/fstab
+endif
        printf "$(FSTAB_FMT)" "$$(blkid -o value -s UUID $(PART_ROOT))" "/" \
                "auto" "defaults" 1 1 >> $(MNThdd)/etc/fstab
 
@@ -166,9 +198,17 @@ ifeq "$(BOOTLOADER)" "grub"
        sed -i $(MNThdd)/boot/grub/grub.cfg \
                -e "s/root=[A-Za-z0-9\/=-]*/root=UUID=$$(blkid -o value -s UUID $(PART_ROOT))/g"
 
+ifeq "$(BUILD_PLATFORM)" "x86"
        # Install GRUB
        grub-install --force --recheck --no-floppy --target=i386-pc \
                --root-directory=$(MNThdd) $(DEVICE)
+endif
+
+ifeq "$(EFI)" "1"
+       # Install GRUB for EFI
+       grub-install --target=$(GRUB_ARCH)-efi --removable --no-nvram \
+               --boot-directory=$(MNThdd)/boot --efi-directory=$(MNThdd)/boot/efi
+endif
 
        # restore orginal defaults
        mv -f $(MNThdd)/etc/default/grub.backup $(MNThdd)/etc/default/grub
@@ -185,6 +225,9 @@ endif
        umount $(MNThdd)/proc
        umount $(MNThdd)/sys
        umount $(MNThdd)/dev
+ifeq "$(EFI)" "1"
+       umount $(MNThdd)/boot/efi
+endif
        umount $(MNThdd)/boot
        umount $(MNThdd)
 
index 51482961350d2c404c06ae95a2afdd6876506c7d..b51566df39c7c2e9634685b8926b16041f8967de 100644 (file)
--- a/lfs/grub
+++ b/lfs/grub
@@ -31,10 +31,30 @@ DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
-SUP_ARCH   = x86_64 i586
+SUP_ARCH   = aarch64 x86_64 i586
 
-CFLAGS     =
-CXXFLAGS   =
+# Build for which platforms?
+ifeq "$(BUILD_ARCH)" "i586"
+       BUILD_PC = 1
+endif
+
+ifeq "$(BUILD_ARCH)" "x86_64"
+       BUILD_PC = 1
+endif
+
+BUILD_EFI = $(EFI)
+
+DIR_APP_PC  = $(DIR_APP)-pc
+DIR_APP_EFI = $(DIR_APP)-efi
+
+# Don't use our CFLAGS for boot code
+export HOST_CFLAGS  = $(CFLAGS)
+export HOST_LDFLAGS = $(LDFLAGS)
+
+CONFIGURE_ARGS = \
+       --prefix=/usr \
+       --sysconfdir=/etc \
+       --disable-werror
 
 ###############################################################################
 # Top-level Rules
@@ -76,27 +96,38 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) $(DIR_APP_EFI) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
 
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.02_disable_vga_fallback.patch
 
-       cd $(DIR_APP) && \
-               ./configure \
-                       --prefix=/usr \
-                       --sysconfdir=/etc \
-                       --with-platform=pc \
-                       --with-grubdir=grub \
-                       --program-transform-name=s,grub,grub, \
-                       --disable-grub-mount \
-                       --disable-werror
-       cd $(DIR_APP) && make $(MAKETUNING)
-       cd $(DIR_APP) && make install
-
+       # Install unifont
+       cp -v $(DIR_DL)/unifont-7.0.03.pcf.gz $(DIR_APP)/unifont.pcf.gz
+
+ifeq "$(BUILD_EFI)" "1"
+       cp -r $(DIR_APP) $(DIR_APP_EFI)
+       cd $(DIR_APP_EFI) && ./configure $(CONFIGURE_ARGS) \
+               --with-platform=efi CFLAGS= LDFLAGS=
+       cd $(DIR_APP_EFI) && make $(MAKETUNING)
+       cd $(DIR_APP_EFI) && make install
+endif
+
+ifeq "$(BUILD_PC)" "1"
+       cp -r $(DIR_APP) $(DIR_APP_PC)
+       cd $(DIR_APP_PC) && ./configure $(CONFIGURE_ARGS) \
+               --with-platform=pc CFLAGS= LDFLAGS=
+       cd $(DIR_APP_PC) && make $(MAKETUNING)
+       cd $(DIR_APP_PC) && make install
+
+       # Install empty configuration file
        -mkdir -pv /boot/grub
        touch /boot/grub/grub.cfg
-       ln -svf ../boot/grub/grub.cfg /etc/grub2.cfg
+endif
+
+       # Install background image
+       -mkdir -pv /boot/grub
        install -m 644 $(DIR_SRC)/config/grub2/splash.png /boot/grub/splash.png
 
+       # Install default configuration
        -mkdir -pv /etc/default
        install -m 644 $(DIR_SRC)/config/grub2/default /etc/default/grub
 
@@ -104,12 +135,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        paxctl -Cmpes /usr/sbin/grub-bios-setup /usr/sbin/grub-probe
        paxctl -Cmpexs /usr/bin/grub-script-check
 
-       # We don't need to install unifont just to generate a grub2 compatible
-       # font archive for the graphical boot menu. The following command only
-       # converts Latin-1, Latin Extended A+B, Arrows, Box and Block characters.
-       /usr/bin/grub-mkfont --output /boot/grub/unifont.pf2 \
-               --range=0x0000-0x0241,0x2190-0x21FF,0x2500-0x259f \
-               $(DIR_DL)/unifont-7.0.03.pcf.gz
-
-       @rm -rf $(DIR_APP)
+       @rm -rf $(DIR_APP) $(DIR_APP_PC) $(DIR_APP_EFI)
        @$(POSTBUILD)
index a2607cdeffabea5c51859e12f242986e1d1ea23b..759f3725a182f2b57335309a9de57a1599f0b548 100644 (file)
@@ -79,10 +79,17 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && tar axf $(DIR_DL)/ipxe-$(PXE_VER).tar.gz
        cd $(DIR_APP) && rm -rfv ipxe && ln -s ipxe-$(PXE_VER) ipxe
        cd $(DIR_APP) && make bin/ipxe.lkrn
+ifeq "$(BUILD_ARCH)" "x86_64"
+       cd $(DIR_APP) && make bin-x86_64-efi/ipxe.efi
+endif
 
        # Installation
        -mkdir -pv /usr/share/ipfire-netboot
        cd $(DIR_APP) && install -m 644 bin/ipxe.lkrn /usr/share/ipfire-netboot
+ifeq "$(BUILD_ARCH)" "x86_64"
+       cd $(DIR_APP) && install -m 644 bin-x86_64-efi/ipxe.efi \
+               /usr/share/ipfire-netboot
+endif
 
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
index 5dee653a420f2e0998d1862527a9712acfea9e31..c253c8b7bbe5fbc4d9e83c52ae3f581ff698798f 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 3.1
+VER        = 3.2
 
 THISAPP    = parted-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -33,7 +33,7 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 
 PROG       = parted
-PAK_VER    = 2
+PAK_VER    = 3
 
 DEPS       = ""
 
@@ -45,7 +45,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 5d89d64d94bcfefa9ce8f59f4b81bdcb
+$(DL_FILE)_MD5 = 0247b6a7b314f8edeb618159fa95f9cb
 
 install : $(TARGET)
 
@@ -78,6 +78,7 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/parted-3.2-device-mapper.patch
        cd $(DIR_APP) && ./configure --prefix=/usr --disable-device-mapper
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
index 00a8415d0f39f47cfe2519eb6ce4688c82514f87..9d95cd5a165f49c0957f1397926f6dec7ad345fe 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 4.06
+VER        = 6.04-pre1
 
 THISAPP    = syslinux-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -33,6 +33,9 @@ DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 SUP_ARCH   = x86_64 i586
 
+# Clear compiler flags (mainly hardening)
+CFLAGS     =
+
 ###############################################################################
 # Top-level Rules
 ###############################################################################
@@ -41,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 77d33140860621cd850c3a7ab0ebb7d6
+$(DL_FILE)_MD5 = f9c956fde0de29be297402ecbc8ff4d0
 
 install : $(TARGET)
 
@@ -71,6 +74,18 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-       cd $(DIR_APP) && make install
+
+       # Build
+       cd $(DIR_APP) && make bios $(MAKETUNING)
+ifeq "$(BUILD_ARCH)" "x86_64"
+       cd $(DIR_APP) && make efi64 $(MAKETUNING)
+endif
+
+       # Install
+       cd $(DIR_APP) && make bios install
+ifeq "$(BUILD_ARCH)" "x86_64"
+       cd $(DIR_APP) && make efi64 install
+endif
+
        @rm -rf $(DIR_APP)
        @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 17b2d068b5e458d89431299d31531dedb48c5c7b..0b79e9c882a57d40aad6fc840f3af10a8c3c13f4 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -1083,6 +1083,7 @@ buildipfire() {
   lfsmake2 configroot
   lfsmake2 initscripts
   lfsmake2 backup
+  lfsmake2 popt
   lfsmake2 libusb
   lfsmake2 libusb-compat
   lfsmake2 libpcap
@@ -1104,6 +1105,8 @@ buildipfire() {
   lfsmake2 multipath-tools
   lfsmake2 freetype
   lfsmake2 grub
+  lfsmake2 efivar
+  lfsmake2 efibootmgr
   lfsmake2 libmnl
   lfsmake2 libnfnetlink
   lfsmake2 libnetfilter_queue
@@ -1207,7 +1210,6 @@ buildipfire() {
   lfsmake2 libtiff
   lfsmake2 libart
   lfsmake2 gd
-  lfsmake2 popt
   lfsmake2 slang
   lfsmake2 newt
   lfsmake2 libsmooth
@@ -1228,7 +1230,9 @@ buildipfire() {
   lfsmake2 bootstrap
   lfsmake2 arping
   lfsmake2 beep
-  lfsmake2 dvdrtools
+  lfsmake2 libarchive
+  lfsmake2 cmake
+  lfsmake2 cdrkit
   lfsmake2 dosfstools
   lfsmake2 reiserfsprogs
   lfsmake2 xfsprogs
@@ -1370,8 +1374,6 @@ buildipfire() {
   lfsmake2 libshout
   lfsmake2 xvid
   lfsmake2 libmpeg2
-  lfsmake2 libarchive
-  lfsmake2 cmake
   lfsmake2 gnump3d
   lfsmake2 rsync
   lfsmake2 libtirpc
index 819d1288564a11377e03d5e22093937b2475146d..2fad11251e31cf3defab89d082736ff674355b61 100644 (file)
@@ -38,12 +38,12 @@ case "${1}" in
                                        echo "GRUB_SERIAL_COMMAND=\"serial --unit=0 --speed=115200\"" >> /etc/default/grub
                                        sed -i -e "s|panic=10|& console=ttyS0,115200n8|g" /etc/default/grub
                                fi
-                               /usr/local/bin/update-bootloader
+
+                               # Re-generate GRUB configuration
+                               /usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg
                        fi
                        umount /boot > /dev/null
 
-                       sleep 30
-
                        # Detect device
                        mount | while read -r dev tmp1 mountpoint tmp2; do
                                [ "${dev}" = "rootfs" ] && continue
index d0e52dc187aaa9b6c697bfd1d13c9b266e31b177..32f01bfa66183cb654398f866fcf9e5dd32ae00f 100644 (file)
@@ -35,6 +35,7 @@ bin_PROGRAMS = \
 bin_SCRIPTS = \
        downloadsource.sh \
        execute-postinstall.sh \
+       install-bootloader \
        start-networking.sh
 
 #- installer -------------------------------------------------------------------
index b8803970a74e26342925daf69f53fa81747a6ae3..103f754e9869db3a1080147fbbfc3938efe3e941 100755 (executable)
@@ -29,7 +29,7 @@ install() {
     instmods virtio_net hv_netvsc vmxnet3
 
     # Filesystem support
-    inst_multiple parted mkswap mke2fs mkreiserfs mkfs.xfs
+    inst_multiple parted mkswap mke2fs mkreiserfs mkfs.xfs mkfs.vfat
     instmods ext4 iso9660 reiserfs vfat xfs
 
     # Extraction
index 6acddf9bff7fad37b046914495f6527c5f649bbf..c9b95017d3ced051a52043ac6e83551a9348821a 100644 (file)
@@ -37,6 +37,7 @@
 #include <sys/stat.h>
 #include <sys/swap.h>
 #include <sys/sysinfo.h>
+#include <sys/utsname.h>
 #include <unistd.h>
 
 #include <linux/fs.h>
@@ -61,7 +62,7 @@ static int system_chroot(const char* output, const char* path, const char* cmd)
 }
 
 struct hw* hw_init() {
-       struct hw* hw = malloc(sizeof(*hw));
+       struct hw* hw = calloc(1, sizeof(*hw));
        assert(hw);
 
        // Initialize libudev
@@ -71,6 +72,16 @@ struct hw* hw_init() {
                exit(1);
        }
 
+       // What architecture are we running on?
+       struct utsname uname_data;
+       int ret = uname(&uname_data);
+       if (ret == 0)
+               snprintf(hw->arch, sizeof(hw->arch), "%s", uname_data.machine);
+
+       // Should we install in EFI mode?
+       if ((strcmp(hw->arch, "x86_64") == 0) || (strcmp(hw->arch, "aarch64") == 0))
+               hw->efi = 1;
+
        return hw;
 }
 
@@ -135,7 +146,14 @@ int hw_mount(const char* source, const char* target, const char* fs, int flags)
                }
        }
 
-       return mount(source, target, fs, flags, NULL);
+       int r = mount(source, target, fs, flags, NULL);
+
+       if (r) {
+               fprintf(stderr, "Error mounting %s to %s (fs = %s, flags = %d): %s\n",
+                               source, target, fs, flags, strerror(r));
+       }
+
+       return r;
 }
 
 int hw_umount(const char* target) {
@@ -438,7 +456,7 @@ static int hw_device_has_p_suffix(const struct hw_destination* dest) {
        return 0;
 }
 
-static int hw_calculate_partition_table(struct hw_destination* dest, int disable_swap) {
+static int hw_calculate_partition_table(struct hw* hw, struct hw_destination* dest, int disable_swap) {
        char path[DEV_SIZE];
        int part_idx = 1;
 
@@ -496,9 +514,15 @@ static int hw_calculate_partition_table(struct hw_destination* dest, int disable
 
        dest->size_boot = hw_boot_size(dest);
 
+       // Create an EFI partition when running in EFI mode
+       if (hw->efi)
+               dest->size_boot_efi = MB2BYTES(32);
+       else
+               dest->size_boot_efi = 0;
+
        // Determine the size of the data partition.
        unsigned long long space_left = dest->size - \
-               (dest->size_bootldr + dest->size_boot);
+               (dest->size_bootldr + dest->size_boot + dest->size_boot_efi);
 
        // If we have less than 2GB left, we disable swap
        if (space_left <= MB2BYTES(2048))
@@ -525,6 +549,14 @@ static int hw_calculate_partition_table(struct hw_destination* dest, int disable
        } else
                *dest->part_boot = '\0';
 
+       if (dest->size_boot_efi > 0) {
+               dest->part_boot_efi_idx = part_idx;
+
+               snprintf(dest->part_boot_efi, sizeof(dest->part_boot_efi),
+                       "%s%d", path, part_idx++);
+       } else
+               *dest->part_boot_efi = '\0';
+
        if (dest->size_swap > 0)
                snprintf(dest->part_swap, sizeof(dest->part_swap), "%s%d", path, part_idx++);
        else
@@ -539,7 +571,7 @@ static int hw_calculate_partition_table(struct hw_destination* dest, int disable
        return 0;
 }
 
-struct hw_destination* hw_make_destination(int part_type, struct hw_disk** disks, int disable_swap) {
+struct hw_destination* hw_make_destination(struct hw* hw, int part_type, struct hw_disk** disks, int disable_swap) {
        struct hw_destination* dest = malloc(sizeof(*dest));
 
        if (part_type == HW_PART_TYPE_NORMAL) {
@@ -559,7 +591,7 @@ struct hw_destination* hw_make_destination(int part_type, struct hw_disk** disks
        // Is this a RAID device?
        dest->is_raid = (part_type > HW_PART_TYPE_NORMAL);
 
-       int r = hw_calculate_partition_table(dest, disable_swap);
+       int r = hw_calculate_partition_table(hw, dest, disable_swap);
        if (r)
                return NULL;
 
@@ -647,6 +679,14 @@ int hw_create_partitions(struct hw_destination* dest, const char* output) {
                part_start += dest->size_boot;
        }
 
+       if (*dest->part_boot_efi) {
+               asprintf(&cmd, "%s mkpart %s fat32 %lluB %lluB", cmd,
+                       (dest->part_table == HW_PART_TABLE_GPT) ? "ESP" : "primary",
+                       part_start, part_start + dest->size_boot_efi - 1);
+
+               part_start += dest->size_boot_efi;
+       }
+
        if (*dest->part_swap) {
                asprintf(&cmd, "%s mkpart %s linux-swap %lluB %lluB", cmd,
                        (dest->part_table == HW_PART_TABLE_GPT) ? "SWAP" : "primary",
@@ -666,6 +706,9 @@ int hw_create_partitions(struct hw_destination* dest, const char* output) {
        if (dest->part_boot_idx > 0)
                asprintf(&cmd, "%s set %d boot on", cmd, dest->part_boot_idx);
 
+       if (dest->part_boot_efi_idx > 0)
+               asprintf(&cmd, "%s set %d esp on", cmd, dest->part_boot_efi_idx);
+
        if (dest->part_table == HW_PART_TABLE_GPT) {
                if (*dest->part_bootldr) {
                        asprintf(&cmd, "%s set %d bios_grub on", cmd, dest->part_boot_idx);
@@ -688,6 +731,9 @@ int hw_create_partitions(struct hw_destination* dest, const char* output) {
                        if (*dest->part_boot && (try_open(dest->part_boot) != 0))
                                continue;
 
+                       if (*dest->part_boot_efi && (try_open(dest->part_boot_efi) != 0))
+                               continue;
+
                        if (*dest->part_swap && (try_open(dest->part_swap) != 0))
                                continue;
 
@@ -726,6 +772,10 @@ static int hw_format_filesystem(const char* path, int fs, const char* output) {
        // XFS
        } else if (fs == HW_FS_XFS) {
                snprintf(cmd, sizeof(cmd), "/sbin/mkfs.xfs -f %s", path);
+
+       // FAT32
+       } else if (fs == HW_FS_FAT32) {
+               snprintf(cmd, sizeof(cmd), "/sbin/mkfs.vfat %s", path);
        }
 
        assert(*cmd);
@@ -745,6 +795,13 @@ int hw_create_filesystems(struct hw_destination* dest, const char* output) {
                        return r;
        }
 
+       // ESP
+       if (*dest->part_boot_efi) {
+               r = hw_format_filesystem(dest->part_boot_efi, HW_FS_FAT32, output);
+               if (r)
+                       return r;
+       }
+
        // swap
        if (*dest->part_swap) {
                r = hw_format_filesystem(dest->part_swap, HW_FS_SWAP, output);
@@ -780,6 +837,10 @@ int hw_mount_filesystems(struct hw_destination* dest, const char* prefix) {
                        filesystem = "xfs";
                        break;
 
+               case HW_FS_FAT32:
+                       filesystem = "vfat";
+                       break;
+
                default:
                        assert(0);
        }
@@ -802,6 +863,19 @@ int hw_mount_filesystems(struct hw_destination* dest, const char* prefix) {
                }
        }
 
+       // ESP
+       if (*dest->part_boot_efi) {
+               snprintf(target, sizeof(target), "%s%s", prefix, HW_PATH_BOOT_EFI);
+               mkdir(target, S_IRWXU|S_IRWXG|S_IRWXO);
+
+               r = hw_mount(dest->part_boot_efi, target, "vfat", 0);
+               if (r) {
+                       hw_umount_filesystems(dest, prefix);
+
+                       return r;
+               }
+       }
+
        // swap
        if (*dest->part_swap) {
                r = swapon(dest->part_swap, 0);
@@ -838,6 +912,14 @@ int hw_umount_filesystems(struct hw_destination* dest, const char* prefix) {
        // Write all buffers to disk before umounting
        hw_sync();
 
+       // ESP
+       if (*dest->part_boot_efi) {
+               snprintf(target, sizeof(target), "%s%s", prefix, HW_PATH_BOOT_EFI);
+               r = hw_umount(target);
+               if (r)
+                       return -1;
+       }
+
        // boot
        if (*dest->part_boot) {
                snprintf(target, sizeof(target), "%s%s", prefix, HW_PATH_BOOT);
@@ -952,35 +1034,17 @@ int hw_stop_all_raid_arrays(const char* output) {
        return mysystem(output, "/sbin/mdadm --stop --scan --verbose");
 }
 
-int hw_install_bootloader(struct hw_destination* dest, const char* output) {
+int hw_install_bootloader(struct hw* hw, struct hw_destination* dest, const char* output) {
        char cmd[STRING_SIZE];
-       int r;
 
-       // Generate configuration file
-       snprintf(cmd, sizeof(cmd), "/usr/sbin/grub-mkconfig -o /boot/grub/grub.cfg");
-       r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd);
+       snprintf(cmd, sizeof(cmd), "/usr/bin/install-bootloader %s", dest->path);
+       int r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd);
        if (r)
                return r;
 
-       char cmd_grub[STRING_SIZE];
-       snprintf(cmd_grub, sizeof(cmd_grub), "/usr/sbin/grub-install --no-floppy --recheck");
-
-       if (dest->is_raid) {
-               snprintf(cmd, sizeof(cmd), "%s %s", cmd_grub, dest->disk1->path);
-               r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd);
-               if (r)
-                       return r;
-
-               snprintf(cmd, sizeof(cmd), "%s %s", cmd_grub, dest->disk2->path);
-               r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd);
-       } else {
-               snprintf(cmd, sizeof(cmd), "%s %s", cmd_grub, dest->path);
-               r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd);
-       }
-
        hw_sync();
 
-       return r;
+       return 0;
 }
 
 static char* hw_get_uuid(const char* dev) {
@@ -1021,6 +1085,17 @@ int hw_write_fstab(struct hw_destination* dest) {
                }
        }
 
+       // ESP
+       if (*dest->part_boot_efi) {
+               uuid = hw_get_uuid(dest->part_boot_efi);
+
+               if (uuid) {
+                       fprintf(f, FSTAB_FMT, uuid, "/boot/efi", "auto", "defaults", 1, 2);
+                       free(uuid);
+               }
+       }
+
+
        // swap
        if (*dest->part_swap) {
                uuid = hw_get_uuid(dest->part_swap);
index e127f1f5100659906fec3982eae8b0cd165847f7..9fe69271e6c33e1a0440f24bdfa31db8411bb819 100644 (file)
@@ -32,6 +32,7 @@
 #define DEV_SIZE                    128
 
 #define HW_PATH_BOOT                  "/boot"
+#define HW_PATH_BOOT_EFI              "/boot/efi"
 #define HW_PATH_DATA                  "/var"
 
 #define HW_PART_TYPE_NORMAL           0
@@ -45,6 +46,7 @@
 #define HW_FS_EXT4                    2
 #define HW_FS_EXT4_WO_JOURNAL         3
 #define HW_FS_XFS                     4
+#define HW_FS_FAT32                   5
 
 #define HW_FS_DEFAULT                 HW_FS_EXT4
 
 
 struct hw {
        struct udev *udev;
+       char arch[STRING_SIZE];
+
+       // Enabled if we should install in EFI mode
+       int efi;
 };
 
 struct hw_disk {
@@ -82,15 +88,18 @@ struct hw_destination {
        int part_table;
        char part_bootldr[DEV_SIZE];
        char part_boot[DEV_SIZE];
+       char part_boot_efi[DEV_SIZE];
        char part_swap[DEV_SIZE];
        char part_root[DEV_SIZE];
        int part_boot_idx;
+       int part_boot_efi_idx;
 
        int filesystem;
 
        unsigned long long size;
        unsigned long long size_bootldr;
        unsigned long long size_boot;
+       unsigned long long size_boot_efi;
        unsigned long long size_swap;
        unsigned long long size_root;
 };
@@ -109,7 +118,7 @@ unsigned int hw_count_disks(const struct hw_disk** disks);
 struct hw_disk** hw_select_disks(struct hw_disk** disks, int* selection);
 struct hw_disk** hw_select_first_disk(const struct hw_disk** disks);
 
-struct hw_destination* hw_make_destination(int part_type, struct hw_disk** disks,
+struct hw_destination* hw_make_destination(struct hw* hw, int part_type, struct hw_disk** disks,
        int disable_swap);
 
 unsigned long long hw_memory();
@@ -124,7 +133,7 @@ int hw_destroy_raid_superblocks(const struct hw_destination* dest, const char* o
 int hw_setup_raid(struct hw_destination* dest, const char* output);
 int hw_stop_all_raid_arrays(const char* output);
 
-int hw_install_bootloader(struct hw_destination* dest, const char* output);
+int hw_install_bootloader(struct hw* hw, struct hw_destination* dest, const char* output);
 int hw_write_fstab(struct hw_destination* dest);
 
 char* hw_find_backup_file(const char* output, const char* search_path);
similarity index 67%
rename from src/scripts/update-bootloader
rename to src/installer/install-bootloader
index ad6fdb6420a600ab6c7e5f16172aec45076f25d6..9c78696133a63bcd743dc4c2c13c22de786e07f6 100644 (file)
@@ -21,7 +21,7 @@
 #                                                                          #
 ############################################################################
 
-GRUB_INSTALL_ARGS="--no-floppy --recheck"
+GRUB_INSTALL_ARGS="--no-floppy --recheck --force"
 
 function find_bootloader_device() {
        local mp
@@ -52,7 +52,7 @@ function find_device() {
        # Get the actual device from the partition that holds /
        while [ -n "${root}" ]; do
                if [ -e "/sys/block/${root}" ]; then
-                       echo "${root}"
+                       echo "/dev/${root}"
                        return 0
                fi
 
@@ -66,15 +66,15 @@ function find_device() {
 function device_is_mdraid() {
        local device="${1}"
 
-       [ -d "/sys/block/${device}/md" ]
+       [ -d "/sys/block/${device/\/dev/}/md" ]
 }
 
 function mdraid_get_slaves() {
        local device="${1}"
 
        local slave
-       for slave in /sys/block/${device}/slaves/*; do
-               basename "${slave}"
+       for slave in /sys/block/${device/\/dev/}/slaves/*; do
+               echo "/dev/$(basename "${slave}")"
        done 2>/dev/null
 }
 
@@ -99,44 +99,92 @@ function grub_install() {
                return 1
        fi
 
-       local args
-       for args in "" "--force"; do
-               if grub-install ${GRUB_INSTALL_ARGS} ${args} "${device}" &>/dev/null; then
-                       return 0
-               fi
+       local arches
+       case "$(uname -m)" in
+               aarch64)
+                       arches="arm64-efi"
+                       ;;
+               i?86)
+                       arches="i386-pc"
+                       ;;
+               x86_64)
+                       arches="i386-pc x86_64-efi"
+                       ;;
+       esac
+
+       local arch
+       for arch in ${arches}; do
+               local args="--target=${arch}"
+
+               case "${arch}" in
+                       *-efi)
+                               # Skip all EFI architectures if no EFI partition exists
+                               if [ ! -d "/boot/efi" ]; then
+                                       continue
+                               fi
+
+                               args="${args} --efi-directory=/boot/efi"
+
+                               # Don't try to modify the BIOS when we are
+                               # not running on EFI right now
+                               if [ ! -d "/sys/firmware/efi" ]; then
+                                       args="${args} --no-nvram"
+                               fi
+                               ;;
+               esac
+
+               local removable
+               for removable in "" "--removable"; do
+                       if ! grub-install ${GRUB_INSTALL_ARGS} ${args} \
+                                       ${removable} "${device}" &>/dev/null; then
+                               echo "Could not install GRUB on ${device}" >&2
+                               return 1
+                       fi
+
+                       # Do not try to install with --removable for non-efi architectures
+                       [[ "${arch}" =~ \-efi$ ]] || break
+               done
        done
 
-       echo "Could not install GRUB on ${device}" >&2
-       return 1
+       return 0
 }
 
 function main() {
+       local device="${1}"
+
        # Find the root device
-       local device="$(find_bootloader_device)"
        if [ -z "${device}" ]; then
-               echo "Could not find root device. Aborting." >&2
-               exit 1
+               device="$(find_bootloader_device)"
+               if [ -z "${device}" ]; then
+                       echo "Could not find root device. Aborting." >&2
+                       return 1
+               fi
+
+               echo "Found bootloader device: ${device}"
        fi
 
-       echo "Found bootloader device: /dev/${device}"
+       if [ ! -b "${device}" ]; then
+               echo "${device} does not exist" >&2
+               return 2
+       fi
 
        # Update configuration files
-       grub_update_config || exit $?
+       grub_update_config || return $?
 
        # Handle mdraid devices
        if device_is_mdraid "${device}"; then
                local slave
                for slave in $(mdraid_get_slaves "${device}"); do
-                       grub_install "/dev/${slave}"
+                       grub_install "${slave}"
                done
 
        # Handle normal block devices
        else
-               grub_install "/dev/${device}"
+               grub_install "${device}"
        fi
 
        return 0
 }
 
 # Run main function
-main
+main "$@" || exit $?
index 5572a4da49104d28427f6993df6786d326315b74..849976542d0489301a9e0697a28d4f4ea1eb3194 100644 (file)
@@ -383,7 +383,9 @@ int main(int argc, char *argv[]) {
        }
 
        fprintf(flog, "Install program started.\n");
-               
+       if (hw->efi)
+               fprintf(flog, "EFI mode enabled\n");
+
        newtInit();
        newtCls();
 
@@ -673,7 +675,8 @@ int main(int argc, char *argv[]) {
 
        hw_free_disks(disks);
 
-       struct hw_destination* destination = hw_make_destination(part_type, selected_disks, config.disable_swap);
+       struct hw_destination* destination = hw_make_destination(hw, part_type,
+               selected_disks, config.disable_swap);
 
        if (!destination) {
                errorbox(_("Your harddisk is too small."));
@@ -683,6 +686,7 @@ int main(int argc, char *argv[]) {
        fprintf(flog, "Destination drive: %s\n", destination->path);
        fprintf(flog, "  bootldr: %s (%lluMB)\n", destination->part_bootldr, BYTES2MB(destination->size_bootldr));
        fprintf(flog, "  boot   : %s (%lluMB)\n", destination->part_boot, BYTES2MB(destination->size_boot));
+       fprintf(flog, "  ESP    : %s (%lluMB)\n", destination->part_boot_efi, BYTES2MB(destination->size_boot_efi));
        fprintf(flog, "  swap   : %s (%lluMB)\n", destination->part_swap, BYTES2MB(destination->size_swap));
        fprintf(flog, "  root   : %s (%lluMB)\n", destination->part_root, BYTES2MB(destination->size_root));
        fprintf(flog, "Memory   : %lluMB\n", BYTES2MB(hw_memory()));
@@ -834,7 +838,7 @@ int main(int argc, char *argv[]) {
                fclose(f);
        }
 
-       rc = hw_install_bootloader(destination, logfile);
+       rc = hw_install_bootloader(hw, destination, logfile);
        if (rc) {
                errorbox(_("Unable to install the bootloader."));
                goto EXIT;
diff --git a/src/patches/cdrkit/cdrkit-1.1.10-build-fix.patch b/src/patches/cdrkit/cdrkit-1.1.10-build-fix.patch
new file mode 100644 (file)
index 0000000..75c4db2
--- /dev/null
@@ -0,0 +1,11 @@
+diff -up cdrkit-1.1.10/genisoimage/genisoimage.c.build-fix cdrkit-1.1.10/genisoimage/genisoimage.c
+--- cdrkit-1.1.10/genisoimage/genisoimage.c.build-fix  2010-01-20 11:05:05.000000000 +0100
++++ cdrkit-1.1.10/genisoimage/genisoimage.c    2010-01-20 11:21:16.144098749 +0100
+@@ -47,6 +47,7 @@
+ #include <mconfig.h>
+ #include "genisoimage.h"
++#include "checksum.h"
+ #include "iso9660.h"
+ #include <errno.h>
+ #include <timedefs.h>
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-cmakewarn.patch b/src/patches/cdrkit/cdrkit-1.1.11-cmakewarn.patch
new file mode 100644 (file)
index 0000000..a171e39
--- /dev/null
@@ -0,0 +1,9 @@
+diff -up cdrkit-1.1.11/CMakeLists.txt.cmakewarn cdrkit-1.1.11/CMakeLists.txt
+--- cdrkit-1.1.11/CMakeLists.txt.cmakewarn     2012-07-31 13:11:10.075500531 +0200
++++ cdrkit-1.1.11/CMakeLists.txt       2012-07-31 13:11:41.069108287 +0200
+@@ -1,3 +1,5 @@
++cmake_minimum_required(VERSION 2.8)
++cmake_policy(SET CMP0015 OLD)
+ PROJECT (cdrkit C)
+ SUBDIRS(include genisoimage wodim libedc libhfs_iso icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-devname.patch b/src/patches/cdrkit/cdrkit-1.1.11-devname.patch
new file mode 100644 (file)
index 0000000..93e32d6
--- /dev/null
@@ -0,0 +1,30 @@
+diff -up wrk/libusal/scsi-linux-sg.c.wrk wrk/libusal/scsi-linux-sg.c
+--- wrk/libusal/scsi-linux-sg.c.wrk    2015-05-29 13:30:41.088896572 +0200
++++ wrk/libusal/scsi-linux-sg.c        2015-05-29 13:38:25.776303388 +0200
+@@ -509,7 +509,9 @@ usalo_open(SCSI *usalp, char *device)
+               /* scan and maybe keep one open, sg_setup decides */
+ #define HDX 0
+ #define SCD 1
+-#define SG 2
++/* second scd option included because of Fedora naming convention /dev/srN */
++#define SCD2 2
++#define SG 3
+               int h;
+ /*
+ retry_scan_open:
+@@ -533,6 +535,15 @@ retry_scan_open:
+                                               first=0;
+                                               last=255;
+                                               break;
++                                      }
++                              case(SCD2):
++                                      {
++                                              if(!check_linux_26())
++                                                      continue;
++                                              pattern="/dev/sr%d";
++                                              first=0;
++                                              last=255;
++                                              break;
+                                       }
+                               case(SG):
+                                       {
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-dvdman.patch b/src/patches/cdrkit/cdrkit-1.1.11-dvdman.patch
new file mode 100644 (file)
index 0000000..471a7a9
--- /dev/null
@@ -0,0 +1,70 @@
+diff -up cdrkit-1.1.11/wodim/wodim.1.dvdman cdrkit-1.1.11/wodim/wodim.1
+--- cdrkit-1.1.11/wodim/wodim.1.dvdman 2011-06-08 14:49:00.073093571 +0200
++++ cdrkit-1.1.11/wodim/wodim.1        2011-06-08 14:50:59.707093540 +0200
+@@ -835,49 +835,33 @@ newer ones) still implement the Sony pro
+ not yet become a problem to use this driver for all Sony drives. If you find
+ a newer Sony drive that does not work with this driver, please report.
+ .TP
+-.B mmc_dvd
++.B mmc_mdvd
+ The generic SCSI-3/mmc-2 DVD-R/DVD-RW driver is auto-selected whenever
+ .B wodim
+ finds a MMC-2 or MMC-3 compliant drive that supports to write DVDs and
+ an appropriate medium is loaded.
+-There is no Track At Once mode for DVD writers.
+-.TP
+-.B mmc_dvdplus
+-The generic SCSI-3/mmc-3 DVD+R/DVD+RW driver is auto-selected whenever
+-one of the DVD+ media types that are incompatible to each other is found.
+-It checks media and then 
+-branches to the driver that matches the current medium.
+-.TP
+-.B mmc_dvdplusr
+-The generic SCSI-3/mmc-3 DVD+R driver is auto-selected whenever
+-a DVD+R medium is found in an appropriate writer.
+ Note that for unknown reason, the DVD-Plus alliance does not
+-like that there is a simulation mode for DVD+R media.
+-The author of
+-.B wodim
+-tries to convince manufacturers to implement a simulation mode for DVD+R
+-and implement support.
+-DVD+R only supports one write mode that is somewhere between Track At Once
+-and Packet writing; this mode is selected in 
++like that there is a simulation mode for DVD+R and DVD+RW media nor a way 
++to erase DVD+RW media.
++DVD+R and DVD+RW only supports one write mode that is somewhere between 
++Track At Once and Packet writing; this mode is selected in 
+ .B wodim
+ via a the 
+ .BR \-dao / \-sao
+ option.
+-.TP
+-.B mmc_dvdplusrw
+-The generic SCSI-3/mmc-3 DVD+RW driver is auto-selected whenever
+-a DVD+RW medium is found in an appropriate writer.
+-As DVD+RW media needs to be formatted before its first use, wodim
+-auto-detects this media state and performs a format before it starts
+-to write.
+-Note that for unknown reason, the DVD-Plus alliance does not
+-like that there is a simulation mode nor a way to erase DVD+RW media.
+-DVD+RW only supports one write mode that is close to
+-Packet writing; this mode is selected in 
++As DVD+RW media needs to be formatted before its first use, 
+ .B wodim
+-via a the 
+-.BR \-dao / \-sao
+-option.
++auto-detects this media state and performs a format before it starts
++to write. 
++.sp
++Note: If you have any problems during burning DVDs using 
++.BR wodim , 
++please consider 
++.B growisofs 
++from package
++.BR dvd+rw-tools , 
++which often works better 
++in these cases.
+ .TP
+ .B cw_7501
+ The driver for Matsushita/Panasonic CW-7501 is auto-selected when
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-format.patch b/src/patches/cdrkit/cdrkit-1.1.11-format.patch
new file mode 100644 (file)
index 0000000..983ed23
--- /dev/null
@@ -0,0 +1,129 @@
+diff -up cdrkit-1.1.11/wodim/drv_mmc.c.format cdrkit-1.1.11/wodim/drv_mmc.c
+--- cdrkit-1.1.11/wodim/drv_mmc.c.format       2011-05-18 16:49:14.591822130 +0200
++++ cdrkit-1.1.11/wodim/drv_mmc.c      2011-05-18 16:49:14.596822130 +0200
+@@ -1507,6 +1507,11 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
+       dstat_t *dsp = dp->cdr_dstat;
+       struct track_info track_info;
++
++      extern char *buf;
++      struct disk_info *dip;
++      int profile;
++
+     if(lverbose)
+         printf("HINT: use dvd+rw-mediainfo from dvd+rw-tools for information extraction.\n");
+       /* if(getdisktype_mmc(usalp, dp)<0)
+@@ -1521,6 +1526,18 @@ getdisktype_mdvd(SCSI *usalp, cdr_t *dp)
+       dsp->ds_disktype&= ~DT_CD;
+       dsp->ds_disktype|= DT_DVD;
++      profile = get_curprofile(usalp);
++      if (profile == 0x1A) {
++              dip = (struct disk_info *)buf;
++              if (get_diskinfo(usalp, dip) < 0)
++                      return (-1);
++              if (dip->disk_status == DS_EMPTY) {     /* Unformatted      */
++                      dsp->ds_flags |= DSF_NEED_FORMAT;
++                      if(lverbose)
++                              printf("The medium is empty, it will be auto formatted.\n");
++              }
++      }
++      
+       return (ret);
+ }
+diff -up cdrkit-1.1.11/wodim/scsi_cdr.c.format cdrkit-1.1.11/wodim/scsi_cdr.c
+--- cdrkit-1.1.11/wodim/scsi_cdr.c.format      2011-05-18 16:49:14.601822130 +0200
++++ cdrkit-1.1.11/wodim/scsi_cdr.c     2011-05-18 16:49:14.600822130 +0200
+@@ -1328,7 +1328,7 @@ scsi_format(SCSI *usalp, caddr_t addr, i
+       }
+       sleep(10);
+       printf("\rFormating in progress: 100.00 %% done.        \n");
+-      if (pid) exit (0);
++      if (pid > 0) exit (0);
+       return ret;
+ }
+diff -up cdrkit-1.1.11/wodim/wodim.c.format cdrkit-1.1.11/wodim/wodim.c
+--- cdrkit-1.1.11/wodim/wodim.c.format 2011-05-18 16:49:14.584822130 +0200
++++ cdrkit-1.1.11/wodim/wodim.c        2011-05-18 17:21:59.510821630 +0200
+@@ -946,6 +946,40 @@ int main(int argc, char *argv[])
+               print_toc(usalp, dp);
+               comexit(0);
+       }
++      
++      if ((flags & F_FORMAT) || (dp->cdr_dstat->ds_flags & DSF_NEED_FORMAT)) {
++              printf("wodim: media format asked\n");
++              /*
++              * Do not abort if OPC failes. Just give it a chance
++              * for better laser power calibration than without OPC.
++              *
++              * Ricoh drives return with a vendor unique sense code.
++              * This is most likely because they refuse to do OPC
++              * on a non blank media.
++              */
++              usalp->silent++;
++              do_opc(usalp, dp, flags);
++              usalp->silent--;
++              wait_unit_ready(usalp, 120);
++              if (gettimeofday(&starttime, (struct timezone *)0) < 0)
++                      errmsg("Cannot get start time\n");
++              
++              if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
++                      errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
++                      comexit(EX_BAD);
++              }
++              if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
++                      errmsg("Cannot get format time\n");
++              if (lverbose)
++                      prtimediff("Formatting time: ", &starttime, &fixtime);
++
++              if (!wait_unit_ready(usalp, 240) || tracks == 0) {
++                      comexit(0);
++              }
++              if (gettimeofday(&starttime, (struct timezone *)0) < 0)
++                      errmsg("Cannot get start time\n");
++      }
++      
+ #ifdef        XXX
+       if ((*dp->cdr_check_session)() < 0) {
+               comexit(EX_BAD);
+@@ -1230,38 +1264,6 @@ int main(int argc, char *argv[])
+                       comexit(0);
+               }
+       }
+-      if (flags & F_FORMAT) {
+-              printf("wodim: media format asked\n");
+-              /*
+-              * Do not abort if OPC failes. Just give it a chance
+-              * for better laser power calibration than without OPC.
+-              *
+-              * Ricoh drives return with a vendor unique sense code.
+-              * This is most likely because they refuse to do OPC
+-              * on a non blank media.
+-              */
+-              usalp->silent++;
+-              do_opc(usalp, dp, flags);
+-              usalp->silent--;
+-              wait_unit_ready(usalp, 120);
+-              if (gettimeofday(&starttime, (struct timezone *)0) < 0)
+-                      errmsg("Cannot get start time\n");
+-
+-              if ((*dp->cdr_format)(usalp, dp, formattype) < 0) {
+-                      errmsgno(EX_BAD, "Cannot format disk, aborting.\n");
+-                      comexit(EX_BAD);
+-              }
+-              if (gettimeofday(&fixtime, (struct timezone *)0) < 0)
+-                      errmsg("Cannot get format time\n");
+-              if (lverbose)
+-                      prtimediff("Formatting time: ", &starttime, &fixtime);
+-
+-              if (!wait_unit_ready(usalp, 240) || tracks == 0) {
+-                      comexit(0);
+-              }
+-              if (gettimeofday(&starttime, (struct timezone *)0) < 0)
+-                      errmsg("Cannot get start time\n");
+-      }
+       /*
+       * Reset start time so we will not see blanking time and
+       * writing time counted together.
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-handler.patch b/src/patches/cdrkit/cdrkit-1.1.11-handler.patch
new file mode 100644 (file)
index 0000000..5b3fa6a
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up cdrkit-1.1.11/icedax/icedax.c.handler cdrkit-1.1.11/icedax/icedax.c
+--- cdrkit-1.1.11/icedax/icedax.c.handler      2011-06-02 16:37:02.446206285 +0200
++++ cdrkit-1.1.11/icedax/icedax.c      2011-06-02 16:37:25.444206279 +0200
+@@ -1054,7 +1054,7 @@ static void exit_wrapper(int status)
+       if (child_pid != 0) {
+               SCSI *usalp = get_scsi_p();
+-              if (usalp->running) {
++              if (usalp && usalp->running) {
+                       usalp->cb_fun = on_exitscsi;
+                       usalp->cb_arg = (void *) (uintptr_t) status;
+               } else {
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-manpagefix.patch b/src/patches/cdrkit/cdrkit-1.1.11-manpagefix.patch
new file mode 100644 (file)
index 0000000..26b5175
--- /dev/null
@@ -0,0 +1,191 @@
+diff -up cdrkit-1.1.11/genisoimage/genisoimage.1.orig cdrkit-1.1.11/genisoimage/genisoimage.1
+--- cdrkit-1.1.11/genisoimage/genisoimage.1.orig       2011-01-21 14:26:20.709816708 +0100
++++ cdrkit-1.1.11/genisoimage/genisoimage.1    2011-01-24 08:49:24.283964211 +0100
+@@ -180,6 +180,8 @@ in the
+ file.
+ .TP
+ .BI \-A " application_id"
++.TP
++.BI \-appid " application_id"
+ Specifies a text string that will be written into the volume header.
+ This should describe the application that will be on the disc.  There
+ is space for 128 characters.  Equivalent to
+@@ -365,6 +367,8 @@ the Sun disk label will overlay the firs
+ boot image.
+ .TP
+ .BI \-b " eltorito_boot_image"
++.TP
++.BI \-eltorito\-boot " eltorito_boot_image"
+ Specifies the path and filename of the boot image to be used when making
+ an El Torito bootable CD for x86 PCs. The pathname must be relative to
+ the source path specified to
+@@ -427,6 +431,8 @@ See the
+ section for a description of this table.
+ .TP
+ .BI \-C " last_sess_start,next_sess_start"
++.TP
++.BI \-cdrecord\-params " last_sess_start,next_sess_start"
+ This option is needed to create a CD Extra or the image of a second
+ session or a higher-level session for a multisession disc.
+ .B \-C
+@@ -452,6 +458,8 @@ session on a CD Extra. This is a multise
+ in the first session and an ISO9660 filesystem in the second session.
+ .TP
+ .BI \-c " boot_catalog"
++.TP
++.BI \-eltorito\-catalog " boot_catalog"
+ Specifies the path and filename of the boot catalog, which is required
+ for an El Torito bootable CD. The pathname must be relative to the source
+ path specified to
+@@ -488,6 +496,12 @@ For the parameter 
+ see the description of
+ .BR \-M .
+ .TP
++.BI \-checksum_algorithm_iso " alg1,alg2,..."
++Specify the checksum types desired for the output image.
++.TP
++.BI \-checksum_algorithm_template " alg1,alg2,..."
++Specify the checksum types desired for the output jigdo template.
++.TP
+ .BI \-copyright " file"
+ Specifies copyright information, typically a filename on the disc.
+ There is space for 37 characters.  Equivalent to
+@@ -497,12 +511,16 @@ in the
+ file.
+ .TP
+ .B \-d
++.TP
++.B \-omit\-period
+ Do not append a period to files that do not have one.
+ .br
+ This violates the ISO9660 standard, but it happens to work on many systems.
+ Use with caution.
+ .TP
+ .B \-D
++.TP
++.B \-disable\-deep\-relocation
+ Do not use deep directory relocation, and instead just pack them in the
+ way we see them.
+ .br
+@@ -510,6 +528,9 @@ If ISO9660:1999 has not been selected,
+ this violates the ISO9660 standard, but it happens to work on many systems.
+ Use with caution.
+ .TP
++.B \-debug
++Set debug flag.
++.TP
+ .BI \-dir\-mode " mode"
+ Overrides the mode of directories used to create the image to
+ .IR mode ,
+@@ -535,7 +556,14 @@ another directory
+ needs to include all needed files (filenames must be all caps) for a
+ compliant DVD-Video filesystem.
+ .TP
++.BI \-e " efi_boot_file"
++.TP
++.BI \-efi\-boot " efi_boot_file"
++Set EFI boot image name.
++.TP
+ .B \-f
++.TP
++.B \-follow\-links
+ Follow symbolic links when generating the filesystem.  When this option is not
+ in use, symbolic links will be entered using Rock Ridge if enabled, otherwise
+ they will be ignored.
+@@ -740,6 +768,8 @@ See the
+ section below for more details.
+ .TP
+ .B \-l
++.TP
++.B \-full\-iso9660\-filenames
+ Allow full 31-character filenames.  Normally the ISO9660 filename will be in an
+ 8.3 format which is compatible with MS-DOS, even though the ISO9660 standard
+ allows filenames of up to 31 characters.  If you use this option, the disc may
+@@ -870,6 +900,8 @@ with
+ .BR \-C .
+ .TP
+ .B \-N
++.TP
++.B \-omit\-version\-number
+ Omit version numbers from ISO9660 filenames.
+ .br
+ This violates the ISO9660 standard, but no one really uses the
+@@ -967,6 +999,8 @@ in the
+ file.
+ .TP
+ .BI \-p " preparer_id"
++.TP
++.BI \-preparer " preparer_id"
+ Specifies a text string that will be written into the volume header.
+ This should describe the preparer of the CD-ROM, usually with a mailing
+ address and phone number.  There is space for 128 characters.
+@@ -1008,10 +1042,14 @@ This makes
+ even less verbose.  No progress output will be provided.
+ .TP
+ .B \-R
++.TP
++.B \-rock
+ Generate SUSP and RR records using the Rock Ridge protocol to further describe
+ the files on the ISO9660 filesystem.
+ .TP
+ .B \-r
++.TP
++.B \-rational\-rock
+ This is like the \-R option, but file ownership and modes are set to
+ more useful values.  The uid and gid are set to zero, because they are
+ usually only useful on the author's system, and not useful to the
+@@ -1092,6 +1130,11 @@ intentionally. Accessing several older v
+ support by the operating system to choose which sessions are to be
+ mounted.
+ .TP
++.BI \-s " sector type"
++.TP
++.BI \-sectype " sector type"
++Set output sector type to e.g. data/xa1/raw.
++ .TP
+ .BI \-sort " sort_file"
+ Sort file locations on the media. Sorting is controlled by a file that
+ contains pairs of filenames and sorting offset weighting.
+@@ -1213,6 +1256,8 @@ in the
+ file.
+ .TP
+ .B \-T
++.TP
++.B \-translation\-table
+ Generate a file
+ .I TRANS.TBL
+ in each directory on the CD-ROM, which can be used
+@@ -1262,6 +1307,8 @@ to
+ This option is the default on VMS. 
+ .TP
+ .B \-U
++.TP
++.B \-untranslated\-filenames
+ Allows "untranslated" filenames, completely violating the ISO9660 standards
+ described above.  Enables the following flags:
+ .B \-d \-l \-N \-allow\-leading\-dots \-relaxed\-filenames
+@@ -1333,6 +1380,8 @@ must be specified before
+ on each command line.
+ .TP
+ .B \-v
++.TP
++.B \-verbose
+ Verbose execution. If given twice on the command line, extra debug information
+ will be printed.
+ .TP
+@@ -1341,7 +1390,15 @@ Identical to
+ .B \-m
+ .IR glob .
+ .TP
++.B \-XA
++Generate XA directory attruibutes.
++.TP
++.B \-xa
++Generate rationalized XA directory attruibutes.
++.TP
+ .B \-z
++.TP
++.B \-transparent\-compression
+ Generate special
+ .I RRIP
+ records for transparently compressed files.
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-memset.patch b/src/patches/cdrkit/cdrkit-1.1.11-memset.patch
new file mode 100644 (file)
index 0000000..6609159
--- /dev/null
@@ -0,0 +1,37 @@
+diff -up wrk/genisoimage/jte.c.wrk wrk/genisoimage/jte.c
+--- wrk/genisoimage/jte.c.wrk  2013-02-22 13:24:47.722196877 +0100
++++ wrk/genisoimage/jte.c      2013-02-25 12:41:45.136653487 +0100
+@@ -280,7 +280,7 @@ extern int list_file_in_jigdo(char *file
+     if (!jtemplate_out)
+         return 0;
+-    memset(md5, 0, sizeof(md5));
++    memset(md5, 0, 16);
+     /* Cheaper to check file size first */
+     if (size < jte_min_size)
+diff -up wrk/genisoimage/md5.c.wrk wrk/genisoimage/md5.c
+--- wrk/genisoimage/md5.c.wrk  2013-02-22 13:15:18.210866321 +0100
++++ wrk/genisoimage/md5.c      2013-02-22 13:15:29.979935133 +0100
+@@ -183,7 +183,7 @@ mk_MD5Final (unsigned char digest[16], s
+       putu32(ctx->buf[1], digest + 4);
+       putu32(ctx->buf[2], digest + 8);
+       putu32(ctx->buf[3], digest + 12);
+-      memset(ctx, 0, sizeof(ctx));    /* In case it's sensitive */
++      memset(ctx, 0, sizeof(*ctx));   /* In case it's sensitive */
+ }
+ /* The four core functions - F1 is optimized somewhat */
+diff -up wrk/libedc/edcspeed.c.wrk wrk/libedc/edcspeed.c
+--- wrk/libedc/edcspeed.c.wrk  2013-02-22 10:45:33.353219110 +0100
++++ wrk/libedc/edcspeed.c      2013-02-22 10:46:52.497686387 +0100
+@@ -35,7 +35,8 @@ static int encspeed()
+       secs = 10;
+       end = 75*1000000 * secs;
+-      memset(sect, 0, sizeof(sect));
++      //faulty and unneccessary, immediately rewritten again
++      //memset(sect, 0, sizeof(sect));
+       for (i=0; i < 2352; ) {
+               sect[i++] = 'J';
+               sect[i++] = 'S';
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-paranoiacdda.patch b/src/patches/cdrkit/cdrkit-1.1.11-paranoiacdda.patch
new file mode 100644 (file)
index 0000000..062971d
--- /dev/null
@@ -0,0 +1,556 @@
+diff -up cdrkit-1.1.11/CMakeLists.txt.paranoiacdda cdrkit-1.1.11/CMakeLists.txt
+--- cdrkit-1.1.11/CMakeLists.txt.paranoiacdda  2012-07-31 14:27:15.166155309 +0200
++++ cdrkit-1.1.11/CMakeLists.txt       2012-07-31 14:27:28.469613175 +0200
+@@ -1,3 +1,3 @@
+ PROJECT (cdrkit C)
+-SUBDIRS(include genisoimage wodim libedc libhfs_iso libparanoia icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
++SUBDIRS(include genisoimage wodim libedc libhfs_iso icedax libusal librols libunls readom netscsid 3rd-party/dirsplit)
+diff -up cdrkit-1.1.11/icedax/CMakeLists.txt.paranoiacdda cdrkit-1.1.11/icedax/CMakeLists.txt
+--- cdrkit-1.1.11/icedax/CMakeLists.txt.paranoiacdda   2012-07-31 14:27:15.228157411 +0200
++++ cdrkit-1.1.11/icedax/CMakeLists.txt        2012-07-31 14:27:15.239157786 +0200
+@@ -1,8 +1,9 @@
+ PROJECT (icedax C)
+-INCLUDE_DIRECTORIES(../include ../wodim ../libparanoia ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
++INCLUDE_DIRECTORIES(../include ../wodim ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/include)
+ include(../include/AddScgBits.cmake)
+ include(../include/AddSchilyBits.cmake)
+ include(../include/AddNetworkBits.cmake)
++INCLUDE (CheckLibraryExists) 
+ FIND_FILE (HAVE_SYS_SOUNDCARD_H sys/soundcard.h)
+ IF(HAVE_SYS_SOUNDCARD_H)
+@@ -18,12 +19,20 @@ IF(HAVE_LIBOSSAUDIO)
+    LIST(APPEND EXTRA_LIBS "ossaudio")
+ ENDIF(HAVE_LIBOSSAUDIO)
+-LIST(APPEND EXTRA_LIBS  paranoia)
++CHECK_INCLUDE_FILES(cdda/cdda_interface.h HAVE_CDDA_INTERFACE_H)
++CHECK_LIBRARY_EXISTS (cdda_paranoia paranoia_init "" HAVE_LIBPARANOIA)
++IF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
++   LIST(APPEND EXTRA_LIBS cdda_paranoia cdda_interface)
++ELSE(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
++   MESSAGE(FATAL_ERROR "You need cdparanoia library installed")
++ENDIF(HAVE_CDDA_INTERFACE_H AND HAVE_LIBPARANOIA)
++      
++LIST(APPEND EXTRA_LIBS)
+ IF (WIN32)
+       LIST(APPEND EXTRA_LIBS winmm)
+ ENDIF (WIN32)
+-LINK_DIRECTORIES(../librols ../libusal  ../libparanoia)
++LINK_DIRECTORIES(../librols ../libusal)
+ ADD_EXECUTABLE (icedax aifc.c aiff.c base64.c icedax.c interface.c ioctl.c raw.c resample.c ringbuff.c scsi_cmds.c semshm.c setuid.c sha_func.c sndconfig.c sun.c toc.c wav.c)
+ TARGET_LINK_LIBRARIES(icedax wodimstuff ${EXTRA_LIBS})
+ SET_TARGET_PROPERTIES(icedax PROPERTIES  SKIP_BUILD_RPATH TRUE)
+diff -up cdrkit-1.1.11/icedax/global.h.paranoiacdda cdrkit-1.1.11/icedax/global.h
+--- cdrkit-1.1.11/icedax/global.h.paranoiacdda 2012-07-31 14:27:15.232157548 +0200
++++ cdrkit-1.1.11/icedax/global.h      2012-07-31 14:27:15.226157345 +0200
+@@ -17,7 +17,8 @@
+ #include "md5.h"
+ #endif
+ #ifdef        USE_PARANOIA
+-#include "cdda_paranoia.h"
++#include <cdda/cdda_interface.h>
++#include <cdda/cdda_paranoia.h>
+ #endif
+ typedef struct index_list
+@@ -102,10 +103,10 @@ typedef struct global
+       struct paranoia_parms_t
+       {
+-              Ucbit   disable_paranoia:1;
+-              Ucbit   disable_extra_paranoia:1;
+-              Ucbit   disable_scratch_detect:1;
+-              Ucbit   disable_scratch_repair:1;
++              char    disable_paranoia:1;
++              char    disable_extra_paranoia:1;
++              char    disable_scratch_detect:1;
++              char    disable_scratch_repair:1;
+               int     retries;
+               int     overlap;
+               int     mindynoverlap;
+diff -up cdrkit-1.1.11/icedax/icedax.c.paranoiacdda cdrkit-1.1.11/icedax/icedax.c
+--- cdrkit-1.1.11/icedax/icedax.c.paranoiacdda 2012-07-31 14:27:15.237157718 +0200
++++ cdrkit-1.1.11/icedax/icedax.c      2012-07-31 14:27:15.238157752 +0200
+@@ -120,6 +120,10 @@
+ #ifdef        USE_LAME
+ #include "mp3.h"      /* mp3 file handling */
+ #endif
++#ifdef        USE_PARANOIA
++#include <cdda/cdda_interface.h>
++#include <cdda/cdda_paranoia.h>
++#endif
+ #include "interface.h"  /* low level cdrom interfacing */
+ #include "icedax.h"
+ #include "resample.h"
+@@ -128,9 +132,6 @@
+ #include "ringbuff.h"
+ #include "global.h"
+ #include "exitcodes.h"
+-#ifdef        USE_PARANOIA
+-#include "cdda_paranoia.h"
+-#endif
+ #include "defaults.h"
+ static void RestrictPlaybackRate(long newrate);
+@@ -800,7 +801,7 @@ static void init_globals()
+   global.useroverlap = -1;      /* amount of overlapping sectors user override */
+   global.need_hostorder = 0;  /* processing needs samples in host endianess */
+   global.in_lendian = -1;     /* input endianess from SetupSCSI() */
+-  global.outputendianess = NONE; /* user specified output endianess */
++  global.outputendianess = NONE_EN; /* user specified output endianess */
+   global.findminmax  =  0;    /* flag find extrem amplitudes */
+ #ifdef HAVE_LIMITS_H
+   global.maxamp[0] = INT_MIN; /* maximum amplitude */
+@@ -2418,7 +2419,7 @@ Rate   Divider      Rate   Divider
+   if (bulk == -1) bulk = 0;
+   global.need_big_endian = global.audio_out->need_big_endian;
+-  if (global.outputendianess != NONE)
++  if (global.outputendianess != NONE_EN)
+     global.need_big_endian = global.outputendianess == BIG;
+   if (global.no_file) global.fname_base[0] = '\0';
+@@ -2602,7 +2603,7 @@ Rate   Divider      Rate   Divider
+     fputs( ", soundcard", stderr );
+ #endif
+ #if defined USE_PARANOIA
+-    fputs( ", libparanoia", stderr );
++    fputs( ", libcdda_paranoia", stderr );
+ #endif
+     fputs( " support\n", stderr );
+   }
+@@ -2892,8 +2893,28 @@ Rate   Divider      Rate   Divider
+ #ifdef        USE_PARANOIA
+       if (global.paranoia_selected) {
+               long paranoia_mode;
++              cdrom_drive *tmpdrive;
++              usal_close(get_scsi_p());
+-              global.cdp = paranoia_init(get_scsi_p(), global.nsectors);
++              tmpdrive = cdda_identify(global.dev_name, 0, NULL);
++              if (!tmpdrive)
++              {
++                      fputs("Can't identify disc\n", stderr);
++                      return 1;
++              }
++
++              if(global.nsectors)
++              {
++                tmpdrive->nsectors = global.nsectors;
++                tmpdrive->bigbuff = global.nsectors * CD_FRAMESIZE_RAW;
++              }
++              if (cdda_open(tmpdrive) != 0)
++              {
++                fputs("Can't open disc\n", stderr);
++                cdda_close(tmpdrive);
++                return 1;
++              }
++              global.cdp = paranoia_init(tmpdrive);
+               if (global.paranoia_parms.overlap >= 0) {
+                       int     overlap = global.paranoia_parms.overlap;
+@@ -2902,17 +2923,7 @@ Rate   Divider      Rate   Divider
+                               overlap = global.nsectors - 1;
+                       paranoia_overlapset(global.cdp, overlap);
+               }
+-              /*
+-               * Default to a  minimum of dynamic overlapping == 0.5 sectors.
+-               * If we don't do this, we get the default from libparanoia
+-               * which is approx. 0.1.
+-               */
+-              if (global.paranoia_parms.mindynoverlap < 0)
+-                      paranoia_dynoverlapset(global.cdp, CD_FRAMEWORDS/2, -1);
+-              paranoia_dynoverlapset(global.cdp,
+-                      global.paranoia_parms.mindynoverlap * CD_FRAMEWORDS,
+-                      global.paranoia_parms.maxdynoverlap * CD_FRAMEWORDS);
+-
++      
+               paranoia_mode = PARANOIA_MODE_FULL ^ PARANOIA_MODE_NEVERSKIP;
+               if (global.paranoia_parms.disable_paranoia) {
+diff -up cdrkit-1.1.11/icedax/icedax.h.paranoiacdda cdrkit-1.1.11/icedax/icedax.h
+--- cdrkit-1.1.11/icedax/icedax.h.paranoiacdda 2012-07-31 14:27:15.216157005 +0200
++++ cdrkit-1.1.11/icedax/icedax.h      2012-07-31 14:27:15.217157039 +0200
+@@ -41,7 +41,7 @@
+ /* Endianess */
+ #define GUESS (-2)
+-#define NONE (-1)
++#define NONE_EN (-1)
+ #define LITTLE 0
+ #define BIG 1
+diff -up cdrkit-1.1.11/icedax/interface.c.paranoiacdda cdrkit-1.1.11/icedax/interface.c
+--- cdrkit-1.1.11/icedax/interface.c.paranoiacdda      2012-07-31 14:27:15.235157650 +0200
++++ cdrkit-1.1.11/icedax/interface.c   2012-07-31 14:27:15.232157548 +0200
+@@ -116,7 +116,7 @@ int                (*Play_at)(SCSI *usalp, unsigned in
+ int           (*StopPlay)(SCSI *usalp);
+ void          (*trash_cache)(UINT4 *p, unsigned lSector, unsigned SectorBurstVal);
+-#if   defined USE_PARANOIA
++#if   0 //defined     USE_PARANOIA
+ long cdda_read(void *d, void *buffer, long beginsector, long sectors);
+ long cdda_read(void *d, void *buffer, long beginsector, long sectors)
+diff -up cdrkit-1.1.11/icedax/toc.c.paranoiacdda cdrkit-1.1.11/icedax/toc.c
+--- cdrkit-1.1.11/icedax/toc.c.paranoiacdda    2012-07-31 14:27:15.225157311 +0200
++++ cdrkit-1.1.11/icedax/toc.c 2012-07-31 14:27:15.230157480 +0200
+@@ -379,8 +379,7 @@ static void emit_cddb_form(char *fname_b
+ static void emit_cdindex_form(char *fname_baseval);
+ #endif
+-
+-typedef struct TOC {  /* structure of table of contents (cdrom) */
++typedef struct TOC_t {        /* structure of table of contents (cdrom) */
+       unsigned char reserved1;
+       unsigned char bFlags;
+       unsigned char bTrack;
+@@ -391,8 +390,7 @@ typedef struct TOC {       /* structure of tab
+       int frms;
+       unsigned char ISRC[16];
+       int     SCMS;
+-} TOC;
+-
++} TOC_t;
+ /* Flags contains two fields:
+     bits 7-4 (ADR)
+@@ -432,7 +430,7 @@ struct iterator {
+       int index;
+       int startindex;
+       void        (*reset)(struct iterator *this);
+-      struct TOC *(*getNextTrack)(struct iterator *this);
++      struct TOC_t *(*getNextTrack)(struct iterator *this);
+       int         (*hasNextTrack)(struct iterator *this);
+ };
+@@ -518,7 +516,7 @@ unsigned FixupTOC(unsigned no_tracks)
+                   InitIterator(&i, 1);
+           while (i.hasNextTrack(&i)) {
+-                  struct TOC *p = i.getNextTrack(&i);
++                  struct TOC_t *p = i.getNextTrack(&i);
+                   if (IS__AUDIO(p)) count_audio_tracks++;
+           }
+@@ -733,7 +731,7 @@ static void emit_cddb_form(char *fname_b
+   fprintf( cddb_form, "# Track frame offsets:\n#\n");
+   while (i.hasNextTrack(&i)) {
+-        struct TOC *p = i.getNextTrack(&i);
++        struct TOC_t *p = i.getNextTrack(&i);
+         if (GETTRACK(p) == CDROM_LEADOUT) break;
+         fprintf( cddb_form,
+                  "# %lu\n", 150 + Get_AudioStartSector(GETTRACK(p)));
+@@ -765,7 +763,7 @@ static void emit_cddb_form(char *fname_b
+   i.reset(&i);
+   while (i.hasNextTrack(&i)) {
+-        struct TOC *p = i.getNextTrack(&i);
++        struct TOC_t *p = i.getNextTrack(&i);
+         int ii;
+         ii = GETTRACK(p);
+@@ -788,7 +786,7 @@ static void emit_cddb_form(char *fname_b
+   i.reset(&i);
+   while (i.hasNextTrack(&i)) {
+-        struct TOC *p = i.getNextTrack(&i);
++        struct TOC_t *p = i.getNextTrack(&i);
+         int ii;
+         ii = GETTRACK(p);
+@@ -1495,7 +1493,7 @@ static int IsSingleArtist(void)
+       InitIterator(&i, 1);
+       while (i.hasNextTrack(&i)) {
+-              struct TOC *p = i.getNextTrack(&i);
++              struct TOC_t *p = i.getNextTrack(&i);
+               int ii;
+               if (IS__DATA(p) || GETTRACK(p) == CDROM_LEADOUT) continue;
+@@ -1681,7 +1679,7 @@ static void emit_cdindex_form(char *fnam
+        global.creator ? ascii2html(global.creator) : "");
+     while (i.hasNextTrack(&i)) {
+-          struct TOC *p = i.getNextTrack(&i);
++          struct TOC_t *p = i.getNextTrack(&i);
+           int ii = GETTRACK(p);
+           if (ii == CDROM_LEADOUT) break;
+@@ -1703,7 +1701,7 @@ static void emit_cdindex_form(char *fnam
+     fprintf( cdindex_form, "   <MultipleArtistCD>\n");
+     while (i.hasNextTrack(&i)) {
+-          struct TOC *p = i.getNextTrack(&i);
++          struct TOC_t *p = i.getNextTrack(&i);
+           int ii = GETTRACK(p);
+           if (ii == CDROM_LEADOUT) break;
+@@ -1942,9 +1940,9 @@ static void DisplayToc_with_gui(unsigned
+       if ((global.verbose & (SHOW_TOC | SHOW_STARTPOSITIONS | SHOW_SUMMARY | SHOW_TITLES)) != 0
+           && i.hasNextTrack(&i)) {
+-              TOC *o = i.getNextTrack(&i);
++              TOC_t *o = i.getNextTrack(&i);
+               while (i.hasNextTrack(&i)) {
+-                      TOC *p = i.getNextTrack(&i);
++                      TOC_t *p = i.getNextTrack(&i);
+                       int from;
+                       from = GETTRACK(o);
+@@ -2072,9 +2070,9 @@ static void DisplayToc_no_gui(unsigned l
+       count_audio_trks = 0;
+       if (i.hasNextTrack(&i)) {
+-              TOC *o = i.getNextTrack(&i);
++              TOC_t *o = i.getNextTrack(&i);
+               while (i.hasNextTrack(&i)) {
+-                      TOC *p = i.getNextTrack(&i);
++                      TOC_t *p = i.getNextTrack(&i);
+                       int from;
+                       from = GETTRACK(o);
+@@ -2131,10 +2129,10 @@ static void DisplayToc_no_gui(unsigned l
+       i.reset(&i);
+       if ((global.verbose & SHOW_TOC) != 0 &&
+               i.hasNextTrack(&i)) {
+-              TOC *o = i.getNextTrack(&i);
++              TOC_t *o = i.getNextTrack(&i);
+               for (; i.hasNextTrack(&i);) {
+-                      TOC *p = i.getNextTrack(&i);
++                      TOC_t *p = i.getNextTrack(&i);
+                       if ( GETTRACK(o) <= MAXTRK ) {
+                               unsigned char brace1, brace2;
+@@ -2189,9 +2187,9 @@ static void DisplayToc_no_gui(unsigned l
+               ii = 0;
+               i.reset(&i);
+               if (i.hasNextTrack(&i)) {
+-                      TOC *o = i.getNextTrack(&i);
++                      TOC_t *o = i.getNextTrack(&i);
+                       for ( ; i.hasNextTrack(&i);) {
+-                              TOC *p = i.getNextTrack(&i);
++                              TOC_t *p = i.getNextTrack(&i);
+                               fprintf ( stderr,
+                                         " %2u.(%8u)",
+                                         GETTRACK(o),
+@@ -2248,7 +2246,7 @@ static void DisplayToc_no_gui(unsigned l
+               i.reset(&i);
+               for ( ; i.hasNextTrack(&i);) {
+-                      TOC *p = i.getNextTrack(&i);
++                      TOC_t *p = i.getNextTrack(&i);
+                       int jj = GETTRACK(p);
+                       if ( global.tracktitle[jj] != NULL ) {
+@@ -2260,7 +2258,7 @@ static void DisplayToc_no_gui(unsigned l
+               
+               i.reset(&i);
+               for ( ; i.hasNextTrack(&i); ) {
+-                      TOC *p = i.getNextTrack(&i);
++                      TOC_t *p = i.getNextTrack(&i);
+                       int jj;
+                       if (IS__DATA(p))
+@@ -2720,7 +2718,7 @@ void Read_MCN_ISRC(void)
+               InitIterator(&i, 1);
+               while (i.hasNextTrack(&i)) {
+-                      struct TOC *p = i.getNextTrack(&i);
++                      struct TOC_t *p = i.getNextTrack(&i);
+                       unsigned ii = GETTRACK(p);
+                       
+                       if (ii == CDROM_LEADOUT) break;
+@@ -3155,7 +3153,7 @@ unsigned ScanIndices(unsigned track, uns
+   while (i.hasNextTrack(&i)) {
+-        struct TOC *p = i.getNextTrack(&i);
++        struct TOC_t *p = i.getNextTrack(&i);
+         unsigned ii = GETTRACK(p);
+         if ( ii < starttrack || IS__DATA(p) )
+@@ -3322,7 +3320,7 @@ unsigned char *Get_MCN(void)
+ }
+-static TOC g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
++static TOC_t g_toc [MAXTRK+1]; /* hidden track + 100 regular tracks */
+ /*#define IS_AUDIO(i) (!(g_toc[i].bFlags & 0x40))*/
+@@ -3397,10 +3395,10 @@ static int patch_cd_extra(unsigned track
+ static int restrict_tracks_illleadout(void)
+ {
+-      struct TOC *o = &g_toc[cdtracks+1];
++      struct TOC_t *o = &g_toc[cdtracks+1];
+       int i;
+       for (i = cdtracks; i >= 0; i--) {
+-              struct TOC *p = &g_toc[i];
++              struct TOC_t *p = &g_toc[i];
+               if (GETSTART(o) > GETSTART(p)) break;
+       }
+       patch_cd_extra(i+1, GETSTART(o));
+@@ -3523,7 +3521,7 @@ static void it_reset(struct iterator *th
+ static int it_hasNextTrack(struct iterator *this);
+-static struct TOC *it_getNextTrack(struct iterator *this);
++static struct TOC_t *it_getNextTrack(struct iterator *this);
+ static int it_hasNextTrack(struct iterator *this)
+ {
+@@ -3532,7 +3530,7 @@ static int it_hasNextTrack(struct iterat
+-static struct TOC *it_getNextTrack(struct iterator *this)
++static struct TOC_t *it_getNextTrack(struct iterator *this)
+ {
+       /* if ( (*this->hasNextTrack)(this) == 0 ) return NULL; */
+       if ( this->index > (int)cdtracks+1 ) return NULL;
+@@ -3583,7 +3581,7 @@ long Get_AudioStartSector(unsigned long
+       if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
+       while (i.hasNextTrack(&i)) {
+-              TOC *p = i.getNextTrack(&i);
++              TOC_t *p = i.getNextTrack(&i);
+               if (GETTRACK(p) == p_track) {
+                       if (IS__DATA(p)) {
+@@ -3613,7 +3611,7 @@ long Get_StartSector(unsigned long p_tra
+       if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
+       while (i.hasNextTrack(&i)) {
+-              TOC *p = i.getNextTrack(&i);
++              TOC_t *p = i.getNextTrack(&i);
+               if (GETTRACK(p) == p_track) {
+                       return GETSTART(p);
+@@ -3637,7 +3635,7 @@ long Get_EndSector(unsigned long p_track
+       if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
+       while (i.hasNextTrack(&i)) {
+-              TOC *p = i.getNextTrack(&i);
++              TOC_t *p = i.getNextTrack(&i);
+               if (GETTRACK(p) == p_track) {
+                       p = i.getNextTrack(&i);
+                       if (p == NULL) {
+@@ -3669,7 +3667,7 @@ long FirstAudioTrack(void)
+       else i.reset(&i);
+       while (i.hasNextTrack(&i)) {
+-              TOC *p = i.getNextTrack(&i);
++              TOC_t *p = i.getNextTrack(&i);
+               unsigned ii = GETTRACK(p);
+               if (ii == CDROM_LEADOUT) break;
+@@ -3687,7 +3685,7 @@ long FirstDataTrack(void)
+       else i.reset(&i);
+       while (i.hasNextTrack(&i)) {
+-              TOC *p = i.getNextTrack(&i);
++              TOC_t *p = i.getNextTrack(&i);
+               if (IS__DATA(p)) {
+                       return GETTRACK(p);
+               }
+@@ -3708,7 +3706,7 @@ long LastAudioTrack(void)
+       else i.reset(&i);
+       while (i.hasNextTrack(&i)) {
+-              TOC *p = i.getNextTrack(&i);
++              TOC_t *p = i.getNextTrack(&i);
+               if (IS__AUDIO(p) && (GETTRACK(p) != CDROM_LEADOUT)) {
+                       j = GETTRACK(p);
+               }
+@@ -3730,7 +3728,7 @@ long Get_LastSectorOnCd(unsigned long p_
+       if (p_track == cdtracks + 1) p_track = CDROM_LEADOUT;
+       while (i.hasNextTrack(&i)) {
+-              TOC *p = i.getNextTrack(&i);
++              TOC_t *p = i.getNextTrack(&i);
+               if (GETTRACK(p) < p_track)
+                       continue;
+@@ -3749,9 +3747,9 @@ int Get_Track(unsigned long sector)
+       else i.reset(&i);
+       if (i.hasNextTrack(&i)) {
+-              TOC *o = i.getNextTrack(&i);
++              TOC_t *o = i.getNextTrack(&i);
+               while (i.hasNextTrack(&i)) {
+-                      TOC *p = i.getNextTrack(&i);
++                      TOC_t *p = i.getNextTrack(&i);
+                       if ((GETSTART(o) <= sector) && (GETSTART(p) > sector)) {
+                               if (IS__DATA(o)) {
+                                       return -1;
+@@ -3772,7 +3770,7 @@ int CheckTrackrange(unsigned long from,
+       else i.reset(&i);
+       while (i.hasNextTrack(&i)) {
+-              TOC *p = i.getNextTrack(&i);
++              TOC_t *p = i.getNextTrack(&i);
+               if (GETTRACK(p) < from)
+                       continue;
+@@ -3788,54 +3786,3 @@ int CheckTrackrange(unsigned long from,
+       return 0;
+ }
+-#ifdef        USE_PARANOIA
+-long cdda_disc_firstsector(void *d);
+-
+-long cdda_disc_firstsector(void *d)
+-{
+-      return Get_StartSector(FirstAudioTrack());
+-}
+-
+-int cdda_tracks(void *d);
+-
+-int cdda_tracks(void *d)
+-{
+-      return LastAudioTrack() - FirstAudioTrack() +1;
+-}
+-
+-int cdda_track_audiop(void *d, int track);
+-
+-int cdda_track_audiop(void *d, int track)
+-{
+-      return Get_Datatrack(track) == 0;
+-}
+-
+-long cdda_track_firstsector(void *d, int track);
+-
+-long cdda_track_firstsector(void *d, int track)
+-{
+-      return Get_AudioStartSector(track);
+-}
+-
+-long cdda_track_lastsector(void *d, int track);
+-
+-long cdda_track_lastsector(void *d, int track)
+-{
+-      return Get_EndSector(track);
+-}
+-
+-long cdda_disc_lastsector(void *d);
+-
+-long cdda_disc_lastsector(void *d)
+-{
+-      return Get_LastSectorOnCd(cdtracks) - 1;
+-}
+-
+-int cdda_sector_gettrack(void *d,long sector);
+-
+-int cdda_sector_gettrack(void *d, long sector)
+-{
+-      return Get_Track(sector);
+-}
+-
+-#endif
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-ppc64le_elfheader.patch b/src/patches/cdrkit/cdrkit-1.1.11-ppc64le_elfheader.patch
new file mode 100644 (file)
index 0000000..0542b4e
--- /dev/null
@@ -0,0 +1,13 @@
+diff -up wrk/include/glibc_elf.h.wrk wrk/include/glibc_elf.h
+--- wrk/include/glibc_elf.h.wrk        2014-09-19 16:04:45.546981432 +0200
++++ wrk/include/glibc_elf.h    2014-09-19 16:38:55.407991682 +0200
+@@ -2081,7 +2081,8 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define R_PPC64_DTPREL16_HIGHESTA 106 /* half16       (sym+add)@dtprel@highesta */
+ /* Keep this the last entry.  */
+-#define R_PPC64_NUM           107
++//symbol conflicting with system headers on ppc64le and nowhere used
++//#define R_PPC64_NUM         107
+ /* PowerPC64 specific values for the Dyn d_tag field.  */
+ #define DT_PPC64_GLINK  (DT_LOPROC + 0)
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-readsegfault.patch b/src/patches/cdrkit/cdrkit-1.1.11-readsegfault.patch
new file mode 100644 (file)
index 0000000..a3a1305
--- /dev/null
@@ -0,0 +1,12 @@
+diff -up cdrkit-1.1.11/readom/readom.c.readsegfault cdrkit-1.1.11/readom/readom.c
+--- cdrkit-1.1.11/readom/readom.c.readsegfault 2011-03-07 15:51:46.889441591 +0100
++++ cdrkit-1.1.11/readom/readom.c      2011-03-07 15:51:50.702938263 +0100
+@@ -906,7 +906,7 @@ read_ftoc(SCSI *usalp, parm_t *parmp, BO
+       strcpy(filename, "toc.dat");
+-      if (strcmp(parmp->name, "/dev/null") != 0) {
++      if (parmp != NULL && strcmp(parmp->name, "/dev/null") != 0) {
+               len = strlen(parmp->name);
+               if (len > (sizeof (filename)-5)) {
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-rootstat.patch b/src/patches/cdrkit/cdrkit-1.1.11-rootstat.patch
new file mode 100644 (file)
index 0000000..d9ceb3b
--- /dev/null
@@ -0,0 +1,31 @@
+diff -up cdrkit-1.1.11/genisoimage/tree.c.rootstat cdrkit-1.1.11/genisoimage/tree.c
+--- cdrkit-1.1.11/genisoimage/tree.c.rootstat  2011-01-25 14:15:36.766389403 +0100
++++ cdrkit-1.1.11/genisoimage/tree.c   2011-01-25 14:17:24.804643126 +0100
+@@ -48,6 +48,7 @@
+ #include <fctldefs.h>
+ #include <device.h>
+ #include <schily.h>
++#include <libgen.h>
+ extern int allow_limited_size;
+@@ -1421,12 +1422,16 @@ insert_file_entry(struct directory *this
+               return (0);
+       }
+       if (this_dir == root && strcmp(short_name, ".") == 0)
+-              root_statbuf = statbuf; /* Save this for later on */
++              memcpy(&root_statbuf, &statbuf, sizeof(root_statbuf));  /* Save this for later on */
+       /* We do this to make sure that the root entries are consistent */
+       if (this_dir == root && strcmp(short_name, "..") == 0) {
+-              statbuf = root_statbuf;
+-              lstatbuf = root_statbuf;
++              /* for the case .. comes before . */
++              if (!root_statbuf.st_ctime) {
++                      stat_filter(dirname(whole_path), &root_statbuf);
++              }
++              memcpy(&statbuf, &root_statbuf, sizeof(statbuf));
++              memcpy(&lstatbuf, &root_statbuf, sizeof(lstatbuf));
+       }
+       if (S_ISLNK(lstatbuf.st_mode)) {
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-usalinst.patch b/src/patches/cdrkit/cdrkit-1.1.11-usalinst.patch
new file mode 100644 (file)
index 0000000..de8dbbf
--- /dev/null
@@ -0,0 +1,33 @@
+diff -up cdrkit-1.1.11/librols/CMakeLists.txt.usalinst cdrkit-1.1.11/librols/CMakeLists.txt
+--- cdrkit-1.1.11/librols/CMakeLists.txt.usalinst      2012-07-31 10:51:30.270669381 +0200
++++ cdrkit-1.1.11/librols/CMakeLists.txt       2012-07-31 10:52:02.365378257 +0200
+@@ -3,5 +3,11 @@ INCLUDE_DIRECTORIES(../include ../libhfs
+ SET(LIBROLS_SRCS  astoi.c astoll.c astoull.c breakline.c cmpbytes.c comerr.c error.c fexec.c fillbytes.c getargs.c getav0.c getdomainname.c geterrno.c gethostid.c gethostname.c getpagesize.c handlecond.c movebytes.c raisecond.c rename.c saveargs.c seterrno.c spawn.c strcatl.c strdup.c streql.c swabbytes.c usleep.c stdio/cvmod.c stdio/dat.c stdio/fcons.c stdio/fdown.c stdio/fdup.c stdio/ffileread.c stdio/ffilewrite.c stdio/fgetline.c stdio/file_raise.c stdio/fileclose.c stdio/fileluopen.c stdio/filemopen.c stdio/fileopen.c  stdio/filepos.c stdio/fileread.c stdio/filereopen.c stdio/fileseek.c stdio/filesize.c stdio/filestat.c stdio/filewrite.c stdio/flag.c stdio/flush.c stdio/fpipe.c stdio/niread.c stdio/niwrite.c stdio/nixread.c stdio/nixwrite.c stdio/openfd.c stdio/peekc.c default.c)
+-ADD_LIBRARY (rols STATIC ${CMAKE_CURRENT_SOURCE_DIR}/../include/xconfig.h  ${CMAKE_CURRENT_SOURCE_DIR}/../include/align.h ${LIBROLS_SRCS})
++ADD_LIBRARY (rols SHARED ${CMAKE_CURRENT_SOURCE_DIR}/../include/xconfig.h  ${CMAKE_CURRENT_SOURCE_DIR}/../include/align.h ${LIBROLS_SRCS})
++SET_TARGET_PROPERTIES(rols PROPERTIES
++    VERSION 0.0.1
++    SOVERSION 0
++)
++
++INSTALL(TARGETS rols DESTINATION lib${LIB_SUFFIX})
+diff -up cdrkit-1.1.11/libusal/CMakeLists.txt.usalinst cdrkit-1.1.11/libusal/CMakeLists.txt
+--- cdrkit-1.1.11/libusal/CMakeLists.txt.usalinst      2012-07-31 10:51:30.302670085 +0200
++++ cdrkit-1.1.11/libusal/CMakeLists.txt       2012-07-31 10:52:09.190528942 +0200
+@@ -6,5 +6,12 @@ ADD_DEFINITIONS(-DUSE_RCMD_RSH)
+ #SET(LIBSCG_SRCS rdummy.c usalsettarget.c usaltimes.c scsi-linux-ata.c scsi-linux-pg.c scsi-linux-sg.c scsierrs.c scsihack.c scsihelp.c scsiopen.c scsitransp.c)
+ SET(LIBSCG_SRCS usalsettarget.c usaltimes.c scsierrs.c scsihack.c scsihelp.c scsiopen.c scsitransp.c scsi-remote.c)
+ LINK_DIRECTORIES(../librols)
+-ADD_LIBRARY (usal STATIC ${LIBSCG_SRCS})
++ADD_LIBRARY (usal SHARED ${LIBSCG_SRCS})
++
+ TARGET_LINK_LIBRARIES(usal ${SCG_SELF_LIBS})
++SET_TARGET_PROPERTIES(usal PROPERTIES
++    VERSION 0.0.1
++    SOVERSION 0
++)
++INSTALL(TARGETS usal DESTINATION lib${LIB_SUFFIX})
++INSTALL(FILES usal/scsicdb.h usal/aspi-dos.h usal/usalcmd.h usal/usalio.h usal/scsireg.h usal/usalops.h usal/scsidefs.h usal/spti-wnt.h usal/srb_os2.h usal/scsitransp.h usal/aspi-win32.h usal/scsisense.h usaltimes.h pg.h DESTINATION include/usal)
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-utf8.patch b/src/patches/cdrkit/cdrkit-1.1.11-utf8.patch
new file mode 100644 (file)
index 0000000..5118509
--- /dev/null
@@ -0,0 +1,104 @@
+diff -up cdrkit-1.1.11/Changelog.utf8 cdrkit-1.1.11/Changelog
+--- cdrkit-1.1.11/Changelog.utf8       2012-07-31 12:38:50.207872763 +0200
++++ cdrkit-1.1.11/Changelog    2012-07-31 12:38:57.669026934 +0200
+@@ -519,7 +519,7 @@ cdrkit (2.01.01a08+X.12) UNRELEASED; urg
+ cdrkit (2.01.01a08+X.11) UNRELEASED; urgency=low
+-  * 26_author_locale (ASCII transliteration of Jörg in the standard credits
++  * 26_author_locale (ASCII transliteration of Jörg in the standard credits
+     message)
+   * 28_cdda2wav_interface (Linux friendly cdda2wav behaviour)
+   * 30_doc_typo_fixes (various documentation/message fixes)
+@@ -821,8 +821,8 @@ Sun May 16 01:37:11 2004 Joerg Schilling
+ Sun May 16 01:26:52 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
+       * cdrecord.1 1.95
+-        Eißfeldt -> Ei\*sfeldt
+-        Âµsec -> \*msec
++        Eißfeldt -> Ei\*sfeldt
++        Ä¾sec -> \*msec
+ Sat May 15 23:14:18 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
+       * subchan.c 1.19
+@@ -1057,7 +1057,7 @@ Wed Jan 14 15:37:47 2004 Joerg Schilling
+ Wed Jan 14 01:14:27 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
+       * scsi-mac-iokit.c 1.8
+         ux_errno wird nun korrekt gesetzt wenn ein Kommando schiefgeht
+-        Die Sense Daten werden nicht mehr gelöscht
++        Die Sense Daten werden nicht mehr gelöscht
+         Author ist nun "schily", denn das Modul kommt nun teilweise dirch scgcheck
+ Tue Jan 13 20:43:44 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
+@@ -1074,7 +1074,7 @@ Mon Jan 12 00:33:39 2004 Joerg Schilling
+ Sun Jan 11 18:42:14 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
+       * scsi-linux-sg.c 1.77
+-        Versuch das /dev/hd* Interface von Linux-2.6 besser zu unterstützen.
++        Versuch das /dev/hd* Interface von Linux-2.6 besser zu unterstützen.
+ Sun Jan 11 16:18:48 2004 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
+       * scsi-linux-sg.c 1.76
+@@ -6144,7 +6144,7 @@ Mon Oct 26 00:27:22 1998 Joerg Schilling
+         New manufacturer: Xcitec Inc.
+                       Doremi Media Co., Ltd.
+                       Matsushita Electric Industrial Co.,Ltd.
+-                      CDA Datenträger Albrechts GmbH.
++                      CDA Datenträger Albrechts GmbH.
+ Sun Oct 25 13:00:22 1998 Joerg Schilling <joerg@schily.isdn.cs.tu-berlin.de>
+       * cdrecord.c 1.71
+diff -up cdrkit-1.1.11/doc/icedax/README.utf8 cdrkit-1.1.11/doc/icedax/README
+--- cdrkit-1.1.11/doc/icedax/README.utf8       2012-07-31 12:38:18.903226517 +0200
++++ cdrkit-1.1.11/doc/icedax/README    2012-07-31 12:38:18.902226496 +0200
+@@ -387,7 +387,7 @@ and
+ <http://www.anime.net/~goemon/linux-cd/cdda-list.html>
+-From a news posting from Björn Wiberg
++From a news posting from Björn Wiberg
+ > The following table was generated using the CDROM.CFG file from Nero
+ > v3.0.4.2.
+diff -up cdrkit-1.1.11/doc/icedax/THANKS.utf8 cdrkit-1.1.11/doc/icedax/THANKS
+--- cdrkit-1.1.11/doc/icedax/THANKS.utf8       2012-07-31 12:38:18.901226475 +0200
++++ cdrkit-1.1.11/doc/icedax/THANKS    2012-07-31 12:38:18.901226475 +0200
+@@ -5,7 +5,7 @@ http://www.mode.net/
+ and 
+-Fraunhofer Institut für integrierte Schaltungen (FhG-IIS)
++Fraunhofer Institut für integrierte Schaltungen (FhG-IIS)
+ http://www.iis.fhg.de/
+ Code for extraction of ISRC and MCN codes as well as MD5 signatures
+@@ -33,4 +33,4 @@ Francesco Chemolli (getopt_long patches)
+ Thanks to all testers and finally Jim McLaughlin for supplying
+ the first cdda-reader source code (that got me started).
+-Heiko Eißfeldt
++Heiko Eißfeldt
+diff -up cdrkit-1.1.11/doc/READMEs/README.ATAPI.utf8 cdrkit-1.1.11/doc/READMEs/README.ATAPI
+--- cdrkit-1.1.11/doc/READMEs/README.ATAPI.utf8        2012-07-31 12:38:18.899226433 +0200
++++ cdrkit-1.1.11/doc/READMEs/README.ATAPI     2012-07-31 12:38:18.900226454 +0200
+@@ -279,7 +279,7 @@ selectively telling the kernel what to u
+ this would not be needed if the Linux SCSI CD-ROM driver would be more 
+ up to date and supports standard conforming drives.
+-Jörg Schilling <schilling@fokus.fhg.de>
++Jörg Schilling <schilling@fokus.fhg.de>
+ --------------------------------------------------
+ Here is a hint from Alan Brown <alanb@manawatu.gen.nz>:
+diff -up cdrkit-1.1.11/doc/READMEs/README.cdplus.utf8 cdrkit-1.1.11/doc/READMEs/README.cdplus
+--- cdrkit-1.1.11/doc/READMEs/README.cdplus.utf8       2012-07-31 12:38:18.900226454 +0200
++++ cdrkit-1.1.11/doc/READMEs/README.cdplus    2012-07-31 12:38:18.900226454 +0200
+@@ -63,7 +63,7 @@ Note: If you want to create an HFS hybri
+ use the '-part' option to genisoimage. Otherwise, the data track will be mounted
+ as an ISO9660/Joliet CD when used on a Mac.
+       
+-Jörg
++Jörg
+ Edited for cdrkit by Christian Fromme <kaner@strace.org> and Eduard Bloch
diff --git a/src/patches/cdrkit/cdrkit-1.1.11-werror_gcc5.patch b/src/patches/cdrkit/cdrkit-1.1.11-werror_gcc5.patch
new file mode 100644 (file)
index 0000000..f98bd36
--- /dev/null
@@ -0,0 +1,22 @@
+diff -up wrk/genisoimage/exclude.c.wrk wrk/genisoimage/exclude.c
+--- wrk/genisoimage/exclude.c.wrk      2015-02-25 13:16:28.054237196 +0100
++++ wrk/genisoimage/exclude.c  2015-02-25 13:33:06.761312002 +0100
+@@ -39,7 +39,7 @@ exclude(char *fn)
+ {
+       register int    i;
+-      for (i = 0; excl[i] && i < MAXEXCL; i++)
++      for (i = 0; i < MAXEXCL && excl[i]; i++)
+               ;
+       if (i == MAXEXCL) {
+@@ -69,7 +69,7 @@ is_excluded(char *fn)
+       /*
+        * very dumb search method ...
+        */
+-      for (i = 0; excl[i] && i < MAXEXCL; i++) {
++      for (i = 0; i < MAXEXCL && excl[i]; i++) {
+               if (strcmp(excl[i], fn) == 0) {
+                       return (1);     /* found -> excluded filenmae */
+               }
+diff -up wrk/icedax/toc.c.wrk wrk/icedax/toc.c
diff --git a/src/patches/cdrkit/cdrkit-1.1.8-werror.patch b/src/patches/cdrkit/cdrkit-1.1.8-werror.patch
new file mode 100644 (file)
index 0000000..c5189ed
--- /dev/null
@@ -0,0 +1,206 @@
+diff -up cdrkit-1.1.8/wodim/wodim.c.werror cdrkit-1.1.8/wodim/wodim.c
+--- cdrkit-1.1.8/wodim/wodim.c.werror  2008-05-27 15:34:03.000000000 +0200
++++ cdrkit-1.1.8/wodim/wodim.c 2008-05-27 15:36:22.000000000 +0200
+@@ -4089,7 +4089,7 @@ audioread(SCSI *usalp, cdr_t *dp, int fl
+       read_scsi(usalp, buf, 1000, 1);
+       printf("XXX:\n");
+-      write(1, buf, 512); /* FIXME: handle return value */
++      do{int ret;ret=write(1, buf, 512);}while(0); /* FIXME: handle return value */
+       unload_media(usalp, dp, flags);
+       comexit(0);
+ #endif
+diff -up cdrkit-1.1.8/wodim/isosize.c.werror cdrkit-1.1.8/wodim/isosize.c
+--- cdrkit-1.1.8/wodim/isosize.c.werror        2008-05-27 15:41:36.000000000 +0200
++++ cdrkit-1.1.8/wodim/isosize.c       2008-05-27 15:42:12.000000000 +0200
+@@ -69,7 +69,7 @@ isosize(int f)
+       vp = (struct iso9660_pr_voldesc *) &vd;
+       do {
+-              read(f, &vd, sizeof (vd)); /* FIXME: check return value */
++              do{int ret;ret=read(f, &vd, sizeof (vd));}while(0); /* FIXME: check return value */
+               if (GET_UBYTE(vd.vd_type) == VD_PRIMARY)
+                       break;
+diff -up cdrkit-1.1.8/icedax/toc.c.werror cdrkit-1.1.8/icedax/toc.c
+--- cdrkit-1.1.8/icedax/toc.c.werror   2008-05-27 15:34:03.000000000 +0200
++++ cdrkit-1.1.8/icedax/toc.c  2008-05-27 15:41:11.000000000 +0200
+@@ -1071,7 +1071,7 @@ static int handle_userchoice(char *p, un
+       /* get user response. */
+       do {
+               fprintf(stderr, "please choose one (0-%u): ", nr);
+-              scanf("%u", &user_choice); /* FIXME: check return value */
++              do{int ret;ret=scanf("%u", &user_choice);}while(0); /* FIXME: check return value */
+       } while (user_choice > nr);
+       if (user_choice == nr)
+diff -up cdrkit-1.1.8/genisoimage/diag/dump.c.werror cdrkit-1.1.8/genisoimage/diag/dump.c
+--- cdrkit-1.1.8/genisoimage/diag/dump.c.werror        2008-05-27 15:34:03.000000000 +0200
++++ cdrkit-1.1.8/genisoimage/diag/dump.c       2008-05-27 15:34:03.000000000 +0200
+@@ -368,7 +368,7 @@ main(int argc, char *argv[])
+       do {
+               if (file_addr < (off_t)0) file_addr = (off_t)0;
+               showblock(1);
+-              read(STDIN_FILENO, &c, 1); /* FIXME: check return value */
++              do{int ret;ret=read(STDIN_FILENO, &c, 1);}while(0); /* FIXME: check return value */
+               if (c == 'a')
+                       file_addr -= PAGE;
+               if (c == 'b')
+@@ -378,11 +378,11 @@ main(int argc, char *argv[])
+                       printf("Enter new starting block (in hex):");
+                       if (sizeof (file_addr) > sizeof (long)) {
+                               Llong   ll;
+-                              scanf("%llx", &ll); /* FIXME: check return value */
++                              do{int ret;ret=scanf("%llx", &ll);}while(0); /* FIXME: check return value */
+                               file_addr = (off_t)ll;
+                       } else {
+                               long    l;
+-                              scanf("%lx", &l); /* FIXME: check return value */
++                              do{int ret;ret=scanf("%lx", &l);}while(0); /* FIXME: check return value */
+                               file_addr = (off_t)l;
+                       }
+                       file_addr = file_addr << 11;
+@@ -392,7 +392,7 @@ main(int argc, char *argv[])
+               if (c == 'f') {
+                       crsr2(20, 1);
+                       printf("Enter new search string:");
+-                      fgets((char *)search, sizeof (search), stdin); /* FIXME: check return value */
++                      do{char *ret;ret=fgets((char *)search, sizeof (search), stdin);}while(0); /* FIXME: check return value */
+                       while (search[strlen((char *)search)-1] == '\n')
+                               search[strlen((char *)search)-1] = 0;
+                       crsr2(20, 1);
+diff -up cdrkit-1.1.8/genisoimage/diag/isoinfo.c.werror cdrkit-1.1.8/genisoimage/diag/isoinfo.c
+--- cdrkit-1.1.8/genisoimage/diag/isoinfo.c.werror     2008-05-27 15:34:03.000000000 +0200
++++ cdrkit-1.1.8/genisoimage/diag/isoinfo.c    2008-05-27 15:34:03.000000000 +0200
+@@ -651,7 +651,7 @@ extract_file(struct iso_directory_record
+ #endif
+               len -= tlen;
+               extent++;
+-              write(STDOUT_FILENO, buff, tlen); /* FIXME: check return value */
++              do{int ret;ret=write(STDOUT_FILENO, buff, tlen);}while(0); /* FIXME: check return value */
+       }
+ }
+diff -up cdrkit-1.1.8/genisoimage/diag/isodump.c.werror cdrkit-1.1.8/genisoimage/diag/isodump.c
+--- cdrkit-1.1.8/genisoimage/diag/isodump.c.werror     2008-05-27 15:34:03.000000000 +0200
++++ cdrkit-1.1.8/genisoimage/diag/isodump.c    2008-05-27 15:34:03.000000000 +0200
+@@ -655,7 +655,7 @@ main(int argc, char *argv[])
+               if (file_addr < 0)
+                       file_addr = (off_t)0;
+               showblock(1);
+-              read(STDIN_FILENO, &c, 1); /* FIXME: check return value */
++              do{int ret;ret=read(STDIN_FILENO, &c, 1);}while(0); /* FIXME: check return value */
+               if (c == 'a')
+                       file_addr -= blocksize;
+               if (c == 'b')
+@@ -665,11 +665,11 @@ main(int argc, char *argv[])
+                       printf("Enter new starting block (in hex):");
+                       if (sizeof (file_addr) > sizeof (long)) {
+                               Llong   ll;
+-                              scanf("%llx", &ll); /* FIXME: check return value */
++                              do{int ret;ret=scanf("%llx", &ll);}while(0); /* FIXME: check return value */
+                               file_addr = (off_t)ll;
+                       } else {
+                               long    l;
+-                              scanf("%lx", &l); /* FIXME: check return value */
++                              do{int ret;ret=scanf("%lx", &l);}while(0); /* FIXME: check return value */
+                               file_addr = (off_t)l;
+                       }
+                       file_addr = file_addr * blocksize;
+@@ -679,7 +679,7 @@ main(int argc, char *argv[])
+               if (c == 'f') {
+                       crsr2(20, 1);
+                       printf("Enter new search string:");
+-                      fgets((char *)search, sizeof (search), stdin); /* FIXME: check return value */
++                      do{char *ret;ret=fgets((char *)search, sizeof (search), stdin);}while(0); /* FIXME: check return value */
+                       while (search[strlen((char *)search)-1] == '\n')
+                               search[strlen((char *)search)-1] = 0;
+                       crsr2(20, 1);
+diff -up cdrkit-1.1.8/genisoimage/diag/isovfy.c.werror cdrkit-1.1.8/genisoimage/diag/isovfy.c
+--- cdrkit-1.1.8/genisoimage/diag/isovfy.c.werror      2008-05-27 15:34:03.000000000 +0200
++++ cdrkit-1.1.8/genisoimage/diag/isovfy.c     2008-05-27 15:34:03.000000000 +0200
+@@ -591,11 +591,11 @@ check_path_tables(int typel_extent, int 
+       readsecs(typel_extent * blocksize / 2048, typel, ISO_BLOCKS(path_table_size));
+ #else
+       lseek(fileno(infile), (off_t)((off_t)typel_extent) * blocksize, SEEK_SET);
+-      read(fileno(infile), typel, path_table_size); /* FIXME: check return value */
++      do{int ret;ret=read(fileno(infile), typel, path_table_size);}while(0); /* FIXME: check return value */
+ #endif
+       typem = (char *) malloc(path_table_size);
+       lseek(fileno(infile), (off_t)((off_t)typem_extent) * blocksize, SEEK_SET);
+-      read(fileno(infile), typem, path_table_size); /* FIXME: check return value */
++      do{int ret;ret=read(fileno(infile), typem, path_table_size);}while(0); /* FIXME: check return value */
+       j = path_table_size;
+       pnt = typel;
+diff -up cdrkit-1.1.8/genisoimage/jte.c.werror cdrkit-1.1.8/genisoimage/jte.c
+--- cdrkit-1.1.8/genisoimage/jte.c.werror      2008-05-27 15:34:03.000000000 +0200
++++ cdrkit-1.1.8/genisoimage/jte.c     2008-05-27 15:34:03.000000000 +0200
+@@ -36,6 +36,8 @@
+ #include "vms.h"
+ #endif
++#include "md5.h"
++
+ /* Different types used in building our state list below */
+ #define JTET_FILE_MATCH 1
+ #define JTET_NOMATCH    2
+@@ -643,7 +645,7 @@ static void flush_bz2_chunk(void *buffer
+     err = BZ2_bzCompressInit(&c_stream, 9, 0, 0);
+     comp_buf = malloc(2 * size); /* Worst case */
+-    c_stream.next_out = comp_buf;
++    c_stream.next_out = (char *)comp_buf;
+     c_stream.avail_out = 2 * size;
+     c_stream.next_in = buffer;
+     c_stream.avail_in = size;
+@@ -691,7 +693,7 @@ static void write_compressed_chunk(unsig
+               if (!uncomp_buf)
+               {
+ #ifdef        USE_LIBSCHILY
+-            comerr("failed to allocate %d bytes for template compression buffer\n", uncomp_size);
++            comerr("failed to allocate %d bytes for template compression buffer\n", (int)uncomp_size);
+ #else
+             fprintf(stderr, "failed to allocate %d bytes for template compression buffer\n", uncomp_size);
+             exit(1);
+@@ -1019,8 +1021,8 @@ void write_jt_match_record(char *filenam
+ #endif
+               }
+         if (first_block)
+-            rsync64_sum = rsync64(buf, MIN_JIGDO_FILE_SIZE);
+-        checksum_update(iso_context, buf, use);
++            rsync64_sum = rsync64((unsigned char *)buf, MIN_JIGDO_FILE_SIZE);
++        checksum_update(iso_context, (unsigned char *)buf, use);
+ //        mk_MD5Update(&iso_context, buf, use);
+         remain -= use;
+         first_block = 0;
+@@ -1033,7 +1035,7 @@ void write_jt_match_record(char *filenam
+     {
+         int pad_size = sector_size - (size % sector_size);
+         memset(buf, 0, pad_size);
+-        checksum_update(iso_context, buf, pad_size);
++        checksum_update(iso_context, (unsigned char *)buf, pad_size);
+ //        mk_MD5Update(&iso_context, buf, pad_size);
+     }
+@@ -1041,7 +1043,7 @@ void write_jt_match_record(char *filenam
+     if (size % sector_size)
+     {
+         int pad_size = sector_size - (size % sector_size);
+-        write_compressed_chunk(buf, pad_size);
++        write_compressed_chunk((unsigned char *)buf, pad_size);
+         add_unmatched_entry(pad_size);
+     }        
+ }
+diff -up cdrkit-1.1.8/genisoimage/eltorito.c.werror cdrkit-1.1.8/genisoimage/eltorito.c
+--- cdrkit-1.1.8/genisoimage/eltorito.c.werror 2008-05-27 15:34:03.000000000 +0200
++++ cdrkit-1.1.8/genisoimage/eltorito.c        2008-05-27 15:34:03.000000000 +0200
+@@ -660,7 +660,7 @@ fill_boot_desc(struct eltorito_defaultbo
+               set_731(bi_table.bi_length, de->size);
+               set_731(bi_table.bi_csum, bi_checksum);
+-              write(bootimage, &bi_table, sizeof (bi_table)); /* FIXME: check return value */
++              do{int ret;ret=write(bootimage, &bi_table, sizeof (bi_table));}while(0); /* FIXME: check return value */
+               close(bootimage);
+       }
+ }/* fill_boot_desc(... */
diff --git a/src/patches/cdrkit/cdrkit-1.1.9-buffer_overflow.patch b/src/patches/cdrkit/cdrkit-1.1.9-buffer_overflow.patch
new file mode 100644 (file)
index 0000000..b93d8d2
--- /dev/null
@@ -0,0 +1,66 @@
+diff -ru origin-1.1.9/wodim/scsi_cdr.c master-1.1.9/wodim/scsi_cdr.c
+--- origin-1.1.9/wodim/scsi_cdr.c      2008-02-25 12:14:07.000000000 +0100
++++ master-1.1.9/wodim/scsi_cdr.c      2009-07-16 12:01:29.000000000 +0200
+@@ -2181,26 +2181,30 @@
+               if (inq->add_len == 0) {
+                       if (usalp->dev == DEV_UNKNOWN && got_inquiry) {
+                               usalp->dev = DEV_ACB5500;
+-                              strcpy(inq->vendor_info,
+-                                      "ADAPTEC ACB-5500        FAKE");
++                              strncpy(inq->vendor_info, "ADAPTEC ", 8);
++                              strncpy(inq->prod_ident,"ACB-5500        ", 16);
++                              strncpy(inq->prod_revision, "FAKE", 4);
+                       } else switch (usalp->dev) {
+-
+                               case DEV_ACB40X0:
+-                                      strcpy(inq->vendor_info,
+-                                                      "ADAPTEC ACB-40X0        FAKE");
++                                      strncpy(inq->vendor_info, "ADAPTEC ", 8);
++                                      strncpy(inq->prod_ident, "ACB-40X0        ",16);
++                                      strncpy(inq->prod_revision, "FAKE", 4);
+                                       break;
+                               case DEV_ACB4000:
+-                                      strcpy(inq->vendor_info,
+-                                                      "ADAPTEC ACB-4000        FAKE");
++                                      strncpy(inq->vendor_info, "ADAPTEC ",8);
++                                      strncpy(inq->prod_ident, "ACB-4000        ",16);
++                                      strncpy(inq->prod_revision, "FAKE",4);
+                                       break;
+                               case DEV_ACB4010:
+-                                      strcpy(inq->vendor_info,
+-                                                      "ADAPTEC ACB-4010        FAKE");
++                                      strncpy(inq->vendor_info, "ADAPTEC ",8);
++                                      strncpy(inq->prod_ident, "ACB-4010        ",16);
++                                      strncpy(inq->prod_revision, "FAKE",4);
+                                       break;
+                               case DEV_ACB4070:
+-                                      strcpy(inq->vendor_info,
+-                                                      "ADAPTEC ACB-4070        FAKE");
++                                      strncpy(inq->vendor_info,"ADAPTEC ",8);
++                                      strncpy(inq->prod_ident, "ACB-4070        ", 16);
++                                      strncpy(inq->prod_revision, "FAKE",4 );
+                                       break;
+                       }
+               } else if (inq->add_len < 31) {
+@@ -2230,14 +2234,16 @@
+       case INQ_SEQD:
+               if (usalp->dev == DEV_SC4000) {
+-                      strcpy(inq->vendor_info,
+-                              "SYSGEN  SC4000          FAKE");
++                      strncpy(inq->vendor_info,"SYSGEN  ",8);
++                      strncpy(inq->prod_ident, "SC4000          ",16);
++                      strncpy(inq->prod_revision, "FAKE",4);
+               } else if (inq->add_len == 0 &&
+                                       inq->removable &&
+                                               inq->ansi_version == 1) {
+                       usalp->dev = DEV_MT02;
+-                      strcpy(inq->vendor_info,
+-                              "EMULEX  MT02            FAKE");
++                      strncpy(inq->vendor_info,"EMULEX  ",8);
++                      strncpy(inq->prod_ident, "MT02            ",16);
++                      strncpy(inq->prod_revision, "FAKE",4);
+               }
+               break;
diff --git a/src/patches/cdrkit/cdrkit-1.1.9-efi-boot.patch b/src/patches/cdrkit/cdrkit-1.1.9-efi-boot.patch
new file mode 100644 (file)
index 0000000..45f910b
--- /dev/null
@@ -0,0 +1,204 @@
+diff --git a/doc/icedax/tracknames.pl b/doc/icedax/tracknames.pl
+old mode 100755
+new mode 100644
+index 09f0fcf..801b89e
+--- a/doc/icedax/tracknames.pl
++++ b/doc/icedax/tracknames.pl
+@@ -1,4 +1,4 @@
+-#!/usr/local/bin/perl 
++#!/usr/bin/perl 
+ # A quick perl hack to get rename files pulled in with icedax.
+ # by billo@billo.com
+ #
+diff --git a/genisoimage/eltorito.c b/genisoimage/eltorito.c
+index b97bdf1..5d7c2d1 100644
+--- a/genisoimage/eltorito.c
++++ b/genisoimage/eltorito.c
+@@ -59,7 +59,7 @@ static       void    get_torito_desc(struct eltorito_boot_descriptor *boot_desc);
+ static        void    fill_boot_desc(struct eltorito_defaultboot_entry *boot_desc_entry,
+                                                                               struct eltorito_boot_entry_info *boot_entry);
+ void  get_boot_entry(void);
+-void  new_boot_entry(void);
++void  new_boot_entry();
+ static        int     tvd_write(FILE *outfile);
+@@ -283,6 +283,7 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+       int                     i;
+       int                     offset;
+       struct eltorito_defaultboot_entry boot_desc_record;
++      struct eltorito_sectionheader_entry section_header;
+       memset(boot_desc, 0, sizeof (*boot_desc));
+       boot_desc->type[0] = 0;
+@@ -317,7 +318,7 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+        */
+       memset(&valid_desc, 0, sizeof (valid_desc));
+       valid_desc.headerid[0] = 1;
+-      valid_desc.arch[0] = EL_TORITO_ARCH_x86;
++      valid_desc.arch[0] = first_boot_entry->arch;
+       /*
+        * we'll shove start of publisher id into id field,
+@@ -347,10 +348,53 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+       /* now write it to the virtual boot catalog */
+       memcpy(de2->table, &valid_desc, 32);
+-      for (current_boot_entry = first_boot_entry, offset = sizeof (valid_desc);
+-              current_boot_entry != NULL;
+-              current_boot_entry = current_boot_entry->next,
+-              offset += sizeof (boot_desc_record)) {
++      /* Fill the first entry, since it's special and already has the
++       * matching header via the validation header... */
++      offset = sizeof (valid_desc);
++      current_boot_entry = first_boot_entry;
++
++      if (offset >= SECTOR_SIZE) {
++#ifdef        USE_LIBSCHILY
++              comerrno(EX_BAD, "Too many El Torito boot entries\n");
++#else
++              fprintf(stderr, "Too many El Torito boot entries\n");
++              exit(1);
++#endif
++      }
++      fill_boot_desc(&boot_desc_record, current_boot_entry);
++      memcpy(de2->table + offset, &boot_desc_record,
++                              sizeof (boot_desc_record));
++
++      offset += sizeof(boot_desc_record);
++
++      for (current_boot_entry = current_boot_entry->next;
++                      current_boot_entry != NULL;
++                      current_boot_entry = current_boot_entry->next) {
++              struct eltorito_sectionheader_entry section_header;
++
++              if (offset >= SECTOR_SIZE) {
++#ifdef        USE_LIBSCHILY
++                      comerrno(EX_BAD,
++                      "Too many El Torito boot entries\n");
++#else
++                      fprintf(stderr,
++                      "Too many El Torito boot entries\n");
++                      exit(1);
++#endif
++              }
++
++              memset(&section_header, '\0', sizeof(section_header));
++              if (current_boot_entry->next)
++                      section_header.headerid[0] = EL_TORITO_SECTION_HEADER;
++              else
++                      section_header.headerid[0] = EL_TORITO_LAST_SECTION_HEADER;
++
++              section_header.arch[0] = current_boot_entry->arch;
++              set_721(section_header.num_entries, 1);
++
++              memcpy(de2->table + offset, &section_header,
++                                      sizeof(section_header));
++              offset += sizeof(section_header);
+               if (offset >= SECTOR_SIZE) {
+ #ifdef        USE_LIBSCHILY
+@@ -365,6 +409,8 @@ get_torito_desc(struct eltorito_boot_descriptor *boot_desc)
+               fill_boot_desc(&boot_desc_record, current_boot_entry);
+               memcpy(de2->table + offset, &boot_desc_record,
+                                       sizeof (boot_desc_record));
++              offset += sizeof (boot_desc_record);
++
+       }
+ }/* get_torito_desc(... */
+diff --git a/genisoimage/genisoimage.c b/genisoimage/genisoimage.c
+index a5b0b46..8add1ac 100644
+--- a/genisoimage/genisoimage.c
++++ b/genisoimage/genisoimage.c
+@@ -47,6 +47,7 @@
+ #include <mconfig.h>
+ #include "genisoimage.h"
++#include "iso9660.h"
+ #include <errno.h>
+ #include <timedefs.h>
+ #include <fctldefs.h>
+@@ -523,6 +524,8 @@ static const struct ld_option ld_options[] =
+       '\0', NULL, "Set debug flag", ONE_DASH},
+       {{"eltorito-boot", required_argument, NULL, 'b'},
+       'b', "FILE", "Set El Torito boot image name", ONE_DASH},
++      {{"efi-boot", required_argument, NULL, 'e'},
++      'e', "FILE", "Set EFI boot image name", ONE_DASH},
+       {{"eltorito-alt-boot", no_argument, NULL, OPTION_ALT_BOOT},
+       '\0', NULL, "Start specifying alternative El Torito boot parameters", ONE_DASH},
+       {{"sparc-boot", required_argument, NULL, 'B'},
+@@ -1502,6 +1505,7 @@ int main(int argc, char *argv[])
+                       all_files = 0;
+                       break;
+               case 'b':
++              case 'e':
+                       do_sort++;              /* We sort bootcat/botimage */
+                       use_eltorito++;
+                       boot_image = optarg;    /* pathname of the boot image */
+@@ -1517,6 +1521,10 @@ int main(int argc, char *argv[])
+ #endif
+                       }
+                       get_boot_entry();
++                      if (c == 'e')
++                              current_boot_entry->arch = EL_TORITO_ARCH_EFI;
++                      else
++                              current_boot_entry->arch = EL_TORITO_ARCH_x86;
+                       current_boot_entry->boot_image = boot_image;
+                       break;
+               case OPTION_ALT_BOOT:
+diff --git a/genisoimage/genisoimage.h b/genisoimage/genisoimage.h
+index bbedfb0..76e5e21 100644
+--- a/genisoimage/genisoimage.h
++++ b/genisoimage/genisoimage.h
+@@ -293,6 +293,7 @@ struct deferred_write {
+ struct eltorito_boot_entry_info {
+       struct eltorito_boot_entry_info *next;
+       char            *boot_image;
++      char            arch;
+       int             not_bootable;
+       int             no_emul_boot;
+       int             hard_disk_boot;
+diff --git a/genisoimage/iso9660.h b/genisoimage/iso9660.h
+index c74c2a9..c8b7a05 100644
+--- a/genisoimage/iso9660.h
++++ b/genisoimage/iso9660.h
+@@ -62,10 +62,14 @@ struct iso_volume_descriptor {
+ #define       EL_TORITO_ARCH_x86      0
+ #define       EL_TORITO_ARCH_PPC      1
+ #define       EL_TORITO_ARCH_MAC      2
++#define       EL_TORITO_ARCH_EFI      0xef
+ #define       EL_TORITO_BOOTABLE      0x88
+ #define       EL_TORITO_NOT_BOOTABLE  0
++#define       EL_TORITO_SECTION_HEADER        0x90
++#define       EL_TORITO_LAST_SECTION_HEADER   0x91
++
+ #define       EL_TORITO_MEDIA_NOEMUL  0
+ #define       EL_TORITO_MEDIA_12FLOP  1
+ #define       EL_TORITO_MEDIA_144FLOP 2
+@@ -173,7 +177,7 @@ struct eltorito_validation_entry {
+ struct eltorito_defaultboot_entry {
+       char boot_id                    [ISODCL(1,    1)]; /* 711 */
+       char boot_media                 [ISODCL(2,    2)];
+-      char loadseg                    [ISODCL(3,    4)]; /* 711 */
++      char loadseg                    [ISODCL(3,    4)]; /* 712 */
+       char sys_type                   [ISODCL(5,    5)];
+       char pad1                       [ISODCL(6,    6)];
+       char nsect                      [ISODCL(7,    8)];
+@@ -181,6 +185,14 @@ struct eltorito_defaultboot_entry {
+       char pad2                       [ISODCL(13,  32)];
+ };
++/* El Torito Section Header Entry in boot catalog */
++struct eltorito_sectionheader_entry {
++      char headerid                   [ISODCL(1,    1)]; /* 711 */
++      char arch                       [ISODCL(2,    2)];
++      char num_entries                [ISODCL(3,    4)]; /* 711 */
++      char id                         [ISODCL(5,   32)];
++};
++
+ /*
+  * XXX JS: The next two structures have odd lengths!
+  * Some compilers (e.g. on Sun3/mc68020) padd the structures to even length.
diff --git a/src/patches/cdrkit/cdrkit-1.1.9-no_mp3.patch b/src/patches/cdrkit/cdrkit-1.1.9-no_mp3.patch
new file mode 100644 (file)
index 0000000..6948e4e
--- /dev/null
@@ -0,0 +1,50 @@
+diff -up cdrkit-1.1.9/icedax/cdda2ogg.1.no_mp3 cdrkit-1.1.9/icedax/cdda2ogg.1
+--- cdrkit-1.1.9/icedax/cdda2ogg.1.no_mp3      2009-06-15 14:48:44.930637082 +0200
++++ cdrkit-1.1.9/icedax/cdda2ogg.1     2009-06-15 14:50:35.596769274 +0200
+@@ -1,12 +1,11 @@
+ '\"
+ .TH "cdda2ogg" "1"
+ .SH "NAME"
+-cdda2ogg, cdda2mp3 \(em extract audio CD audio tracks and encode them
++cdda2ogg \(em extract audio CD audio tracks and encode them
+ .SH "SYNOPSIS"
+ .PP
+ .B cdda2ogg
+ .PP
+-.B cdda2mp3
+ .SH "DESCRIPTION"
+ .PP
+ .B cdda2ogg is a simple script that uses the
+@@ -15,9 +14,6 @@ command to extract all audio tracks with
+ .B icedax <fileprefix>
+ command and encode them using the
+ .B ogg123
+-respective
+-.I <censored>
+-MP3
+ encoder. The scripts are not intended to be full-featured music archiving
+ programs, but only for quick storing of few audio data.
+ It does not use databases like CDDB or have any extra features. You may look
+@@ -36,8 +32,6 @@ for more information.
+ .SH "CONFIGURATION"
+ .PP
+ .B cdda2ogg
+-and
+-.B cdda2mp3
+ have predefined values for reading and labeling of the target files.
+ You can overwrite them with following environment variables:
+@@ -65,11 +59,11 @@ Additional options passed to
+ The base part of the filename of resulting audio files. This can also be specified as the first argument to the script.
+ .PP
+-See cdda2ogg (cdda2mp3) script file to get the default values
++See cdda2ogg script file to get the default values
+ .PP
+ System administrator can also set default values by creating of a shell
+ include file, defining the variables for the POSIX shell, and storing them as
+-/etc/default/cdda2ogg (resp. cdda2mp3).
++/etc/default/cdda2ogg.
+ .SH "EXAMPLES"
+ .PP
+ .B CDDA_DEVICE=/dev/cdrom1 cdda2ogg
diff --git a/src/patches/parted-3.2-device-mapper.patch b/src/patches/parted-3.2-device-mapper.patch
new file mode 100644 (file)
index 0000000..e866c88
--- /dev/null
@@ -0,0 +1,44 @@
+--- parted-3.2/libparted/arch/linux.c.device-mapper    2014-06-15 20:15:54.000000000 +0100
++++ parted-3.2/libparted/arch/linux.c  2014-07-29 22:27:54.487430030 +0100
+@@ -2307,6 +2307,7 @@ zasprintf (const char *format, ...)
+ static char *
+ dm_canonical_path (PedDevice const *dev)
+ {
++#ifdef ENABLE_DEVICE_MAPPER
+         LinuxSpecific const *arch_specific = LINUX_SPECIFIC (dev);
+         /* Get map name from devicemapper */
+@@ -2324,6 +2325,7 @@ dm_canonical_path (PedDevice const *dev)
+         dm_task_destroy (task);
+         return dev_name;
+ err:
++#endif
+         return NULL;
+ }
+@@ -2944,13 +2946,14 @@ _disk_sync_part_table (PedDisk* disk)
+                                                unsigned long long *start,
+                                                unsigned long long *length);
+-
++#ifdef ENABLE_DEVICE_MAPPER
+         if (disk->dev->type == PED_DEVICE_DM) {
+                 add_partition = _dm_add_partition;
+                 remove_partition = _dm_remove_partition;
+                 resize_partition = _dm_resize_partition;
+                 get_partition_start_and_length = _dm_get_partition_start_and_length;
+         } else {
++#endif
+                 add_partition = _blkpg_add_partition;
+                 remove_partition = _blkpg_remove_partition;
+ #ifdef BLKPG_RESIZE_PARTITION
+@@ -2959,7 +2962,9 @@ _disk_sync_part_table (PedDisk* disk)
+                 resize_partition = NULL;
+ #endif
+                 get_partition_start_and_length = _kernel_get_partition_start_and_length;
++#ifdef ENABLE_DEVICE_MAPPER
+         }
++#endif
+         /* lpn = largest partition number.
+          * for remove pass, use greater of device or label limit */
index 495ff394e07eee614b8bcdf29f0ec0829842768a..2cdef0094a74bc81546282a98b8ffee23dded1e5 100644 (file)
@@ -1,6 +1,32 @@
 #!/bin/sh
 arch=$(uname -m)
 
+makeiso() {
+       local dir="${1}"
+       local output="${2}"
+
+       local args="-J -r -V 'ipfire backup ${TS}' \
+               -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table \
+               -c boot/isolinux/boot.catalog"
+
+       # Add EFI options when EFI image is present
+       if [ -e "${dir}/boot/isolinux/efiboot.img" ]; then
+               args="${args} -eltorito-alt-boot -e boot/isolinux/efiboot.img -no-emul-boot"
+       fi
+
+       # Compose ISO
+       mkisofs ${args} ${dir} > ${output}
+
+       # Add DOS paritition table
+       if [ -e "${dir}/boot/isolinux/efiboot.img" ]; then
+               isohybrid --uefi ${output}
+       else
+               isohybrid ${output}
+       fi
+
+       return 0
+}
+
 case $arch in
        i?86)
                arch="i586"
@@ -73,10 +99,7 @@ rm -r backupiso.tmp.${TS}
 cp "/var/ipfire/backup/${TS}.ipf" "backupiso.${TS}/backup.ipf"
 
 echo "Running mkisofs"
-mkisofs -J -r -V "ipfire backup ${TS}" \
-            -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table \
-            -c boot/isolinux/boot.catalog backupiso.${TS} > $(basename ${ISO} .iso)-${TS}.iso
-isohybrid $(basename ${ISO} .iso)-${TS}.iso
+makeiso backupiso.${TS} $(basename ${ISO} .iso)-${TS}.iso
 
 echo "Cleaning up"
 rm -rf backupiso.${TS}