adm5120: create a new subtarget for the RB1xx devices

SVN-Revision: 31513
This commit is contained in:
Gabor Juhos
2012-04-29 07:36:46 +00:00
parent 7925eea45f
commit 417185b33c
9 changed files with 90 additions and 50 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -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))

View File

@@ -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