From 9d3906716bb914851945242dc89e09947cdc3ea8 Mon Sep 17 00:00:00 2001 From: Jesse Gilles Date: Fri, 30 Apr 2010 10:46:35 -0500 Subject: add contrib/multitech --- contrib/multitech/env-oe.sh | 15 +++++ contrib/multitech/local.conf | 139 +++++++++++++++++++++++++++++++++++++++++ contrib/multitech/ppp-masq-fw | 34 ++++++++++ contrib/multitech/uboot-setenv | 61 ++++++++++++++++++ 4 files changed, 249 insertions(+) create mode 100644 contrib/multitech/env-oe.sh create mode 100644 contrib/multitech/local.conf create mode 100644 contrib/multitech/ppp-masq-fw create mode 100644 contrib/multitech/uboot-setenv 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 +# /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 -- cgit v1.2.3