summaryrefslogtreecommitdiffstats
path: root/arch/ppc/boot/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ppc/boot/Makefile')
-rw-r--r--arch/ppc/boot/Makefile77
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