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 # ROOT_DEV specifies the default root-device when making the image. 4 # You will need to build u-boot for ARC, renam !! 12 # This can be either FLOPPY, CURRENT, /dev/xxxx or empty, in which case 5 # and make sure it's reachable from your PATH !! 13 # the default of FLOPPY is used by 'build'. 6 14 7 OBJCOPYFLAGS= -O binary -R .note -R .note.gnu. !! 15 ROOT_DEV := CURRENT 8 16 9 LINUX_START_TEXT = $$($(READELF) -h vmlinux | !! 17 # If you want to preset the SVGA mode, uncomment the next line and 10 grep "Entry point addr !! 18 # set SVGA_MODE to whatever number you want. >> 19 # Set it to -DSVGA_MODE=NORMAL_VGA if you just want the EGA/VGA mode. >> 20 # The number is the same as you would ordinarily press at bootup. 11 21 12 UIMAGE_LOADADDR = $(CONFIG_LINUX_LINK_BASE) !! 22 SVGA_MODE := -DSVGA_MODE=NORMAL_VGA 13 UIMAGE_ENTRYADDR = $(LINUX_START_TEXT) << 14 23 15 targets += vmlinux.bin !! 24 # If you want the RAM disk device, define this to be the size in blocks. 16 targets += vmlinux.bin.gz << 17 targets += vmlinux.bin.lzma << 18 targets += uImage.bin << 19 targets += uImage.gz << 20 targets += uImage.lzma << 21 25 22 $(obj)/vmlinux.bin: vmlinux FORCE !! 26 #RAMDISK := -DRAMDISK=512 >> 27 >> 28 targets := vmlinux.bin bootsect bootsect.o setup setup.o \ >> 29 zImage bzImage >> 30 subdir- := compressed >> 31 >> 32 host-progs := tools/build >> 33 >> 34 # --------------------------------------------------------------------------- >> 35 >> 36 $(obj)/zImage: IMAGE_OFFSET := 0x1000 >> 37 $(obj)/zImage: EXTRA_AFLAGS := -traditional $(SVGA_MODE) $(RAMDISK) >> 38 $(obj)/bzImage: IMAGE_OFFSET := 0x100000 >> 39 $(obj)/bzImage: EXTRA_AFLAGS := -traditional $(SVGA_MODE) $(RAMDISK) -D__BIG_KERNEL__ >> 40 $(obj)/bzImage: BUILDFLAGS := -b >> 41 >> 42 quiet_cmd_image = BUILD $@ >> 43 cmd_image = $(obj)/tools/build $(BUILDFLAGS) $(obj)/bootsect $(obj)/setup \ >> 44 $(obj)/vmlinux.bin $(ROOT_DEV) > $@ >> 45 >> 46 $(obj)/zImage $(obj)/bzImage: $(obj)/bootsect $(obj)/setup \ >> 47 $(obj)/vmlinux.bin $(obj)/tools/build FORCE >> 48 $(call if_changed,image) >> 49 @echo 'Kernel: $@ is ready' >> 50 >> 51 $(obj)/vmlinux.bin: $(obj)/compressed/vmlinux FORCE 23 $(call if_changed,objcopy) 52 $(call if_changed,objcopy) 24 53 25 $(obj)/vmlinux.bin.gz: $(obj)/vmlinux.bin FORC !! 54 LDFLAGS_bootsect := -Ttext 0x0 -s --oformat binary 26 $(call if_changed,gzip) !! 55 LDFLAGS_setup := -Ttext 0x0 -s --oformat binary -e begtext 27 56 28 $(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FO !! 57 $(obj)/setup $(obj)/bootsect: %: %.o FORCE 29 $(call if_changed,lzma) !! 58 $(call if_changed,ld) 30 59 31 $(obj)/uImage.bin: $(obj)/vmlinux.bin FORCE !! 60 $(obj)/compressed/vmlinux: FORCE 32 $(call if_changed,uimage,none) !! 61 $(Q)$(MAKE) $(build)=$(obj)/compressed IMAGE_OFFSET=$(IMAGE_OFFSET) $@ 33 62 34 $(obj)/uImage.gz: $(obj)/vmlinux.bin.gz FORCE !! 63 # Set this if you want to pass append arguments to the zdisk/fdimage kernel 35 $(call if_changed,uimage,gzip) !! 64 FDARGS = >> 65 >> 66 $(obj)/mtools.conf: $(src)/mtools.conf.in >> 67 sed -e 's|@OBJ@|$(obj)|g' < $< > $@ >> 68 >> 69 # This requires write access to /dev/fd0 >> 70 zdisk: $(BOOTIMAGE) $(obj)/mtools.conf >> 71 MTOOLSRC=$(obj)/mtools.conf mformat a: ; sync >> 72 syslinux /dev/fd0 ; sync >> 73 echo 'default linux $(FDARGS)' | \ >> 74 MTOOLSRC=$(src)/mtools.conf mcopy - a:syslinux.cfg >> 75 MTOOLSRC=$(obj)/mtools.conf mcopy $(BOOTIMAGE) a:linux ; sync >> 76 >> 77 # These require being root or having syslinux 2.02 or higher installed >> 78 fdimage fdimage144: $(BOOTIMAGE) $(obj)/mtools.conf >> 79 dd if=/dev/zero of=$(obj)/fdimage bs=1024 count=1440 >> 80 MTOOLSRC=$(obj)/mtools.conf mformat v: ; sync >> 81 syslinux $(obj)/fdimage ; sync >> 82 echo 'default linux $(FDARGS)' | \ >> 83 MTOOLSRC=$(obj)/mtools.conf mcopy - v:syslinux.cfg >> 84 MTOOLSRC=$(obj)/mtools.conf mcopy $(BOOTIMAGE) v:linux ; sync >> 85 >> 86 fdimage288: $(BOOTIMAGE) $(obj)/mtools.conf >> 87 dd if=/dev/zero of=$(obj)/fdimage bs=1024 count=2880 >> 88 MTOOLSRC=$(obj)/mtools.conf mformat w: ; sync >> 89 syslinux $(obj)/fdimage ; sync >> 90 echo 'default linux $(FDARGS)' | \ >> 91 MTOOLSRC=$(obj)/mtools.conf mcopy - w:syslinux.cfg >> 92 MTOOLSRC=$(obj)/mtools.conf mcopy $(BOOTIMAGE) w:linux ; sync >> 93 >> 94 zlilo: $(BOOTIMAGE) >> 95 if [ -f $(INSTALL_PATH)/vmlinuz ]; then mv $(INSTALL_PATH)/vmlinuz $(INSTALL_PATH)/vmlinuz.old; fi >> 96 if [ -f $(INSTALL_PATH)/System.map ]; then mv $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi >> 97 cat $(BOOTIMAGE) > $(INSTALL_PATH)/vmlinuz >> 98 cp System.map $(INSTALL_PATH)/ >> 99 if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi 36 100 37 $(obj)/uImage.lzma: $(obj)/vmlinux.bin.lzma FO !! 101 install: $(BOOTIMAGE) 38 $(call if_changed,uimage,lzma) !! 102 sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)"
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.