Compare commits

...

124 Commits

Author SHA1 Message Date
Daniel Willmann 955de868ee oc2g-sysdev-remap: Use systemd automount to mount /mnt/rom/* 2019-05-21 18:45:56 +02:00
Harald Welte 4ea11d3577 Use AUTOREV for osmo-bts and osmo-pcu for nightly builds
The nightly builds are supposed to track master of the upstream
git repositories, so let's use AUTOREV for that purpose.
2019-03-21 17:11:45 +01:00
Daniel Willmann b95241275a oc2g: Build OC2g support for osmo-pcu 2019-03-21 17:11:45 +01:00
Daniel Willmann 6822fd070f osmo_bts_git.bb: OC2G systemd/config files are installed by autotools 2019-03-20 17:44:39 +01:00
Daniel Willmann 584c1ccf10 oc2g: Mount the factory partition in the correct place
This is needed for osmo-bts to properly transmit on OC2g because it
contains calibration values for the amplifier. Without the transmit
power will be really low (probably just what leaks through the amp).
2019-03-20 17:29:53 +01:00
Daniel Willmann d66c6f7d7b oc2g: Fix gpsd to use the correct baudrate and port
The autobauding feature of gpsd would not work even once the correct port was
set. The systemd service file now sets the baudrate of 115200 before starting
gpsd.
2019-03-20 17:29:53 +01:00
Daniel Willmann 92196fd94f linux-litecell: Fix kernel version in recipe 2019-02-01 10:32:07 +01:00
Daniel Willmann caf8812ea4 osmo-bts: Fix config file path in newer osmo-bts 2019-02-01 10:32:05 +01:00
Daniel Willmann 1c914678ff python-enum: Fix error fetching from HTTP instead of HTTPS
Resolving pypi.python.org (pypi.python.org)... 151.101.112.223, 2a04:4e42:1b::223
Connecting to pypi.python.org (pypi.python.org)|151.101.112.223|:80... connected.
HTTP request sent, awaiting response... 403 SSL is required
2019-01-16 10:29:27 ERROR 403: SSL is required.
2019-02-01 10:31:15 +01:00
Omar Ramadan 41c877a983 Add machine configuration for OC-2G 2019-02-01 10:31:15 +01:00
Omar Ramadan c967731acb Add OC-2G to sysmocom bts image image task 2019-02-01 10:31:15 +01:00
Omar Ramadan c928243b6b osmo-bts changes for OC-2G 2019-02-01 10:31:12 +01:00
Omar Ramadan 45481b980f Add OC-2G firwmare 2019-01-31 17:31:54 +01:00
Omar Ramadan 9bfc2b3f8a systemd changes for OC-2G 2019-01-31 17:31:54 +01:00
Omar Ramadan 7951329ce3 Add OC-2G u-boot 2019-01-31 17:31:54 +01:00
Omar Ramadan 5e73c5543a Add OC-2G Linux 2019-01-31 17:31:54 +01:00
Omar Ramadan 4dd34c4f6d Add sysdev remap 2019-01-31 17:31:54 +01:00
Omar Ramadan 6eea372883 Add backup scripts needed by OC-2G device remap 2019-01-31 17:31:54 +01:00
Pau Espin 3b9fd8c796 osmo-bts: Package osmo-bts-virtual
This way we remove bitbake QA errors since osmo-bts-virtual.service was
not being shipped by any package.
2019-01-30 23:24:50 +01:00
Pau Espin 830229cdcf osmo-pcu: handle systemd and cfg files through autotools 2019-01-30 23:24:50 +01:00
Pau Espin 1fea555cc9 osmo-bts: handle systemd and cfg files through autotools 2019-01-30 23:24:50 +01:00
Pau Espin 96105ded43 Update osmo-pcu,osmo-bts to latest tag release 2019-01-30 23:24:45 +01:00
Pau Espin 1297b71953 task-sysmocom-feed: Add osmo-sysmon to feeds 2018-12-13 17:50:27 +01:00
Pau Espin 8e88c736b0 atftp: Update recipe to latest meta-oe to fix compilation issues 2018-08-10 12:41:49 +02:00
Pau Espin 04f60f5aa6 libksba: Remove old version, newer provided by poky pyro 2018-08-08 13:24:37 +02:00
Pau Espin 60f4b04f42 gnupg: Remove old 2.0.19 version
Nowadays we depend on poky pyro, which comes with newer v2.1.18.
2018-08-07 16:35:14 +02:00
Pau Espin 686fee5571 lc15: Fix parse error: expansion of REPOGITFN
I got th following error while building meta-sysmocom-bsp in my
ArchLinux setup, probably due to using a newer git version.

ExpansionError: Failure expanding variable REPOGITFN,
expression was ${@get_repo_gitfn(d, '.../system-images/git/meta-sysmocom-bsp/recipes-support/lc15-sysdev-remap/files', '')

REPOGITFN is expanded using function get_repo_gitfn in
gitver-repo.bbclass, which ends up calling:

git -C .../system-images/git/meta-sysmocom-bsp/recipes-support/lc15-sysdev-remap/files rev-list --count HEAD ''
fatal: empty string is not a valid pathspec. please use . instead if you meant to match all paths
2018-08-07 13:46:51 +02:00
Pau Espin b15b3f943c task-sysmocom-legacy: RDEPEND on sccplite osmo-bsc instead of 3GPP AoIP one 2018-05-28 12:06:17 +02:00
Pau Espin 1e96bb0495 osmo-bts: Update 0.8.0 to 0.8.1 (dyn ts fixes) 2018-05-16 11:51:16 +02:00
Pau Espin 2e18616585 osmo-{bts,pcu}: Update to latest release 2018-05-06 22:13:20 +02:00
Pau Espin 181ebdd952 linux-sysmocom: Enable SCTP as built-in for alix and apu2 2018-04-05 18:34:25 +02:00
Pau Espin 5420090972 sysmocom-backup: Update list of backup files 2018-04-05 15:51:01 +02:00
Pau Espin 9fde00db04 sysmocom-nitb-image: Drop osmo-nitb leftovers
osmo-nitb is not used anymore. Furthermore, all new services are enabled
by default now.
2018-04-05 15:39:27 +02:00
Pau Espin af59eeb881 Drop sysmocom-bsc-image.bb
It's not actually being built by any job, and its contents are anyway
wrong since it basically pulls in the same as the sysmocom-nitb-image.

Initially it made sense to have these 2 images because we either
connected the BTS to osmo-bsc or osmo-nitb. This is no longer the case
since we deprecated osmo-nitb, and now it always connects to osmo-bsc.

The initiall idea after osmo-nitb split was to have a sysmo-bsc-image
containing only osmo-bsc, and then a sysmocom-nitb-image superseeding
it by installing all other core network components such as hlr, msc, etc.

Since there's no real need for that now, and in any case we can just
duse the nitb one and disable the extra services, let's drop the bsc
one.
2018-04-05 15:31:32 +02:00
Pau Espin f2daa6fe97 Add dnsmasq to machines with role bsc, not only sysmocom-bsc-image
This way we have it too in sysmocom-nitb-image, but only when needed,
that is: when we build for a machine inheritinh from sysmocom-bsc, which
is a machine not containing any BTS HW and thus requires a BTS connected
to it, so it needs a DNS server to serve it.
2018-04-05 15:26:30 +02:00
Pau Espin b5343fa75a conf: machine: refactor sysmocom-{bsc,alix,apu2}.conf
According to MACHINEOVERRIDES, alix and apu2 are subclass machines of
sysmocom-bsc (abstract superclass). However, only alix requires
sysmocom-bsc.conf. Make both alix and apu2 requires sysmocom-bsc.conf,
and move alix specific stuff to sysmocom-alix.conf.

In the process, linux-firmware-rtl-nic is removed from RDEPENDS for
apu2, since it doesn't use RTL nic but e100e/igb ones.

As a result of these movements, osmo-bsc.conf is actually empty, but
it's left there for future additions which have to affect both machines:
ie. adding stuff which is expected for "bsc" role on machines containing
no BTS.
2018-04-05 15:24:39 +02:00
Pau Espin e4e0793cb5 sysmocom-bsc-image: Remove already defined IMAGE_LINGUAS
It is already set in imported sysmocom-image.inc.
2018-04-05 14:52:25 +02:00
Pau Espin a00799a110 linux-sysmocom: apu2: defconfig: enable IGB config to enable eth ifaces
Otherwise the ifaces are not detected.
2018-04-05 14:22:34 +02:00
Pau Espin 1b0ec652ab init-install: Fix grub menuentry gen after poky upgrade
After upgrading to poky pyro, generation of grub2 menuentry in grub2
became broken. Our init-install.sh script, origianlly coming from an old
poky version, was modified in poky
c2e63957d5abaa4bb10507da5ba16f01112d0bf5 to adapt to the fact that
/etc/grub.d/40_custom was not there anymore. We need to do the same,
otherwise the menyentry is not appended to the grub config and the
installed image won't boot correctly.
2018-04-05 13:11:37 +02:00
Pau Espin 63092f6c83 initramfs-live-install: Add missing dep resize2fs required by our own init-install.sh 2018-04-04 20:17:32 +02:00
Pau Espin ea49b321ac initramfs-live-install: adapt to new mountpoint in /run
Since new poky/base components, automount mounts devices in /run/media,
not /media anymore.
2018-04-04 20:09:15 +02:00
Pau Espin e626b7950b busybox: defconfig: Enable stat cmd, required by initiramfs
poky script ./meta/recipes-core/udev/udev-extraconf/mount.sh is called
by systemd-udev rules every time a storage device is found, and it is
responisble to automount them. The init script waits until the device is
automounted to finish the boot process.

The mount.sh script sues "stat", and right now our busybox doesn't have
it enabled. As a result, stat is not found, the script fails, the
device is not mounted, and the init script hangs forever.
2018-04-04 19:44:49 +02:00
Pau Espin cbea0a81ad busybox: defconfig: update using make oldconfig
New options are assigned default values.

Make oldconfig was called by using bitbake -c devshell, then copying
../defconfig .config && make oldconfig.
2018-04-04 19:32:47 +02:00
Pau Espin 9732cc567a recipes-core: busybox: Remove dangling files for old versions
bbappend files were removed in 9b654e0a7d,
when it was decided to drop support for poky versions older than pyro.
2018-04-04 18:42:29 +02:00
Pau Espin 96674981e4 recipes-apps: busybox: Remove dead recipe files
All those files were moved to recipes-core in 6431d35a85
2018-04-04 18:27:53 +02:00
Pau Espin 8869b1c103 linux-sysmocom: apu2: Enable XHCI USB support
Without it, the kernel doesn't detect USB devices plugged to the
external usb3 ports of the apu2.
2018-04-04 16:56:47 +02:00
Pau Espin 57b0c39ba3 linux-sysmocom: Split defconfig for alix and apu2
As defconfigs will diverge, let's keep them separate.
2018-04-04 16:48:50 +02:00
Pau Espin 5dd16300a1 linux-sysmocom: bsc: Update defconfig for newer kernel 2018-04-04 16:26:34 +02:00
Pau Espin 14eb93657a task-sysmocom-tools: Keep abisip-find after split from osmo-bsc package 2018-03-27 17:42:43 +02:00
Pau Espin 09ad4b6153 task-sysmocom: Remove no longer used osmo-bsc-mgcp
Since osmo-msc a2353c69cc3d2ccc7caee4571b3b8d2a98961150 and
osmo-bsc 3561bd48976dbee8dbd4659dad15be85a3e79ace osmo-bsc-mgcp support
is dropped in favour of osmo-mgw and one instance of osmo-mgw can be
shared between osmo-msc and osmo-bsc.
2018-03-27 17:42:30 +02:00
Pau Espin 6c3b089c8f osmo-bts: sysmo-bts-calib is now handled inside autotools
Since osmo-bts bef6eae05b959b2ce395b3f949675d2a93053f0d sysmobts-calib
is integrated into autotools build system.
2018-03-27 17:42:20 +02:00
Pau Espin 9a59237a7e osmo-bts,pcu: Update to latest master 2018-03-27 17:34:37 +02:00
Pau Espin d843a8b8fb osmo-bts: stop fetching no longer needed openbsc 2018-03-27 17:31:20 +02:00
Pau Espin 56fa1a1a4b osmo-bts: Remove orphaned unused patch
This patch is not longer used since the complete declaration of the
function was removed from the header file in osmo-bts
085569df55ceb3737b79f53b015b0c064698ddc6.
2018-03-23 13:26:17 +01:00
Pau Espin 21defd1df2 task-sysmocom-feed: Add osmo-sip-connector to feeds 2018-02-16 17:42:34 +01:00
Pau Espin bc8fdb3950 lc15-firmware: Update to latest stable to fix RTP clock issues
According the Nuran there is a fix available for this issue in
litecell15-fw.git d7f05ac0b0fc9aab497d952e30c0c87b223e6b16

Related: OS#2412
2018-02-13 12:32:18 +01:00
Pau Espin adff5f7cbc lc15-firmware: Fix whitespace 2018-02-13 12:29:35 +01:00
Pau Espin 24c8cd67a2 task-sysmocom: depend on osmo-bsc-mgcp after osmo-mgw package split
osmo-mgw recipe in meta-telephony has been updated to generate several
packages. Right now, osmo-bsc requires osmo-mgw service, but osmo-msc
still requires osmo-bsc-mgcp, so let's add both to the image.
2017-12-11 18:35:21 +01:00
Pau Espin 50c63c463d Update PV for osmo-bts 2017-12-11 18:35:09 +01:00
Harald Welte 6148c8905a sysmobts-v2/sysmocom-{apu2,bsc,idu}: Update to v4.9.59 kernel 2017-12-11 18:34:19 +01:00
Harald Welte 6c794af995 Set up osmocom recipes to current git master 2017-12-11 18:33:33 +01:00
Pau Espin 77c74e4de1 osmo-pcu: Use CONFFILES for osmo-pcu.cfg 2017-12-04 18:54:12 +01:00
Pau Espin 7b700ba0a0 Drop openggsn config leftovers 2017-12-01 15:57:22 +01:00
Pau Espin 5ced13ee7e task-sysmocom: Add osmo-hnbgw to image if feature iu is enabled 2017-10-18 11:49:49 +02:00
Pau Espin aaf283eaea linux: sysmocom-apu2: Enable defconfig CONFIG_IP_NF_TARGET_MASQUERADE
After switch to linux 4.9.14, make oldconfig run by OE was disabling
CONFIG_IP_NF_TARGET_MASQUERADE even if original defconfig had it enabled
as a module. This target is required for osmo-ggsn.
2017-10-05 17:38:28 +02:00
Pau Espin e88637d7c3 linux: sysmocom-bsc: Update defconfig to kernel 4.9.14
Update with default values after make oldconfig.
2017-10-05 17:24:15 +02:00
Pau Espin f762835c6e task-sysmocom: Add task-gprscore (sgsn+ggsn) to nitb image 2017-09-27 20:34:15 +02:00
Pau Espin c86dbaa2ae task-sysmocom: replace openbsc projects with new split repos 2017-09-27 20:32:39 +02:00
Pau Espin e1793e0a07 task-gprscore: Replace openggsn with osmo-ggsn
Openggsn has been dropped in favour of osmo-sgsn in meta-telephony. Do
the same here.
2017-09-27 20:32:39 +02:00
Pau Espin b965420462 Add task-sysmocom-legacy
This new package group contains what used to be the "task-sysmocom"
group, with an osmo-nitb. In turn, task-sysmocom.bb will be changed to
use new git repositories.
2017-09-27 20:32:39 +02:00
Pau Espin 1af75ceceb Update osmocom versions to point to current master 2017-09-27 20:32:39 +02:00
Pau Espin 373fd0eda7 fixup: kernel bump PR 2017-09-27 20:32:39 +02:00
Pau Espin acd67b3037 linux: 4.9: remove deprecated module_autload_* variables
According to documentation, they are deprecated by
KERNEL_MODULE_AUTOLOAD:

WARNING: linux-sysmocom-4.9.14+gitAUTOINC+8d5d275254-r1 do_package: module_autoload_leds-gpio was replaced by KERNEL_MODULE_AUTOLOAD for cases where basename == module name, please drop it
2017-09-27 20:32:39 +02:00
Pau Espin 1237592c92 linux: sysmobts-v2: Enable defconfig CONFIG_IP_NF_TARGET_MASQUERADE
After switch to linux 4.9.14, make oldconfig run by OE was disabling
CONFIG_IP_NF_TARGET_MASQUERADE even if original defconfig had it enabled
as a module. This target is required for osmo-ggsn.
2017-09-27 20:32:39 +02:00
Pau Espin 2200c8a4ae linux: sysmobts-v2: Update defconfig to kernel 4.9.14
Update with default values after make oldconfig.
2017-09-27 20:32:39 +02:00
Pau Espin 0f1a73c0ff Introduce sysmocom-core-rauc-image
It's the same as existing sysmocom-nitb-rauc-image, but using
sysmocom-core-image as a base instead of sysmocom-nitb-image.
2017-09-08 12:01:12 +02:00
Pau Espin a9c8982a12 osmo-pcu: Fix QA issue: --enable-sysmocom-bts doesn't exist
WARNING: osmo-pcu-0.4+gitAUTOINC+0cd8e4eade-r5.18 do_configure: QA Issue: osmo-pcu: configure was passed unrecognised options: --enable-sysmocom-bts [unknown-configure-option]

Looking at ./configure --help in osmo-pcu, that option doesn't seem to
be available. The recipe is already using --enable-sysmocom-dsp too,
which is correct.

Commit d32cbbb13087eae2617920d4ea980f0e8869a89e changed --enable-sysmocom-bts to --enable-osmo-bts.
Later on, commit 08e5d604d3fce75b955549244b36fde62f20894b removed --enable-osmo-bts option.
2017-09-06 12:26:24 +02:00
Harald Welte 69092958cf autossh: Add download mirror as upstream source disappeared 2017-08-30 08:30:03 +02:00
Pau Espin d7053d5923 osmo-bts: Update SRCREV to current master
This version upgrade included required lc15-bts-mgr changes in
6fe823a7e1aa350584e60ad1813e3e154bbd003a.
2017-08-18 15:12:42 +02:00
Holger Hans Peter Freyther d4d3fb8b23 sysmobts: Change the compiler-gcc*.h to work with gcc5,6,7 and later
In the past I copy and pasted the compiler-gcc4.h to have gcc-5.h and
gcc-6.h suffix. I didn't want to do the same for gcc7 and cherry picked
the original commit. Not compile tested though.
2017-08-08 14:49:03 +08:00
Holger Hans Peter Freyther e5372b0e1d remove dora: We are exclusively using systemd and its watchdog handling 2017-08-08 14:49:03 +08:00
Holger Hans Peter Freyther f7a9058239 remove dora: No need to define an emtpy ROOTFS_PKGMANAGE_BOOTSTRAP
The variable is gone and so far we defined it to something empty in
the local.conf. No that dora support is dropped we can fix that.
2017-08-08 14:49:03 +08:00
Pau Espin 2638f83903 lc15-sysdev-remap: Set factory flash partition to readonly 2017-08-07 12:21:46 +02:00
Pau Espin a849d40a2a linux-litecell: Add patch to change led default trigger 2017-08-07 10:30:58 +02:00
Pau Espin f69a60d261 u-boot-litecell15: Update patch with sysmocom specific content
Add several more commands to flash from tftp.
2017-08-04 17:18:47 +02:00
Pau Espin 822f15f414 sysmobts2100.conf: Avoid dropping virtual/bootloader from EXTRA_IMAGEDEPENDS
Append to EXTRA_IMAGEDEPENDS instead of overriding it, as it is being
previously set by included litecell15.conf.
2017-08-04 10:43:20 +02:00
Pau Espin a3a16cab90 busybox-syslog: Enable mem buffer in syslog 2017-08-04 10:43:20 +02:00
Pau Espin c2a8cf4725 image: Avoid installing bsc and nitb in core image
Before this change, the packages were installed but not enabled to start
at boot time.
2017-08-04 10:43:20 +02:00
Pau Espin ea5a866673 Move ipaccess-utils from task-sysmocom to task-sysmocom-tools 2017-08-04 10:43:20 +02:00
Pau Espin bf6af59cf4 u-boot-litecell15: Use more generic name as default rootfs file for TFTP 2017-08-04 10:43:20 +02:00
Pau Espin 65c87d407a u-boot-litecell15: Add patch with sysmocom specific tweaks 2017-08-04 10:43:20 +02:00
Pau Espin 1db88449c5 sysmobts2100-devtools: Disable ext4 feature 64bit on generated filesystems
Current u-boot version cannot handle correctly ext4 formated with 64bit
option, which is enabled by default with recent versions of mkfs.ext4.

If option 64bit is enabled, u-boot reads the filesystem erroneously,
listing wrong directories or displaying some directories such as /boot
as empty, which forbids itself from loading the kernel and failing to
boot.

See #3733 and https://github.com/armbian/build/issues/279 for more
details.
2017-08-04 10:43:19 +02:00
Pau Espin 27a2040428 Add recipe sysmobts2100-devtools 2017-08-04 10:43:19 +02:00
Pau Espin bd3df0bfff task-sysmocom-bts: Add gpsdate
This way RTC will be updated to correct time once there's a GPS fix
after each boot.
2017-08-04 10:43:19 +02:00
Pau Espin ab9e4afa3a gpsdate: use systemd.bbclass
Also update SRCREV to one commit forward, which fixes installing the
service file when using systemctl enable (which OE uses).
2017-08-04 10:43:19 +02:00
Max 9e9fd0a020 sbts2100: cleanup kernel config
* remove commented lines
* remove tcrypt module which fails to load on the device anyway
2017-08-04 10:43:19 +02:00
Pau Espin 5ba7c52b06 gpsd: Update udev rules syntax for u-blox 4
Fixes following error during boot:
systemd-udevd[1953]: Invalid rule /etc/udev/rules.d/60-gpsd.rules:43: unknown key 'SYSFS{idVendor}'
2017-08-04 10:43:19 +02:00
Pau Espin 0707a1dc06 osmo-bts: Install correct service file for lc15bts-mgr.service 2017-08-04 10:43:19 +02:00
Pau Espin 8ef336e223 Replace base_contains with bb.utils.contains
base_contains is marked as deprecated and the build log outputs lots of lines stating so.
2017-08-04 10:43:19 +02:00
Pau Espin 7990e01fcd Replace systemd_unitdir/system with systemd_system_unitdir 2017-08-04 10:43:19 +02:00
Max c8c2531e08 Package built kernel modules
This ensures that module built from
/recipes-bsp/linux/linux-litecell15_4.4.32.bb are included into
sysmobts2100 rootfs.
2017-08-04 10:43:19 +02:00
Harald Welte eb4fcc8183 Import zeromq and its dependency libsodium from meta-oe.git
http://cgit.openembedded.org/meta-openembedded/plain/meta-oe/recipes-support/libsodium/libsodium_1.0.11.bb
http://cgit.openembedded.org/meta-openembedded/plain/meta-oe/recipes-connectivity/zeromq/zeromq_4.1.6.bb
2017-08-04 10:43:19 +02:00
Max ca35320a2d gpsd: fix build by adding missing *systemd stuff 2017-08-04 10:43:19 +02:00
Max 03d679aaab Attempt to fix gpsd build
Backport changes from
upstream (https://layers.openembedded.org/layerindex/branch/master/layer/meta-oe/):

* add systemd support
* remove obsolete idu-specific install
* remove copy-pasted commented strings to simplifa comparison
2017-08-04 10:43:19 +02:00
Max 15cb1d0902 Use gpsd.service for sysmobts2100
This should superceed the broken initscript and fix gpsd startup.
2017-08-04 10:43:19 +02:00
Max b1b0a45698 Add kernel modules to match lc15
Modules in lib/ net/ and mtd/ are ignored as they do not seem to be
relevant. Previous patch did not include it due to interdependency
problems between kernel modules which are not resolved
automatically. This is fixed now.
2017-08-04 10:43:19 +02:00
Max 566de3c67d sysmobts2100: add missing kernel modules 2017-08-04 10:43:19 +02:00
Harald Welte 8dfafd7aca n2n: Add systemd integration (service file + start script)
This allows for configuration of tunnels by putting config files into
/etc/n2n/ similar to what we're used to from /etc/openvpn/
2017-08-04 10:43:19 +02:00
Harald Welte 203b5da2b5 n2n: RRECOMMEND the tun kernel module
this way the tun module should be automatically installed with n2n
together.
2017-08-04 10:43:19 +02:00
Max 75dc0a693a Automount /mnt/rom/user partition 2017-08-04 10:43:19 +02:00
Max c50e63d550 Adjust systemd dependencies
* use systemd class to auto-enable installed services
* make sure lc15-sysdev-remap is started before lc15bts-mgr
* keep BTS-specific name to enable adjustment via service file template
  in future versions
2017-08-04 10:43:19 +02:00
Max 62f1eaed42 sysmobts2100: automount extra partitions 2017-08-04 10:43:19 +02:00
Max e1bcfeb0f5 Add lc15-sysdev-remap to sysmobts2100 rootfs 2017-08-04 10:43:19 +02:00
Max 7b529371dd BTS-specific install of sysmobts-mgr.service
Move sysmobts-mgr.service installation into per-BTS functions: use
BTS-specific config file via appropriate service name.

Related: SYS#3686
2017-08-04 10:43:19 +02:00
Max cc4ab049af Use service name matching binary name
Rename:
sysmobts -> osmo-bts-sysmo (available in master since 114293a414bd5b7c86622ec8c293c4034c80d243)
sysmopcu -> osmo-pcu (available in master since 241f5bcb00f9c6fee4200a3aea9aa497bf0d3eee)

Old names are still available via alias.
2017-08-04 10:43:19 +02:00
Max a121475a64 Import lc15-sysdev-remap from meta-nrw-bsp
Note: the script is imported as-is, but .bb file is modified because we
use .service file from previous patch instead of init file. I'm not
familiar enough with bitbake to be sure that the changes are correct so
I'd appreciate thorough review.
2017-08-04 10:43:19 +02:00
Harald Welte 8777422cfc Add recipe for n2n L2-in-L3 peer-to-peer VPN protocol
This is a basic recipe, not including any configuration or systemd
service files yet.
2017-08-04 10:43:19 +02:00
Harald Welte 40e3e9a646 Add omapconf recipe from aarago-project.org
specifically, recipe was fetched via
http://arago-project.org/git/?p=meta-arago.git;a=blob_plain;f=meta-arago-extras/recipes-devtools/omapconf/omapconf_git.bb;hb=master
2017-08-04 10:43:19 +02:00
Harald Welte e77c036a3d Revert "osmo-bts: Config file in 'stable' version is still in different path"
This reverts commit 4f8f48035a, as it was
only needed for master, but not for nightly
2017-08-04 10:43:19 +02:00
Harald Welte 00607e2b6c upload_nightly.sh: Enable use for different machines 2017-08-04 10:43:19 +02:00
Harald Welte 160687ed71 don't use gcc6 linking patch on nightly builds 2017-08-04 10:43:19 +02:00
Holger Hans Peter Freyther 1af79c6d0e upload_nightly.sh: Add simple upload script for the nightly build
Instead of placing it on the Jenkins node and not being under SCM
let's put it here and keep it in this branch.
2017-08-04 10:43:19 +02:00
Harald Welte 5fdc64f098 Update SRCREV to current master for osmo-bts and osmo-pcu 2017-08-04 10:43:19 +02:00
Holger Hans Peter Freyther 9b654e0a7d Drop multi OpenEmbedded version support and target pyro or later
Move the shared files into yocto-fixes/ and the files from master. The
next step is maybe to remove the indirection again. We will see about
it in the future.
2017-08-04 14:15:05 +08:00
180 changed files with 15071 additions and 4213 deletions

View File

@ -3,14 +3,10 @@ BBPATH := "${BBPATH}:${LAYERDIR}"
# We have a packages directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILES += "${LAYERDIR}/yocto-shared/*.bbappend"
# Now we will need to include the matching fixes for a yocto version
BBFILES += "${BBFILES_SYSMOCOM_BSP}"
# selects specific distro or master when DISTRO_VERSION contains snapshot
BBFILES_SYSMOCOM_BSP = "${LAYERDIR}/yocto-${@dict([('1.5', 'dora')]).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"
# Fixes for the yocto version targeted
BBFILES += "${LAYERDIR}/yocto-fixes/*.bbappend ${LAYERDIR}/yocto-fixes/*/*.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.14+git%')}"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.59+git%')}"
PREFERRED_PROVIDERS += "virtual/${TARGET_PREFIX}depmod:module-init-tools-cross"
PREFERRED_VERSION_u-boot = "git"

59
conf/machine/oc2g.conf Normal file
View File

@ -0,0 +1,59 @@
#@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,6 +7,14 @@ 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 \
"
@ -15,3 +23,4 @@ MACHINE_EXTRA_RDEPENDS = "\
task-sysmocom-bts \
${@['watchdog', ''][d.getVar('VIRTUAL-RUNTIME_init_manager', True) == 'systemd']} \
"
EXTRA_IMAGEDEPENDS += "sysmobts2100-devtools"

View File

@ -3,4 +3,39 @@
#@DESCRIPTION: Machine configuration for sysmocom alix2d based hardware
require sysmocom-bsc.conf
MACHINEOVERRIDES = "${MACHINE}:sysmocom-bsc"
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 "

View File

@ -5,13 +5,14 @@
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.14+git%')}"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.59+git%')}"
MACHINE_FEATURES += "kernel26 x86 usbhost pci acpi"
@ -36,8 +37,3 @@ 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,39 +1,5 @@
#@TYPE: Machine
#@NAME: common_pc
#@DESCRIPTION: Machine configuration for running a common x86
MACHINEOVERRIDES = "${MACHINE}:sysmocom-bsc"
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 "
MACHINE_EXTRA_RDEPENDS = "\
dnsmasq \
"

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.14+git%')}"
PREFERRED_VERSION_linux-sysmocom = "${@dict([('1.5', '3.10.84+git%')]).get(d.getVar('DISTRO_VERSION', True)[0:3],'4.9.59+git%')}"
MACHINE_FEATURES += "kernel26 x86 usbhost pci acpi"

View File

@ -7,6 +7,8 @@ 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

@ -1,77 +0,0 @@
#! /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

@ -1,22 +0,0 @@
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

@ -1,15 +0,0 @@
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 ${ROOTFS_PKGMANAGE_BOOTSTRAP} packagegroup-osmocom task-sysmocom"
IMAGE_INSTALL = "task-core-boot packagegroup-osmocom task-sysmocom-tools"
IMAGE_LINGUAS = " "
LICENSE = "MIT"

View File

@ -0,0 +1,2 @@
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_BOOTSTRAP} ${ROOTFS_PKGMANAGE} packagegroup-osmocom task-sysmocom task-sysmocom-debug task-sysmocom-tools ${MACHINE_EXTRA_RDEPENDS} "
IMAGE_INSTALL = "task-core-boot ${ROOTFS_PKGMANAGE} packagegroup-osmocom task-sysmocom-debug task-sysmocom-tools ${MACHINE_EXTRA_RDEPENDS} "
IMAGE_LINGUAS = " "
IMAGE_FEATURES += " package-management "
LICENSE = "MIT"

View File

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

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_unitdir}/system
install -m 0644 ${WORKDIR}/data.mount ${D}${systemd_unitdir}/system/
install -m 0644 ${WORKDIR}/sysmocom-restore.service ${D}${systemd_unitdir}/system/
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}/
}
SYSTEMD_PACKAGES = "${PN}"

View File

@ -3,20 +3,21 @@ etc/ifplugd.sh
etc/network/interfaces
etc/openvpn
etc/opkg/sysmocom-config.conf
etc/osmocom/osmo-bsc-mgcp.cfg
etc/osmocom/osmo-mgw.cfg
etc/osmocom/osmo-bsc.cfg
etc/osmocom/osmo-bts.cfg
etc/osmocom/osmo-nitb.cfg
etc/osmocom/osmo-msc.cfg
etc/osmocom/osmo-pcu.cfg
etc/osmocom/osmo-sgsn.cfg
etc/systemd/system/multi-user.target.wants/osmo-nitb.service
etc/systemd/system/multi-user.target.wants/osmo-bsc.service
etc/systemd/system/multi-user.target.wants/osmo-sgsn.service
etc/ggsn.conf
etc/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/default
var/lib/osmocom/hlr.sqlite3
var/lib/osmocom/hlr.db
etc/lcr
etc/udhcpd.conf
/etc/dnsmasq.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 = "r13"
PR = "r15"
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_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/
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/
}

View File

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

View File

@ -4,14 +4,15 @@ LIC_FILES_CHKSUM = " \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "virtual/kernel"
ALLOW_EMPTY_${PN} = "1"
PR = "r24"
PR = "r25"
CALIB = ""
CALIB_sysmobts-v2 = "sysmobts-calib sysmobts-util"
UTIL = ""
UTIL_sysmobts-v2 = "sbts2050-util gpsd gps-utils"
UTIL_sysmobts2100 = "gpsd gps-utils"
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"
# 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 = "r4"
PR = "r5"
RDEPENDS_${PN} = "\
dropbear \
@ -14,5 +14,6 @@ RDEPENDS_${PN} = "\
gdb \
gdbserver \
net-tools \
n2n \
"

View File

@ -3,11 +3,12 @@ LICENSE = "MIT"
LIC_FILES_CHKSUM = " \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
ALLOW_EMPTY_${PN} = "1"
PR = "r21"
PR = "r22"
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 \
@ -16,4 +17,6 @@ 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"
netcat-openbsd perf lksctp-tools task-gprscore \
osmo-sip-connector osmo-sysmon \
"

View File

@ -0,0 +1,15 @@
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 = "r10"
PR = "r12"
RDEPENDS_${PN} = "\
lmsensors-scripts \
@ -14,6 +14,8 @@ 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 = "r11"
PR = "r16"
RDEPENDS_${PN} = "\
task-sysmocom-tools \
task-gprscore \
osmo-bsc \
osmo-bsc-mgcp \
osmo-bsc-nat \
osmo-gbproxy \
osmo-nitb \
ipaccess-utils \
osmo-mgw \
osmo-msc \
osmo-hlr \
osmo-stp \
${@bb.utils.contains('DISTRO_FEATURES', 'iu', 'osmo-hnbgw', '', d)} \
"

View File

@ -1,6 +1,6 @@
require barebox.inc
SRCREV = "1d8bdd6f226df2ecbde3776b52fbc228158293fd"
SRCREV = "d87c27d7ab143d58f358df5722be2b9675103d2e"
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="4"
PRINC="5"

View File

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

@ -0,0 +1,33 @@
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+git${SRCPV}"
PV = "4.4.32.33+git${SRCPV}"
PKGV = "${PKGGITV}"
DEV_BRANCH = "${@ 'nrw/litecell15-next' if d.getVar('NRW_BSP_DEVEL', False) == "next" else 'nrw/litecell15'}"
@ -61,18 +61,19 @@ do_configure_prepend() {
sed -i -e 's/EXTRAVERSION =.*/EXTRAVERSION = .${PKGGITN}-lc15/g' ${S}/Makefile
}
SRC_URI += "file://defconfig"
SRC_URI += "file://defconfig \
file://0001-litecell15.dts-Set-default-let-trigger-to-none.patch"
# autoload defaults (alphabetically sorted)
module_autoload_fpgadl = "fpgadl"
# autoload defaults
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 = "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"
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"
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

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

View File

@ -0,0 +1,63 @@
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.14"
LINUX_VERSION ?= "4.9.59"
LINUX_VERSION_EXTENSION ?= "-sysmocom-${LINUX_KERNEL_TYPE}"
# Overrides for the sysmocom bts v2
BTS_FIRMWARE_NAME_sysmobts-v2 = "sysmobts-v2"
SRCREV = "8d5d275254642b70b3ecf18a5b9b9fe9d5777230"
SRCREV = "27afed74546b4fa5546aeea26128eae2dcdc7c1f"
PR = "r1"
PR = "r6"
PV = "${LINUX_VERSION}+git${SRCPV}"
SRC_URI = "git://git.sysmocom.de/sysmo-bts/linux.git;protocol=git;branch=lynxis/v4.9 \
SRC_URI = "git://git.sysmocom.de/sysmo-bts/linux.git;protocol=git;branch=tracking/linux-stable-4.9 \
file://defconfig"
S = "${WORKDIR}/git"
@ -34,16 +34,8 @@ do_configure() {
}
# autoload defaults (alphabetically sorted)
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"
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 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_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_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}/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_unitdir}/system/ntpdate.service \
${systemd_system_unitdir}/ntpdate.service \
${bindir}/ntpdate-cron \
${sysconfdir}/cron.d/ntpdate \
"
FILES_sntp = "${sbindir}/sntp \
${sysconfdir}/default/sntp \
${systemd_unitdir}/system/sntp.service \
${systemd_system_unitdir}/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_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/
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/
}
FILES_${PN} += "${systemd_unitdir}"

View File

@ -0,0 +1,183 @@
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,6 +29,7 @@ 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

@ -0,0 +1,41 @@
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

@ -0,0 +1,20 @@
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 = "r1"
INC_PR = "r2"
PACKAGE_ARCH = "${MACHINE_ARCH}"

View File

@ -1,81 +0,0 @@
#!/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

@ -1,41 +0,0 @@
#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

@ -1,24 +0,0 @@
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

@ -1,88 +0,0 @@
##############################################################################
#
# 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

@ -1,88 +0,0 @@
##############################################################################
#
# 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

@ -1,11 +0,0 @@
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_unitdir}/system/multi-user.target.wants/
ln -sf ../openvpn.service ${D}${systemd_unitdir}/system/multi-user.target.wants/
install -d ${D}${systemd_system_unitdir}/multi-user.target.wants/
ln -sf ../openvpn.service ${D}${systemd_system_unitdir}/multi-user.target.wants/
}

View File

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

View File

@ -0,0 +1,32 @@
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

@ -1,36 +0,0 @@
#!/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

@ -1,62 +0,0 @@
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

@ -0,0 +1,26 @@
#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 = "30"
PRINC = "32"
SRC_URI += "file://udhcpc-ntp.sh \
file://udhcpc-ntp.default \

View File

@ -1,18 +0,0 @@
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.16.2
# Tue Oct 26 15:07:52 2010
# Busybox version: 1.24.1
# Wed Apr 4 19:29:25 2018
#
CONFIG_HAVE_DOT_CONFIG=y
@ -16,6 +16,7 @@ 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
@ -23,13 +24,27 @@ 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_FEATURE_ASSUME_UNICODE is not set
CONFIG_UNICODE_SUPPORT=y
# CONFIG_UNICODE_USING_LOCALE 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
@ -50,22 +65,25 @@ 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
# Installation Options ("make install" behavior)
#
# 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
@ -78,15 +96,21 @@ CONFIG_PREFIX="./_install"
#
# Busybox Library Tuning
#
CONFIG_FEATURE_SYSTEMD=y
CONFIG_FEATURE_RTMINMAX=y
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SIZE_VS_SPEED=2
CONFIG_MD5_SMALL=1
CONFIG_SHA3_SMALL=1
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
@ -94,6 +118,7 @@ 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
@ -105,13 +130,22 @@ 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
@ -119,13 +153,14 @@ 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_RPM2CPIO is not set
# CONFIG_RPM is not set
# CONFIG_RPM2CPIO is not set
CONFIG_TAR=y
CONFIG_FEATURE_TAR_CREATE=y
CONFIG_FEATURE_TAR_AUTODETECT=y
@ -134,19 +169,46 @@ 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_UNCOMPRESS is not set
# CONFIG_UNLZMA is not set
# CONFIG_FEATURE_LZMA_FAST is not set
# CONFIG_FEATURE_TAR_SELINUX is not set
CONFIG_UNZIP=y
#
# Coreutils
#
CONFIG_BASENAME=y
# CONFIG_CAL is not set
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_CATV is not set
CONFIG_CHGRP=y
CONFIG_CHMOD=y
@ -158,13 +220,6 @@ 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
@ -185,11 +240,8 @@ 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
@ -224,6 +276,7 @@ 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
@ -231,25 +284,19 @@ CONFIG_SORT=y
CONFIG_FEATURE_SORT_BIG=y
# CONFIG_SPLIT is not set
# CONFIG_FEATURE_SPLIT_FANCY is not set
# CONFIG_STAT is not set
# CONFIG_FEATURE_STAT_FORMAT is not set
CONFIG_STAT=y
CONFIG_FEATURE_STAT_FORMAT=y
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
@ -258,10 +305,14 @@ 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
#
@ -278,7 +329,7 @@ CONFIG_FEATURE_AUTOWIDTH=y
CONFIG_FEATURE_HUMAN_READABLE=y
#
# Common options for md5sum, sha1sum, sha256sum, sha512sum
# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
#
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
@ -286,6 +337,7 @@ CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
# Console Utilities
#
CONFIG_CHVT=y
CONFIG_FGCONSOLE=y
CONFIG_CLEAR=y
CONFIG_DEALLOCVT=y
CONFIG_DUMPKMAP=y
@ -305,6 +357,12 @@ 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
#
@ -323,6 +381,7 @@ 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
@ -336,13 +395,17 @@ 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_OPTIMIZE_CURSOR=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_ALLOW_EXEC=y
#
@ -359,6 +422,7 @@ 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
@ -380,10 +444,17 @@ 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
@ -393,35 +464,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_HALT=y
# CONFIG_FEATURE_CALL_TELINIT is not set
CONFIG_TELINIT_PATH=""
CONFIG_INIT_TERMINAL_TYPE=""
# 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_PAM is not set
# CONFIG_LOGIN_SESSION_AS_CHILD is not set
# CONFIG_LOGIN_SCRIPTS is not set
# CONFIG_FEATURE_NOLOGIN is not set
# CONFIG_FEATURE_SECURETTY is not set
@ -429,6 +500,7 @@ CONFIG_FEATURE_UTMP=y
# 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
@ -441,10 +513,12 @@ CONFIG_FEATURE_UTMP=y
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
@ -475,9 +549,31 @@ 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
@ -486,22 +582,20 @@ CONFIG_FEATURE_FBSET_READMODE=y
# CONFIG_FDFLUSH is not set
# CONFIG_FDFORMAT is not set
CONFIG_FDISK=y
CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
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
@ -518,43 +612,9 @@ 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
@ -564,6 +624,7 @@ 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
@ -573,13 +634,70 @@ 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
@ -592,10 +710,6 @@ 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
@ -617,15 +731,6 @@ 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
@ -646,18 +751,33 @@ 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
@ -673,13 +793,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
@ -689,6 +809,7 @@ 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
@ -717,6 +838,7 @@ 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
@ -729,23 +851,17 @@ 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_PING=y
CONFIG_PING6=y
CONFIG_FEATURE_FANCY_PING=y
# CONFIG_FEATURE_NTPD_CONF is not set
# 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
@ -754,6 +870,10 @@ 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
@ -764,29 +884,28 @@ 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_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
# CONFIG_VCONFIG is not set
# CONFIG_ZCIP is not set
#
# Print Utilities
@ -809,24 +928,15 @@ CONFIG_FEATURE_MIME_CHARSET=""
#
# Process Utilities
#
CONFIG_FREE=y
CONFIG_FUSER=y
CONFIG_KILL=y
CONFIG_KILLALL=y
# CONFIG_KILLALL5 is not set
CONFIG_IOSTAT=y
CONFIG_LSOF=y
CONFIG_MPSTAT=y
# CONFIG_NMETER is not set
# CONFIG_PGREP is not set
CONFIG_PIDOF=y
# CONFIG_FEATURE_PIDOF_SINGLE is not set
# CONFIG_FEATURE_PIDOF_OMIT is not set
# CONFIG_PKILL is not set
CONFIG_PS=y
CONFIG_FEATURE_PS_WIDE=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_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
@ -834,8 +944,27 @@ CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
# 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_FEATURE_UPTIME_UTMP_SUPPORT=y
CONFIG_FREE=y
CONFIG_FUSER=y
CONFIG_KILL=y
CONFIG_KILLALL=y
# CONFIG_KILLALL5 is not set
# CONFIG_PGREP is not set
CONFIG_PIDOF=y
# CONFIG_FEATURE_PIDOF_SINGLE is not set
# CONFIG_FEATURE_PIDOF_OMIT is not set
# 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_FEATURE_SHOW_THREADS is not set
CONFIG_WATCH=y
#
@ -871,26 +1000,28 @@ 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
@ -898,16 +1029,22 @@ 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_EXPORT_N is not set
# CONFIG_HUSH_RANDOM_SUPPORT is not set
# CONFIG_LASH is not set
# CONFIG_HUSH_EXPORT_N is not set
# CONFIG_HUSH_MODE_X 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_CTTYHACK is not set
CONFIG_FEATURE_SH_HISTFILESIZE=y
#
# System Logging Utilities
@ -916,9 +1053,17 @@ 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_BOOTSTRAP} ${ROOTFS_PKGMANAGE} rauc dropbear"
PACKAGE_INSTALL = "task-core-boot ${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=/media/$dev_name/$image_name of=$rootfs bs=1024
dd if=/run/media/$dev_name/$image_name of=$rootfs bs=1024
# Handling of the target root partition
mount $rootfs /tgt_root
@ -184,21 +184,18 @@ password $BOOTUSER $BOOTPASSWD
EOF
fi
if [ -f /etc/grub.d/40_custom ] ; then
if [ -f /etc/grub.d/00_header ] ; then
echo "Preparing custom grub2 menu..."
cat /etc/grub.d/40_custom >> $GRUBCFG
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
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
@ -218,7 +215,7 @@ echo "Re-mounting the root and trying to apply backup."
mount $rootfs /tgt_root
echo "Finding backupfiles"
backupfile=`find /media/$dev_name/ -name "sysmocom-backup*.tar" | head -n1`
backupfile=`find /run/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 = "2"
PRINC = "5"
RDEPENDS_${PN} += "e2fsprogs-e2fsck"
RDEPENDS_${PN} += "e2fsprogs-e2fsck e2fsprogs-resize2fs"

View File

@ -0,0 +1,25 @@
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

@ -0,0 +1,45 @@
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

@ -0,0 +1,43 @@
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 = "network"
SECTION = "net"
HOMEPAGE = "http://packages.debian.org/atftp"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
@ -12,12 +12,16 @@ 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 useradd systemd
inherit autotools update-rc.d systemd
PACKAGECONFIG ??= "tcp-wrappers"
PACKAGECONFIG[pcre] = "--enable-libpcre,--disable-libpcre,libpcre"
@ -28,9 +32,8 @@ INITSCRIPT_PACKAGES = "${PN}d"
INITSCRIPT_NAME_${PN}d = "atftpd"
INITSCRIPT_PARAMS_${PN}d = "defaults 80"
USERADD_PACKAGES = "${PN}d"
USERADD_PARAM_${PN}d = "--system --no-create-home --shell /bin/false \
--user-group nobody"
EXTRA_OEMAKE = "CFLAGS='${CFLAGS} -std=gnu89'"
do_install_append() {
install -d ${D}${sysconfdir}/init.d
@ -39,7 +42,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=${@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)}' \
'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)}' \
'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_unitdir}/system
install -m 0644 ${WORKDIR}/dnsmasq.service ${D}${systemd_unitdir}/system
install -d ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/dnsmasq.service ${D}${systemd_system_unitdir}
install -m 0755 ${S}/contrib/wrt/dhcp_release ${D}${bindir}
if [ "${@base_contains('PACKAGECONFIG', 'dbus', 'dbus', '', d)}" != "" ]; then
if [ "${@bb.utils.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

@ -1,29 +0,0 @@
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
SYSFS{idVendor}=="1546", SYSFS{idProduct}=="01a4", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
ATTR{idVendor}=="1546", ATTR{idProduct}=="01a4", SYMLINK="gps%n", RUN+="/lib/udev/gpsd.hotplug.wrapper"
ACTION=="remove", RUN+="/lib/udev/gpsd.hotplug.wrapper"

View File

@ -0,0 +1,5 @@
# 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

@ -0,0 +1,13 @@
[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,12 +1,11 @@
DESCRIPTION = "A TCP/IP Daemon simplifying the communication with GPS devices"
SUMMARY = "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.19"
PR = "r3.20"
SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${P}.tar.gz \
file://0002-SConstruct-respect-sysroot-also-in-SPLINTOPTS.patch \
@ -19,19 +18,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 python-dir pythonnative
inherit scons update-rc.d
inherit scons update-rc.d systemd
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}"
@ -64,10 +63,11 @@ 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,57 +106,47 @@ do_install_append() {
install -d ${D}${base_libdir}/udev/
install -m 0755 ${S}/gpsd.hotplug ${D}${base_libdir}/udev/
#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/
#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
}
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"
#FILES_python-pygps-dbg += " ${libdir}/python*/site-packages/gps/.debug"
RDEPENDS_${PN} = "gpsd-gpsctl"
RRECOMMENDS_${PN} = "gpsd-conf gpsd-machine-conf"
RSUGGESTS_${PN} = "gpsd-udev"
RRECOMMENDS_${PN} = "gpsd-conf gpsd-udev gpsd-machine-conf"
DESCRIPTION_gpsd-udev = "udev relevant files to use gpsd hotplugging"
SUMMARY_gpsd-udev = "udev relevant files to use gpsd hotplugging"
FILES_gpsd-udev = "${base_libdir}/udev ${sysconfdir}/udev/*"
RDEPENDS_gpsd-udev += "udev gpsd-conf"
DESCRIPTION_libgpsd = "C service library used for communicating with gpsd"
SUMMARY_libgpsd = "C service library used for communicating with gpsd"
FILES_libgpsd = "${libdir}/libgpsd.so.*"
DESCRIPTION_libgps = "C service library used for communicating with gpsd"
SUMMARY_libgps = "C service library used for communicating with gpsd"
FILES_libgps = "${libdir}/libgps.so.*"
DESCRIPTION_gpsd-conf = "gpsd configuration files and init scripts"
SUMMARY_gpsd-conf = "gpsd configuration files and init scripts"
FILES_gpsd-conf = "${sysconfdir}"
FILES_gpsd-conf_append_sysmocom-idu = " ${systemd_unitdir}/system/ "
FILES_gpsd-conf_append_sysmocom-idu = " ${systemd_system_unitdir}/ "
CONFFILES_gpsd-conf = "${sysconfdir}/default/gpsd.default"
DESCRIPTION_gpsd-gpsctl = "Tool for tweaking GPS modes"
SUMMARY_gpsd-gpsctl = "Tool for tweaking GPS modes"
FILES_gpsd-gpsctl = "${bindir}/gpsctl"
DESCRIPTION_gps-utils = "Utils used for simulating, monitoring,... a GPS"
SUMMARY_gps-utils = "Utils used for simulating, monitoring,... a GPS"
FILES_gps-utils = "${bindir}/*"
#RDEPENDS_gps-utils = "python-pygps"
#DESCRIPTION_python-pygps = "Python bindings to gpsd"
#FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
#RDEPENDS_python-pygps = "python-core python-curses gpsd python-json"
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
SYSTEMD_SERVICE_${PN} = "${PN}.socket"

View File

@ -12,13 +12,15 @@ PV = "0.2+git${SRCPV}"
SRC_URI = "git://git.sysmocom.de/gpsdate.git;branch=master \
file://gpsdate.default \
"
SRCREV = "81690ca78e816f86e0da11bbe8cba725fa1a634d"
SRCREV = "cd7b77ef311f317aac7a067308a94e46811a20f2"
S = "${WORKDIR}/git"
INITSCRIPT_NAME = "gpsdate"
INITSCRIPT_PARAMS = "defaults 35"
inherit update-rc.d
inherit update-rc.d systemd
SYSTEMD_SERVICE_${PN} = "${PN}.service"
do_install() {
install -d ${D}/${sbindir}
@ -27,18 +29,13 @@ do_install() {
install -d ${D}/${sysconfdir}/init.d
install -m 0755 ${S}/gpsdate.init ${D}/${sysconfdir}/init.d/gpsdate
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}${systemd_system_unitdir}
install -m 0644 ${S}/gpsdate.service ${D}${systemd_system_unitdir}
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

@ -1,14 +0,0 @@
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

@ -0,0 +1,25 @@
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

@ -0,0 +1,16 @@
#!/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

@ -0,0 +1,12 @@
[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

@ -0,0 +1,46 @@
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 ${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
DEPENDS = "lzo openssl iproute2 ${@bb.utils.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 += "${@base_contains('DISTRO_FEATURES', 'pam', '', '--disable-plugin-auth-pam', d)}"
EXTRA_OECONF += "${@bb.utils.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_unitdir}/system
install -d ${D}${systemd_system_unitdir}
install -d ${D}${systemd_unitdir}/system-generators
install -m 0644 ${WORKDIR}/openvpn.service ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/openvpn@.service ${D}${systemd_unitdir}/system
install -m 0644 ${WORKDIR}/openvpn.service ${D}${systemd_system_unitdir}
install -m 0644 ${WORKDIR}/openvpn@.service ${D}${systemd_system_unitdir}
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 = "http://pypi.python.org/packages/source/e/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
SRC_URI = "https://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_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
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
# 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_unitdir}/system/basic.target.wants
install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/
install -d ${D}${systemd_system_unitdir}/basic.target.wants
install -d ${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/
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/
}
FILES_${PN} = "${systemd_unitdir}/system ${bindir}"
FILES_${PN} = "${systemd_system_unitdir} ${bindir}"

View File

@ -0,0 +1,43 @@
# 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,6 +12,7 @@ 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

@ -0,0 +1,72 @@
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

@ -0,0 +1,190 @@
#!/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

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

View File

@ -0,0 +1,193 @@
#!/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

@ -0,0 +1,22 @@
[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

@ -0,0 +1,25 @@
[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

@ -0,0 +1,269 @@
#!/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

@ -0,0 +1,444 @@
#!/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

@ -0,0 +1,3 @@
#!/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