Compare commits

..

No commits in common. "daniel/oc2g-nightly" and "master" have entirely different histories.

180 changed files with 4208 additions and 15066 deletions

View File

@ -3,10 +3,14 @@ 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}"
# Fixes for the yocto version targeted
BBFILES += "${LAYERDIR}/yocto-fixes/*.bbappend ${LAYERDIR}/yocto-fixes/*/*.bb"
# selects specific distro or master when DISTRO_VERSION contains snapshot
BBFILES_SYSMOCOM_BSP = "${LAYERDIR}/yocto-${@dict([('1.5', 'dora')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'master')}/*.bbappend"
BBFILES_SYSMOCOM_BSP += "${LAYERDIR}/yocto-${@dict([('1.5', 'dora')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'master')}/*/*.bb"
BBFILE_COLLECTIONS += "sysmocom-bsp"
BBFILE_PATTERN_sysmocom-bsp := "^${LAYERDIR}/"

View File

@ -1,7 +1,7 @@
TARGET_ARCH = "arm"
PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.59+git%')}"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.14+git%')}"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
PREFERRED_VERSION_u-boot = "git"

View File

@ -1,59 +0,0 @@
#@TYPE: Machine
#@NAME: OC-2G
#@DESCRIPTION: Machine configuration for the NRW OC-2G BTS
# (omap-a15.inc)
SOC_FAMILY = "omap-a15"
require conf/machine/include/soc-family.inc
DEFAULTTUNE = "cortexa15thf-neon"
require conf/machine/include/tune-cortexa15.inc
KERNEL_IMAGETYPE = "zImage"
UBOOT_ARCH = "arm"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
EXTRA_IMAGEDEPENDS += "virtual/bootloader"
PREFERRED_PROVIDER_virtual/kernel = "linux-oc2g"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-oc2g"
PREFERRED_PROVIDER_u-boot = "u-boot-oc2g"
IMAGE_FSTYPES += "tar.gz"
SERIAL_CONSOLE = "115200 ttyS2"
UBOOT_MACHINE = "oc2g_config"
# Currently removing the sgx machine feature because there is no SGX package
# available for omap5
MACHINE_FEATURES = "kernel26 apm vfat ext2"
MACHINE_GPS_DEVICE = "/dev/ttyS0"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
${@['watchdog', ''][d.getVar('VIRTUAL-RUNTIME_init_manager', True) == 'systemd']} \
kernel-module-rpmsg-proto \
kernel-module-rpmsg-rpc \
kernel-module-nrw-clkerr \
kernel-module-nrw-vswr \
kernel-module-adl5501 \
kernel-module-industrialio-buffer-cb \
kernel-module-input-polldev \
kernel-module-iio-hwmon \
kernel-module-ntc-thermistor \
kernel-module-mcp47x6 \
kernel-module-xilinx-xadc \
kernel-module-industrialio \
kernel-module-omap-remoteproc \
kernel-module-fpgadl \
"
MACHINE_EXTRA_RDEPENDS = "\
task-sysmocom-bts \
${@['watchdog', ''][d.getVar('VIRTUAL-RUNTIME_init_manager', True) == 'systemd']} \
"
KERNEL_VERSION_SANITY_SKIP="1"
EXTRA_IMAGEDEPENDS += "sysmobts2100-devtools"

View File

@ -7,14 +7,6 @@ MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "\
kernel-module-rpmsg-rpc \
kernel-module-nrw-clkerr \
kernel-module-nrw-vswr \
kernel-module-adl5501 \
kernel-module-industrialio-buffer-cb \
kernel-module-input-polldev \
kernel-module-iio-hwmon \
kernel-module-ntc-thermistor \
kernel-module-mcp47x6 \
kernel-module-xilinx-xadc \
kernel-module-industrialio \
kernel-module-omap-remoteproc \
kernel-module-fpgadl \
"
@ -23,4 +15,3 @@ MACHINE_EXTRA_RDEPENDS = "\
task-sysmocom-bts \
${@['watchdog', ''][d.getVar('VIRTUAL-RUNTIME_init_manager', True) == 'systemd']} \
"
EXTRA_IMAGEDEPENDS += "sysmobts2100-devtools"

View File

@ -3,39 +3,4 @@
#@DESCRIPTION: Machine configuration for sysmocom alix2d based hardware
require sysmocom-bsc.conf
TARGET_ARCH = "i586"
PREFERRED_PROVIDER_virtual/libgl = "mesa-dri"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-diet"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.59+git%')}"
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'][d.getVar('DISTRO_VERSION', True)[0:3] == '1.5']} \
linux-firmware-rtl-nic "
MACHINEOVERRIDES = "${MACHINE}:sysmocom-bsc"

View File

@ -5,14 +5,13 @@
require conf/machine/include/tune-core2.inc
require conf/machine/include/genericx86-common.inc
require sysmocom-bsc.conf
PREFERRED_PROVIDER_virtual/libgl = "mesa-dri"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-diet"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.59+git%')}"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.14+git%')}"
MACHINE_FEATURES += "kernel26 x86 usbhost pci acpi"
@ -37,3 +36,8 @@ XSERVER ?= "xserver-xf86-dri-lite \
GLIBC_ADDONS = "nptl"
GLIBC_EXTRA_OECONF = "--with-tls"
#MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
MACHINE_ESSENTIAL_EXTRA_RDEPENDS = "linux-firmware-rtl-nic"
MACHINEOVERRIDES = "${MACHINE}:sysmocom-bsc"

View File

@ -1,5 +1,39 @@
MACHINEOVERRIDES = "${MACHINE}:sysmocom-bsc"
#@TYPE: Machine
#@NAME: common_pc
#@DESCRIPTION: Machine configuration for running a common x86
MACHINE_EXTRA_RDEPENDS = "\
dnsmasq \
"
TARGET_ARCH = "i586"
PREFERRED_PROVIDER_virtual/libgl = "mesa-dri"
PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-diet"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.14+git%')}"
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'][d.getVar('DISTRO_VERSION', True)[0:3] == '1.5']} \
linux-firmware-rtl-nic "

View File

@ -11,7 +11,7 @@ PREFERRED_PROVIDER_virtual/libx11 ?= "libx11-diet"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/xserver-xf86 ?= "xserver-xf86-dri-lite"
PREFERRED_PROVIDER_virtual/kernel = "linux-sysmocom"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.59+git%')}"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.14+git%')}"
MACHINE_FEATURES += "kernel26 x86 usbhost pci acpi"

View File

@ -7,8 +7,6 @@ SRC_URI = "http://www.harding.motd.ca/autossh/autossh-${PV}.tgz \
file://020_use_destdir_makefile.diff \
file://022_pass_ldflags.diff"
MIRRORS_append = "\n http://www.harding.motd.ca/autossh/.* https://downloads.sysmocom.de/public/mirror/source/ \n"
SRC_URI[md5sum] = "f86684b96e99d22b2e9d35dc63b0aa29"
SRC_URI[sha256sum] = "9e8e10a59d7619176f4b986e256f776097a364d1be012781ea52e08d04679156"

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,15 @@
require sysmocom-image.inc
IMAGE_LINGUAS = " "
IMAGE_INSTALL_append = " dnsmasq "
# 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)}; "

View File

@ -1,4 +1,4 @@
IMAGE_INSTALL = "task-core-boot packagegroup-osmocom task-sysmocom-tools"
IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} packagegroup-osmocom task-sysmocom"
IMAGE_LINGUAS = " "
LICENSE = "MIT"

View File

@ -1,2 +0,0 @@
require sysmocom-core-image.bb
require sysmocom-rauc-slot.inc

View File

@ -1,5 +1,5 @@
DEPENDS = "${MACHINE_EXTRA_RDEPENDS} util-linux-native"
IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE} packagegroup-osmocom task-sysmocom-debug task-sysmocom-tools ${MACHINE_EXTRA_RDEPENDS} "
IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${ROOTFS_PKGMANAGE} packagegroup-osmocom task-sysmocom task-sysmocom-debug task-sysmocom-tools ${MACHINE_EXTRA_RDEPENDS} "
IMAGE_LINGUAS = " "
IMAGE_FEATURES += " package-management "
LICENSE = "MIT"

View File

@ -1,3 +1,12 @@
require sysmocom-image.inc
IMAGE_INSTALL_append = " task-sysmocom "
# 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)}; "

View File

@ -19,9 +19,9 @@ do_install() {
install -m 0755 ${WORKDIR}/sysmocom-backup-data ${D}${sbindir}/
install -m 0755 ${WORKDIR}/sysmocom-restore-data ${D}${sbindir}/
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/data.mount ${D}${systemd_system_unitdir}/
install -m 0644 ${WORKDIR}/sysmocom-restore.service ${D}${systemd_system_unitdir}/
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/data.mount ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/sysmocom-restore.service ${D}${systemd_unitdir}/system/
}
SYSTEMD_PACKAGES = "${PN}"

View File

@ -3,21 +3,20 @@ etc/ifplugd.sh
etc/network/interfaces
etc/openvpn
etc/opkg/sysmocom-config.conf
etc/osmocom/osmo-mgw.cfg
etc/osmocom/osmo-bsc-mgcp.cfg
etc/osmocom/osmo-bsc.cfg
etc/osmocom/osmo-bts.cfg
etc/osmocom/osmo-msc.cfg
etc/osmocom/osmo-nitb.cfg
etc/osmocom/osmo-pcu.cfg
etc/osmocom/osmo-sgsn.cfg
etc/osmocom/osmo-ggsn.cfg
etc/osmocom/osmo-stp.cfg
etc/osmocom/osmo-hlr.cfg
etc/osmocom/osmo-hnbgw.cfg
etc/osmocom/sysmobts-mgr.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.db
var/lib/osmocom/hlr.sqlite3
etc/lcr
/etc/dnsmasq.conf
etc/udhcpd.conf
etc/sysmocom/backup.d
etc/machine-id
etc/dropbear/dropbear_rsa_host_key

View File

@ -1,7 +1,7 @@
DESCRIPTION = "sysmocom config backup and restore scripts"
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r15"
PR = "r13"
SRC_URI = " \
file://sysmocom-backup \

View File

@ -14,7 +14,7 @@ FILES_${PN} += "${systemd_unitdir}"
do_install() {
install -d ${D}${sysconfdir}
install -m 0644 ${WORKDIR}/udhcpd.conf ${D}${sysconfdir}/
install -d ${D}${systemd_system_unitdir}/multi-user.target.wants/
install -m 0644 /${WORKDIR}/udhcpd.service ${D}${systemd_system_unitdir}/
ln -sf ../udhcpd.service ${D}${systemd_system_unitdir}/multi-user.target.wants/
install -d ${D}${systemd_unitdir}/system/multi-user.target.wants/
install -m 0644 /${WORKDIR}/udhcpd.service ${D}${systemd_unitdir}/system/
ln -sf ../udhcpd.service ${D}${systemd_unitdir}/system/multi-user.target.wants/
}

View File

@ -7,7 +7,8 @@ ALLOW_EMPTY_${PN} = "1"
PR = "r1"
RDEPENDS_${PN} = "\
osmo-ggsn \
gprs-routing \
osmo-sgsn \
openggsn \
gprs-routing osmo-sgsn \
sysmocom-ggsn-config \
"

View File

@ -4,15 +4,14 @@ LIC_FILES_CHKSUM = " \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r25"
PR = "r24"
CALIB = ""
CALIB_sysmobts-v2 = "sysmobts-calib sysmobts-util"
UTIL = ""
UTIL_sysmobts-v2 = "sbts2050-util gpsd gps-utils gpsdate"
UTIL_sysmobts2100 = "gpsd gps-utils gpsdate lc15-sysdev-remap"
UTIL_oc2g = "gpsd gps-utils gpsdate oc2g-sysdev-remap"
UTIL_sysmobts-v2 = "sbts2050-util gpsd gps-utils"
UTIL_sysmobts2100 = "gpsd gps-utils"
# TODO: re-add femtobts-calib after it went through the API migration
RDEPENDS_${PN} = "\

View File

@ -4,7 +4,7 @@ LIC_FILES_CHKSUM = " \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r5"
PR = "r4"
RDEPENDS_${PN} = "\
dropbear \
@ -14,6 +14,5 @@ RDEPENDS_${PN} = "\
gdb \
gdbserver \
net-tools \
n2n \
"

View File

@ -3,12 +3,11 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = " \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY_${PN} = "1"
PR = "r22"
PR = "r21"
RDEPENDS_${PN} = "\
task-sysmocom-tools \
task-sysmocom-debug \
task-sysmocom-legacy \
minicom vlan patch procps psmisc \
ppp rsync sed usbutils openvpn iperf \
lcr cronie iproute2 i2c-tools cu \
@ -17,6 +16,4 @@ RDEPENDS_${PN} = "\
logrotate python-jsonrpclib python-enum iputils \
packagegroup-sysmobts-sob rtl8169-eeprom autossh \
perl libdbd-sqlite-perl libdbi-perl libjson-perl \
netcat-openbsd perf lksctp-tools task-gprscore \
osmo-sip-connector osmo-sysmon \
"
netcat-openbsd perf lksctp-tools task-gprscore"

View File

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

View File

@ -3,7 +3,7 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = " \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY_${PN} = "1"
PR = "r12"
PR = "r10"
RDEPENDS_${PN} = "\
lmsensors-scripts \
@ -14,8 +14,6 @@ RDEPENDS_${PN} = "\
ntpdate \
wget \
ca-cacert-rootcert \
ipaccess-utils \
abisip-find \
sysmocom-backup \
sysmocom-backup-default \
sysmocom-systemd \

View File

@ -4,15 +4,15 @@ LIC_FILES_CHKSUM = " \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r16"
PR = "r11"
RDEPENDS_${PN} = "\
task-sysmocom-tools \
task-gprscore \
osmo-bsc \
osmo-mgw \
osmo-msc \
osmo-hlr \
osmo-stp \
${@bb.utils.contains('DISTRO_FEATURES', 'iu', 'osmo-hnbgw', '', d)} \
osmo-bsc-mgcp \
osmo-bsc-nat \
osmo-gbproxy \
osmo-nitb \
ipaccess-utils \
"

View File

@ -1,6 +1,6 @@
require barebox.inc
SRCREV = "d87c27d7ab143d58f358df5722be2b9675103d2e"
SRCREV = "1d8bdd6f226df2ecbde3776b52fbc228158293fd"
SRC_URI = " \
git://git.sysmocom.de/barebox.git;branch=v2015.06 \
file://defconfig \

View File

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

View File

@ -6,16 +6,16 @@ SRC_URI = "\
file://early-date \
file://early-date.service"
FILES_${PN} = "${systemd_system_unitdir} /sbin"
FILES_${PN} = "${systemd_unitdir}/system /sbin"
RDPEPENDS_${PN} = "systemd"
do_install() {
install -d ${D}/sbin
install -d ${D}${systemd_system_unitdir}/basic.target.wants
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_system_unitdir}
ln -sf ../early-date.service ${D}${systemd_system_unitdir}/basic.target.wants/
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..

File diff suppressed because it is too large Load Diff

View File

@ -1,33 +0,0 @@
From 83bf55510af35cc9e0872bc25ad5628dfae2f4a8 Mon Sep 17 00:00:00 2001
From: Pau Espin Pedrol <pespin@sysmocom.de>
Date: Mon, 7 Aug 2017 10:27:36 +0200
Subject: [PATCH] litecell15.dts: Set default let trigger to none
---
arch/arm/boot/dts/litecell15.dts | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/boot/dts/litecell15.dts b/arch/arm/boot/dts/litecell15.dts
index a0c9db31eaf4..a2a08d64f313 100644
--- a/arch/arm/boot/dts/litecell15.dts
+++ b/arch/arm/boot/dts/litecell15.dts
@@ -318,14 +318,14 @@
led@0 {
label = "usr0";
gpios = <&gpio7 31 GPIO_ACTIVE_HIGH>;
- linux,default-trigger = "heartbeat";
+ linux,default-trigger = "none";
default-state = "on";
};
led@1 {
label = "usr1";
gpios = <&gpio7 30 GPIO_ACTIVE_HIGH>;
- linux,default-trigger = "cpu0";
+ linux,default-trigger = "none";
default-state = "off";
};
--
2.13.4

File diff suppressed because it is too large Load Diff

View File

@ -34,10 +34,10 @@ REPOFILE = "linux-litecell15_4.4.32.bb"
PR := "r${REPOGITFN}"
REPODIR = "${THISDIR}/files"
REPOFILE = "."
REPOFILE = ""
PR := "${PR}.${REPOGITFN}"
PV = "4.4.32.33+git${SRCPV}"
PV = "4.4.32+git${SRCPV}"
PKGV = "${PKGGITV}"
DEV_BRANCH = "${@ 'nrw/litecell15-next' if d.getVar('NRW_BSP_DEVEL', False) == "next" else 'nrw/litecell15'}"
@ -61,19 +61,18 @@ do_configure_prepend() {
sed -i -e 's/EXTRAVERSION =.*/EXTRAVERSION = .${PKGGITN}-lc15/g' ${S}/Makefile
}
SRC_URI += "file://defconfig \
file://0001-litecell15.dts-Set-default-let-trigger-to-none.patch"
SRC_URI += "file://defconfig"
# autoload defaults
# autoload defaults (alphabetically sorted)
module_autoload_fpgadl = "fpgadl"
module_autoload_nrw_clkerr = "nrw-clkerr"
module_autoload_nrw_vswr = "nrw-vswr"
module_autoload_omap_remoteproc = "omap_remoteproc"
module_autoload_rpmsg_proto = "rpmsg-proto"
module_autoload_rpmsg_rpc = "rpmsg-rpc"
module_autoload_iio_hwmon = "iio-hwmon"
module_autoload_ntc_thermistor = "ntc-thermistor"
KERNEL_MODULE_PROBECONF_append = "adl5501 configfs fpgadl iio_hwmon industrialio industrialio-buffer-cb input-polldev mcp47x6 nrw_clkerr nrw_vswr ntc_thermistor omap_remoteproc rpmsg_proto rpmsg_rpc xilinx-xadc"
KERNEL_MODULE_AUTOLOAD_append = "adl5501 configfs fpgadl iio_hwmon industrialio industrialio-buffer-cb input-polldev mcp47x6 nrw_clkerr nrw_vswr ntc_thermistor omap_remoteproc rpmsg_proto rpmsg_rpc xilinx-xadc"
KERNEL_MODULE_PROBECONF_append = "fpgadl nrw_clkerr nrw_vswr omap_remoteproc rpmsg_proto rpmsg_rpc"
KERNEL_MODULE_AUTOLOAD_append = "fpgadl nrw_clkerr nrw_vswr omap_remoteproc rpmsg_proto rpmsg_rpc"
RDEPENDS_kernel-module-omap-remoteproc += "lc15-firmware"
RDEPENDS_kernel-module-fpgadl += "lc15-firmware"

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
use-kernel-config=oc2g_defconfig

View File

@ -1,63 +0,0 @@
SECTION = "kernel"
DESCRIPTION = "Linux kernel for the OC-2G"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
require recipes-kernel/linux/linux-yocto.inc
KERNEL_IMAGETYPE = "zImage"
COMPATIBLE_MACHINE = "oc2g"
RDEPENDS_kernel-base += "kernel-devicetree"
KERNEL_DEVICETREE_oc2g = "oc2g.dtb oc2gplus.dtb"
RDEPENDS_kernel-devicetree += "update-alternatives-opkg"
LINUX_VERSION = "${PV}"
LINUX_VERSION_EXTENSION = "-oc2g"
RDEPENDS_kernel-image += "update-alternatives-opkg"
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
S = "${WORKDIR}/git"
NRW_OC2G_MIRROR ??= "git@gitlab.com/nrw_oc2g"
inherit gitver-pkg gitver-repo
REPODIR = "${THISDIR}"
REPOFILE = "linux-oc2g_4.4.32.bb"
PR := "r${REPOGITFN}"
REPODIR = "${THISDIR}/linux-oc2g-4.4.32"
REPOFILE = ""
PR := "${PR}.${REPOGITFN}"
PV = "4.4.32+git${SRCPV}"
PKGV = "${PKGGITV}"
DEV_BRANCH = "${@ 'nrw/oc2g-next' if d.getVar('NRW_BSP_DEVEL', False) == "next" else 'nrw/oc2g'}"
DEV_SRCREV = "${AUTOREV}"
DEV_SRCURI := "git://${NRW_OC2G_MIRROR}/processor-sdk-linux.git;protocol=ssh;branch=${DEV_BRANCH}"
REL_BRANCH = "nrw/oc2g"
REL_SRCREV = "5a36597a52fe4fc24fc0d9f8a02e3c3ff30e6aff"
REL_SRCURI := "git://${NRW_OC2G_MIRROR}/processor-sdk-linux.git;protocol=ssh;branch=${REL_BRANCH}"
BRANCH = "${@ '${DEV_BRANCH}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_BRANCH}'}"
SRCREV = "${@ '${DEV_SRCREV}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_SRCREV}'}"
SRC_URI = "${@ '${DEV_SRCURI}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_SRCURI}'}"
addtask showversion after do_compile before do_install
do_showversion() {
bbplain "${PN}: ${PKGGITV} => ${BRANCH}:${PKGGITH}"
}
do_configure_prepend() {
sed -i -e 's/EXTRAVERSION =.*/EXTRAVERSION = .${PKGGITN}-oc2g/g' ${S}/Makefile
}
SRC_URI += "file://defconfig"

View File

@ -7,18 +7,18 @@ DEPENDS += "bc-native"
# 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 ?= "4.9.59"
LINUX_VERSION ?= "4.9.14"
LINUX_VERSION_EXTENSION ?= "-sysmocom-${LINUX_KERNEL_TYPE}"
# Overrides for the sysmocom bts v2
BTS_FIRMWARE_NAME_sysmobts-v2 = "sysmobts-v2"
SRCREV = "27afed74546b4fa5546aeea26128eae2dcdc7c1f"
SRCREV = "8d5d275254642b70b3ecf18a5b9b9fe9d5777230"
PR = "r6"
PR = "r1"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.sysmocom.de/sysmo-bts/linux.git;protocol=git;branch=tracking/linux-stable-4.9 \
SRC_URI = "git://git.sysmocom.de/sysmo-bts/linux.git;protocol=git;branch=lynxis/v4.9 \
file://defconfig"
S = "${WORKDIR}/git"
@ -34,8 +34,16 @@ do_configure() {
}
# autoload defaults (alphabetically sorted)
KERNEL_MODULE_PROBECONF += "davinci_mmc dspdl_dm644x fpgadl_par leds-gpio mmc_block msgqueue rtfifo"
KERNEL_MODULE_AUTOLOAD += "davinci_mmc dspdl_dm644x fpgadl_par leds-gpio mmc_block msgqueue rtfifo"
module_autoload_davinci_mmc = "davinci_mmc"
module_autoload_dspdl_dm644x = "dspdl_dm644x"
module_autoload_fpgadl_par = "fpgadl_par"
module_autoload_leds-gpio = "leds-gpio"
module_autoload_mmc_block = "mmc_block"
module_autoload_msgqueue = "msgqueue"
module_autoload_rtfifo = "rtfifo"
KERNEL_MODULE_PROBECONF_append = "davinci_mmc dspdl_dm644x fpgadl_par leds-gpio mmc_block msgqueue rtfifo"
KERNEL_MODULE_AUTOLOAD_append = "davinci_mmc dspdl_dm644x fpgadl_par leds-gpio mmc_block msgqueue rtfifo"
# module configs (alphabetically sorted)
module_conf_dspdl_dm644x = "options dspdl_dm644x fw_name=${BTS_FIRMWARE_NAME}.out debug=0"

View File

@ -94,10 +94,10 @@ do_install_append() {
install -d ${D}/${sysconfdir}/network/if-up.d
ln -s ${bindir}/ntpdate-sync ${D}/${sysconfdir}/network/if-up.d
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/ntpdate.service ${D}${systemd_system_unitdir}/
install -m 0644 ${WORKDIR}/ntpd.service ${D}${systemd_system_unitdir}/
install -m 0644 ${WORKDIR}/sntp.service ${D}${systemd_system_unitdir}/
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/ntpdate.service ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/ntpd.service ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/sntp.service ${D}${systemd_unitdir}/system/
install -d ${D}${systemd_unitdir}/ntp-units.d
install -m 0644 ${WORKDIR}/ntpd.list ${D}${systemd_unitdir}/ntp-units.d/60-ntpd.list
@ -145,13 +145,13 @@ FILES_ntpdate = "${sbindir}/ntpdate \
${sysconfdir}/network/if-up.d/ntpdate-sync \
${bindir}/ntpdate-sync \
${sysconfdir}/default/ntpdate \
${systemd_system_unitdir}/ntpdate.service \
${systemd_unitdir}/system/ntpdate.service \
${bindir}/ntpdate-cron \
${sysconfdir}/cron.d/ntpdate \
"
FILES_sntp = "${sbindir}/sntp \
${sysconfdir}/default/sntp \
${systemd_system_unitdir}/sntp.service \
${systemd_unitdir}/system/sntp.service \
"
CONFFILES_${PN} = "${sysconfdir}/ntp.conf"

View File

@ -25,9 +25,9 @@ do_install() {
install -m 0755 ${WORKDIR}/usb2514 ${D}${bindir}/
install -m 0755 ${WORKDIR}/gpio_usb2514 ${D}${bindir}/
install -m 0755 ${WORKDIR}/odu-gpiotool ${D}${bindir}/
install -d ${D}${systemd_system_unitdir}/multi-user.target.wants/
install -m 0644 /${WORKDIR}/usb2514.service ${D}${systemd_system_unitdir}/
ln -sf ../usb2514.service ${D}${systemd_system_unitdir}/multi-user.target.wants/
install -d ${D}${systemd_unitdir}/system/multi-user.target.wants/
install -m 0644 /${WORKDIR}/usb2514.service ${D}${systemd_unitdir}/system/
ln -sf ../usb2514.service ${D}${systemd_unitdir}/system/multi-user.target.wants/
}
FILES_${PN} += "${systemd_unitdir}"

View File

@ -1,183 +0,0 @@
From b33c1d7ab8881cf9e68ef9692a8c5079f1b53db7 Mon Sep 17 00:00:00 2001
From: Pau Espin Pedrol <pespin@sysmocom.de>
Date: Fri, 28 Jul 2017 12:12:05 +0200
Subject: [PATCH] Add sysmocom specific tweaks
---
common/autoboot.c | 2 +-
include/configs/litecell15.h | 91 +++++++++++++++++++++++++++++++++------
include/configs/ti_armv7_common.h | 2 +-
3 files changed, 80 insertions(+), 15 deletions(-)
diff --git a/common/autoboot.c b/common/autoboot.c
index c4e21452df..369f2c55a1 100644
--- a/common/autoboot.c
+++ b/common/autoboot.c
@@ -352,7 +352,7 @@ const char *bootdelay_process(void)
s = getenv("bootcmd");
process_fdt_options(gd->fdt_blob);
- stored_bootdelay = bootdelay;
+ stored_bootdelay = CONFIG_BOOTDELAY;
return s;
}
diff --git a/include/configs/litecell15.h b/include/configs/litecell15.h
index bb6629a3ce..6d030bedcb 100644
--- a/include/configs/litecell15.h
+++ b/include/configs/litecell15.h
@@ -81,13 +81,19 @@
#define CONFIG_SYS_NS16550_COM9 UART9_BASE /* GPS Port B */
#define CONFIG_BAUDRATE 115200
-/* These 3 lines keep from inadvertly stopping u-boot by any serial glitch, at least a specific character must be pressed */
+#define CONFIG_SYS_AUTOLOAD "n" /* No autoload */
+/* These lines keep from inadvertly stopping u-boot by any serial glitch, at least a specific character must be pressed */
#define CONFIG_AUTOBOOT_KEYED
-#define CONFIG_AUTOBOOT_DELAY_STR "c"
-#define CONFIG_AUTOBOOT_PROMPT "Autoboot in %d seconds, press <" CONFIG_AUTOBOOT_DELAY_STR "> to abort...\n",bootdelay
+#define CONFIG_AUTOBOOT_DELAY_STR "bts-delay"
+#define CONFIG_AUTOBOOT_STOP_STR "bts-stop"
+#define CONFIG_BOOTDELAY 8 /* -1 disables auto-boot */
+#define CONFIG_AUTOBOOT_PROMPT "Autoboot in %d seconds, press <" CONFIG_AUTOBOOT_STOP_STR "> to abort...\n"
#define CONFIG_SYS_OMAP_ABE_SYSCK
+/* Write to ext4 partitions */
+#define CONFIG_CMD_EXT4_WRITE
+
/* CONFIG_HW_WATCHDOG when activated implies a lot of boot mechanisms to allow wdt reboot, boot counting, reset event detection (available for kernel info also), */
/* multiple u-boot qspi images alternance, hardware watchdog ticking, failsafe boot alternative after a specific boot count limit exausted, */
/* autoboot failing protection, etc. */
@@ -99,9 +105,9 @@
/*#define CONFIG_WDT_LOCK*/
/* Comment the following 3 definitions to allow to stay at u-boot command prompt forever when autoboot was manually stopped (defeat WDT safe boot protection in that case) */
-#define CONFIG_BOOT_RETRY_TIME 600
-#define CONFIG_BOOT_RETRY_MIN 60
-#define CONFIG_RESET_TO_RETRY
+/* #define CONFIG_BOOT_RETRY_TIME 600 */
+/* #define CONFIG_BOOT_RETRY_MIN 60 */
+/* #define CONFIG_RESET_TO_RETRY */
/* WDT by default 128 secs (2<<CONFIG_WDT_INIT, max 128secs), theorically do not use lower than 1 (2 secs) to match CONFIG_MIN_WDT_TICK_TIME */
/* WARNING: actual wdt expiration min value is (2<<CONFIG_WDT_INIT) secs, but it could be as long as 2 * (2<<CONFIG_WDT_INIT) secs */
@@ -204,21 +210,75 @@
"sf erase 0x120000 0x80000 && " \
"sf write 0x83000000 0x120000 0x80000 \0"
+#define ERASE_UBOOT_ENV \
+ "erase_uboot_env=echo Erasing saved u-boot env...; " \
+ "sf probe 0 && " \
+ "sf erase 0x100000 0x10000 && " \
+ "sf erase 0x110000 0x10000;\0"
+
+#define TFTP_FLASH_MLO \
+ "tftp_flash_mlo=echo Loading MLO from network and flashing it....; " \
+ "setenv prev_bootfile ${bootfile}; " \
+ "setenv autoload no; " \
+ "dhcp && " \
+ "setenv filesize 0 && " \
+ "if tftp ${loadaddr} MLO; then " \
+ "sf probe 0 && " \
+ "sf erase 0x00000 0x20000 && " \
+ "sf write ${loadaddr} 0x00000 0x20000 && " \
+ "sf erase 0x20000 0x20000 && " \
+ "sf write ${loadaddr} 0x20000 0x20000 && " \
+ "sf erase 0x40000 0x20000 && " \
+ "sf write ${loadaddr} 0x40000 0x20000 && " \
+ "sf erase 0x60000 0x20000 && " \
+ "sf write ${loadaddr} 0x60000 0x20000; " \
+ "fi; " \
+ "setenv bootfile ${prev_bootfile};\0"
+
+#define TFTP_FLASH_UBOOT \
+ "tftp_flash_uboot=echo Loading u-boot.img from network and flashing it....; " \
+ "setenv prev_bootfile ${bootfile}; " \
+ "setenv autoload no; " \
+ "dhcp && " \
+ "setenv filesize 0 && " \
+ "if tftp ${loadaddr} u-boot.img; then " \
+ "sf probe 0 && " \
+ "sf erase 0x80000 0x80000 && " \
+ "sf write ${loadaddr} 0x80000 0x80000 && " \
+ "sf erase 0x120000 0x80000 && " \
+ "sf write ${loadaddr} 0x120000 0x80000; " \
+ "fi; " \
+ "setenv bootfile ${prev_bootfile};\0"
+
+#define TFTP_FLASH_ROOTFS \
+ "tftp_flash_rootfs=echo Loading rootfs from network and flashing to mmc...; " \
+ "setenv prev_bootfile ${bootfile}; " \
+ "setenv autoload no; " \
+ "dhcp && " \
+ "setenv filesize 0 && " \
+ "if tftp ${loadaddr} rootfs-sysmobts2100.img; then " \
+ "setexpr fs ${filesize} + 0x1ff; " \
+ "setexpr fs ${fs} / 0x200; " \
+ "mmc write ${fileaddr} 0x0001f000 ${fs} && " \
+ "mmc write ${fileaddr} 0x003ef800 ${fs}; " \
+ "fi; " \
+ "setenv bootfile ${prev_bootfile};\0"
+
#include <configs/ti_omap5_common.h>
/* Internal memory boot */
#ifdef CONFIG_SPL_INTMEM_BOOT
-#undef CONFIG_SPL_STACK
+#undef CONFIG_SPL_STACK
#undef CONFIG_SPL_BSS_START_ADDR
#undef CONFIG_SPL_BSS_MAX_SIZE
#undef CONFIG_SYS_SPL_MALLOC_START
#undef CONFIG_SYS_SPL_MALLOC_SIZE
-#define CONFIG_SPL_STACK 0x40400000
-#define CONFIG_SPL_BSS_START_ADDR 0x40500000
-#define CONFIG_SPL_BSS_MAX_SIZE 0x00080000
-#define CONFIG_SYS_SPL_MALLOC_START 0x40580000
-#define CONFIG_SYS_SPL_MALLOC_SIZE 0x00080000
+#define CONFIG_SPL_STACK 0x40400000
+#define CONFIG_SPL_BSS_START_ADDR 0x40500000
+#define CONFIG_SPL_BSS_MAX_SIZE 0x00080000
+#define CONFIG_SYS_SPL_MALLOC_START 0x40580000
+#define CONFIG_SYS_SPL_MALLOC_SIZE 0x00080000
#endif
/* Overwrite extra settings */
@@ -226,6 +286,7 @@
#define CONFIG_EXTRA_ENV_SETTINGS \
DEFAULT_LINUX_BOOT_ENV \
"console=" CONSOLEDEV ",115200n8\0" \
+ "bootdelay=" __stringify(CONFIG_BOOTDELAY) "\0" \
"fdtfile=litecell15.dtb\0" \
"bootdir=/boot\0" \
"bootfile=zImage\0" \
@@ -292,7 +353,11 @@
MYBOOT_LIMIT \
NANDARGS \
FLASH_UBOOT_LINUXFS \
- FLASH_UBOOT2
+ FLASH_UBOOT2 \
+ ERASE_UBOOT_ENV \
+ TFTP_FLASH_MLO \
+ TFTP_FLASH_UBOOT \
+ TFTP_FLASH_ROOTFS
#undef CONFIG_BOOTCOMMAND
#define CONFIG_BOOTCOMMAND \
diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
index 6011cf8c65..9680246feb 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -93,7 +93,7 @@
/*
* Default to a quick boot delay.
*/
-#define CONFIG_BOOTDELAY 1
+/* #define CONFIG_BOOTDELAY 1 */
/*
* DDR information. If the CONFIG_NR_DRAM_BANKS is not defined,
--
2.13.3

View File

@ -29,7 +29,6 @@ SRC_URI = "${@ '${DEV_SRCURI}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_S
SRC_URI += "file://0001-fw_env-missing-header.patch"
SRC_URI += "file://fix-build-error-under-gcc6.patch"
SRC_URI += "file://0001-Add-sysmocom-specific-tweaks.patch"
addtask showversion after do_compile before do_install
do_showversion() {

View File

@ -1,41 +0,0 @@
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
NRW_OC2G_MIRROR ??= "git@gitlab.com/nrw_oc2g"
inherit gitver-pkg gitver-repo
# Should match the one in u-boot.inc
INC_PR ??= "r1"
REPODIR = "${THISDIR}"
REPOFILE = "u-boot-oc2g-2015.07.inc"
INC_PR := "${INC_PR}.${REPOGITFN}"
PV = "2015.07+git${SRCPV}"
PKGV = "${PKGGITV}"
DEV_BRANCH = "${@ 'nrw/oc2g-next' if d.getVar('NRW_BSP_DEVEL', False) == "next" else 'nrw/oc2g'}"
DEV_SRCREV = "${AUTOREV}"
DEV_SRCURI := "git://${NRW_OC2G_MIRROR}/u-boot.git;protocol=ssh;branch=${DEV_BRANCH}"
REL_BRANCH = "nrw/oc2g"
REL_SRCREV = "f8da7e9b975e1806b6cb896600b6a67c5fcf4afd"
REL_SRCURI := "git://${NRW_OC2G_MIRROR}/u-boot.git;protocol=ssh;branch=${REL_BRANCH}"
BRANCH = "${@ '${DEV_BRANCH}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_BRANCH}'}"
SRCREV = "${@ '${DEV_SRCREV}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_SRCREV}'}"
SRC_URI = "${@ '${DEV_SRCURI}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_SRCURI}'}"
SRC_URI += "file://0001-fw_env-missing-header.patch"
SRC_URI += "file://fix-build-error-under-gcc6.patch"
addtask showversion after do_compile before do_install
do_showversion() {
bbplain "${PN}: ${PKGGITV} => ${BRANCH}:${PKGGITH}"
}
do_configure_prepend() {
sed -i -e 's/SUBLEVEL =.*/SUBLEVEL = ${PKGGITN}/g' ${S}/Makefile
sed -i -e 's/EXTRAVERSION =.*/EXTRAVERSION = -oc2g/g' ${S}/Makefile
}

View File

@ -1,20 +0,0 @@
require u-boot.inc
require ${PN}-${PV}.inc
PROVIDES_oc2g = " \
u-boot \
virtual/bootloader \
"
DESCRIPTION = "u-boot bootloader for TI devices supported by the GLSDK product"
REPODIR = "${THISDIR}"
REPOFILE = "u-boot-oc2g_2015.07.bb"
PR := "${INC_PR}.${REPOGITFN}"
# set theses two variables to 1 to specify u-boot update requierement when the rootfs is updated
export MLO_UPGRADE = "1"
export UBOOT_UPGRADE = "1"
SPL_BINARY = "MLO"
SPL_UART_BINARY = "u-boot-spl.bin"

View File

@ -2,7 +2,7 @@ require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot.inc
FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:"
INC_PR = "r2"
INC_PR = "r1"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@ -0,0 +1,81 @@
#!/bin/sh
#/etc/init.d/watchdog: start watchdog daemon.
#based on debian/init of watchdog
### BEGIN INIT INFO
# Provides: watchdog
# Short-Description: Start software watchdog daemon
# Required-Start: $local_fs
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: S
# Default-Stop:
### END INIT INFO
PATH=/bin:/usr/bin:/sbin:/usr/sbin
test -x /usr/sbin/watchdog || exit 0
# For configuration of the init script use the file
# /etc/default/watchdog, do not edit this init script.
# Set run_watchdog to 1 to start watchdog or 0 to disable it.
# Specify additional watchdog options here (see manpage).
watchdog_options=""
# Specify module to load
watchdog_module="none"
run_watchdog=1
[ -e /etc/default/watchdog ] && . /etc/default/watchdog
NAME=watchdog
DAEMON=/usr/sbin/watchdog
case "$1" in
start)
if [ $run_watchdog = 1 ]
then
# do we have to load a module?
[ ${watchdog_module:-none} != "none" ] && /sbin/modprobe $watchdog_module
# Unconditionally start watchdog daemon because we want to run it even
# if wd_keepalive wasn't running
echo "Starting watchdog daemon..."
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $watchdog_options
fi
;;
stop)
if [ $run_watchdog = 1 ]
then
echo "Stopping watchdog daemon..."
start-stop-daemon --stop -s 9 --quiet \
--pidfile /var/run/$NAME.pid
fi
;;
restart)
$0 force-reload
;;
force-reload)
if [ $run_watchdog = 0 ]; then exit 0; fi
echo "Restarting ${NAME}"
$0 stop
$0 start
;;
*)
echo "Usage: /etc/init.d/watchdog {start|stop|restart|force-reload}"
exit 1
esac
exit 0

View File

@ -0,0 +1,41 @@
#ping = 172.31.14.1
#ping = 172.26.1.255
#interface = eth0
#file = /var/log/messages
#change = 1407
# Uncomment to enable test. Setting one of these values to '0' disables it.
# These values will hopefully never reboot your machine during normal use
# (if your machine is really hung, the loadavg will go much higher than 25)
#max-load-1 = 24
#max-load-5 = 18
#max-load-15 = 12
# Note that this is the number of pages!
# To get the real size, check how large the pagesize is on your machine.
#min-memory = 1
#repair-binary = /usr/sbin/repair
#repair-timeout =
#test-binary =
#test-timeout =
watchdog-device = /dev/watchdog
# Defaults compiled into the binary
#temperature-device =
#max-temperature = 120
# Defaults compiled into the binary
#admin = root
#interval = 1
#logtick = 1
#log-dir = /var/log/watchdog
# This greatly decreases the chance that watchdog won't be scheduled before
# your machine is really loaded
realtime = yes
priority = 1
# Check if syslogd is still running by enabling the following line
#pidfile

View File

@ -0,0 +1,24 @@
SYSMOCOM := "${@os.path.dirname(d.getVar('FILE', True))}"
FILESEXTRAPATHS_prepend := "${SYSMOCOM}/${PN}-${PV}:${SYSMOCOM}/${PN}:"
PRINC = "9"
inherit update-rc.d
SRC_URI_append_sysmobts-v2 = " file://watchdog.conf file://init"
do_install_append() {
if [ -e ${WORKDIR}/watchdog.conf ]; then
install -D -m 0644 ${WORKDIR}/watchdog.conf ${D}/${sysconfdir}/
fi
install -D -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/watchdog
}
CONFFILES_${PN} = "${sysconfdir}/watchdog.conf"
INITSCRIPT_PACKAGES = "${PN}"
INITSCRIPT_NAME_${PN} = "watchdog"
INITSCRIPT_PARAMS_${PN} = "start 06 S ."
# bug in poky meta/classes/base.bbclass?
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@ -0,0 +1,88 @@
##############################################################################
#
# Sample ggsn configuration file
#
##############################################################################
# TAG: fg
# Include this flag if process is to run in the foreground
#
#fg
# TAG: debug
# Include this flag to include debug information.
#debug
# TAG: conf
# Configuration file to use. This file is the configuration file,
# so changing this parameter in the configuration file does not make
# sense. Use it on the command line instead.
# TAG: pidfile
# File to store information about the process id of the program.
# The program must have write access to this file/directory.
#pidfile /var/run/ggsn.pid
# TAG: statedir
# Directory to use for nonvolatile storage.
# The program must have write access to this directory.
#statedir /var/lib/ggsn/
# TAG: listen
# Specifies the local IP address to listen to
#listen 10.0.0.240
listen 10.23.123.1
# TAG: net
# IP network address of external packet data network
# Used to set up network interface.
net 10.23.42.0/24
# TAG: ipup
# Script executed after network interface has been brought up.
# Executed with the following parameters: <devicename> <ip address>
#ipup /etc/ggsn/ip-up
# TAG: ipdown
# Script executed after network interface has been taken down.
# Executed with the following parameters: <devicename> <ip address>
#ipdown /etc/ggsn/ip-down
# TAG: dynip
# Dynamic IP address pool.
# Used for allocation of dynamic IP address when address is not given
# by HLR.
# If this option is not given then the net option is used as a substitute.
#dynip 192.168.0.0/24
# TAG: statip
# Use of this tag is currently UNSUPPORTED
# Static IP address pool.
# Used for allocation of static IP address by means of HLR.
#statip 192.168.1.0/24
# TAG: pcodns1
# Protocol configuration option domain name system server 1.
pcodns1 8.8.8.8
# TAG: pcodns2
# Protocol configuration option domain name system server 2.
#pcodns2 0.0.0.0
# TAG: timelimit
# Exit after timelimit seconds.
# Setting timelimit to zero will cause the program not to exit.
#timelimit 0
# TAG: apn
# Use of this tag is EXPERIMENTAL
# Access point name to connect to when run in client mode.
#apn internet
# TAG: qos
# Use of this tag is EXPERIMENTAL
# Requested Quality of Service used when run in client mode.
# 3 bytes corresponding to ????
#qos 0x0b921f

View File

@ -0,0 +1,88 @@
##############################################################################
#
# Sample ggsn configuration file
#
##############################################################################
# TAG: fg
# Include this flag if process is to run in the foreground
#
#fg
# TAG: debug
# Include this flag to include debug information.
#debug
# TAG: conf
# Configuration file to use. This file is the configuration file,
# so changing this parameter in the configuration file does not make
# sense. Use it on the command line instead.
# TAG: pidfile
# File to store information about the process id of the program.
# The program must have write access to this file/directory.
#pidfile /var/run/ggsn.pid
# TAG: statedir
# Directory to use for nonvolatile storage.
# The program must have write access to this directory.
#statedir /var/lib/ggsn/
# TAG: listen
# Specifies the local IP address to listen to
#listen 10.0.0.240
listen 127.0.0.2
# TAG: net
# IP network address of external packet data network
# Used to set up network interface.
net 10.23.42.0/24
# TAG: ipup
# Script executed after network interface has been brought up.
# Executed with the following parameters: <devicename> <ip address>
#ipup /etc/ggsn/ip-up
# TAG: ipdown
# Script executed after network interface has been taken down.
# Executed with the following parameters: <devicename> <ip address>
#ipdown /etc/ggsn/ip-down
# TAG: dynip
# Dynamic IP address pool.
# Used for allocation of dynamic IP address when address is not given
# by HLR.
# If this option is not given then the net option is used as a substitute.
#dynip 192.168.0.0/24
# TAG: statip
# Use of this tag is currently UNSUPPORTED
# Static IP address pool.
# Used for allocation of static IP address by means of HLR.
#statip 192.168.1.0/24
# TAG: pcodns1
# Protocol configuration option domain name system server 1.
pcodns1 8.8.8.8
# TAG: pcodns2
# Protocol configuration option domain name system server 2.
#pcodns2 0.0.0.0
# TAG: timelimit
# Exit after timelimit seconds.
# Setting timelimit to zero will cause the program not to exit.
#timelimit 0
# TAG: apn
# Use of this tag is EXPERIMENTAL
# Access point name to connect to when run in client mode.
#apn internet
# TAG: qos
# Use of this tag is EXPERIMENTAL
# Requested Quality of Service used when run in client mode.
# 3 bytes corresponding to ????
#qos 0x0b921f

View File

@ -0,0 +1,11 @@
DESCRIPTION = "OpenGGSN config by sysmocom"
SRC_URI = "file://ggsn.conf"
LICENSE = "closed"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
do_install() {
install -d ${D}${sysconfdir}
install -m 0660 ${WORKDIR}/ggsn.conf ${D}${sysconfdir}/
}
CONFFILES_${PN} = "${sysconfdir}/ggsn.conf"

View File

@ -20,6 +20,6 @@ do_install() {
# feed.
FILES_${PN} += "${systemd_unitdir}"
do_install_append() {
install -d ${D}${systemd_system_unitdir}/multi-user.target.wants/
ln -sf ../openvpn.service ${D}${systemd_system_unitdir}/multi-user.target.wants/
install -d ${D}${systemd_unitdir}/system/multi-user.target.wants/
ln -sf ../openvpn.service ${D}${systemd_unitdir}/system/multi-user.target.wants/
}

View File

@ -1,10 +0,0 @@
#!/bin/sh
cd tests
for i in `ls *`; do
if [ ./$i ] ; then
echo "PASS: $i"
else
echo "FAIL: $i"
fi
done

View File

@ -1,32 +0,0 @@
DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
HOMEPAGE = "http://www.zeromq.org"
LICENSE = "LGPLv3+"
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
PACKAGECONFIG ??= "libsodium"
PACKAGECONFIG[libsodium] = "--with-libsodium, --without-libsodium, libsodium"
SRC_URI = "http://github.com/zeromq/zeromq4-1/releases/download/v${PV}/zeromq-${PV}.tar.gz \
file://run-ptest \
"
SRC_URI[md5sum] = "c89db4dbc0b90c34c9f4983cbff6d321"
SRC_URI[sha256sum] = "02ebf60a43011e770799336365bcbce2eb85569e9b5f52aa0d8cc04672438a0a"
S = "${WORKDIR}/zeromq-${PV}"
#Uncomment to choose polling system manually. valid values are kqueue, epoll, devpoll, poll or select
#EXTRA_OECONF += "--with-poller=kqueue"
#CFLAGS_append = " -O0"
#CXXFLAGS_append = " -O0"
inherit autotools ptest pkgconfig
do_compile_ptest () {
echo 'buildtest-TESTS: $(check_PROGRAMS)' >> ${B}/Makefile
oe_runmake buildtest-TESTS
}
do_install_ptest () {
install -d ${D}${PTEST_PATH}/tests
install -m 0755 ${B}/.libs/test_* ${D}${PTEST_PATH}/tests
}

View File

@ -0,0 +1,36 @@
#!/bin/sh
DAEMON=/usr/sbin/ifplugd
NAME=ifplugd
DESC="Busybox ifplugd Server"
ARGS=" -i eth0 -M -I -r /etc/ifplugd.sh"
test -f $DAEMON || exit 1
set -e
case "$1" in
start)
echo -n "starting $DESC: $NAME... "
/sbin/start-stop-daemon -S -b -n $NAME -a $DAEMON -- $ARGS
echo "done."
;;
stop)
echo -n "stopping $DESC: $NAME... "
/sbin/start-stop-daemon -K -n $NAME
echo "done."
;;
restart)
echo "Not restarting $DESC: $NAME... "
;;
reload)
echo -n "reloading $DESC: $NAME... "
killall -HUP $(basename ${DAEMON})
echo "done."
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
;;
esac
exit 0

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,62 @@
Upstream-Status: Backport
Signed-off-by: Henning Heinold <henning@itconsulting-heinold.de>
From da331d779c19d7d5d4ef05152ee467d617913a01 Mon Sep 17 00:00:00 2001
From: Tito Ragusa <farmatito@tiscali.it>
Date: Sun, 4 Aug 2013 18:08:40 +0200
Subject: [PATCH 001/104] ifplugd: use a larger netlink buffer
function old new delta
check_existence_through_netlink 310 321 +11
Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
networking/ifplugd.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/networking/ifplugd.c b/networking/ifplugd.c
index 3cdc2c9..b578f4c 100644
--- a/networking/ifplugd.c
+++ b/networking/ifplugd.c
@@ -451,20 +451,24 @@ static smallint detect_link(void)
static NOINLINE int check_existence_through_netlink(void)
{
int iface_len;
- char replybuf[1024];
+ /* Buffer was 1K, but on linux-3.9.9 it was reported to be too small.
+ * netlink.h: "limit to 8K to avoid MSG_TRUNC when PAGE_SIZE is very large".
+ * Note: on error returns (-1) we exit, no need to free replybuf.
+ */
+ enum { BUF_SIZE = 8 * 1024 };
+ char *replybuf = xmalloc(BUF_SIZE);
iface_len = strlen(G.iface);
while (1) {
struct nlmsghdr *mhdr;
ssize_t bytes;
- bytes = recv(netlink_fd, &replybuf, sizeof(replybuf), MSG_DONTWAIT);
+ bytes = recv(netlink_fd, replybuf, BUF_SIZE, MSG_DONTWAIT);
if (bytes < 0) {
if (errno == EAGAIN)
- return G.iface_exists;
+ goto ret;
if (errno == EINTR)
continue;
-
bb_perror_msg("netlink: recv");
return -1;
}
@@ -507,6 +511,8 @@ static NOINLINE int check_existence_through_netlink(void)
}
}
+ ret:
+ free(replybuf);
return G.iface_exists;
}
--
1.7.10.4

File diff suppressed because it is too large Load Diff

View File

@ -1,26 +0,0 @@
#OPTIONS="-C"
# The above option means syslogd will log to 16K shm circular buffer.
# You could use `logread' to read it.
# All available options are:
# -O FILE : Log to FILE (default:/var/log/messages)
# -l N : Log only messages more urgent than prio N (1-8)
# -S : Smaller output
# -s SIZE : Max size (KB) before rotation (default:200KB, 0=off)
# -b N : N rotated logs to keep (default:1, max=99, 0=purge)
# -R HOST[:PORT]: Log to HOST:PORT (default PORT:514)
# -L : Log locally and via network
# -D : Drop duplicates
# -C[size_kb] : Log to shared mem buffer (use logread to read it)
# -f FILE : Use FILE as config (default:/etc/syslog.conf)
# -m MIN : Minutes between mark lines (default:20, 0=off)
# -K : Log to kernel printk buffer (use dmesg to read it)
# Example 1:
# Log to local file /var/log/mylog
# OPTIONS="-O /var/log/mylog"
#
# Example 2:
# Log to remote host
# OPTIONS="-R 192.168.1.1:601"
OPTIONS="-C64"

View File

@ -1,6 +1,6 @@
SYSMOCOM := "${@os.path.dirname(d.getVar('FILE', True))}"
FILESEXTRAPATHS_prepend := "${SYSMOCOM}/busybox-${SYSMOCOM_ORIG_PV}:${SYSMOCOM}/files:"
PRINC = "32"
PRINC = "30"
SRC_URI += "file://udhcpc-ntp.sh \
file://udhcpc-ntp.default \

View File

@ -0,0 +1,18 @@
PRINC := "${@int(PRINC) + 1}"
SRC_URI += "file://ifplugd-use-a-larger-netlink-buffer.patch \
file://busybox-ifplugd.sh \
file://ifplugd.sh \
"
PACKAGES =+ "${PN}-ifplugd"
FILES_${PN}-ifplugd = "${sysconfdir}/ifplugd.sh ${sysconfdir}/init.d/busybox-ifplugd.sh"
INITSCRIPT_PACKAGES += "${PN}-ifplugd"
INITSCRIPT_NAME = "busybox-ifplugd.sh"
do_install_append() {
install -m 0755 ${WORKDIR}/ifplugd.sh ${D}${sysconfdir}/
install -m 0755 ${WORKDIR}/busybox-ifplugd.sh ${D}${sysconfdir}/init.d/
}

View File

@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Busybox version: 1.24.1
# Wed Apr 4 19:29:25 2018
# Busybox version: 1.16.2
# Tue Oct 26 15:07:52 2010
#
CONFIG_HAVE_DOT_CONFIG=y
@ -16,7 +16,6 @@ CONFIG_HAVE_DOT_CONFIG=y
# CONFIG_EXTRA_COMPAT is not set
# CONFIG_INCLUDE_SUSv2 is not set
# CONFIG_USE_PORTABLE_CODE is not set
CONFIG_PLATFORM_LINUX=y
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
@ -24,27 +23,13 @@ CONFIG_SHOW_USAGE=y
# CONFIG_FEATURE_VERBOSE_USAGE is not set
CONFIG_FEATURE_COMPRESS_USAGE=y
# CONFIG_FEATURE_INSTALLER is not set
# CONFIG_INSTALL_NO_USR is not set
CONFIG_LOCALE_SUPPORT=y
CONFIG_UNICODE_SUPPORT=y
# CONFIG_UNICODE_USING_LOCALE is not set
# CONFIG_FEATURE_ASSUME_UNICODE is not set
# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
CONFIG_SUBST_WCHAR=63
CONFIG_LAST_SUPPORTED_WCHAR=767
# CONFIG_UNICODE_COMBINING_WCHARS is not set
# CONFIG_UNICODE_WIDE_WCHARS is not set
# CONFIG_UNICODE_BIDI_SUPPORT is not set
# CONFIG_UNICODE_NEUTRAL_TABLE is not set
# CONFIG_UNICODE_PRESERVE_BROKEN is not set
# CONFIG_PAM is not set
CONFIG_FEATURE_USE_SENDFILE=y
CONFIG_LONG_OPTS=y
CONFIG_FEATURE_DEVPTS=y
# CONFIG_FEATURE_CLEAN_UP is not set
CONFIG_FEATURE_UTMP=y
# CONFIG_FEATURE_WTMP is not set
CONFIG_FEATURE_PIDFILE=y
CONFIG_PID_FILE_PATH="/var/run"
CONFIG_FEATURE_SUID=y
CONFIG_FEATURE_SUID_CONFIG=y
CONFIG_FEATURE_SUID_CONFIG_QUIET=y
@ -65,25 +50,22 @@ CONFIG_FEATURE_HAVE_RPC=y
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_SYSROOT=""
CONFIG_EXTRA_CFLAGS=""
CONFIG_EXTRA_LDFLAGS=""
CONFIG_EXTRA_LDLIBS=""
#
# Debugging Options
#
# CONFIG_DEBUG is not set
# CONFIG_DEBUG_PESSIMIZE is not set
# CONFIG_UNIT_TEST is not set
# CONFIG_WERROR is not set
CONFIG_NO_DEBUG_LIB=y
# CONFIG_DMALLOC is not set
# CONFIG_EFENCE is not set
#
# Installation Options ("make install" behavior)
# Installation Options
#
# CONFIG_INSTALL_NO_USR is not set
CONFIG_INSTALL_APPLET_SYMLINKS=y
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
@ -96,21 +78,15 @@ CONFIG_PREFIX="./_install"
#
# Busybox Library Tuning
#
CONFIG_FEATURE_SYSTEMD=y
CONFIG_FEATURE_RTMINMAX=y
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SMALL=1
CONFIG_SHA3_SMALL=1
CONFIG_MD5_SIZE_VS_SPEED=2
CONFIG_FEATURE_FAST_TOP=y
# CONFIG_FEATURE_ETC_NETWORKS is not set
CONFIG_FEATURE_USE_TERMIOS=y
CONFIG_FEATURE_EDITING=y
CONFIG_FEATURE_EDITING_MAX_LEN=1024
# CONFIG_FEATURE_EDITING_VI is not set
CONFIG_FEATURE_EDITING_HISTORY=15
CONFIG_FEATURE_EDITING_SAVEHISTORY=y
# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
CONFIG_FEATURE_REVERSE_SEARCH=y
CONFIG_FEATURE_TAB_COMPLETION=y
CONFIG_FEATURE_USERNAME_COMPLETION=y
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
@ -118,7 +94,6 @@ CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
CONFIG_FEATURE_NON_POSIX_CP=y
# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
CONFIG_FEATURE_COPYBUF_KB=4
CONFIG_FEATURE_SKIP_ROOTFS=y
CONFIG_MONOTONIC_SYSCALL=y
CONFIG_IOCTL_HEX2STR_ERROR=y
CONFIG_FEATURE_HWIB=y
@ -130,22 +105,13 @@ CONFIG_FEATURE_HWIB=y
#
# Archival Utilities
#
CONFIG_FEATURE_SEAMLESS_XZ=y
CONFIG_FEATURE_SEAMLESS_LZMA=y
CONFIG_FEATURE_SEAMLESS_BZ2=y
CONFIG_FEATURE_SEAMLESS_GZ=y
CONFIG_FEATURE_SEAMLESS_Z=y
CONFIG_AR=y
# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
CONFIG_FEATURE_AR_CREATE=y
# CONFIG_UNCOMPRESS is not set
CONFIG_GUNZIP=y
CONFIG_BUNZIP2=y
# CONFIG_UNLZMA is not set
# CONFIG_FEATURE_LZMA_FAST is not set
# CONFIG_LZMA is not set
CONFIG_UNXZ=y
CONFIG_XZ=y
# CONFIG_BZIP2 is not set
CONFIG_CPIO=y
# CONFIG_FEATURE_CPIO_O is not set
@ -153,14 +119,13 @@ CONFIG_CPIO=y
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
CONFIG_GUNZIP=y
CONFIG_GZIP=y
# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
CONFIG_GZIP_FAST=0
# CONFIG_FEATURE_GZIP_LEVELS is not set
# CONFIG_LZOP is not set
# CONFIG_LZOP_COMPR_HIGH is not set
# CONFIG_RPM is not set
# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
CONFIG_TAR=y
CONFIG_FEATURE_TAR_CREATE=y
CONFIG_FEATURE_TAR_AUTODETECT=y
@ -169,46 +134,19 @@ CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
# CONFIG_FEATURE_TAR_LONG_OPTIONS is not set
# CONFIG_FEATURE_TAR_TO_COMMAND is not set
# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
# CONFIG_FEATURE_TAR_SELINUX is not set
# CONFIG_UNCOMPRESS is not set
# CONFIG_UNLZMA is not set
# CONFIG_FEATURE_LZMA_FAST is not set
CONFIG_UNZIP=y
#
# Coreutils
#
CONFIG_BASENAME=y
CONFIG_CAT=y
CONFIG_DATE=y
# CONFIG_FEATURE_DATE_ISOFMT is not set
# CONFIG_FEATURE_DATE_NANO is not set
CONFIG_FEATURE_DATE_COMPAT=y
CONFIG_DD=y
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
# CONFIG_FEATURE_DD_IBS_OBS is not set
CONFIG_FEATURE_DD_STATUS=y
# CONFIG_HOSTID is not set
CONFIG_ID=y
CONFIG_GROUPS=y
CONFIG_SHUF=y
CONFIG_SYNC=y
CONFIG_FEATURE_SYNC_FANCY=y
CONFIG_TEST=y
# CONFIG_FEATURE_TEST_64 is not set
CONFIG_TOUCH=y
CONFIG_FEATURE_TOUCH_NODEREF=y
CONFIG_FEATURE_TOUCH_SUSV3=y
CONFIG_TR=y
CONFIG_FEATURE_TR_CLASSES=y
# CONFIG_FEATURE_TR_EQUIV is not set
CONFIG_TRUNCATE=y
CONFIG_UNLINK=y
CONFIG_BASE64=y
CONFIG_WHO=y
CONFIG_USERS=y
# CONFIG_CAL is not set
CONFIG_CAT=y
# CONFIG_CATV is not set
CONFIG_CHGRP=y
CONFIG_CHMOD=y
@ -220,6 +158,13 @@ CONFIG_CHROOT=y
CONFIG_CP=y
# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
CONFIG_CUT=y
CONFIG_DATE=y
# CONFIG_FEATURE_DATE_ISOFMT is not set
CONFIG_FEATURE_DATE_COMPAT=y
CONFIG_DD=y
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
# CONFIG_FEATURE_DD_IBS_OBS is not set
CONFIG_DF=y
# CONFIG_FEATURE_DF_FANCY is not set
CONFIG_DIRNAME=y
@ -240,8 +185,11 @@ CONFIG_FALSE=y
# CONFIG_FSYNC is not set
CONFIG_HEAD=y
# CONFIG_FEATURE_FANCY_HEAD is not set
# CONFIG_HOSTID is not set
CONFIG_ID=y
# CONFIG_INSTALL is not set
# CONFIG_FEATURE_INSTALL_LONG_OPTIONS is not set
# CONFIG_LENGTH is not set
CONFIG_LN=y
CONFIG_LOGNAME=y
CONFIG_LS=y
@ -276,7 +224,6 @@ CONFIG_SEQ=y
# CONFIG_SHA1SUM is not set
# CONFIG_SHA256SUM is not set
# CONFIG_SHA512SUM is not set
CONFIG_SHA3SUM=y
CONFIG_SLEEP=y
CONFIG_FEATURE_FANCY_SLEEP=y
# CONFIG_FEATURE_FLOAT_SLEEP is not set
@ -284,19 +231,25 @@ CONFIG_SORT=y
CONFIG_FEATURE_SORT_BIG=y
# CONFIG_SPLIT is not set
# CONFIG_FEATURE_SPLIT_FANCY is not set
CONFIG_STAT=y
CONFIG_FEATURE_STAT_FORMAT=y
# CONFIG_STAT is not set
# CONFIG_FEATURE_STAT_FORMAT is not set
CONFIG_STTY=y
# CONFIG_SUM is not set
CONFIG_SYNC=y
# CONFIG_TAC is not set
CONFIG_TAIL=y
CONFIG_FEATURE_FANCY_TAIL=y
CONFIG_TEE=y
# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
CONFIG_TEST=y
# CONFIG_FEATURE_TEST_64 is not set
CONFIG_TOUCH=y
CONFIG_TR=y
CONFIG_FEATURE_TR_CLASSES=y
# CONFIG_FEATURE_TR_EQUIV is not set
CONFIG_TRUE=y
CONFIG_TTY=y
CONFIG_UNAME=y
CONFIG_UNAME_OSNAME="GNU/Linux"
# CONFIG_UNEXPAND is not set
# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
CONFIG_UNIQ=y
@ -305,14 +258,10 @@ CONFIG_USLEEP=y
# CONFIG_UUENCODE is not set
CONFIG_WC=y
# CONFIG_FEATURE_WC_LARGE is not set
CONFIG_WHO=y
CONFIG_WHOAMI=y
CONFIG_YES=y
#
# Common options
#
CONFIG_FEATURE_VERBOSE=y
#
# Common options for cp and mv
#
@ -329,7 +278,7 @@ CONFIG_FEATURE_AUTOWIDTH=y
CONFIG_FEATURE_HUMAN_READABLE=y
#
# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
# Common options for md5sum, sha1sum, sha256sum, sha512sum
#
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
@ -337,7 +286,6 @@ CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
# Console Utilities
#
CONFIG_CHVT=y
CONFIG_FGCONSOLE=y
CONFIG_CLEAR=y
CONFIG_DEALLOCVT=y
CONFIG_DUMPKMAP=y
@ -357,12 +305,6 @@ CONFIG_DEFAULT_SETFONT_DIR=""
# CONFIG_SETLOGCONS is not set
# CONFIG_SHOWKEY is not set
#
# Common options for loadfont and setfont
#
CONFIG_FEATURE_LOADFONT_PSF2=y
CONFIG_FEATURE_LOADFONT_RAW=y
#
# Debian Utilities
#
@ -381,7 +323,6 @@ CONFIG_WHICH=y
#
CONFIG_AWK=y
# CONFIG_FEATURE_AWK_LIBM is not set
CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y
CONFIG_CMP=y
CONFIG_DIFF=y
# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
@ -395,17 +336,13 @@ CONFIG_FEATURE_VI_8BIT=y
CONFIG_FEATURE_VI_COLON=y
CONFIG_FEATURE_VI_YANKMARK=y
CONFIG_FEATURE_VI_SEARCH=y
# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
CONFIG_FEATURE_VI_USE_SIGNALS=y
# CONFIG_FEATURE_VI_DOT_CMD is not set
# CONFIG_FEATURE_VI_READONLY is not set
# CONFIG_FEATURE_VI_SETOPTS is not set
# CONFIG_FEATURE_VI_SET is not set
CONFIG_FEATURE_VI_WIN_RESIZE=y
CONFIG_FEATURE_VI_ASK_TERMINAL=y
CONFIG_FEATURE_VI_UNDO=y
CONFIG_FEATURE_VI_UNDO_QUEUE=y
CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256
CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
CONFIG_FEATURE_ALLOW_EXEC=y
#
@ -422,7 +359,6 @@ CONFIG_FEATURE_FIND_MAXDEPTH=y
CONFIG_FEATURE_FIND_NEWER=y
# CONFIG_FEATURE_FIND_INUM is not set
CONFIG_FEATURE_FIND_EXEC=y
CONFIG_FEATURE_FIND_EXEC_PLUS=y
CONFIG_FEATURE_FIND_USER=y
CONFIG_FEATURE_FIND_GROUP=y
CONFIG_FEATURE_FIND_NOT=y
@ -444,17 +380,10 @@ CONFIG_XARGS=y
# CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set
# CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set
# CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set
CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
#
# Init Utilities
#
CONFIG_BOOTCHARTD=y
CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER=y
CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE=y
CONFIG_HALT=y
# CONFIG_FEATURE_CALL_TELINIT is not set
CONFIG_TELINIT_PATH=""
# CONFIG_INIT is not set
# CONFIG_FEATURE_USE_INITTAB is not set
# CONFIG_FEATURE_KILL_REMOVED is not set
@ -464,35 +393,35 @@ CONFIG_FEATURE_KILL_DELAY=0
# CONFIG_FEATURE_EXTRA_QUIET is not set
# CONFIG_FEATURE_INIT_COREDUMPS is not set
# CONFIG_FEATURE_INITRD is not set
CONFIG_INIT_TERMINAL_TYPE=""
CONFIG_HALT=y
# CONFIG_FEATURE_CALL_TELINIT is not set
CONFIG_TELINIT_PATH=""
# CONFIG_MESG is not set
# CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP is not set
#
# Login/Password Management Utilities
#
# CONFIG_ADD_SHELL is not set
# CONFIG_REMOVE_SHELL is not set
# CONFIG_FEATURE_SHADOWPASSWDS is not set
# CONFIG_USE_BB_PWD_GRP is not set
# CONFIG_USE_BB_SHADOW is not set
CONFIG_USE_BB_CRYPT=y
# CONFIG_USE_BB_CRYPT_SHA is not set
# CONFIG_ADDUSER is not set
# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_LAST_ID=0
CONFIG_FIRST_SYSTEM_ID=0
CONFIG_LAST_SYSTEM_ID=0
# CONFIG_ADDGROUP is not set
# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
# CONFIG_DELUSER is not set
# CONFIG_DELGROUP is not set
# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
# CONFIG_ADDUSER is not set
# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
CONFIG_FIRST_SYSTEM_ID=0
CONFIG_LAST_SYSTEM_ID=0
# CONFIG_DELUSER is not set
# CONFIG_GETTY is not set
CONFIG_FEATURE_UTMP=y
# CONFIG_FEATURE_WTMP is not set
# CONFIG_LOGIN is not set
# CONFIG_LOGIN_SESSION_AS_CHILD is not set
# CONFIG_PAM is not set
# CONFIG_LOGIN_SCRIPTS is not set
# CONFIG_FEATURE_NOLOGIN is not set
# CONFIG_FEATURE_SECURETTY is not set
@ -500,7 +429,6 @@ CONFIG_LAST_SYSTEM_ID=0
# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
# CONFIG_CRYPTPW is not set
# CONFIG_CHPASSWD is not set
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
# CONFIG_SU is not set
# CONFIG_FEATURE_SU_SYSLOG is not set
# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
@ -513,12 +441,10 @@ CONFIG_FEATURE_DEFAULT_PASSWD_ALGO=""
CONFIG_CHATTR=y
CONFIG_FSCK=y
# CONFIG_LSATTR is not set
# CONFIG_TUNE2FS is not set
#
# Linux Module Utilities
#
CONFIG_MODINFO=y
# CONFIG_MODPROBE_SMALL is not set
# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
@ -549,31 +475,9 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
#
# Linux System Utilities
#
CONFIG_BLOCKDEV=y
CONFIG_FATATTR=y
CONFIG_FSTRIM=y
# CONFIG_MDEV is not set
# CONFIG_FEATURE_MDEV_CONF is not set
# CONFIG_FEATURE_MDEV_RENAME is not set
# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
# CONFIG_FEATURE_MDEV_EXEC is not set
# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
CONFIG_MOUNT=y
# CONFIG_FEATURE_MOUNT_FAKE is not set
# CONFIG_FEATURE_MOUNT_VERBOSE is not set
# CONFIG_FEATURE_MOUNT_HELPERS is not set
# CONFIG_FEATURE_MOUNT_LABEL is not set
CONFIG_FEATURE_MOUNT_NFS=y
CONFIG_FEATURE_MOUNT_CIFS=y
CONFIG_FEATURE_MOUNT_FLAGS=y
CONFIG_FEATURE_MOUNT_FSTAB=y
CONFIG_FEATURE_MOUNT_OTHERTAB=y
CONFIG_REV=y
CONFIG_UEVENT=y
# CONFIG_ACPID is not set
# CONFIG_FEATURE_ACPID_COMPAT is not set
# CONFIG_BLKID is not set
# CONFIG_FEATURE_BLKID_TYPE is not set
CONFIG_DMESG=y
CONFIG_FEATURE_DMESG_PRETTY=y
CONFIG_FBSET=y
@ -582,20 +486,22 @@ CONFIG_FEATURE_FBSET_READMODE=y
# CONFIG_FDFLUSH is not set
# CONFIG_FDFORMAT is not set
CONFIG_FDISK=y
# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
CONFIG_FEATURE_FDISK_WRITABLE=y
# CONFIG_FEATURE_AIX_LABEL is not set
# CONFIG_FEATURE_SGI_LABEL is not set
# CONFIG_FEATURE_SUN_LABEL is not set
# CONFIG_FEATURE_OSF_LABEL is not set
# CONFIG_FEATURE_GPT_LABEL is not set
# CONFIG_FEATURE_FDISK_ADVANCED is not set
# CONFIG_FINDFS is not set
CONFIG_FLOCK=y
# CONFIG_FREERAMDISK is not set
CONFIG_FSCK_MINIX=y
# CONFIG_MKFS_EXT2 is not set
CONFIG_MKFS_MINIX=y
#
# Minix filesystem support
#
CONFIG_FEATURE_MINIX2=y
# CONFIG_MKFS_REISER is not set
# CONFIG_MKFS_VFAT is not set
@ -612,9 +518,43 @@ CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
CONFIG_LOSETUP=y
# CONFIG_LSPCI is not set
# CONFIG_LSUSB is not set
# CONFIG_MDEV is not set
# CONFIG_FEATURE_MDEV_CONF is not set
# CONFIG_FEATURE_MDEV_RENAME is not set
# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
# CONFIG_FEATURE_MDEV_EXEC is not set
# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
CONFIG_MKSWAP=y
# CONFIG_FEATURE_MKSWAP_UUID is not set
CONFIG_MORE=y
CONFIG_FEATURE_USE_TERMIOS=y
# CONFIG_VOLUMEID is not set
# CONFIG_FEATURE_VOLUMEID_EXT is not set
# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
# CONFIG_FEATURE_VOLUMEID_FAT is not set
# CONFIG_FEATURE_VOLUMEID_HFS is not set
# CONFIG_FEATURE_VOLUMEID_JFS is not set
# CONFIG_FEATURE_VOLUMEID_XFS is not set
# CONFIG_FEATURE_VOLUMEID_NTFS is not set
# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
# CONFIG_FEATURE_VOLUMEID_UDF is not set
# CONFIG_FEATURE_VOLUMEID_LUKS is not set
# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
# CONFIG_FEATURE_VOLUMEID_SYSV is not set
# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
CONFIG_MOUNT=y
# CONFIG_FEATURE_MOUNT_FAKE is not set
# CONFIG_FEATURE_MOUNT_VERBOSE is not set
# CONFIG_FEATURE_MOUNT_HELPERS is not set
# CONFIG_FEATURE_MOUNT_LABEL is not set
CONFIG_FEATURE_MOUNT_NFS=y
CONFIG_FEATURE_MOUNT_CIFS=y
CONFIG_FEATURE_MOUNT_FLAGS=y
CONFIG_FEATURE_MOUNT_FSTAB=y
CONFIG_PIVOT_ROOT=y
CONFIG_RDATE=y
# CONFIG_RDEV is not set
@ -624,7 +564,6 @@ CONFIG_RDATE=y
# CONFIG_SCRIPTREPLAY is not set
# CONFIG_SETARCH is not set
CONFIG_SWAPONOFF=y
CONFIG_FEATURE_SWAPON_DISCARD=y
# CONFIG_FEATURE_SWAPON_PRI is not set
CONFIG_SWITCH_ROOT=y
CONFIG_UMOUNT=y
@ -634,70 +573,13 @@ CONFIG_FEATURE_UMOUNT_ALL=y
# Common options for mount/umount
#
CONFIG_FEATURE_MOUNT_LOOP=y
CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
# CONFIG_FEATURE_MTAB_SUPPORT is not set
# CONFIG_VOLUMEID is not set
# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
# CONFIG_FEATURE_VOLUMEID_CRAMFS is not set
# CONFIG_FEATURE_VOLUMEID_EXFAT is not set
# CONFIG_FEATURE_VOLUMEID_EXT is not set
# CONFIG_FEATURE_VOLUMEID_F2FS is not set
# CONFIG_FEATURE_VOLUMEID_FAT is not set
# CONFIG_FEATURE_VOLUMEID_HFS is not set
# CONFIG_FEATURE_VOLUMEID_ISO9660 is not set
# CONFIG_FEATURE_VOLUMEID_JFS is not set
# CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set
# CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set
# CONFIG_FEATURE_VOLUMEID_LUKS is not set
# CONFIG_FEATURE_VOLUMEID_NILFS is not set
# CONFIG_FEATURE_VOLUMEID_NTFS is not set
# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
# CONFIG_FEATURE_VOLUMEID_REISERFS is not set
# CONFIG_FEATURE_VOLUMEID_ROMFS is not set
# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
# CONFIG_FEATURE_VOLUMEID_SYSV is not set
# CONFIG_FEATURE_VOLUMEID_UDF is not set
# CONFIG_FEATURE_VOLUMEID_XFS is not set
#
# Miscellaneous Utilities
#
CONFIG_CONSPY=y
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
CONFIG_FEATURE_CROND_DIR=""
CONFIG_I2CGET=y
CONFIG_I2CSET=y
CONFIG_I2CDUMP=y
CONFIG_I2CDETECT=y
CONFIG_LESS=y
CONFIG_FEATURE_LESS_MAXLINES=9999999
CONFIG_FEATURE_LESS_BRACKETS=y
CONFIG_FEATURE_LESS_FLAGS=y
CONFIG_FEATURE_LESS_TRUNCATE=y
# CONFIG_FEATURE_LESS_MARKS is not set
# CONFIG_FEATURE_LESS_REGEXP is not set
# CONFIG_FEATURE_LESS_WINCH is not set
# CONFIG_FEATURE_LESS_ASK_TERMINAL is not set
# CONFIG_FEATURE_LESS_DASHCMD is not set
# CONFIG_FEATURE_LESS_LINENUMS is not set
CONFIG_NANDWRITE=y
CONFIG_NANDDUMP=y
# CONFIG_RFKILL is not set
CONFIG_SETSERIAL=y
# CONFIG_TASKSET is not set
# CONFIG_FEATURE_TASKSET_FANCY is not set
CONFIG_UBIATTACH=y
CONFIG_UBIDETACH=y
CONFIG_UBIMKVOL=y
CONFIG_UBIRMVOL=y
CONFIG_UBIRSVOL=y
CONFIG_UBIUPDATEVOL=y
# CONFIG_WALL is not set
# CONFIG_ADJTIMEX is not set
# CONFIG_BBCONFIG is not set
# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
# CONFIG_BEEP is not set
CONFIG_FEATURE_BEEP_FREQ=0
CONFIG_FEATURE_BEEP_LENGTH_MS=0
@ -710,6 +592,10 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0
# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
# CONFIG_CHRT is not set
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
CONFIG_FEATURE_CROND_DIR=""
# CONFIG_CRONTAB is not set
CONFIG_DC=y
# CONFIG_FEATURE_DC_LIBM is not set
@ -731,6 +617,15 @@ CONFIG_DC=y
# CONFIG_LAST is not set
# CONFIG_FEATURE_LAST_SMALL is not set
# CONFIG_FEATURE_LAST_FANCY is not set
CONFIG_LESS=y
CONFIG_FEATURE_LESS_MAXLINES=9999999
CONFIG_FEATURE_LESS_BRACKETS=y
CONFIG_FEATURE_LESS_FLAGS=y
# CONFIG_FEATURE_LESS_MARKS is not set
# CONFIG_FEATURE_LESS_REGEXP is not set
# CONFIG_FEATURE_LESS_WINCH is not set
# CONFIG_FEATURE_LESS_DASHCMD is not set
# CONFIG_FEATURE_LESS_LINENUMS is not set
# CONFIG_HDPARM is not set
# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
@ -751,33 +646,18 @@ CONFIG_MICROCOM=y
# CONFIG_RX is not set
# CONFIG_SETSID is not set
CONFIG_STRINGS=y
# CONFIG_TASKSET is not set
# CONFIG_FEATURE_TASKSET_FANCY is not set
CONFIG_TIME=y
# CONFIG_TIMEOUT is not set
# CONFIG_TTYSIZE is not set
# CONFIG_VOLNAME is not set
# CONFIG_WALL is not set
# CONFIG_WATCHDOG is not set
#
# Networking Utilities
#
# CONFIG_NAMEIF is not set
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
CONFIG_NBDCLIENT=y
CONFIG_NC=y
# CONFIG_NC_SERVER is not set
# CONFIG_NC_EXTRA is not set
# CONFIG_NC_110_COMPAT is not set
CONFIG_PING=y
CONFIG_PING6=y
CONFIG_FEATURE_FANCY_PING=y
CONFIG_WGET=y
CONFIG_FEATURE_WGET_STATUSBAR=y
CONFIG_FEATURE_WGET_AUTHENTICATION=y
CONFIG_FEATURE_WGET_LONG_OPTIONS=y
CONFIG_FEATURE_WGET_TIMEOUT=y
CONFIG_FEATURE_WGET_OPENSSL=y
CONFIG_FEATURE_WGET_SSL_HELPER=y
CONFIG_WHOIS=y
CONFIG_FEATURE_IPV6=y
# CONFIG_FEATURE_UNIX_LOCAL is not set
CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
@ -793,13 +673,13 @@ CONFIG_DNSD=y
# CONFIG_FTPD is not set
# CONFIG_FEATURE_FTP_WRITE is not set
# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
# CONFIG_FEATURE_FTP_AUTHENTICATION is not set
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
CONFIG_HOSTNAME=y
# CONFIG_HTTPD is not set
# CONFIG_FEATURE_HTTPD_RANGES is not set
# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
# CONFIG_FEATURE_HTTPD_SETUID is not set
# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
@ -809,7 +689,6 @@ CONFIG_HOSTNAME=y
# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
# CONFIG_FEATURE_HTTPD_PROXY is not set
# CONFIG_FEATURE_HTTPD_GZIP is not set
CONFIG_IFCONFIG=y
CONFIG_FEATURE_IFCONFIG_STATUS=y
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
@ -838,7 +717,6 @@ CONFIG_IP=y
CONFIG_FEATURE_IP_ADDRESS=y
CONFIG_FEATURE_IP_LINK=y
CONFIG_FEATURE_IP_ROUTE=y
CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
CONFIG_FEATURE_IP_TUNNEL=y
# CONFIG_FEATURE_IP_RULE is not set
# CONFIG_FEATURE_IP_SHORT_FORMS is not set
@ -851,17 +729,23 @@ CONFIG_FEATURE_IP_TUNNEL=y
# CONFIG_IPCALC is not set
# CONFIG_FEATURE_IPCALC_FANCY is not set
# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
# CONFIG_NAMEIF is not set
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
CONFIG_NC=y
# CONFIG_NC_SERVER is not set
# CONFIG_NC_EXTRA is not set
CONFIG_NETSTAT=y
# CONFIG_FEATURE_NETSTAT_WIDE is not set
# CONFIG_FEATURE_NETSTAT_PRG is not set
CONFIG_NSLOOKUP=y
# CONFIG_NTPD is not set
# CONFIG_FEATURE_NTPD_SERVER is not set
# CONFIG_FEATURE_NTPD_CONF is not set
CONFIG_PING=y
CONFIG_PING6=y
CONFIG_FEATURE_FANCY_PING=y
# CONFIG_PSCAN is not set
CONFIG_ROUTE=y
# CONFIG_SLATTACH is not set
# CONFIG_TCPSVD is not set
CONFIG_TELNET=y
# CONFIG_FEATURE_TELNET_TTYPE is not set
CONFIG_FEATURE_TELNET_AUTOLOGIN=y
@ -870,10 +754,6 @@ CONFIG_FEATURE_TELNET_AUTOLOGIN=y
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
CONFIG_TFTP=y
# CONFIG_TFTPD is not set
#
# Common options for tftp/tftpd
#
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
# CONFIG_FEATURE_TFTP_BLOCKSIZE is not set
@ -884,28 +764,29 @@ CONFIG_TRACEROUTE=y
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
# CONFIG_TUNCTL is not set
# CONFIG_FEATURE_TUNCTL_UG is not set
# CONFIG_UDHCPC6 is not set
CONFIG_UDHCPD=y
# CONFIG_DHCPRELAY is not set
CONFIG_DUMPLEASES=y
# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
CONFIG_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=0
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
CONFIG_FEATURE_UDHCP_8021Q=y
CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -b"
# CONFIG_UDPSVD is not set
# CONFIG_VCONFIG is not set
CONFIG_WGET=y
CONFIG_FEATURE_WGET_STATUSBAR=y
CONFIG_FEATURE_WGET_AUTHENTICATION=y
CONFIG_FEATURE_WGET_LONG_OPTIONS=y
# CONFIG_ZCIP is not set
# CONFIG_TCPSVD is not set
# CONFIG_TUNCTL is not set
# CONFIG_FEATURE_TUNCTL_UG is not set
# CONFIG_UDPSVD is not set
#
# Print Utilities
@ -928,29 +809,12 @@ CONFIG_FEATURE_MIME_CHARSET=""
#
# Process Utilities
#
CONFIG_IOSTAT=y
CONFIG_LSOF=y
CONFIG_MPSTAT=y
# CONFIG_NMETER is not set
CONFIG_PMAP=y
CONFIG_POWERTOP=y
CONFIG_PSTREE=y
CONFIG_PWDX=y
CONFIG_SMEMCAP=y
CONFIG_TOP=y
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
# CONFIG_FEATURE_TOP_SMP_CPU is not set
# CONFIG_FEATURE_TOP_DECIMALS is not set
# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
# CONFIG_FEATURE_TOPMEM is not set
CONFIG_UPTIME=y
CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y
CONFIG_FREE=y
CONFIG_FUSER=y
CONFIG_KILL=y
CONFIG_KILLALL=y
# CONFIG_KILLALL5 is not set
# CONFIG_NMETER is not set
# CONFIG_PGREP is not set
CONFIG_PIDOF=y
# CONFIG_FEATURE_PIDOF_SINGLE is not set
@ -958,13 +822,20 @@ CONFIG_PIDOF=y
# CONFIG_PKILL is not set
CONFIG_PS=y
CONFIG_FEATURE_PS_WIDE=y
CONFIG_FEATURE_PS_LONG=y
# CONFIG_FEATURE_PS_TIME is not set
# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
CONFIG_RENICE=y
CONFIG_BB_SYSCTL=y
CONFIG_TOP=y
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
# CONFIG_FEATURE_TOP_SMP_CPU is not set
# CONFIG_FEATURE_TOP_DECIMALS is not set
# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
# CONFIG_FEATURE_TOPMEM is not set
# CONFIG_FEATURE_SHOW_THREADS is not set
CONFIG_UPTIME=y
CONFIG_WATCH=y
#
@ -1000,28 +871,26 @@ CONFIG_SV_DEFAULT_SERVICE_DIR=""
#
# Shells
#
CONFIG_FEATURE_SH_IS_ASH=y
# CONFIG_FEATURE_SH_IS_HUSH is not set
# CONFIG_FEATURE_SH_IS_NONE is not set
CONFIG_ASH=y
CONFIG_ASH_BASH_COMPAT=y
# CONFIG_ASH_IDLE_TIMEOUT is not set
CONFIG_ASH_JOB_CONTROL=y
CONFIG_ASH_ALIAS=y
CONFIG_ASH_GETOPTS=y
CONFIG_ASH_BUILTIN_ECHO=y
CONFIG_ASH_BUILTIN_PRINTF=y
CONFIG_ASH_BUILTIN_TEST=y
CONFIG_ASH_HELP=y
# CONFIG_ASH_CMDCMD is not set
# CONFIG_ASH_MAIL is not set
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
# CONFIG_ASH_RANDOM_SUPPORT is not set
CONFIG_ASH_EXPAND_PRMT=y
# CONFIG_CTTYHACK is not set
# CONFIG_HUSH is not set
# CONFIG_HUSH_BASH_COMPAT is not set
# CONFIG_HUSH_BRACE_EXPANSION is not set
# CONFIG_HUSH_HELP is not set
# CONFIG_HUSH_INTERACTIVE is not set
# CONFIG_HUSH_SAVEHISTORY is not set
# CONFIG_HUSH_JOB is not set
# CONFIG_HUSH_TICK is not set
# CONFIG_HUSH_IF is not set
@ -1029,22 +898,16 @@ CONFIG_ASH_EXPAND_PRMT=y
# CONFIG_HUSH_CASE is not set
# CONFIG_HUSH_FUNCTIONS is not set
# CONFIG_HUSH_LOCAL is not set
# CONFIG_HUSH_RANDOM_SUPPORT is not set
# CONFIG_HUSH_EXPORT_N is not set
# CONFIG_HUSH_MODE_X is not set
# CONFIG_HUSH_RANDOM_SUPPORT is not set
# CONFIG_LASH is not set
# CONFIG_MSH is not set
CONFIG_FEATURE_SH_IS_ASH=y
# CONFIG_FEATURE_SH_IS_HUSH is not set
# CONFIG_FEATURE_SH_IS_NONE is not set
# CONFIG_FEATURE_BASH_IS_ASH is not set
# CONFIG_FEATURE_BASH_IS_HUSH is not set
CONFIG_FEATURE_BASH_IS_NONE=y
CONFIG_SH_MATH_SUPPORT=y
# CONFIG_SH_MATH_SUPPORT_64 is not set
CONFIG_FEATURE_SH_EXTRA_QUIET=y
# CONFIG_FEATURE_SH_STANDALONE is not set
# CONFIG_FEATURE_SH_NOFORK is not set
CONFIG_FEATURE_SH_HISTFILESIZE=y
# CONFIG_CTTYHACK is not set
#
# System Logging Utilities
@ -1053,17 +916,9 @@ CONFIG_SYSLOGD=y
CONFIG_FEATURE_ROTATE_LOGFILE=y
CONFIG_FEATURE_REMOTE_LOG=y
# CONFIG_FEATURE_SYSLOGD_DUP is not set
CONFIG_FEATURE_SYSLOGD_CFG=y
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
CONFIG_FEATURE_IPC_SYSLOG=y
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
CONFIG_LOGREAD=y
CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
CONFIG_FEATURE_KMSG_SYSLOG=y
CONFIG_KLOGD=y
#
# klogd should not be used together with syslog to kernel printk buffer
#
CONFIG_FEATURE_KLOGD_KLOGCTL=y
CONFIG_LOGGER=y

View File

@ -1,6 +1,6 @@
DESCRIPTION = "rescue initramfs"
PACKAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE} rauc dropbear"
PACKAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE_BOOTSTRAP} ${ROOTFS_PKGMANAGE} rauc dropbear"
IMAGE_LINGUAS = ""
FEED_URIS=""

View File

@ -143,7 +143,7 @@ mkdir /tgt_root
mkdir -p /boot
echo "Copying rootfs files..."
dd if=/run/media/$dev_name/$image_name of=$rootfs bs=1024
dd if=/media/$dev_name/$image_name of=$rootfs bs=1024
# Handling of the target root partition
mount $rootfs /tgt_root
@ -184,18 +184,21 @@ password $BOOTUSER $BOOTPASSWD
EOF
fi
if [ -f /etc/grub.d/00_header ] ; then
if [ -f /etc/grub.d/40_custom ] ; then
echo "Preparing custom grub2 menu..."
cat >>$GRUBCFG << EOF
menuentry "Linux" {
set root=(hd0,1)
linux /vmlinuz root=$rootfs $rootwait ro $kernel_cmdline_console $kernel_cmdline_video_mode $kernel_cmdline_vga_mode net.ifnames=0 panic=60 quiet
}
EOF
cat /etc/grub.d/40_custom >> $GRUBCFG
if [ -n "${BOOTPASSWD}" ] && [ -n "${BOOTUSER}" ]; then
sed -i "s/\(menuentry\)\(.*\)\({\)/\1\2--unrestricted \3/g" $GRUBCFG
fi
sed -i "s@__ROOTFS__@$rootfs $rootwait@g" $GRUBCFG
sed -i "s/__VIDEO_MODE__/$kernel_cmdline_video_mode/g" $GRUBCFG
sed -i "s/__VGA_MODE__/$kernel_cmdline_vga_mode/g" $GRUBCFG
sed -i "s/__CONSOLE__/$kernel_cmdline_console/g" $GRUBCFG
sed -i "s/quiet/net.ifnames=0 panic=60 quiet/g" $GRUBCFG
sed -i "s/rw/ro/g" $GRUBCFG
sed -i "/#/d" $GRUBCFG
sed -i "/exec tail/d" $GRUBCFG
chmod 0444 $GRUBCFG
fi
@ -215,7 +218,7 @@ echo "Re-mounting the root and trying to apply backup."
mount $rootfs /tgt_root
echo "Finding backupfiles"
backupfile=`find /run/media/$dev_name/ -name "sysmocom-backup*.tar" | head -n1`
backupfile=`find /media/$dev_name/ -name "sysmocom-backup*.tar" | head -n1`
if [ -n "$backupfile" ]; then
if [ ! -r "$backupfile" ]; then
echo "configurations-file $backupfile it is not readable"

View File

@ -1,6 +1,6 @@
SYSMOCOM := "${@os.path.dirname(d.getVar('FILE', True))}"
FILESEXTRAPATHS_prepend := "${SYSMOCOM}/files:"
PRINC = "5"
PRINC = "2"
RDEPENDS_${PN} += "e2fsprogs-e2fsck e2fsprogs-resize2fs"
RDEPENDS_${PN} += "e2fsprogs-e2fsck"

View File

@ -1,25 +0,0 @@
SUMMARY = "Diagnostic tool for TI OMAP processors"
HOMEPAGE = "https://github.com/omapconf/omapconf"
LICENSE = "GPLv2 | BSD"
LIC_FILES_CHKSUM = "file://LICENSE;md5=205c83c4e2242a765acb923fc766e914"
PV = "1.73"
PR = "r1"
COMPATIBLE_MACHINE = "ti33x|ti43x|omap-a15|omap4"
BRANCH ?= "master"
SRCREV = "a5dac6c5a65c672bd299b42ca495566a7cc137a4"
SRC_URI = "git://github.com/omapconf/omapconf.git;protocol=git;branch=${BRANCH}"
S = "${WORKDIR}/git"
do_compile () {
oe_runmake CC="${CC}" all
}
do_install () {
oe_runmake DESTDIR=${D}${bindir} install
}

View File

@ -1,45 +0,0 @@
From 543e67919f5cacf309ac88ab091331e41af4224b Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Thu, 16 Apr 2015 22:41:57 +0200
Subject: [PATCH] argz.h: fix musl compile (add missing defines)
Upstream-Status: Pending
Add __THROW, __BEGIN_DECLS, __END_DECLS and __attribute_pure__ defines.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
---
argz.h | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/argz.h b/argz.h
index 582be55..bdf9f62 100644
--- a/argz.h
+++ b/argz.h
@@ -48,6 +48,22 @@
# define __const const
#endif
+#ifndef __THROW
+# define __THROW
+#endif
+
+#ifndef __BEGIN_DECLS
+# define __BEGIN_DECLS
+#endif
+
+#ifndef __END_DECLS
+# define __END_DECLS
+#endif
+
+#ifndef __attribute_pure__
+# define __attribute_pure__
+#endif
+
#ifndef __error_t_defined
typedef int error_t;
#endif
--
2.1.4

View File

@ -1,43 +0,0 @@
From 77e399899d9d7297d23c321811b628febdf0fd92 Mon Sep 17 00:00:00 2001
From: Peter Seiderer <ps.report@gmx.net>
Date: Thu, 16 Apr 2015 22:43:49 +0200
Subject: [PATCH] tftp.h/tftpd.h: fix musl compile (missing include)
Upstream-Status: Pending
Add sys/types.h include for u_char typedef.
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
---
tftp.h | 1 +
tftpd.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/tftp.h b/tftp.h
index 12bd6aa..32a3f63 100644
--- a/tftp.h
+++ b/tftp.h
@@ -19,6 +19,7 @@
#include <sys/time.h>
#include <sys/times.h>
+#include <sys/types.h>
#include "tftp_def.h"
#include "config.h"
diff --git a/tftpd.h b/tftpd.h
index 945065e..60d3a49 100644
--- a/tftpd.h
+++ b/tftpd.h
@@ -20,6 +20,7 @@
#include <pthread.h>
#include <arpa/tftp.h>
#include <arpa/inet.h>
+#include <sys/types.h>
#include "tftp_io.h"
/*
--
2.1.4

View File

@ -1,5 +1,5 @@
SUMMARY = "Advanced TFTP server and client"
SECTION = "net"
SECTION = "network"
HOMEPAGE = "http://packages.debian.org/atftp"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
@ -12,16 +12,12 @@ SRC_URI = "git://git.code.sf.net/p/atftp/code \
file://atftpd-0.7_circumvent_tftp_size_restrictions.patch \
file://atftpd-0.7_unprotected_assignments_crash.patch \
file://atftpd.init \
file://atftpd.service \
file://atftpd.service \
file://atftp-0.7-sorcerers_apprentice.patch \
"
SRC_URI_append_libc-musl = " file://0001-argz.h-fix-musl-compile-add-missing-defines.patch \
file://0002-tftp.h-tftpd.h-fix-musl-compile-missing-include.patch \
"
S = "${WORKDIR}/git"
inherit autotools update-rc.d systemd
inherit autotools update-rc.d useradd systemd
PACKAGECONFIG ??= "tcp-wrappers"
PACKAGECONFIG[pcre] = "--enable-libpcre,--disable-libpcre,libpcre"
@ -32,8 +28,9 @@ INITSCRIPT_PACKAGES = "${PN}d"
INITSCRIPT_NAME_${PN}d = "atftpd"
INITSCRIPT_PARAMS_${PN}d = "defaults 80"
EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'"
USERADD_PACKAGES = "${PN}d"
USERADD_PARAM_${PN}d = "--system --no-create-home --shell /bin/false \
--user-group nobody"
do_install_append() {
install -d ${D}${sysconfdir}/init.d
@ -42,7 +39,7 @@ do_install_append() {
install -d ${D}/srv/tftp
rm ${D}${sbindir}/in.tftpd
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/atftpd.service ${D}${systemd_unitdir}/system
}

View File

@ -26,10 +26,10 @@ PACKAGECONFIG[idn] = ",,libidn"
PACKAGECONFIG[conntrack] = ",,libnetfilter-conntrack"
PACKAGECONFIG[lua] = ",,lua"
EXTRA_OEMAKE = "\
'COPTS=${@bb.utils.contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \
'COPTS=${@base_contains('PACKAGECONFIG', 'dbus', '-DHAVE_DBUS', '', d)} \
${@base_contains('PACKAGECONFIG', 'idn', '-DHAVE_IDN', '', d)} \
${@base_contains('PACKAGECONFIG', 'conntrack', '-DHAVE_CONNTRACK', '', d)} \
${@base_contains('PACKAGECONFIG', 'lua', '-DHAVE_LUASCRIPT', '', d)}' \
'CFLAGS=${CFLAGS}' \
'LDFLAGS=${LDFLAGS}' \
"
@ -49,12 +49,12 @@ do_install () {
install -m 644 ${WORKDIR}/dnsmasq.conf ${D}${sysconfdir}/
install -m 755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/dnsmasq
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/dnsmasq.service ${D}${systemd_system_unitdir}
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/dnsmasq.service ${D}${systemd_unitdir}/system
install -m 0755 ${S}/contrib/wrt/dhcp_release ${D}${bindir}
if [ "${@bb.utils.contains('PACKAGECONFIG', 'dbus', 'dbus', '', d)}" != "" ]; then
if [ "${@base_contains('PACKAGECONFIG', 'dbus', 'dbus', '', d)}" != "" ]; then
install -d ${D}${sysconfdir}/dbus-1/system.d
install -m 644 dbus/dnsmasq.conf ${D}${sysconfdir}/dbus-1/system.d/
fi

View File

@ -0,0 +1,29 @@
DESCRIPTION = "GNU privacy guard - a free PGP replacement (new v2.x)"
HOMEPAGE = "http://www.gnupg.org/"
LICENSE = "GPLv3 & LGPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949 \
file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6"
DEPENDS = "${PTH} libassuan libksba zlib bzip2 readline libgcrypt"
PTH = "pth"
PTH_libc-uclibc = "npth"
PR = "r5"
inherit autotools gettext
SRC_URI = "ftp://ftp.gnupg.org/gcrypt/${BPN}/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "6a8589381ca1b0c1a921e9955f42b016"
SRC_URI[sha256sum] = "efa23a8a925adb51c7d3b708c25b6d000300f5ce37de9bdec6453be7b419c622"
EXTRA_OECONF = "--disable-ldap \
--disable-ccid-driver \
--without-libcurl \
--with-zlib=${STAGING_LIBDIR}/.. \
--with-bzip2=${STAGING_LIBDIR}/.. \
--with-readline=${STAGING_LIBDIR}/.. \
"
do_install_append() {
ln -sf gpg2 ${D}${bindir}/gpg
}

View File

@ -8,14 +8,14 @@
# that it should look at the device that just went active, because it
# might be a GPS.
#
# The following setup works on Debian - something similar will apply on
# The following setup works on Debian - something similar will apply on
# other distributions:
#
#
# /etc/udev/gpsd.rules
# /etc/udev/rules.d/025_gpsd.rules -> ../gpsd.rules
# /lib/udev/gpsd.hotplug.wrapper
# /lib/udev/gpsd.hotplug
#
#
# Setting the link in /etc/udev/rules.d activates the rule and determines
# when to run it on boot (similar to init.d processing).
@ -40,7 +40,7 @@ ATTR{idVendor}=="1546", ATTR{idProduct}=="01a5", SYMLINK="gps%n", RUN+="/lib/ude
# FTDI FT232
ATTR{idVendor}=="0403", ATTR{idProduct}=="6001", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
# u-blox 4
ATTR{idVendor}=="1546", ATTR{idProduct}=="01a4", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
SYSFS{idVendor}=="1546", SYSFS{idProduct}=="01a4", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
ACTION=="remove", RUN+="/lib/udev/gpsd.hotplug.wrapper"

View File

@ -1,5 +0,0 @@
# If you must specify a non-NMEA driver, uncomment and modify the next line
GPSD_SOCKET="/var/run/gpsd.sock"
GPSD_OPTIONS="-n"
GPS_DEVICES="/dev/ttyS0"
GPS_BAUDRATE="115200"

View File

@ -1,13 +0,0 @@
[Unit]
Description=GPS Service Daemon
After=syslog.target network.target
[Service]
EnvironmentFile=-/etc/default/gpsd
ExecStartPre=/bin/stty -F $GPS_DEVICES speed $GPS_BAUDRATE
ExecStart=/usr/sbin/gpsd -N -F $GPSD_SOCKET $GPSD_OPTIONS $GPS_DEVICES
Restart=always
RestartSec=2
[Install]
WantedBy=multi-user.target

View File

@ -1,11 +1,12 @@
SUMMARY = "A TCP/IP Daemon simplifying the communication with GPS devices"
DESCRIPTION = "A TCP/IP Daemon simplifying the communication with GPS devices"
SECTION = "console/network"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://COPYING;md5=d217a23f408e91c94359447735bc1800"
DEPENDS = "ncurses python"
#DEPENDS = "ncurses libusb1 python"
PROVIDES = "virtual/gpsd"
PR = "r3.20"
PR = "r3.19"
SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz \
file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \
@ -18,19 +19,19 @@ SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz \
file://gpsd-default \
file://gpsd \
file://60-gpsd.rules \
file://gpsd.service \
"
SRC_URI_append_sysmocom-idu = " file://gpsd.service "
SRC_URI[md5sum] = "fc5b03aae38b9b5b6880b31924d0ace3"
SRC_URI[sha256sum] = "706fc2c1cf3dfbf87c941f543381bccc9c4dc9f8240eec407dcbf2f70b854320"
inherit scons update-rc.d systemd
#inherit scons update-rc.d python-dir pythonnative
inherit scons update-rc.d
INITSCRIPT_NAME = "gpsd"
INITSCRIPT_PARAMS = "defaults 35"
SYSTEMD_OESCONS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false',d)}"
export STAGING_INCDIR
export STAGING_LIBDIR
export LINKFLAGS="${TARGET_LDFLAGS}"
@ -63,11 +64,10 @@ EXTRA_OESCONS = " \
trip='false' \
tripmate='false' \
usb='false' \
systemd='${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}' \
chrpath='false' \
systemd='${SYSTEMD_OESCONS}' \
libdir='${libdir}' \
${PACKAGECONFIG_CONFARGS} \
"
# python='false' \
# this cannot be used, because then chrpath is not found and only static lib is built
# target=${HOST_SYS}
@ -106,47 +106,57 @@ do_install_append() {
install -d ${D}${base_libdir}/udev/
install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
#support for systemd
install -d ${D}${systemd_system_unitdir}/
install -m 0644 ${WORKDIR}/${BPN}.service ${D}${systemd_system_unitdir}/${BPN}.service
install -m 0644 ${S}/systemd/${BPN}.socket ${D}${systemd_system_unitdir}/${BPN}.socket
#support for python
#install -d ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
#install -m 755 ${S}/gps/*.py ${D}/${PYTHON_SITEPACKAGES_DIR}/gps
}
do_install_append_sysmocom-idu() {
install -d ${D}${systemd_unitdir}/system/multi-user.target.wants/
install -m 0644 ${WORKDIR}/gpsd.service ${D}${systemd_unitdir}/system/
ln -sf ../gpsd.service ${D}${systemd_unitdir}/system/multi-user.target.wants/
}
pkg_postinst_${PN}-conf() {
update-alternatives --install ${sysconfdir}/default/gpsd gpsd-defaults ${sysconfdir}/default/gpsd.default 10
update-alternatives --install ${sysconfdir}/default/gpsd gpsd-defaults ${sysconfdir}/default/gpsd.default 10
}
pkg_postrm_${PN}-conf() {
update-alternatives --remove gpsd-defaults ${sysconfdir}/default/gpsd.default
update-alternatives --remove gpsd-defaults ${sysconfdir}/default/gpsd.default
}
#PACKAGES =+ "libgps libgpsd python-pygps-dbg python-pygps gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
PACKAGES =+ "libgps libgpsd gpsd-udev gpsd-conf gpsd-gpsctl gps-utils"
RDEPENDS_${PN} = "gpsd-gpsctl"
RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
#FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug"
SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
RDEPENDS_${PN} = "gpsd-gpsctl"
RRECOMMENDS_${PN} = "gpsd-conf gpsd-machine-conf"
RSUGGESTS_${PN} = "gpsd-udev"
DESCRIPTION_gpsd-udev = "udev relevant files to use gpsd hotplugging"
FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
RDEPENDS_gpsd-udev += "udev gpsd-conf"
SUMMARY_libgpsd = "C service library used for communicating with gpsd"
DESCRIPTION_libgpsd = "C service library used for communicating with gpsd"
FILES_libgpsd = "${libdir}/libgpsd.so.*"
SUMMARY_libgps = "C service library used for communicating with gpsd"
DESCRIPTION_libgps = "C service library used for communicating with gpsd"
FILES_libgps = "${libdir}/libgps.so.*"
SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
DESCRIPTION_gpsd-conf = "gpsd configuration files and init scripts"
FILES_gpsd-conf = "${sysconfdir}"
FILES_gpsd-conf_append_sysmocom-idu = " ${systemd_system_unitdir}/ "
FILES_gpsd-conf_append_sysmocom-idu = " ${systemd_unitdir}/system/ "
CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
DESCRIPTION_gpsd-gpsctl = "Tool for tweaking GPS modes"
FILES_gpsd-gpsctl = "${bindir}/gpsctl"
SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
DESCRIPTION_gps-utils = "Utils used for simulating, monitoring,... a GPS"
FILES_gps-utils = "${bindir}/*"
#RDEPENDS_gps-utils = "python-pygps"
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
SYSTEMD_SERVICE_${PN} = "${PN}.socket"
#DESCRIPTION_python-pygps = "Python bindings to gpsd"
#FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
#RDEPENDS_python-pygps = "python-core python-curses gpsd python-json"

View File

@ -12,15 +12,13 @@ PV = "0.2+git${SRCPV}"
SRC_URI = "git://git.sysmocom.de/gpsdate.git;branch=master \
file://gpsdate.default \
"
SRCREV = "cd7b77ef311f317aac7a067308a94e46811a20f2"
SRCREV = "81690ca78e816f86e0da11bbe8cba725fa1a634d"
S = "${WORKDIR}/git"
INITSCRIPT_NAME = "gpsdate"
INITSCRIPT_PARAMS = "defaults 35"
inherit update-rc.d systemd
SYSTEMD_SERVICE_${PN} = "${PN}.service"
inherit update-rc.d
do_install() {
install -d ${D}/${sbindir}
@ -29,13 +27,18 @@ do_install() {
install -d ${D}/${sysconfdir}/init.d
install -m 0755 ${S}/gpsdate.init ${D}/${sysconfdir}/init.d/gpsdate
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${S}/gpsdate.service ${D}${systemd_system_unitdir}
install -d ${D}${systemd_unitdir}/system
install -d ${D}${systemd_unitdir}/system/multi-user.target.wants/
install -m 0644 ${S}/gpsdate.service ${D}${systemd_unitdir}/system
ln -sf ../gpsdate.service ${D}${systemd_unitdir}/system/multi-user.target.wants/
install -d ${D}/${sysconfdir}/default
install -m 0644 ${WORKDIR}/gpsdate.default ${D}/${sysconfdir}/default/gpsdate
}
FILES_${PN} += "${systemd_unitdir}"
PACKAGES =+ "gps-watchdog"
FILES_gps-watchdog = "${sbindir}/gps-watchdog"

View File

@ -0,0 +1,14 @@
DESCRIPTION = "Libksba provides an easy API to create and parse X.509 and CMS related objects."
HOMEPAGE = "http://www.gnupg.org/related_software/libksba/"
LICENSE = "GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
PR = "r1"
DEPENDS = "libgpg-error"
inherit autotools binconfig
SRC_URI = "ftp://ftp.gnupg.org/gcrypt/${BPN}/${BPN}-${PV}.tar.bz2"
SRC_URI[md5sum] = "e797f370b69b4dc776499d6a071ae137"
SRC_URI[sha256sum] = "09afce65b03d027cbec10d21464f4f651cdfd269e38b404f83e48d3e2a3c934b"

View File

@ -1,25 +0,0 @@
From d6bd89581ac104a56441f63ca4a8f2139917f9f6 Mon Sep 17 00:00:00 2001
From: Harald Welte <laforge@gnumonks.org>
Date: Mon, 10 Jul 2017 13:58:58 +0200
Subject: [PATCH] Makefile: Allow cross-compilation environment to specify CC
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index b670978..9af3c99 100644
--- a/Makefile
+++ b/Makefile
@@ -4,7 +4,7 @@ N2N_OSNAME=$(shell uname -p)
########
-CC=gcc
+CC?=gcc
DEBUG?=-g3
#OPTIMIZATION?=-O2
WARN?=-Wall -Wshadow -Wpointer-arith -Wmissing-declarations -Wnested-externs
--
2.11.0

View File

@ -1,16 +0,0 @@
#!/bin/sh
source /etc/n2n/edge/$1.conf
PARAMS="-d $TUN"
[[ "z$DHCP" = "z1" ]] && PARAMS="$PARAMS -a dhcp:0.0.0.0" || PARAMS="$PARAMS -a static:$ADDRESS"
PARAMS="$PARAMS -c $COMMUNITY"
PARAMS="$PARAMS -k $KEY"
[[ -z "$NETMASK" ]] || PARAMS="$PARAMS -s $NETMASK"
[[ -z "$MACADDR" ]] || PARAMS="$PARAMS -m $MACADDR"
PARAMS="$PARAMS -l $SUPERNODE"
[[ "z$FORWADING" = "z1" ]] && PARAMS="$PARAMS -r"
[[ -z "$LPORT" ]] || PARAMS="$PARAMS -p $LPORT"
[[ -z "$MTU" ]] || PARAMS="$PARAMS -M $MTU"
[[ -z "$TPORT" ]] || PARAMS="$PARAMS -t $TPORT"
[[ "z$PRESOLV" = "z1" ]] && PARAMS="$PARAMS -b"
exec /usr/sbin/edge $PARAMS -f

View File

@ -1,12 +0,0 @@
[Unit]
Description=N2N VPN Edge
After=network.target
[Service]
Type=simple
User=root
ExecStart=/usr/share/n2n/edge.sh %i
[Install]
WantedBy=multi-user.target

View File

@ -1,46 +0,0 @@
SUMMARY = "n2n is a peer-to-peer L2-over-L3 VPN"
HOMEPAGE = "https://github.com/ntop/n2n"
LICENSE = "GPLv3+"
LIC_FILES_CHKSUM = "file://COPYING;md5=d2dd9497ff2aa79327dc88b6ce2b03cc"
DEPENDS = "openssl"
PV = "2.1.0+git${SRCPV}"
RRECOMMENDS_${PN} = "kernel-module-tun"
PR="r3"
SRC_URI = "git://github.com/ntop/n2n.git;branch=master \
file://edge.sh \
file://n2n-edge@.service \
file://0001-Makefile-Allow-cross-compilation-environment-to-spec.patch"
SRCREV= "${AUTOREV}"
S = "${WORKDIR}/git"
inherit systemd
do_compile() {
CFLAGS="$CFLAGS $LDFLAGS"
oe_runmake
}
do_install() {
oe_runmake install DESTDIR=${D}
install -d ${D}/usr/share/n2n
install -m 0755 ${WORKDIR}/edge.sh ${D}/usr/share/n2n
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/n2n-edge@.service ${D}${systemd_system_unitdir}
}
FILES_${PN} += "${systemd_unitdir}"
#PACKAGES += "n2n-edge n2n-supernode"
#
#FILES_n2n_edge = "\
# ${sbindir}/edge \
# ${mandir}/man8/edge.8.gz \
# "
#
#FILES_n2n_supernode = "\
# ${sbindir}/supernode \
# ${mandir}/man1/supernode.1.gz \
# ${mandir}/man7/n2n_v2.7.gz \
# "

View File

@ -3,7 +3,7 @@ HOMEPAGE = "http://openvpn.sourceforge.net"
SECTION = "console/network"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=5aac200199fde47501876cba7263cb0c"
DEPENDS = "lzo openssl iproute2 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
DEPENDS = "lzo openssl iproute2 ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
inherit autotools
@ -22,7 +22,7 @@ CFLAGS += "-fno-inline"
# I want openvpn to be able to read password from file (hrw)
EXTRA_OECONF += "--enable-password-save --enable-iproute2"
EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
EXTRA_OECONF += "${@base_contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
# Explicitly specify IPROUTE to bypass the configure-time check for /sbin/ip on the host.
EXTRA_OECONF += "IPROUTE=/sbin/ip"
@ -33,10 +33,10 @@ do_install_append() {
install -m 755 ${WORKDIR}/openvpn ${D}/${sysconfdir}/init.d
# systemd files
install -d ${D}${systemd_system_unitdir}
install -d ${D}${systemd_unitdir}/system
install -d ${D}${systemd_unitdir}/system-generators
install -m 0644 ${WORKDIR}/openvpn.service ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/openvpn@.service ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/openvpn.service ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/openvpn@.service ${D}${systemd_unitdir}/system
install -m 0755 ${WORKDIR}/openvpn-generator ${D}${systemd_unitdir}/system-generators
}

View File

@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=4325afd396febcb659c36b49533135d4 \
"
SRCNAME = "enum"
SRC_URI = "https://pypi.python.org/packages/source/e/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
SRC_URI = "http://pypi.python.org/packages/source/e/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
SRC_URI[md5sum] = "ce75c7c3c86741175a84456cc5bd531e"
SRC_URI[sha256sum] = "9bdfacf543baf2350df7613eb37f598a802f346985ca0dc1548be6494140fdff"

View File

@ -52,9 +52,9 @@ do_install_append () {
install -m 0644 ${S}/data/de.pengutronix.rauc.conf ${D}${sysconfdir}/dbus-1/system.d/
# Systemd service
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/rauc-done.service ${D}${systemd_system_unitdir}/
sed -i -e 's!@BINDIR@!${bindir}!g' ${D}${systemd_system_unitdir}/*.service
install -d ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/rauc-done.service ${D}${systemd_unitdir}/system/
sed -i -e 's!@BINDIR@!${bindir}!g' ${D}${systemd_unitdir}/system/*.service
# udev rules
install -d ${D}${base_libdir}/udev/rules.d

View File

@ -10,12 +10,12 @@ SRC_URI += "file://alignment.service"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
do_install_append() {
install -d ${D}${systemd_system_unitdir}/basic.target.wants
install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/
install -d ${D}${systemd_unitdir}/system/basic.target.wants
install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
install -m 0644 ${WORKDIR}/alignment.service ${D}${systemd_system_unitdir}
ln -sf ../alignment.service ${D}${systemd_system_unitdir}/basic.target.wants/
ln -sf ../alignment.service ${D}${systemd_system_unitdir}/sysinit.target.wants/
install -m 0644 ${WORKDIR}/alignment.service ${D}${systemd_unitdir}/system
ln -sf ../alignment.service ${D}${systemd_unitdir}/system/basic.target.wants/
ln -sf ../alignment.service ${D}${systemd_unitdir}/system/sysinit.target.wants/
}
FILES_${PN} = "${systemd_system_unitdir} ${bindir}"
FILES_${PN} = "${systemd_unitdir}/system ${bindir}"

View File

@ -1,43 +0,0 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# See systemd.conf(5) for details
[Manager]
#LogLevel=info
#LogTarget=journal-or-kmsg
#LogColor=yes
#LogLocation=no
#DumpCore=yes
#CrashShell=no
#ShowStatus=yes
#CrashChVT=1
#CPUAffinity=1 2
#DefaultControllers=cpu
#DefaultStandardOutput=journal
#DefaultStandardError=inherit
#JoinControllers=cpu,cpuacct,cpuset net_cls,net_prio
RuntimeWatchdogSec=20
ShutdownWatchdogSec=20
#CapabilityBoundingSet=
#TimerSlackNSec=
#DefaultLimitCPU=
#DefaultLimitFSIZE=
#DefaultLimitDATA=
#DefaultLimitSTACK=
#DefaultLimitCORE=
#DefaultLimitRSS=
#DefaultLimitNOFILE=
#DefaultLimitAS=
#DefaultLimitNPROC=
#DefaultLimitMEMLOCK=
#DefaultLimitLOCKS=
#DefaultLimitSIGPENDING=
#DefaultLimitMSGQUEUE=
#DefaultLimitNICE=
#DefaultLimitRTPRIO=
#DefaultLimitRTTIME=

View File

@ -12,7 +12,6 @@ SRC_URI_append_sysmobts-v2 = " file://system.conf"
SRC_URI_append_sysmocom-odu = " file://system.conf"
SRC_URI_append_gsmk-owhw = " file://system.conf"
SRC_URI_append_sysmobts2100 = " file://system.conf"
SRC_URI_append_oc2g = " file://system.conf"
# We want the journal on the ODU...
SRC_URI_append_sysmocom-idu = " file://system.conf"

View File

@ -1,72 +0,0 @@
SUMMARY = "Backup scripts"
LICENSE = "BSD"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/BSD;md5=3775480a712fc46a69647678acb234cb"
SRC_URI += "file://cbackup \
file://cbackup.sh \
file://mbackup \
file://mbackup.sh \
file://checkbk \
file://checkbk.service \
file://checkflashcfg \
file://checkflash.service \
"
S = "${WORKDIR}"
# set this variable to 0 to avoid blocking the boot process if flash configuration is not valid
# normally keep it to 1, in upper layers except if there is no way to know that a flash repair
# is needed from external server
export BLOCKOPTION = "0"
inherit gitver-repo
REPODIR = "${THISDIR}"
REPOFILE = "backup-scripts_1.0.bb"
PR := "r${REPOGITFN}"
REPODIR = "${THISDIR}/files"
REPOFILE = ""
PR := "${PR}.${REPOGITFN}"
RDEPENDS_${PN} += "busybox cronie util-linux coreutils base-files"
do_install() {
install -d ${D}${sysconfdir}
install -d ${D}${sysconfdir}/systemd
install -d ${D}${sysconfdir}/systemd/system
install -d ${D}${sysconfdir}/systemd/system/multi-user.target.wants
install -m 0755 -d ${D}${base_libdir}
install -m 0755 -d ${D}${systemd_unitdir}
install -m 0755 -d ${D}${systemd_unitdir}/system
install -m 0644 ${S}/checkbk.service ${D}${systemd_unitdir}/system/checkbk.service
ln -sf ${systemd_unitdir}/system/checkbk.service ${D}${sysconfdir}/systemd/system/multi-user.target.wants/checkbk.service
install -m 0644 ${S}/checkflash.service ${D}${systemd_unitdir}/system/checkflash.service
ln -sf ${systemd_unitdir}/system/checkflash.service ${D}${sysconfdir}/systemd/system/multi-user.target.wants/checkflash.service
install -d ${D}${bindir}
install -m 0755 ${S}/cbackup ${D}${bindir}/.cbackup
install -m 0755 ${S}/mbackup ${D}${bindir}/.mbackup
install -m 0755 ${S}/cbackup.sh ${D}${bindir}/cbackup
install -m 0755 ${S}/mbackup.sh ${D}${bindir}/mbackup
install -m 0755 ${S}/checkbk ${D}${bindir}/checkbk
install -m 0755 ${S}/checkflashcfg ${D}${bindir}/checkflashcfg
echo "BLOCKOPTION=${BLOCKOPTION}" > ${D}${sysconfdir}/bootoptions.conf
chmod 755 ${D}${sysconfdir}/bootoptions.conf
}
pkg_postinst_${PN}_append() {
echo "adding crontab"
test -d $D/var/spool/cron || mkdir -p $D/var/spool/cron
test -f /var/spool/cron/root && sed -i '/checkbk/d' $D/var/spool/cron/root
echo "15 3 * * * nice -n 15 ${bindir}/checkbk" >> $D/var/spool/cron/root
}
FILES_${PN} += "${bindir}/mbackup \
${bindir}/.mbackup \
${bindir}/cbackup \
${bindir}/.cbackup \
${bindir}/checkbk \
${bindir}/checkflashcfg \
${sysconfdir} \
${systemd_unitdir}/* \
"

View File

@ -1,190 +0,0 @@
#!/bin/sh
STAG=cbackup:
# lock wait time max 15mn * 60 = 900 secs (sufficient time to update)
LOCKWAIT=900
# this is a protection to make sure a backup is not currently created while checking
bname=mbackup
BAKPATH=""
_curr_dir=""
BAKEXT=".tar.gz"
BAKMD5EXT=".md5"
mybasename=""
readonly LOCKFILE_DIR=/var/lock
readonly LOCK_FD=980
lock() {
local prefix=$1
local fd=${2:-$LOCK_FD}
local lock_file=$LOCKFILE_DIR/$prefix.lock
# still allow to run unlocked if the lock dir does not exist
if [ ! -d "${LOCKFILE_DIR}" ]; then
return 0
fi
# create lock file
eval "exec $fd>$lock_file"
# still allow to run unlocked if the lock file cannot be created
if [ $? -ne 0 ]; then
return 0
fi
# acquier the lock
flock -w ${LOCKWAIT} $fd \
&& return 0 \
|| return 1
}
unlock() {
local prefix=$1
local fd=${2:-$LOCK_FD}
local lock_file=$LOCKFILE_DIR/$prefix.lock
# release the lock
flock -u $fd
sync
}
function my_exit()
{
cd "$_curr_dir"
unlock $bname
exit $*
}
function __sig_int {
log_write " "
log_write "$STAG WARNING: SIGINT caught"
my_exit 110
}
function __sig_quit {
log_write " "
log_write "$STAG WARNING: SIGQUIT caught"
my_exit 111
}
function __sig_term {
log_write " "
log_write "$STAG WARNING: SIGTERM caught"
my_exit 112
}
function __sig_hup {
log_write " "
log_write "$STAG WARNING: SIGHUP caught"
my_exit 113
}
function log_write()
{
echo "$*"
}
function log_write_nr()
{
echo -n "$*"
}
function show_help {
log_write "cbackup help information:"
log_write "checks integrity of backup created with mbackup, exit with 0 when valid"
log_write "Usage: cbackup [ --help ] <bfile>"
log_write " where: <bfile> # source backup base file name (without .tar.gz)"
log_write " # same base file name as provided with mbackup -f option"
log_write " --help # displays this help information"
log_write "example: cbackup /mnt/storage/.sysbackup/bk-mnt-rom-user # checks backup"
}
function check_path()
{
local retval=0
local slen=${#1}
local mystr
if ! [ -d $1 ] ; then
log_write "$STAG directory does not exist ($1)!"
retval=80
else
if [ "${1:$slen - 1:1}" == "/" ] ; then
mystr=${1:0:$slen - 1}
slen=$((slen-1))
else
mystr=$1
fi
BAKPATH=$mystr"/"
fi
return $retval
}
_curr_dir=`pwd`
# Lock to test a single instance is running, and exit if wait timeout
log_write "$STAG Checking if allowed to run..."
lock $bname || ( log_write "$STAG Checking if allowed to run... failed"; exit 100 )
log_write "$STAG Checking if allowed to run... done"
# Set TRAPs to release lock if forced to exit
trap __sig_int SIGINT
trap __sig_quit SIGQUIT
trap __sig_term SIGTERM
trap __sig_hup SIGHUP
TOTALARG=$#
while getopts :- FLAG; do
case $FLAG in
'-')
show_help
my_exit 0;;
\?)
log_write "Invalid option: -$OPTARG" && my_exit 1;;
\:)
log_write "Required argument not found for option: -$OPTARG" && my_exit 2;;
esac
done
# removes processed option(s) from the cmd line args
shift $((OPTIND-1))
if [ "$#" -ne 1 ]; then
show_help
my_exit 3
fi
check_path `dirname "$1"`
valret=$?
if [ $valret -ne 0 ]; then
my_exit $valret
fi
mybasename=`basename "$1"`
log_write "$STAG Checking backup: "$BAKPATH$mybasename
if ! [ -f $BAKPATH$mybasename$BAKEXT ] ; then
log_write "$STAG Source backup does not exist ($BAKPATH$mybasename$BAKEXT)!"
my_exit 4
fi
if ! [ -f $BAKPATH$mybasename$BAKMD5EXT ] ; then
log_write "$STAG Source backup MD5 does not exist ($BAKPATH$mybasename$BAKMD5EXT)!"
my_exit 5
fi
# verify if backup is valid
cd $BAKPATH
if [ $? != 0 ]; then
log_write "$STAG change dir to ($BAKPATH) failed."
my_exit 6
fi
# verifies if md5 is for the expected backup file
md5file=`cat $BAKPATH$mybasename$BAKMD5EXT | awk '{ print $2 }'`
if ! [ "./"$mybasename$BAKEXT == "$md5file" ]; then
log_write "$STAG MD5 ref file is not backup file ($md5file)!"
my_exit 7
fi
# verifies if md5 is correct
myresult=$(md5sum -c $BAKPATH$mybasename$BAKMD5EXT 2>&1)
myres=$?
if [ $myres != 0 ]; then
log_write "$STAG Checksum invalid"
my_exit 8
fi
log_write "$STAG Checksum Ok."
my_exit 0

View File

@ -1,3 +0,0 @@
#!/bin/sh
# Starts a lower priority version of cbackup
nice -n 5 /usr/bin/.cbackup "$@"

View File

@ -1,193 +0,0 @@
#!/bin/sh
# checks all flash partition backup integrity when the expected flash partition is mounted correctly
STAG=checkbk:
PENDINGCHK=/tmp/.boot_pending
# lock wait time max 15mn * 60 = 900 secs (sufficient time to update)
LOCKWAIT=900
bname=checkbk
TMPBK=""
DEFBAKPATH=/mnt/storage/.sysbackup
_curr_dir=""
configflashuser=/mnt/rom/user
configflashuserbk=$DEFBAKPATH/bk-mnt-rom-user
configflashfactory=/mnt/rom/factory
configflashfactorybk=$DEFBAKPATH/bk-mnt-rom-factory
__USESYSLOG=1
VERBOSE=''
__EXITCODE=0
readonly LOCKFILE_DIR=/var/lock
readonly LOCK_FD=978
lock() {
local prefix=$1
local fd=${2:-$LOCK_FD}
local lock_file=$LOCKFILE_DIR/$prefix.lock
# still allow to run unlocked if the lock dir does not exist
if [ ! -d "${LOCKFILE_DIR}" ]; then
return 0
fi
# create lock file
eval "exec $fd>$lock_file"
# still allow to run unlocked if the lock file cannot be created
if [ $? -ne 0 ]; then
return 0
fi
# acquier the lock
flock -w ${LOCKWAIT} $fd \
&& return 0 \
|| return 1
}
unlock() {
local prefix=$1
local fd=${2:-$LOCK_FD}
local lock_file=$LOCKFILE_DIR/$prefix.lock
# release the lock
flock -u $fd
sync
}
function my_exit()
{
cd "$_curr_dir"
unlock $bname
exit $*
}
function __sig_int {
log_write " "
log_write "$STAG WARNING: SIGINT caught"
my_exit 110
}
function __sig_quit {
log_write " "
log_write "$STAG WARNING: SIGQUIT caught"
my_exit 111
}
function __sig_term {
log_write " "
log_write "$STAG WARNING: SIGTERM caught"
my_exit 112
}
function __sig_hup {
log_write " "
log_write "$STAG WARNING: SIGHUP caught"
my_exit 113
}
checkflashpartro() {
if ! grep "$* jffs2 " /proc/mounts | grep -q " ro[,]"; then
return 13
fi
return 0
}
function log_write()
{
if [ ! -z ${VERBOSE} ] || [ ${__USESYSLOG} -eq 0 ]; then
echo "$*"
fi
if [ ${__USESYSLOG} -ne 0 ] ; then
logger -p local4.info "$*"
fi
}
function show_help {
echo "checkbk help information:"
echo "Usage: checkbk [ [ [-f file] [-n] ] | [--help] ] <spath>"
echo " -d # print debug verbose info"
echo " --help # displays this help information"
echo "example: checkbk; # checks and backup flash partitions silently"
echo "example: checkbk -d; # checks and backup flash partitions with verbose"
}
if [ -e "${PENDINGCHK}" ]; then
echo "$STAG Pending reboot, could not run!"
exit 97
fi
_curr_dir=`pwd`
# Lock to test a single instance is running, and exit if wait timeout
echo "$STAG Checking if allowed to run..."
lock $bname || ( echo "$STAG Checking if allowed to run... failed"; exit 100 )
echo "$STAG Checking if allowed to run... done"
# Set TRAPs to release lock if forced to exit
trap __sig_int SIGINT
trap __sig_quit SIGQUIT
trap __sig_term SIGTERM
trap __sig_hup SIGHUP
if [ -e "${PENDINGCHK}" ]; then
echo "$TAG Pending reboot, could not run!"
my_exit 97
fi
#keeps log file from getting big if run through a cron job
rm /var/log/$LOG_FILE >/dev/null 2>&1
TOTALARG=$#
while getopts :d- FLAG; do
case $FLAG in
d ) VERBOSE=1;;
'-')
show_help
my_exit 0;;
\?)
log_write "Invalid option: -$OPTARG" && my_exit 1;;
\:)
log_write "Required argument not found for option: -$OPTARG" && my_exit 2;;
esac
done
# removes processed option(s) from the cmd line args
shift $((OPTIND-1))
log_write "$STAG started"
# checks if factory partition needs a backup
if checkflashpartro $configflashfactory ; then
log_write "$STAG checking partition ($configflashfactory)"
__CBACKUP_RES=$(cbackup "$configflashfactorybk" 2>&1)
__CBACKUP_RET=$?
log_write "$__CBACKUP_RES"
if test ${__CBACKUP_RET} -ne 0; then
__MBACKUP_RES=$(mbackup "$configflashfactory" 2>&1)
__MBACKUP_RET=$?
log_write "$__MBACKUP_RES"
if test ${__MBACKUP_RET} -ne 0; then
__EXITCODE=$__MBACKUP_RET
fi
fi
else
log_write "$STAG partition ($configflashfactory) is not ready for backup"
__EXITCODE=70
fi
if checkflashpartro $configflashuser ; then
log_write "$STAG checking partition ($configflashuser)"
__CBACKUP_RES=$(cbackup "$configflashuserbk" 2>&1)
__CBACKUP_RET=$?
log_write "$__CBACKUP_RES"
if test ${__CBACKUP_RET} -ne 0; then
__MBACKUP_RES=$(mbackup "$configflashuser" 2>&1)
__MBACKUP_RET=$?
log_write "$__MBACKUP_RES"
if test ${__MBACKUP_RET} -ne 0; then
__EXITCODE=$__MBACKUP_RET
fi
fi
else
log_write "$STAG partition ($configflashuser) is not ready for backup"
__EXITCODE=71
fi
log_write "$STAG done!"
my_exit $__EXITCODE

View File

@ -1,22 +0,0 @@
[Unit]
Description=Check flash backups.
DefaultDependencies=no
Before=sysinit.target
After=mountuser.service checkroot.service checkstoragefs.service checkmonolithicupdate.service
Wants=mountuser.service checkroot.service checkstoragefs.service checkmonolithicupdate.service
RequiresMountsFor=/mnt/rom/user
RequiresMountsFor=/mnt/rom/factory
RequiresMountsFor=/tmp
RequiresMountsFor=/run
RequiresMountsFor=/mnt/storage
[Service]
Type=oneshot
Restart=no
RemainAfterExit=yes
ExecStart=/bin/sh -c 'export _NOSPINDLE=1 ; /usr/bin/checkbk -d ; export _NOSPINDLE= ; '
StandardOutput=syslog+console
StandardError=syslog+console
[Install]
WantedBy=multi-user.target

View File

@ -1,25 +0,0 @@
[Unit]
Description=Check config flash state.
Before=multi-user.target
Before=shutdown.target
Before=watchdog.service
After=time-sync.target
After=checkbk.service
Wants=checkbk.service
Conflicts=shutdown.target
RequiresMountsFor=/mnt/rom/user
RequiresMountsFor=/tmp
RequiresMountsFor=/run
RequiresMountsFor=/var/volatile
[Service]
Type=oneshot
Restart=no
RemainAfterExit=yes
TimeoutStartSec=infinity
ExecStart=/usr/bin/checkflashcfg -d
StandardOutput=syslog+console
StandardError=syslog+console
[Install]
WantedBy=multi-user.target

View File

@ -1,269 +0,0 @@
#!/bin/sh
# checks boot options to see what to do when the system has a flash configuration corruption
STAG=checkflashcfg:
PENDINGCHK=/tmp/.boot_pending
# lock wait time max 15mn * 60 = 900 secs (sufficient time to check it)
LOCKWAIT=900
bname=checkflashcfg
_curr_dir=""
__USESYSLOG=1
VERBOSE=''
__EXITCODE=0
CONFIGMOUNT=/mnt/rom/user
CONFIGMOUNTTYPE=jffs2
DEVCONFIG=/dev/mtdblock9
tempdir=""
TMPMOUNT=/tmp/.mnt_config
__NOHANG=0
_RECOVERY=1
readonly LOCKFILE_DIR=/var/lock
readonly LOCK_FD=977
# Get boot options configuration file
if [ -f "/etc/bootoptions.conf" ]; then
source "/etc/bootoptions.conf"
fi
lock() {
local prefix=$1
local fd=${2:-$LOCK_FD}
local lock_file=$LOCKFILE_DIR/$prefix.lock
# still allow to run unlocked if the lock dir does not exist
if [ ! -d "${LOCKFILE_DIR}" ]; then
return 0
fi
# create lock file
eval "exec $fd>$lock_file"
# still allow to run unlocked if the lock file cannot be created
if [ $? -ne 0 ]; then
return 0
fi
# acquier the lock
flock -w ${LOCKWAIT} $fd \
&& return 0 \
|| return 1
}
unlock() {
local prefix=$1
local fd=${2:-$LOCK_FD}
local lock_file=$LOCKFILE_DIR/$prefix.lock
# release the lock
flock -u $fd
sync
}
function my_exit()
{
trap - SIGINT
trap - SIGQUIT
trap - SIGTERM
trap - SIGHUP
sync
if [ -d "${tempdir}" ]; then
if mount | grep -q "${tempdir}"; then
umount "$tempdir"
fi
rmdir "$tempdir"
fi
cd "$_curr_dir"
unlock $bname
exit $*
}
checkrecovery() {
if mount | grep -q "on / type nfs" ; then
return 0
else
return 1
fi
}
function __sig_int {
log_write " "
log_write "$STAG WARNING: SIGINT caught"
my_exit 110
}
function __sig_quit {
log_write " "
log_write "$STAG WARNING: SIGQUIT caught"
my_exit 111
}
function __sig_term {
log_write " "
log_write "$STAG WARNING: SIGTERM caught"
my_exit 112
}
function __sig_hup {
log_write " "
log_write "$STAG WARNING: SIGHUP caught"
my_exit 113
}
checkflashconfig() {
if ! grep -q "$* " /proc/mounts; then
return 14
fi
return 0
}
function log_write()
{
if [ ! -z ${VERBOSE} ] || [ ${__USESYSLOG} -eq 0 ]; then
echo "$*"
fi
if [ ${__USESYSLOG} -ne 0 ] ; then
logger -p local4.info "$*"
fi
}
function show_help {
echo "checkflashcfg help information:"
echo "Usage: checkflashcfg [ [ [-d] [-n] ] | [--help] ]"
echo "Verify boot options and flash config state to learn what to do when corrupted"
echo "WARNING: this script may intentionnaly hang if -n is not provided and flash is corrupted"
echo " if not hanging, it may attempt to recreate an unmountable corrupted flash"
echo " config partition"
echo " -d # print debug verbose info"
echo " -n # no hang even if boot option specifies blocking in corruption"
echo " --help # displays this help information"
echo "example: checkflashcfg; # checks flash corruption and boot options silently"
echo "example: checkflashcfg -d -n;# checks flash corruption and boot options verbose, no hang"
}
if [ -e "${PENDINGCHK}" ]; then
echo "$STAG Pending reboot, could not run!"
exit 97
fi
_curr_dir=`pwd`
# Lock to test a single instance is running, and exit if wait timeout
echo "$STAG Checking if allowed to run..."
lock $bname || ( echo "$STAG Checking if allowed to run... failed"; exit 100 )
echo "$STAG Checking if allowed to run... done"
# Set TRAPs to release lock if forced to exit
trap __sig_int SIGINT
trap __sig_quit SIGQUIT
trap __sig_term SIGTERM
trap __sig_hup SIGHUP
if [ -e "${PENDINGCHK}" ]; then
echo "$STAG Pending reboot, could not run!"
my_exit 97
fi
#keeps log file from getting big
rm /var/log/$LOG_FILE >/dev/null 2>&1
TOTALARG=$#
while getopts :dn- FLAG; do
case $FLAG in
d ) VERBOSE=1;;
n ) __NOHANG=1;;
'-')
show_help
my_exit 0;;
\?)
log_write "Invalid option: -$OPTARG" && my_exit 1;;
\:)
log_write "Required argument not found for option: -$OPTARG" && my_exit 2;;
esac
done
# removes processed option(s) from the cmd line args
shift $((OPTIND-1))
log_write "$STAG checking..."
# checks if user flash is mounted correctly
if ! checkflashconfig "$CONFIGMOUNT" "$CONFIGMOUNTTYPE" ; then
# verifies if in recovery mode
checkrecovery
_RECOVERY=$?
# checks if the block boot option is active from bootoptions.conf
if [ ${BLOCKOPTION} -eq 1 ]; then
if [ ${__NOHANG} -ne 1 ]; then
if [ $_RECOVERY -eq 0 ]; then
log_write "$STAG script process is blocked as flash config is in recovery mode!"
else
log_write "$STAG script process is blocked as flash config needs to be repaired!"
fi
_MYCOUNTER=0
# makes sure the watchdog is manually started as systemd booting seq would be stuck to our process
/etc/init.d/watchdog.sh start
#loops forever to make sure any dependant service won't start when booting
while [ $_MYCOUNTER -eq 0 ]; do
sleep 1s
done
else
if [ $_RECOVERY -ne 0 ]; then
log_write "$STAG flash config needs to be repaired!"
__EXITCODE=3
fi
fi
else
if [ $_RECOVERY -ne 0 ]; then
# checks if flash could be mounted correctly
tempdir=`mktemp -d`
if [ $? -ne 0 ]; then
log_write "$STAG could not create tmp directory!"
my_exit 4
fi
if ! mount -t ${CONFIGMOUNTTYPE} -o ro,noatime,sync ${DEVCONFIG} ${tempdir}; then
# we need to recreate flash content cause the system could not self warns the problem
# and the flash is not mountable
log_write "$STAG recreating configuration flash partition..."
_C_RES=$(flash_erase -j /dev/mtd9 0 0 2>&1)
_C_RET=$?
if [ $_C_RET -ne 0 ]; then
log_write "Warning: cannot recreate flash partition!"
__EXITCODE=5
else
log_write "$STAG recreating configuration flash partition... Done"
# attempt to use mountuser tool to get flash access
_C_RES=$(/usr/bin/mountuser rw 2>&1)
_C_RET=$?
if [ $_C_RET -eq 0 ]; then
log_write "$STAG recreating config flash partition content..."
cp -rf $CONFIGMOUNT/* $TMPMOUNT
if [ $? -ne 0 ]; then
log_write "Warning: cannot copy current config to flash mount!"
__EXITCODE=6
else
echo "---------------------------" >> $TMPMOUNT/config/motd
echo "Attempted to recreate Flash" >> $TMPMOUNT/config/motd
echo "---------------------------" >> $TMPMOUNT/config/motd
_C_RES=$(/usr/bin/mountuser ro 2>&1)
_C_RET=$?
if [ $_C_RET -ne 0 ]; then
log_write "Warning: cannot remount flash mount to read only!"
__EXITCODE=7
else
log_write "$STAG recreating config flash partition content... Done"
fi
fi
else
log_write "$STAG cannot access flash for rw access!"
__EXITCODE=8
fi
fi
else
log_write "$STAG flash is mountable, won't be automatically repaired!"
__EXITCODE=9
fi
fi
fi
fi
log_write "$STAG checking... Done"
my_exit $__EXITCODE

View File

@ -1,444 +0,0 @@
#!/bin/sh
# Define this variable _NOSPINDLE before calling this script if this script run through a systemd service
# if this variable _SAFESYNC is also defined, it will do a wd safe sync instead (when watchdog daemon is not used)
STAG=mbackup:
ENDSIG=/tmp/mbackup_sig
ERRSIG=/tmp/mbackup_err
PENDINGCHK=/tmp/.boot_pending
# lock wait time max 15mn * 60 = 900 secs (sufficient time to update)
LOCKWAIT=900
bname=mbackup
TMPBK=""
DEFBAKPATH=/mnt/storage/.sysbackup/
BAKPATH=$DEFBAKPATH
_curr_dir=""
BAKEXT=".tar.gz"
PREVEXT=".tar.gz.bk1"
TMPEXT=".tar.gz.tmp"
BAKMD5EXT=".md5"
PREVMD5EXT=".md5.bk1"
TMPMD5EXT=".md5.tmp"
mybasename=""
CREATEPBACK=1
sp="/-\|"
sc=0
spin() {
if [ -z "$_NOSPINDLE" ]; then
printf "\r${STAG} ${sp:sc++:1}"
((sc==${#sp})) && sc=0
else
printf "${STAG} ${sp:sc++:1} \n"
((sc==${#sp})) && sc=0
if [ ! -z "$_SAFESYNC" ]; then
dmesg -D
echo 1 > /dev/watchdog
dmesg -E
fi
fi
}
endspin() {
if [ -z "$_NOSPINDLE" ]; then
printf "\r"
else
if [ ! -z "$_SAFESYNC" ]; then
dmesg -E
fi
fi
}
readonly LOCKFILE_DIR=/var/lock
readonly LOCK_FD=980
lock() {
local prefix=$1
local fd=${2:-$LOCK_FD}
local lock_file=$LOCKFILE_DIR/$prefix.lock
# still allow to run unlocked if the lock dir does not exist
if [ ! -d "${LOCKFILE_DIR}" ]; then
return 0
fi
# create lock file
eval "exec $fd>$lock_file"
# still allow to run unlocked if the lock file cannot be created
if [ $? -ne 0 ]; then
return 0
fi
# acquier the lock
flock -w ${LOCKWAIT} $fd \
&& return 0 \
|| return 1
}
unlock() {
local prefix=$1
local fd=${2:-$LOCK_FD}
local lock_file=$LOCKFILE_DIR/$prefix.lock
# release the lock
flock -u $fd
sync
}
function my_exit()
{
sync
if [ -f "$BAKPATH$mybasename$TMPEXT" ]; then
rm -f $BAKPATH$mybasename$TMPEXT
fi
if [ -f "$BAKPATH$mybasename$TMPMD5EXT" ]; then
rm -f $BAKPATH$mybasename$TMPMD5EXT
fi
if [ -d "${TMPBK}" ]; then
TMPBKMNT_RES=$(mount | grep "${TMPBK}")
TMPBKMNT_RET=$?
if [ $TMPBKMNT_RET -eq 0 ]; then
umount ${TMPBK}
fi
rmdir "${TMPBK}"
fi
sync
cd "$_curr_dir"
unlock $bname
exit $*
}
function __sig_int {
endspin
log_write " "
log_write "$STAG WARNING: SIGINT caught"
my_exit 110
}
function __sig_quit {
endspin
log_write " "
log_write "$STAG WARNING: SIGQUIT caught"
my_exit 111
}
function __sig_term {
endspin
log_write " "
log_write "$STAG WARNING: SIGTERM caught"
my_exit 112
}
function __sig_hup {
endspin
log_write " "
log_write "$STAG WARNING: SIGHUP caught"
my_exit 113
}
function log_write()
{
echo "$*"
}
function log_write_nr()
{
echo -n "$*"
}
function show_help {
log_write "mbackup help information:"
log_write "Usage: mbackup [ [ [-f file] [-n] ] | [--help] ] <spath>"
log_write " where: <spath> # source directory path to backup recursively"
log_write " options: -f file # force output file name (will be appended with .tar.gz/.md5)"
log_write " # specified file destination directory must exist!"
log_write " # if -f not used, default dest. dir. is created: $BAKPATH"
log_write " # with auto generated filename according to <spath>"
log_write " -n # do not create a previous backup (*.bk1) if one already exist"
log_write " # default is to create one"
log_write " --help # displays this help information"
log_write "example: mbackup /mnt/rom/user; # backup user flash configuration to default dir"
log_write "example: mbackup -f /tmp/qq /mnt/rom/user; # backup user flash configuration to /tmp/qq"
}
function create_basename()
{
local retval
local retval2
local repchr=-
local srcchr=/
local slen=${#1}
local mystr
local mystr2
if [ "${1:$slen - 1:1}" == "/" ] ; then
mystr=${1:0:$slen - 1}
slen=$((slen-1))
else
mystr=$1
fi
if [ ${1:0:1} == "/" ] ; then
mystr2=${mystr:1:$slen - 1}
slen=$((slen-1))
else
mystr2=$mystr
fi
retval="bk-"${mystr2//$srcchr/$repchr}
retval2=${retval// /$repchr}
echo $retval2
}
# returns the file basename without directory and extension
function get_basename()
{
echo ${1//+(*\/|.*)}
return 0
}
function check_destpath()
{
local retval=0
local slen=${#1}
local mystr
if ! [ -d $1 ] ; then
log_write "$STAG Destination directory does not exist ($1)!"
retval=80
else
if [ "${1:$slen - 1:1}" == "/" ] ; then
mystr=${1:0:$slen - 1}
slen=$((slen-1))
else
mystr=$1
fi
BAKPATH=$mystr"/"
fi
return $retval
}
# corrects md5 associated source file
# param1=originalfilename
# param2=newfilename
# param3=md5 file to correct
function correct_md5_file()
{
local name1
local name2
name1=`basename $1`
if [ $? -ne 0 ]; then
log_write "$STAG Getting basename of ($1) fail!"
return 81
fi
name2=`basename $2`
if [ $? -ne 0 ]; then
log_write "$STAG Getting basename of ($2) fail!"
return 82
fi
sed -i "s/$name1/$name2/g" $3
if [ $? -ne 0 ]; then
log_write "$STAG Sed md5 file ($3) fail!"
return 83
fi
return 0
}
if [ -e "${PENDINGCHK}" ]; then
log_write "$STAG Pending reboot, could not run!"
exit 97
fi
_curr_dir=`pwd`
# Lock to test a single instance is running, and exit if wait timeout
log_write "$STAG Checking if allowed to run..."
lock $bname || ( log_write "$STAG Checking if allowed to run... failed"; exit 100 )
log_write "$STAG Checking if allowed to run... done"
# Set TRAPs to release lock if forced to exit
trap __sig_int SIGINT
trap __sig_quit SIGQUIT
trap __sig_term SIGTERM
trap __sig_hup SIGHUP
if [ -e "${PENDINGCHK}" ]; then
log_write "$TAG Pending reboot, could not run!"
my_exit 97
fi
TOTALARG=$#
while getopts :f:n- FLAG; do
case $FLAG in
f)
#log_write "#Filename (-f)"
check_destpath `dirname "$OPTARG"`
valret=$?
if [ $valret -ne 0 ]; then
my_exit $valret
fi
mybasename=`basename "$OPTARG"`;;
n)
log_write "$STAG No previous backup option specified (-n)"
CREATEPBACK=0;;
'-')
show_help
my_exit 0;;
\?)
log_write "Invalid option: -$OPTARG" && my_exit 1;;
\:)
log_write "Required argument not found for option: -$OPTARG" && my_exit 2;;
esac
done
# removes processed option(s) from the cmd line args
shift $((OPTIND-1))
if [ "$#" -ne 1 ]; then
show_help
my_exit 3
fi
if ! [ -d $1 ] ; then
log_write "$STAG Source directory does not exist ($1)!"
my_exit 4
fi
if [ "x$mybasename" == "x" ] ; then
mybasename=$(create_basename $1)
if ! [ -d "$BAKPATH" ]; then
mkdir -p $BAKPATH
if [ $? -ne 0 ]; then
log_write "$STAG create dir ($BAKPATH) fail!"
my_exit 5
fi
fi
fi
log_write "$STAG Creating backup to: "$BAKPATH$mybasename
TMPBK=$(mktemp -d)
if [ $? -ne 0 ]; then
log_write "$STAG mktemp fail!"
my_exit 6
fi
# temporarily bind mount dir to backup to TMPBK
mount --bind -o ro $1 ${TMPBK}
if [ $? -ne 0 ]; then
log_write "$STAG mount $1 to temp folder fail!"
my_exit 7
fi
rm -f $BAKPATH$mybasename$TMPEXT
if [ $? -ne 0 ]; then
log_write "$STAG cannot remove ($BAKPATH$mybasename$TMPEXT)!"
my_exit 8
fi
rm -f $BAKPATH$mybasename$TMPMD5EXT
if [ $? -ne 0 ]; then
log_write "$STAG cannot remove ($BAKPATH$mybasename$TMPMD5EXT)!"
my_exit 9
fi
rm -f ${ENDSIG}
rm -f ${ERRSIG}
log_write "$STAG Creating files backup..."
(
tar -zcf $BAKPATH$mybasename$TMPEXT -C ${TMPBK} .
if [ $? -ne 0 ]; then
log_write " $STAG tar ($BAKPATH$mybasename$TMPEXT) fail!"
touch ${ERRSIG}
exit 10
fi
touch ${ENDSIG}
) &
until [ -f ${ENDSIG} ]; do
spin
if [ -f ${ERRSIG} ]; then
my_exit 11
fi
if [ ! -f ${ENDSIG} ]; then
sleep 1s
fi
done
endspin
log_write "$STAG Creating files backup... done"
# create md5
cd $BAKPATH
if [ $? -ne 0 ]; then
log_write "$STAG cannot change dir to ($BAKPATH)!"
my_exit 12
fi
md5sum ./$mybasename$TMPEXT > ./$mybasename$TMPMD5EXT
if [ $? -ne 0 ]; then
log_write "$STAG cannot create md5 for ($BAKPATH$mybasename$TMPEXT)!"
my_exit 13
fi
# create a previous backup if one already exit
if [ $CREATEPBACK -eq 1 ]; then
if [ -f "$BAKPATH$mybasename$BAKEXT" ] && [ -f "$BAKPATH$mybasename$BAKMD5EXT" ]; then
log_write "$STAG Copy prev. backup to: "$BAKPATH$mybasename$PREVEXT
cp -f $BAKPATH$mybasename$BAKEXT $BAKPATH$mybasename$PREVEXT
if [ $? -ne 0 ]; then
log_write "$STAG Creating previous backup ($BAKPATH$mybasename$PREVEXT) fail!"
my_exit 14
fi
log_write "$STAG Copy prev. MD5 to: "$BAKPATH$mybasename$PREVMD5EXT
cp -f $BAKPATH$mybasename$BAKMD5EXT $BAKPATH$mybasename$PREVMD5EXT
if [ $? -ne 0 ]; then
log_write "$STAG Creating previous backup ($BAKPATH$mybasename$PREVMD5EXT) fail!"
my_exit 15
fi
correct_md5_file $BAKPATH$mybasename$BAKEXT $BAKPATH$mybasename$PREVEXT $BAKPATH$mybasename$PREVMD5EXT
if [ $? -ne 0 ]; then
my_exit $?
fi
fi
fi
# create current backup from temporary files
rm -f $BAKPATH$mybasename$BAKEXT
if [ $? -ne 0 ]; then
log_write " $STAG cannot remove ($BAKPATH$mybasename$BAKEXT) fail!"
my_exit 16
fi
rm -f $BAKPATH$mybasename$BAKMD5EXT
if [ $? -ne 0 ]; then
log_write " $STAG cannot remove ($BAKPATH$mybasename$BAKMD5EXT) fail!"
my_exit 17
fi
log_write "$STAG Move backup to: "$BAKPATH$mybasename$BAKEXT
mv $BAKPATH$mybasename$TMPEXT $BAKPATH$mybasename$BAKEXT
if [ $? -ne 0 ]; then
log_write " $STAG cannot move to ($BAKPATH$mybasename$BAKEXT) fail!"
my_exit 18
fi
log_write "$STAG Move MD5 to: "$BAKPATH$mybasename$BAKMD5EXT
mv $BAKPATH$mybasename$TMPMD5EXT $BAKPATH$mybasename$BAKMD5EXT
if [ $? -ne 0 ]; then
log_write " $STAG cannot move to ($BAKPATH$mybasename$BAKMD5EXT) fail!"
my_exit 19
fi
correct_md5_file $BAKPATH$mybasename$TMPEXT $BAKPATH$mybasename$BAKEXT $BAKPATH$mybasename$BAKMD5EXT
if [ $? -ne 0 ]; then
my_exit $?
fi
rm -f ${ENDSIG}
rm -f ${ERRSIG}
log_write "$STAG System sync..."
(
sync
if [ $? -ne 0 ]; then
log_write " $STAG sync fail!"
touch ${ERRSIG}
exit 20
fi
touch ${ENDSIG}
) &
until [ -f ${ENDSIG} ]; do
spin
if [ -f ${ERRSIG} ]; then
my_exit 21
fi
if [ ! -f ${ENDSIG} ]; then
sleep 1s
fi
done
endspin
log_write "$STAG System sync... done"
my_exit 0

View File

@ -1,3 +0,0 @@
#!/bin/sh
# Starts a lower priority version of mbackup
nice -n 5 /usr/bin/.mbackup "$@"

Some files were not shown because too many files have changed in this diff Show More