diff options
Diffstat (limited to 'arch/ppc/boot/Makefile')
-rw-r--r-- | arch/ppc/boot/Makefile | 77 |
1 files changed, 50 insertions, 27 deletions
diff --git a/arch/ppc/boot/Makefile b/arch/ppc/boot/Makefile index 5dcac750e..a731ec2a0 100644 --- a/arch/ppc/boot/Makefile +++ b/arch/ppc/boot/Makefile @@ -22,58 +22,81 @@ $(CC) -D__ASSEMBLY__ -traditional -c -o $*.o $< -ZLINKFLAGS = -T ../ld.script -Ttext 0x00800000 +ZLINKFLAGS = -T ../vmlinux.lds -Ttext 0x00800000 GZIP_FLAGS = -v9 SYSTEM = $(TOPDIR)/vmlinux - -OBJECTS = head.o inflate.o unzip.o misc.o vreset.o - +OBJECTS := head.o inflate.o unzip.o misc.o vreset.o kbd.o CFLAGS = -O2 -DSTDC_HEADERS -I$(TOPDIR)/include +OBJCOPY = $(CROSS_COMPILE)objcopy +OBJCOPY_ARGS = -O elf32-powerpc + all: $(TOPDIR)/zImage mkprep : mkprep.c $(HOSTCC) $(CFLAGSINC) -o mkprep mkprep.c +piggyback : piggyback.c + $(HOSTCC) $(CFLAGSINC) -o piggyback piggyback.c + find_name : find_name.c $(HOSTCC) $(CFLAGSINC) -o find_name find_name.c -mk_type41: mk_type41.c - $(HOSTCC) $(CFLAGSINC) -o mk_type41 mk_type41.c - -piggyback: piggyback.c - $(HOSTCC) $(CFLAGS) -o piggyback piggyback.c - floppy: $(TOPDIR)/vmlinux zImage dd if=$(TOPDIR)/zImage of=/dev/fd0H1440 bs=64b -netboot : $(TOPDIR)/vmlinux mkprep - mkprep $(TOPDIR)/vmlinux $(TOPDIR)/netboot +floppy.initrd: $(TOPDIR)/vmlinux zImage + dd if=$(TOPDIR)/zImage.initrd of=/dev/fd0H1440 bs=64b + +znetboot : zImage mkprep + cp $(TOPDIR)/zImage /usr/local/tftpboot/vmlinux -znetboot : zvmlinux mkprep - mkprep zvmlinux $(TOPDIR)/znetboot - cp $(TOPDIR)/znetboot /usr/local/tftpboot/vmlinux +znetboot.initrd : zImage.initrd mkprep + cp $(TOPDIR)/zImage.initrd /usr/local/tftpboot/vmlinux -rcpboot : znetboot - rcp $(TOPDIR)/znetboot charon:/usr/tftpboot/vmlinux +# +# This really needs to go away. Perhaps a +# zImage.prep and zImage.chrp might be better. +# Once we're able to get a lilo-ish program +# on prep systems this won't be a problem. +# -- Cort +# +ifdef CONFIG_CHRP +zImage: zvmlinux + cp zvmlinux $(TOPDIR)/zImage +zImage.initrd: zvmlinux.initrd + cp zvmlinux.initrd $(TOPDIR)/zImage.initrd + +zvmlinux: $(OBJECTS) $(SYSTEM) find_name vmlinux.gz piggyback + ./piggyback < vmlinux.gz | $(AS) -o piggy.o + $(LD) $(ZLINKFLAGS) -o $@ $(OBJECTS) piggy.o + rm -f piggy.o +else zImage: zvmlinux mkprep mkprep -pbp zvmlinux $(TOPDIR)/zImage -install: zImage - dd if=$(TOPDIR)/zImage of=/dev/sda4 - ln -s /dev/sda4 $(INSTALL_PATH)/vmlinuz - cp $(TOPDIR)/System.map $(INSTALL_PATH)/ +zImage.initrd: zvmlinux.initrd mkprep + mkprep -pbp zvmlinux.initrd $(TOPDIR)/zImage.initrd -zvmlinux: $(OBJECTS) $(SYSTEM) mkprep find_name - mkprep $(TOPDIR)/vmlinux -|gzip ${GZIP_FLAGS}|mkprep -asm - -|$(AS) -o piggy.o - $(LD) $(ZLINKFLAGS) -o zvmlinux $(OBJECTS) piggy.o - rm -f piggy.o +zvmlinux: $(OBJECTS) $(SYSTEM) mkprep find_name vmlinux.gz + $(LD) $(ZLINKFLAGS) -o zvmlinux.tmp $(OBJECTS) + $(OBJCOPY) $(OBJCOPY_ARGS) --add-section=image=vmlinux.gz \ + zvmlinux.tmp $@ + rm zvmlinux.tmp +endif + +vmlinux.gz: $(TOPDIR)/vmlinux + dd bs=64k skip=1 if=$(TOPDIR)/vmlinux | gzip -vf9 - > vmlinux.gz + +zvmlinux.initrd: zvmlinux + $(OBJCOPY) $(OBJCOPY_ARGS) --add-section=initrd=ramdisk.image.gz \ + zvmlinux $@ clean: - rm -f piggyback zvmlinux mk_type41 mkprep mkboot find_name - rm -f $(TOPDIR)/{zImage,znetboot,netboot} + rm -f vmlinux* znetboot* zImage* zvmlinux* mkprep find_name + rm -f $(TOPDIR)/{zImage*,znetboot*,zvmlinux*,vmlinux*} fastdep: $(TOPDIR)/scripts/mkdep *.[Sch] > .depend |