1 # SPDX-License-Identifier: GPL-2.0 !! 1 # >> 2 # arch/i386/boot/Makefile >> 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 # 2 10 3 # uImage build relies on mkimage being availab !! 11 BOOT_INCL = $(TOPDIR)/include/linux/config.h \ 4 # You will need to build u-boot for ARC, renam !! 12 $(TOPDIR)/include/linux/autoconf.h \ 5 # and make sure it's reachable from your PATH !! 13 $(TOPDIR)/include/asm/boot.h 6 14 7 OBJCOPYFLAGS= -O binary -R .note -R .note.gnu. !! 15 zImage: $(CONFIGURE) bootsect setup compressed/vmlinux tools/build >> 16 $(OBJCOPY) compressed/vmlinux compressed/vmlinux.out >> 17 tools/build bootsect setup compressed/vmlinux.out $(ROOT_DEV) > zImage 8 18 9 LINUX_START_TEXT = $$($(READELF) -h vmlinux | !! 19 bzImage: $(CONFIGURE) bbootsect bsetup compressed/bvmlinux tools/build 10 grep "Entry point addr !! 20 $(OBJCOPY) compressed/bvmlinux compressed/bvmlinux.out >> 21 tools/build -b bbootsect bsetup compressed/bvmlinux.out $(ROOT_DEV) > bzImage 11 22 12 UIMAGE_LOADADDR = $(CONFIG_LINUX_LINK_BASE) !! 23 compressed/vmlinux: $(TOPDIR)/vmlinux 13 UIMAGE_ENTRYADDR = $(LINUX_START_TEXT) !! 24 @$(MAKE) -C compressed vmlinux 14 25 15 targets += vmlinux.bin !! 26 compressed/bvmlinux: $(TOPDIR)/vmlinux 16 targets += vmlinux.bin.gz !! 27 @$(MAKE) -C compressed bvmlinux 17 targets += vmlinux.bin.lzma << 18 targets += uImage.bin << 19 targets += uImage.gz << 20 targets += uImage.lzma << 21 28 22 $(obj)/vmlinux.bin: vmlinux FORCE !! 29 zdisk: $(BOOTIMAGE) 23 $(call if_changed,objcopy) !! 30 dd bs=8192 if=$(BOOTIMAGE) of=/dev/fd0 24 31 25 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORC !! 32 zlilo: $(CONFIGURE) $(BOOTIMAGE) 26 $(call if_changed,gzip) !! 33 if [ -f $(INSTALL_PATH)/vmlinuz ]; then mv $(INSTALL_PATH)/vmlinuz $(INSTALL_PATH)/vmlinuz.old; fi >> 34 if [ -f $(INSTALL_PATH)/System.map ]; then mv $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi >> 35 cat $(BOOTIMAGE) > $(INSTALL_PATH)/vmlinuz >> 36 cp $(TOPDIR)/System.map $(INSTALL_PATH)/ >> 37 if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi 27 38 28 $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FO !! 39 install: $(CONFIGURE) $(BOOTIMAGE) 29 $(call if_changed,lzma) !! 40 sh -x ./install.sh $(KERNELRELEASE) $(BOOTIMAGE) $(TOPDIR)/System.map "$(INSTALL_PATH)" 30 41 31 $(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE !! 42 tools/build: tools/build.c 32 $(call if_changed,uimage,none) !! 43 $(HOSTCC) $(HOSTCFLAGS) -o $@ $< -I$(TOPDIR)/include 33 44 34 $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE !! 45 bootsect: bootsect.o 35 $(call if_changed,uimage,gzip) !! 46 $(LD) -Ttext 0x0 -s --oformat binary -o $@ $< 36 47 37 $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FO !! 48 bootsect.o: bootsect.s 38 $(call if_changed,uimage,lzma) !! 49 $(AS) -o $@ $< >> 50 >> 51 bootsect.s: bootsect.S Makefile $(BOOT_INCL) >> 52 $(CPP) $(CPPFLAGS) -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@ >> 53 >> 54 bbootsect: bbootsect.o >> 55 $(LD) -Ttext 0x0 -s --oformat binary $< -o $@ >> 56 >> 57 bbootsect.o: bbootsect.s >> 58 $(AS) -o $@ $< >> 59 >> 60 bbootsect.s: bootsect.S Makefile $(BOOT_INCL) >> 61 $(CPP) $(CPPFLAGS) -D__BIG_KERNEL__ -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@ >> 62 >> 63 setup: setup.o >> 64 $(LD) -Ttext 0x0 -s --oformat binary -e begtext -o $@ $< >> 65 >> 66 setup.o: setup.s >> 67 $(AS) -o $@ $< >> 68 >> 69 setup.s: setup.S video.S Makefile $(BOOT_INCL) $(TOPDIR)/include/linux/version.h $(TOPDIR)/include/linux/compile.h >> 70 $(CPP) $(CPPFLAGS) -D__ASSEMBLY__ -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@ >> 71 >> 72 bsetup: bsetup.o >> 73 $(LD) -Ttext 0x0 -s --oformat binary -e begtext -o $@ $< >> 74 >> 75 bsetup.o: bsetup.s >> 76 $(AS) -o $@ $< >> 77 >> 78 bsetup.s: setup.S video.S Makefile $(BOOT_INCL) $(TOPDIR)/include/linux/version.h $(TOPDIR)/include/linux/compile.h >> 79 $(CPP) $(CPPFLAGS) -D__BIG_KERNEL__ -D__ASSEMBLY__ -traditional $(SVGA_MODE) $(RAMDISK) $< -o $@ >> 80 >> 81 dep: >> 82 >> 83 clean: >> 84 rm -f tools/build >> 85 rm -f setup bootsect zImage compressed/vmlinux.out >> 86 rm -f bsetup bbootsect bzImage compressed/bvmlinux.out >> 87 @$(MAKE) -C compressed clean
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.