get_linux_config.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #!/bin/bash
  2. #######################################################################
  3. #
  4. # Copy successively all configs from the BSP directory (par #1)
  5. # to the Linux directory (par #2)
  6. # Do not copy config files for later linux versions than the current
  7. # A well-behaved filename is
  8. # "<name>-linux-2.6.<major>.<minor>.config" or
  9. # "<name>-linux-2.6.<major>.config"
  10. #
  11. #######################################################################
  12. TOPDIR=`pwd`
  13. # parameter #1 BOARD_PATH
  14. # parameter #2 LINUX26_DIR
  15. CONFIGS=`ls -X $1/*linux*.*.config | sed s/[.]config// - | sort`
  16. LINUX26_DIR=`basename $2`
  17. LINUX26_CONFIG=${2}/.config
  18. LINUX_MAJOR_VERSION=${LINUX26_DIR:10:2}
  19. LINUX_MINOR_VERSION=${LINUX26_DIR:13}
  20. function linux_version()
  21. {
  22. local KCONFIG
  23. KCONFIG=`basename $1`
  24. KERNEL=`echo ${KCONFIG} | sed s/.*-linux-/linux-/g -`
  25. THIS_MAJOR=${KERNEL:10:2}
  26. THIS_MINOR=${KERNEL:13}
  27. }
  28. # Try to be careful...
  29. for i in ${CONFIGS} ; do
  30. linux_version $i
  31. if [ ${THIS_MAJOR} -le ${LINUX_MAJOR_VERSION} ] ; then
  32. echo Copying `basename $i`.config ...
  33. cp $i.config ${LINUX26_CONFIG}
  34. elif [ ${THIS_MAJOR} -eq ${LINUX_MAJOR_VERSION} ] ; then
  35. if [ ${THIS_MINOR} -le ${LINUX_MINOR_VERSION} ] ; then
  36. echo Copying `basename $i`.config ...
  37. cp $i.config ${LINUX26_CONFIG}
  38. fi
  39. fi
  40. done
  41. # Did not work... - be promisceous
  42. if [ ! -f "${LINUX26_CONFIG}" ] ; then \
  43. for i in `ls $1/*linux*.config` ; do
  44. echo Copying `basename $i` ...
  45. cp $i ${LINUX26_CONFIG}
  46. done
  47. fi