2 # Copyright (C) 2006 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
8 include $(INCLUDE_DIR
)/image.mk
10 export PATH
=$(TARGET_PATH
):/sbin
11 BOOTOPTS
=$(strip $(subst ",, $(CONFIG_X86_GRUB_BOOTOPTS)))
12 ROOTPART=$(strip $(subst ",, $(CONFIG_X86_GRUB_ROOTPART
)))
13 #"))")) # fix vim's broken syntax highlighting
16 ifeq ($(CONFIG_X86_GRUB_IMAGES
),y
)
18 $(MAKE
) -C grub compile
25 define Image
/cmdline
/squashfs
26 block2mtd.block2mtd
=$(ROOTPART
),65536,rootfs root
=/dev
/mtdblock0 rootfstype
=squashfs init
=/etc
/preinit
29 define Image
/cmdline
/jffs2-64k
30 block2mtd.block2mtd
=$(ROOTPART
),65536,rootfs root
=/dev
/mtdblock0 rootfstype
=jffs2 init
=/etc
/preinit
33 define Image
/cmdline
/jffs2-128k
34 block2mtd.block2mtd
=$(ROOTPART
),131072,rootfs root
=/dev
/mtdblock0 rootfstype
=jffs2 init
=/etc
/preinit
37 define Image
/cmdline
/ext2
38 root
=$(ROOTPART
) rootfstype
=ext2 init
=/etc
/preinit
41 define Image
/Build
/grub
42 # left here because the image builder doesnt need these
43 $(INSTALL_DIR
) $(KDIR
)/root.grub
/boot
/grub
46 $(KDIR
)/root.grub
/boot
/grub
/
47 $(CP
) $(KDIR
)/bzImage
$(KDIR
)/root.grub
/boot
/vmlinuz
49 -e
's#@CMDLINE@#$(strip $(call Image/cmdline/$(1))) $(BOOTOPTS)#g' \
50 -e
's#@BAUDRATE@#$(CONFIG_X86_GRUB_BAUDRATE)#g' \
51 .
/grub
/menu.lst
> $(KDIR
)/root.grub
/boot
/grub
/menu.lst
52 PADDING
="$(CONFIG_X86_GRUB_IMAGES_PAD)" PATH
="$(STAGING_DIR)/usr/sbin:$(STAGING_DIR)/bin:$(PATH)" .
/gen_image.sh
$(BIN_DIR
)/openwrt-
$(BOARD
)-$(KERNEL
)-$(1).image
$(CONFIG_X86_GRUB_KERNELPART
) $(KDIR
)/root.grub
$(CONFIG_TARGET_ROOTFS_FSPART
) $(KDIR
)/root.
$(1)
53 $(call Image
/Build
/grub
/$(1))
57 ifeq ($(CONFIG_X86_GRUB_IMAGES
),y
)
58 define Image
/Prepare
/grub
59 # for the image builder
61 $(STAGING_DIR
)/usr
/lib
/grub
/i386-pc
/stage1 \
62 $(STAGING_DIR
)/usr
/lib
/grub
/i386-pc
/stage2 \
63 $(STAGING_DIR
)/usr
/lib
/grub
/i386-pc
/e2fs_stage1_5 \
65 $(CP
) $(STAGING_DIR
)/usr
/sbin
/grub
$(STAGING_DIR
)/bin
70 $(CP
) $(LINUX_DIR
)/arch
/i386
/boot
/bzImage
$(KDIR
)/bzImage
71 $(call Image
/Prepare
/grub
)
74 define Image
/Build
/squashfs
75 $(call prepare_generic_squashfs
,$(KDIR
)/root.squashfs
)
78 define Image
/BuildKernel
79 $(CP
) $(KDIR
)/bzImage
$(BIN_DIR
)/openwrt-
$(BOARD
)-$(KERNEL
)-vmlinuz
83 $(call Image
/Build
/$(1))
84 $(call Image
/Build
/grub
,$(1))
85 $(CP
) $(KDIR
)/root.
$(1) $(BIN_DIR
)/openwrt-
$(BOARD
)-$(KERNEL
)-$(1).fs
86 $(CP
) $(KDIR
)/bzImage
$(BIN_DIR
)/openwrt-
$(BOARD
)-$(KERNEL
)-vmlinuz
89 $(eval
$(call BuildImage
))