diff --git a/meta-sysmocom-bsp/classes/sysmocom-kernel-module-split.bbclass b/meta-sysmocom-bsp/classes/sysmocom-kernel-module-split.bbclass index 2d1075263e..e639452630 100644 --- a/meta-sysmocom-bsp/classes/sysmocom-kernel-module-split.bbclass +++ b/meta-sysmocom-bsp/classes/sysmocom-kernel-module-split.bbclass @@ -70,7 +70,8 @@ python split_kernel_module_packages () { m = kerverrexp.match(kernelver) if m: kernelver_stripped = m.group(1) - staging_kernel_dir = d.getVar("STAGING_KERNEL_DIR", True) + kernel_build_dir = ['STAGING_KERNEL_BUILDDIR', 'STAGING_KERNEL_DIR'][d.getVar('DISTRO_VERSION', True)[0:3] == '1.5'] + staging_kernel_dir = d.getVar(kernel_build_dir, True) system_map_file = "%s/boot/System.map-%s" % (dvar, kernelver) if not os.path.exists(system_map_file): system_map_file = "%s/System.map-%s" % (staging_kernel_dir, kernelver) diff --git a/meta-sysmocom-bsp/recipes-apps/autossh/autossh_1.4e.bb b/meta-sysmocom-bsp/recipes-apps/autossh/autossh_1.4e.bb new file mode 100644 index 0000000000..52b0529ebc --- /dev/null +++ b/meta-sysmocom-bsp/recipes-apps/autossh/autossh_1.4e.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "autossh" +LICENSE = "MIT" + + +LIC_FILES_CHKSUM = "file://autossh.c;endline=22;md5=b2b08187a92c97723e1d882a9fe657ac" +SRC_URI = "http://www.harding.motd.ca/autossh/autossh-${PV}.tgz \ + file://020_use_destdir_makefile.diff \ + file://022_pass_ldflags.diff" + +SRC_URI[md5sum] = "f86684b96e99d22b2e9d35dc63b0aa29" +SRC_URI[sha256sum] = "9e8e10a59d7619176f4b986e256f776097a364d1be012781ea52e08d04679156" + +inherit autotools +B = "${S}" + +PACKAGES += "${PN}-examples" + +FILES_${PN}-examples = "${datadir}/examples/*" diff --git a/meta-sysmocom-bsp/recipes-apps/autossh/files/020_use_destdir_makefile.diff b/meta-sysmocom-bsp/recipes-apps/autossh/files/020_use_destdir_makefile.diff new file mode 100644 index 0000000000..9485b6d8bc --- /dev/null +++ b/meta-sysmocom-bsp/recipes-apps/autossh/files/020_use_destdir_makefile.diff @@ -0,0 +1,25 @@ +Support for $DESTDIR in the Makefile. + +From debian + +Index: autossh-1.4e/Makefile.in +=================================================================== +--- autossh-1.4e.orig/Makefile.in 2015-02-10 05:41:58.000000000 +0100 ++++ autossh-1.4e/Makefile.in 2015-07-12 11:44:41.979659656 +0200 +@@ -6,11 +6,11 @@ + + SSH= @path_ssh@ + +-prefix= @prefix@ +-exec_prefix= @exec_prefix@ +-bindir= @bindir@ +-datadir= @datadir@ +-mandir= @mandir@ ++prefix= ${DESTDIR}@prefix@ ++exec_prefix= ${DESTDIR}@exec_prefix@ ++bindir= ${DESTDIR}@bindir@ ++datadir= ${DESTDIR}@datadir@ ++mandir= ${DESTDIR}@mandir@ + + SRCDIR= @srcdir@ + VPATH= @srcdir@ diff --git a/meta-sysmocom-bsp/recipes-apps/autossh/files/022_pass_ldflags.diff b/meta-sysmocom-bsp/recipes-apps/autossh/files/022_pass_ldflags.diff new file mode 100644 index 0000000000..722a20a0d9 --- /dev/null +++ b/meta-sysmocom-bsp/recipes-apps/autossh/files/022_pass_ldflags.diff @@ -0,0 +1,17 @@ +Description: Properly pass LDFLAGS. Fixes lintian warning hardening-no-relro +Author: Axel Beckert + +Index: autossh/Makefile.in +=================================================================== +--- autossh.orig/Makefile.in 2013-05-16 14:51:47.000000000 +0200 ++++ autossh/Makefile.in 2013-05-16 14:53:19.000000000 +0200 +@@ -31,7 +31,7 @@ + + + $(TARGET): $(OFILES) +- $(CC) $(CPPFLAGS) -o $(TARGET) $(OFILES) $(LIBS) ++ $(CC) $(CPPFLAGS) $(LDFLAGS) -o $(TARGET) $(OFILES) $(LIBS) + + clean: + - /bin/rm -f *.o *.a *.core *~ + diff --git a/meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-feed.bb b/meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-feed.bb index dbf1b7713f..d2fb9fd99b 100644 --- a/meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-feed.bb +++ b/meta-sysmocom-bsp/recipes-apps/tasks/task-sysmocom-feed.bb @@ -14,5 +14,5 @@ RDEPENDS_${PN} = "\ python-pyserial python-pexpect bridge-utils \ pciutils nfacct logrotate dnsmasq ifupdown \ logrotate python-jsonrpclib python-enum iputils \ - packagegroup-sysmobts-sob \ + packagegroup-sysmobts-sob rtl8169-eeprom autossh \ perl libdbd-sqlite-perl libdbi-perl libjson-perl" diff --git a/meta-sysmocom-bsp/recipes-bsp/init-ifupdown/init-ifupdown-master/sysmocom-idu/interfaces b/meta-sysmocom-bsp/recipes-bsp/init-ifupdown/init-ifupdown-master/sysmocom-idu/interfaces index 86d2c8b15c..89adfc180d 100644 --- a/meta-sysmocom-bsp/recipes-bsp/init-ifupdown/init-ifupdown-master/sysmocom-idu/interfaces +++ b/meta-sysmocom-bsp/recipes-bsp/init-ifupdown/init-ifupdown-master/sysmocom-idu/interfaces @@ -8,6 +8,17 @@ iface lo inet loopback # in the future we will use VLANs to use individual switch ports as # break-out interfaces. For now we simply do DHCP. +# Note: when inmarsat is available, its route should have a stronger metric +# than iridium (the route installed by linkmon). For the "inactive" routes, the +# metrics should be reversed, because iridium is more likely to be available +# than inmarsat (as an emergency/fallback measure). +# +# transport "active" metric "inactive" metric +# WIFI 10 130 +# GSM 20 140 +# Iridium 30 110 +# Inmarsat 40 120 + # VLAN 2000: The iridium openport satellite modem attached to # port 1 of the IES-3080 auto eth0.2000 @@ -16,7 +27,7 @@ iface eth0.2000 inet static netmask 255.255.255.0 network 192.168.0.0 post-up ip r add 10.6.1.0/24 via 192.168.0.1 - post-up ip r add 5.9.81.48/32 via 192.168.0.1 metric 100 + post-up ip r add 5.9.81.48/32 via 192.168.0.1 metric 110 # VLAN 2001: Reserved for a future C-Band satellite modem # attached to port 8 of the IES-3080 @@ -24,10 +35,9 @@ auto eth0.2001 iface eth0.2001 inet manual # VLAN 2002: Reserved for a future Inmarsat satellite modem -# attached to port 7 of the IES-3080 +# attached to port 6 of the IES-3080 auto eth0.2002 -#iface eth0.2002 inet dhcp -iface eth0.2002 inet manual +iface eth0.2002 inet dhcp # management VLAN of IES-3080 switch (172.16.2.3) auto eth0.6 @@ -99,7 +109,7 @@ iface eth2.1001 inet static netmask 255.255.255.0 network 172.16.8.0 -# onboad WiFi +# onboard WiFi auto eth2.1002 iface eth2.1002 inet static address 172.16.128.1 diff --git a/meta-sysmocom-bsp/recipes-bsp/init-ifupdown/init-ifupdown/sysmocom-idu/interfaces b/meta-sysmocom-bsp/recipes-bsp/init-ifupdown/init-ifupdown/sysmocom-idu/interfaces index 86d2c8b15c..89adfc180d 100644 --- a/meta-sysmocom-bsp/recipes-bsp/init-ifupdown/init-ifupdown/sysmocom-idu/interfaces +++ b/meta-sysmocom-bsp/recipes-bsp/init-ifupdown/init-ifupdown/sysmocom-idu/interfaces @@ -8,6 +8,17 @@ iface lo inet loopback # in the future we will use VLANs to use individual switch ports as # break-out interfaces. For now we simply do DHCP. +# Note: when inmarsat is available, its route should have a stronger metric +# than iridium (the route installed by linkmon). For the "inactive" routes, the +# metrics should be reversed, because iridium is more likely to be available +# than inmarsat (as an emergency/fallback measure). +# +# transport "active" metric "inactive" metric +# WIFI 10 130 +# GSM 20 140 +# Iridium 30 110 +# Inmarsat 40 120 + # VLAN 2000: The iridium openport satellite modem attached to # port 1 of the IES-3080 auto eth0.2000 @@ -16,7 +27,7 @@ iface eth0.2000 inet static netmask 255.255.255.0 network 192.168.0.0 post-up ip r add 10.6.1.0/24 via 192.168.0.1 - post-up ip r add 5.9.81.48/32 via 192.168.0.1 metric 100 + post-up ip r add 5.9.81.48/32 via 192.168.0.1 metric 110 # VLAN 2001: Reserved for a future C-Band satellite modem # attached to port 8 of the IES-3080 @@ -24,10 +35,9 @@ auto eth0.2001 iface eth0.2001 inet manual # VLAN 2002: Reserved for a future Inmarsat satellite modem -# attached to port 7 of the IES-3080 +# attached to port 6 of the IES-3080 auto eth0.2002 -#iface eth0.2002 inet dhcp -iface eth0.2002 inet manual +iface eth0.2002 inet dhcp # management VLAN of IES-3080 switch (172.16.2.3) auto eth0.6 @@ -99,7 +109,7 @@ iface eth2.1001 inet static netmask 255.255.255.0 network 172.16.8.0 -# onboad WiFi +# onboard WiFi auto eth2.1002 iface eth2.1002 inet static address 172.16.128.1 diff --git a/meta-sysmocom-bsp/recipes-bsp/linux-backports/linux-backports_3.18.1.1.bb b/meta-sysmocom-bsp/recipes-bsp/linux-backports/linux-backports_3.18.1.1.bb index e50557ac1e..bc2a9d5cb6 100644 --- a/meta-sysmocom-bsp/recipes-bsp/linux-backports/linux-backports_3.18.1.1.bb +++ b/meta-sysmocom-bsp/recipes-bsp/linux-backports/linux-backports_3.18.1.1.bb @@ -16,15 +16,25 @@ SRC_URI[sha256sum] = "ff3d4d5192c4d57d7415dfcd60e02ea4fa21e0de224ae0ce2b5b9f2e9c S = "${WORKDIR}/backports-3.18.1-1" + +python __anonymous() { + if d.getVar('DISTRO_VERSION', True)[0:3] == '1.5': + d.setVar('KERNEL_BUILD_DIR', d.getVar('STAGING_KERNEL_DIR', True)) + else: + d.setVar('KERNEL_BUILD_DIR', d.getVar('STAGING_KERNEL_BUILDDIR', True)) +} + +KERNEL_BUILD_DIR = "${@d.getVar('KERNEL_BUILD_DIR', True)}" + do_configure() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC cp ${WORKDIR}/defconfig ${S}/.config - oe_runmake oldconfig KLIB_BUILD=${STAGING_KERNEL_DIR} + oe_runmake oldconfig KLIB_BUILD=${KERNEL_BUILD_DIR} } do_compile() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - oe_runmake KLIB_BUILD=${STAGING_KERNEL_DIR} \ + oe_runmake KLIB_BUILD=${KERNEL_BUILD_DIR} \ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ AR="${KERNEL_AR}" \ ${MAKE_TARGETS} @@ -33,7 +43,7 @@ do_compile() { do_install() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS oe_runmake DEPMOD=echo KLIB="${D}" \ - KLIB_BUILD=${STAGING_KERNEL_DIR} \ + KLIB_BUILD=${KERNEL_BUILD_DIR} \ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ install } diff --git a/meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_3.2.bb b/meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_3.2.bb index d9f11c6259..4d9faae5c5 100644 --- a/meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_3.2.bb +++ b/meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_3.2.bb @@ -4,6 +4,9 @@ require linux-sysmocom.inc LINUX_VERSION ?= "3.2.69" LINUX_VERSION_EXTENSION ?= "-sysmocom-${LINUX_KERNEL_TYPE}" +# ATTENTION: Update linux-backports PR on version change. In Dora the +# reverse dependency tracking for the kernel doesn't appear to work. So +# please bump the PR on version changes! SRCREV = "d1a5b8e2ddc3a74c6d81d85a106cb0c33cd7688b" BRANCH = "sob-odu/linux-3.2.69" diff --git a/meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_git.bb b/meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_git.bb index f351bd88e1..37be276688 100644 --- a/meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_git.bb +++ b/meta-sysmocom-bsp/recipes-bsp/linux/linux-sysmocom_git.bb @@ -3,6 +3,9 @@ require linux-sysmocom.inc DEPENDS += "bc-native" +# ATTENTION: Update linux-backports PR on version change. In Dora the +# reverse dependency tracking for the kernel doesn't appear to work. So +# please bump the PR on version changes! # at versions changes do not forget to update conf/machine/include/sysmobts.inc too LINUX_VERSION ?= "3.10.80" LINUX_VERSION_EXTENSION ?= "-sysmocom-${LINUX_KERNEL_TYPE}" diff --git a/meta-sysmocom-bsp/recipes-bsp/rtl8169-eeprom/rtl8169-eeprom_git.bb b/meta-sysmocom-bsp/recipes-bsp/rtl8169-eeprom/rtl8169-eeprom_git.bb new file mode 100644 index 0000000000..3dad8d51a4 --- /dev/null +++ b/meta-sysmocom-bsp/recipes-bsp/rtl8169-eeprom/rtl8169-eeprom_git.bb @@ -0,0 +1,29 @@ +SUMMARY = "small utility to configure MAC-addresses on ALIX/APU boards" +HOMEPAGE = "" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" +DEPENDS = "pciutils" + +SRCREV = "e62e515ce314599e48b268dac69d2f16a504264c" +SRC_URI = "git://git.sysmocom.de/rtl8168-eeprom;protocol=git;branch=master" +PV = "v0.0.1+git${SRCPV}" +PR = "r0" + +S = "${WORKDIR}/git" + +inherit autotools pkgconfig + +CFLAGS += "" +LDFLAGS += "" + +CFLAGS += "`pkg-config --cflags libpci`" +LDFLAGS += "`pkg-config --libs libpci`" + +do_configure() { +} + +do_install() { + install -d ${D}${sbindir}/ + install -m 0755 ${S}/rtl8168-eeprom ${D}${sbindir}/ +} + diff --git a/meta-sysmocom-bsp/recipes-core/images/image-rauc-slot-rescue.bb b/meta-sysmocom-bsp/recipes-core/images/image-rauc-slot-rescue.bb index 0ab5eb0191..00537cc2a8 100644 --- a/meta-sysmocom-bsp/recipes-core/images/image-rauc-slot-rescue.bb +++ b/meta-sysmocom-bsp/recipes-core/images/image-rauc-slot-rescue.bb @@ -1,6 +1,6 @@ DESCRIPTION = "rescue initramfs" -PACKAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${ROOTFS_PKGMANAGE} task-sysmocom-debug task-sysmocom-tools rauc" +PACKAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${ROOTFS_PKGMANAGE} rauc dropbear" IMAGE_LINGUAS = "" @@ -48,4 +48,24 @@ IMAGE_CMD_ubi () { IMAGE_FSTYPES_sysmocom-idu = "cpio.xz" IMAGE_FSTYPES_sysmobts-v2 = "ubi" -BAD_RECOMMENDATIONS += "busybox-syslog" +BAD_RECOMMENDATIONS_append = " busybox-syslog" +BAD_RECOMMENDATIONS_append_sysmobts-v2 = " e2fsprogs-e2fsck" +BAD_RECOMMENDATIONS_append_sysmocom-odu = " e2fsprogs-e2fsck" + + +shrink_rescue() { + # In case of the sysmoBTS.. remove files + rm -rf ${IMAGE_ROOTFS}/lib/firmware/sysmobts* + rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/staging/sysmobts/msgqueue.ko + rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/fpgadl.ko + rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/staging/sysmobts/rtfifo.ko + rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/dspdl.ko + rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/dspdl_dm644x.ko + rm -rf ${IMAGE_ROOTFS}/lib/modules/*/kernel/drivers/misc/fpgadl_par.ko + + # Who cares about udev? + rm -rf ${IMAGE_ROOTFS}/lib/udev/hwdb.d/* + rm -rf ${IMAGE_ROOTFS}/etc/udev/hwdb.bin +} + +IMAGE_PREPROCESS_COMMAND += "shrink_rescue; " diff --git a/meta-sysmocom-bsp/recipes-sysmobts/osmo-pcu/osmo-pcu_git.bb b/meta-sysmocom-bsp/recipes-sysmobts/osmo-pcu/osmo-pcu_git.bb index 8205a8d365..4420052e26 100644 --- a/meta-sysmocom-bsp/recipes-sysmobts/osmo-pcu/osmo-pcu_git.bb +++ b/meta-sysmocom-bsp/recipes-sysmobts/osmo-pcu/osmo-pcu_git.bb @@ -2,10 +2,10 @@ DESCRIPTION = "Osmocom PCU for sysmoBTS" LICENSE = "GPLv2" LIC_FILES_CHKSUM="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" -SRC_URI = "git://git.osmocom.org/osmo-pcu.git;protocol=git;branch=jerlbeck/wip/pdch-alloc" +SRC_URI = "git://git.osmocom.org/osmo-pcu.git;protocol=git;branch=zecke/wip" SRCREV = "410d98e5d0c0eae76221a2d62a837b962f082506" PV = "0.4+git${SRCPV}" -PR = "r2.${META_TELEPHONY_OSMO_INC}" +PR = "r3.${META_TELEPHONY_OSMO_INC}" S = "${WORKDIR}/git" DEPENDS = "libosmocore femtobts-api osmo-bts"