mirror of
https://github.com/ipxe/ipxe
synced 2025-12-07 09:50:26 +03:00
The .hrom prefix provides an experimental mechanism for reducing option ROM space usage on systems where PMM allocation fails, by pretending that PMM allocation succeeded and gave us an address fixed at compilation time. This is unreliable, and potentially dangerous. In particular, when multiple gPXE ROMs are present in a system, each gPXE ROM will assume ownership of the same fixed address, resulting in undefined behaviour. Signed-off-by: Michael Brown <mcb30@ipxe.org>
67 lines
1.5 KiB
Makefile
67 lines
1.5 KiB
Makefile
# -*- makefile -*- : Force emacs to use Makefile mode
|
|
|
|
# The i386 linker script
|
|
#
|
|
LDSCRIPT = arch/i386/scripts/i386.lds
|
|
|
|
# Stop ld from complaining about our customised linker script
|
|
#
|
|
LDFLAGS += -N --no-check-sections
|
|
|
|
# Media types.
|
|
#
|
|
MEDIA += rom
|
|
MEDIA += pxe
|
|
MEDIA += kpxe
|
|
MEDIA += kkpxe
|
|
MEDIA += lkrn
|
|
MEDIA += dsk
|
|
MEDIA += nbi
|
|
MEDIA += hd
|
|
MEDIA += raw
|
|
|
|
# Padding rules
|
|
#
|
|
PAD_rom = $(PADIMG) --blksize=512 --byte=0xff $@
|
|
PAD_dsk = $(PADIMG) --blksize=512 $@
|
|
PAD_hd = $(PADIMG) --blksize=32768 $@
|
|
|
|
# rule to make a non-emulation ISO boot image
|
|
NON_AUTO_MEDIA += iso
|
|
%iso: %lkrn util/geniso
|
|
$(QM)$(ECHO) " [GENISO] $@"
|
|
$(Q)ISOLINUX_BIN=$(ISOLINUX_BIN) bash util/geniso $@ $<
|
|
|
|
# rule to make a floppy emulation ISO boot image
|
|
NON_AUTO_MEDIA += liso
|
|
%liso: %lkrn util/genliso
|
|
$(QM)$(ECHO) " [GENLISO] $@"
|
|
$(Q)bash util/genliso $@ $<
|
|
|
|
# rule to make a syslinux floppy image (mountable, bootable)
|
|
NON_AUTO_MEDIA += sdsk
|
|
%sdsk: %lkrn util/gensdsk
|
|
$(QM)$(ECHO) " [GENSDSK] $@"
|
|
$(Q)bash util/gensdsk $@ $<
|
|
|
|
# Special target for building Master Boot Record binary
|
|
$(BIN)/mbr.bin : $(BIN)/mbr.o
|
|
$(QM)$(ECHO) " [OBJCOPY] $@"
|
|
$(Q)$(OBJCOPY) -O binary $< $@
|
|
|
|
# rule to make a USB disk image
|
|
$(BIN)/usbdisk.bin : $(BIN)/usbdisk.o
|
|
$(QM)$(ECHO) " [OBJCOPY] $@"
|
|
$(Q)$(OBJCOPY) -O binary $< $@
|
|
|
|
NON_AUTO_MEDIA += usb
|
|
%usb: $(BIN)/usbdisk.bin %hd
|
|
$(QM)$(ECHO) " [FINISH] $@"
|
|
$(Q)cat $^ > $@
|
|
|
|
# Padded floppy image (e.g. for iLO)
|
|
NON_AUTO_MEDIA += pdsk
|
|
%pdsk : %dsk
|
|
$(Q)cp $< $@
|
|
$(Q)$(PADIMG) --blksize=1474560 $@
|