Browse Source

Add 'meta-sysmocom-bsp/' from commit 'ab0b6f424807bb42a2c2d3aab5c0e59478ef7d5a'

git-subtree-dir: meta-sysmocom-bsp
git-subtree-mainline: 91638a2adc
git-subtree-split: ab0b6f4248
set-pr-number
Holger Hans Peter Freyther 7 years ago
parent
commit
268f92b383
  1. 1
      meta-sysmocom-bsp/.gitignore
  2. 4
      meta-sysmocom-bsp/classes/femtobts_api.bbclass
  3. 20
      meta-sysmocom-bsp/classes/images_types_sysmo.bbclass
  4. 3
      meta-sysmocom-bsp/classes/pythonnative.bbclass
  5. 14
      meta-sysmocom-bsp/classes/sysmocom-archive-configured-source.bbclass
  6. 14
      meta-sysmocom-bsp/classes/sysmocom-archive-original-source.bbclass
  7. 14
      meta-sysmocom-bsp/classes/sysmocom-archive-patched-source.bbclass
  8. 452
      meta-sysmocom-bsp/classes/sysmocom-archiver.bbclass
  9. 17
      meta-sysmocom-bsp/conf/layer.conf
  10. 2
      meta-sysmocom-bsp/conf/machine/include/dm6446.inc
  11. 46
      meta-sysmocom-bsp/conf/machine/include/sysmobts.inc
  12. 35
      meta-sysmocom-bsp/conf/machine/include/ti33x.inc
  13. 14
      meta-sysmocom-bsp/conf/machine/include/tune-geode.inc
  14. 16
      meta-sysmocom-bsp/conf/machine/sysmobts-2050.conf
  15. 14
      meta-sysmocom-bsp/conf/machine/sysmobts-v1.conf
  16. 14
      meta-sysmocom-bsp/conf/machine/sysmobts-v2.conf
  17. 10
      meta-sysmocom-bsp/conf/machine/sysmocom-bsc-e1.conf
  18. 37
      meta-sysmocom-bsp/conf/machine/sysmocom-bsc.conf
  19. 41
      meta-sysmocom-bsp/conf/machine/sysmocom-odu.conf
  20. 77
      meta-sysmocom-bsp/recipes-apps/busybox/files/syslog
  21. 22
      meta-sysmocom-bsp/recipes-apps/busybox/files/syslog.conf
  22. 13
      meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-e1-image-directdisk.bb
  23. 10
      meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-e1-image.bb
  24. 14
      meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-image.bb
  25. 10
      meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-ip-image-directdisk.bb
  26. 7
      meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-ip-image.bb
  27. 10
      meta-sysmocom-bsp/recipes-apps/images/sysmocom-core-image-minimal.bb
  28. 1
      meta-sysmocom-bsp/recipes-apps/images/sysmocom-core-image.bb
  29. 20
      meta-sysmocom-bsp/recipes-apps/images/sysmocom-image.inc
  30. 12
      meta-sysmocom-bsp/recipes-apps/images/sysmocom-nitb-image.bb
  31. 63
      meta-sysmocom-bsp/recipes-apps/sysmocom-backup/files/sysmocom-backup
  32. 26
      meta-sysmocom-bsp/recipes-apps/sysmocom-backup/files/sysmocom-restore
  33. 13
      meta-sysmocom-bsp/recipes-apps/sysmocom-backup/sysmocom-backup_1.0.bb
  34. 9
      meta-sysmocom-bsp/recipes-apps/sysmocom-udhcpd-config/files/sysmocom-bsc/udhcpd.conf
  35. 0
      meta-sysmocom-bsp/recipes-apps/sysmocom-udhcpd-config/files/udhcpd.conf
  36. 14
      meta-sysmocom-bsp/recipes-apps/sysmocom-udhcpd-config/sysmocom-udhcpd-config_1.bb
  37. 3
      meta-sysmocom-bsp/recipes-apps/tasks/task-core-boot_sysmocom.inc
  38. 14
      meta-sysmocom-bsp/recipes-apps/tasks/task-gprscore.bb
  39. 24
      meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-bts.bb
  40. 18
      meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-debug.bb
  41. 12
      meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-e1.bb
  42. 12
      meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-feed.bb
  43. 18
      meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-tools.bb
  44. 18
      meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom.bb
  45. 4
      meta-sysmocom-bsp/recipes-bsp/base-files/base-files_sysmocom.inc
  46. 11
      meta-sysmocom-bsp/recipes-bsp/base-files/files/sysmobts-v1/issue
  47. 11
      meta-sysmocom-bsp/recipes-bsp/base-files/files/sysmobts-v1/issue.net
  48. 11
      meta-sysmocom-bsp/recipes-bsp/base-files/files/sysmobts-v2/issue
  49. 11
      meta-sysmocom-bsp/recipes-bsp/base-files/files/sysmobts-v2/issue.net
  50. 23
      meta-sysmocom-bsp/recipes-bsp/early-date/early-date_1.bb
  51. 10
      meta-sysmocom-bsp/recipes-bsp/early-date/files/early-date
  52. 14
      meta-sysmocom-bsp/recipes-bsp/early-date/files/early-date.service
  53. 1148
      meta-sysmocom-bsp/recipes-bsp/linux/files/mISDN_loop.patch
  54. 1838
      meta-sysmocom-bsp/recipes-bsp/linux/files/sysmobts-v1/defconfig
  55. 1900
      meta-sysmocom-bsp/recipes-bsp/linux/files/sysmobts-v2/defconfig
  56. 2865
      meta-sysmocom-bsp/recipes-bsp/linux/files/sysmocom-bsc/defconfig
  57. 321
      meta-sysmocom-bsp/recipes-bsp/linux/files/sysmocom-odu/defconfig
  58. 23
      meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom.inc
  59. 3327
      meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom/sysmocom-bsc/defconfig
  60. 62
      meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_3.2.bb
  61. 64
      meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_git.bb
  62. 29
      meta-sysmocom-bsp/recipes-bsp/linux/linux-tools.inc
  63. 20
      meta-sysmocom-bsp/recipes-bsp/linux/linux_2.6.39.bb
  64. 9
      meta-sysmocom-bsp/recipes-bsp/meta/meta-toolchain-sysmobts.bb
  65. 8
      meta-sysmocom-bsp/recipes-bsp/netbase/init-ifupdown_sysmocom.inc
  66. 16
      meta-sysmocom-bsp/recipes-bsp/netbase/netbase/sysmobts-v1/interfaces
  67. 16
      meta-sysmocom-bsp/recipes-bsp/netbase/netbase/sysmobts-v2/interfaces
  68. 22
      meta-sysmocom-bsp/recipes-bsp/netbase/netbase/sysmocom-bsc/interfaces
  69. 16
      meta-sysmocom-bsp/recipes-bsp/netbase/netbase/sysmocom-odu/interfaces
  70. 7
      meta-sysmocom-bsp/recipes-bsp/netbase/netbase_sysmocom.inc
  71. 31
      meta-sysmocom-bsp/recipes-bsp/ntp/files/ntp
  72. 17
      meta-sysmocom-bsp/recipes-bsp/ntp/files/ntp-4.2.4_p6-nano.patch
  73. 14
      meta-sysmocom-bsp/recipes-bsp/ntp/files/ntp.conf
  74. 62
      meta-sysmocom-bsp/recipes-bsp/ntp/files/ntpd
  75. 11
      meta-sysmocom-bsp/recipes-bsp/ntp/files/ntpd.service
  76. 49
      meta-sysmocom-bsp/recipes-bsp/ntp/files/ntpdate
  77. 11
      meta-sysmocom-bsp/recipes-bsp/ntp/files/ntpdate.service
  78. 32
      meta-sysmocom-bsp/recipes-bsp/ntp/files/tickadj.c.patch
  79. 35
      meta-sysmocom-bsp/recipes-bsp/ntp/ntp.inc
  80. 63
      meta-sysmocom-bsp/recipes-bsp/ntp/ntp_4.2.6p3.bb
  81. 57
      meta-sysmocom-bsp/recipes-bsp/sob-odu/files/gpio_usb2514
  82. 335
      meta-sysmocom-bsp/recipes-bsp/sob-odu/files/i2c-dev.h
  83. 180
      meta-sysmocom-bsp/recipes-bsp/sob-odu/files/usb2514.c
  84. 9
      meta-sysmocom-bsp/recipes-bsp/sob-odu/files/usb2514.service
  85. 31
      meta-sysmocom-bsp/recipes-bsp/sob-odu/usb2514_1.bb
  86. 81
      meta-sysmocom-bsp/recipes-bsp/watchdog/watchdog/init
  87. 41
      meta-sysmocom-bsp/recipes-bsp/watchdog/watchdog/sysmobts-2050/watchdog.conf
  88. 41
      meta-sysmocom-bsp/recipes-bsp/watchdog/watchdog/sysmobts-v1/watchdog.conf
  89. 41
      meta-sysmocom-bsp/recipes-bsp/watchdog/watchdog/sysmobts-v2/watchdog.conf
  90. 26
      meta-sysmocom-bsp/recipes-bsp/watchdog/watchdog_sysmocom.inc
  91. 88
      meta-sysmocom-bsp/recipes-config/openggsn-config/files/sysmobts-v1/ggsn.conf
  92. 23
      meta-sysmocom-bsp/recipes-config/openggsn-config/files/sysmobts-v1/gprs_routing
  93. 88
      meta-sysmocom-bsp/recipes-config/openggsn-config/files/sysmobts-v2/ggsn.conf
  94. 23
      meta-sysmocom-bsp/recipes-config/openggsn-config/files/sysmobts-v2/gprs_routing
  95. 88
      meta-sysmocom-bsp/recipes-config/openggsn-config/files/sysmocom-bsc/ggsn.conf
  96. 23
      meta-sysmocom-bsp/recipes-config/openggsn-config/files/sysmocom-bsc/gprs_routing
  97. 21
      meta-sysmocom-bsp/recipes-config/openggsn-config/gprs-routing_0.1.bb
  98. 11
      meta-sysmocom-bsp/recipes-config/openggsn-config/sysmocom-ggsn-config_0.1.bb
  99. 11
      meta-sysmocom-bsp/recipes-config/sysmocom-openvpn-config/sysmocom-openvpn-config/sysmocom-vpn.conf
  100. 16
      meta-sysmocom-bsp/recipes-config/sysmocom-openvpn-config/sysmocom-openvpn-config_1.bb

1
meta-sysmocom-bsp/.gitignore

@ -0,0 +1 @@
*.sw?

4
meta-sysmocom-bsp/classes/femtobts_api.bbclass

@ -0,0 +1,4 @@
# This will set BTS_HW_VERSION depending on the machine
PACKAGE_ARCH = "${MACHINE_ARCH}"
BTS_HW_VERSION_sysmobts-v1 = "-DHW_SYSMOBTS_V1"
BTS_HW_VERSION_sysmobts-v2 = "-DHW_SYSMOBTS_V2"

20
meta-sysmocom-bsp/classes/images_types_sysmo.bbclass

@ -0,0 +1,20 @@
# I add another image type for the sysmoBTS family
UBI_VOLNAME ?= "${MACHINE}-rootfs"
IMAGE_CMD_ubi-sysmo () {
echo \[kernel\] >> ubinize_sysmo.cfg
echo mode=ubi >> ubinize_sysmo.cfg
echo image=${DEPLOY_DIR_IMAGE}/uImage-${MACHINE}.bin >> ubinize_sysmo.cfg
echo vol_id=0 >> ubinize_sysmo.cfg
echo vol_type=static >> ubinize_sysmo.cfg
echo vol_name=${MACHINE}-backup-kernel >> ubinize_sysmo.cfg
echo \[ubifs\] >> ubinize_sysmo.cfg
echo mode=ubi >> ubinize_sysmo.cfg
echo image=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs-sysmo >> ubinize_sysmo.cfg
echo vol_id=1 >> ubinize_sysmo.cfg
echo vol_type=dynamic >> ubinize_sysmo.cfg
echo vol_name=${UBI_VOLNAME} >> ubinize_sysmo.cfg
echo vol_flags=autoresize >> ubinize_sysmo.cfg
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubifs-sysmo ${MKUBIFS_ARGS} && ubinize -o ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ubi-sysmo ${UBINIZE_ARGS} ubinize_sysmo.cfg
}

3
meta-sysmocom-bsp/classes/pythonnative.bbclass

@ -0,0 +1,3 @@
PYTHON="${STAGING_BINDIR_NATIVE}/python-native/python"
EXTRANATIVEPATH += "python-native"
DEPENDS += " python-native "

14
meta-sysmocom-bsp/classes/sysmocom-archive-configured-source.bbclass

@ -0,0 +1,14 @@
# This file is for getting archiving packages with configured sources(archive 's' after configure stage),logs(archive 'temp' after package_write_rpm),dump data
# and creating diff file(get all environment variables and functions in building and mapping all content in 's' including patches to xxx.diff.gz.
# All archived packages will be deployed in ${DEPLOY_DIR}/sources
inherit sysmocom-archiver
# Get archiving package with configured sources including patches
do_configure[postfuncs] += "do_archive_configured_sources "
# Get archiving package with temp(logs) and scripts(.bb and inc files)
do_package_write_rpm[prefuncs] += "do_archive_scripts_logs "
# Get dump date and create diff file
do_package_write_rpm[postfuncs] += "do_dumpdata_create_diff_gz "

14
meta-sysmocom-bsp/classes/sysmocom-archive-original-source.bbclass

@ -0,0 +1,14 @@
# This file is for getting archiving packages with original sources(archive 's' after unpack stage),patches,logs(archive 'temp' after package_write_rpm),dump data and
# creating diff file(get all environment variables and functions in building and mapping all content in 's' including patches to xxx.diff.gz.
# All archived packages will be deployed in ${DEPLOY_DIR}/sources
inherit sysmocom-archiver
# Get original sources archiving package with patches
do_unpack[postfuncs] += "do_archive_original_sources_patches "
# Get archiving package with temp(logs) and scripts(.bb and inc files)
do_package_write_rpm[prefuncs] += "do_archive_scripts_logs "
# Get dump date and create diff file
do_package_write_rpm[postfuncs] += "do_dumpdata_create_diff_gz "

14
meta-sysmocom-bsp/classes/sysmocom-archive-patched-source.bbclass

@ -0,0 +1,14 @@
# This file is for getting archiving packages with patched sources(archive 's' before do_patch stage),logs(archive 'temp' after package_write_rpm),dump data and
# creating diff file(get all environment variables and functions in building and mapping all content in 's' including patches to xxx.diff.gz.
# All archived packages will be deployed in ${DEPLOY_DIR}/sources
inherit sysmocom-archiver
# Get archiving package with patched sources including patches
do_patch[postfuncs] += "do_archive_patched_sources "
# Get archiving package with logs(temp) and scripts(.bb and .inc files)
do_package_write_rpm[prefuncs] += "do_archive_scripts_logs "
# Get dump date and create diff file
do_package_write_rpm[postfuncs] += "do_dumpdata_create_diff_gz "

452
meta-sysmocom-bsp/classes/sysmocom-archiver.bbclass

@ -0,0 +1,452 @@
# This file is used for archiving sources ,patches,and logs to tarball.
# It also output building environment to xxx.dump.data and create xxx.diff.gz to record
# all content in ${S} to a diff file.
ARCHIVE_EXCLUDE_FROM ?= ".pc autom4te.cache"
ARCHIVE_TYPE ?= "TAR SRPM"
DISTRO ?= "poky"
PATCHES_ARCHIVE_WITH_SERIES = 'TRUE'
def get_bb_inc(d):
'''create a directory "script-logs" including .bb and .inc file in ${WORKDIR}'''
import re
import os
import shutil
bbinc = []
pat=re.compile('require\s*([^\s]*\.*)(.*)')
work_dir = d.getVar('WORKDIR', True)
bbfile = d.getVar('FILE', True)
bbdir = os.path.dirname(bbfile)
script_logs = os.path.join(work_dir,'script-logs')
bb_inc = os.path.join(script_logs,'bb_inc')
bb.mkdirhier(script_logs)
bb.mkdirhier(bb_inc)
def find_file(dir,file):
for root, dirs, files in os.walk(dir):
if file in files:
return os.path.join(root,file)
def get_inc (file):
f = open(file,'r')
for line in f.readlines():
if 'require' not in line:
bbinc.append(file)
else:
try:
incfile = pat.match(line).group(1)
incfile = bb.data.expand(os.path.basename(incfile),d)
abs_incfile = find_file(bbdir,incfile)
if abs_incfile:
bbinc.append(abs_incfile)
get_inc(abs_incfile)
except AttributeError:
pass
get_inc(bbfile)
bbinc = list(set(bbinc))
for bbincfile in bbinc:
shutil.copy(bbincfile,bb_inc)
try:
bb.mkdirhier(os.path.join(script_logs,'temp'))
oe.path.copytree(os.path.join(work_dir,'temp'), os.path.join(script_logs,'temp'))
except (IOError,AttributeError):
pass
return script_logs
def get_series(d):
'''copy patches and series file to a pointed directory which will be archived to tarball in ${WORKDIR}'''
import shutil
src_patches=[]
pf = d.getVar('PF', True)
work_dir = d.getVar('WORKDIR', True)
s = d.getVar('S',True)
dest = os.path.join(work_dir, pf + '-series')
shutil.rmtree(dest, ignore_errors=True)
bb.mkdirhier(dest)
src_uri = d.getVar('SRC_URI', True).split()
fetch = bb.fetch2.Fetch(src_uri, d)
locals = (fetch.localpath(url) for url in fetch.urls)
for local in locals:
src_patches.append(local)
if not cmp(work_dir,s):
tmp_list = src_patches
else:
tmp_list = src_patches[1:]
for patch in tmp_list:
try:
shutil.copy(patch,dest)
except IOError:
if os.path.isdir(patch):
bb.mkdirhier(os.path.join(dest,patch))
oe.path.copytree(patch, os.path.join(dest,patch))
return dest
def get_applying_patches(d):
"""only copy applying patches to a pointed directory which will be archived to tarball"""
import os
import shutil
pf = d.getVar('PF', True)
work_dir = d.getVar('WORKDIR', True)
dest = os.path.join(work_dir, pf + '-patches')
shutil.rmtree(dest, ignore_errors=True)
bb.mkdirhier(dest)
patches = src_patches(d)
for patch in patches:
_, _, local, _, _, parm = bb.decodeurl(patch)
if local:
shutil.copy(local,dest)
return dest
def not_tarball(d):
'''packages including key words 'work-shared','native', 'task-' will be passed'''
import os
workdir = d.getVar('WORKDIR',True)
s = d.getVar('S',True)
if 'work-shared' in s or 'task-' in workdir or 'native' in workdir:
pn = bb.data.getVar('PN', d , True)
if pn == 'gcc-cross':
return False
return True
else:
return False
def get_source_from_downloads(d,stage_name):
'''copy tarball of $P to $WORKDIR when this tarball exists in $DL_DIR'''
if stage_name in 'patched' 'configured':
return
pf = d.getVar('PF', True)
dl_dir = d.getVar('DL_DIR',True)
try:
source = os.path.join(dl_dir,os.path.basename(d.getVar('SRC_URI', True).split()[0]))
if os.path.exists(source) and not os.path.isdir(source):
return source
except (IndexError, OSError):
pass
return ''
def do_tarball(workdir,srcdir,tarname):
'''tar "srcdir" under "workdir" to "tarname"'''
import tarfile
sav_dir = os.getcwd()
os.chdir(workdir)
if (len(os.listdir(srcdir))) != 0:
tar = tarfile.open(tarname, "w:gz")
tar.add(srcdir)
tar.close()
else:
tarname = ''
os.chdir(sav_dir)
return tarname
def archive_sources_from_directory(d,stage_name):
'''archive sources codes tree to tarball when tarball of $P doesn't exist in $DL_DIR'''
import shutil
s = d.getVar('S',True)
work_dir=d.getVar('WORKDIR', True)
PF = d.getVar('PF',True)
tarname = PF + '-' + stage_name + ".tar.gz"
if os.path.exists(s) and work_dir in s:
try:
source_dir = os.path.join(work_dir,[ i for i in s.replace(work_dir,'').split('/') if i][0])
except IndexError:
if not cmp(s,work_dir):
return ''
else:
return ''
source = os.path.basename(source_dir)
return do_tarball(work_dir,source,tarname)
def archive_sources(d,stage_name):
'''copy tarball from $DL_DIR to $WORKDIR if have tarball, archive source codes tree in $WORKDIR if $P is directory instead of tarball'''
import shutil
work_dir = d.getVar('WORKDIR',True)
file = get_source_from_downloads(d,stage_name)
if file:
shutil.copy(file,work_dir)
file = os.path.basename(file)
else:
file = archive_sources_from_directory(d,stage_name)
return file
def archive_patches(d,patchdir,series):
'''archive patches to tarball and also include series files if 'series' is True'''
import shutil
s = d.getVar('S',True)
work_dir = d.getVar('WORKDIR', True)
patch_dir = os.path.basename(patchdir)
tarname = patch_dir + ".tar.gz"
if series == 'all' and os.path.exists(os.path.join(s,'patches/series')):
shutil.copy(os.path.join(s,'patches/series'),patchdir)
tarname = do_tarball(work_dir,patch_dir,tarname)
shutil.rmtree(patchdir, ignore_errors=True)
return tarname
def select_archive_patches(d,option):
'''select to archive all patches including non-applying and series or applying patches '''
if option == "all":
patchdir = get_series(d)
elif option == "applying":
patchdir = get_applying_patches(d)
try:
os.rmdir(patchdir)
except OSError:
tarpatch = archive_patches(d,patchdir,option)
return tarpatch
return
def archive_logs(d,logdir,bbinc=False):
'''archive logs in temp to tarball and .bb and .inc files if bbinc is True '''
import shutil
pf = d.getVar('PF',True)
work_dir = d.getVar('WORKDIR',True)
log_dir = os.path.basename(logdir)
tarname = pf + '-' + log_dir + ".tar.gz"
tarname = do_tarball(work_dir,log_dir,tarname)
if bbinc:
shutil.rmtree(logdir, ignore_errors=True)
return tarname
def get_licenses(d):
'''get licenses for running .bb file'''
licenses = d.getVar('LICENSE', 1).replace('&', '|')
licenses = licenses.replace('(', '').replace(')', '')
clean_licenses = ""
for x in licenses.split():
if x.strip() == '' or x == 'CLOSED':
continue
if x != "|":
clean_licenses += x
if '|' in clean_licenses:
clean_licenses = clean_licenses.replace('|','')
return clean_licenses
def move_tarball_deploy(d,tarball_list):
'''move tarball in location to ${DEPLOY_DIR}/sources'''
import shutil
if tarball_list is []:
return
target_sys = d.getVar('TARGET_SYS', True)
pf = d.getVar('PF', True)
licenses = get_licenses(d)
work_dir = d.getVar('WORKDIR',True)
tar_sources = d.getVar('DEPLOY_DIR', True) + '/sources/' + target_sys + '/' + licenses + '/' + pf
if not os.path.exists(tar_sources):
bb.mkdirhier(tar_sources)
for source in tarball_list:
if source:
if os.path.exists(os.path.join(tar_sources, source)):
os.remove(os.path.join(tar_sources,source))
shutil.move(os.path.join(work_dir,source),tar_sources)
def check_archiving_type(d):
'''check the type for archiving package('tar' or 'srpm')'''
try:
if d.getVar('SOURCE_ARCHIVE_PACKAGE_TYPE', True).upper() not in d.getVar('ARCHIVE_TYPE', True).split():
raise AttributeError
except AttributeError:
bb.fatal("\"SOURCE_ARCHIVE_PACKAGE_TYPE\" is \'tar\' or \'srpm\', no other types")
def store_package(d,package_name):
'''store tarbablls name to file "tar-package"'''
try:
f = open(os.path.join(d.getVar('WORKDIR',True),'tar-package'),'a')
f.write(package_name + ' ')
f.close()
except IOError:
pass
def get_package(d):
'''get tarballs name from "tar-package"'''
work_dir = (d.getVar('WORKDIR', True))
tarpackage = os.path.join(work_dir,'tar-package')
try:
f = open(tarpackage,'r')
line = list(set(f.readline().replace('\n','').split()))
except IOError:
pass
f.close()
return line
def archive_sources_patches(d,stage_name):
'''archive sources and patches to tarball. stage_name will append strings ${stage_name} to ${PR} as middle name. for example, zlib-1.4.6-prepatch(stage_name).tar.gz '''
import shutil
check_archiving_type(d)
if not_tarball(d):
return
source_tar_name = archive_sources(d,stage_name)
if stage_name == "prepatch":
if d.getVar('PATCHES_ARCHIVE_WITH_SERIES',True).upper() == 'TRUE':
patch_tar_name = select_archive_patches(d,"all")
elif d.getVar('PATCHES_ARCHIVE_WITH_SERIES',True).upper() == 'FALSE':
patch_tar_name = select_archive_patches(d,"applying")
else:
bb.fatal("Please define 'PATCHES_ARCHIVE_WITH_SERIES' is strings 'True' or 'False' ")
else:
patch_tar_name = ''
if d.getVar('SOURCE_ARCHIVE_PACKAGE_TYPE', True).upper() not in 'SRPM':
move_tarball_deploy(d,[source_tar_name,patch_tar_name])
else:
tarpackage = os.path.join(d.getVar('WORKDIR', True),'tar-package')
if os.path.exists(tarpackage):
os.remove(tarpackage)
for package in os.path.basename(source_tar_name), patch_tar_name:
if package:
store_package(d,str(package) + ' ')
def archive_scripts_logs(d):
'''archive scripts and logs. scripts include .bb and .inc files and logs include stuff in "temp".'''
work_dir = d.getVar('WORKDIR', True)
temp_dir = os.path.join(work_dir,'temp')
source_archive_log_with_scripts = d.getVar('SOURCE_ARCHIVE_LOG_WITH_SCRIPTS', True)
if source_archive_log_with_scripts == 'logs_with_scripts':
logdir = get_bb_inc(d)
tarlog = archive_logs(d,logdir,True)
elif source_archive_log_with_scripts == 'logs':
if os.path.exists(temp_dir):
tarlog = archive_logs(d,temp_dir,False)
else:
return
if d.getVar('SOURCE_ARCHIVE_PACKAGE_TYPE', True).upper() not in 'SRPM':
move_tarball_deploy(d,[tarlog])
else:
store_package(d,tarlog)
def dumpdata(d):
'''dump environment to "${P}-${PR}.showdata.dump" including all kinds of variables and functions when running a task'''
workdir = bb.data.getVar('WORKDIR', d, 1)
distro = bb.data.getVar('DISTRO', d, 1)
s = d.getVar('S', True)
pf = d.getVar('PF', True)
target_sys = d.getVar('TARGET_SYS', True)
licenses = get_licenses(d)
dumpdir = d.getVar('DEPLOY_DIR', True) + '/sources/' + target_sys + '/' + licenses + '/' + pf
if not os.path.exists(dumpdir):
bb.mkdirhier(dumpdir)
dumpfile = os.path.join(dumpdir, bb.data.expand("${P}-${PR}.showdata.dump",d))
bb.note("Dumping metadata into '%s'" % dumpfile)
f = open(dumpfile, "w")
# emit variables and shell functions
bb.data.emit_env(f, d, True)
# emit the metadata which isnt valid shell
for e in d.keys():
if bb.data.getVarFlag(e, 'python', d):
f.write("\npython %s () {\n%s}\n" % (e, bb.data.getVar(e, d, 1)))
f.close()
def create_diff_gz(d):
'''creating .diff.gz in ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.g gz for mapping all content in 's' including patches to xxx.diff.gz'''
import shutil
work_dir = d.getVar('WORKDIR', True)
exclude_from = d.getVar('ARCHIVE_EXCLUDE_FROM', True).split()
pf = d.getVar('PF', True)
licenses = get_licenses(d)
target_sys = d.getVar('TARGET_SYS', True)
diff_dir = d.getVar('DEPLOY_DIR', True) + '/sources/' + target_sys + '/' + licenses + '/' + pf
diff_file = os.path.join(diff_dir, bb.data.expand("${P}-${PR}.diff.gz",d))
f = open(os.path.join(work_dir,'temp/exclude-from-file'), 'a')
for i in exclude_from:
f.write(i)
f.write("\n")
f.close()
s=d.getVar('S', True)
distro = d.getVar('DISTRO',True)
dest = s + '/' + distro + '/files'
if not os.path.exists(dest):
bb.mkdirhier(dest)
for i in os.listdir(os.getcwd()):
if os.path.isfile(i):
try:
shutil.copy(i, dest)
except IOError:
os.system('fakeroot cp -rf ' + i + " " + dest )
bb.note("Creating .diff.gz in ${DEPLOY_DIR_SRC}/${P}-${PR}.diff.gz")
cmd = "LC_ALL=C TZ=UTC0 diff --exclude-from=" + work_dir + "/temp/exclude-from-file -Naur " + s + '.org' + ' ' + s + " | gzip -c > " + diff_file
d.setVar('DIFF', cmd + "\n")
d.setVarFlag('DIFF', 'func', '1')
bb.build.exec_func('DIFF', d)
shutil.rmtree(s + '.org', ignore_errors=True)
# This function will run when user want to get tarball for sources and patches after do_unpack
python do_archive_original_sources_patches(){
archive_sources_patches(d,'prepatch')
}
# This function will run when user want to get tarball for patched sources after do_patch
python do_archive_patched_sources(){
archive_sources_patches(d,'patched')
}
# This function will run when user want to get tarball for configured sources after do_configure
python do_archive_configured_sources(){
archive_sources_patches(d,'configured')
}
# This function will run when user want to get tarball for logs or both logs and scripts(.bb and .inc files)
python do_archive_scripts_logs(){
archive_scripts_logs(d)
}
# This function will run when user want to know what variable and functions in a running task are and also can get a diff file including
# all content a package should include.
python do_dumpdata_create_diff_gz(){
dumpdata(d)
create_diff_gz(d)
}
# This functions prepare for archiving "linux-yocto" because this package create directory 's' before do_patch instead of after do_unpack.
# This is special control for archiving linux-yocto only.
python do_archive_linux_yocto(){
s = d.getVar('S', True)
if 'linux-yocto' in s:
source_tar_name = archive_sources(d,'')
if d.getVar('SOURCE_ARCHIVE_PACKAGE_TYPE', True).upper() not in 'SRPM':
move_tarball_deploy(d,[source_tar_name,''])
}
do_kernel_checkout[postfuncs] += "do_archive_linux_yocto "
# remove tarball for sources, patches and logs after creating srpm.
python do_remove_tarball(){
if d.getVar('SOURCE_ARCHIVE_PACKAGE_TYPE', True).upper() == 'SRPM':
work_dir = d.getVar('WORKDIR', True)
try:
for file in os.listdir(os.getcwd()):
if file in get_package(d):
os.remove(file)
os.remove(os.path.join(work_dir,'tar-package'))
except (TypeError,OSError):
pass
}
do_remove_taball[deptask] = "do_archive_scripts_logs"
do_package_write_rpm[postfuncs] += "do_remove_tarball "
export get_licenses
export get_package

17
meta-sysmocom-bsp/conf/layer.conf

@ -0,0 +1,17 @@
# We have a conf and classes directory, add to BBPATH
BBPATH := "${BBPATH}:${LAYERDIR}"
# We have a packages directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILES += "${LAYERDIR}/yocto-shared/*.bbappend"
# Now we will need to include the matching fixes for a yocto version
BBFILES += "${BBFILES_SYSMOCOM_BSP}"
# selects specific distro or master when DISTRO_VERSION contains SNAPSHOT
BBFILES_SYSMOCOM_BSP = "${LAYERDIR}/yocto-${@ [dict([('1.5','dora'), ('1.5.1', 'dora'), ('1.5.2', 'dora'), ('1.5.3', 'dora'), ('1.1.2','edison')])[d.getVar('DISTRO_VERSION', True)], 'master']['SNAPSHOT' in d.getVar('DISTRO_VERSION', True)]}/*.bbappend"
BBFILE_COLLECTIONS += "sysmocom-bsp"
BBFILE_PATTERN_sysmocom-bsp := "^${LAYERDIR}/"
BBFILE_PRIORITY_sysmocom-bsp = "1"

2
meta-sysmocom-bsp/conf/machine/include/dm6446.inc

@ -0,0 +1,2 @@
SOC_FAMILY = "dm6446"

46
meta-sysmocom-bsp/conf/machine/include/sysmobts.inc

@ -0,0 +1,46 @@
TARGET_ARCH = "arm"
PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom"
PREFERRED_VERSION_linux-sysmocom = "${@ dict([('1.5','3.10.40+git%'), ('1.5.1','3.10.40+git%'), ('1.5.2','3.10.40+git%'), ('1.5.3','3.10.40+git%'), ('1.1.2','')])[d.getVar('DISTRO_VERSION', True)]}"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
PREFERRED_VERSION_u-boot = "git"
KERNEL_IMAGETYPE = "uImage"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
SERIAL_CONSOLE ?= "115200 ttyS0"
EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n"
#ROOT_FLASH_SIZE = "29"
MACHINE_FEATURES = "kernel26 serial"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
busybox-ifplugd \
${@['watchdog', ''][d.getVar('DISTRO_FEATURES_INITMAN', True) == 'systemd']} \
kernel \
kernel-module-davinci-wdt \
kernel-module-dspdl \
kernel-module-dspdl-dm644x \
kernel-module-fpgadl \
kernel-module-fpgadl-par \
kernel-module-leds-gpio \
kernel-module-msgqueue \
kernel-module-nls-ascii \
kernel-module-nls-utf8 \
kernel-module-rtfifo "
IMAGE_FSTYPES ?= "tar.bz2 cpio.gz ubifs ubi jffs2"
MACHINE_EXTRA_RDEPENDS = "\
task-sysmocom-bts \
sysmobts-firmware \
${@['watchdog', ''][d.getVar('DISTRO_FEATURES_INITMAN', True) == 'systemd']} \
"
#MACHINE_EXTRA_RRECOMMENDS = "dsplink-module"
require conf/machine/include/tune-arm926ejs.inc
require conf/machine/include/dm6446.inc

35
meta-sysmocom-bsp/conf/machine/include/ti33x.inc

@ -0,0 +1,35 @@
SOC_FAMILY = "ti33x"
require conf/machine/include/soc-family.inc
require conf/machine/include/tune-cortexa8.inc
PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg"
# For built-in LCD, add xf86-input-tslib
XSERVER = "xserver-xorg \
xf86-input-evdev \
xf86-input-mouse \
xf86-video-fbdev \
xf86-input-keyboard"
# Default to external video, change to smallscreen for built-in LCD
GUI_MACHINE_CLASS = "bigscreen"
# Increase this everytime you change something in the kernel
MACHINE_KERNEL_PR = "r21"
KERNEL_IMAGETYPE = "zImage"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "am335x_evm_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
# Use the expected value of the ubifs filesystem's volume name in the kernel
# and u-boot.
UBI_VOLNAME = "rootfs"
# List common SoC features, may need to add touchscreen for specific machines
MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen alsa ethernet sgx"

14
meta-sysmocom-bsp/conf/machine/include/tune-geode.inc

@ -0,0 +1,14 @@
DEFAULTTUNE ?= "geode"
require conf/machine/include/tune-i586.inc
# Extra tune features
TUNEVALID[geode] = "Enable geode specific processor optimizations"
TUNE_CCARGS += "${@bb.utils.contains('TUNE_FEATURES', 'geode', '-march=geode -mtune=geode', '', d)}"
# Extra tune selections
AVAILTUNES += "geode"
TUNE_FEATURES_tune-geode ?= "${TUNE_FEATURES_tune-x86} geode"
BASE_LIB_tune-geode ?= "lib"
TUNE_PKGARCH_tune-geode = "geode"
PACKAGE_EXTRA_ARCHS_tune-geode = "${PACKAGE_EXTRA_ARCHS_tune-x86} i386 i486 i586 geode"

16
meta-sysmocom-bsp/conf/machine/sysmobts-2050.conf

@ -0,0 +1,16 @@
#@TYPE: Machine
#@NAME: sysmoBTS 2050
#@DESCRIPTION: sysmocom GmbH sysmoBTS 2050 family
require sysmobts-v2.conf
MACHINEOVERRIDES = "${MACHINE}:sysmobts-v2"
# we are disabling the serial console for now, as it may interfere with
# the MSP430 service processor communication until proper filtering/splitting
# of the serial stream is implemented in the kernel
SERIAL_CONSOLE = ""
# we don't want a different UBIfs volume name, as this is compiled into u-boot,
# and thus would require a different u-boot image in turn.
UBI_VOLNAME="sysmobts-v2-rootfs"

14
meta-sysmocom-bsp/conf/machine/sysmobts-v1.conf

@ -0,0 +1,14 @@
#@TYPE: Machine
#@NAME: sysmocom - systems for mobile communications GmbH GSM BTS
#@DESCRIPTION: sysmocom - systems for mobile communications GmbH GSM BTS
# Make sure we build these too
EXTRA_IMAGEDEPENDS = "dvnixload-native ubl u-boot sysmobts-firmware"
EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 --no-cleanmarkers --pad=0x2000000 -n"
# ubifs config
MKUBIFS_ARGS = "-m 2048 -e 129024 -c 400"
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512"
require conf/machine/include/sysmobts.inc

14
meta-sysmocom-bsp/conf/machine/sysmobts-v2.conf

@ -0,0 +1,14 @@
#@TYPE: Machine
#@NAME: sysmocom - systems for mobile communications GmbH GSM Superfemto
#@DESCRIPTION: sysmocom - systems for mobile communications GmbH GSM Superfemto
# Make sure we build these too
EXTRA_IMAGEDEPENDS = "dvnixload-native ubl u-boot sysmobts-firmware"
EXTRA_IMAGECMD_jffs2 = "--little-endian --eraseblock=0x20000 --pagesize=0x800 --no-cleanmarkers --pad=0x2000000 -n"
# ubifs config
MKUBIFS_ARGS ?= "-m 2048 -e 129024 -c 999"
UBINIZE_ARGS ?= "-m 2048 -p 128KiB -s 512"
require conf/machine/include/sysmobts.inc

10
meta-sysmocom-bsp/conf/machine/sysmocom-bsc-e1.conf

@ -0,0 +1,10 @@
#@TYPE: Machine
#@NAME: common_pc
#@DESCRIPTION: Machine configuration for running a common x86
require sysmocom-bsc.conf
MACHINEOVERRIDES = "${MACHINE}:sysmocom-bsc"
SERIAL_CONSOLE = "19200 ttyS0"
MACHINE_CONSOLE = "console=ttyS0,19200n8"

37
meta-sysmocom-bsp/conf/machine/sysmocom-bsc.conf

@ -0,0 +1,37 @@
#@TYPE: Machine
#@NAME: common_pc
#@DESCRIPTION: Machine configuration for running a common x86
TARGET_ARCH = "i586"
PREFERRED_PROVIDER_virtual/libgl = "mesa-dri"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-trim"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/kernel = "${@ dict([('1.5','linux-sysmocom'), ('1.5.1', 'linux-sysmocom'), ('1.5.1', 'linux-sysmocom'), ('1.1.2','linux')])[d.getVar('DISTRO_VERSION', True)]}"
require conf/machine/include/tune-geode.inc
MACHINE_FEATURES += "kernel26 x86 usbhost pci acpi"
KERNEL_IMAGETYPE = "bzImage"
IMAGE_FSTYPES ?= "tar.gz ext4"
SERIAL_CONSOLE = "38400 ttyS0"
MACHINE_CONSOLE = "console=ttyS0,38400n8"
# We bypass swrast but we need it to be present for X to load correctly
XSERVER ?= "xserver-xf86-dri-lite \
mesa-dri-driver-swrast \
xf86-input-vmmouse \
xf86-input-keyboard \
xf86-input-evdev \
xf86-video-vmware"
GLIBC_ADDONS = "nptl"
GLIBC_EXTRA_OECONF = "--with-tls"
#MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
busybox-ifplugd "

41
meta-sysmocom-bsp/conf/machine/sysmocom-odu.conf

@ -0,0 +1,41 @@
#@TYPE: Machine
#@NAME: sysmocom-odu
#@DESCRIPTION: Machine configuration for the sysmocom ODU
require conf/machine/include/ti33x.inc
IMAGE_FSTYPES += "ubi tar.gz"
SERIAL_CONSOLE = "115200 ttyO0"
# UBI information. Note that this is board and kernel specific. Changes
# in your kernel port may require changes in these variables. For more
# details about this board please see
# http://processors.wiki.ti.com/index.php/UBIFS_Support
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
# From dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: logical eraseblock size: 126976 bytes
# from ubiattach stdout:
# UBI device number 0, total 1988 LEBs
MKUBIFS_ARGS = "-F -m 2048 -e 126976 -c 3836"
# do ubiattach /dev/ubi_ctrl -m 7 -O 2048
# from dmesg:
# UBI: smallest flash I/O unit: 2048
# UBI: physical eraseblock size: 131072 bytes (128 KiB)
# UBI: sub-page size: 512
# UBI: VID header offset: 2048 (aligned 2048)
UBINIZE_ARGS = "-m 2048 -p 128KiB -s 512 -O 2048"
# Go back to prefer our kernel
PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom"
KERNEL_IMAGETYPE = "uImage"
PREFERRED_PROVIDER_virtual/bootloader = "barebox-sysmocom"
EXTRA_IMAGEDEPENDS += "barebox-sysmocom"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
kernel \
"

77
meta-sysmocom-bsp/recipes-apps/busybox/files/syslog

@ -0,0 +1,77 @@
#! /bin/sh
### BEGIN INIT INFO
# Provides: sysklogd
# Required-Start: $remote_fs $time
# Required-Stop: $remote_fs $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: System logger
### END INIT INFO
set -e
if [ -f /etc/syslog.conf ]; then
. /etc/syslog.conf
LOG_LOCAL=0
LOG_REMOTE=0
for D in $DESTINATION; do
if [ "$D" = "buffer" ]; then
SYSLOG_ARGS="$SYSLOG_ARGS -C$BUFFERSIZE"
LOG_LOCAL=1
elif [ "$D" = "file" ]; then
if [ -n "$LOGFILE" ]; then
SYSLOG_ARGS="$SYSLOG_ARGS -O $LOGFILE"
fi
if [ -n "$ROTATESIZE" ]; then
SYSLOG_ARGS="$SYSLOG_ARGS -s $ROTATESIZE"
fi
if [ -n "$ROTATEGENS" ]; then
SYSLOG_ARGS="$SYSLOG_ARGS -b $ROTATEGENS"
fi
LOCAL=0
elif [ "$D" = "remote" ]; then
SYSLOG_ARGS="$SYSLOG_ARGS -R $REMOTE"
LOG_REMOTE=1
fi
done
if [ "$LOG_LOCAL" = "1" -a "$LOG_REMOTE" = "1" ]; then
SYSLOG_ARGS="$SYSLOG_ARGS -L"
fi
if [ "$REDUCE" = "yes" ]; then
SYSLOG_ARGS="$SYSLOG_ARGS -S"
fi
if [ "$DROPDUPLICATES" = "yes" ]; then
SYSLOG_ARGS="$SYSLOG_ARGS -D"
fi
if [ -n "$LOGLEVEL" ]; then
SYSLOG_ARGS="$SYSLOG_ARGS -l $LOGLEVEL"
fi
else
# default: log to 16K shm circular buffer
SYSLOG_ARGS="-C"
fi
case "$1" in
start)
echo -n "Starting syslogd/klogd: "
start-stop-daemon -S -b -n syslogd -a /sbin/syslogd -- -n $SYSLOG_ARGS
start-stop-daemon -S -b -n klogd -a /sbin/klogd -- -n
echo "done"
;;
stop)
echo -n "Stopping syslogd/klogd: "
start-stop-daemon -K -n syslogd
start-stop-daemon -K -n klogd
echo "done"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: syslog { start | stop | restart }" >&2
exit 1
;;
esac
exit 0

22
meta-sysmocom-bsp/recipes-apps/busybox/files/syslog.conf

@ -0,0 +1,22 @@
DESTINATION="buffer" # log destinations (buffer file remote)
MARKINT=20 # intervall between --mark-- entries
LOGFILE=/var/log/messages # where to log (file)
REMOTE=loghost:514 # where to log (syslog remote)
REDUCE=no # reduce-size logging
#ROTATESIZE=0 # rotate log if grown beyond X [kByte] (incompatible with busybox)
#ROTATEGENS=3 # keep X generations of rotated logs (incompatible with busybox)
BUFFERSIZE=64 # size of circular buffer [kByte]
FOREGROUND=no # run in foreground (don't use!)
LOGLEVEL=6
# magic when a MMC card is mounted
USING_MMC_CARD=`/bin/mount | grep /media/mmcblk0p1 | wc -l`
if [ 1 -eq $USING_MMC_CARD ] ; then
if [ -e /media/mmcblk0p1/log ] ; then
echo "Using mmc card"
LOGFILE=/media/mmcblk0p1/log/messages
DESTINATION="file"
ROTATESIZE=2048
ROTATEGENS=20
fi
fi

13
meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-e1-image-directdisk.bb

@ -0,0 +1,13 @@
DESCRIPTION = "sysmocom BSC/E1 image"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
LICENSE = "MIT"
inherit boot-directdisk
ROOTFS = "${DEPLOY_DIR_IMAGE}/sysmocom-bsc-e1-image-${MACHINE}.ext3"
do_bootdirectdisk[depends] += "sysmocom-bsc-e1-image:do_rootfs"

10
meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-e1-image.bb

@ -0,0 +1,10 @@
IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${ROOTFS_PKGMANAGE} task-osmocom task-sysmocom \
task-sysmocom-debug task-sysmocom-tools task-sysmocom-e1 task-gprscore \
e2fsprogs-mke2fs e2fsprogs-tune2fs e2fsprogs-e2fsck e2fsprogs-fsck \
kernel-module-nls-iso8859-1 kernel-module-nls-cp437"
IMAGE_LINGUAS = " "
LICENSE = "MIT"
inherit core-image
IMAGE_ROOTFS_SIZE = "524288"

14
meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-image.bb

@ -0,0 +1,14 @@
require sysmocom-image.inc
IMAGE_LINGUAS = " "
# This variant of the image will run osmo-bts and osmo-bsc
activate_bsc() {
echo "NO_START=0" > ${IMAGE_ROOTFS}/etc/default/osmo-bsc
}
activate_systemd_bsc() {
ln -sf ${systemd_unitdir}/system/osmo-bsc.service ${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/
}
IMAGE_PREPROCESS_COMMAND += "${@base_contains('DISTRO_FEATURES','systemd','activate_systemd_bsc','activate_bsc',d)}; "

10
meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-ip-image-directdisk.bb

@ -0,0 +1,10 @@
DESCRIPTION = "sysmocom BSC/IP image"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
LICENSE = "MIT"
inherit boot-directdisk
ROOTFS = "${DEPLOY_DIR_IMAGE}/sysmocom-bsc-ip-image-${MACHINE}.ext4"
do_bootdirectdisk[depends] += "sysmocom-bsc-ip-image:do_rootfs"

7
meta-sysmocom-bsp/recipes-apps/images/sysmocom-bsc-ip-image.bb

@ -0,0 +1,7 @@
IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${ROOTFS_PKGMANAGE} task-osmocom task-sysmocom task-sysmocom-debug task-sysmocom-tools task-gprscore sysmocom-udhcpd-config busybox-udhcpd"
IMAGE_LINGUAS = " "
LICENSE = "MIT"
inherit core-image
IMAGE_ROOTFS_SIZE = "262144"

10
meta-sysmocom-bsp/recipes-apps/images/sysmocom-core-image-minimal.bb

@ -0,0 +1,10 @@
IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} task-osmocom task-sysmocom"
IMAGE_LINGUAS = " "
LICENSE = "MIT"
inherit core-image
IMAGE_ROOTFS_SIZE = "8192"
# remove not needed ipkg informations
ROOTFS_POSTPROCESS_COMMAND += "remove_packaging_data_files ; "

1
meta-sysmocom-bsp/recipes-apps/images/sysmocom-core-image.bb

@ -0,0 +1 @@
require sysmocom-image.inc

20
meta-sysmocom-bsp/recipes-apps/images/sysmocom-image.inc

@ -0,0 +1,20 @@
DEPENDS = "${MACHINE_EXTRA_RDEPENDS}"
IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${ROOTFS_PKGMANAGE} task-osmocom task-sysmocom task-sysmocom-debug task-sysmocom-tools ${MACHINE_EXTRA_RDEPENDS} "
IMAGE_LINGUAS = " "
IMAGE_FEATURES += " package-management "
LICENSE = "MIT"
inherit core-image
IMAGE_ROOTFS_SIZE = "32768"
link_uimage() {
echo "Linking the current uImage to /boot/uImage"
OLD_PWD=$PWD
cd ${IMAGE_ROOTFS}/boot
ln -s uImage-* uImage || true
cd $OLD_PWD
}
IMAGE_PREPROCESS_COMMAND += "link_uimage; "

12
meta-sysmocom-bsp/recipes-apps/images/sysmocom-nitb-image.bb

@ -0,0 +1,12 @@
require sysmocom-image.inc
# This variant of the image will run osmo-bts and osmo-nitb
activate_nitb() {
echo "NO_START=0" > ${IMAGE_ROOTFS}/etc/default/osmo-nitb
}
activate_systemd_nitb() {
ln -sf ${systemd_unitdir}/system/osmo-nitb.service ${IMAGE_ROOTFS}/etc/systemd/system/multi-user.target.wants/
}
IMAGE_PREPROCESS_COMMAND += "${@base_contains('DISTRO_FEATURES','systemd','activate_systemd_nitb','activate_nitb',d)}; "

63
meta-sysmocom-bsp/recipes-apps/sysmocom-backup/files/sysmocom-backup

@ -0,0 +1,63 @@
#!/bin/sh
# Make sure to look at sysmocom-restore to check if the file would
# be restored right. Currently only some dirs get restored.
FILES="\
etc/hostname \
etc/ifplugd.sh \
etc/network/interfaces \
etc/openvpn \
etc/opkg/sysmocom-config.conf \
etc/osmocom/osmo-bsc-mgcp.cfg \
etc/osmocom/osmo-bsc.cfg \
etc/osmocom/osmo-bts.cfg \
etc/osmocom/osmo-nitb.cfg \
etc/osmocom/osmo-pcu.cfg \
etc/osmocom/osmo-sgsn.cfg \
etc/systemd/system/multi-user.target.wants/osmo-nitb.service \
etc/systemd/system/multi-user.target.wants/osmo-bsc.service \
etc/systemd/system/multi-user.target.wants/osmo-sgsn.service \
etc/ggsn.conf \
etc/default \
var/lib/osmocom/hlr.sqlite3 \
etc/lcr \
etc/udhcpd.conf \
"
DATE=`date +%Y%m%d`
do_backup_files() {
BACKUP_FILE="/home/root/sysmocom-backup_$DATE.tar"
# 0. Sanity checking
if [ -e $BACKUP_FILE ]; then
echo "The backup file '$BACKUP_FILE' already exists. Exiting!"
exit 1
fi
# 1. Create an empty archive..
tar -cf $BACKUP_FILE --files-from=/dev/null
# 2. Add all the files... we need
for file in $FILES;
do
if [ -e "/$file" ]; then
tar -rf $BACKUP_FILE --transform='s,^,content/,' -C / $file
fi
done
# 3. Generate more information
NAME="/tmp/backup.$RANDOM"
mkdir $NAME
opkg list_installed > $NAME/installed_packages
/sbin/ifconfig | grep HWaddr | cut -d ' ' -f 11 > $NAME/mac_addr
# 4. Add the more information
tar -rf $BACKUP_FILE --transform='s,^,info/,' -C $NAME installed_packages mac_addr
# 5.
echo "The backup was stored to $BACKUP_FILE"
}
do_backup_files

26
meta-sysmocom-bsp/recipes-apps/sysmocom-backup/files/sysmocom-restore

@ -0,0 +1,26 @@
#!/bin/sh
do_extract() {
# List the files and check if grep hits something
SEARCH=`tar -tvf $1 | grep $2`
RES=$?
if [ $RES = 0 ]; then
tar -C / -xvf $1 --strip=1 $2
else
echo "Directory '$2' is not in backup '$1'."
fi
}
do_restore_files() {
BACKUP_FILE=$1
if [ ! -e "$BACKUP_FILE" ] ; then
echo "The backup file '$BACKUP_FILE' does not exist. Exiting!"
exit 1
fi
echo "Going to extract files from the backup '$BACKUP_FILE'"
do_extract $BACKUP_FILE content/etc
do_extract $BACKUP_FILE content/var/lib/osmocom
}
do_restore_files $1

13
meta-sysmocom-bsp/recipes-apps/sysmocom-backup/sysmocom-backup_1.0.bb

@ -0,0 +1,13 @@
DESCRIPTION = "sysmocom config backup and restore scripts"
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
PR = "r10"
SRC_URI = "file://sysmocom-backup file://sysmocom-restore"
RDEPENDS_${PN} = "tar"
do_install() {
install -d ${D}${sbindir}
install -m 0755 ${WORKDIR}/sysmocom-backup ${D}${sbindir}/
install -m 0755 ${WORKDIR}/sysmocom-restore ${D}${sbindir}/
}

9
meta-sysmocom-bsp/recipes-apps/sysmocom-udhcpd-config/files/sysmocom-bsc/udhcpd.conf

@ -0,0 +1,9 @@
start 10.23.24.123
end 10.23.24.254
interface eth1
option subnet 10.23.24.0
option router 10.23.24.1
option broadcast 10.23.24.255
option dns 8.8.8.8

0
meta-sysmocom-bsp/recipes-apps/sysmocom-udhcpd-config/files/udhcpd.conf

14
meta-sysmocom-bsp/recipes-apps/sysmocom-udhcpd-config/sysmocom-udhcpd-config_1.bb

@ -0,0 +1,14 @@
DESCRIPTION = "Task for sysmocom external tools"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
SRC_URI = "file://udhcpd.conf"
PR = "r3"
CONFFILES_${PN} = "${sysconfdir}/udhcpd.conf"
do_install() {
install -d ${D}${sysconfdir}
install -m 0644 ${WORKDIR}/udhcpd.conf ${D}${sysconfdir}/
}

3
meta-sysmocom-bsp/recipes-apps/tasks/task-core-boot_sysmocom.inc

@ -0,0 +1,3 @@
PRINC = "7"
RDEPENDS_task-core-boot += ""

14
meta-sysmocom-bsp/recipes-apps/tasks/task-gprscore.bb

@ -0,0 +1,14 @@
DESCRIPTION = "Task for GPRS core network"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r1"
RDEPENDS_${PN} = "\
openggsn \
gprs-routing osmo-sgsn \
sysmocom-ggsn-config \
"

24
meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-bts.bb

@ -0,0 +1,24 @@
DESCRIPTION = "Task for sysmoBTS"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r21"
CALIB = ""
CALIB_sysmobts-v2 = "sysmobts-calib sysmobts-util"
UTIL = ""
UTIL_sysmobts-2050 = "sbts2050-util gpsd gps-utils"
# TODO: re-add femtobts-calib after it went through the API migration
RDEPENDS_${PN} = "\
osmo-bts \
osmo-bts-remote \
osmo-pcu \
lmsensors-scripts \
${CALIB} \
${UTIL} \
"
PACKAGE_ARCH = "${MACHINE_ARCH}"

18
meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-debug.bb

@ -0,0 +1,18 @@
DESCRIPTION = "Task for sysmocom development/debugging"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r4"
RDEPENDS_${PN} = "\
dropbear \
mtd-utils \
strace \
tcpdump \
gdb \
gdbserver \
net-tools \
"

12
meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-e1.bb

@ -0,0 +1,12 @@
DESCRIPTION = "Task for E1 based sysmocom"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY_${PN} = "1"
PR = "r2"
RDEPENDS_${PN} = "\
dahdi-linux \
dahdi-firmware \
dahdi-tools \
"

12
meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-feed.bb

@ -0,0 +1,12 @@
DESCRIPTION = "Package to force building everything we want to provide"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY_${PN} = "1"
PR = "r7"
RDEPENDS_${PN} = "\
task-sysmocom-tools \
task-sysmocom-debug \
minicom vlan patch procps psmisc \
ppp rsync sed usbutils "

18
meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-tools.bb

@ -0,0 +1,18 @@
DESCRIPTION = "Task for sysmocom external tools"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY_${PN} = "1"
PR = "r7"
RDEPENDS_${PN} = "\
lmsensors-scripts \
dropbear \
mtd-utils \
screen \
ethtool \
ntpdate \
wget \
ca-cacert-rootcert \
sysmocom-backup \
"

18
meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom.bb

@ -0,0 +1,18 @@
DESCRIPTION = "Task for sysmocom"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r11"
RDEPENDS_${PN} = "\
task-sysmocom-tools \
osmo-bsc \
osmo-bsc-mgcp \
osmo-bsc-nat \
osmo-gbproxy \
osmo-nitb \
ipaccess-utils \
"

4
meta-sysmocom-bsp/recipes-bsp/base-files/base-files_sysmocom.inc

@ -0,0 +1,4 @@
THISDIR := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}"
FILESPATH =. "${@base_set_filespath(["${THISDIR}/files"], d)}:"
PRINC="3"

11
meta-sysmocom-bsp/recipes-bsp/base-files/files/sysmobts-v1/issue

@ -0,0 +1,11 @@
Welcome to
____ _______ _____
| _ \\__ __/ ____|
___ _ _ ___ _ __ ___ ___ | |_) | | | | (___
/ __| | | / __| '_ ` _ \\ / _ \\| _ < | | \\___ \\
\\__ \\ |_| \\__ \\ | | | | | (_) | |_) | | | ____) |
|___/\\__, |___/_| |_| |_|\\___/|____/ |_| |_____/
__/ |
|___/ by sysmocom GmbH

11
meta-sysmocom-bsp/recipes-bsp/base-files/files/sysmobts-v1/issue.net

@ -0,0 +1,11 @@
Welcome to
____ _______ _____
| _ \\__ __/ ____|
___ _ _ ___ _ __ ___ ___ | |_) | | | | (___
/ __| | | / __| '_ ` _ \\ / _ \\| _ < | | \\___ \\
\\__ \\ |_| \\__ \\ | | | | | (_) | |_) | | | ____) |
|___/\\__, |___/_| |_| |_|\\___/|____/ |_| |_____/
__/ |
|___/ by sysmocom GmbH

11
meta-sysmocom-bsp/recipes-bsp/base-files/files/sysmobts-v2/issue

@ -0,0 +1,11 @@
Welcome to
____ _______ _____
| _ \\__ __/ ____|
___ _ _ ___ _ __ ___ ___ | |_) | | | | (___
/ __| | | / __| '_ ` _ \\ / _ \\| _ < | | \\___ \\
\\__ \\ |_| \\__ \\ | | | | | (_) | |_) | | | ____) |
|___/\\__, |___/_| |_| |_|\\___/|____/ |_| |_____/
__/ |
|___/ by sysmocom GmbH

11
meta-sysmocom-bsp/recipes-bsp/base-files/files/sysmobts-v2/issue.net

@ -0,0 +1,11 @@
Welcome to
____ _______ _____
| _ \\__ __/ ____|
___ _ _ ___ _ __ ___ ___ | |_) | | | | (___
/ __| | | / __| '_ ` _ \\ / _ \\| _ < | | \\___ \\
\\__ \\ |_| \\__ \\ | | | | | (_) | |_) | | | ____) |
|___/\\__, |___/_| |_| |_|\\___/|____/ |_| |_____/
__/ |
|___/ by sysmocom GmbH

23
meta-sysmocom-bsp/recipes-bsp/early-date/early-date_1.bb

@ -0,0 +1,23 @@
DESCRIPTION = "Set an early date on RTC less systems"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
SRC_URI = "\
file://early-date \
file://early-date.service"
FILES_${PN} = "${systemd_unitdir}/system /sbin"
RDPEPENDS_${PN} = "systemd"
do_install() {
install -d ${D}/sbin
install -d ${D}${systemd_unitdir}/system/basic.target.wants
# Copy the service file and link it
install -m 0644 ${WORKDIR}/early-date.service ${D}${systemd_unitdir}/system
ln -sf ../early-date.service ${D}${systemd_unitdir}/system/basic.target.wants/
# Hardcode to /sbin
# TODO: Set the date as of the build time..
install -m 0755 ${WORKDIR}/early-date ${D}/sbin
}

10
meta-sysmocom-bsp/recipes-bsp/early-date/files/early-date

@ -0,0 +1,10 @@
#!/bin/sh
# Check if the year is lower than the lowest configured and then
# set a default date
YEAR=`date +%Y`
if [ $YEAR -lt 2014 ]; then
date -s 2014.07.18-10:00:00
hwclock -w
fi

14
meta-sysmocom-bsp/recipes-bsp/early-date/files/early-date.service

@ -0,0 +1,14 @@
[Unit]
Description=Early boot time for RTC less systems
DefaultDependencies=no
After=systemd-remount-fs.service
Before=sysinit.target
[Service]
ExecStart=/sbin/early-date
RemainAfterExit=No
Type=oneshot
StandardOutput=syslog
[Install]
WantedBy=basic.target

1148
meta-sysmocom-bsp/recipes-bsp/linux/files/mISDN_loop.patch

File diff suppressed because it is too large

1838
meta-sysmocom-bsp/recipes-bsp/linux/files/sysmobts-v1/defconfig

File diff suppressed because it is too large

1900
meta-sysmocom-bsp/recipes-bsp/linux/files/sysmobts-v2/defconfig

File diff suppressed because it is too large

2865
meta-sysmocom-bsp/recipes-bsp/linux/files/sysmocom-bsc/defconfig

File diff suppressed because it is too large

321
meta-sysmocom-bsp/recipes-bsp/linux/files/sysmocom-odu/defconfig

@ -0,0 +1,321 @@
CONFIG_EXPERIMENTAL=y
CONFIG_LOCALVERSION="-PD13.1.2"
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=16
CONFIG_BLK_DEV_INITRD=y
CONFIG_CGROUPS=y
# CONFIG_PERF_EVENTS is not set
CONFIG_SLAB=y
CONFIG_PROFILING=y
CONFIG_OPROFILE=y
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_ARCH_OMAP=y
CONFIG_OMAP_MUX_DEBUG=y
# CONFIG_OMAP_MCBSP is not set
CONFIG_OMAP_MBOX_FWK=y
# CONFIG_OMAP_32K_TIMER is not set
# CONFIG_ARCH_OMAP2 is not set
# CONFIG_ARCH_OMAP4 is not set
# CONFIG_SOC_OMAP3430 is not set
# CONFIG_SOC_OMAPTI81XX is not set
# CONFIG_MACH_OMAP3_BEAGLE is not set
# CONFIG_MACH_DEVKIT8000 is not set
# CONFIG_MACH_OMAP_LDP is not set
# CONFIG_MACH_OMAP3530_LV_SOM is not set
# CONFIG_MACH_OMAP3_TORPEDO is not set
# CONFIG_MACH_ENCORE is not set
# CONFIG_MACH_OVERO is not set
# CONFIG_MACH_OMAP3EVM is not set
# CONFIG_MACH_OMAP3517EVM is not set
# CONFIG_MACH_OMAP3_PANDORA is not set
# CONFIG_MACH_OMAP3_TOUCHBOOK is not set
# CONFIG_MACH_OMAP_3430SDP is not set
# CONFIG_MACH_NOKIA_RM680 is not set
# CONFIG_MACH_NOKIA_RX51 is not set
# CONFIG_MACH_OMAP_ZOOM2 is not set
# CONFIG_MACH_OMAP_ZOOM3 is not set
# CONFIG_MACH_CM_T35 is not set
# CONFIG_MACH_CM_T3517 is not set
# CONFIG_MACH_IGEP0020 is not set
# CONFIG_MACH_IGEP0030 is not set
# CONFIG_MACH_SBC3530 is not set
# CONFIG_MACH_OMAP_3630SDP is not set
# CONFIG_MACH_AM335XEVM is not set
# CONFIG_MACH_AM335XIAEVM is not set
CONFIG_OMAP3_EDMA=y
CONFIG_ARM_THUMBEE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_HIGHMEM=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE="root=/dev/mmcblk0p2 rootwait console=ttyO0,115200"
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_STAT_DETAILS=y
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_IDLE=y
CONFIG_FPE_NWFPE=y
CONFIG_BINFMT_MISC=y
# CONFIG_SUSPEND is not set
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_LRO is not set
# CONFIG_INET_DIAG is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y
CONFIG_CAN_D_CAN=y
CONFIG_CAN_D_CAN_PLATFORM=y
CONFIG_CFG80211=y
CONFIG_MAC80211=y
CONFIG_RFKILL=y
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_MTD=y
CONFIG_MTD_TESTS=m
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_OF_PARTS is not set
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLOCK=y
CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_OMAP2=y
CONFIG_MTD_ONENAND=y
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
CONFIG_MTD_ONENAND_OMAP2=y
CONFIG_MTD_UBI=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=16384
CONFIG_MISC_DEVICES=y
CONFIG_SENSORS_TSL2550=y
CONFIG_EEPROM_AT24=y
CONFIG_SENSORS_LIS3_I2C=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_MULTI_LUN=y
CONFIG_SCSI_SCAN_ASYNC=y
CONFIG_NETDEVICES=y
CONFIG_TUN=y
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_FARADAY is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_STMICRO is not set
CONFIG_TI_DAVINCI_EMAC=y
CONFIG_TI_CPSW=y
CONFIG_TI_CPSW_DUAL_EMAC=y
CONFIG_SMSC_PHY=y
CONFIG_MICREL_PHY=y
CONFIG_USB_USBNET=y
# CONFIG_USB_NET_AX8817X is not set
# CONFIG_USB_NET_CDC_NCM is not set
# CONFIG_USB_NET_NET1080 is not set
# CONFIG_USB_BELKIN is not set
# CONFIG_USB_ARMLINUX is not set
# CONFIG_USB_NET_ZAURUS is not set
CONFIG_WL12XX_MENU=y
CONFIG_WL12XX=m
CONFIG_WL12XX_SDIO=m
CONFIG_INPUT_EVDEV=y
# CONFIG_KEYBOARD_ATKBD is not set
CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_MATRIX=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_EDT_FT5X06=y
CONFIG_TOUCHSCREEN_TI_TSC=y
CONFIG_INPUT_MISC=y
# CONFIG_SERIO_SERPORT is not set
CONFIG_VT_HW_CONSOLE_BINDING=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
# CONFIG_HW_RANDOM is not set
CONFIG_I2C_CHARDEV=y
CONFIG_SPI=y
CONFIG_SPI_OMAP24XX=y
CONFIG_GPIO_SYSFS=y
CONFIG_GENERIC_PWM=y
CONFIG_DAVINCI_EHRPWM=y
CONFIG_ECAP_PWM=y
CONFIG_SENSORS_LM75=y
CONFIG_WATCHDOG=y
CONFIG_OMAP_WATCHDOG=y
CONFIG_MFD_TI_TSCADC=y
CONFIG_MFD_TPS65910=y
CONFIG_REGULATOR_DUMMY=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_TPS65910=y
CONFIG_MEDIA_SUPPORT=y
CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_TUNER_CUSTOMISE=y
# CONFIG_MEDIA_TUNER_SIMPLE is not set
# CONFIG_MEDIA_TUNER_TDA8290 is not set
# CONFIG_MEDIA_TUNER_TDA827X is not set
# CONFIG_MEDIA_TUNER_TDA18271 is not set
# CONFIG_MEDIA_TUNER_TDA9887 is not set
# CONFIG_MEDIA_TUNER_TEA5761 is not set
# CONFIG_MEDIA_TUNER_TEA5767 is not set
# CONFIG_MEDIA_TUNER_MT20XX is not set
# CONFIG_MEDIA_TUNER_MT2060 is not set
# CONFIG_MEDIA_TUNER_MT2266 is not set
# CONFIG_MEDIA_TUNER_MT2131 is not set
# CONFIG_MEDIA_TUNER_QT1010 is not set
# CONFIG_MEDIA_TUNER_XC2028 is not set
# CONFIG_MEDIA_TUNER_XC5000 is not set
# CONFIG_MEDIA_TUNER_XC4000 is not set
# CONFIG_MEDIA_TUNER_MXL5005S is not set
# CONFIG_MEDIA_TUNER_MXL5007T is not set
# CONFIG_MEDIA_TUNER_MC44S803 is not set
# CONFIG_MEDIA_TUNER_MAX2165 is not set
# CONFIG_MEDIA_TUNER_TDA18218 is not set
# CONFIG_MEDIA_TUNER_TDA18212 is not set
CONFIG_USB_VIDEO_CLASS=y
# CONFIG_RADIO_ADAPTERS is not set
CONFIG_FB=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_DA8XX=y
CONFIG_FB_DA8XX_CONSISTENT_DMA_SIZE=8
CONFIG_BACKLIGHT_LCD_SUPPORT=y
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_PLATFORM=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
CONFIG_BACKLIGHT_PWM=y
CONFIG_BACKLIGHT_TLC59108=y
CONFIG_DISPLAY_SUPPORT=y
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_LOGO=y
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_DRIVERS is not set
# CONFIG_SND_ARM is not set
# CONFIG_SND_SPI is not set
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_SOC=y
CONFIG_SND_AM33XX_SOC=y
CONFIG_SND_PCM051_SOC_BOARD=y
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DEVICEFS=y
CONFIG_USB_SUSPEND=y
CONFIG_USB_OTG=y
# CONFIG_USB_OTG_WHITELIST is not set
CONFIG_USB_MUSB_HDRC=y