]> git.plutz.net Git - bootimage/blobdiff - Makefile
EFI / BIOS dual configuration
[bootimage] / Makefile
index ff9b317d2b747b76c4dd5b8776c6c9c5103cfb89..493495c952fc0f63778d4b7e68d675295d28b346 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -7,7 +7,7 @@ GROUPS := sudo
 ARCH := amd64
 CONFIG := config_base/
 
-PACKAGES := apt bilibop-lockfs btrfs-tools busybox-static bzip2 ca-certificates cron deborphan gzip htop ifupdown init iputils-ping irqbalance isc-dhcp-client less live-boot live-boot-initramfs-tools make man-db nbd-client net-tools nmap ntpdate openssh-client openssh-server p7zip-full pciutils rsync squashfs-tools sshfs sudo syslinux syslinux-common syslinux-efi systemd unace unrar-free unzip vim wget wireless-tools wpasupplicant xz-utils zip
+PACKAGES := apt bilibop-lockfs btrfs-tools busybox-static bzip2 ca-certificates cron deborphan efibootmgr firmware-linux-free gzip htop ifupdown init iputils-ping irqbalance isc-dhcp-client less live-boot live-boot-initramfs-tools make man-db nbd-client net-tools nmap ntpdate openssh-client openssh-server p7zip-full pciutils rsync squashfs-tools sshfs sudo syslinux syslinux-common syslinux-efi systemd unace unrar-free unzip vim wget wireless-tools wpasupplicant xz-utils zip
 
 include *.mk
 
@@ -48,17 +48,32 @@ stretch_%.squashfs: stretch_%_config/
        rm "$@" || true
        mksquashfs "$<" "$@" -comp xz
 
+vmlinuz: stretch_*_root/
+       ln -fs '$<$@' ./
+
+initrd.img: stretch_*_root/
+       ln -fs '$<$@' ./
+
 /dev/sd%: partitions .FORCE
        sfdisk ${@} <partitions
        dd of=${@} if=/usr/lib/syslinux/mbr/gptmbr.bin
 
-/dev/sd%1: /dev/sd% vmlinuz initrd.img syslinux.cfg .FORCE
+/dev/sd%1: /dev/sd% vmlinuz initrd.img syslinux.cfg syslia32.cfg syslx64.cfg bootmenu.cfg .FORCE
        mkdir -p mount
        mkfs.vfat -n SQUASHBOOT ${@}
        syslinux -i ${@}
        mount -t vfat ${@} mount
-       cp -L vmlinuz initrd.img *.squashfs syslinux.cfg Makefile partitions mount/
-       cp $(addprefix /usr/lib/syslinux/modules/bios/, menu.c32 libutil.c32) mount/
+       mkdir -p $(addprefix mount/, EFI/BOOT efi32 efi64 bios)
+       cp /usr/lib/SYSLINUX.EFI/efi32/syslinux.efi mount/EFI/BOOT/BOOTIA32.EFI
+       cp /usr/lib/SYSLINUX.EFI/efi64/syslinux.efi mount/EFI/BOOT/BOOTX64.EFI
+       cp $(addprefix /usr/lib/syslinux/modules/efi32/, ldlinux.e32 menu.c32 libutil.c32) mount/efi32/
+       cp $(addprefix /usr/lib/syslinux/modules/efi64/, ldlinux.e64 menu.c32 libutil.c32) mount/efi64/
+       cp $(addprefix /usr/lib/syslinux/modules/bios/, menu.c32 libutil.c32) mount/bios/
+       cp -L vmlinuz initrd.img *.squashfs Makefile partitions mount/
+       cp syslia32.cfg syslx64.cfg syslinux.cfg bootmenu.cfg mount/
+       # Temporary workaround, Uncomment for syslinux 6.04+
+       cp $(addprefix /usr/lib/syslinux/modules/, efi32/ldlinux.e32 efi64/ldlinux.e64) mount/EFI/BOOT/
+       cp syslx64.cfg mount/EFI/BOOT/syslinux.cfg
        umount mount/
        sync