b3d25f56b016eb914a6afc5222a1180aa5282d64
[openwrt.git] / target / linux / kirkwood / image / Makefile
1 #
2 # Copyright (C) 2009-2013 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 include $(TOPDIR)/rules.mk
8 include $(INCLUDE_DIR)/image.mk
9
10 NAND_BLOCKSIZE := 2048:128k
11 UBIFS_OPTS := -m 2048 -e 126KiB -c 4096 -U
12 UBINIZE_OPTS := -m 2048 -p 128KiB -s 512
13
14 define Image/BuildKernel
15         $(CP) $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage
16
17 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
18         $(CP) $(KDIR)/uImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-uImage-initramfs
19 endif
20
21  $(foreach board,$(BOARDS),
22         $(LINUX_DIR)/scripts/dtc/dtc \
23           -O dtb -o $(BIN_DIR)/$(IMG_PREFIX)-$(board).dtb \
24           -I dts $(LINUX_DIR)/arch/arm/boot/dts/kirkwood-$(board).dts
25  )
26 endef
27
28 define Image/InstallKernel
29  
30  ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_KERNEL),)
31         $(INSTALL_DIR) $(TARGET_DIR)/boot
32         $(CP) $(KDIR)/uImage $(TARGET_DIR)/boot/
33  endif
34
35  ifneq ($(CONFIG_TARGET_ROOTFS_INCLUDE_DTB),)
36         $(INSTALL_DIR) $(TARGET_DIR)/boot
37         $(foreach board,$(BOARDS),
38           $(CP) $(BIN_DIR)/$(IMG_PREFIX)-$(board).dtb $(TARGET_DIR)/boot/
39         )
40  endif
41 endef
42
43 define Image/Build
44         $(if $(Image/Build/$(1)), \
45                 $(call Image/Build/$(1),$(1)), \
46                 $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).img \
47         )
48 endef
49
50 define Image/Build/jffs2-nand-2048-128k
51         dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-$(1).img \
52                 bs=2048 conv=sync
53 endef
54
55 define Image/Build/squashfs
56         $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
57         ( \
58                 dd if=$(KDIR)/uImage bs=4096k conv=sync; \
59                 dd if=$(KDIR)/root.$(1) bs=128k conv=sync; \
60         ) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
61 endef
62
63 $(eval $(call BuildImage))