From 784cd5cbd7f4b7ad3d0cda1411b8eb1e038ffc7e Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 22 Aug 2015 21:18:18 +0100 Subject: [PATCH 01/62] Enhance the flash image to support EFI Signed-off-by: Michael Tremer --- config/rootfiles/common/i586/grub | 434 +++++++++++++++++++++++++++++- lfs/flash-images | 64 ++++- lfs/grub | 51 +++- 3 files changed, 528 insertions(+), 21 deletions(-) diff --git a/config/rootfiles/common/i586/grub b/config/rootfiles/common/i586/grub index 6cd8a4dca..16e76aa0f 100644 --- a/config/rootfiles/common/i586/grub +++ b/config/rootfiles/common/i586/grub @@ -1,3 +1,9 @@ +#boot/efi +#boot/efi/EFI +#boot/efi/EFI/ipfire +#boot/efi/EFI/ipfire/grub-efi +boot/efi/EFI/ipfire/grub-efi/grub.cfg +boot/efi/EFI/ipfire/grub-efi/grub.efi #boot/grub boot/grub/grub.cfg boot/grub/splash.png @@ -12,8 +18,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 @@ -32,6 +37,429 @@ usr/bin/grub-render-label usr/bin/grub-script-check usr/bin/grub-syslinux2cfg #usr/lib/grub +usr/lib/grub +usr/lib/grub/i386-efi +usr/lib/grub/i386-efi/acpi.mod +usr/lib/grub/i386-efi/acpi.module +usr/lib/grub/i386-efi/adler32.mod +usr/lib/grub/i386-efi/adler32.module +usr/lib/grub/i386-efi/affs.mod +usr/lib/grub/i386-efi/affs.module +usr/lib/grub/i386-efi/afs.mod +usr/lib/grub/i386-efi/afs.module +usr/lib/grub/i386-efi/ahci.mod +usr/lib/grub/i386-efi/ahci.module +usr/lib/grub/i386-efi/all_video.mod +usr/lib/grub/i386-efi/all_video.module +usr/lib/grub/i386-efi/aout.mod +usr/lib/grub/i386-efi/aout.module +usr/lib/grub/i386-efi/appleldr.mod +usr/lib/grub/i386-efi/appleldr.module +usr/lib/grub/i386-efi/at_keyboard.mod +usr/lib/grub/i386-efi/at_keyboard.module +usr/lib/grub/i386-efi/ata.mod +usr/lib/grub/i386-efi/ata.module +usr/lib/grub/i386-efi/backtrace.mod +usr/lib/grub/i386-efi/backtrace.module +usr/lib/grub/i386-efi/bfs.mod +usr/lib/grub/i386-efi/bfs.module +usr/lib/grub/i386-efi/bitmap.mod +usr/lib/grub/i386-efi/bitmap.module +usr/lib/grub/i386-efi/bitmap_scale.mod +usr/lib/grub/i386-efi/bitmap_scale.module +usr/lib/grub/i386-efi/blocklist.mod +usr/lib/grub/i386-efi/blocklist.module +usr/lib/grub/i386-efi/boot.mod +usr/lib/grub/i386-efi/boot.module +usr/lib/grub/i386-efi/bsd.mod +usr/lib/grub/i386-efi/bsd.module +usr/lib/grub/i386-efi/btrfs.mod +usr/lib/grub/i386-efi/btrfs.module +usr/lib/grub/i386-efi/bufio.mod +usr/lib/grub/i386-efi/bufio.module +usr/lib/grub/i386-efi/cat.mod +usr/lib/grub/i386-efi/cat.module +usr/lib/grub/i386-efi/chain.mod +usr/lib/grub/i386-efi/chain.module +usr/lib/grub/i386-efi/cmp.mod +usr/lib/grub/i386-efi/cmp.module +usr/lib/grub/i386-efi/command.lst +usr/lib/grub/i386-efi/config.h +usr/lib/grub/i386-efi/configfile.mod +usr/lib/grub/i386-efi/configfile.module +usr/lib/grub/i386-efi/cpio.mod +usr/lib/grub/i386-efi/cpio.module +usr/lib/grub/i386-efi/cpio_be.mod +usr/lib/grub/i386-efi/cpio_be.module +usr/lib/grub/i386-efi/cpuid.mod +usr/lib/grub/i386-efi/cpuid.module +usr/lib/grub/i386-efi/crc64.mod +usr/lib/grub/i386-efi/crc64.module +usr/lib/grub/i386-efi/crypto.lst +usr/lib/grub/i386-efi/crypto.mod +usr/lib/grub/i386-efi/crypto.module +usr/lib/grub/i386-efi/cryptodisk.mod +usr/lib/grub/i386-efi/cryptodisk.module +usr/lib/grub/i386-efi/cs5536.mod +usr/lib/grub/i386-efi/cs5536.module +usr/lib/grub/i386-efi/date.mod +usr/lib/grub/i386-efi/date.module +usr/lib/grub/i386-efi/datehook.mod +usr/lib/grub/i386-efi/datehook.module +usr/lib/grub/i386-efi/datetime.mod +usr/lib/grub/i386-efi/datetime.module +usr/lib/grub/i386-efi/diskfilter.mod +usr/lib/grub/i386-efi/diskfilter.module +usr/lib/grub/i386-efi/dm_nv.mod +usr/lib/grub/i386-efi/dm_nv.module +usr/lib/grub/i386-efi/echo.mod +usr/lib/grub/i386-efi/echo.module +usr/lib/grub/i386-efi/efi_gop.mod +usr/lib/grub/i386-efi/efi_gop.module +usr/lib/grub/i386-efi/efi_uga.mod +usr/lib/grub/i386-efi/efi_uga.module +usr/lib/grub/i386-efi/efinet.mod +usr/lib/grub/i386-efi/efinet.module +usr/lib/grub/i386-efi/ehci.mod +usr/lib/grub/i386-efi/ehci.module +usr/lib/grub/i386-efi/elf.mod +usr/lib/grub/i386-efi/elf.module +usr/lib/grub/i386-efi/exfat.mod +usr/lib/grub/i386-efi/exfat.module +usr/lib/grub/i386-efi/exfctest.mod +usr/lib/grub/i386-efi/exfctest.module +usr/lib/grub/i386-efi/ext2.mod +usr/lib/grub/i386-efi/ext2.module +usr/lib/grub/i386-efi/extcmd.mod +usr/lib/grub/i386-efi/extcmd.module +usr/lib/grub/i386-efi/fat.mod +usr/lib/grub/i386-efi/fat.module +usr/lib/grub/i386-efi/fixvideo.mod +usr/lib/grub/i386-efi/fixvideo.module +usr/lib/grub/i386-efi/font.mod +usr/lib/grub/i386-efi/font.module +usr/lib/grub/i386-efi/fs.lst +usr/lib/grub/i386-efi/fshelp.mod +usr/lib/grub/i386-efi/fshelp.module +usr/lib/grub/i386-efi/functional_test.mod +usr/lib/grub/i386-efi/functional_test.module +usr/lib/grub/i386-efi/gcry_arcfour.mod +usr/lib/grub/i386-efi/gcry_arcfour.module +usr/lib/grub/i386-efi/gcry_blowfish.mod +usr/lib/grub/i386-efi/gcry_blowfish.module +usr/lib/grub/i386-efi/gcry_camellia.mod +usr/lib/grub/i386-efi/gcry_camellia.module +usr/lib/grub/i386-efi/gcry_cast5.mod +usr/lib/grub/i386-efi/gcry_cast5.module +usr/lib/grub/i386-efi/gcry_crc.mod +usr/lib/grub/i386-efi/gcry_crc.module +usr/lib/grub/i386-efi/gcry_des.mod +usr/lib/grub/i386-efi/gcry_des.module +usr/lib/grub/i386-efi/gcry_md4.mod +usr/lib/grub/i386-efi/gcry_md4.module +usr/lib/grub/i386-efi/gcry_md5.mod +usr/lib/grub/i386-efi/gcry_md5.module +usr/lib/grub/i386-efi/gcry_rfc2268.mod +usr/lib/grub/i386-efi/gcry_rfc2268.module +usr/lib/grub/i386-efi/gcry_rijndael.mod +usr/lib/grub/i386-efi/gcry_rijndael.module +usr/lib/grub/i386-efi/gcry_rmd160.mod +usr/lib/grub/i386-efi/gcry_rmd160.module +usr/lib/grub/i386-efi/gcry_seed.mod +usr/lib/grub/i386-efi/gcry_seed.module +usr/lib/grub/i386-efi/gcry_serpent.mod +usr/lib/grub/i386-efi/gcry_serpent.module +usr/lib/grub/i386-efi/gcry_sha1.mod +usr/lib/grub/i386-efi/gcry_sha1.module +usr/lib/grub/i386-efi/gcry_sha256.mod +usr/lib/grub/i386-efi/gcry_sha256.module +usr/lib/grub/i386-efi/gcry_sha512.mod +usr/lib/grub/i386-efi/gcry_sha512.module +usr/lib/grub/i386-efi/gcry_tiger.mod +usr/lib/grub/i386-efi/gcry_tiger.module +usr/lib/grub/i386-efi/gcry_twofish.mod +usr/lib/grub/i386-efi/gcry_twofish.module +usr/lib/grub/i386-efi/gcry_whirlpool.mod +usr/lib/grub/i386-efi/gcry_whirlpool.module +usr/lib/grub/i386-efi/gdb.mod +usr/lib/grub/i386-efi/gdb.module +usr/lib/grub/i386-efi/gdb_grub +usr/lib/grub/i386-efi/geli.mod +usr/lib/grub/i386-efi/geli.module +usr/lib/grub/i386-efi/gettext.mod +usr/lib/grub/i386-efi/gettext.module +usr/lib/grub/i386-efi/gfxmenu.mod +usr/lib/grub/i386-efi/gfxmenu.module +usr/lib/grub/i386-efi/gfxterm.mod +usr/lib/grub/i386-efi/gfxterm.module +usr/lib/grub/i386-efi/gmodule.pl +usr/lib/grub/i386-efi/gptsync.mod +usr/lib/grub/i386-efi/gptsync.module +usr/lib/grub/i386-efi/gzio.mod +usr/lib/grub/i386-efi/gzio.module +usr/lib/grub/i386-efi/halt.mod +usr/lib/grub/i386-efi/halt.module +usr/lib/grub/i386-efi/hashsum.mod +usr/lib/grub/i386-efi/hashsum.module +usr/lib/grub/i386-efi/hdparm.mod +usr/lib/grub/i386-efi/hdparm.module +usr/lib/grub/i386-efi/hello.mod +usr/lib/grub/i386-efi/hello.module +usr/lib/grub/i386-efi/help.mod +usr/lib/grub/i386-efi/help.module +usr/lib/grub/i386-efi/hexdump.mod +usr/lib/grub/i386-efi/hexdump.module +usr/lib/grub/i386-efi/hfs.mod +usr/lib/grub/i386-efi/hfs.module +usr/lib/grub/i386-efi/hfsplus.mod +usr/lib/grub/i386-efi/hfsplus.module +usr/lib/grub/i386-efi/http.mod +usr/lib/grub/i386-efi/http.module +usr/lib/grub/i386-efi/iorw.mod +usr/lib/grub/i386-efi/iorw.module +usr/lib/grub/i386-efi/iso9660.mod +usr/lib/grub/i386-efi/iso9660.module +usr/lib/grub/i386-efi/jfs.mod +usr/lib/grub/i386-efi/jfs.module +usr/lib/grub/i386-efi/jpeg.mod +usr/lib/grub/i386-efi/jpeg.module +usr/lib/grub/i386-efi/kernel.exec +usr/lib/grub/i386-efi/kernel.img +usr/lib/grub/i386-efi/keylayouts.mod +usr/lib/grub/i386-efi/keylayouts.module +usr/lib/grub/i386-efi/keystatus.mod +usr/lib/grub/i386-efi/keystatus.module +usr/lib/grub/i386-efi/ldm.mod +usr/lib/grub/i386-efi/ldm.module +usr/lib/grub/i386-efi/linux.mod +usr/lib/grub/i386-efi/linux.module +usr/lib/grub/i386-efi/loadbios.mod +usr/lib/grub/i386-efi/loadbios.module +usr/lib/grub/i386-efi/loadenv.mod +usr/lib/grub/i386-efi/loadenv.module +usr/lib/grub/i386-efi/loopback.mod +usr/lib/grub/i386-efi/loopback.module +usr/lib/grub/i386-efi/ls.mod +usr/lib/grub/i386-efi/ls.module +usr/lib/grub/i386-efi/lsacpi.mod +usr/lib/grub/i386-efi/lsacpi.module +usr/lib/grub/i386-efi/lsefimmap.mod +usr/lib/grub/i386-efi/lsefimmap.module +usr/lib/grub/i386-efi/lsefisystab.mod +usr/lib/grub/i386-efi/lsefisystab.module +usr/lib/grub/i386-efi/lsmmap.mod +usr/lib/grub/i386-efi/lsmmap.module +usr/lib/grub/i386-efi/lspci.mod +usr/lib/grub/i386-efi/lspci.module +usr/lib/grub/i386-efi/lssal.mod +usr/lib/grub/i386-efi/lssal.module +usr/lib/grub/i386-efi/luks.mod +usr/lib/grub/i386-efi/luks.module +usr/lib/grub/i386-efi/lvm.mod +usr/lib/grub/i386-efi/lvm.module +usr/lib/grub/i386-efi/lzopio.mod +usr/lib/grub/i386-efi/lzopio.module +usr/lib/grub/i386-efi/mdraid09.mod +usr/lib/grub/i386-efi/mdraid09.module +usr/lib/grub/i386-efi/mdraid09_be.mod +usr/lib/grub/i386-efi/mdraid09_be.module +usr/lib/grub/i386-efi/mdraid1x.mod +usr/lib/grub/i386-efi/mdraid1x.module +usr/lib/grub/i386-efi/memdisk.mod +usr/lib/grub/i386-efi/memdisk.module +usr/lib/grub/i386-efi/memrw.mod +usr/lib/grub/i386-efi/memrw.module +usr/lib/grub/i386-efi/minicmd.mod +usr/lib/grub/i386-efi/minicmd.module +usr/lib/grub/i386-efi/minix.mod +usr/lib/grub/i386-efi/minix.module +usr/lib/grub/i386-efi/minix2.mod +usr/lib/grub/i386-efi/minix2.module +usr/lib/grub/i386-efi/minix2_be.mod +usr/lib/grub/i386-efi/minix2_be.module +usr/lib/grub/i386-efi/minix3.mod +usr/lib/grub/i386-efi/minix3.module +usr/lib/grub/i386-efi/minix3_be.mod +usr/lib/grub/i386-efi/minix3_be.module +usr/lib/grub/i386-efi/minix_be.mod +usr/lib/grub/i386-efi/minix_be.module +usr/lib/grub/i386-efi/mmap.mod +usr/lib/grub/i386-efi/mmap.module +usr/lib/grub/i386-efi/moddep.lst +usr/lib/grub/i386-efi/modinfo.sh +usr/lib/grub/i386-efi/msdospart.mod +usr/lib/grub/i386-efi/msdospart.module +usr/lib/grub/i386-efi/multiboot.mod +usr/lib/grub/i386-efi/multiboot.module +usr/lib/grub/i386-efi/multiboot2.mod +usr/lib/grub/i386-efi/multiboot2.module +usr/lib/grub/i386-efi/net.mod +usr/lib/grub/i386-efi/net.module +usr/lib/grub/i386-efi/newc.mod +usr/lib/grub/i386-efi/newc.module +usr/lib/grub/i386-efi/nilfs2.mod +usr/lib/grub/i386-efi/nilfs2.module +usr/lib/grub/i386-efi/normal.mod +usr/lib/grub/i386-efi/normal.module +usr/lib/grub/i386-efi/ntfs.mod +usr/lib/grub/i386-efi/ntfs.module +usr/lib/grub/i386-efi/ntfscomp.mod +usr/lib/grub/i386-efi/ntfscomp.module +usr/lib/grub/i386-efi/odc.mod +usr/lib/grub/i386-efi/odc.module +usr/lib/grub/i386-efi/ohci.mod +usr/lib/grub/i386-efi/ohci.module +usr/lib/grub/i386-efi/part_acorn.mod +usr/lib/grub/i386-efi/part_acorn.module +usr/lib/grub/i386-efi/part_amiga.mod +usr/lib/grub/i386-efi/part_amiga.module +usr/lib/grub/i386-efi/part_apple.mod +usr/lib/grub/i386-efi/part_apple.module +usr/lib/grub/i386-efi/part_bsd.mod +usr/lib/grub/i386-efi/part_bsd.module +usr/lib/grub/i386-efi/part_dvh.mod +usr/lib/grub/i386-efi/part_dvh.module +usr/lib/grub/i386-efi/part_gpt.mod +usr/lib/grub/i386-efi/part_gpt.module +usr/lib/grub/i386-efi/part_msdos.mod +usr/lib/grub/i386-efi/part_msdos.module +usr/lib/grub/i386-efi/part_plan.mod +usr/lib/grub/i386-efi/part_plan.module +usr/lib/grub/i386-efi/part_sun.mod +usr/lib/grub/i386-efi/part_sun.module +usr/lib/grub/i386-efi/part_sunpc.mod +usr/lib/grub/i386-efi/part_sunpc.module +usr/lib/grub/i386-efi/partmap.lst +usr/lib/grub/i386-efi/parttool.lst +usr/lib/grub/i386-efi/parttool.mod +usr/lib/grub/i386-efi/parttool.module +usr/lib/grub/i386-efi/password.mod +usr/lib/grub/i386-efi/password.module +usr/lib/grub/i386-efi/password_pbkdf2.mod +usr/lib/grub/i386-efi/password_pbkdf2.module +usr/lib/grub/i386-efi/pata.mod +usr/lib/grub/i386-efi/pata.module +usr/lib/grub/i386-efi/pbkdf2.mod +usr/lib/grub/i386-efi/pbkdf2.module +usr/lib/grub/i386-efi/play.mod +usr/lib/grub/i386-efi/play.module +usr/lib/grub/i386-efi/png.mod +usr/lib/grub/i386-efi/png.module +usr/lib/grub/i386-efi/priority_queue.mod +usr/lib/grub/i386-efi/priority_queue.module +usr/lib/grub/i386-efi/probe.mod +usr/lib/grub/i386-efi/probe.module +usr/lib/grub/i386-efi/raid5rec.mod +usr/lib/grub/i386-efi/raid5rec.module +usr/lib/grub/i386-efi/raid6rec.mod +usr/lib/grub/i386-efi/raid6rec.module +usr/lib/grub/i386-efi/read.mod +usr/lib/grub/i386-efi/read.module +usr/lib/grub/i386-efi/reboot.mod +usr/lib/grub/i386-efi/reboot.module +usr/lib/grub/i386-efi/regexp.mod +usr/lib/grub/i386-efi/regexp.module +usr/lib/grub/i386-efi/reiserfs.mod +usr/lib/grub/i386-efi/reiserfs.module +usr/lib/grub/i386-efi/relocator.mod +usr/lib/grub/i386-efi/relocator.module +usr/lib/grub/i386-efi/romfs.mod +usr/lib/grub/i386-efi/romfs.module +usr/lib/grub/i386-efi/scsi.mod +usr/lib/grub/i386-efi/scsi.module +usr/lib/grub/i386-efi/search.mod +usr/lib/grub/i386-efi/search.module +usr/lib/grub/i386-efi/search_fs_file.mod +usr/lib/grub/i386-efi/search_fs_file.module +usr/lib/grub/i386-efi/search_fs_uuid.mod +usr/lib/grub/i386-efi/search_fs_uuid.module +usr/lib/grub/i386-efi/search_label.mod +usr/lib/grub/i386-efi/search_label.module +usr/lib/grub/i386-efi/serial.mod +usr/lib/grub/i386-efi/serial.module +usr/lib/grub/i386-efi/setjmp.mod +usr/lib/grub/i386-efi/setjmp.module +usr/lib/grub/i386-efi/setpci.mod +usr/lib/grub/i386-efi/setpci.module +usr/lib/grub/i386-efi/sfs.mod +usr/lib/grub/i386-efi/sfs.module +usr/lib/grub/i386-efi/sleep.mod +usr/lib/grub/i386-efi/sleep.module +usr/lib/grub/i386-efi/squash4.mod +usr/lib/grub/i386-efi/squash4.module +usr/lib/grub/i386-efi/tar.mod +usr/lib/grub/i386-efi/tar.module +usr/lib/grub/i386-efi/terminal.lst +usr/lib/grub/i386-efi/terminal.mod +usr/lib/grub/i386-efi/terminal.module +usr/lib/grub/i386-efi/terminfo.mod +usr/lib/grub/i386-efi/terminfo.module +usr/lib/grub/i386-efi/test.mod +usr/lib/grub/i386-efi/test.module +usr/lib/grub/i386-efi/test_blockarg.mod +usr/lib/grub/i386-efi/test_blockarg.module +usr/lib/grub/i386-efi/testload.mod +usr/lib/grub/i386-efi/testload.module +usr/lib/grub/i386-efi/tftp.mod +usr/lib/grub/i386-efi/tftp.module +usr/lib/grub/i386-efi/tga.mod +usr/lib/grub/i386-efi/tga.module +usr/lib/grub/i386-efi/time.mod +usr/lib/grub/i386-efi/time.module +usr/lib/grub/i386-efi/trig.mod +usr/lib/grub/i386-efi/trig.module +usr/lib/grub/i386-efi/true.mod +usr/lib/grub/i386-efi/true.module +usr/lib/grub/i386-efi/udf.mod +usr/lib/grub/i386-efi/udf.module +usr/lib/grub/i386-efi/ufs1.mod +usr/lib/grub/i386-efi/ufs1.module +usr/lib/grub/i386-efi/ufs2.mod +usr/lib/grub/i386-efi/ufs2.module +usr/lib/grub/i386-efi/uhci.mod +usr/lib/grub/i386-efi/uhci.module +usr/lib/grub/i386-efi/usb.mod +usr/lib/grub/i386-efi/usb.module +usr/lib/grub/i386-efi/usb_keyboard.mod +usr/lib/grub/i386-efi/usb_keyboard.module +usr/lib/grub/i386-efi/usbms.mod +usr/lib/grub/i386-efi/usbms.module +usr/lib/grub/i386-efi/usbserial_common.mod +usr/lib/grub/i386-efi/usbserial_common.module +usr/lib/grub/i386-efi/usbserial_ftdi.mod +usr/lib/grub/i386-efi/usbserial_ftdi.module +usr/lib/grub/i386-efi/usbserial_pl2303.mod +usr/lib/grub/i386-efi/usbserial_pl2303.module +usr/lib/grub/i386-efi/usbtest.mod +usr/lib/grub/i386-efi/usbtest.module +usr/lib/grub/i386-efi/video.lst +usr/lib/grub/i386-efi/video.mod +usr/lib/grub/i386-efi/video.module +usr/lib/grub/i386-efi/video_bochs.mod +usr/lib/grub/i386-efi/video_bochs.module +usr/lib/grub/i386-efi/video_cirrus.mod +usr/lib/grub/i386-efi/video_cirrus.module +usr/lib/grub/i386-efi/video_fb.mod +usr/lib/grub/i386-efi/video_fb.module +usr/lib/grub/i386-efi/videoinfo.mod +usr/lib/grub/i386-efi/videoinfo.module +usr/lib/grub/i386-efi/videotest.mod +usr/lib/grub/i386-efi/videotest.module +usr/lib/grub/i386-efi/xfs.mod +usr/lib/grub/i386-efi/xfs.module +usr/lib/grub/i386-efi/xnu.mod +usr/lib/grub/i386-efi/xnu.module +usr/lib/grub/i386-efi/xnu_uuid.mod +usr/lib/grub/i386-efi/xnu_uuid.module +usr/lib/grub/i386-efi/xzio.mod +usr/lib/grub/i386-efi/xzio.module +usr/lib/grub/i386-efi/zfs.mod +usr/lib/grub/i386-efi/zfs.module +usr/lib/grub/i386-efi/zfscrypt.mod +usr/lib/grub/i386-efi/zfscrypt.module +usr/lib/grub/i386-efi/zfsinfo.mod +usr/lib/grub/i386-efi/zfsinfo.module +>>>>>>> Enhance the flash image to support EFI usr/lib/grub/i386-pc #usr/lib/grub/i386-pc/acpi.mod #usr/lib/grub/i386-pc/acpi.module @@ -598,7 +1026,7 @@ 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/grub-mkconfig_lib #usr/share/info/grub-dev.info #usr/share/info/grub.info diff --git a/lfs/flash-images b/lfs/flash-images index 40aca5377..9bf6384a1 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -29,8 +29,15 @@ VER = ipfire THISAPP = flash-image TARGET = $(DIR_INFO)/$(THISAPP) +ifeq "$(MACHINE)" "i586" + EFI = 1 +endif + 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 @@ -70,6 +77,15 @@ else PART_TYPE = L endif +GRUB_CFGS = /boot/grub/grub.cfg + +ifeq "$(EFI)" "1" + S_EFI = 204800 + GRUB_CFGS += /boot/efi/EFI/ipfire/grub-efi/grub.cfg +else + S_EFI = 0 +endif + # /boot: 128MB - OFFSET # / : 1200 MB S_BOOT := $(shell echo $$(( 262144 - $(S_OFFSET) ))) @@ -77,6 +93,17 @@ S_ROOT := 2477600 PADDING = 100 # MB +ifeq "$(EFI)" "1" + SFDISK_EFI = $(S_OFFSET),$(S_EFI),c,*\n + SFDISK = $(SFDISK_BOOT)$(SFDISK_EFI)$(SFDISK_ROOT) +else + SFDISK_SWAP = ,0,0\n + SFDISK = $(SFDISK_BOOT)$(SFDISK_SWAP)$(SFDISK_ROOT) +endif + +SFDISK_BOOT = $(shell echo $$(( $(S_OFFSET) + $(S_EFI) ))),$(S_BOOT),$(PART_TYPE)\n +SFDISK_ROOT = $(shell echo $$(( $(S_OFFSET) + $(S_EFI) + $(S_BOOT) ))),$(S_ROOT),L\n + $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) # Stop if $(MNThdd) is still mounted mountpoint $(MNThdd) && exit 1 || exit 0 @@ -84,13 +111,16 @@ $(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 "$(SFDISK)" | sfdisk -uS $(DEVICE) + + # Remove 2nd empty partition +ifneq "$(EFI)" "1" -echo -e "d\n2\nw\n\q\n" | fdisk $(DEVICE) +endif kpartx -v -a $(DEVICE) @@ -99,6 +129,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 +146,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 +177,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 @@ -155,14 +197,17 @@ ifeq "$(BOOTLOADER)" "grub" $(MNThdd)/etc/grub.d/ # Create configuration - mkdir -pv $(MNThdd)/boot/grub - chroot $(MNThdd) grub-mkconfig -o /boot/grub/grub.cfg + for i in $(GRUB_CFGS); do \ + mkdir -pv $$(dirname $(MNThdd)$(GRUB_CFG)); \ + chroot $(MNThdd) grub-mkconfig -o $$i || exit 1; \ + done # Boot the first kernel by default chroot $(MNThdd) grub-set-default 0 # Insert the UUID because grub-mkconfig often fails to # detect that correctly + sed -i $(addprefix $(MNThdd),$(GRUB_CFGS)) \ sed -i $(MNThdd)/boot/grub/grub.cfg \ -e "s/root=[A-Za-z0-9\/=-]*/root=UUID=$$(blkid -o value -s UUID $(PART_ROOT))/g" @@ -173,6 +218,12 @@ ifeq "$(BOOTLOADER)" "grub" # restore orginal defaults mv -f $(MNThdd)/etc/default/grub.backup $(MNThdd)/etc/default/grub rm -f $(MNThdd)/etc/grub.d/11_linux_scon + +ifeq "$(EFI)" "1" + mkdir -pv $(MNThdd)/boot/efi/EFI/boot + cp -vf $(MNThdd)/boot/efi/EFI/ipfire/grub-efi/grub.efi \ + $(MNThdd)/boot/efi/EFI/boot/bootia32.efi +endif endif # Set ramdisk mode to automatic @@ -185,6 +236,9 @@ endif umount $(MNThdd)/proc umount $(MNThdd)/sys umount $(MNThdd)/dev +ifeq "$(EFI)" "1" + umount $(MNThdd)/boot/efi +endif umount $(MNThdd)/boot umount $(MNThdd) diff --git a/lfs/grub b/lfs/grub index 514829613..0a6a22517 100644 --- a/lfs/grub +++ b/lfs/grub @@ -30,12 +30,23 @@ THISAPP = grub-$(VER) DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) +DIR_APP_EFI= $(DIR_APP)-efi TARGET = $(DIR_INFO)/$(THISAPP) SUP_ARCH = x86_64 i586 +EFI = 1 + CFLAGS = CXXFLAGS = +CONFIGURE_ARGS = \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-grubdir=grub \ + --disable-grub-mount \ + --disable-werror \ + --program-transform-name=s,grub,grub, + ############################################################################### # Top-level Rules ############################################################################### @@ -76,25 +87,39 @@ $(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.00_disable_vga_fallback.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.02_disable_vga_fallback.patch +ifeq "$(EFI)" "1" + cp -av $(DIR_APP) $(DIR_APP_EFI) + cd $(DIR_APP_EFI) && ./configure $(CONFIGURE_ARGS) --with-platform=efi + cd $(DIR_APP_EFI) && make $(MAKETUNING) - 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_EFI) && ./grub-mkimage \ + -O i386-efi \ + -p /EFI/ipfire/grub-efi \ + -o grub.efi \ + -d grub-core part_msdos part_gpt fat ext2 xfs normal chain \ + boot configfile linux jpeg minicmd loadbios png gzio loadenv \ + reboot halt serial search font gfxmenu gfxterm echo video all_video \ + usb minicmd +endif + + cd $(DIR_APP) && ./configure $(CONFIGURE_ARGS) --with-platform=pc cd $(DIR_APP) && make $(MAKETUNING) + +ifeq "$(EFI)" "1" + cd $(DIR_APP_EFI) && make install + + -mkdir -pv /boot/efi/EFI/ipfire/grub-efi + touch /boot/efi/EFI/ipfire/grub-efi/grub.cfg + install -m 755 $(DIR_APP_EFI)/grub.efi /boot/efi/EFI/ipfire/grub-efi/grub.efi +endif + cd $(DIR_APP) && make install -mkdir -pv /boot/grub touch /boot/grub/grub.cfg - ln -svf ../boot/grub/grub.cfg /etc/grub2.cfg install -m 644 $(DIR_SRC)/config/grub2/splash.png /boot/grub/splash.png -mkdir -pv /etc/default @@ -111,5 +136,5 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) --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_EFI) @$(POSTBUILD) From 7fbbd2aebc014bdd86e527b94418e8201c82ce42 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 19 Sep 2015 23:17:02 +0200 Subject: [PATCH 02/62] Enable EFI on x86_64 Signed-off-by: Michael Tremer --- config/rootfiles/common/x86_64/grub | 1436 ++++++++++++++++----------- lfs/flash-images | 14 +- lfs/grub | 8 +- 3 files changed, 897 insertions(+), 561 deletions(-) diff --git a/config/rootfiles/common/x86_64/grub b/config/rootfiles/common/x86_64/grub index 6cd8a4dca..2d9e9f0d8 100644 --- a/config/rootfiles/common/x86_64/grub +++ b/config/rootfiles/common/x86_64/grub @@ -1,3 +1,9 @@ +#boot/efi +#boot/efi/EFI +#boot/efi/EFI/ipfire +#boot/efi/EFI/ipfire/grub-efi +boot/efi/EFI/ipfire/grub-efi/grub.cfg +boot/efi/EFI/ipfire/grub-efi/grub.efi #boot/grub boot/grub/grub.cfg boot/grub/splash.png @@ -12,8 +18,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 +38,875 @@ 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/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/bsd.mod +usr/lib/grub/i386-pc/bsd.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/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/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/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/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/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/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/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/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_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_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/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/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/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/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/msdospart.mod +usr/lib/grub/i386-pc/msdospart.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/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/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_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/pci.mod +usr/lib/grub/i386-pc/pci.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/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/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/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/sleep.mod +usr/lib/grub/i386-pc/sleep.module +usr/lib/grub/i386-pc/squash4.mod +usr/lib/grub/i386-pc/squash4.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/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/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/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/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/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/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_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/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/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/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/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/chain.mod +usr/lib/grub/x86_64-efi/chain.module +usr/lib/grub/x86_64-efi/cmp.mod +usr/lib/grub/x86_64-efi/cmp.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/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/diskfilter.mod +usr/lib/grub/x86_64-efi/diskfilter.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/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/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/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_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_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/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/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/linux.mod +usr/lib/grub/x86_64-efi/linux.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/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/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/msdospart.mod +usr/lib/grub/x86_64-efi/msdospart.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/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/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_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/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/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/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/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/sleep.mod +usr/lib/grub/x86_64-efi/sleep.module +usr/lib/grub/x86_64-efi/squash4.mod +usr/lib/grub/x86_64-efi/squash4.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/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/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/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/usbtest.mod +usr/lib/grub/x86_64-efi/usbtest.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_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/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/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,7 +916,7 @@ 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/grub-mkconfig_lib #usr/share/info/grub-dev.info #usr/share/info/grub.info diff --git a/lfs/flash-images b/lfs/flash-images index 9bf6384a1..d3c8a7520 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -29,6 +29,10 @@ VER = ipfire THISAPP = flash-image TARGET = $(DIR_INFO)/$(THISAPP) +ifeq "$(MACHINE)" "x86_64" + EFI = 1 +endif + ifeq "$(MACHINE)" "i586" EFI = 1 endif @@ -91,6 +95,14 @@ endif S_BOOT := $(shell echo $$(( 262144 - $(S_OFFSET) ))) S_ROOT := 2477600 +ifeq "$(MACHINE)" "x86_64" + EFI_ARCH = x64 +endif + +ifeq "$(MACHINE)" "i586" + EFI_ARCH = ia32 +endif + PADDING = 100 # MB ifeq "$(EFI)" "1" @@ -222,7 +234,7 @@ ifeq "$(BOOTLOADER)" "grub" ifeq "$(EFI)" "1" mkdir -pv $(MNThdd)/boot/efi/EFI/boot cp -vf $(MNThdd)/boot/efi/EFI/ipfire/grub-efi/grub.efi \ - $(MNThdd)/boot/efi/EFI/boot/bootia32.efi + $(MNThdd)/boot/efi/EFI/boot/boot$(EFI_ARCH).efi endif endif diff --git a/lfs/grub b/lfs/grub index 0a6a22517..8f2436b41 100644 --- a/lfs/grub +++ b/lfs/grub @@ -36,6 +36,12 @@ SUP_ARCH = x86_64 i586 EFI = 1 +EFI_ARCH = $(MACHINE)-efi + +ifeq "$(MACHINE)" "i586" + EFI_ARCH = i386-efi +endif + CFLAGS = CXXFLAGS = @@ -96,7 +102,7 @@ ifeq "$(EFI)" "1" cd $(DIR_APP_EFI) && make $(MAKETUNING) cd $(DIR_APP_EFI) && ./grub-mkimage \ - -O i386-efi \ + -O $(EFI_ARCH) \ -p /EFI/ipfire/grub-efi \ -o grub.efi \ -d grub-core part_msdos part_gpt fat ext2 xfs normal chain \ From 0268380764dc5cc33541643e603b32ce513ab963 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 3 Oct 2015 20:25:34 +0200 Subject: [PATCH 03/62] ipfire-netboot: Ship EFI image Signed-off-by: Michael Tremer --- config/rootfiles/common/x86_64/ipfire-netboot | 1 + lfs/ipfire-netboot | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/config/rootfiles/common/x86_64/ipfire-netboot b/config/rootfiles/common/x86_64/ipfire-netboot index b73261feb..33ec55504 100644 --- a/config/rootfiles/common/x86_64/ipfire-netboot +++ b/config/rootfiles/common/x86_64/ipfire-netboot @@ -1,2 +1,3 @@ #usr/share/ipfire-netboot +#usr/share/ipfire-netboot/ipxe.efi #usr/share/ipfire-netboot/ipxe.lkrn diff --git a/lfs/ipfire-netboot b/lfs/ipfire-netboot index a2607cdef..6bcfa0566 100644 --- a/lfs/ipfire-netboot +++ b/lfs/ipfire-netboot @@ -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 "$(MACHINE)" "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 "$(MACHINE)" "x86_64" + cd $(DIR_APP) && install -m 644 bin-x86_64-efi/ipxe.efi \ + /usr/share/ipfire-netboot +endif @rm -rf $(DIR_APP) @$(POSTBUILD) From 8a9605840cbfc095b94320d21f14b211e81c3af9 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 3 Oct 2015 21:32:12 +0200 Subject: [PATCH 04/62] Remove dvdrtools for cdrkit Signed-off-by: Michael Tremer --- config/rootfiles/common/cdrkit | 46 ++ config/rootfiles/common/dvdrtools | 15 - lfs/{dvdrtools => cdrkit} | 46 +- make.sh | 2 +- .../cdrkit/cdrkit-1.1.10-build-fix.patch | 11 + .../cdrkit/cdrkit-1.1.11-cmakewarn.patch | 9 + .../cdrkit/cdrkit-1.1.11-devname.patch | 30 + src/patches/cdrkit/cdrkit-1.1.11-dvdman.patch | 70 +++ src/patches/cdrkit/cdrkit-1.1.11-format.patch | 129 ++++ .../cdrkit/cdrkit-1.1.11-handler.patch | 12 + .../cdrkit/cdrkit-1.1.11-manpagefix.patch | 191 ++++++ src/patches/cdrkit/cdrkit-1.1.11-memset.patch | 37 ++ .../cdrkit/cdrkit-1.1.11-paranoiacdda.patch | 556 ++++++++++++++++++ .../cdrkit-1.1.11-ppc64le_elfheader.patch | 13 + .../cdrkit/cdrkit-1.1.11-readsegfault.patch | 12 + .../cdrkit/cdrkit-1.1.11-rootstat.patch | 31 + .../cdrkit/cdrkit-1.1.11-usalinst.patch | 33 ++ src/patches/cdrkit/cdrkit-1.1.11-utf8.patch | 104 ++++ .../cdrkit/cdrkit-1.1.11-werror_gcc5.patch | 22 + src/patches/cdrkit/cdrkit-1.1.8-werror.patch | 206 +++++++ .../cdrkit/cdrkit-1.1.9-buffer_overflow.patch | 66 +++ .../cdrkit/cdrkit-1.1.9-efi-boot.patch | 204 +++++++ src/patches/cdrkit/cdrkit-1.1.9-no_mp3.patch | 50 ++ 23 files changed, 1871 insertions(+), 24 deletions(-) create mode 100644 config/rootfiles/common/cdrkit delete mode 100644 config/rootfiles/common/dvdrtools rename lfs/{dvdrtools => cdrkit} (56%) create mode 100644 src/patches/cdrkit/cdrkit-1.1.10-build-fix.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-cmakewarn.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-devname.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-dvdman.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-format.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-handler.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-manpagefix.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-memset.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-paranoiacdda.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-ppc64le_elfheader.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-readsegfault.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-rootstat.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-usalinst.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-utf8.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.11-werror_gcc5.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.8-werror.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.9-buffer_overflow.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.9-efi-boot.patch create mode 100644 src/patches/cdrkit/cdrkit-1.1.9-no_mp3.patch diff --git a/config/rootfiles/common/cdrkit b/config/rootfiles/common/cdrkit new file mode 100644 index 000000000..299753cd0 --- /dev/null +++ b/config/rootfiles/common/cdrkit @@ -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 index 61fb046d7..000000000 --- a/config/rootfiles/common/dvdrtools +++ /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 diff --git a/lfs/dvdrtools b/lfs/cdrkit similarity index 56% rename from lfs/dvdrtools rename to lfs/cdrkit index a093172eb..24b5365aa 100644 --- a/lfs/dvdrtools +++ b/lfs/cdrkit @@ -24,9 +24,9 @@ include Config -VER = 0.2.1 +VER = 1.1.11 -THISAPP = dvdrtools-$(VER) +THISAPP = cdrkit-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = e82d359137e716e8c0b04d5c73bd3e79 +$(DL_FILE)_MD5 = efe08e2f3ca478486037b053acd512e9 install : $(TARGET) @@ -70,10 +70,40 @@ $(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) - cd $(DIR_APP) && make install + 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) diff --git a/make.sh b/make.sh index 47e1420d8..001e794a9 100755 --- a/make.sh +++ b/make.sh @@ -1206,7 +1206,7 @@ buildipfire() { lfsmake2 bootstrap lfsmake2 arping lfsmake2 beep - lfsmake2 dvdrtools + lfsmake2 cdrkit lfsmake2 dosfstools lfsmake2 reiserfsprogs lfsmake2 xfsprogs 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 index 000000000..75c4db2f5 --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.10-build-fix.patch @@ -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 + #include "genisoimage.h" ++#include "checksum.h" + #include "iso9660.h" + #include + #include 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 index 000000000..a171e394e --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-cmakewarn.patch @@ -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 index 000000000..93e32d63e --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-devname.patch @@ -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 index 000000000..471a7a96c --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-dvdman.patch @@ -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 index 000000000..983ed2326 --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-format.patch @@ -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 index 000000000..5b3fa6a8b --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-handler.patch @@ -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 index 000000000..26b5175d7 --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-manpagefix.patch @@ -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 index 000000000..660915908 --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-memset.patch @@ -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 index 000000000..062971ddd --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-paranoiacdda.patch @@ -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 ++#include + #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 ++#include ++#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, " \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 index 000000000..0542b4e1f --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-ppc64le_elfheader.patch @@ -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 index 000000000..a3a130585 --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-readsegfault.patch @@ -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 index 000000000..d9ceb3b1a --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-rootstat.patch @@ -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 + #include + #include ++#include + + 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 index 000000000..de8dbbfab --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-usalinst.patch @@ -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 index 000000000..511850933 --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-utf8.patch @@ -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 + * 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 + * 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 + * 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 +@@ -1074,7 +1074,7 @@ Mon Jan 12 00:33:39 2004 Joerg Schilling + + Sun Jan 11 18:42:14 2004 Joerg Schilling + * 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 + * 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 + * 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 + + + +-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 ++Jörg Schilling + + -------------------------------------------------- + Here is a hint from Alan Brown : +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 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 index 000000000..f98bd362b --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.11-werror_gcc5.patch @@ -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 index 000000000..c5189ed5a --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.8-werror.patch @@ -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 index 000000000..b93d8d217 --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.9-buffer_overflow.patch @@ -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 index 000000000..45f910b03 --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.9-efi-boot.patch @@ -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(§ion_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, §ion_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 + #include "genisoimage.h" ++#include "iso9660.h" + #include + #include + #include +@@ -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 index 000000000..6948e4efa --- /dev/null +++ b/src/patches/cdrkit/cdrkit-1.1.9-no_mp3.patch @@ -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 + command and encode them using the + .B ogg123 +-respective +-.I +-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 From df261337933e0532cd7c88658f11070771fa18f7 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 16 Oct 2015 23:52:09 +0200 Subject: [PATCH 05/62] syslinux: Update to 6.03 Signed-off-by: Michael Tremer --- config/rootfiles/common/x86_64/syslinux | 133 ++++++++++++++++++++++-- lfs/syslinux | 21 +++- 2 files changed, 140 insertions(+), 14 deletions(-) diff --git a/config/rootfiles/common/x86_64/syslinux b/config/rootfiles/common/x86_64/syslinux index 89cf5c844..a41049f21 100644 --- a/config/rootfiles/common/x86_64/syslinux +++ b/config/rootfiles/common/x86_64/syslinux @@ -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,7 +39,21 @@ 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 @@ -101,6 +118,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 +128,25 @@ 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/setjmp.h +#usr/share/syslinux/com32/include/sort.h #usr/share/syslinux/com32/include/stdarg.h #usr/share/syslinux/com32/include/stdbool.h #usr/share/syslinux/com32/include/stddef.h @@ -134,14 +162,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 +188,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,6 +203,8 @@ 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 @@ -172,24 +213,88 @@ usr/bin/isohybrid #usr/share/syslinux/com32/include/unistd.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/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/disk.c32 +#usr/share/syslinux/efi64/dmi.c32 +#usr/share/syslinux/efi64/dmitest.c32 +#usr/share/syslinux/efi64/elf.c32 +#usr/share/syslinux/efi64/ethersel.c32 +#usr/share/syslinux/efi64/gfxboot.c32 +#usr/share/syslinux/efi64/gpxecmd.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/ifmemdsk.c32 +#usr/share/syslinux/efi64/ifplop.c32 +#usr/share/syslinux/efi64/kbdmap.c32 +#usr/share/syslinux/efi64/kontron_wdt.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/pcitest.c32 +#usr/share/syslinux/efi64/pmload.c32 +#usr/share/syslinux/efi64/poweroff.c32 +#usr/share/syslinux/efi64/prdhcp.c32 +#usr/share/syslinux/efi64/pwd.c32 +#usr/share/syslinux/efi64/pxechn.c32 +#usr/share/syslinux/efi64/reboot.c32 +#usr/share/syslinux/efi64/rosh.c32 +#usr/share/syslinux/efi64/sanboot.c32 +#usr/share/syslinux/efi64/sdi.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/vesainfo.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 @@ -200,12 +305,12 @@ usr/bin/isohybrid #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 +321,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 +337,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 +352,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 diff --git a/lfs/syslinux b/lfs/syslinux index 00a8415d0..c67df3dcb 100644 --- a/lfs/syslinux +++ b/lfs/syslinux @@ -24,7 +24,7 @@ include Config -VER = 4.06 +VER = 6.03 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 = 92a253df9211e9c20172796ecf388f13 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 "$(MACHINE)" "x86_64" + cd $(DIR_APP) && make efi64 $(MAKETUNING) +endif + + # Install + cd $(DIR_APP) && make bios install +ifeq "$(MACHINE)" "x86_64" + cd $(DIR_APP) && make efi64 install +endif + @rm -rf $(DIR_APP) @$(POSTBUILD) From 72d40cfddde09c4db8249ab7dec74e12c0664a6c Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 16 Oct 2015 23:56:45 +0200 Subject: [PATCH 06/62] Config: Have a simple configuration variable that enables EFI Signed-off-by: Michael Tremer --- lfs/Config | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lfs/Config b/lfs/Config index 82bdde066..f14767f88 100644 --- a/lfs/Config +++ b/lfs/Config @@ -79,6 +79,11 @@ 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 +ifeq "$(MACHINE)" "x86_64" + EFI = 1 +endif + ############################################################################### # Common Macro Definitions ############################################################################### From 5f52a95646b6e2f9aa13cd8b38ed1b22484470f7 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 16 Oct 2015 23:57:18 +0200 Subject: [PATCH 07/62] cdrom: Build EFI-enabled ISO image Signed-off-by: Michael Tremer --- lfs/cdrom | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/lfs/cdrom b/lfs/cdrom index 6382034b5..91d9c9b5a 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -29,6 +29,27 @@ VER = ipfire THISAPP = cdrom TARGET = $(DIR_INFO)/$(THISAPP) +ifeq "$(MACHINE_TYPE)" "arm" + TAR_OPTIONS = +else + TAR_OPTIONS = --lzma +endif + +ISO_ARGS = -J -r -v \ + -A "$(NAME) $(VERSION)" \ + -V "$(NAME)_$(VERSION)" \ + -no-emul-boot \ + -boot-load-size 4 \ + -boot-info-table \ + -b boot/isolinux/isolinux.bin \ + -c boot/isolinux/boot.catalog + +ifeq "$(EFI)" "1" + ISO_ARGS += \ + -eltorito-alt-boot \ + -e boot/isolinux/efiboot.img +endif + ############################################################################### # Top-level Rules ############################################################################### @@ -89,6 +110,12 @@ ifneq "$(BUILD_PLATFORM)" "arm" 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 +ifeq "$(EFI)" "1" + 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 + + # XXX Some bootloader needs to be put in this image +endif cp /usr/share/hwdata/pci.ids /install/cdrom/boot/isolinux/pci.ids cp -vf /usr/share/syslinux/*.c32 /install/cdrom/boot/isolinux/ sed -e "s/VERSION/$(VERSION) - Core $(CORE)/g" \ @@ -103,8 +130,12 @@ 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 + cd /install/cdrom && mkisofs $(ISO_ARGS) \ + -o /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso . + +ifeq "$(EFI)" "1" + isohybrid --uefi /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso +else isohybrid /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso endif +endif From 7b4323c66ee5e639c841cced6503544c520374e9 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 29 May 2018 20:14:59 +0100 Subject: [PATCH 08/62] cdrom: Simplify commands that author the ISO image Signed-off-by: Michael Tremer --- lfs/cdrom | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/lfs/cdrom b/lfs/cdrom index 91d9c9b5a..731382abf 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -44,10 +44,19 @@ ISO_ARGS = -J -r -v \ -b boot/isolinux/isolinux.bin \ -c boot/isolinux/boot.catalog +# Only build a stub ISO for ARM +ifeq "$(BUILD_PLATFORM)" "arm" + ISO_ARGS = -J -r -V "$(NAME)_$(VERSION)" +end + +ISOHYBRID_ARGS = + ifeq "$(EFI)" "1" ISO_ARGS += \ -eltorito-alt-boot \ -e boot/isolinux/efiboot.img + + ISOHYBRID_ARGS += --uefi endif ############################################################################### @@ -126,16 +135,7 @@ endif 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 $(ISO_ARGS) \ -o /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso . -ifeq "$(EFI)" "1" - isohybrid --uefi /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso -else - isohybrid /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso -endif -endif + isohybrid $(ISOHYBRID_ARGS) /install/images/$(SNAME)-$(VERSION).$(BUILD_ARCH)-full-core$(CORE).iso From ba3cbb0cfbf41c05185caa1f42b985738ff218bc Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 30 May 2018 15:23:57 +0100 Subject: [PATCH 09/62] Adjust variables that have been renamed Signed-off-by: Michael Tremer --- lfs/Config | 2 +- lfs/cdrom | 2 +- lfs/flash-images | 12 ++---------- lfs/ipfire-netboot | 4 ++-- lfs/syslinux | 4 ++-- 5 files changed, 8 insertions(+), 16 deletions(-) diff --git a/lfs/Config b/lfs/Config index f14767f88..8db321570 100644 --- a/lfs/Config +++ b/lfs/Config @@ -80,7 +80,7 @@ DIR_TMP = /tmp CCACHE_COMPILERCHECK += $(shell gcc -dumpspecs 2>/dev/null | md5sum | cut -d ' ' -f1) # We support EFI on x86_64 -ifeq "$(MACHINE)" "x86_64" +ifeq "$(BUILD_ARCH)" "x86_64" EFI = 1 endif diff --git a/lfs/cdrom b/lfs/cdrom index 731382abf..460b83033 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -29,7 +29,7 @@ VER = ipfire THISAPP = cdrom TARGET = $(DIR_INFO)/$(THISAPP) -ifeq "$(MACHINE_TYPE)" "arm" +ifeq "$(BUILD_PLATFORM)" "arm" TAR_OPTIONS = else TAR_OPTIONS = --lzma diff --git a/lfs/flash-images b/lfs/flash-images index d3c8a7520..44e92e8c0 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -29,14 +29,6 @@ VER = ipfire THISAPP = flash-image TARGET = $(DIR_INFO)/$(THISAPP) -ifeq "$(MACHINE)" "x86_64" - EFI = 1 -endif - -ifeq "$(MACHINE)" "i586" - EFI = 1 -endif - DEVICE = $(shell losetup -f) PART_BOOT = /dev/mapper/$(patsubst /dev/%,%,$(DEVICE))p1 ifeq "$(EFI)" "1" @@ -95,11 +87,11 @@ endif S_BOOT := $(shell echo $$(( 262144 - $(S_OFFSET) ))) S_ROOT := 2477600 -ifeq "$(MACHINE)" "x86_64" +ifeq "$(BUILD_ARCH)" "x86_64" EFI_ARCH = x64 endif -ifeq "$(MACHINE)" "i586" +ifeq "$(BUILD_ARCH)" "i586" EFI_ARCH = ia32 endif diff --git a/lfs/ipfire-netboot b/lfs/ipfire-netboot index 6bcfa0566..759f3725a 100644 --- a/lfs/ipfire-netboot +++ b/lfs/ipfire-netboot @@ -79,14 +79,14 @@ $(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 "$(MACHINE)" "x86_64" +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 "$(MACHINE)" "x86_64" +ifeq "$(BUILD_ARCH)" "x86_64" cd $(DIR_APP) && install -m 644 bin-x86_64-efi/ipxe.efi \ /usr/share/ipfire-netboot endif diff --git a/lfs/syslinux b/lfs/syslinux index c67df3dcb..6b66e6946 100644 --- a/lfs/syslinux +++ b/lfs/syslinux @@ -77,13 +77,13 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) # Build cd $(DIR_APP) && make bios $(MAKETUNING) -ifeq "$(MACHINE)" "x86_64" +ifeq "$(BUILD_ARCH)" "x86_64" cd $(DIR_APP) && make efi64 $(MAKETUNING) endif # Install cd $(DIR_APP) && make bios install -ifeq "$(MACHINE)" "x86_64" +ifeq "$(BUILD_ARCH)" "x86_64" cd $(DIR_APP) && make efi64 install endif From 308af080f665e7a43d6ad5aeae8383a7dc34bb0e Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 30 May 2018 15:43:30 +0100 Subject: [PATCH 10/62] grub: Build new version in EFI mode Signed-off-by: Michael Tremer --- config/rootfiles/common/x86_64/grub | 219 +++++++++++++++++++++++++++- lfs/grub | 71 ++++----- 2 files changed, 246 insertions(+), 44 deletions(-) diff --git a/config/rootfiles/common/x86_64/grub b/config/rootfiles/common/x86_64/grub index 2d9e9f0d8..4229be4a5 100644 --- a/config/rootfiles/common/x86_64/grub +++ b/config/rootfiles/common/x86_64/grub @@ -3,11 +3,9 @@ #boot/efi/EFI/ipfire #boot/efi/EFI/ipfire/grub-efi boot/efi/EFI/ipfire/grub-efi/grub.cfg -boot/efi/EFI/ipfire/grub-efi/grub.efi #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 @@ -52,6 +50,8 @@ 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 @@ -72,22 +72,42 @@ 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 @@ -107,16 +127,24 @@ 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 @@ -131,6 +159,8 @@ 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 @@ -141,6 +171,8 @@ 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 @@ -162,6 +194,10 @@ 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 @@ -172,6 +208,8 @@ 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 @@ -199,6 +237,10 @@ 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 @@ -220,6 +262,8 @@ 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 @@ -238,6 +282,8 @@ 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 @@ -268,6 +314,12 @@ 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 @@ -296,12 +348,20 @@ 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 @@ -318,6 +378,8 @@ 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 @@ -328,6 +390,8 @@ 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 @@ -352,8 +416,12 @@ 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 @@ -364,6 +432,10 @@ 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 @@ -374,6 +446,8 @@ 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 @@ -402,14 +476,26 @@ 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 @@ -423,20 +509,28 @@ 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 @@ -453,10 +547,14 @@ 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 @@ -468,18 +566,24 @@ 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 @@ -505,6 +609,8 @@ 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 @@ -523,16 +629,32 @@ 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 @@ -552,14 +674,22 @@ 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 @@ -568,12 +698,16 @@ 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 @@ -584,6 +718,8 @@ 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 @@ -605,6 +741,10 @@ 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 @@ -615,6 +755,8 @@ 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 @@ -640,6 +782,10 @@ 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 @@ -661,6 +807,8 @@ 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 @@ -679,8 +827,14 @@ 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 @@ -691,6 +845,8 @@ 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 @@ -707,6 +863,10 @@ 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 @@ -735,12 +895,20 @@ 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 @@ -755,6 +923,8 @@ 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 @@ -765,6 +935,8 @@ 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 @@ -789,6 +961,10 @@ 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 @@ -797,10 +973,16 @@ 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 @@ -827,14 +1009,26 @@ 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 @@ -848,12 +1042,16 @@ 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 @@ -862,6 +1060,8 @@ 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 @@ -878,8 +1078,12 @@ 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 @@ -887,18 +1091,24 @@ 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 @@ -917,7 +1127,12 @@ 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 diff --git a/lfs/grub b/lfs/grub index 8f2436b41..c4391c112 100644 --- a/lfs/grub +++ b/lfs/grub @@ -30,28 +30,24 @@ THISAPP = grub-$(VER) DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) -DIR_APP_EFI= $(DIR_APP)-efi TARGET = $(DIR_INFO)/$(THISAPP) SUP_ARCH = x86_64 i586 -EFI = 1 +# Build for which platforms? +BUILD_PC = 1 +BUILD_EFI = $(EFI) -EFI_ARCH = $(MACHINE)-efi +DIR_APP_PC = $(DIR_APP)-pc +DIR_APP_EFI = $(DIR_APP)-efi -ifeq "$(MACHINE)" "i586" - EFI_ARCH = i386-efi -endif - -CFLAGS = -CXXFLAGS = +# Don't use our CFLAGS for boot code +export HOST_CFLAGS = $(CFLAGS) +export HOST_LDFLAGS = $(LDFLAGS) CONFIGURE_ARGS = \ --prefix=/usr \ --sysconfdir=/etc \ - --with-grubdir=grub \ - --disable-grub-mount \ - --disable-werror \ - --program-transform-name=s,grub,grub, + --disable-werror ############################################################################### # Top-level Rules @@ -94,40 +90,38 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @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.00_disable_vga_fallback.patch -ifeq "$(EFI)" "1" - cp -av $(DIR_APP) $(DIR_APP_EFI) - cd $(DIR_APP_EFI) && ./configure $(CONFIGURE_ARGS) --with-platform=efi + # 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) && ./grub-mkimage \ - -O $(EFI_ARCH) \ - -p /EFI/ipfire/grub-efi \ - -o grub.efi \ - -d grub-core part_msdos part_gpt fat ext2 xfs normal chain \ - boot configfile linux jpeg minicmd loadbios png gzio loadenv \ - reboot halt serial search font gfxmenu gfxterm echo video all_video \ - usb minicmd -endif - - cd $(DIR_APP) && ./configure $(CONFIGURE_ARGS) --with-platform=pc - cd $(DIR_APP) && make $(MAKETUNING) - -ifeq "$(EFI)" "1" cd $(DIR_APP_EFI) && make install + # Install empty configuration file -mkdir -pv /boot/efi/EFI/ipfire/grub-efi touch /boot/efi/EFI/ipfire/grub-efi/grub.cfg - install -m 755 $(DIR_APP_EFI)/grub.efi /boot/efi/EFI/ipfire/grub-efi/grub.efi endif - cd $(DIR_APP) && make install +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 +endif + + # Install background image 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 @@ -135,12 +129,5 @@ endif 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) $(DIR_APP_EFI) + @rm -rf $(DIR_APP) $(DIR_APP_PC) $(DIR_APP_EFI) @$(POSTBUILD) From 78dd680dfa04b6197488d18c3badbe4fe15c711c Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 31 May 2018 11:00:43 +0100 Subject: [PATCH 11/62] make.sh: cdrkit required cmake to build Signed-off-by: Michael Tremer --- make.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/make.sh b/make.sh index 001e794a9..99fadfdfa 100755 --- a/make.sh +++ b/make.sh @@ -1206,6 +1206,8 @@ buildipfire() { lfsmake2 bootstrap lfsmake2 arping lfsmake2 beep + lfsmake2 libarchive + lfsmake2 cmake lfsmake2 cdrkit lfsmake2 dosfstools lfsmake2 reiserfsprogs @@ -1347,8 +1349,6 @@ buildipfire() { lfsmake2 libshout lfsmake2 xvid lfsmake2 libmpeg2 - lfsmake2 libarchive - lfsmake2 cmake lfsmake2 gnump3d lfsmake2 rsync lfsmake2 libtirpc From b661333e3a4359c4dcf7cf68a7537fe84ecdee34 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 31 May 2018 11:01:08 +0100 Subject: [PATCH 12/62] syslinux: FTBFS with newer ld Signed-off-by: Michael Tremer --- lfs/syslinux | 1 + ...syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch | 14 ++++++++++++++ 2 files changed, 15 insertions(+) create mode 100644 src/patches/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch diff --git a/lfs/syslinux b/lfs/syslinux index 6b66e6946..1736d3c68 100644 --- a/lfs/syslinux +++ b/lfs/syslinux @@ -74,6 +74,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/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch # Build cd $(DIR_APP) && make bios $(MAKETUNING) diff --git a/src/patches/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch b/src/patches/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch new file mode 100644 index 000000000..091189d7b --- /dev/null +++ b/src/patches/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch @@ -0,0 +1,14 @@ +Fix for https://bugs.debian.org/846679 : syslinux: FTBFS: ld: +ldlinux.elf: Not enough room for program headers, try linking with -N + +--- a/core/Makefile 2017-01-28 18:33:22.750959519 +0000 ++++ b/core/Makefile 2017-01-28 18:27:47.387981830 +0000 +@@ -165,7 +165,7 @@ + + %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS) + $(LD) $(LDFLAGS) -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T $(LDSCRIPT) -M -o $@ $< \ +- --start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group \ ++ --start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group --no-dynamic-linker \ + > $(@:.elf=.map) + $(OBJDUMP) -h $@ > $(@:.elf=.sec) + $(PERL) $(SRC)/lstadjust.pl $(@:.elf=.lsr) $(@:.elf=.sec) $(@:.elf=.lst) From f4330e19b18589a75422d4d1bb34db4b95d02375 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 31 May 2018 12:46:01 +0100 Subject: [PATCH 13/62] Fix syntax error in lfs/cdrom Signed-off-by: Michael Tremer --- lfs/cdrom | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lfs/cdrom b/lfs/cdrom index 460b83033..3b6d0d390 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -47,7 +47,7 @@ ISO_ARGS = -J -r -v \ # Only build a stub ISO for ARM ifeq "$(BUILD_PLATFORM)" "arm" ISO_ARGS = -J -r -V "$(NAME)_$(VERSION)" -end +endif ISOHYBRID_ARGS = From 5f387a1b8630c73cd0d573961356f579fd5520e4 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 31 May 2018 13:46:56 +0100 Subject: [PATCH 14/62] cdrom: Install GRUB into EFI image This will start GRUB on EFI systems when booting from CD Signed-off-by: Michael Tremer --- config/cdrom/grub-efi.cfg | 2 ++ lfs/Config | 55 +++++++++++++++++++++++++++++++++++++++ lfs/cdrom | 24 ++++++++++++++++- 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 config/cdrom/grub-efi.cfg diff --git a/config/cdrom/grub-efi.cfg b/config/cdrom/grub-efi.cfg new file mode 100644 index 000000000..6dd9511c4 --- /dev/null +++ b/config/cdrom/grub-efi.cfg @@ -0,0 +1,2 @@ +search --file --no-floppy --set=root /EFI/BOOT/grub.cfg +set prefix=($root)/EFI/BOOT/ diff --git a/lfs/Config b/lfs/Config index 8db321570..d21623cb6 100644 --- a/lfs/Config +++ b/lfs/Config @@ -82,8 +82,63 @@ CCACHE_COMPILERCHECK += $(shell gcc -dumpspecs 2>/dev/null | md5sum | cut -d ' ' # We support EFI on x86_64 ifeq "$(BUILD_ARCH)" "x86_64" EFI = 1 + EFI_ARCH = x64 endif +# Basic modules +GRUB_EFI_MODULES = \ + configfile \ + efi_gop \ + efi_uga \ + gzio \ + linux \ + loadbios \ + loadenv \ + normal \ + regexp + +# Stuff for accessing file systems +GRUB_EFI_MODULES += \ + ahci \ + ext2 \ + fat \ + iso9660 \ + part_gpt \ + part_msdos \ + udf + +# Graphics & IO +GRUB_EFI_MODULES += \ + all_video \ + at_keyboard \ + bitmap_scale \ + font \ + gfxmenu \ + gfxterm \ + jpeg \ + png \ + tga \ + usb_keyboard + +# Commands +GRUB_EFI_MODULES += \ + boot \ + cat \ + chain \ + echo \ + halt \ + help \ + ls \ + minicmd \ + probe \ + reboot \ + search \ + search_fs_file \ + search_fs_uuid \ + search_label \ + test \ + true + ############################################################################### # Common Macro Definitions ############################################################################### diff --git a/lfs/cdrom b/lfs/cdrom index 3b6d0d390..d21f69c7d 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -119,12 +119,34 @@ ifneq "$(BUILD_PLATFORM)" "arm" 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 + ifeq "$(EFI)" "1" + # 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 - # XXX Some bootloader needs to be put in this image + # Build a GRUB EFI image + grub-mkimage \ + --format=$(BUILD_ARCH)-efi \ + --output=/tmp/boot$(EFI_ARCH).efi \ + --config=$(DIR_SRC)/config/cdrom/grub-efi.cfg \ + --compression=xz \ + --prefix=/EFI/BOOT \ + $(GRUB_EFI_MODULES) + + # 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 /tmp/boot$(EFI_ARCH).efi /install/efiboot.img/EFI/BOOT/boot$(EFI_ARCH).efi + + # Cleanup + umount /install/efiboot.img + rm -rf /install/efiboot.img /tmp/boot$(EFI_ARCH).efi endif + cp /usr/share/hwdata/pci.ids /install/cdrom/boot/isolinux/pci.ids cp -vf /usr/share/syslinux/*.c32 /install/cdrom/boot/isolinux/ sed -e "s/VERSION/$(VERSION) - Core $(CORE)/g" \ From 582aba05344e161a2ecbed81eef19005a80289ed Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 31 May 2018 13:47:47 +0100 Subject: [PATCH 15/62] Enable EFI on aarch64 Signed-off-by: Michael Tremer --- lfs/Config | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lfs/Config b/lfs/Config index d21623cb6..bb2939078 100644 --- a/lfs/Config +++ b/lfs/Config @@ -79,12 +79,17 @@ 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 +# We support EFI on x86_64 and aarch64 ifeq "$(BUILD_ARCH)" "x86_64" EFI = 1 EFI_ARCH = x64 endif +ifeq "$(BUILD_ARCH)" "aarch64" + EFI = 1 + EFI_ARCH = aa64 +endif + # Basic modules GRUB_EFI_MODULES = \ configfile \ From 5765b49bff0c3bcd60d1624c1bb159ce47085183 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 31 May 2018 14:57:12 +0100 Subject: [PATCH 16/62] cdrom: Add grub.cfg that allows to install IPFire Signed-off-by: Michael Tremer --- config/cdrom/grub-efi.cfg | 4 ++-- config/cdrom/grub.cfg | 34 ++++++++++++++++++++++++++++++++++ lfs/cdrom | 19 ++++++++++++++----- 3 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 config/cdrom/grub.cfg diff --git a/config/cdrom/grub-efi.cfg b/config/cdrom/grub-efi.cfg index 6dd9511c4..8ce7150f9 100644 --- a/config/cdrom/grub-efi.cfg +++ b/config/cdrom/grub-efi.cfg @@ -1,2 +1,2 @@ -search --file --no-floppy --set=root /EFI/BOOT/grub.cfg -set prefix=($root)/EFI/BOOT/ +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 index 000000000..f2c2a3bb2 --- /dev/null +++ b/config/cdrom/grub.cfg @@ -0,0 +1,34 @@ +set default="1" + +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 + } +} diff --git a/lfs/cdrom b/lfs/cdrom index d21f69c7d..08cbcb772 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -36,8 +36,8 @@ else endif ISO_ARGS = -J -r -v \ - -A "$(NAME) $(VERSION)" \ - -V "$(NAME)_$(VERSION)" \ + -A "$(NAME) $(VERSION) $(BUILD_ARCH)" \ + -V "$(NAME) $(VERSION) $(BUILD_ARCH)" \ -no-emul-boot \ -boot-load-size 4 \ -boot-info-table \ @@ -46,7 +46,7 @@ ISO_ARGS = -J -r -v \ # Only build a stub ISO for ARM ifeq "$(BUILD_PLATFORM)" "arm" - ISO_ARGS = -J -r -V "$(NAME)_$(VERSION)" + ISO_ARGS = -J -r -V "$(NAME) $(VERSION) $(BUILD_ARCH)" endif ISOHYBRID_ARGS = @@ -125,11 +125,15 @@ ifeq "$(EFI)" "1" 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 + # 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 grub-mkimage \ --format=$(BUILD_ARCH)-efi \ --output=/tmp/boot$(EFI_ARCH).efi \ - --config=$(DIR_SRC)/config/cdrom/grub-efi.cfg \ + --config=/tmp/grub-efi.cfg \ --compression=xz \ --prefix=/EFI/BOOT \ $(GRUB_EFI_MODULES) @@ -144,7 +148,12 @@ ifeq "$(EFI)" "1" # Cleanup umount /install/efiboot.img - rm -rf /install/efiboot.img /tmp/boot$(EFI_ARCH).efi + rm -rf /install/efiboot.img /tmp/boot$(EFI_ARCH).efi /tmp/grub-efi.cfg + + # 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 endif cp /usr/share/hwdata/pci.ids /install/cdrom/boot/isolinux/pci.ids From 6b44fee76f2f086b8ac5378e1fdcf1fc000b70e6 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 31 May 2018 15:08:53 +0100 Subject: [PATCH 17/62] cdrom: Keep the EFI image on the ISO9660 file system as well This allows systems to boot the EFI bootloader from the CDROM file system instead of using the FAT filesystem which is for USB keys. Signed-off-by: Michael Tremer --- lfs/cdrom | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/lfs/cdrom b/lfs/cdrom index 08cbcb772..7150153d7 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -121,39 +121,41 @@ ifneq "$(BUILD_PLATFORM)" "arm" cp /usr/share/syslinux/isolinux.bin /install/cdrom/boot/isolinux/isolinux.bin ifeq "$(EFI)" "1" - # 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 - # 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=$(BUILD_ARCH)-efi \ - --output=/tmp/boot$(EFI_ARCH).efi \ + --output=/install/cdrom/EFI/BOOT/boot$(EFI_ARCH).efi \ --config=/tmp/grub-efi.cfg \ --compression=xz \ --prefix=/EFI/BOOT \ $(GRUB_EFI_MODULES) + # 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 /tmp/boot$(EFI_ARCH).efi /install/efiboot.img/EFI/BOOT/boot$(EFI_ARCH).efi + 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/boot$(EFI_ARCH).efi /tmp/grub-efi.cfg - - # 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 + rm -rf /install/efiboot.img /tmp/grub-efi.cfg endif cp /usr/share/hwdata/pci.ids /install/cdrom/boot/isolinux/pci.ids From 5fb499f13b3eb8b25c55f113851f25bc9ac91e17 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 31 May 2018 15:24:39 +0100 Subject: [PATCH 18/62] installer: Detect if we are running in EFI mode Signed-off-by: Michael Tremer --- src/installer/hw.c | 7 ++++++- src/installer/hw.h | 1 + src/installer/main.c | 4 +++- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/installer/hw.c b/src/installer/hw.c index 6acddf9bf..e0ff225e5 100644 --- a/src/installer/hw.c +++ b/src/installer/hw.c @@ -61,7 +61,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 +71,11 @@ struct hw* hw_init() { exit(1); } + // Detect if we are running in EFI mode + int ret = access("/sys/firmware/efi", R_OK); + if (ret == 0) + hw->efi = 1; + return hw; } diff --git a/src/installer/hw.h b/src/installer/hw.h index e127f1f51..acf5715b2 100644 --- a/src/installer/hw.h +++ b/src/installer/hw.h @@ -57,6 +57,7 @@ struct hw { struct udev *udev; + int efi; }; struct hw_disk { diff --git a/src/installer/main.c b/src/installer/main.c index 5572a4da4..246ddf5b0 100644 --- a/src/installer/main.c +++ b/src/installer/main.c @@ -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(); From b6a0fd583981787fb50a2eae43d34393215eeb95 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 31 May 2018 15:24:51 +0100 Subject: [PATCH 19/62] cdrom: Select installation as default Signed-off-by: Michael Tremer --- config/cdrom/grub.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/cdrom/grub.cfg b/config/cdrom/grub.cfg index f2c2a3bb2..421c0e662 100644 --- a/config/cdrom/grub.cfg +++ b/config/cdrom/grub.cfg @@ -1,4 +1,4 @@ -set default="1" +set default="0" function load_video { insmod efi_gop From fd80e500dfff0f8d5f6ec4a417b7c9fe423779b0 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 7 Jun 2018 15:33:48 +0100 Subject: [PATCH 20/62] Add efibootmgr and efivar These packages are required to manage EFI boot options Signed-off-by: Michael Tremer --- config/rootfiles/common/efibootmgr | 4 ++ config/rootfiles/common/efivar | 46 +++++++++++++++++ lfs/efibootmgr | 79 ++++++++++++++++++++++++++++++ lfs/efivar | 78 +++++++++++++++++++++++++++++ make.sh | 2 + 5 files changed, 209 insertions(+) create mode 100644 config/rootfiles/common/efibootmgr create mode 100644 config/rootfiles/common/efivar create mode 100644 lfs/efibootmgr create mode 100644 lfs/efivar diff --git a/config/rootfiles/common/efibootmgr b/config/rootfiles/common/efibootmgr new file mode 100644 index 000000000..56a0eb149 --- /dev/null +++ b/config/rootfiles/common/efibootmgr @@ -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/efivar b/config/rootfiles/common/efivar new file mode 100644 index 000000000..4018e4c08 --- /dev/null +++ b/config/rootfiles/common/efivar @@ -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/lfs/efibootmgr b/lfs/efibootmgr new file mode 100644 index 000000000..0503b6b1b --- /dev/null +++ b/lfs/efibootmgr @@ -0,0 +1,79 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2018 IPFire Team # +# # +# 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 . # +# # +############################################################################### + +############################################################################### +# 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) + +############################################################################### +# 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) diff --git a/lfs/efivar b/lfs/efivar new file mode 100644 index 000000000..1362c625b --- /dev/null +++ b/lfs/efivar @@ -0,0 +1,78 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2018 IPFire Team # +# # +# 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 . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 35 + +THISAPP = efivar-$(VER) +DL_FILE = $(THISAPP).tar.bz2 +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 = 53da18ea0cf7bba1fd9edf3098037edf + +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)" $(MAKETUNING) + cd $(DIR_APP) && make install + + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 99fadfdfa..53760ef78 100755 --- a/make.sh +++ b/make.sh @@ -1082,6 +1082,8 @@ buildipfire() { lfsmake2 multipath-tools lfsmake2 freetype lfsmake2 grub + lfsmake2 efivar + lfsmake2 efibootmgr lfsmake2 libmnl lfsmake2 libnfnetlink lfsmake2 libnetfilter_queue From 24e811b03acb228b71227430c98d48bd1e3ad9ab Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 7 Jun 2018 22:15:58 +0100 Subject: [PATCH 21/62] grub: Don't install an empty EFI configuration file Signed-off-by: Michael Tremer --- config/rootfiles/common/x86_64/grub | 5 ----- lfs/grub | 4 ---- 2 files changed, 9 deletions(-) diff --git a/config/rootfiles/common/x86_64/grub b/config/rootfiles/common/x86_64/grub index 4229be4a5..d64a98819 100644 --- a/config/rootfiles/common/x86_64/grub +++ b/config/rootfiles/common/x86_64/grub @@ -1,8 +1,3 @@ -#boot/efi -#boot/efi/EFI -#boot/efi/EFI/ipfire -#boot/efi/EFI/ipfire/grub-efi -boot/efi/EFI/ipfire/grub-efi/grub.cfg #boot/grub boot/grub/grub.cfg boot/grub/splash.png diff --git a/lfs/grub b/lfs/grub index c4391c112..97428791d 100644 --- a/lfs/grub +++ b/lfs/grub @@ -100,10 +100,6 @@ ifeq "$(BUILD_EFI)" "1" --with-platform=efi CFLAGS= LDFLAGS= cd $(DIR_APP_EFI) && make $(MAKETUNING) cd $(DIR_APP_EFI) && make install - - # Install empty configuration file - -mkdir -pv /boot/efi/EFI/ipfire/grub-efi - touch /boot/efi/EFI/ipfire/grub-efi/grub.cfg endif ifeq "$(BUILD_PC)" "1" From dfb0084e355885908d80b6544bd86fe5c0c1aba2 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 7 Jun 2018 22:17:05 +0100 Subject: [PATCH 22/62] flash-image: Remove any other GRUB configuration files in EFI mode Signed-off-by: Michael Tremer --- lfs/flash-images | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lfs/flash-images b/lfs/flash-images index 44e92e8c0..a52a0db32 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -73,11 +73,8 @@ else PART_TYPE = L endif -GRUB_CFGS = /boot/grub/grub.cfg - ifeq "$(EFI)" "1" S_EFI = 204800 - GRUB_CFGS += /boot/efi/EFI/ipfire/grub-efi/grub.cfg else S_EFI = 0 endif @@ -201,17 +198,14 @@ ifeq "$(BOOTLOADER)" "grub" $(MNThdd)/etc/grub.d/ # Create configuration - for i in $(GRUB_CFGS); do \ - mkdir -pv $$(dirname $(MNThdd)$(GRUB_CFG)); \ - chroot $(MNThdd) grub-mkconfig -o $$i || exit 1; \ - done + mkdir -pv $(MNThdd)/boot/grub + chroot $(MNThdd) grub-mkconfig -o /boot/grub/grub.cfg # Boot the first kernel by default chroot $(MNThdd) grub-set-default 0 # Insert the UUID because grub-mkconfig often fails to # detect that correctly - sed -i $(addprefix $(MNThdd),$(GRUB_CFGS)) \ sed -i $(MNThdd)/boot/grub/grub.cfg \ -e "s/root=[A-Za-z0-9\/=-]*/root=UUID=$$(blkid -o value -s UUID $(PART_ROOT))/g" From 2f329aab2700e7a36afcc32a047c44057b4f334a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 7 Jun 2018 22:17:34 +0100 Subject: [PATCH 23/62] flash-image: Mark the EFI system partition as such Signed-off-by: Michael Tremer --- lfs/flash-images | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lfs/flash-images b/lfs/flash-images index a52a0db32..900f526fb 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -95,7 +95,7 @@ endif PADDING = 100 # MB ifeq "$(EFI)" "1" - SFDISK_EFI = $(S_OFFSET),$(S_EFI),c,*\n + SFDISK_EFI = $(S_OFFSET),$(S_EFI),U,*\n SFDISK = $(SFDISK_BOOT)$(SFDISK_EFI)$(SFDISK_ROOT) else SFDISK_SWAP = ,0,0\n From 7d456c39710018b92ad7668e407f058924ff13b1 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 7 Jun 2018 22:18:32 +0100 Subject: [PATCH 24/62] flash-image: Use grub-install to install GRUB in EFI mode Signed-off-by: Michael Tremer --- lfs/flash-images | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/lfs/flash-images b/lfs/flash-images index 900f526fb..3fe1444b9 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -84,14 +84,6 @@ endif S_BOOT := $(shell echo $$(( 262144 - $(S_OFFSET) ))) S_ROOT := 2477600 -ifeq "$(BUILD_ARCH)" "x86_64" - EFI_ARCH = x64 -endif - -ifeq "$(BUILD_ARCH)" "i586" - EFI_ARCH = ia32 -endif - PADDING = 100 # MB ifeq "$(EFI)" "1" @@ -213,15 +205,15 @@ ifeq "$(BOOTLOADER)" "grub" grub-install --force --recheck --no-floppy --target=i386-pc \ --root-directory=$(MNThdd) $(DEVICE) +ifeq "$(EFI)" "1" + # Install GRUB for EFI + grub-install --target=$(BUILD_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 rm -f $(MNThdd)/etc/grub.d/11_linux_scon - -ifeq "$(EFI)" "1" - mkdir -pv $(MNThdd)/boot/efi/EFI/boot - cp -vf $(MNThdd)/boot/efi/EFI/ipfire/grub-efi/grub.efi \ - $(MNThdd)/boot/efi/EFI/boot/boot$(EFI_ARCH).efi -endif endif # Set ramdisk mode to automatic From 8662e981738a22b780f6062900489dfe42c403a3 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 7 Jun 2018 22:22:02 +0100 Subject: [PATCH 25/62] flash-images: Mark the /boot partition as bootable Before, the ESP was marked as bootable which isn't necessary Signed-off-by: Michael Tremer --- lfs/flash-images | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lfs/flash-images b/lfs/flash-images index 3fe1444b9..cadae83d9 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -87,14 +87,14 @@ S_ROOT := 2477600 PADDING = 100 # MB ifeq "$(EFI)" "1" - SFDISK_EFI = $(S_OFFSET),$(S_EFI),U,*\n + SFDISK_EFI = $(S_OFFSET),$(S_EFI),U\n SFDISK = $(SFDISK_BOOT)$(SFDISK_EFI)$(SFDISK_ROOT) else SFDISK_SWAP = ,0,0\n SFDISK = $(SFDISK_BOOT)$(SFDISK_SWAP)$(SFDISK_ROOT) endif -SFDISK_BOOT = $(shell echo $$(( $(S_OFFSET) + $(S_EFI) ))),$(S_BOOT),$(PART_TYPE)\n +SFDISK_BOOT = $(shell echo $$(( $(S_OFFSET) + $(S_EFI) ))),$(S_BOOT),$(PART_TYPE),*\n SFDISK_ROOT = $(shell echo $$(( $(S_OFFSET) + $(S_EFI) + $(S_BOOT) ))),$(S_ROOT),L\n $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) From 89e79c50c7e497dd7fa8eb5f451fbafa8abb72e6 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 7 Jun 2018 23:18:08 +0100 Subject: [PATCH 26/62] flash-images: Cleanup partitioning code No functional changes Signed-off-by: Michael Tremer --- lfs/flash-images | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/lfs/flash-images b/lfs/flash-images index cadae83d9..4ed5da004 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -69,33 +69,32 @@ else BOOTLOADER = grub S_OFFSET = 8192 - # Logical + # Linux PART_TYPE = L endif -ifeq "$(EFI)" "1" - S_EFI = 204800 -else - S_EFI = 0 -endif - # /boot: 128MB - OFFSET # / : 1200 MB S_BOOT := $(shell echo $$(( 262144 - $(S_OFFSET) ))) S_ROOT := 2477600 +ifeq "$(EFI)" "1" + S_EFI = 204800 +else + S_EFI = 0 +endif + PADDING = 100 # MB ifeq "$(EFI)" "1" - SFDISK_EFI = $(S_OFFSET),$(S_EFI),U\n SFDISK = $(SFDISK_BOOT)$(SFDISK_EFI)$(SFDISK_ROOT) else - SFDISK_SWAP = ,0,0\n - SFDISK = $(SFDISK_BOOT)$(SFDISK_SWAP)$(SFDISK_ROOT) + SFDISK = $(SFDISK_BOOT)$(SFDISK_ROOT) endif -SFDISK_BOOT = $(shell echo $$(( $(S_OFFSET) + $(S_EFI) ))),$(S_BOOT),$(PART_TYPE),*\n -SFDISK_ROOT = $(shell echo $$(( $(S_OFFSET) + $(S_EFI) + $(S_BOOT) ))),$(S_ROOT),L\n +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 @@ -110,11 +109,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) # Write Partition table echo -e "$(SFDISK)" | sfdisk -uS $(DEVICE) - # Remove 2nd empty partition -ifneq "$(EFI)" "1" - -echo -e "d\n2\nw\n\q\n" | fdisk $(DEVICE) -endif - kpartx -v -a $(DEVICE) # Format them From b89c7379f9891a35845a2c1402c86392c4c5800d Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 7 Jun 2018 23:31:13 +0100 Subject: [PATCH 27/62] flash-images: Make EFI partition 32MB Signed-off-by: Michael Tremer --- lfs/flash-images | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lfs/flash-images b/lfs/flash-images index 4ed5da004..5134fd672 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -79,7 +79,7 @@ S_BOOT := $(shell echo $$(( 262144 - $(S_OFFSET) ))) S_ROOT := 2477600 ifeq "$(EFI)" "1" - S_EFI = 204800 + S_EFI = 65536 # 32 MB else S_EFI = 0 endif From 4c2343931cc01bf1594d9e9ef194a7ab87c7298a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 11 Jun 2018 10:17:54 +0100 Subject: [PATCH 28/62] parted: Update to 3.2 Signed-off-by: Michael Tremer --- lfs/parted | 7 ++-- src/patches/parted-3.2-device-mapper.patch | 44 ++++++++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 src/patches/parted-3.2-device-mapper.patch diff --git a/lfs/parted b/lfs/parted index 5dee653a4..c253c8b7b 100644 --- a/lfs/parted +++ b/lfs/parted @@ -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 diff --git a/src/patches/parted-3.2-device-mapper.patch b/src/patches/parted-3.2-device-mapper.patch new file mode 100644 index 000000000..e866c8860 --- /dev/null +++ b/src/patches/parted-3.2-device-mapper.patch @@ -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 */ From 92e782332c88a3adc375f39d8183f031ccfe272a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 11 Jun 2018 10:31:29 +0100 Subject: [PATCH 29/62] installer: Add support to install on EFI systems Signed-off-by: Michael Tremer --- src/installer/dracut-module/module-setup.sh | 2 +- src/installer/hw.c | 134 +++++++++++++++++--- src/installer/hw.h | 10 +- src/installer/main.c | 6 +- 4 files changed, 132 insertions(+), 20 deletions(-) diff --git a/src/installer/dracut-module/module-setup.sh b/src/installer/dracut-module/module-setup.sh index b8803970a..103f754e9 100755 --- a/src/installer/dracut-module/module-setup.sh +++ b/src/installer/dracut-module/module-setup.sh @@ -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 diff --git a/src/installer/hw.c b/src/installer/hw.c index e0ff225e5..edf7aeb0b 100644 --- a/src/installer/hw.c +++ b/src/installer/hw.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include @@ -71,8 +72,14 @@ 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); + // Detect if we are running in EFI mode - int ret = access("/sys/firmware/efi", R_OK); + ret = access("/sys/firmware/efi", R_OK); if (ret == 0) hw->efi = 1; @@ -140,7 +147,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) { @@ -443,7 +457,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; @@ -501,9 +515,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)) @@ -530,6 +550,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 @@ -544,7 +572,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) { @@ -564,7 +592,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; @@ -652,6 +680,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", @@ -671,6 +707,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); @@ -693,6 +732,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; @@ -731,6 +773,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); @@ -750,6 +796,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); @@ -785,6 +838,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); } @@ -807,6 +864,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); @@ -843,6 +913,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); @@ -957,18 +1035,13 @@ 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); - if (r) - return r; - char cmd_grub[STRING_SIZE]; - snprintf(cmd_grub, sizeof(cmd_grub), "/usr/sbin/grub-install --no-floppy --recheck"); + snprintf(cmd_grub, sizeof(cmd_grub), "/usr/sbin/grub-install --target=i386-pc" + " --no-floppy --recheck"); if (dest->is_raid) { snprintf(cmd, sizeof(cmd), "%s %s", cmd_grub, dest->disk1->path); @@ -978,14 +1051,34 @@ int hw_install_bootloader(struct hw_destination* dest, const char* output) { snprintf(cmd, sizeof(cmd), "%s %s", cmd_grub, dest->disk2->path); r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd); + if (r) + return r; } else { snprintf(cmd, sizeof(cmd), "%s %s", cmd_grub, dest->path); r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd); + if (r) + return r; } + // Install GRUB in EFI mode + if (hw->efi) { + snprintf(cmd, sizeof(cmd), "/usr/sbin/grub-install" + " --target=%s-efi --efi-directory=%s", hw->arch, HW_PATH_BOOT_EFI); + + r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd); + if (r) + return 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); + if (r) + return r; + hw_sync(); - return r; + return 0; } static char* hw_get_uuid(const char* dev) { @@ -1026,6 +1119,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); diff --git a/src/installer/hw.h b/src/installer/hw.h index acf5715b2..f446d1c43 100644 --- a/src/installer/hw.h +++ b/src/installer/hw.h @@ -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 @@ -57,6 +59,7 @@ struct hw { struct udev *udev; + char arch[STRING_SIZE]; int efi; }; @@ -83,15 +86,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; }; @@ -110,7 +116,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(); @@ -125,7 +131,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); diff --git a/src/installer/main.c b/src/installer/main.c index 246ddf5b0..849976542 100644 --- a/src/installer/main.c +++ b/src/installer/main.c @@ -675,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.")); @@ -685,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())); @@ -836,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; From 8a06ff80c4e2daf597ec4ea6542854183351880d Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 11 Jun 2018 10:32:28 +0100 Subject: [PATCH 30/62] grub: Don't explicitely set the font Signed-off-by: Michael Tremer --- config/grub2/default | 1 - 1 file changed, 1 deletion(-) diff --git a/config/grub2/default b/config/grub2/default index 39eed0fb5..c1b78237e 100644 --- a/config/grub2/default +++ b/config/grub2/default @@ -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" From 3755e358098f303df3f5f7effe47f6e354c8b733 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 11 Jun 2018 17:13:40 +0100 Subject: [PATCH 31/62] make.sh: Build popt earlier efivars depends on it and since it is a very common library without any dependencies, we can build it very early Signed-off-by: Michael Tremer --- make.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/make.sh b/make.sh index 53760ef78..36377bedf 100755 --- a/make.sh +++ b/make.sh @@ -1061,6 +1061,7 @@ buildipfire() { lfsmake2 configroot lfsmake2 initscripts lfsmake2 backup + lfsmake2 popt lfsmake2 libusb lfsmake2 libusb-compat lfsmake2 libpcap @@ -1187,7 +1188,6 @@ buildipfire() { lfsmake2 libtiff lfsmake2 libart lfsmake2 gd - lfsmake2 popt lfsmake2 slang lfsmake2 newt lfsmake2 libsmooth From b62f71f7f21752d3f919aaed9378826c36e5731c Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 11 Jun 2018 18:32:42 +0100 Subject: [PATCH 32/62] Build GRUB on aarch64 Signed-off-by: Michael Tremer --- config/rootfiles/common/aarch64/grub | 536 +++++++++++++++++++++++++++ lfs/grub | 14 +- 2 files changed, 547 insertions(+), 3 deletions(-) create mode 100644 config/rootfiles/common/aarch64/grub diff --git a/config/rootfiles/common/aarch64/grub b/config/rootfiles/common/aarch64/grub new file mode 100644 index 000000000..6de37dd35 --- /dev/null +++ b/config/rootfiles/common/aarch64/grub @@ -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 diff --git a/lfs/grub b/lfs/grub index 97428791d..51bbc7859 100644 --- a/lfs/grub +++ b/lfs/grub @@ -31,11 +31,18 @@ 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 # Build for which platforms? -BUILD_PC = 1 -BUILD_EFI = $(EFI) +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 @@ -115,6 +122,7 @@ ifeq "$(BUILD_PC)" "1" endif # Install background image + -mkdir -pv /boot/grub install -m 644 $(DIR_SRC)/config/grub2/splash.png /boot/grub/splash.png # Install default configuration From 2c49856ead5c553dde1e8888b6de0937b3f3d00a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 13 Jun 2018 23:05:44 +0100 Subject: [PATCH 33/62] Rootfile update for parted Signed-off-by: Michael Tremer --- config/rootfiles/common/parted | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/rootfiles/common/parted b/config/rootfiles/common/parted index 223a580cb..6e43eeb3a 100644 --- a/config/rootfiles/common/parted +++ b/config/rootfiles/common/parted @@ -14,12 +14,12 @@ #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 From f096a2ea9871ab087e36cd0044a3875d03b98799 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 13 Jun 2018 23:21:58 +0100 Subject: [PATCH 34/62] flash-image+cdrom: Execute ARMv5-specific code on ARMv5 Signed-off-by: Michael Tremer --- lfs/cdrom | 4 ++-- lfs/flash-images | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lfs/cdrom b/lfs/cdrom index 7150153d7..f677493a3 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -45,7 +45,7 @@ ISO_ARGS = -J -r -v \ -c boot/isolinux/boot.catalog # Only build a stub ISO for ARM -ifeq "$(BUILD_PLATFORM)" "arm" +ifeq "$(BUILD_ARCH)" "armv5tel" ISO_ARGS = -J -r -V "$(NAME) $(VERSION) $(BUILD_ARCH)" endif @@ -112,7 +112,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) # 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" +ifneq "$(BUILD_ARCH)" "armv5tel" cp /boot/vmlinuz-$(KVER)-ipfire /install/cdrom/boot/isolinux/vmlinuz dracut --force -a "installer" --strip --xz /install/cdrom/boot/isolinux/instroot $(KVER)-ipfire cp $(DIR_SRC)/config/syslinux/boot.png /install/cdrom/boot/isolinux/boot.png diff --git a/lfs/flash-images b/lfs/flash-images index 5134fd672..24cf327a5 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -59,7 +59,7 @@ MNThdd := /install/harddisk IMG := /install/images/image.img # All sizes in blocks -ifeq "$(BUILD_PLATFORM)" "arm" +ifeq "$(BUILD_ARCH)" "armv5tel" BOOTLOADER = S_OFFSET = 8192 From 8fbadfc7a31a224c6b339e45ffe2f0041c8f7ec8 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 17 Jun 2018 18:15:08 +0100 Subject: [PATCH 35/62] installer: Create a flag that marks if EFI support is available Signed-off-by: Michael Tremer --- src/installer/hw.c | 8 ++++++-- src/installer/hw.h | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/installer/hw.c b/src/installer/hw.c index edf7aeb0b..0cfeb521f 100644 --- a/src/installer/hw.c +++ b/src/installer/hw.c @@ -81,7 +81,10 @@ struct hw* hw_init() { // Detect if we are running in EFI mode ret = access("/sys/firmware/efi", R_OK); if (ret == 0) - hw->efi = 1; + hw->efi_supported = 1; + + // Should we install in EFI mode? + hw->efi = 1; return hw; } @@ -1063,7 +1066,8 @@ int hw_install_bootloader(struct hw* hw, struct hw_destination* dest, const char // Install GRUB in EFI mode if (hw->efi) { snprintf(cmd, sizeof(cmd), "/usr/sbin/grub-install" - " --target=%s-efi --efi-directory=%s", hw->arch, HW_PATH_BOOT_EFI); + " --target=%s-efi --efi-directory=%s %s", hw->arch, HW_PATH_BOOT_EFI, + (hw->efi_supported) ? "" : "--no-nvram"); r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd); if (r) diff --git a/src/installer/hw.h b/src/installer/hw.h index f446d1c43..4e0afc431 100644 --- a/src/installer/hw.h +++ b/src/installer/hw.h @@ -60,7 +60,12 @@ struct hw { struct udev *udev; char arch[STRING_SIZE]; + + // Enabled if we should install in EFI mode int efi; + + // Enabled if this system supports EFI + int efi_supported; }; struct hw_disk { From 7dc7880ddacc97f9e2393d2155f12384c6a3ad11 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 17 Jun 2018 18:16:26 +0100 Subject: [PATCH 36/62] installer: Always install EFI bootloader on x86_64 and aarch64 Signed-off-by: Michael Tremer --- src/installer/hw.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/installer/hw.c b/src/installer/hw.c index 0cfeb521f..7bbda22de 100644 --- a/src/installer/hw.c +++ b/src/installer/hw.c @@ -84,7 +84,8 @@ struct hw* hw_init() { hw->efi_supported = 1; // Should we install in EFI mode? - hw->efi = 1; + if ((strcmp(hw->arch, "x86_64") == 0) || (strcmp(hw->arch, "aarch64") == 0)) + hw->efi = 1; return hw; } From e3a3af3c5d1e49d8f86e82500ad7df5f5b2a3b33 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 17 Jun 2018 18:18:25 +0100 Subject: [PATCH 37/62] installer: Install GRUB in removable mode as well This allows that a system will boot IPFire even when no boot entry is configured in the EFI BIOS Signed-off-by: Michael Tremer --- src/installer/hw.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/installer/hw.c b/src/installer/hw.c index 7bbda22de..3bd748036 100644 --- a/src/installer/hw.c +++ b/src/installer/hw.c @@ -1066,13 +1066,17 @@ int hw_install_bootloader(struct hw* hw, struct hw_destination* dest, const char // Install GRUB in EFI mode if (hw->efi) { - snprintf(cmd, sizeof(cmd), "/usr/sbin/grub-install" - " --target=%s-efi --efi-directory=%s %s", hw->arch, HW_PATH_BOOT_EFI, - (hw->efi_supported) ? "" : "--no-nvram"); + for (int removable = 0; removable < 1; removable++) { + snprintf(cmd, sizeof(cmd), "/usr/sbin/grub-install" + " --target=%s-efi --efi-directory=%s %s %s", + hw->arch, HW_PATH_BOOT_EFI, + (hw->efi_supported) ? "" : "--no-nvram", + (removable) ? "--removable" : ""); - r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd); - if (r) - return r; + r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd); + if (r) + return r; + } } // Generate configuration file From 7c80f8c5cc517e4c39824f038cd3867518e4f262 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 17 Jun 2018 22:49:14 +0100 Subject: [PATCH 38/62] syslinux: Update to 6.04-pre1 Signed-off-by: Michael Tremer --- config/rootfiles/common/x86_64/syslinux | 25 ++++++------------- lfs/syslinux | 5 ++-- ...nux-6.03-fix-FTBFS-no-dynamic-linker.patch | 14 ----------- 3 files changed, 9 insertions(+), 35 deletions(-) delete mode 100644 src/patches/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch diff --git a/config/rootfiles/common/x86_64/syslinux b/config/rootfiles/common/x86_64/syslinux index a41049f21..8bab25a02 100644 --- a/config/rootfiles/common/x86_64/syslinux +++ b/config/rootfiles/common/x86_64/syslinux @@ -58,6 +58,7 @@ usr/bin/isohybrid #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 @@ -145,8 +146,10 @@ usr/bin/isohybrid #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 @@ -208,9 +211,11 @@ usr/bin/isohybrid #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/libcom32upload.a @@ -227,6 +232,7 @@ usr/bin/isohybrid #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 @@ -246,22 +252,15 @@ usr/bin/isohybrid #usr/share/syslinux/efi64/cpuidtest.c32 #usr/share/syslinux/efi64/debug.c32 #usr/share/syslinux/efi64/dhcp.c32 -#usr/share/syslinux/efi64/disk.c32 +#usr/share/syslinux/efi64/dir.c32 #usr/share/syslinux/efi64/dmi.c32 #usr/share/syslinux/efi64/dmitest.c32 -#usr/share/syslinux/efi64/elf.c32 -#usr/share/syslinux/efi64/ethersel.c32 #usr/share/syslinux/efi64/gfxboot.c32 -#usr/share/syslinux/efi64/gpxecmd.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/ifmemdsk.c32 -#usr/share/syslinux/efi64/ifplop.c32 -#usr/share/syslinux/efi64/kbdmap.c32 -#usr/share/syslinux/efi64/kontron_wdt.c32 #usr/share/syslinux/efi64/ldlinux.e64 #usr/share/syslinux/efi64/lfs.c32 #usr/share/syslinux/efi64/libcom32.c32 @@ -276,21 +275,13 @@ usr/bin/isohybrid #usr/share/syslinux/efi64/meminfo.c32 #usr/share/syslinux/efi64/menu.c32 #usr/share/syslinux/efi64/pci.c32 -#usr/share/syslinux/efi64/pcitest.c32 -#usr/share/syslinux/efi64/pmload.c32 -#usr/share/syslinux/efi64/poweroff.c32 -#usr/share/syslinux/efi64/prdhcp.c32 #usr/share/syslinux/efi64/pwd.c32 -#usr/share/syslinux/efi64/pxechn.c32 #usr/share/syslinux/efi64/reboot.c32 #usr/share/syslinux/efi64/rosh.c32 -#usr/share/syslinux/efi64/sanboot.c32 -#usr/share/syslinux/efi64/sdi.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/vesainfo.c32 #usr/share/syslinux/efi64/vesamenu.c32 #usr/share/syslinux/efi64/vpdtest.c32 #usr/share/syslinux/efi64/whichsys.c32 @@ -302,8 +293,6 @@ 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 diff --git a/lfs/syslinux b/lfs/syslinux index 1736d3c68..9d95cd5a1 100644 --- a/lfs/syslinux +++ b/lfs/syslinux @@ -24,7 +24,7 @@ include Config -VER = 6.03 +VER = 6.04-pre1 THISAPP = syslinux-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -44,7 +44,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 92a253df9211e9c20172796ecf388f13 +$(DL_FILE)_MD5 = f9c956fde0de29be297402ecbc8ff4d0 install : $(TARGET) @@ -74,7 +74,6 @@ $(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/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch # Build cd $(DIR_APP) && make bios $(MAKETUNING) diff --git a/src/patches/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch b/src/patches/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch deleted file mode 100644 index 091189d7b..000000000 --- a/src/patches/syslinux-6.03-fix-FTBFS-no-dynamic-linker.patch +++ /dev/null @@ -1,14 +0,0 @@ -Fix for https://bugs.debian.org/846679 : syslinux: FTBFS: ld: -ldlinux.elf: Not enough room for program headers, try linking with -N - ---- a/core/Makefile 2017-01-28 18:33:22.750959519 +0000 -+++ b/core/Makefile 2017-01-28 18:27:47.387981830 +0000 -@@ -165,7 +165,7 @@ - - %.elf: %.o $(LIBDEP) $(LDSCRIPT) $(AUXLIBS) - $(LD) $(LDFLAGS) -Bsymbolic $(LD_PIE) -E --hash-style=gnu -T $(LDSCRIPT) -M -o $@ $< \ -- --start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group \ -+ --start-group $(LIBS) $(subst $(*F).elf,lib$(*F).a,$@) --end-group --no-dynamic-linker \ - > $(@:.elf=.map) - $(OBJDUMP) -h $@ > $(@:.elf=.sec) - $(PERL) $(SRC)/lstadjust.pl $(@:.elf=.lsr) $(@:.elf=.sec) $(@:.elf=.lst) From 701c891b40dc7e115f7359b26babab86ba36602c Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 21 Jun 2018 15:53:38 +0100 Subject: [PATCH 39/62] Build efibootmgr and efivars only for x86_64 and aarch64 Signed-off-by: Michael Tremer --- .../rootfiles/common/{ => aarch64}/efibootmgr | 0 config/rootfiles/common/{ => aarch64}/efivar | 0 config/rootfiles/common/x86_64/efibootmgr | 4 ++ config/rootfiles/common/x86_64/efivar | 46 +++++++++++++++++++ lfs/efibootmgr | 1 + lfs/efivar | 1 + 6 files changed, 52 insertions(+) rename config/rootfiles/common/{ => aarch64}/efibootmgr (100%) rename config/rootfiles/common/{ => aarch64}/efivar (100%) create mode 100644 config/rootfiles/common/x86_64/efibootmgr create mode 100644 config/rootfiles/common/x86_64/efivar diff --git a/config/rootfiles/common/efibootmgr b/config/rootfiles/common/aarch64/efibootmgr similarity index 100% rename from config/rootfiles/common/efibootmgr rename to config/rootfiles/common/aarch64/efibootmgr diff --git a/config/rootfiles/common/efivar b/config/rootfiles/common/aarch64/efivar similarity index 100% rename from config/rootfiles/common/efivar rename to config/rootfiles/common/aarch64/efivar diff --git a/config/rootfiles/common/x86_64/efibootmgr b/config/rootfiles/common/x86_64/efibootmgr new file mode 100644 index 000000000..56a0eb149 --- /dev/null +++ b/config/rootfiles/common/x86_64/efibootmgr @@ -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 index 000000000..4018e4c08 --- /dev/null +++ b/config/rootfiles/common/x86_64/efivar @@ -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/lfs/efibootmgr b/lfs/efibootmgr index 0503b6b1b..9a2a91779 100644 --- a/lfs/efibootmgr +++ b/lfs/efibootmgr @@ -31,6 +31,7 @@ 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 diff --git a/lfs/efivar b/lfs/efivar index 1362c625b..90d4c57e7 100644 --- a/lfs/efivar +++ b/lfs/efivar @@ -31,6 +31,7 @@ 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 From b7407ccad54e5d5d5b4a83073fb1ccdbcfa5b85e Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 5 Jul 2018 23:29:20 +0100 Subject: [PATCH 40/62] cdrom: Install memtest only on x86 Signed-off-by: Michael Tremer --- lfs/cdrom | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lfs/cdrom b/lfs/cdrom index f677493a3..cb04a0fb7 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -59,6 +59,12 @@ ifeq "$(EFI)" "1" ISOHYBRID_ARGS += --uefi endif +HAS_MEMTEST = 0 + +ifeq "$(BUILD_PLATFORM)" "x86" + HAS_MEMTEST = 1 +endif + ############################################################################### # Top-level Rules ############################################################################### @@ -116,10 +122,14 @@ ifneq "$(BUILD_ARCH)" "armv5tel" cp /boot/vmlinuz-$(KVER)-ipfire /install/cdrom/boot/isolinux/vmlinuz dracut --force -a "installer" --strip --xz /install/cdrom/boot/isolinux/instroot $(KVER)-ipfire 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 +ifeq "$(HAS_MEMTEST)" "1" + # Install memtest + cp /usr/lib/memtest86+/memtest.bin /install/cdrom/boot/isolinux/memtest +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" \ From 0ce1e4906e0f9db3c5ef4c1e9dd53449cc1d63d9 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 10 Jul 2018 14:38:21 +0100 Subject: [PATCH 41/62] cdrom: Install iPXE only on x86 Signed-off-by: Michael Tremer --- lfs/cdrom | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lfs/cdrom b/lfs/cdrom index cb04a0fb7..b00e4a54e 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -60,9 +60,11 @@ ifeq "$(EFI)" "1" endif HAS_MEMTEST = 0 +HAS_IPXE = 0 ifeq "$(BUILD_PLATFORM)" "x86" HAS_MEMTEST = 1 + HAS_IPXE = 1 endif ############################################################################### @@ -122,7 +124,6 @@ ifneq "$(BUILD_ARCH)" "armv5tel" cp /boot/vmlinuz-$(KVER)-ipfire /install/cdrom/boot/isolinux/vmlinuz dracut --force -a "installer" --strip --xz /install/cdrom/boot/isolinux/instroot $(KVER)-ipfire cp $(DIR_SRC)/config/syslinux/boot.png /install/cdrom/boot/isolinux/boot.png - cp /usr/share/ipfire-netboot/ipxe.lkrn /install/cdrom/boot/isolinux/netboot cp /usr/share/syslinux/isolinux.bin /install/cdrom/boot/isolinux/isolinux.bin ifeq "$(HAS_MEMTEST)" "1" @@ -130,6 +131,10 @@ ifeq "$(HAS_MEMTEST)" "1" 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" \ From 4790db5f9509befbaa2d379a854bddd49d09f497 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 10 Jul 2018 15:34:30 +0100 Subject: [PATCH 42/62] cdrom: Install ISOLINUX only on some architectures Signed-off-by: Michael Tremer --- lfs/cdrom | 61 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 35 insertions(+), 26 deletions(-) diff --git a/lfs/cdrom b/lfs/cdrom index b00e4a54e..05b4fe891 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -35,19 +35,24 @@ 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)" \ - -no-emul-boot \ - -boot-load-size 4 \ - -boot-info-table \ - -b boot/isolinux/isolinux.bin \ - -c boot/isolinux/boot.catalog - -# Only build a stub ISO for ARM -ifeq "$(BUILD_ARCH)" "armv5tel" - ISO_ARGS = -J -r -V "$(NAME) $(VERSION) $(BUILD_ARCH)" -endif + -V "$(NAME) $(VERSION) $(BUILD_ARCH)" ISOHYBRID_ARGS = @@ -59,12 +64,13 @@ ifeq "$(EFI)" "1" ISOHYBRID_ARGS += --uefi endif -HAS_MEMTEST = 0 -HAS_IPXE = 0 - -ifeq "$(BUILD_PLATFORM)" "x86" - HAS_MEMTEST = 1 - HAS_IPXE = 1 +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 ############################################################################### @@ -117,14 +123,23 @@ $(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_ARCH)" "armv5tel" + +ifeq "$(HAS_KERNEL)" "1" cp /boot/vmlinuz-$(KVER)-ipfire /install/cdrom/boot/isolinux/vmlinuz dracut --force -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/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/ + sed -e "s/VERSION/$(VERSION) - Core $(CORE)/g" \ + $(DIR_SRC)/config/syslinux/syslinux.cfg \ + > /install/cdrom/boot/isolinux/isolinux.cfg +endif ifeq "$(HAS_MEMTEST)" "1" # Install memtest @@ -173,12 +188,6 @@ ifeq "$(EFI)" "1" rm -rf /install/efiboot.img /tmp/grub-efi.cfg endif - cp /usr/share/hwdata/pci.ids /install/cdrom/boot/isolinux/pci.ids - cp -vf /usr/share/syslinux/*.c32 /install/cdrom/boot/isolinux/ - sed -e "s/VERSION/$(VERSION) - Core $(CORE)/g" \ - $(DIR_SRC)/config/syslinux/syslinux.cfg \ - > /install/cdrom/boot/isolinux/isolinux.cfg -endif cd /install/cdrom && find -type f ! -name md5sum.txt | grep -v "./boot" | \ xargs md5sum > md5sum.txt From a1eb7761991af6515bd3b08f598454c7720119f8 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 10 Jul 2018 18:10:14 +0100 Subject: [PATCH 43/62] cdrom: Fix building GRUB image for aarch64 Signed-off-by: Michael Tremer --- lfs/Config | 19 ++++++++++++------- lfs/cdrom | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/lfs/Config b/lfs/Config index bb2939078..63ca29541 100644 --- a/lfs/Config +++ b/lfs/Config @@ -83,28 +83,26 @@ CCACHE_COMPILERCHECK += $(shell gcc -dumpspecs 2>/dev/null | md5sum | cut -d ' ' 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 # Basic modules GRUB_EFI_MODULES = \ configfile \ - efi_gop \ - efi_uga \ gzio \ linux \ - loadbios \ loadenv \ normal \ regexp # Stuff for accessing file systems GRUB_EFI_MODULES += \ - ahci \ ext2 \ fat \ iso9660 \ @@ -115,15 +113,13 @@ GRUB_EFI_MODULES += \ # Graphics & IO GRUB_EFI_MODULES += \ all_video \ - at_keyboard \ bitmap_scale \ font \ gfxmenu \ gfxterm \ jpeg \ png \ - tga \ - usb_keyboard + tga # Commands GRUB_EFI_MODULES += \ @@ -144,6 +140,15 @@ GRUB_EFI_MODULES += \ test \ true +# Platform dependent modules +ifeq "$(BUILD_ARCH)" "x86_64" + GRUB_EFI_MODULES += \ + loadbios \ + ahci \ + at_keyboard \ + usb_keyboard +endif + ############################################################################### # Common Macro Definitions ############################################################################### diff --git a/lfs/cdrom b/lfs/cdrom index 05b4fe891..81e005868 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -158,7 +158,7 @@ ifeq "$(EFI)" "1" # Build a GRUB EFI image mkdir -pv /install/cdrom/EFI/BOOT grub-mkimage \ - --format=$(BUILD_ARCH)-efi \ + --format=$(GRUB_ARCH)-efi \ --output=/install/cdrom/EFI/BOOT/boot$(EFI_ARCH).efi \ --config=/tmp/grub-efi.cfg \ --compression=xz \ From 092bc105e4ccde0743fabb18f4891aebd5747c5a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 12 Jul 2018 10:39:57 +0100 Subject: [PATCH 44/62] cdrom: Run isohybrid only when we have syslinux Signed-off-by: Michael Tremer --- lfs/cdrom | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lfs/cdrom b/lfs/cdrom index 81e005868..7fa3999c2 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -195,4 +195,6 @@ endif 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 From a5c92f50bfcecb8496216c82b41d4dd4b7d78635 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 12 Jul 2018 13:59:07 +0100 Subject: [PATCH 45/62] flash-images: Only install grub for EFI on aarch64 Signed-off-by: Michael Tremer --- lfs/flash-images | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lfs/flash-images b/lfs/flash-images index 24cf327a5..55ffd0e81 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -195,13 +195,15 @@ 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=$(BUILD_ARCH)-efi --removable --no-nvram \ + grub-install --target=$(GRUB_ARCH)-efi --removable --no-nvram \ --boot-directory=$(MNThdd)/boot --efi-directory=$(MNThdd)/boot/efi endif From 37dc79434ad752c7115c01aa26264c933e9de647 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sat, 14 Jul 2018 14:05:09 +0100 Subject: [PATCH 46/62] kernel: Enable EFI on aarch64 Signed-off-by: Michael Tremer --- config/kernel/kernel.config.aarch64-ipfire | 39 +++++++++++++++------- 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/config/kernel/kernel.config.aarch64-ipfire b/config/kernel/kernel.config.aarch64-ipfire index 7444864f3..37e190741 100644 --- a/config/kernel/kernel.config.aarch64-ipfire +++ b/config/kernel/kernel.config.aarch64-ipfire @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.14.48-ipfire-multi Kernel Configuration +# Linux/arm64 4.14.50-ipfire Kernel Configuration # CONFIG_ARM64=y CONFIG_64BIT=y @@ -441,6 +441,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 # @@ -597,7 +598,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 @@ -2403,7 +2406,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 @@ -2614,7 +2616,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 @@ -2861,6 +2862,7 @@ CONFIG_LP_CONSOLE=y CONFIG_PPDEV=m # CONFIG_HVC_DCC is not set 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 @@ -3580,7 +3582,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 @@ -3591,7 +3592,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 @@ -4234,12 +4234,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_PANEL=y @@ -4329,6 +4323,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 @@ -5315,6 +5310,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 @@ -6048,10 +6044,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 # @@ -6173,6 +6186,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 @@ -6790,6 +6804,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 From 479d82d1b8e20b63ed645ce8fdaae9d418c180b6 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 16 Jul 2018 22:31:11 +0100 Subject: [PATCH 47/62] Rootfile update We don't have EFI on i586 Signed-off-by: Michael Tremer --- config/rootfiles/common/i586/grub | 437 +----------------------------- 1 file changed, 5 insertions(+), 432 deletions(-) diff --git a/config/rootfiles/common/i586/grub b/config/rootfiles/common/i586/grub index 16e76aa0f..bc28d4593 100644 --- a/config/rootfiles/common/i586/grub +++ b/config/rootfiles/common/i586/grub @@ -1,13 +1,6 @@ -#boot/efi -#boot/efi/EFI -#boot/efi/EFI/ipfire -#boot/efi/EFI/ipfire/grub-efi -boot/efi/EFI/ipfire/grub-efi/grub.cfg -boot/efi/EFI/ipfire/grub-efi/grub.efi #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 @@ -37,429 +30,6 @@ usr/bin/grub-render-label usr/bin/grub-script-check usr/bin/grub-syslinux2cfg #usr/lib/grub -usr/lib/grub -usr/lib/grub/i386-efi -usr/lib/grub/i386-efi/acpi.mod -usr/lib/grub/i386-efi/acpi.module -usr/lib/grub/i386-efi/adler32.mod -usr/lib/grub/i386-efi/adler32.module -usr/lib/grub/i386-efi/affs.mod -usr/lib/grub/i386-efi/affs.module -usr/lib/grub/i386-efi/afs.mod -usr/lib/grub/i386-efi/afs.module -usr/lib/grub/i386-efi/ahci.mod -usr/lib/grub/i386-efi/ahci.module -usr/lib/grub/i386-efi/all_video.mod -usr/lib/grub/i386-efi/all_video.module -usr/lib/grub/i386-efi/aout.mod -usr/lib/grub/i386-efi/aout.module -usr/lib/grub/i386-efi/appleldr.mod -usr/lib/grub/i386-efi/appleldr.module -usr/lib/grub/i386-efi/at_keyboard.mod -usr/lib/grub/i386-efi/at_keyboard.module -usr/lib/grub/i386-efi/ata.mod -usr/lib/grub/i386-efi/ata.module -usr/lib/grub/i386-efi/backtrace.mod -usr/lib/grub/i386-efi/backtrace.module -usr/lib/grub/i386-efi/bfs.mod -usr/lib/grub/i386-efi/bfs.module -usr/lib/grub/i386-efi/bitmap.mod -usr/lib/grub/i386-efi/bitmap.module -usr/lib/grub/i386-efi/bitmap_scale.mod -usr/lib/grub/i386-efi/bitmap_scale.module -usr/lib/grub/i386-efi/blocklist.mod -usr/lib/grub/i386-efi/blocklist.module -usr/lib/grub/i386-efi/boot.mod -usr/lib/grub/i386-efi/boot.module -usr/lib/grub/i386-efi/bsd.mod -usr/lib/grub/i386-efi/bsd.module -usr/lib/grub/i386-efi/btrfs.mod -usr/lib/grub/i386-efi/btrfs.module -usr/lib/grub/i386-efi/bufio.mod -usr/lib/grub/i386-efi/bufio.module -usr/lib/grub/i386-efi/cat.mod -usr/lib/grub/i386-efi/cat.module -usr/lib/grub/i386-efi/chain.mod -usr/lib/grub/i386-efi/chain.module -usr/lib/grub/i386-efi/cmp.mod -usr/lib/grub/i386-efi/cmp.module -usr/lib/grub/i386-efi/command.lst -usr/lib/grub/i386-efi/config.h -usr/lib/grub/i386-efi/configfile.mod -usr/lib/grub/i386-efi/configfile.module -usr/lib/grub/i386-efi/cpio.mod -usr/lib/grub/i386-efi/cpio.module -usr/lib/grub/i386-efi/cpio_be.mod -usr/lib/grub/i386-efi/cpio_be.module -usr/lib/grub/i386-efi/cpuid.mod -usr/lib/grub/i386-efi/cpuid.module -usr/lib/grub/i386-efi/crc64.mod -usr/lib/grub/i386-efi/crc64.module -usr/lib/grub/i386-efi/crypto.lst -usr/lib/grub/i386-efi/crypto.mod -usr/lib/grub/i386-efi/crypto.module -usr/lib/grub/i386-efi/cryptodisk.mod -usr/lib/grub/i386-efi/cryptodisk.module -usr/lib/grub/i386-efi/cs5536.mod -usr/lib/grub/i386-efi/cs5536.module -usr/lib/grub/i386-efi/date.mod -usr/lib/grub/i386-efi/date.module -usr/lib/grub/i386-efi/datehook.mod -usr/lib/grub/i386-efi/datehook.module -usr/lib/grub/i386-efi/datetime.mod -usr/lib/grub/i386-efi/datetime.module -usr/lib/grub/i386-efi/diskfilter.mod -usr/lib/grub/i386-efi/diskfilter.module -usr/lib/grub/i386-efi/dm_nv.mod -usr/lib/grub/i386-efi/dm_nv.module -usr/lib/grub/i386-efi/echo.mod -usr/lib/grub/i386-efi/echo.module -usr/lib/grub/i386-efi/efi_gop.mod -usr/lib/grub/i386-efi/efi_gop.module -usr/lib/grub/i386-efi/efi_uga.mod -usr/lib/grub/i386-efi/efi_uga.module -usr/lib/grub/i386-efi/efinet.mod -usr/lib/grub/i386-efi/efinet.module -usr/lib/grub/i386-efi/ehci.mod -usr/lib/grub/i386-efi/ehci.module -usr/lib/grub/i386-efi/elf.mod -usr/lib/grub/i386-efi/elf.module -usr/lib/grub/i386-efi/exfat.mod -usr/lib/grub/i386-efi/exfat.module -usr/lib/grub/i386-efi/exfctest.mod -usr/lib/grub/i386-efi/exfctest.module -usr/lib/grub/i386-efi/ext2.mod -usr/lib/grub/i386-efi/ext2.module -usr/lib/grub/i386-efi/extcmd.mod -usr/lib/grub/i386-efi/extcmd.module -usr/lib/grub/i386-efi/fat.mod -usr/lib/grub/i386-efi/fat.module -usr/lib/grub/i386-efi/fixvideo.mod -usr/lib/grub/i386-efi/fixvideo.module -usr/lib/grub/i386-efi/font.mod -usr/lib/grub/i386-efi/font.module -usr/lib/grub/i386-efi/fs.lst -usr/lib/grub/i386-efi/fshelp.mod -usr/lib/grub/i386-efi/fshelp.module -usr/lib/grub/i386-efi/functional_test.mod -usr/lib/grub/i386-efi/functional_test.module -usr/lib/grub/i386-efi/gcry_arcfour.mod -usr/lib/grub/i386-efi/gcry_arcfour.module -usr/lib/grub/i386-efi/gcry_blowfish.mod -usr/lib/grub/i386-efi/gcry_blowfish.module -usr/lib/grub/i386-efi/gcry_camellia.mod -usr/lib/grub/i386-efi/gcry_camellia.module -usr/lib/grub/i386-efi/gcry_cast5.mod -usr/lib/grub/i386-efi/gcry_cast5.module -usr/lib/grub/i386-efi/gcry_crc.mod -usr/lib/grub/i386-efi/gcry_crc.module -usr/lib/grub/i386-efi/gcry_des.mod -usr/lib/grub/i386-efi/gcry_des.module -usr/lib/grub/i386-efi/gcry_md4.mod -usr/lib/grub/i386-efi/gcry_md4.module -usr/lib/grub/i386-efi/gcry_md5.mod -usr/lib/grub/i386-efi/gcry_md5.module -usr/lib/grub/i386-efi/gcry_rfc2268.mod -usr/lib/grub/i386-efi/gcry_rfc2268.module -usr/lib/grub/i386-efi/gcry_rijndael.mod -usr/lib/grub/i386-efi/gcry_rijndael.module -usr/lib/grub/i386-efi/gcry_rmd160.mod -usr/lib/grub/i386-efi/gcry_rmd160.module -usr/lib/grub/i386-efi/gcry_seed.mod -usr/lib/grub/i386-efi/gcry_seed.module -usr/lib/grub/i386-efi/gcry_serpent.mod -usr/lib/grub/i386-efi/gcry_serpent.module -usr/lib/grub/i386-efi/gcry_sha1.mod -usr/lib/grub/i386-efi/gcry_sha1.module -usr/lib/grub/i386-efi/gcry_sha256.mod -usr/lib/grub/i386-efi/gcry_sha256.module -usr/lib/grub/i386-efi/gcry_sha512.mod -usr/lib/grub/i386-efi/gcry_sha512.module -usr/lib/grub/i386-efi/gcry_tiger.mod -usr/lib/grub/i386-efi/gcry_tiger.module -usr/lib/grub/i386-efi/gcry_twofish.mod -usr/lib/grub/i386-efi/gcry_twofish.module -usr/lib/grub/i386-efi/gcry_whirlpool.mod -usr/lib/grub/i386-efi/gcry_whirlpool.module -usr/lib/grub/i386-efi/gdb.mod -usr/lib/grub/i386-efi/gdb.module -usr/lib/grub/i386-efi/gdb_grub -usr/lib/grub/i386-efi/geli.mod -usr/lib/grub/i386-efi/geli.module -usr/lib/grub/i386-efi/gettext.mod -usr/lib/grub/i386-efi/gettext.module -usr/lib/grub/i386-efi/gfxmenu.mod -usr/lib/grub/i386-efi/gfxmenu.module -usr/lib/grub/i386-efi/gfxterm.mod -usr/lib/grub/i386-efi/gfxterm.module -usr/lib/grub/i386-efi/gmodule.pl -usr/lib/grub/i386-efi/gptsync.mod -usr/lib/grub/i386-efi/gptsync.module -usr/lib/grub/i386-efi/gzio.mod -usr/lib/grub/i386-efi/gzio.module -usr/lib/grub/i386-efi/halt.mod -usr/lib/grub/i386-efi/halt.module -usr/lib/grub/i386-efi/hashsum.mod -usr/lib/grub/i386-efi/hashsum.module -usr/lib/grub/i386-efi/hdparm.mod -usr/lib/grub/i386-efi/hdparm.module -usr/lib/grub/i386-efi/hello.mod -usr/lib/grub/i386-efi/hello.module -usr/lib/grub/i386-efi/help.mod -usr/lib/grub/i386-efi/help.module -usr/lib/grub/i386-efi/hexdump.mod -usr/lib/grub/i386-efi/hexdump.module -usr/lib/grub/i386-efi/hfs.mod -usr/lib/grub/i386-efi/hfs.module -usr/lib/grub/i386-efi/hfsplus.mod -usr/lib/grub/i386-efi/hfsplus.module -usr/lib/grub/i386-efi/http.mod -usr/lib/grub/i386-efi/http.module -usr/lib/grub/i386-efi/iorw.mod -usr/lib/grub/i386-efi/iorw.module -usr/lib/grub/i386-efi/iso9660.mod -usr/lib/grub/i386-efi/iso9660.module -usr/lib/grub/i386-efi/jfs.mod -usr/lib/grub/i386-efi/jfs.module -usr/lib/grub/i386-efi/jpeg.mod -usr/lib/grub/i386-efi/jpeg.module -usr/lib/grub/i386-efi/kernel.exec -usr/lib/grub/i386-efi/kernel.img -usr/lib/grub/i386-efi/keylayouts.mod -usr/lib/grub/i386-efi/keylayouts.module -usr/lib/grub/i386-efi/keystatus.mod -usr/lib/grub/i386-efi/keystatus.module -usr/lib/grub/i386-efi/ldm.mod -usr/lib/grub/i386-efi/ldm.module -usr/lib/grub/i386-efi/linux.mod -usr/lib/grub/i386-efi/linux.module -usr/lib/grub/i386-efi/loadbios.mod -usr/lib/grub/i386-efi/loadbios.module -usr/lib/grub/i386-efi/loadenv.mod -usr/lib/grub/i386-efi/loadenv.module -usr/lib/grub/i386-efi/loopback.mod -usr/lib/grub/i386-efi/loopback.module -usr/lib/grub/i386-efi/ls.mod -usr/lib/grub/i386-efi/ls.module -usr/lib/grub/i386-efi/lsacpi.mod -usr/lib/grub/i386-efi/lsacpi.module -usr/lib/grub/i386-efi/lsefimmap.mod -usr/lib/grub/i386-efi/lsefimmap.module -usr/lib/grub/i386-efi/lsefisystab.mod -usr/lib/grub/i386-efi/lsefisystab.module -usr/lib/grub/i386-efi/lsmmap.mod -usr/lib/grub/i386-efi/lsmmap.module -usr/lib/grub/i386-efi/lspci.mod -usr/lib/grub/i386-efi/lspci.module -usr/lib/grub/i386-efi/lssal.mod -usr/lib/grub/i386-efi/lssal.module -usr/lib/grub/i386-efi/luks.mod -usr/lib/grub/i386-efi/luks.module -usr/lib/grub/i386-efi/lvm.mod -usr/lib/grub/i386-efi/lvm.module -usr/lib/grub/i386-efi/lzopio.mod -usr/lib/grub/i386-efi/lzopio.module -usr/lib/grub/i386-efi/mdraid09.mod -usr/lib/grub/i386-efi/mdraid09.module -usr/lib/grub/i386-efi/mdraid09_be.mod -usr/lib/grub/i386-efi/mdraid09_be.module -usr/lib/grub/i386-efi/mdraid1x.mod -usr/lib/grub/i386-efi/mdraid1x.module -usr/lib/grub/i386-efi/memdisk.mod -usr/lib/grub/i386-efi/memdisk.module -usr/lib/grub/i386-efi/memrw.mod -usr/lib/grub/i386-efi/memrw.module -usr/lib/grub/i386-efi/minicmd.mod -usr/lib/grub/i386-efi/minicmd.module -usr/lib/grub/i386-efi/minix.mod -usr/lib/grub/i386-efi/minix.module -usr/lib/grub/i386-efi/minix2.mod -usr/lib/grub/i386-efi/minix2.module -usr/lib/grub/i386-efi/minix2_be.mod -usr/lib/grub/i386-efi/minix2_be.module -usr/lib/grub/i386-efi/minix3.mod -usr/lib/grub/i386-efi/minix3.module -usr/lib/grub/i386-efi/minix3_be.mod -usr/lib/grub/i386-efi/minix3_be.module -usr/lib/grub/i386-efi/minix_be.mod -usr/lib/grub/i386-efi/minix_be.module -usr/lib/grub/i386-efi/mmap.mod -usr/lib/grub/i386-efi/mmap.module -usr/lib/grub/i386-efi/moddep.lst -usr/lib/grub/i386-efi/modinfo.sh -usr/lib/grub/i386-efi/msdospart.mod -usr/lib/grub/i386-efi/msdospart.module -usr/lib/grub/i386-efi/multiboot.mod -usr/lib/grub/i386-efi/multiboot.module -usr/lib/grub/i386-efi/multiboot2.mod -usr/lib/grub/i386-efi/multiboot2.module -usr/lib/grub/i386-efi/net.mod -usr/lib/grub/i386-efi/net.module -usr/lib/grub/i386-efi/newc.mod -usr/lib/grub/i386-efi/newc.module -usr/lib/grub/i386-efi/nilfs2.mod -usr/lib/grub/i386-efi/nilfs2.module -usr/lib/grub/i386-efi/normal.mod -usr/lib/grub/i386-efi/normal.module -usr/lib/grub/i386-efi/ntfs.mod -usr/lib/grub/i386-efi/ntfs.module -usr/lib/grub/i386-efi/ntfscomp.mod -usr/lib/grub/i386-efi/ntfscomp.module -usr/lib/grub/i386-efi/odc.mod -usr/lib/grub/i386-efi/odc.module -usr/lib/grub/i386-efi/ohci.mod -usr/lib/grub/i386-efi/ohci.module -usr/lib/grub/i386-efi/part_acorn.mod -usr/lib/grub/i386-efi/part_acorn.module -usr/lib/grub/i386-efi/part_amiga.mod -usr/lib/grub/i386-efi/part_amiga.module -usr/lib/grub/i386-efi/part_apple.mod -usr/lib/grub/i386-efi/part_apple.module -usr/lib/grub/i386-efi/part_bsd.mod -usr/lib/grub/i386-efi/part_bsd.module -usr/lib/grub/i386-efi/part_dvh.mod -usr/lib/grub/i386-efi/part_dvh.module -usr/lib/grub/i386-efi/part_gpt.mod -usr/lib/grub/i386-efi/part_gpt.module -usr/lib/grub/i386-efi/part_msdos.mod -usr/lib/grub/i386-efi/part_msdos.module -usr/lib/grub/i386-efi/part_plan.mod -usr/lib/grub/i386-efi/part_plan.module -usr/lib/grub/i386-efi/part_sun.mod -usr/lib/grub/i386-efi/part_sun.module -usr/lib/grub/i386-efi/part_sunpc.mod -usr/lib/grub/i386-efi/part_sunpc.module -usr/lib/grub/i386-efi/partmap.lst -usr/lib/grub/i386-efi/parttool.lst -usr/lib/grub/i386-efi/parttool.mod -usr/lib/grub/i386-efi/parttool.module -usr/lib/grub/i386-efi/password.mod -usr/lib/grub/i386-efi/password.module -usr/lib/grub/i386-efi/password_pbkdf2.mod -usr/lib/grub/i386-efi/password_pbkdf2.module -usr/lib/grub/i386-efi/pata.mod -usr/lib/grub/i386-efi/pata.module -usr/lib/grub/i386-efi/pbkdf2.mod -usr/lib/grub/i386-efi/pbkdf2.module -usr/lib/grub/i386-efi/play.mod -usr/lib/grub/i386-efi/play.module -usr/lib/grub/i386-efi/png.mod -usr/lib/grub/i386-efi/png.module -usr/lib/grub/i386-efi/priority_queue.mod -usr/lib/grub/i386-efi/priority_queue.module -usr/lib/grub/i386-efi/probe.mod -usr/lib/grub/i386-efi/probe.module -usr/lib/grub/i386-efi/raid5rec.mod -usr/lib/grub/i386-efi/raid5rec.module -usr/lib/grub/i386-efi/raid6rec.mod -usr/lib/grub/i386-efi/raid6rec.module -usr/lib/grub/i386-efi/read.mod -usr/lib/grub/i386-efi/read.module -usr/lib/grub/i386-efi/reboot.mod -usr/lib/grub/i386-efi/reboot.module -usr/lib/grub/i386-efi/regexp.mod -usr/lib/grub/i386-efi/regexp.module -usr/lib/grub/i386-efi/reiserfs.mod -usr/lib/grub/i386-efi/reiserfs.module -usr/lib/grub/i386-efi/relocator.mod -usr/lib/grub/i386-efi/relocator.module -usr/lib/grub/i386-efi/romfs.mod -usr/lib/grub/i386-efi/romfs.module -usr/lib/grub/i386-efi/scsi.mod -usr/lib/grub/i386-efi/scsi.module -usr/lib/grub/i386-efi/search.mod -usr/lib/grub/i386-efi/search.module -usr/lib/grub/i386-efi/search_fs_file.mod -usr/lib/grub/i386-efi/search_fs_file.module -usr/lib/grub/i386-efi/search_fs_uuid.mod -usr/lib/grub/i386-efi/search_fs_uuid.module -usr/lib/grub/i386-efi/search_label.mod -usr/lib/grub/i386-efi/search_label.module -usr/lib/grub/i386-efi/serial.mod -usr/lib/grub/i386-efi/serial.module -usr/lib/grub/i386-efi/setjmp.mod -usr/lib/grub/i386-efi/setjmp.module -usr/lib/grub/i386-efi/setpci.mod -usr/lib/grub/i386-efi/setpci.module -usr/lib/grub/i386-efi/sfs.mod -usr/lib/grub/i386-efi/sfs.module -usr/lib/grub/i386-efi/sleep.mod -usr/lib/grub/i386-efi/sleep.module -usr/lib/grub/i386-efi/squash4.mod -usr/lib/grub/i386-efi/squash4.module -usr/lib/grub/i386-efi/tar.mod -usr/lib/grub/i386-efi/tar.module -usr/lib/grub/i386-efi/terminal.lst -usr/lib/grub/i386-efi/terminal.mod -usr/lib/grub/i386-efi/terminal.module -usr/lib/grub/i386-efi/terminfo.mod -usr/lib/grub/i386-efi/terminfo.module -usr/lib/grub/i386-efi/test.mod -usr/lib/grub/i386-efi/test.module -usr/lib/grub/i386-efi/test_blockarg.mod -usr/lib/grub/i386-efi/test_blockarg.module -usr/lib/grub/i386-efi/testload.mod -usr/lib/grub/i386-efi/testload.module -usr/lib/grub/i386-efi/tftp.mod -usr/lib/grub/i386-efi/tftp.module -usr/lib/grub/i386-efi/tga.mod -usr/lib/grub/i386-efi/tga.module -usr/lib/grub/i386-efi/time.mod -usr/lib/grub/i386-efi/time.module -usr/lib/grub/i386-efi/trig.mod -usr/lib/grub/i386-efi/trig.module -usr/lib/grub/i386-efi/true.mod -usr/lib/grub/i386-efi/true.module -usr/lib/grub/i386-efi/udf.mod -usr/lib/grub/i386-efi/udf.module -usr/lib/grub/i386-efi/ufs1.mod -usr/lib/grub/i386-efi/ufs1.module -usr/lib/grub/i386-efi/ufs2.mod -usr/lib/grub/i386-efi/ufs2.module -usr/lib/grub/i386-efi/uhci.mod -usr/lib/grub/i386-efi/uhci.module -usr/lib/grub/i386-efi/usb.mod -usr/lib/grub/i386-efi/usb.module -usr/lib/grub/i386-efi/usb_keyboard.mod -usr/lib/grub/i386-efi/usb_keyboard.module -usr/lib/grub/i386-efi/usbms.mod -usr/lib/grub/i386-efi/usbms.module -usr/lib/grub/i386-efi/usbserial_common.mod -usr/lib/grub/i386-efi/usbserial_common.module -usr/lib/grub/i386-efi/usbserial_ftdi.mod -usr/lib/grub/i386-efi/usbserial_ftdi.module -usr/lib/grub/i386-efi/usbserial_pl2303.mod -usr/lib/grub/i386-efi/usbserial_pl2303.module -usr/lib/grub/i386-efi/usbtest.mod -usr/lib/grub/i386-efi/usbtest.module -usr/lib/grub/i386-efi/video.lst -usr/lib/grub/i386-efi/video.mod -usr/lib/grub/i386-efi/video.module -usr/lib/grub/i386-efi/video_bochs.mod -usr/lib/grub/i386-efi/video_bochs.module -usr/lib/grub/i386-efi/video_cirrus.mod -usr/lib/grub/i386-efi/video_cirrus.module -usr/lib/grub/i386-efi/video_fb.mod -usr/lib/grub/i386-efi/video_fb.module -usr/lib/grub/i386-efi/videoinfo.mod -usr/lib/grub/i386-efi/videoinfo.module -usr/lib/grub/i386-efi/videotest.mod -usr/lib/grub/i386-efi/videotest.module -usr/lib/grub/i386-efi/xfs.mod -usr/lib/grub/i386-efi/xfs.module -usr/lib/grub/i386-efi/xnu.mod -usr/lib/grub/i386-efi/xnu.module -usr/lib/grub/i386-efi/xnu_uuid.mod -usr/lib/grub/i386-efi/xnu_uuid.module -usr/lib/grub/i386-efi/xzio.mod -usr/lib/grub/i386-efi/xzio.module -usr/lib/grub/i386-efi/zfs.mod -usr/lib/grub/i386-efi/zfs.module -usr/lib/grub/i386-efi/zfscrypt.mod -usr/lib/grub/i386-efi/zfscrypt.module -usr/lib/grub/i386-efi/zfsinfo.mod -usr/lib/grub/i386-efi/zfsinfo.module ->>>>>>> Enhance the flash image to support EFI usr/lib/grub/i386-pc #usr/lib/grub/i386-pc/acpi.mod #usr/lib/grub/i386-pc/acpi.module @@ -578,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 @@ -1027,7 +595,12 @@ 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 From 3deac294f5760a00e42eec0265ded0b10e9291ee Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 16 Jul 2018 22:35:21 +0100 Subject: [PATCH 48/62] cdrom: mkisofs seems to not like the order of the arguments Signed-off-by: Michael Tremer --- lfs/cdrom | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lfs/cdrom b/lfs/cdrom index 7fa3999c2..faaa3dff1 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -56,14 +56,6 @@ ISO_ARGS = -J -r -v \ ISOHYBRID_ARGS = -ifeq "$(EFI)" "1" - ISO_ARGS += \ - -eltorito-alt-boot \ - -e boot/isolinux/efiboot.img - - ISOHYBRID_ARGS += --uefi -endif - ifeq "$(HAS_ISOLINUX)" "1" ISO_ARGS += \ -no-emul-boot \ @@ -73,6 +65,14 @@ ifeq "$(HAS_ISOLINUX)" "1" -c boot/isolinux/boot.catalog endif +ifeq "$(EFI)" "1" + ISO_ARGS += \ + -eltorito-alt-boot \ + -e boot/isolinux/efiboot.img + + ISOHYBRID_ARGS += --uefi +endif + ############################################################################### # Top-level Rules ############################################################################### From 46a4581db662d70e781d59782d2e24a4c2968968 Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Fri, 20 Jul 2018 12:24:49 +0100 Subject: [PATCH 49/62] flash-image: use FAT for /boot partition on aarch64 Signed-off-by: Arne Fitzenreiter --- lfs/flash-images | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lfs/flash-images b/lfs/flash-images index 55ffd0e81..1f7833250 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -59,12 +59,15 @@ MNThdd := /install/harddisk IMG := /install/images/image.img # All sizes in blocks -ifeq "$(BUILD_ARCH)" "armv5tel" +ifeq "$(BUILD_PLATFORM)" "arm" BOOTLOADER = S_OFFSET = 8192 # FAT32 PART_TYPE = c +ifeq "$(BUILD_ARCH)" "aarch64" + BOOTLOADER = grub +endif else BOOTLOADER = grub S_OFFSET = 8192 From c1397b7ab39e6ddeed64e3c63ff7012f5659df84 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 20 Jul 2018 11:34:55 +0000 Subject: [PATCH 50/62] update-bootloader: Extend script to support EFI Signed-off-by: Michael Tremer --- src/scripts/update-bootloader | 55 ++++++++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/src/scripts/update-bootloader b/src/scripts/update-bootloader index ad6fdb642..64b0e125b 100644 --- a/src/scripts/update-bootloader +++ b/src/scripts/update-bootloader @@ -21,7 +21,7 @@ # # ############################################################################ -GRUB_INSTALL_ARGS="--no-floppy --recheck" +GRUB_INSTALL_ARGS="--no-floppy --recheck --force" function find_bootloader_device() { local mp @@ -99,15 +99,54 @@ 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() { From eadde44b05294152f88eeeb2401622dac6fd0f00 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 20 Jul 2018 11:47:35 +0000 Subject: [PATCH 51/62] update-bootloader: Allow passing device to install GRUB on Signed-off-by: Michael Tremer --- src/scripts/update-bootloader | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/src/scripts/update-bootloader b/src/scripts/update-bootloader index 64b0e125b..9c7869613 100644 --- a/src/scripts/update-bootloader +++ b/src/scripts/update-bootloader @@ -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 } @@ -150,32 +150,41 @@ function grub_install() { } 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 $? From befc0404976287adfd52f76dd9c3a4ab6afe2ab9 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 20 Jul 2018 11:51:50 +0000 Subject: [PATCH 52/62] Move update-bootloader script into installer Signed-off-by: Michael Tremer --- config/rootfiles/common/aarch64/stage2 | 1 - config/rootfiles/common/installer | 1 + config/rootfiles/common/stage2 | 1 - config/rootfiles/common/x86_64/stage2 | 1 - src/installer/Makefile.am | 1 + src/{scripts/update-bootloader => installer/install-bootloader} | 0 6 files changed, 2 insertions(+), 3 deletions(-) rename src/{scripts/update-bootloader => installer/install-bootloader} (100%) diff --git a/config/rootfiles/common/aarch64/stage2 b/config/rootfiles/common/aarch64/stage2 index 70a33d659..110114c47 100644 --- a/config/rootfiles/common/aarch64/stage2 +++ b/config/rootfiles/common/aarch64/stage2 @@ -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/installer b/config/rootfiles/common/installer index ff8cda598..d4abb97aa 100644 --- a/config/rootfiles/common/installer +++ b/config/rootfiles/common/installer @@ -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 diff --git a/config/rootfiles/common/stage2 b/config/rootfiles/common/stage2 index a5ba6ae26..5665f2301 100644 --- a/config/rootfiles/common/stage2 +++ b/config/rootfiles/common/stage2 @@ -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/stage2 b/config/rootfiles/common/x86_64/stage2 index 70a33d659..110114c47 100644 --- a/config/rootfiles/common/x86_64/stage2 +++ b/config/rootfiles/common/x86_64/stage2 @@ -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/src/installer/Makefile.am b/src/installer/Makefile.am index d0e52dc18..32f01bfa6 100644 --- a/src/installer/Makefile.am +++ b/src/installer/Makefile.am @@ -35,6 +35,7 @@ bin_PROGRAMS = \ bin_SCRIPTS = \ downloadsource.sh \ execute-postinstall.sh \ + install-bootloader \ start-networking.sh #- installer ------------------------------------------------------------------- diff --git a/src/scripts/update-bootloader b/src/installer/install-bootloader similarity index 100% rename from src/scripts/update-bootloader rename to src/installer/install-bootloader From 43829df3bbc85e0bbdddbafeb91fd2fe6bccb6de Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 20 Jul 2018 11:53:24 +0000 Subject: [PATCH 53/62] partresize: Only regenerate configuration instead of re-installing GRUB This should not be necessary Signed-off-by: Michael Tremer --- src/initscripts/system/partresize | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/initscripts/system/partresize b/src/initscripts/system/partresize index 819d12885..8f8464129 100644 --- a/src/initscripts/system/partresize +++ b/src/initscripts/system/partresize @@ -38,7 +38,9 @@ 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 From 6cf5a533f50256e961023bed8300eef178ac398f Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 20 Jul 2018 11:53:55 +0000 Subject: [PATCH 54/62] partresize: Remove debugging line Signed-off-by: Michael Tremer --- src/initscripts/system/partresize | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/initscripts/system/partresize b/src/initscripts/system/partresize index 8f8464129..2fad11251 100644 --- a/src/initscripts/system/partresize +++ b/src/initscripts/system/partresize @@ -44,8 +44,6 @@ case "${1}" in fi umount /boot > /dev/null - sleep 30 - # Detect device mount | while read -r dev tmp1 mountpoint tmp2; do [ "${dev}" = "rootfs" ] && continue From 12034118dd0cf631efef85edc5d0944055a7ef5f Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 20 Jul 2018 11:59:00 +0000 Subject: [PATCH 55/62] installer: Run install-bootloader script instead of own code This allows us to keep the GRUB installation routine in one place only. Signed-off-by: Michael Tremer --- src/installer/hw.c | 47 ++-------------------------------------------- src/installer/hw.h | 3 --- 2 files changed, 2 insertions(+), 48 deletions(-) diff --git a/src/installer/hw.c b/src/installer/hw.c index 3bd748036..c9b95017d 100644 --- a/src/installer/hw.c +++ b/src/installer/hw.c @@ -78,11 +78,6 @@ struct hw* hw_init() { if (ret == 0) snprintf(hw->arch, sizeof(hw->arch), "%s", uname_data.machine); - // Detect if we are running in EFI mode - ret = access("/sys/firmware/efi", R_OK); - if (ret == 0) - hw->efi_supported = 1; - // Should we install in EFI mode? if ((strcmp(hw->arch, "x86_64") == 0) || (strcmp(hw->arch, "aarch64") == 0)) hw->efi = 1; @@ -1041,47 +1036,9 @@ int hw_stop_all_raid_arrays(const char* output) { int hw_install_bootloader(struct hw* hw, struct hw_destination* dest, const char* output) { char cmd[STRING_SIZE]; - int r; - char cmd_grub[STRING_SIZE]; - snprintf(cmd_grub, sizeof(cmd_grub), "/usr/sbin/grub-install --target=i386-pc" - " --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); - if (r) - return r; - } else { - snprintf(cmd, sizeof(cmd), "%s %s", cmd_grub, dest->path); - r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd); - if (r) - return r; - } - - // Install GRUB in EFI mode - if (hw->efi) { - for (int removable = 0; removable < 1; removable++) { - snprintf(cmd, sizeof(cmd), "/usr/sbin/grub-install" - " --target=%s-efi --efi-directory=%s %s %s", - hw->arch, HW_PATH_BOOT_EFI, - (hw->efi_supported) ? "" : "--no-nvram", - (removable) ? "--removable" : ""); - - r = system_chroot(output, DESTINATION_MOUNT_PATH, cmd); - if (r) - return 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; diff --git a/src/installer/hw.h b/src/installer/hw.h index 4e0afc431..9fe69271e 100644 --- a/src/installer/hw.h +++ b/src/installer/hw.h @@ -63,9 +63,6 @@ struct hw { // Enabled if we should install in EFI mode int efi; - - // Enabled if this system supports EFI - int efi_supported; }; struct hw_disk { From 9023689d739e040b3e881886a19a6502b24c237f Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Sat, 21 Jul 2018 16:33:29 +0200 Subject: [PATCH 56/62] flash-images: fix partition layout on i586 Signed-off-by: Arne Fitzenreiter --- lfs/flash-images | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lfs/flash-images b/lfs/flash-images index 1f7833250..b78691e08 100644 --- a/lfs/flash-images +++ b/lfs/flash-images @@ -92,7 +92,7 @@ PADDING = 100 # MB ifeq "$(EFI)" "1" SFDISK = $(SFDISK_BOOT)$(SFDISK_EFI)$(SFDISK_ROOT) else - SFDISK = $(SFDISK_BOOT)$(SFDISK_ROOT) + SFDISK = $(SFDISK_BOOT),0,0\n$(SFDISK_ROOT) endif SFDISK_BOOT = $(S_OFFSET),$(S_BOOT),$(PART_TYPE),*\n From 948d660c10d8f384484bc0cc4a9391a55a5c570c Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Sat, 21 Jul 2018 16:39:46 +0200 Subject: [PATCH 57/62] syslinux: update i586 rootfile Signed-off-by: Arne Fitzenreiter --- config/rootfiles/common/i586/syslinux | 80 ++++++++++++++++++++++----- 1 file changed, 67 insertions(+), 13 deletions(-) diff --git a/config/rootfiles/common/i586/syslinux b/config/rootfiles/common/i586/syslinux index 89cf5c844..0322239d0 100644 --- a/config/rootfiles/common/i586/syslinux +++ b/config/rootfiles/common/i586/syslinux @@ -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 From 5dd9140a4477ea6f295936ee723ae3097f11810c Mon Sep 17 00:00:00 2001 From: Arne Fitzenreiter Date: Sun, 22 Jul 2018 13:41:38 +0200 Subject: [PATCH 58/62] grub: apply vga fallback disable patch again on some systems (e.g. J1900 based) grub detects a too low resolution and use it. This is no problem in grub itself but the kernel not render the consoles in this mode. Signed-off-by: Arne Fitzenreiter --- lfs/grub | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lfs/grub b/lfs/grub index 51bbc7859..b51566df3 100644 --- a/lfs/grub +++ b/lfs/grub @@ -98,6 +98,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @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 + # Install unifont cp -v $(DIR_DL)/unifont-7.0.03.pcf.gz $(DIR_APP)/unifont.pcf.gz From 5d657243cf2c0e68412003ac9e8cb76a1c967a5f Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Sun, 22 Jul 2018 22:31:30 +0100 Subject: [PATCH 59/62] cdrom: The order of arguments for mkisofs seems to be relevant Signed-off-by: Michael Tremer --- lfs/cdrom | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lfs/cdrom b/lfs/cdrom index faaa3dff1..d91af1817 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -67,8 +67,8 @@ endif ifeq "$(EFI)" "1" ISO_ARGS += \ - -eltorito-alt-boot \ - -e boot/isolinux/efiboot.img + -e boot/isolinux/efiboot.img \ + -eltorito-alt-boot ISOHYBRID_ARGS += --uefi endif From 0efda7ac67d7e16c555bc6d07d1808a8480fa94b Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Mon, 23 Jul 2018 23:10:36 +0100 Subject: [PATCH 60/62] cdrom: Re-order arguments again Signed-off-by: Michael Tremer --- lfs/cdrom | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lfs/cdrom b/lfs/cdrom index d91af1817..37fb3329f 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -67,8 +67,9 @@ endif ifeq "$(EFI)" "1" ISO_ARGS += \ + -eltorito-alt-boot \ -e boot/isolinux/efiboot.img \ - -eltorito-alt-boot + -no-emul-boot ISOHYBRID_ARGS += --uefi endif From de7c8df83e23e82a4b757b6283ae06d2cd8eb14f Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 25 Jul 2018 10:54:35 +0100 Subject: [PATCH 61/62] cdrom: Move list of EFI modules to lfs/cdrom Signed-off-by: Michael Tremer --- lfs/Config | 57 ------------------------------------------------------ lfs/cdrom | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 53 insertions(+), 58 deletions(-) diff --git a/lfs/Config b/lfs/Config index 63ca29541..516fb1cab 100644 --- a/lfs/Config +++ b/lfs/Config @@ -92,63 +92,6 @@ ifeq "$(BUILD_ARCH)" "aarch64" GRUB_ARCH = arm64 endif -# Basic modules -GRUB_EFI_MODULES = \ - configfile \ - gzio \ - linux \ - loadenv \ - normal \ - regexp - -# Stuff for accessing file systems -GRUB_EFI_MODULES += \ - ext2 \ - fat \ - iso9660 \ - part_gpt \ - part_msdos \ - udf - -# Graphics & IO -GRUB_EFI_MODULES += \ - all_video \ - bitmap_scale \ - font \ - gfxmenu \ - gfxterm \ - jpeg \ - png \ - tga - -# Commands -GRUB_EFI_MODULES += \ - boot \ - cat \ - chain \ - echo \ - halt \ - help \ - ls \ - minicmd \ - probe \ - reboot \ - search \ - search_fs_file \ - search_fs_uuid \ - search_label \ - test \ - true - -# Platform dependent modules -ifeq "$(BUILD_ARCH)" "x86_64" - GRUB_EFI_MODULES += \ - loadbios \ - ahci \ - at_keyboard \ - usb_keyboard -endif - ############################################################################### # Common Macro Definitions ############################################################################### diff --git a/lfs/cdrom b/lfs/cdrom index 37fb3329f..5faaa1704 100644 --- a/lfs/cdrom +++ b/lfs/cdrom @@ -74,6 +74,58 @@ ifeq "$(EFI)" "1" 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 ############################################################################### @@ -164,7 +216,7 @@ ifeq "$(EFI)" "1" --config=/tmp/grub-efi.cfg \ --compression=xz \ --prefix=/EFI/BOOT \ - $(GRUB_EFI_MODULES) + $$(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 From 87589bce0019b92911fab529b3a010a50cbdaa04 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 31 Jul 2018 16:36:09 +0100 Subject: [PATCH 62/62] backup: Make backup ISO bootable on EFI Signed-off-by: Michael Tremer --- src/scripts/backupiso | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/src/scripts/backupiso b/src/scripts/backupiso index caafe92fe..4655f7e4a 100644 --- a/src/scripts/backupiso +++ b/src/scripts/backupiso @@ -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}