#!/bin/sh # Convenience script for setting up a default buildroot config # for Xtensa processor targets.. usage() { echo "Usage (invoke from top of buildroot tree):" echo " ./target/xtensa/setup-config " #echo " ./target/xtensa/setup-config []" echo "where:" echo " is the Xtensa core overlay name, as specified in the -c option" echo " of the ./target/xtensa/xt-buildroot-overlay-install script." echo "" echo "For example:" echo " ./target/xtensa/setup-config dc232b" echo "" echo "Currently installed (available) core overlay names are:" echo " " `ls toolchain/binutils/binutils-xtensa_*.tgz | sed -e 's,toolchain\/binutils\/binutils-xtensa_\(.*\)\.tgz,\1,g'` exit 1 } if [ $# -ne 1 ]; then usage fi core=$1 ; shift if [ ! -f toolchain/binutils/binutils-xtensa_${core}.tgz \ -o ! -f toolchain/gcc/gcc-xtensa_${core}.tgz \ -o ! -f toolchain/gdb/gdb-xtensa_${core}.tgz ]; then echo "ERROR: Did not find an installed Xtensa core overlay named '${core}'." echo "ERROR: Please install it first with ./target/xtensa/xt-buildroot-overlay-install" echo "" usage fi # Use preset buildroot config: cp target/xtensa/defconfig .defconfig-xtensa # Set core name: sed -i -e 's,^BR2_xtensa_\(.*\)=y,BR2_xtensa_custom=y\nBR2_xtensa_custom_name="'${core}'",' .defconfig-xtensa ## sed -i -e 's,^.*BR2_xtensa_core_name.*,BR_xtensa_core_name="'${core}'",' .defconfig-xtensa # Create full .config with defaults: make clean defconfig CONFIG_DEFCONFIG=.defconfig-xtensa || exit 1 # Busybox adjustments: turn off 'ar' (can't create archives yet overrides real one) # and turn on NFS mounting (Xtensa defconfig turns on RPC so this can work): # bborig=`grep '^BR2_PACKAGE_BUSYBOX_CONFIG=' .config | sed -e 's,.*"\(.*\)".*,\1,'` bbconf=target/xtensa/busybox-config cp $bborig $bbconf sed -i -e 's,^CONFIG_AR=y,# CONFIG_AR is not set,' $bbconf sed -i -e 's,^.*CONFIG_FEATURE_MOUNT_NFS.*,CONFIG_FEATURE_MOUNT_NFS=y,' $bbconf # Make use of above busybox adjustments: sed -i -e 's,.*\(BR2_PACKAGE_BUSYBOX_CONFIG\).*,\1="'$bbconf'",' .config echo "Done."