summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Gilles <jgilles@multitech.com>2010-04-30 10:46:35 -0500
committerJesse Gilles <jgilles@multitech.com>2010-04-30 10:46:35 -0500
commit9d3906716bb914851945242dc89e09947cdc3ea8 (patch)
tree8078c816527f35923020f9d590395bfcb82c6142
parent08aacf0e3ce15bed2db285b7884216fa9b6a719f (diff)
add contrib/multitech
-rw-r--r--contrib/multitech/env-oe.sh15
-rw-r--r--contrib/multitech/local.conf139
-rw-r--r--contrib/multitech/ppp-masq-fw34
-rw-r--r--contrib/multitech/uboot-setenv61
4 files changed, 249 insertions, 0 deletions
diff --git a/contrib/multitech/env-oe.sh b/contrib/multitech/env-oe.sh
new file mode 100644
index 0000000000..17e37a786a
--- /dev/null
+++ b/contrib/multitech/env-oe.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+
+export OETREE=$(pwd)
+
+if [[ ! "${PATH}" =~ ${OETREE}/bitbake/bin ]]; then
+ export PATH=${OETREE}/bitbake/bin:${PATH}
+fi
+
+# define if you wish to create soft links to the image in the tftpboot dir
+#export TFTPBOOT_DIR=/tftpboot
+
+export BBPATH=${OETREE}/build:${OETREE}/openembedded
+export BB_ENV_EXTRAWHITE="MACHINE DISTRO OETREE ANGSTROM_MODE ANGSTROMLIBC LIBC TFTPBOOT_DIR"
+
+
diff --git a/contrib/multitech/local.conf b/contrib/multitech/local.conf
new file mode 100644
index 0000000000..3d63bb6452
--- /dev/null
+++ b/contrib/multitech/local.conf
@@ -0,0 +1,139 @@
+#
+# Multi-Tech OpenEmbedded config
+#
+# Please visit the Wiki at http://openembedded.org/ for more info.
+#
+# WARNING: lines starting with a space (' ') will result in parse failures.
+# Remove '# ' from commented lines to activate them.
+#
+# NOTE: Do NOT use $HOME in your paths, BitBake does NOT expand ~ for you. If you
+# must have paths relative to your homedir use ${HOME} (note the {}'s there
+# you MUST have them for the variable expansion to be done by BitBake). Your
+# paths should all be absolute paths (They should all start with a / after
+# expansion. Stuff like starting with ${HOME} or ${TOPDIR} is ok).
+
+# Use this to specify where BitBake should place the downloaded sources into
+DL_DIR = "${OETREE}/sources"
+
+# Uncomment below to prepend user-collection dir to search path for file://
+#FILESPATHBASE =. "${OETREE}/user-collection/files:"
+
+# Paths to bitbake files
+BBFILES = "${OETREE}/openembedded/recipes/*/*.bb ${OETREE}/user-collection/recipes/*/*.bb"
+
+# Setup bitbake overlays and priorities
+BBFILE_COLLECTIONS = "upstream local"
+BBFILE_PATTERN_upstream = "^${OETREE}/openembedded/"
+BBFILE_PATTERN_local = "^${OETREE}/user-collection/"
+BBFILE_PRIORITY_upstream = "1"
+BBFILE_PRIORITY_local = "10"
+
+# Use the BBMASK below to instruct BitBake to _NOT_ consider some .bb files
+# This is a regular expression, so be sure to get your parenthesis balanced.
+BBMASK = ""
+
+# Uncomment this if you want to use a prebuilt toolchain. You will need to
+# provide packages for toolchain and additional libraries yourself. You also
+# have to set PATH in your environment to make sure BitBake finds additional binaries.
+# ASSUME_PROVIDED += "virtual/${TARGET_PREFIX}gcc virtual/libc"
+
+# Uncomment this if you're building for an arch that uses emulated locale
+# generation under qemu (mainly arm glibc) and have an external gcc 3.x compiler
+# that OE recognises. This will mean the gcc-native build is skipped, speeding
+# builds up.
+# ASSUME_PROVIDED += "gcc3-native"
+
+# Select between multiple alternative providers, if more than one is eligible.
+PREFERRED_PROVIDERS = "virtual/qte:qte virtual/libqpe:libqpe-opie"
+PREFERRED_PROVIDERS += " virtual/libsdl:libsdl-x11"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-initial:gcc-cross-initial"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc-intermediate:gcc-cross-intermediate"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}gcc:gcc-cross"
+PREFERRED_PROVIDERS += " virtual/${TARGET_PREFIX}g++:gcc-cross"
+
+# Uncomment this to specify where BitBake should create its temporary files.
+# Note that a full build of everything in OpenEmbedded will take GigaBytes of hard
+# disk space, so make sure to free enough space. The default TMPDIR is
+# <build directory>/tmp
+# Don't use symlinks in in the path to avoid problems
+TMPDIR = "${OETREE}/build/tmp"
+
+# Set machine type, which also sets TARGET_ARCH
+MACHINE = "mtcdp"
+
+# Use Multi-Tech CoreCDP distribution
+DISTRO = "corecdp"
+
+# So far, angstrom.conf sets ENABLE_BINARY_LOCALE_GENERATION
+# to generate binary locale packages at build time using qemu-native and
+# thereby guarantee i18n support on all devices. If your build breaks on
+# qemu-native consider disabling ENABLE_BINARY_LOCALE_GENERATION (note that
+# this breaks i18n on devices with less than 128MB RAM) or installing
+# a working third-party qemu (e.g. provided by your distribution) and
+# adding qemu-native to ASSUME_PROVIDED. Caveat emptor, since third-party
+# qemus lack patches needed to work with various OE targets.
+ENABLE_BINARY_LOCALE_GENERATION = "0"
+# ASSUME_PROVIDED += "qemu-native"
+
+# If ENABLE_BINARY_LOCALE_GENERATION is set to "1", you can limit locales
+# generated to the list provided by GLIBC_GENERATE_LOCALES. This is huge
+# time-savior for developmental builds. Format: list of locale.encoding pairs
+# with spaces as separators.
+# GLIBC_GENERATE_LOCALES = "en_US.UTF-8 en_GB.UTF-8 de_DE.UTF-8"
+
+# Add the required image file system types below. Valid are
+# jffs2, tar(.gz|bz2), cpio(.gz), cramfs, ext2(.gz), ext3(.gz)
+# squashfs, squashfs-lzma
+IMAGE_FSTYPES = "jffs2 tar"
+
+# Uncomment this if you want to keep the temporary rootfs
+# diretory, this can be useful during development.
+# (Note that this rootfs is NOT usuable as NFS export.)
+IMAGE_KEEPROOTFS = "1"
+
+# Uncomment this to remove unpacked source and intermediate work
+# after successfully building a package.
+# Saves a LOT of disk space, but leaving work around is useful for debugging.
+# INHERIT += "rm_work"
+
+# Uncomment this if you want BitBake to emit debugging output
+# BBDEBUG = "yes"
+
+# Uncomment these two if you want BitBake to build images useful for debugging.
+# Note that INHIBIT_PACKAGE_STRIP needs a package format to be defined.
+# Also note that OE now produces -dbg packages which contain debugging symbols.
+# DEBUG_BUILD = "1"
+# INHIBIT_PACKAGE_STRIP = "1"
+
+# Uncomment these to build a package such that you can use gprof to profile it.
+# NOTE: This will only work with 'linux' targets, not
+# 'linux-uclibc', as uClibc doesn't provide the necessary
+# object files. Also, don't build glibc itself with these
+# flags, or it'll fail to build.
+#
+# PROFILE_OPTIMIZATION = "-pg"
+# SELECTED_OPTIMIZATION = "${PROFILE_OPTIMIZATION}"
+# LDFLAGS =+ "-pg"
+
+# Uncomment this to enable parallel make.
+# This allows make to spawn mutliple processes to take advantage of multiple
+# processors. Useful on SMP machines. This may break some packages - we're
+# in the process of marking these so let us know if you find any.
+PARALLEL_MAKE = "-j 2"
+
+# Uncomment to run multiple bitbake threads in parallel.
+# Bitbake can do multiple jobs in parallel: Its a good idea make use of
+# all available resources: e.g. to download sources while some other
+# piece of software is compiled.
+BB_NUMBER_THREADS = "2"
+
+# Uncomment this if you want BitBake to emit the log if a build fails.
+BBINCLUDELOGS = "yes"
+
+# Specifies a location to search for pre-generated tarballs when fetching
+# a cvs:// URI. Outcomment this, if you always want to pull directly from CVS.
+#CVS_TARBALL_STASH = ""
+
+# Uncomment this if you want to install shared libraries directly under their SONAME,
+# rather than installing as the full version and symlinking to the SONAME.
+# PACKAGE_SNAP_LIB_SYMLINKS = "1"
diff --git a/contrib/multitech/ppp-masq-fw b/contrib/multitech/ppp-masq-fw
new file mode 100644
index 0000000000..f8b971808d
--- /dev/null
+++ b/contrib/multitech/ppp-masq-fw
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+
+# Flush all the tables first
+iptables -t filter -F
+iptables -t nat -F
+iptables -t mangle -F
+
+iptables -t filter -P INPUT DROP
+iptables -t filter -A INPUT -i lo -j ACCEPT
+iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
+
+# Accept ssh from the LAN (Wired)
+iptables -t filter -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
+# Accept http from the LAN (Wired)
+iptables -t filter -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
+# Accept tftp from the LAN (Wired)
+#iptables -t filter -A INPUT -i eth0 -p udp --dport 69 -j ACCEPT
+
+# Accept ssh from the WAN (Wireless)
+#iptables -t filter -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT
+# Accept http from the WAN (Wireless)
+#iptables -t filter -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT
+
+iptables -t filter -P FORWARD DROP
+iptables -t filter -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
+iptables -t filter -A FORWARD -i eth0 -o ppp0 -j ACCEPT
+
+iptables -t filter -P OUTPUT ACCEPT
+
+iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
+
+# turn on packet forwarding last
+echo 1 > /proc/sys/net/ipv4/ip_forward
+
diff --git a/contrib/multitech/uboot-setenv b/contrib/multitech/uboot-setenv
new file mode 100644
index 0000000000..9c7ee57e00
--- /dev/null
+++ b/contrib/multitech/uboot-setenv
@@ -0,0 +1,61 @@
+print setting U-Boot variables...
+send setenv bootargs \'mem=64M console=ttyS0,115200 root=/dev/mtdblock8 ro rootfstype=jffs2\'
+send setenv bootcmd \'nboot.jffs2 ${loadaddr} 0 ${kernel_addr}; bootm ${loadaddr}\'
+send setenv bootdelay 3
+send setenv baudrate 115200
+send setenv ethaddr 00:D0:A0:02:0D:E1
+send setenv serverip 192.168.2.2
+send setenv ipaddr 192.168.2.1
+send setenv netmask 255.255.255.0
+send setenv loadaddr 0x21400000
+send setenv hostname AT91SAM9G20
+send setenv dnsip 192.168.2.3
+send setenv stdin serial
+send setenv stdout serial
+send setenv stderr serial
+send setenv ethact macb0
+send setenv bootstrap_file oe_bootstrap.bin
+send setenv uboot_file oe_u-boot.bin
+send setenv uboot_env1_file oe_uboot_env1.bin
+send setenv uboot_env2_file oe_uboot_env2.bin
+send setenv kernel_file oe_uImage.bin
+send setenv config_file oe_config.tar.gz
+send setenv oem_file oe_oem.tar.gz
+send setenv rootfs_file oe_rootfs.jffs2
+send setenv bootstrap_addr 0x00000000
+send setenv uboot_addr 0x00020000
+send setenv uboot_env1_addr 0x00060000
+send setenv uboot_env2_addr 0x00080000
+send setenv kernel_addr 0x000A0000
+send setenv config_addr 0x00800000
+send setenv oem_addr 0x01000000
+send setenv rootfs_addr 0x01800000
+send setenv bootstrap_size 0x00020000
+send setenv uboot_size 0x00040000
+send setenv uboot_env1_size 0x00020000
+send setenv uboot_env2_size 0x00020000
+send setenv kernel_size 0x00760000
+send setenv config_size 0x00800000
+send setenv oem_size 0x00800000
+send setenv erase_bootstrap \'nand erase ${bootstrap_addr} ${bootstrap_size}\'
+send setenv erase_uboot \'nand erase ${uboot_addr} ${uboot_size}\'
+send setenv erase_uboot_env1 \'nand erase ${uboot_env1_addr} ${uboot_env1_size}\'
+send setenv erase_uboot_env2 \'nand erase ${uboot_env2_addr} ${uboot_env2_size}\'
+send setenv erase_kernel \'nand erase ${kernel_addr} ${kernel_size}\'
+send setenv erase_config \'nand erase ${config_addr} ${config_size}\'
+send setenv erase_oem \'nand erase ${oem_addr} ${oem_size}\'
+send setenv erase_rootfs \'nand erase ${rootfs_addr}\'
+send setenv tftp_bootstrap \'tftp ${loadaddr} ${bootstrap_file}; run erase_bootstrap; nand write.jffs2 ${fileaddr} ${bootstrap_addr} ${filesize}\'
+send setenv tftp_uboot \'tftp ${loadaddr} ${uboot_file}; run erase_uboot; nand write.jffs2 ${fileaddr} ${uboot_addr} ${filesize}\'
+send setenv tftp_uboot_env1 \'tftp ${loadaddr} ${uboot_env1_file}; run erase_uboot_env1; nand write.jffs2 ${fileaddr} ${uboot_env1_addr} ${filesize}\'
+send setenv tftp_uboot_env2 \'tftp ${loadaddr} ${uboot_env2_file}; run erase_uboot_env2; nand write.jffs2 ${fileaddr} ${uboot_env2_addr} ${filesize}\'
+send setenv tftp_kernel \'tftp ${loadaddr} ${kernel_file}; run erase_kernel; nand write.jffs2 ${fileaddr} ${kernel_addr} ${filesize}\'
+send setenv tftp_config \'tftp ${loadaddr} ${config_file}; run erase_config; nand write.jffs2 ${fileaddr} ${config_addr} ${filesize}\'
+send setenv tftp_oem \'tftp ${loadaddr} ${oem_file}; run erase_oem; nand write.jffs2 ${fileaddr} ${oem_addr} ${filesize}\'
+send setenv tftp_rootfs \'tftp ${loadaddr} ${rootfs_file}; run erase_rootfs; nand write.jffs2 ${fileaddr} ${rootfs_addr} ${filesize}\'
+send setenv krb \'run tftp_kernel; run tftp_rootfs; boot\'
+send setenv rb \'run tftp_rootfs; boot\'
+print saving...
+send saveenv
+send saveenv
+send printenv