aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/avr32/image
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/avr32/image')
-rw-r--r--target/linux/avr32/image/Config.in13
-rw-r--r--target/linux/avr32/image/Makefile55
-rw-r--r--target/linux/avr32/image/u-boot/Makefile35
-rw-r--r--target/linux/avr32/image/u-boot/patches/100-ngw100_enable_lzma_support.patch10
4 files changed, 113 insertions, 0 deletions
diff --git a/target/linux/avr32/image/Config.in b/target/linux/avr32/image/Config.in
new file mode 100644
index 000000000..bc5469e7a
--- /dev/null
+++ b/target/linux/avr32/image/Config.in
@@ -0,0 +1,13 @@
+config AVR32_UBOOT
+ bool "Build U-Boot bootloader"
+ depends TARGET_avr32
+ default n
+
+config AVR32_UBOOT_TARGET
+ string "U-Boot target board"
+ depends TARGET_avr32
+ depends AVR32_UBOOT
+ default "atngw100"
+ help
+ For all supported boards there are ready-to-use default
+ configurations available; just type "<board_name>".
diff --git a/target/linux/avr32/image/Makefile b/target/linux/avr32/image/Makefile
new file mode 100644
index 000000000..595a5d9fc
--- /dev/null
+++ b/target/linux/avr32/image/Makefile
@@ -0,0 +1,55 @@
+#
+# Copyright (C) 2007-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/image.mk
+
+ifneq ($(CONFIG_AVR32_UBOOT),)
+ define Build/Clean
+ $(MAKE) -C u-boot clean
+ endef
+
+ define Build/Compile
+ $(MAKE) -C u-boot compile
+ endef
+endif
+
+define Image/Prepare
+ cp $(LINUX_DIR)/arch/avr32/boot/images/uImage $(KDIR)/uImage
+endef
+
+define Image/BuildKernel
+ cp $(KDIR)/uImage $(BIN_DIR)/$(IMG_PREFIX)-uImage
+
+ $(STAGING_DIR_HOST)/bin/lzma e $(LINUX_DIR)/arch/avr32/boot/images/vmlinux.bin $(KDIR)/vmlinux.lzma
+ mkimage -A avr32 -O linux -T kernel -a 0x10000000 -C lzma \
+ -e 0x90000000 \
+ -n 'OpenWrt Linux-$(LINUX_VERSION)' \
+ -d $(KDIR)/vmlinux.lzma $(KDIR)/uImage-lzma
+
+ cp $(KDIR)/uImage-lzma $(BIN_DIR)/$(IMG_PREFIX)-uImage-lzma
+endef
+
+define Image/Build
+ $(call Image/Build/$(1),$(1))
+endef
+
+define Image/Build/squashfs
+ $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
+ ( \
+ dd if=$(KDIR)/uImage bs=1024k conv=sync; \
+ dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
+ ) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
+endef
+
+define Image/Build/jffs2-64k
+ ( \
+ dd if=$(KDIR)/uImage bs=1024k conv=sync; \
+ dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
+ ) > $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
+endef
+
+$(eval $(call BuildImage))
diff --git a/target/linux/avr32/image/u-boot/Makefile b/target/linux/avr32/image/u-boot/Makefile
new file mode 100644
index 000000000..6775d1d7c
--- /dev/null
+++ b/target/linux/avr32/image/u-boot/Makefile
@@ -0,0 +1,35 @@
+#
+# Copyright (C) 2008-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=u-boot
+PKG_VERSION:=2011.06
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=ftp://ftp.denx.de/pub/u-boot
+PKG_MD5SUM:=0cc5026aad02f218a9b9ac56b301c97a
+PKG_CAT:=bzcat
+
+include $(INCLUDE_DIR)/package.mk
+
+UBOOT_CONFIG=$(call qstrip,$(CONFIG_AVR32_UBOOT_TARGET))
+
+define Build/Compile
+ $(MAKE) -C $(PKG_BUILD_DIR) $(UBOOT_CONFIG)_config
+ $(MAKE) -C $(PKG_BUILD_DIR) CROSS_COMPILE=$(TARGET_CROSS)
+endef
+
+define Build/InstallDev
+ mkdir -p $(BIN_DIR)
+ dd if=$(PKG_BUILD_DIR)/u-boot.bin of=$(BIN_DIR)/u-boot-$(PKG_VERSION)-$(UBOOT_CONFIG).bin bs=64k conv=sync
+endef
+
+$(eval $(call Build/DefaultTargets))
diff --git a/target/linux/avr32/image/u-boot/patches/100-ngw100_enable_lzma_support.patch b/target/linux/avr32/image/u-boot/patches/100-ngw100_enable_lzma_support.patch
new file mode 100644
index 000000000..213a17582
--- /dev/null
+++ b/target/linux/avr32/image/u-boot/patches/100-ngw100_enable_lzma_support.patch
@@ -0,0 +1,10 @@
+--- a/include/configs/atngw100.h
++++ b/include/configs/atngw100.h
+@@ -65,6 +65,7 @@
+ #define CONFIG_USART_ID 1
+ /* User serviceable stuff */
+ #define CONFIG_DOS_PARTITION
++#define CONFIG_LZMA
+
+ #define CONFIG_CMDLINE_TAG
+ #define CONFIG_SETUP_MEMORY_TAGS