summaryrefslogtreecommitdiff
path: root/target/arm/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'target/arm/Makefile')
-rw-r--r--target/arm/Makefile117
1 files changed, 61 insertions, 56 deletions
diff --git a/target/arm/Makefile b/target/arm/Makefile
index df3f1d72f..cb6b49d79 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -8,54 +8,38 @@ include $(TOPDIR)/mk/kernel-build.mk
include $(TOPDIR)/mk/image.mk
KERNEL:=$(LINUX_DIR)/$(ADK_TARGET_KERNEL)
-
ifeq ($(ADK_TARGET_KERNEL_ZIMAGE),y)
KERNEL:=$(LINUX_DIR)/arch/arm/boot/zImage
endif
-
ifeq ($(ADK_TARGET_KERNEL_UIMAGE),y)
KERNEL:=$(LINUX_DIR)/arch/arm/boot/uImage
endif
-LOADADDR:=0x20008000
-
+QEMU_ARGS:=${ADK_QEMU_ARGS}
ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_SPITZ),y)
-MACH:=spitz
+QEMU_ARGS+=-M spitz
endif
ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILEPB),y)
-MACH:=versatilepb
-NET:=-net user -net nic,model=smc91c111
+QEMU_ARGS+=-M versatilepb -net user -net nic,model=smc91c111
endif
ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VEXPRESS_A9),y)
-MACH:=vexpress-a9
-NET:=-cpu cortex-a9 -net user -net nic,model=lan9118
+QEMU_ARGS+=vexpress-a9 -cpu cortex-a9 -net user -net nic,model=lan9118
endif
-
-dtb-install:
- env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \
- -j${ADK_MAKE_JOBS} imx6q-cubox-i.dtb imx6dl-cubox-i.dtb $(MAKE_TRACE)
- $(CP) $(LINUX_DIR)/arch/arm/boot/dts/imx6*-cubox-i.dtb \
- $(FW_DIR)
-
-kernel-install:
- gzip -9 < $(LINUX_DIR)/arch/arm/boot/Image > ${BUILD_DIR}/Image.gz
- PATH='${TARGET_PATH}' mkimage -A arm -O linux -T kernel -C gzip \
- -a ${LOADADDR} -e ${LOADADDR} -d ${BUILD_DIR}/Image.gz \
- -n foxg20 $(KERNEL) $(MAKE_TRACE)
-
-ifeq ($(ADK_TARGET_FS),nfsroot)
-imageinstall: ${FW_DIR}/${ROOTFSUSERTARBALL}
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo 'The nfs root tarball is: ${FW_DIR}/${ROOTFSUSERTARBALL}'
+ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
+QEMU_ARGS+=-drive file=qemu-${CPU_ARCH}.img,if=virtio,index=0 -net nic,model=virtio -net user
endif
+
+# target helper text
ifeq ($(ADK_TARGET_FS),archive)
-ifeq ($(ADK_TARGET_SYSTEM_CUBOX_I),y)
-imageinstall: dtb-install $(FW_DIR)/$(ROOTFSTARBALL)
-else
-imageinstall: $(FW_DIR)/$(ROOTFSTARBALL)
-endif
+targethelp:
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)"
+ifeq ($(ADK_HARDWARE_QEMU),y)
+ @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
+ @echo "Use following command to create a QEMU Image:"
+ @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
+ @echo "Start qemu with following options:"
+ @echo 'qemu-system-${CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${CPU_ARCH}.img'
+endif
ifeq ($(ADK_TARGET_SYSTEM_RASPBERRY_PI),y)
@echo "Use following command to install it on SD card:"
@echo "sudo ./scripts/install-rpi.sh /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL)"
@@ -65,41 +49,62 @@ ifeq ($(ADK_TARGET_SYSTEM_CUBOX_I),y)
@echo "sudo ./scripts/install-cubox.sh /dev/sdX $(FW_DIR)/$(ROOTFSTARBALL) $(FW_DIR)"
endif
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+endif
+ifeq ($(ADK_TARGET_FS),initramfs)
+targethelp:
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo "Use following command to create a QEMU Image:"
- @echo "./scripts/create.sh qemu-${CPU_ARCH}.img $(FW_DIR)/$(ROOTFSTARBALL)"
- @echo "Start qemu with following options:"
- @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(FW_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img'
+ @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
+ifeq ($(ADK_HARDWARE_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
endif
endif
-ifeq ($(ADK_TARGET_FS),initramfsarchive)
-imageinstall: $(FW_DIR)/$(ROOTFSUSERTARBALL)
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
+ifeq ($(ADK_TARGET_FS),initramfs-archive)
+targethelp:
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
endif
-ifeq ($(ADK_TARGET_FS),initramfs)
-imageinstall: $(FW_DIR)/$(INITRAMFS)
+ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
+targethelp:
+ @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
+ifeq ($(ADK_HARDWARE_QEMU),y)
+ @echo "Start qemu with following command line:"
+ @echo 'qemu-system-${CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+endif
+endif
+
+kernel-strip:
+
+kernel-install:
@cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
- @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}'
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y)
-ifeq ($(ADK_TARGET_QEMU_WITH_VIRTIO),y)
- @echo 'qemu-system-arm -nographic -kernel $(FW_DIR)/$(TARGET_KERNEL) -drive file=qemu-${CPU_ARCH}.img,if=virtio,index=0 -net nic,model=virtio -net user'
+
+dtb-install:
+ env $(KERNEL_MAKE_ENV) $(MAKE) -C $(LINUX_DIR) $(KERNEL_MAKE_OPTS) \
+ -j${ADK_MAKE_JOBS} imx6q-cubox-i.dtb imx6dl-cubox-i.dtb $(MAKE_TRACE)
+ $(CP) $(LINUX_DIR)/arch/arm/boot/dts/imx6*-cubox-i.dtb \
+ $(FW_DIR)
+
+
+# filesystem specific targets
+ifeq ($(ADK_TARGET_FS),archive)
+ifeq ($(ADK_TARGET_SYSTEM_CUBOX_I),y)
+imageinstall: dtb-install $(FW_DIR)/$(ROOTFSTARBALL) targethelp
else
- @echo "Start qemu with following command line:"
- @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}'
+imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp
+endif
endif
+ifeq ($(ADK_TARGET_FS),initramfs)
+imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp
endif
+ifeq ($(ADK_TARGET_FS),initramfs-archive)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),initramfs-piggyback)
-imageinstall: createinitramfs
- @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL)
- @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}'
-ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM)$(ADK_TARGET_SYSTEM_QEMU_ARMHF),y)
- @echo "Start qemu with following command line:"
- @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(FW_DIR)/$(TARGET_KERNEL)'
+imageinstall: createinitramfs targethelp
+endif
+ifeq ($(ADK_TARGET_FS),nfsroot)
+imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
+ifeq ($(ADK_TARGET_FS),usb)
+imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp
endif