From: Gabor Juhos Date: Sun, 29 Apr 2012 07:36:46 +0000 (+0000) Subject: adm5120: create a new subtarget for the RB1xx devices X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=417185b33c0d07c6a8ef1818ececc1ff6bec7253;p=openwrt%2Fstaging%2Fmans0n.git adm5120: create a new subtarget for the RB1xx devices SVN-Revision: 31513 --- diff --git a/target/linux/adm5120/Makefile b/target/linux/adm5120/Makefile index eecf06c14b..067ada2378 100644 --- a/target/linux/adm5120/Makefile +++ b/target/linux/adm5120/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk BOARD:=adm5120 BOARDNAME:=Infineon/ADMtek ADM5120 LINUX_VERSION:=3.3.3 -SUBTARGETS:=router_le router_be +SUBTARGETS:=router_le router_be rb1xx INITRAMFS_EXTRA_FILES:= include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/adm5120/config-3.3 b/target/linux/adm5120/config-3.3 index 59696e868c..ee92cc1291 100644 --- a/target/linux/adm5120/config-3.3 +++ b/target/linux/adm5120/config-3.3 @@ -14,19 +14,19 @@ CONFIG_ADM5120_MACH_NFS_101=y CONFIG_ADM5120_MACH_NP27G=y CONFIG_ADM5120_MACH_NP28G=y CONFIG_ADM5120_MACH_PMUGW=y -CONFIG_ADM5120_MACH_RB_11X=y -CONFIG_ADM5120_MACH_RB_133=y -CONFIG_ADM5120_MACH_RB_133C=y -CONFIG_ADM5120_MACH_RB_150=y -CONFIG_ADM5120_MACH_RB_153=y -CONFIG_ADM5120_MACH_RB_192=y +# CONFIG_ADM5120_MACH_RB_11X is not set +# CONFIG_ADM5120_MACH_RB_133 is not set +# CONFIG_ADM5120_MACH_RB_133C is not set +# CONFIG_ADM5120_MACH_RB_150 is not set +# CONFIG_ADM5120_MACH_RB_153 is not set +# CONFIG_ADM5120_MACH_RB_192 is not set CONFIG_ADM5120_MACH_WP54=y CONFIG_ADM5120_OEM_CELLVISION=y CONFIG_ADM5120_OEM_COMPEX=y CONFIG_ADM5120_OEM_EDIMAX=y CONFIG_ADM5120_OEM_GENERIC=y CONFIG_ADM5120_OEM_INFINEON=y -CONFIG_ADM5120_OEM_MIKROTIK=y +# CONFIG_ADM5120_OEM_MIKROTIK is not set CONFIG_ADM5120_OEM_MOTOROLA=y CONFIG_ADM5120_OEM_OSBRIDGE=y # CONFIG_ADM5120_OEM_ZYXEL is not set @@ -49,7 +49,7 @@ CONFIG_BCMA_POSSIBLE=y CONFIG_CC_OPTIMIZE_FOR_SIZE=y CONFIG_CEVT_R4K=y CONFIG_CEVT_R4K_LIB=y -CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,yaffs2,jffs2" +CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2" CONFIG_CMDLINE_BOOL=y # CONFIG_CMDLINE_OVERRIDE is not set # CONFIG_CPU_BIG_ENDIAN is not set @@ -157,10 +157,6 @@ CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC=y CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_JEDECPROBE=y CONFIG_MTD_MYLOADER_PARTS=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ECC=y -CONFIG_MTD_NAND_PLATFORM=y -# CONFIG_MTD_SM_COMMON is not set CONFIG_MTD_TRXSPLIT=y CONFIG_NEED_DMA_MAP_STATE=y CONFIG_NEED_PER_CPU_KM=y @@ -170,7 +166,6 @@ CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y CONFIG_NO_HZ=y CONFIG_PAGEFLAGS_EXTENDED=y # CONFIG_PARTITION_ADVANCED is not set -# CONFIG_PATA_RB153_CF is not set CONFIG_PCI=y CONFIG_PCI_DISABLE_COMMON_QUIRKS=y CONFIG_PCI_DOMAINS=y @@ -211,17 +206,4 @@ CONFIG_USB_OHCI_HCD=m CONFIG_USB_SUPPORT=y # CONFIG_USB_UHCI_HCD is not set CONFIG_XZ_DEC=y -CONFIG_YAFFS_9BYTE_TAGS=y -# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set -CONFIG_YAFFS_AUTO_YAFFS2=y -# CONFIG_YAFFS_DISABLE_BACKGROUND is not set -# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set -CONFIG_YAFFS_DISABLE_TAGS_ECC=y -# CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set -# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set -CONFIG_YAFFS_FS=y -CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y -CONFIG_YAFFS_XATTR=y -CONFIG_YAFFS_YAFFS1=y -CONFIG_YAFFS_YAFFS2=y CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/adm5120/image/rb1xx.mk b/target/linux/adm5120/image/rb1xx.mk new file mode 100644 index 0000000000..333adce805 --- /dev/null +++ b/target/linux/adm5120/image/rb1xx.mk @@ -0,0 +1,24 @@ +# +# Copyright (C) 2007,2008 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + + +define Image/cmdline/yaffs2 + root=/dev/mtdblock3 rootfstype=yaffs2 +endef + +define Image/BuildKernel/RouterBoard + $(CP) $(KDIR)/vmlinux.elf $(call imgname,kernel,rb1xx) + $(STAGING_DIR_HOST)/bin/patch-cmdline $(call imgname,kernel,rb1xx) \ + '$(strip $(call Image/cmdline/yaffs2))' +endef + +ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) + define Image/BuildKernel + $(call Image/BuildKernel/RouterBoard) + endef +endif + diff --git a/target/linux/adm5120/image/router_le.mk b/target/linux/adm5120/image/router_le.mk index 7c4bf1d81b..6df6dcd8cc 100644 --- a/target/linux/adm5120/image/router_le.mk +++ b/target/linux/adm5120/image/router_le.mk @@ -399,23 +399,3 @@ define Image/Build/Profile/Generic $(call Image/Build/Experimental,$(1)) endef - -ifeq ($(PROFILE),RouterBoard) - define Image/cmdline/yaffs2 - root=/dev/mtdblock3 rootfstype=yaffs2 - endef - - define Image/BuildKernel/RouterBoard - $(CP) $(KDIR)/vmlinux.elf $(call imgname,kernel,rb1xx) - $(STAGING_DIR_HOST)/bin/patch-cmdline $(call imgname,kernel,rb1xx) \ - '$(strip $(call Image/cmdline/yaffs2))' - endef - - ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y) - define Image/BuildKernel - $(call Image/BuildKernel/RouterBoard) - endef - endif - -endif - diff --git a/target/linux/adm5120/rb1xx/base-files/sbin/wget2nand b/target/linux/adm5120/rb1xx/base-files/sbin/wget2nand new file mode 100755 index 0000000000..6cd8d6fbd9 --- /dev/null +++ b/target/linux/adm5120/rb1xx/base-files/sbin/wget2nand @@ -0,0 +1,78 @@ +#!/bin/sh +# wget2nand +# This script can be used to download a TGZ file from your build system which +# contains the files to be installed on the NAND flash on your RB1xx card. +# The one parameter is the URL of the TGZ file to be downloaded. +# Licence GPL V2 +# Author david.goodenough@linkchoose.co.uk +# Based on cf2nand from RB532 support +. /etc/functions.sh + +[ -d /tmp/wget2nand-rootfs ] && { + echo "/tmp/wget2nand-rootfs already exists" + exit 1 +} + +[ -d /tmp/wget2nand-kernel ] && { + echo "/tmp/wget2nand-kernel already exists" + exit 1 +} + +# need to find the wget server from the command line +url=$1 +[ -z "$url" ] && { + echo "No URL specified for image TGZ" + echo "Usage : $0 URL" + exit 1 +} + +# first get an address for br-lan using udhcpc +killall udhcpc +/sbin/udhcpc -i br-lan + +mtd_kernel="$(find_mtd_part 'kernel')" +mtd_rootfs="$(find_mtd_part 'rootfs')" +[ -z "$mtd_kernel" -o -z "$mtd_rootfs" ] && { + echo "Cannot find NAND Flash partitions" + exit 1 +} + +echo "Erasing filesystem..." +mtd erase kernel 2>/dev/null >/dev/null +mtd erase rootfs 2>/dev/null >/dev/null + +echo "Mounting $mtd_rootfs as new root and $mtd_kernel as kernel partition" + +mkdir /tmp/wget2nand-rootfs +mkdir /tmp/wget2nand-kernel +mount -t yaffs2 "$mtd_rootfs" /tmp/wget2nand-rootfs +mount -t yaffs2 "$mtd_kernel" /tmp/wget2nand-kernel + +echo "Erasing existing files..." +rm -rf /tmp/wget2nand-rootfs/* + +echo "Copying filesystem..." +( wget -O - $url/openwrt-adm5120-rb1xx-rootfs.tar.gz) | ( cd /tmp/wget2nand-rootfs/; tar xvz ) +# RouterBOOT is looking for a kernel named "kernel" +wget -O /tmp/wget2nand-kernel/kernel $url/openwrt-adm5120-rb1xx-vmlinux.elf + +chmod +x /tmp/wget2nand-kernel/kernel + +# make sure everything is written before we unmount the partitions +echo "chmod ugo+x /" > /tmp/wget2nand-rootfs/etc/uci-defaults/set_root_permission +sync +ls /tmp/wget2nand-kernel/ +ls /tmp/wget2nand-rootfs/ +# use kexec if present +[ -x /usr/sbin/kexec ] && { + kexec -l /tmp/wget2nand-kernel/kernel --command-line="$(cat /proc/cmdline) rootfstype=yaffs2 root=$mtd_kernel" + kexec -e +} +# unmount the partitions and remove the directories into which they were mounted +umount /tmp/wget2nand-kernel +umount /tmp/wget2nand-rootfs +rmdir /tmp/wget2nand-kernel +rmdir /tmp/wget2nand-rootfs + +# all done +echo "Image written, you can now reboot. Remember to change the boot source to Boot from Nand" diff --git a/target/linux/adm5120/rb1xx/config-3.3 b/target/linux/adm5120/rb1xx/config-3.3 new file mode 100644 index 0000000000..1afeb79eb1 --- /dev/null +++ b/target/linux/adm5120/rb1xx/config-3.3 @@ -0,0 +1,46 @@ +# CONFIG_ADM5120_MACH_5GXI is not set +# CONFIG_ADM5120_MACH_BR_6104K is not set +# CONFIG_ADM5120_MACH_BR_6104KP is not set +# CONFIG_ADM5120_MACH_BR_61X4WG is not set +# CONFIG_ADM5120_MACH_CAS_771 is not set +# CONFIG_ADM5120_MACH_EASY5120P_ATA is not set +# CONFIG_ADM5120_MACH_EASY5120_RT is not set +# CONFIG_ADM5120_MACH_EASY5120_WVOIP is not set +# CONFIG_ADM5120_MACH_EASY83000 is not set +# CONFIG_ADM5120_MACH_EB_214A is not set +# CONFIG_ADM5120_MACH_NFS_101 is not set +# CONFIG_ADM5120_MACH_NP27G is not set +# CONFIG_ADM5120_MACH_NP28G is not set +# CONFIG_ADM5120_MACH_PMUGW is not set +# CONFIG_ADM5120_MACH_WP54 is not set +# CONFIG_ADM5120_OEM_CELLVISION is not set +# CONFIG_ADM5120_OEM_COMPEX is not set +# CONFIG_ADM5120_OEM_EDIMAX is not set +# CONFIG_ADM5120_OEM_GENERIC is not set +# CONFIG_ADM5120_OEM_INFINEON is not set +# CONFIG_ADM5120_OEM_MOTOROLA is not set +# CONFIG_ADM5120_OEM_OSBRIDGE is not set +CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=yaffs2" +# CONFIG_JFFS2_FS is not set +# CONFIG_MTD_MYLOADER_PARTS is not set +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_PLATFORM=y +# CONFIG_MTD_ROOTFS_SPLIT is not set +# CONFIG_MTD_SM_COMMON is not set +# CONFIG_MTD_TRXSPLIT is not set +# CONFIG_OVERLAYFS_FS is not set +# CONFIG_SQUASHFS is not set +CONFIG_YAFFS_9BYTE_TAGS=y +# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set +CONFIG_YAFFS_AUTO_YAFFS2=y +# CONFIG_YAFFS_DISABLE_BACKGROUND is not set +# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set +CONFIG_YAFFS_DISABLE_TAGS_ECC=y +# CONFIG_YAFFS_DISABLE_WIDE_TNODES is not set +# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set +CONFIG_YAFFS_FS=y +CONFIG_YAFFS_SHORT_NAMES_IN_RAM=y +CONFIG_YAFFS_XATTR=y +CONFIG_YAFFS_YAFFS1=y +CONFIG_YAFFS_YAFFS2=y diff --git a/target/linux/adm5120/rb1xx/profiles/RB1xx.mk b/target/linux/adm5120/rb1xx/profiles/RB1xx.mk new file mode 100644 index 0000000000..b9da1640d5 --- /dev/null +++ b/target/linux/adm5120/rb1xx/profiles/RB1xx.mk @@ -0,0 +1,18 @@ +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/RouterBoard + NAME:=Mikrotik RouterBoard 1xx family + PACKAGES:=kmod-ath5k kmod-pata-rb153-cf +endef + +define Profile/RouterBoard/Description + Package set compatible with the RouterBoard RB1xx devices. Contains RouterOS to OpenWrt\\\ + installation scripts. +endef + +$(eval $(call Profile,RouterBoard)) diff --git a/target/linux/adm5120/rb1xx/target.mk b/target/linux/adm5120/rb1xx/target.mk new file mode 100644 index 0000000000..2e9b08e511 --- /dev/null +++ b/target/linux/adm5120/rb1xx/target.mk @@ -0,0 +1,9 @@ +ARCH:=mipsel +ARCH_PACKAGES:=adm5120_mipsel +SUBTARGET:=rb1xx +BOARDNAME:=MikroTik RB-1xx boards +FEATURES:=tgz + +define Target/Description + Build firmware images for Mikrotik RB-1xx series. +endef diff --git a/target/linux/adm5120/router_be/config-3.3 b/target/linux/adm5120/router_be/config-3.3 index a31afda10a..97025375d5 100644 --- a/target/linux/adm5120/router_be/config-3.3 +++ b/target/linux/adm5120/router_be/config-3.3 @@ -10,7 +10,6 @@ CONFIG_ADM5120_MACH_P_335=y # CONFIG_ADM5120_OEM_MOTOROLA is not set # CONFIG_ADM5120_OEM_OSBRIDGE is not set CONFIG_ADM5120_OEM_ZYXEL=y -CONFIG_CMDLINE="console=ttyS0,115200 rootfstype=squashfs,jffs2" CONFIG_CPU_BIG_ENDIAN=y # CONFIG_CPU_LITTLE_ENDIAN is not set CONFIG_SWAP_IO_SPACE=y diff --git a/target/linux/adm5120/router_le/base-files/sbin/wget2nand b/target/linux/adm5120/router_le/base-files/sbin/wget2nand deleted file mode 100755 index 5263bffba4..0000000000 --- a/target/linux/adm5120/router_le/base-files/sbin/wget2nand +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# wget2nand -# This script can be used to download a TGZ file from your build system which -# contains the files to be installed on the NAND flash on your RB1xx card. -# The one parameter is the URL of the TGZ file to be downloaded. -# Licence GPL V2 -# Author david.goodenough@linkchoose.co.uk -# Based on cf2nand from RB532 support -. /etc/functions.sh - -[ -d /tmp/wget2nand-rootfs ] && { - echo "/tmp/wget2nand-rootfs already exists" - exit 1 -} - -[ -d /tmp/wget2nand-kernel ] && { - echo "/tmp/wget2nand-kernel already exists" - exit 1 -} - -# need to find the wget server from the command line -url=$1 -[ -z "$url" ] && { - echo "No URL specified for image TGZ" - echo "Usage : $0 URL" - exit 1 -} - -# first get an address for br-lan using udhcpc -killall udhcpc -/sbin/udhcpc -i br-lan - -mtd_kernel="$(find_mtd_part 'kernel')" -mtd_rootfs="$(find_mtd_part 'rootfs')" -[ -z "$mtd_kernel" -o -z "$mtd_rootfs" ] && { - echo "Cannot find NAND Flash partitions" - exit 1 -} - -echo "Erasing filesystem..." -mtd erase kernel 2>/dev/null >/dev/null -mtd erase rootfs 2>/dev/null >/dev/null - -echo "Mounting $mtd_rootfs as new root and $mtd_kernel as kernel partition" - -mkdir /tmp/wget2nand-rootfs -mkdir /tmp/wget2nand-kernel -mount -t yaffs2 "$mtd_rootfs" /tmp/wget2nand-rootfs -mount -t yaffs2 "$mtd_kernel" /tmp/wget2nand-kernel - -echo "Erasing existing files..." -rm -rf /tmp/wget2nand-rootfs/* - -echo "Copying filesystem..." -( wget -O - $url/openwrt-adm5120-router_le-rootfs.tar.gz) | ( cd /tmp/wget2nand-rootfs/; tar xvz ) -# RouterBOOT is looking for a kernel named "kernel" -wget -O /tmp/wget2nand-kernel/kernel $url/openwrt-adm5120-router_le-vmlinux.elf - -chmod +x /tmp/wget2nand-kernel/kernel - -# make sure everything is written before we unmount the partitions -echo "chmod ugo+x /" > /tmp/wget2nand-rootfs/etc/uci-defaults/set_root_permission -sync -ls /tmp/wget2nand-kernel/ -ls /tmp/wget2nand-rootfs/ -# use kexec if present -[ -x /usr/sbin/kexec ] && { - kexec -l /tmp/wget2nand-kernel/kernel --command-line="$(cat /proc/cmdline) rootfstype=yaffs2 root=$mtd_kernel" - kexec -e -} -# unmount the partitions and remove the directories into which they were mounted -umount /tmp/wget2nand-kernel -umount /tmp/wget2nand-rootfs -rmdir /tmp/wget2nand-kernel -rmdir /tmp/wget2nand-rootfs - -# all done -echo "Image written, you can now reboot. Remember to change the boot source to Boot from Nand" diff --git a/target/linux/adm5120/router_le/profiles/RB1xx.mk b/target/linux/adm5120/router_le/profiles/RB1xx.mk deleted file mode 100644 index b9da1640d5..0000000000 --- a/target/linux/adm5120/router_le/profiles/RB1xx.mk +++ /dev/null @@ -1,18 +0,0 @@ -# -# Copyright (C) 2007 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -define Profile/RouterBoard - NAME:=Mikrotik RouterBoard 1xx family - PACKAGES:=kmod-ath5k kmod-pata-rb153-cf -endef - -define Profile/RouterBoard/Description - Package set compatible with the RouterBoard RB1xx devices. Contains RouterOS to OpenWrt\\\ - installation scripts. -endef - -$(eval $(call Profile,RouterBoard))