1 # SPDX-License-Identifier: GPL-2.0 << 2 # 1 # 3 # arch/microblaze/boot/Makefile !! 2 # arch/alpha/boot/Makefile 4 # 3 # >> 4 # This file is subject to the terms and conditions of the GNU General Public >> 5 # License. See the file "COPYING" in the main directory of this archive >> 6 # for more details. >> 7 # >> 8 # Copyright (C) 1994 by Linus Torvalds >> 9 # >> 10 # Creating a compressed kernel image (arch/alpha/boot/vmlinux.gz) >> 11 # is done via: >> 12 # >> 13 # make boot >> 14 # >> 15 # Creating a BOOTP image (arch/alpha/boot/bootpfile or bootpzfile) >> 16 # is done via: >> 17 # >> 18 # make bootpfile # using an uncompressed kernel >> 19 # make bootpzfile # using a compressed kernel >> 20 # >> 21 # Adding an INITRD image to a BOOTP file (arch/alpha/boot/bootpzfile) >> 22 # can be done, e.g, via: >> 23 # >> 24 # INITRD=`pwd`/initrd.img make bootpzfile >> 25 >> 26 LINKFLAGS = -static -T bootloader.lds #-N -relax >> 27 >> 28 .S.s: >> 29 $(CPP) $(AFLAGS) -traditional -o $*.o $< >> 30 .S.o: >> 31 $(CC) $(AFLAGS) -traditional -c -o $*.o $< >> 32 >> 33 OBJECTS = head.o main.o >> 34 BPOBJECTS = head.o bootp.o >> 35 BPZOBJECTS = head.o bootpz.o misc.o >> 36 TARGETS = vmlinux.gz tools/objstrip # also needed by aboot & milo >> 37 VMLINUX = $(TOPDIR)/vmlinux >> 38 OBJSTRIP = tools/objstrip >> 39 >> 40 all: $(TARGETS) >> 41 @echo Ready to install kernel in $(shell pwd)/vmlinux.gz >> 42 >> 43 # normally no need to build these: >> 44 rawboot: vmlinux.nh tools/lxboot tools/bootlx >> 45 >> 46 msb: tools/lxboot tools/bootlx vmlinux.nh >> 47 ( cat tools/lxboot tools/bootlx vmlinux.nh ) > /dev/rz0a >> 48 disklabel -rw rz0 'linux' tools/lxboot tools/bootlx >> 49 >> 50 bootimage: tools/mkbb tools/lxboot tools/bootlx vmlinux.nh >> 51 ( cat tools/lxboot tools/bootlx vmlinux.nh ) > bootimage >> 52 tools/mkbb bootimage tools/lxboot >> 53 >> 54 bootpfile: tools/bootph vmlinux.nh >> 55 cat tools/bootph vmlinux.nh > bootpfile >> 56 ifdef INITRD >> 57 cat $(INITRD) >> bootpfile >> 58 endif >> 59 >> 60 bootpzfile: tools/bootpzh vmlinux.nh.gz >> 61 cat tools/bootpzh vmlinux.nh.gz > bootpzfile >> 62 ifdef INITRD >> 63 cat $(INITRD) >> bootpzfile >> 64 endif >> 65 >> 66 srmboot: bootdevice bootimage >> 67 dd if=bootimage of=$(BOOTDEV) bs=512 seek=1 skip=1 >> 68 tools/mkbb $(BOOTDEV) tools/lxboot >> 69 >> 70 bootdevice: >> 71 @test "$(BOOTDEV)" != "" || (echo You must specify BOOTDEV ; exit -1) >> 72 >> 73 vmlinux.gz: $(TOPDIR)/vmlinux >> 74 gzip -fv9c $(TOPDIR)/vmlinux > vmlinux.gz >> 75 >> 76 vmlinux.nh.gz: vmlinux.nh >> 77 gzip -fv9c vmlinux.nh > vmlinux.nh.gz >> 78 >> 79 main.o: ksize.h >> 80 >> 81 bootp.o: ksize.h >> 82 >> 83 bootpz.o: kzsize.h >> 84 >> 85 ksize.h: vmlinux.nh dummy >> 86 echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T >> 87 ifdef INITRD >> 88 [ ! \( -f $(INITRD) \) ] || exit 1 >> 89 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T >> 90 endif >> 91 cmp -s $@T $@ || mv -f $@T $@ >> 92 rm -f $@T >> 93 >> 94 kzsize.h: vmlinux.nh.gz dummy >> 95 echo "#define KERNEL_SIZE `ls -l vmlinux.nh | awk '{print $$5}'`" > $@T >> 96 echo "#define KERNEL_Z_SIZE `ls -l vmlinux.nh.gz | awk '{print $$5}'`" >> $@T >> 97 ifdef INITRD >> 98 [ -f $(INITRD) ] || exit 1 >> 99 echo "#define INITRD_IMAGE_SIZE `ls -l $(INITRD) | awk '{print $$5}'`" >> $@T >> 100 endif >> 101 cmp -s $@T $@ || mv -f $@T $@ >> 102 rm -f $@T >> 103 >> 104 vmlinux.nh: $(VMLINUX) $(OBJSTRIP) >> 105 $(OBJSTRIP) -v $(VMLINUX) vmlinux.nh >> 106 >> 107 vmlinux: $(VMLINUX) >> 108 $(STRIP) -o vmlinux $(VMLINUX) >> 109 >> 110 tools/lxboot: $(OBJSTRIP) bootloader >> 111 $(OBJSTRIP) -p bootloader tools/lxboot >> 112 >> 113 tools/bootlx: bootloader $(OBJSTRIP) >> 114 $(OBJSTRIP) -vb bootloader tools/bootlx 5 115 6 targets := linux.bin linux.bin.gz linux.bin.ub !! 116 tools/bootph: bootpheader $(OBJSTRIP) >> 117 $(OBJSTRIP) -vb bootpheader tools/bootph 7 118 8 OBJCOPYFLAGS := -R .note -R .comment -R .note. !! 119 tools/bootpzh: bootpzheader $(OBJSTRIP) >> 120 $(OBJSTRIP) -vb bootpzheader tools/bootpzh 9 121 10 $(obj)/linux.bin: vmlinux FORCE !! 122 $(OBJSTRIP): $(OBJSTRIP).c 11 $(call if_changed,objcopy) !! 123 $(HOSTCC) $(HOSTCFLAGS) -I$(HPATH) $(OBJSTRIP).c -o $(OBJSTRIP) 12 124 13 $(obj)/linux.bin.ub: $(obj)/linux.bin FORCE !! 125 tools/mkbb: tools/mkbb.c 14 $(call if_changed,uimage) !! 126 $(HOSTCC) tools/mkbb.c -o tools/mkbb 15 127 16 $(obj)/linux.bin.gz: $(obj)/linux.bin FORCE !! 128 bootloader: $(OBJECTS) 17 $(call if_changed,gzip) !! 129 $(LD) $(LINKFLAGS) $(OBJECTS) $(LIBS) -o bootloader 18 130 19 quiet_cmd_strip = STRIP $< $@$2 !! 131 bootpheader: $(BPOBJECTS) 20 cmd_strip = $(STRIP) -K microblaze_sta !! 132 $(LD) $(LINKFLAGS) $(BPOBJECTS) $(LIBS) -o bootpheader 21 -K _fdt_start << 22 133 23 UIMAGE_LOADADDR = $(CONFIG_KERNEL_BASE_ADDR) !! 134 bootpzheader: $(BPZOBJECTS) >> 135 $(LD) $(LINKFLAGS) $(BPZOBJECTS) $(LIBS) -o bootpzheader 24 136 25 $(obj)/simpleImage.$(DTB): vmlinux FORCE !! 137 misc.o: misc.c $(TOPDIR)/lib/inflate.c 26 $(call if_changed,objcopy) << 27 138 28 $(obj)/simpleImage.$(DTB).ub: $(obj)/simpleIma !! 139 clean: 29 $(call if_changed,uimage) !! 140 rm -f $(TARGETS) bootloader bootimage bootpfile bootpheader >> 141 rm -f tools/mkbb tools/bootlx tools/lxboot tools/bootph >> 142 rm -f vmlinux.nh ksize.h 30 143 31 $(obj)/simpleImage.$(DTB).unstrip: vmlinux FOR !! 144 dep: 32 $(call if_changed,copy) << 33 145 34 $(obj)/simpleImage.$(DTB).strip: vmlinux FORCE !! 146 dummy: 35 $(call if_changed,strip) <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.