diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..4f1b03503e --- /dev/null +++ b/.travis.yml @@ -0,0 +1,5 @@ +before_install: + - sudo apt-get -qq update + - sudo apt-get install -y bc + +script: ./build.sh raspberrypi all > /dev/null diff --git a/board/bananapi/uInitrd b/board/bananapi/uInitrd index efc46c2fdd..6dfda81ef8 100644 Binary files a/board/bananapi/uInitrd and b/board/bananapi/uInitrd differ diff --git a/board/common/busybox.config b/board/common/busybox.config index 2f893802ac..3ad577a093 100644 --- a/board/common/busybox.config +++ b/board/common/busybox.config @@ -1,43 +1,25 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.24.1 -# Sun Jul 31 15:31:53 2016 +# Busybox version: 1.26.2 +# Sun Jul 9 17:42:36 2017 # CONFIG_HAVE_DOT_CONFIG=y # # Busybox Settings # - -# -# General Configuration -# CONFIG_DESKTOP=y # CONFIG_EXTRA_COMPAT is not set CONFIG_INCLUDE_SUSv2=y # 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 CONFIG_SHOW_USAGE=y CONFIG_FEATURE_VERBOSE_USAGE=y # CONFIG_FEATURE_COMPRESS_USAGE is not set +CONFIG_BUSYBOX=y CONFIG_FEATURE_INSTALLER=y # CONFIG_INSTALL_NO_USR is not set -# CONFIG_LOCALE_SUPPORT is not set -# CONFIG_UNICODE_SUPPORT is not set -# CONFIG_UNICODE_USING_LOCALE is not set -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set -CONFIG_SUBST_WCHAR=0 -CONFIG_LAST_SUPPORTED_WCHAR=0 -# 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=y @@ -70,17 +52,6 @@ CONFIG_EXTRA_CFLAGS="" CONFIG_EXTRA_LDFLAGS="" CONFIG_EXTRA_LDLIBS="" -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_UNIT_TEST is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set - # # Installation Options ("make install" behavior) # @@ -93,11 +64,26 @@ CONFIG_INSTALL_APPLET_SYMLINKS=y # CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set CONFIG_PREFIX="./_install" +# +# Debugging Options +# +# CONFIG_DEBUG is not set +# CONFIG_DEBUG_PESSIMIZE is not set +# CONFIG_DEBUG_SANITIZE 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 + # # Busybox Library Tuning # -# CONFIG_FEATURE_SYSTEMD is not set +# CONFIG_FEATURE_USE_BSS_TAIL is not set CONFIG_FEATURE_RTMINMAX=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 CONFIG_PASSWORD_MINLEN=6 CONFIG_MD5_SMALL=1 CONFIG_SHA3_SMALL=1 @@ -115,8 +101,20 @@ CONFIG_FEATURE_TAB_COMPLETION=y # CONFIG_FEATURE_USERNAME_COMPLETION is not set CONFIG_FEATURE_EDITING_FANCY_PROMPT=y # CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set +# CONFIG_LOCALE_SUPPORT is not set +# CONFIG_UNICODE_SUPPORT is not set +# CONFIG_UNICODE_USING_LOCALE is not set +# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set +CONFIG_SUBST_WCHAR=0 +CONFIG_LAST_SUPPORTED_WCHAR=0 +# 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_FEATURE_NON_POSIX_CP=y # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set +CONFIG_FEATURE_USE_SENDFILE=y CONFIG_FEATURE_COPYBUF_KB=4 CONFIG_FEATURE_SKIP_ROOTFS=y CONFIG_MONOTONIC_SYSCALL=y @@ -140,11 +138,16 @@ CONFIG_FEATURE_HWIB=y # CONFIG_FEATURE_AR_CREATE is not set # CONFIG_UNCOMPRESS is not set # CONFIG_GUNZIP is not set +CONFIG_ZCAT=y +CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y # CONFIG_BUNZIP2 is not set +CONFIG_BZCAT=y # CONFIG_UNLZMA is not set -# CONFIG_FEATURE_LZMA_FAST is not set +CONFIG_LZCAT=y # CONFIG_LZMA is not set +# CONFIG_FEATURE_LZMA_FAST is not set # CONFIG_UNXZ is not set +CONFIG_XZCAT=y # CONFIG_XZ is not set # CONFIG_BZIP2 is not set # CONFIG_CPIO is not set @@ -152,12 +155,13 @@ CONFIG_FEATURE_HWIB=y # CONFIG_FEATURE_CPIO_P is not set # CONFIG_DPKG is not set # CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set # CONFIG_GZIP is not set # 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_UNLZOP=y +CONFIG_LZOPCAT=y # CONFIG_LZOP_COMPR_HIGH is not set # CONFIG_RPM2CPIO is not set # CONFIG_RPM is not set @@ -179,36 +183,8 @@ CONFIG_GZIP_FAST=0 # Coreutils # CONFIG_BASENAME=y -CONFIG_CAT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -CONFIG_FEATURE_DATE_NANO=y -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=y -CONFIG_FEATURE_DD_STATUS=y -CONFIG_HOSTID=y -CONFIG_ID=y -# CONFIG_GROUPS is not set -# CONFIG_SHUF is not set -CONFIG_SYNC=y -CONFIG_FEATURE_SYNC_FANCY=y -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y -CONFIG_TOUCH=y -# CONFIG_FEATURE_TOUCH_NODEREF is not set -CONFIG_FEATURE_TOUCH_SUSV3=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -CONFIG_FEATURE_TR_EQUIV=y -CONFIG_TRUNCATE=y -CONFIG_UNLINK=y -# CONFIG_BASE64 is not set -CONFIG_WHO=y -# CONFIG_USERS is not set # CONFIG_CAL is not set +CONFIG_CAT=y CONFIG_CATV=y CONFIG_CHGRP=y CONFIG_CHMOD=y @@ -220,6 +196,15 @@ CONFIG_CKSUM=y CONFIG_CP=y # CONFIG_FEATURE_CP_LONG_OPTIONS is not set CONFIG_CUT=y +CONFIG_DATE=y +CONFIG_FEATURE_DATE_ISOFMT=y +CONFIG_FEATURE_DATE_NANO=y +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=y +CONFIG_FEATURE_DD_STATUS=y CONFIG_DF=y # CONFIG_FEATURE_DF_FANCY is not set CONFIG_DIRNAME=y @@ -233,6 +218,8 @@ CONFIG_ENV=y # CONFIG_FEATURE_ENV_LONG_OPTIONS is not set # CONFIG_EXPAND is not set # CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set +# CONFIG_UNEXPAND is not set +# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set CONFIG_EXPR=y CONFIG_EXPR_MATH_SUPPORT_64=y CONFIG_FALSE=y @@ -240,6 +227,9 @@ CONFIG_FOLD=y # CONFIG_FSYNC is not set CONFIG_HEAD=y CONFIG_FEATURE_FANCY_HEAD=y +CONFIG_HOSTID=y +CONFIG_ID=y +# CONFIG_GROUPS is not set CONFIG_INSTALL=y CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y CONFIG_LN=y @@ -254,6 +244,15 @@ CONFIG_FEATURE_LS_USERNAME=y CONFIG_FEATURE_LS_COLOR=y CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y CONFIG_MD5SUM=y +CONFIG_SHA1SUM=y +CONFIG_SHA256SUM=y +CONFIG_SHA512SUM=y +CONFIG_SHA3SUM=y + +# +# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum +# +CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y CONFIG_MKDIR=y CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y CONFIG_MKFIFO=y @@ -273,10 +272,7 @@ CONFIG_RM=y CONFIG_RMDIR=y # CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set CONFIG_SEQ=y -CONFIG_SHA1SUM=y -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y -CONFIG_SHA3SUM=y +# CONFIG_SHUF is not set CONFIG_SLEEP=y # CONFIG_FEATURE_FANCY_SLEEP is not set # CONFIG_FEATURE_FLOAT_SLEEP is not set @@ -286,26 +282,42 @@ CONFIG_FEATURE_SORT_BIG=y # CONFIG_FEATURE_SPLIT_FANCY is not set CONFIG_STAT=y CONFIG_FEATURE_STAT_FORMAT=y +CONFIG_FEATURE_STAT_FILESYSTEM=y CONFIG_STTY=y # CONFIG_SUM is not set +CONFIG_SYNC=y +CONFIG_FEATURE_SYNC_FANCY=y # CONFIG_TAC is not set CONFIG_TAIL=y CONFIG_FEATURE_FANCY_TAIL=y CONFIG_TEE=y CONFIG_FEATURE_TEE_USE_BLOCK_IO=y +CONFIG_TEST=y +CONFIG_TEST1=y +CONFIG_TEST2=y +CONFIG_FEATURE_TEST_64=y +CONFIG_TOUCH=y +# CONFIG_FEATURE_TOUCH_NODEREF is not set +CONFIG_FEATURE_TOUCH_SUSV3=y +CONFIG_TR=y +CONFIG_FEATURE_TR_CLASSES=y +CONFIG_FEATURE_TR_EQUIV=y CONFIG_TRUE=y +CONFIG_TRUNCATE=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 +CONFIG_UNLINK=y CONFIG_USLEEP=y CONFIG_UUDECODE=y +# CONFIG_BASE64 is not set CONFIG_UUENCODE=y CONFIG_WC=y # CONFIG_FEATURE_WC_LARGE is not set CONFIG_WHOAMI=y +CONFIG_WHO=y +# CONFIG_USERS is not set CONFIG_YES=y # @@ -328,21 +340,21 @@ CONFIG_FEATURE_AUTOWIDTH=y # CONFIG_FEATURE_HUMAN_READABLE=y -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - # # Console Utilities # # CONFIG_CHVT is not set -# CONFIG_FGCONSOLE is not set CONFIG_CLEAR=y # CONFIG_DEALLOCVT is not set # CONFIG_DUMPKMAP is not set +# CONFIG_FGCONSOLE is not set # CONFIG_KBD_MODE is not set # CONFIG_LOADFONT is not set +# CONFIG_SETFONT is not set +# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set +CONFIG_DEFAULT_SETFONT_DIR="" +# CONFIG_FEATURE_LOADFONT_PSF2 is not set +# CONFIG_FEATURE_LOADFONT_RAW is not set # CONFIG_LOADKMAP is not set # CONFIG_OPENVT is not set CONFIG_RESET=y @@ -350,14 +362,9 @@ CONFIG_RESET=y # CONFIG_FEATURE_RESIZE_PRINT is not set # CONFIG_SETCONSOLE is not set # CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set -# CONFIG_SETFONT is not set -# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set -CONFIG_DEFAULT_SETFONT_DIR="" # CONFIG_SETKEYCODES is not set # CONFIG_SETLOGCONS is not set # CONFIG_SHOWKEY is not set -# CONFIG_FEATURE_LOADFONT_PSF2 is not set -# CONFIG_FEATURE_LOADFONT_RAW is not set # # Debian Utilities @@ -432,8 +439,8 @@ CONFIG_FEATURE_FIND_REGEX=y # CONFIG_FEATURE_FIND_CONTEXT is not set # CONFIG_FEATURE_FIND_LINKS is not set CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y +CONFIG_EGREP=y +CONFIG_FGREP=y CONFIG_FEATURE_GREP_CONTEXT=y CONFIG_XARGS=y # CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set @@ -449,9 +456,12 @@ CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y # CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set # CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set CONFIG_HALT=y +CONFIG_POWEROFF=y +CONFIG_REBOOT=y # CONFIG_FEATURE_CALL_TELINIT is not set CONFIG_TELINIT_PATH="" CONFIG_INIT=y +CONFIG_LINUXRC=y CONFIG_FEATURE_USE_INITTAB=y CONFIG_FEATURE_KILL_REMOVED=y CONFIG_FEATURE_KILL_DELAY=0 @@ -459,30 +469,34 @@ CONFIG_FEATURE_INIT_SCTTY=y CONFIG_FEATURE_INIT_SYSLOG=y CONFIG_FEATURE_EXTRA_QUIET=y # CONFIG_FEATURE_INIT_COREDUMPS is not set -CONFIG_FEATURE_INITRD=y CONFIG_INIT_TERMINAL_TYPE="linux" +CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y CONFIG_MESG=y CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y # # Login/Password Management Utilities # -# CONFIG_ADD_SHELL is not set -# CONFIG_REMOVE_SHELL is not set CONFIG_FEATURE_SHADOWPASSWDS=y # 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_ADDGROUP is not set +# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set +# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set +# CONFIG_ADD_SHELL is not set +# CONFIG_REMOVE_SHELL 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_CHPASSWD is not set +CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des" +# CONFIG_CRYPTPW is not set +CONFIG_MKPASSWD=y CONFIG_DELUSER=y CONFIG_DELGROUP=y # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set @@ -494,9 +508,6 @@ CONFIG_FEATURE_NOLOGIN=y CONFIG_FEATURE_SECURETTY=y CONFIG_PASSWD=y CONFIG_FEATURE_PASSWD_WEAK_CHECK=y -# CONFIG_CRYPTPW is not set -# CONFIG_CHPASSWD is not set -CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des" # CONFIG_SU is not set # CONFIG_FEATURE_SU_SYSLOG is not set # CONFIG_FEATURE_SU_CHECKS_SHELLS is not set @@ -514,17 +525,17 @@ CONFIG_VLOCK=y # # Linux Module Utilities # -# CONFIG_MODINFO is not set # 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 +# CONFIG_DEPMOD is not set CONFIG_INSMOD=y -CONFIG_RMMOD=y CONFIG_LSMOD=y CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y +# CONFIG_MODINFO is not set CONFIG_MODPROBE=y CONFIG_FEATURE_MODPROBE_BLACKLIST=y -# CONFIG_DEPMOD is not set +# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set +# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set +CONFIG_RMMOD=y # # Options common to multiple modutils @@ -545,37 +556,18 @@ CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" # # Linux System Utilities # -# CONFIG_BLOCKDEV is not set -CONFIG_FATATTR=y -# CONFIG_FSTRIM 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_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 is not set -CONFIG_FEATURE_MOUNT_CIFS=y -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -CONFIG_FEATURE_MOUNT_OTHERTAB=y -# CONFIG_REV is not set -CONFIG_UEVENT=y # CONFIG_ACPID is not set # CONFIG_FEATURE_ACPID_COMPAT is not set +CONFIG_BLKDISCARD=y # CONFIG_BLKID is not set # CONFIG_FEATURE_BLKID_TYPE is not set +# CONFIG_BLOCKDEV is not set CONFIG_DMESG=y CONFIG_FEATURE_DMESG_PRETTY=y +CONFIG_FATATTR=y # CONFIG_FBSET is not set # CONFIG_FEATURE_FBSET_FANCY is not set # CONFIG_FEATURE_FBSET_READMODE is not set -# CONFIG_FDFLUSH is not set # CONFIG_FDFORMAT is not set # CONFIG_FDISK is not set # CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set @@ -588,13 +580,10 @@ CONFIG_FEATURE_DMESG_PRETTY=y # CONFIG_FEATURE_FDISK_ADVANCED is not set # CONFIG_FINDFS is not set # CONFIG_FLOCK is not set +# CONFIG_FDFLUSH is not set # CONFIG_FREERAMDISK is not set # CONFIG_FSCK_MINIX is not set -# CONFIG_MKFS_EXT2 is not set -# CONFIG_MKFS_MINIX is not set -# CONFIG_FEATURE_MINIX2 is not set -# CONFIG_MKFS_REISER is not set -# CONFIG_MKFS_VFAT is not set +# CONFIG_FSTRIM is not set # CONFIG_GETOPT is not set # CONFIG_FEATURE_GETOPT_LONG is not set CONFIG_HEXDUMP=y @@ -608,23 +597,54 @@ CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y # CONFIG_LOSETUP is not set # CONFIG_LSPCI is not set CONFIG_LSUSB=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_MKE2FS=y +# CONFIG_MKFS_EXT2 is not set +# CONFIG_MKFS_MINIX is not set +# CONFIG_FEATURE_MINIX2 is not set +# CONFIG_MKFS_REISER is not set +CONFIG_MKDOSFS=y +# CONFIG_MKFS_VFAT is not set # CONFIG_MKSWAP is not set # CONFIG_FEATURE_MKSWAP_UUID is not set # CONFIG_MORE 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 is not set +CONFIG_FEATURE_MOUNT_CIFS=y +CONFIG_FEATURE_MOUNT_FLAGS=y +CONFIG_FEATURE_MOUNT_FSTAB=y +CONFIG_FEATURE_MOUNT_OTHERTAB=y +CONFIG_NSENTER=y +CONFIG_FEATURE_NSENTER_LONG_OPTS=y # CONFIG_PIVOT_ROOT is not set # CONFIG_RDATE is not set # CONFIG_RDEV is not set # CONFIG_READPROFILE is not set +# CONFIG_REV is not set # CONFIG_RTCWAKE is not set # CONFIG_SCRIPT is not set # CONFIG_SCRIPTREPLAY is not set # CONFIG_SETARCH is not set -# CONFIG_SWAPONOFF is not set +CONFIG_LINUX32=y +CONFIG_LINUX64=y +CONFIG_SWAPON=y # CONFIG_FEATURE_SWAPON_DISCARD is not set # CONFIG_FEATURE_SWAPON_PRI is not set +CONFIG_SWAPOFF=y # CONFIG_SWITCH_ROOT is not set +CONFIG_UEVENT=y CONFIG_UMOUNT=y CONFIG_FEATURE_UMOUNT_ALL=y +CONFIG_UNSHARE=y # # Common options for mount/umount @@ -633,6 +653,7 @@ 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_BCACHE is not set # CONFIG_FEATURE_VOLUMEID_BTRFS is not set # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set # CONFIG_FEATURE_VOLUMEID_EXFAT is not set @@ -652,45 +673,13 @@ CONFIG_FEATURE_MOUNT_LOOP_CREATE=y # CONFIG_FEATURE_VOLUMEID_ROMFS is not set # CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set # CONFIG_FEATURE_VOLUMEID_SYSV is not set +# CONFIG_FEATURE_VOLUMEID_UBIFS is not set # CONFIG_FEATURE_VOLUMEID_UDF is not set # CONFIG_FEATURE_VOLUMEID_XFS is not set # # Miscellaneous Utilities # -# CONFIG_CONSPY is not set -CONFIG_CROND=y -CONFIG_FEATURE_CROND_D=y -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set -CONFIG_FEATURE_CROND_DIR="/data/etc" -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=y -# 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 is not set -# CONFIG_NANDDUMP is not set -# CONFIG_RFKILL is not set -# CONFIG_SETSERIAL is not set -# CONFIG_TASKSET is not set -# CONFIG_FEATURE_TASKSET_FANCY is not set -# CONFIG_UBIATTACH is not set -# CONFIG_UBIDETACH is not set -# CONFIG_UBIMKVOL is not set -# CONFIG_UBIRMVOL is not set -# CONFIG_UBIRSVOL is not set -# CONFIG_UBIUPDATEVOL is not set -# CONFIG_WALL is not set # CONFIG_ADJTIMEX is not set # CONFIG_BBCONFIG is not set # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set @@ -706,6 +695,11 @@ 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_CONSPY is not set +CONFIG_CROND=y +CONFIG_FEATURE_CROND_D=y +# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set +CONFIG_FEATURE_CROND_DIR="/data/etc" CONFIG_CRONTAB=y # CONFIG_DC is not set # CONFIG_FEATURE_DC_LIBM is not set @@ -719,14 +713,9 @@ CONFIG_EJECT=y # CONFIG_FEATURE_EJECT_SCSI is not set # CONFIG_FBSPLASH is not set # CONFIG_FLASHCP is not set +# CONFIG_FLASH_ERASEALL is not set # CONFIG_FLASH_LOCK is not set # CONFIG_FLASH_UNLOCK is not set -# CONFIG_FLASH_ERASEALL is not set -# CONFIG_IONICE is not set -# CONFIG_INOTIFYD is not set -# CONFIG_LAST is not set -# CONFIG_FEATURE_LAST_SMALL is not set -# CONFIG_FEATURE_LAST_FANCY 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 @@ -734,6 +723,25 @@ CONFIG_EJECT=y # CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set # CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set # CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set +CONFIG_I2CGET=y +CONFIG_I2CSET=y +CONFIG_I2CDUMP=y +CONFIG_I2CDETECT=y +# CONFIG_INOTIFYD is not set +# CONFIG_IONICE is not set +# CONFIG_LAST 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_TRUNCATE=y +# CONFIG_FEATURE_LESS_MARKS is not set +CONFIG_FEATURE_LESS_REGEXP=y +# 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_MAKEDEVS=y # CONFIG_FEATURE_MAKEDEVS_LEAF is not set CONFIG_FEATURE_MAKEDEVS_TABLE=y @@ -741,39 +749,35 @@ CONFIG_FEATURE_MAKEDEVS_TABLE=y # CONFIG_MICROCOM is not set # CONFIG_MOUNTPOINT is not set # CONFIG_MT is not set +# CONFIG_NANDWRITE is not set +# CONFIG_NANDDUMP is not set # CONFIG_RAIDAUTORUN is not set # CONFIG_READAHEAD is not set +# CONFIG_RFKILL is not set # CONFIG_RUNLEVEL is not set # CONFIG_RX is not set +# CONFIG_SETSERIAL is not set # CONFIG_SETSID is not set # CONFIG_STRINGS is not set +# CONFIG_TASKSET is not set +# CONFIG_FEATURE_TASKSET_FANCY is not set CONFIG_TIME=y -# CONFIG_TIMEOUT is not set +CONFIG_TIMEOUT=y # CONFIG_TTYSIZE is not set +CONFIG_UBIRENAME=y +# CONFIG_UBIATTACH is not set +# CONFIG_UBIDETACH is not set +# CONFIG_UBIMKVOL is not set +# CONFIG_UBIRMVOL is not set +# CONFIG_UBIRSVOL is not set +# CONFIG_UBIUPDATEVOL is not set # CONFIG_VOLNAME is not set +# CONFIG_WALL is not set CONFIG_WATCHDOG=y # # Networking Utilities # -CONFIG_NAMEIF=y -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set -# CONFIG_NBDCLIENT is not set -# CONFIG_NC is not set -# CONFIG_NC_SERVER is not set -# CONFIG_NC_EXTRA is not set -# CONFIG_NC_110_COMPAT is not set -CONFIG_PING=y -# CONFIG_PING6 is not set -CONFIG_FEATURE_FANCY_PING=y -# CONFIG_WGET is not set -# CONFIG_FEATURE_WGET_STATUSBAR is not set -# CONFIG_FEATURE_WGET_AUTHENTICATION is not set -# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set -# CONFIG_FEATURE_WGET_TIMEOUT is not set -# CONFIG_FEATURE_WGET_OPENSSL is not set -# CONFIG_FEATURE_WGET_SSL_HELPER is not set -# CONFIG_WHOIS is not set CONFIG_FEATURE_IPV6=y # CONFIG_FEATURE_UNIX_LOCAL is not set # CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set @@ -785,15 +789,15 @@ CONFIG_ARPING=y # CONFIG_FEATURE_BRCTL_SHOW is not set # CONFIG_DNSD is not set # CONFIG_ETHER_WAKE is not set -# CONFIG_FAKEIDENTD is not set # CONFIG_FTPD is not set -# CONFIG_FEATURE_FTP_WRITE is not set +# CONFIG_FEATURE_FTPD_WRITE is not set # CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set -# CONFIG_FEATURE_FTP_AUTHENTICATION is not set +# CONFIG_FEATURE_FTPD_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_DNSDOMAINNAME=y # CONFIG_HTTPD is not set # CONFIG_FEATURE_HTTPD_RANGES is not set # CONFIG_FEATURE_HTTPD_SETUID is not set @@ -814,11 +818,10 @@ CONFIG_HOSTNAME=y # CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set # CONFIG_IFENSLAVE is not set # CONFIG_IFPLUGD is not set -# CONFIG_IFUPDOWN is not set +CONFIG_IFUP=y +CONFIG_IFDOWN=y CONFIG_IFUPDOWN_IFSTATE_PATH="" # CONFIG_FEATURE_IFUPDOWN_IP is not set -# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set # CONFIG_FEATURE_IFUPDOWN_IPV4 is not set # CONFIG_FEATURE_IFUPDOWN_IPV6 is not set # CONFIG_FEATURE_IFUPDOWN_MAPPING is not set @@ -831,22 +834,31 @@ CONFIG_IFUPDOWN_IFSTATE_PATH="" # CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set # CONFIG_FEATURE_INETD_RPC is not set CONFIG_IP=y +CONFIG_IPADDR=y +CONFIG_IPLINK=y +CONFIG_IPROUTE=y +CONFIG_IPTUNNEL=y +CONFIG_IPRULE=y +CONFIG_IPNEIGH=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=y -CONFIG_FEATURE_IP_SHORT_FORMS=y +CONFIG_FEATURE_IP_NEIGH=y # CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -CONFIG_IPADDR=y -CONFIG_IPLINK=y -CONFIG_IPROUTE=y -CONFIG_IPTUNNEL=y -CONFIG_IPRULE=y # CONFIG_IPCALC is not set # CONFIG_FEATURE_IPCALC_FANCY is not set # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set +# CONFIG_FAKEIDENTD is not set +CONFIG_NAMEIF=y +# CONFIG_FEATURE_NAMEIF_EXTENDED is not set +# CONFIG_NBDCLIENT is not set +# CONFIG_NC is not set +# CONFIG_NC_SERVER is not set +# CONFIG_NC_EXTRA is not set +# CONFIG_NC_110_COMPAT is not set CONFIG_NETSTAT=y # CONFIG_FEATURE_NETSTAT_WIDE is not set # CONFIG_FEATURE_NETSTAT_PRG is not set @@ -854,10 +866,14 @@ CONFIG_NSLOOKUP=y # CONFIG_NTPD is not set # CONFIG_FEATURE_NTPD_SERVER is not set # CONFIG_FEATURE_NTPD_CONF is not set +CONFIG_PING=y +# CONFIG_PING6 is not set +CONFIG_FEATURE_FANCY_PING=y # CONFIG_PSCAN is not set CONFIG_ROUTE=y # CONFIG_SLATTACH is not set # CONFIG_TCPSVD is not set +# CONFIG_UDPSVD is not set # CONFIG_TELNET is not set # CONFIG_FEATURE_TELNET_TTYPE is not set # CONFIG_FEATURE_TELNET_AUTOLOGIN is not set @@ -874,10 +890,19 @@ CONFIG_ROUTE=y CONFIG_TRACEROUTE=y # CONFIG_TRACEROUTE6 is not set # 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_VCONFIG is not set +# CONFIG_WGET is not set +# CONFIG_FEATURE_WGET_STATUSBAR is not set +# CONFIG_FEATURE_WGET_AUTHENTICATION is not set +# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set +# CONFIG_FEATURE_WGET_TIMEOUT is not set +# CONFIG_FEATURE_WGET_OPENSSL is not set +# CONFIG_FEATURE_WGET_SSL_HELPER is not set +# CONFIG_WHOIS is not set +# CONFIG_ZCIP is not set # CONFIG_UDHCPC6 is not set # CONFIG_UDHCPD is not set # CONFIG_DHCPRELAY is not set @@ -895,9 +920,6 @@ CONFIG_UDHCP_DEBUG=0 CONFIG_UDHCPC_DEFAULT_SCRIPT="" CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" -# CONFIG_UDPSVD is not set -# CONFIG_VCONFIG is not set -# CONFIG_ZCIP is not set # # Print Utilities @@ -910,25 +932,43 @@ CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" # Mail Utilities # # CONFIG_MAKEMIME is not set -CONFIG_FEATURE_MIME_CHARSET="" # CONFIG_POPMAILDIR is not set # CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set # CONFIG_REFORMIME is not set # CONFIG_FEATURE_REFORMIME_COMPAT is not set # CONFIG_SENDMAIL is not set +CONFIG_FEATURE_MIME_CHARSET="" # # Process Utilities # +CONFIG_FREE=y +# CONFIG_FUSER is not set # CONFIG_IOSTAT is not set +CONFIG_KILL=y +CONFIG_KILLALL=y +CONFIG_KILLALL5=y # CONFIG_LSOF is not set # CONFIG_MPSTAT is not set # CONFIG_NMETER is not set +# CONFIG_PGREP is not set +# CONFIG_PKILL is not set +CONFIG_PIDOF=y +CONFIG_FEATURE_PIDOF_SINGLE=y +CONFIG_FEATURE_PIDOF_OMIT=y # CONFIG_PMAP is not set # CONFIG_POWERTOP is not set +CONFIG_PS=y +# CONFIG_FEATURE_PS_WIDE is not set +# CONFIG_FEATURE_PS_LONG is not set +# CONFIG_FEATURE_PS_TIME is not set +# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set +# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set # CONFIG_PSTREE is not set # CONFIG_PWDX is not set +CONFIG_RENICE=y # CONFIG_SMEMCAP is not set +CONFIG_BB_SYSCTL=y CONFIG_TOP=y CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y @@ -938,61 +978,54 @@ CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y # CONFIG_FEATURE_TOPMEM is not set CONFIG_UPTIME=y # CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set -CONFIG_FREE=y -# CONFIG_FUSER is not set -CONFIG_KILL=y -CONFIG_KILLALL=y -CONFIG_KILLALL5=y -# CONFIG_PGREP is not set -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -# CONFIG_PKILL is not set -CONFIG_PS=y -# CONFIG_FEATURE_PS_WIDE is not set -# CONFIG_FEATURE_PS_LONG is not set -# 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 +# CONFIG_FEATURE_SHOW_THREADS is not set # # Runit Utilities # -# CONFIG_RUNSV is not set -# CONFIG_RUNSVDIR is not set -# CONFIG_FEATURE_RUNSVDIR_LOG is not set -# CONFIG_SV is not set -CONFIG_SV_DEFAULT_SERVICE_DIR="" -# CONFIG_SVLOGD is not set # CONFIG_CHPST is not set # CONFIG_SETUIDGID is not set # CONFIG_ENVUIDGID is not set # CONFIG_ENVDIR is not set # CONFIG_SOFTLIMIT is not set +# CONFIG_RUNSV is not set +# CONFIG_RUNSVDIR is not set +# CONFIG_FEATURE_RUNSVDIR_LOG is not set +# CONFIG_SV is not set +CONFIG_SV_DEFAULT_SERVICE_DIR="" +CONFIG_SVC=y +# CONFIG_SVLOGD is not set # CONFIG_CHCON is not set # CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set # CONFIG_GETENFORCE is not set # CONFIG_GETSEBOOL is not set # CONFIG_LOAD_POLICY is not set # CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set # CONFIG_RUNCON is not set # CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set # CONFIG_SELINUXENABLED is not set +# CONFIG_SESTATUS is not set # CONFIG_SETENFORCE is not set # CONFIG_SETFILES is not set # CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set +# CONFIG_RESTORECON is not set # CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set # # Shells # +CONFIG_SH_IS_ASH=y +# CONFIG_SH_IS_HUSH is not set +# CONFIG_SH_IS_NONE is not set +# CONFIG_BASH_IS_ASH is not set +# CONFIG_BASH_IS_HUSH is not set +CONFIG_BASH_IS_NONE=y # CONFIG_ASH is not set +# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set +CONFIG_ASH_INTERNAL_GLOB=y +# CONFIG_ASH_RANDOM_SUPPORT is not set +# CONFIG_ASH_EXPAND_PRMT is not set # CONFIG_ASH_BASH_COMPAT is not set # CONFIG_ASH_IDLE_TIMEOUT is not set # CONFIG_ASH_JOB_CONTROL is not set @@ -1004,9 +1037,6 @@ CONFIG_SV_DEFAULT_SERVICE_DIR="" # CONFIG_ASH_HELP is not set # CONFIG_ASH_CMDCMD is not set # CONFIG_ASH_MAIL is not set -# CONFIG_ASH_OPTIMIZE_FOR_SIZE is not set -# CONFIG_ASH_RANDOM_SUPPORT is not set -# CONFIG_ASH_EXPAND_PRMT is not set # CONFIG_CTTYHACK is not set # CONFIG_HUSH is not set # CONFIG_HUSH_BASH_COMPAT is not set @@ -1025,14 +1055,8 @@ CONFIG_SV_DEFAULT_SERVICE_DIR="" # CONFIG_HUSH_EXPORT_N is not set # CONFIG_HUSH_MODE_X is not set # CONFIG_MSH is not set -# CONFIG_FEATURE_SH_IS_ASH is not set -# CONFIG_FEATURE_SH_IS_HUSH is not set -CONFIG_FEATURE_SH_IS_NONE=y -# 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 is not set -# CONFIG_SH_MATH_SUPPORT_64 is not set +CONFIG_FEATURE_SH_MATH=y +CONFIG_FEATURE_SH_MATH_64=y # CONFIG_FEATURE_SH_EXTRA_QUIET is not set # CONFIG_FEATURE_SH_STANDALONE is not set # CONFIG_FEATURE_SH_NOFORK is not set @@ -1041,6 +1065,11 @@ CONFIG_FEATURE_BASH_IS_NONE=y # # System Logging Utilities # +# CONFIG_KLOGD is not set +# CONFIG_FEATURE_KLOGD_KLOGCTL is not set +CONFIG_LOGGER=y +# CONFIG_LOGREAD is not set +# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set CONFIG_SYSLOGD=y # CONFIG_FEATURE_ROTATE_LOGFILE is not set # CONFIG_FEATURE_REMOTE_LOG is not set @@ -1049,9 +1078,4 @@ CONFIG_FEATURE_SYSLOGD_CFG=y CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 # CONFIG_FEATURE_IPC_SYSLOG is not set CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 -# CONFIG_LOGREAD is not set -# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set CONFIG_FEATURE_KMSG_SYSLOG=y -# CONFIG_KLOGD is not set -# CONFIG_FEATURE_KLOGD_KLOGCTL is not set -CONFIG_LOGGER=y diff --git a/board/common/cleanups.sh b/board/common/cleanups.sh index 2444701815..33c98102a3 100755 --- a/board/common/cleanups.sh +++ b/board/common/cleanups.sh @@ -5,7 +5,7 @@ if [ -z "$TARGET" ]; then exit 1 fi -rm -f $TARGET/boot/.gitkeep +find $TARGET -name '.empty' | xargs -r rm # /etc stuff rm -rf $TARGET/etc/network/ @@ -33,8 +33,6 @@ rm -rf $TARGET/usr/share/ffmpeg/ rm -rf $TARGET/usr/share/perl5/ rm -rf $TARGET/usr/share/common-lisp/ -find $TARGET -name '*libmount*' | xargs rm -rf - # various binaries rm -f $TARGET/bin/more rm -f $TARGET/bin/wdctl diff --git a/board/common/mkimage.sh b/board/common/mkimage.sh index d9ef3cffa5..2b8a9def24 100755 --- a/board/common/mkimage.sh +++ b/board/common/mkimage.sh @@ -23,6 +23,8 @@ function cleanup { trap cleanup EXIT +PART_START=${PART_START:-2048} # 2048 sectors = 1MB + BOOT_SRC=$IMG_DIR/boot BOOT=$IMG_DIR/.boot BOOT_IMG=$IMG_DIR/boot.img @@ -50,7 +52,7 @@ mkdir -p $BOOT mount -o loop $loop_dev $BOOT msg "copying boot filesystem contents" -cp $BOOT_SRC/* $BOOT +cp -r $BOOT_SRC/* $BOOT sync msg "unmounting boot filesystem" @@ -109,18 +111,19 @@ loop_dev=$(losetup -f) losetup -f $DISK_IMG msg "partitioning disk" +root_part_start=$(($PART_START + $BOOT_SIZE * 2048)) set +e fdisk -u=sectors $loop_dev < /dev/null + diff --git a/board/common/overlay/etc/bluetooth/main.conf b/board/common/overlay/etc/bluetooth/main.conf new file mode 120000 index 0000000000..cfea82441f --- /dev/null +++ b/board/common/overlay/etc/bluetooth/main.conf @@ -0,0 +1 @@ +/var/lib/bluetooth.conf \ No newline at end of file diff --git a/board/common/overlay/etc/dbus-1/system.conf b/board/common/overlay/etc/dbus-1/system.conf new file mode 100644 index 0000000000..e79925c337 --- /dev/null +++ b/board/common/overlay/etc/dbus-1/system.conf @@ -0,0 +1,9 @@ + + + system + + + + + diff --git a/board/common/overlay/etc/firmware b/board/common/overlay/etc/firmware new file mode 120000 index 0000000000..4d673c0af5 --- /dev/null +++ b/board/common/overlay/etc/firmware @@ -0,0 +1 @@ +/lib/firmware \ No newline at end of file diff --git a/board/common/overlay/etc/hostname b/board/common/overlay/etc/hostname new file mode 120000 index 0000000000..5a7fdb0731 --- /dev/null +++ b/board/common/overlay/etc/hostname @@ -0,0 +1 @@ +/data/etc/hostname \ No newline at end of file diff --git a/board/common/overlay/etc/init.d/S00datapart b/board/common/overlay/etc/init.d/S00datapart index 833548572e..63582b5fe7 100755 --- a/board/common/overlay/etc/init.d/S00datapart +++ b/board/common/overlay/etc/init.d/S00datapart @@ -3,15 +3,17 @@ test -n "$os_version" || source /etc/init.d/base msg_begin "Detecting disk device" -root_part=$(cat /proc/cmdline | grep -oE 'root=[/a-z0-9]+' | cut -d '=' -f 2) -if [[ "$root_part" =~ ^([/a-z0-9]+)(p[0-9])$ ]]; then # e.g. /dev/mmcblk0p2 +root_dev=$(cat /proc/cmdline | grep -oE 'root=[/a-z0-9]+' | cut -d '=' -f 2) +if [[ "$root_dev" =~ ^([/a-z0-9]+)(p[0-9])$ ]]; then # e.g. /dev/mmcblk0p2 disk_dev=${BASH_REMATCH[1]} + boot_dev=${disk_dev}p1 data_dev=${disk_dev}p3 -elif [[ "$root_part" =~ ^([/a-z0-9]+)([0-9])$ ]]; then # e.g. /dev/sdc2 +elif [[ "$root_dev" =~ ^([/a-z0-9]+)([0-9])$ ]]; then # e.g. /dev/sdc2 disk_dev=${BASH_REMATCH[1]} + boot_dev=${disk_dev}1 data_dev=${disk_dev}3 else - msg_fail "unknown ($root_part)" + msg_fail "unknown ($root_dev)" exit 1 fi msg_done "$disk_dev" @@ -21,12 +23,14 @@ test -b $data_dev && exit 0 case "$1" in start) msg_begin "Creating data partition" + root_end=$(partx -s -g -o END $root_dev) + data_start=$(($root_end + 1)) echo -e "n p 3 + ${data_start} \n - \n - w" | /sbin/fdisk $disk_dev 2>&1 >/dev/null | grep -v "Device or resource busy" | grep -v '^$' + w" | /sbin/fdisk $disk_dev &>/dev/null partx -a $disk_dev &>/dev/null test -b $data_dev && msg_done || msg_fail @@ -39,15 +43,16 @@ case "$1" in test $? == 0 && msg_done || msg_fail msg_begin "Creating required data files" - mkdir /data/etc - mkdir /data/log - mkdir -m 775 /data/output - mkdir -m 775 /data/media + cp -pur /usr/share/dataskel/* /data cp /etc/version /data/etc/version ln -s /usr/share/zoneinfo/UTC /data/etc/localtime touch /data/etc/adjtime sync msg_done + + msg_begin "Setting empty root password" + PASSWORD="" adminpasswd + msg_done # mount other partitions depending on data mount -T /etc/fstab.disk -a @@ -63,5 +68,5 @@ case "$1" in exit 1 esac -exit $? - +# always exit with a successful status +exit 0 diff --git a/board/common/overlay/etc/init.d/S01mountall b/board/common/overlay/etc/init.d/S01mountall index 3d61d07e80..bfde44d17b 100755 --- a/board/common/overlay/etc/init.d/S01mountall +++ b/board/common/overlay/etc/init.d/S01mountall @@ -4,8 +4,10 @@ test -n "$os_version" || source /etc/init.d/base mount_fs() { msg_begin "Mounting filesystems" - /bin/mount -T /etc/fstab.disk -a - /bin/mount -T /etc/fstab.extra -a + /bin/mount -T /etc/fstab.disk -a && + /bin/mount -T /etc/fstab.extra -a && + if [ -r /data/etc/fstab.user ]; then /bin/mount -T /data/etc/fstab.user -a; fi + test $? == 0 && msg_done || msg_fail } diff --git a/board/common/overlay/etc/init.d/S04syslog b/board/common/overlay/etc/init.d/S04syslog index e4fb1b4450..b7a1eb3ac4 100755 --- a/board/common/overlay/etc/init.d/S04syslog +++ b/board/common/overlay/etc/init.d/S04syslog @@ -9,7 +9,7 @@ case "$1" in msg_begin "Starting syslogd" syslogd test $? == 0 && msg_done || msg_fail - echo "---- booting $os_name $os_version----" >> $dmesg_log + echo "---- booting $os_name $os_version ----" >> $dmesg_log dmesg -T -w >> $dmesg_log & ;; diff --git a/board/common/overlay/etc/init.d/S10watchdog b/board/common/overlay/etc/init.d/S13watchdog similarity index 100% rename from board/common/overlay/etc/init.d/S10watchdog rename to board/common/overlay/etc/init.d/S13watchdog diff --git a/board/common/overlay/etc/init.d/S14postupgrade b/board/common/overlay/etc/init.d/S14postupgrade index ed80d56575..0765d72b76 100755 --- a/board/common/overlay/etc/init.d/S14postupgrade +++ b/board/common/overlay/etc/init.d/S14postupgrade @@ -13,6 +13,8 @@ sys_hash=$(md5sum $sys_version_file 2>/dev/null | cut -d ' ' -f 1) test "$hash" == "$sys_hash" && exit 0 +test -d $post_upgrade_dir || exit 0 + function version_gt() { if [ "$1" != "$2" ] && [ $(echo -e "$2\n$1" | sort -t . | head -n 1) == "$2" ]; then return 0 diff --git a/board/common/overlay/etc/init.d/S21passwd b/board/common/overlay/etc/init.d/S21passwd deleted file mode 100755 index 45fdde678b..0000000000 --- a/board/common/overlay/etc/init.d/S21passwd +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash - -test -n "$os_version" || source /etc/init.d/base - -case "$1" in - start) - # make sure root and admin users exist in shadow file - touch /data/etc/shadow - chmod go-rwx /data/etc/shadow - if ! grep root /data/etc/shadow &>/dev/null; then - echo 'root::::::::' >> /data/etc/shadow - fi - if ! grep admin /data/etc/shadow &>/dev/null; then - echo 'admin::::::::' >> /data/etc/shadow - fi - - # set root and admin passwords - password=$(/etc/init.d/adminpw) - msg_begin "Setting root password" - - rm -f /data/etc/shadow+ - rm -f /data/etc/shadow- - - echo -en "$password\n$password\n" | passwd &>/dev/null # root - echo -en "$password\n$password\n" | passwd admin &>/dev/null # admin - - sed -r -i 's/root:([^:]+):[[:digit:]]+:/root:\1::/' /data/etc/shadow # removes pwd expiration - sed -r -i 's/admin:([^:]+):[[:digit:]]+:/admin:\1::/' /data/etc/shadow # removes pwd expiration - sync - - msg_done - ;; - - stop) - true - ;; - - *) - echo "Usage: $0 {start}" - exit 1 -esac - -exit $? - diff --git a/board/common/overlay/etc/init.d/S30dbus b/board/common/overlay/etc/init.d/S30dbus new file mode 100755 index 0000000000..82e9519ba6 --- /dev/null +++ b/board/common/overlay/etc/init.d/S30dbus @@ -0,0 +1,53 @@ +#!/bin/bash + +sys_btconf="/etc/bluetooth.conf" +boot_btconf="/boot/bluetooth.conf" +btconf="/data/etc/bluetooth.conf" + +# dbus is only used by bluez +test -f $btconf || test -f $boot_btconf || test -f $sys_btconf || exit 0 + +test -n "$os_version" || source /etc/init.d/base + +start() { + mkdir -p /tmp/dbus + + msg_begin "Starting dbus" + + dbus-uuidgen --ensure + dbus-daemon --system + + test $? == 0 && msg_done || msg_fail +} + +stop() { + msg_begin "Stopping dbus" + udevadm control --stop-exec-queue + killall dbus-daemon &>/dev/null + test $? == 0 && msg_done || msg_fail + + rm -f /var/run/messagebus.pid +} + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + restart) + stop + start + ;; + + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 + ;; +esac + +exit $? + diff --git a/board/common/overlay/etc/init.d/S35wifi b/board/common/overlay/etc/init.d/S35wifi index 90801dcbd5..357ee80b56 100755 --- a/board/common/overlay/etc/init.d/S35wifi +++ b/board/common/overlay/etc/init.d/S35wifi @@ -6,7 +6,7 @@ conf="/data/etc/wpa_supplicant.conf" log="/var/log/wpa_supplicant.log" prog="/usr/sbin/wpa_supplicant" -driver=wext +driver=nl80211,wext sys_watch_conf="/etc/watch.conf" boot_watch_conf="/boot/watch.conf" @@ -32,6 +32,9 @@ fi test -f $conf || exit 0 +# we want only Unix newlines here +sed -i 's/\r//g' $conf + ssid=$(cat $conf | grep ssid | grep -v scan_ssid | cut -d '"' -f 2) test -n "$ssid" || exit 0 diff --git a/board/common/overlay/etc/init.d/S37bluetooth b/board/common/overlay/etc/init.d/S37bluetooth new file mode 100755 index 0000000000..c68cd9c8d6 --- /dev/null +++ b/board/common/overlay/etc/init.d/S37bluetooth @@ -0,0 +1,99 @@ +#!/bin/bash + +sys_conf="/etc/bluetooth.conf" +boot_conf="/boot/bluetooth.conf" +conf="/data/etc/bluetooth.conf" + +if ! [ -f $conf ]; then + if [ -f $boot_conf ]; then + cp $boot_conf $conf + elif [ -f $sys_conf ]; then + cp $sys_conf $conf + fi +fi + +test -f $conf || exit 0 + +test -n "$os_version" || source /etc/init.d/base + +hci=hci0 +bluetoothd=/usr/libexec/bluetooth/bluetoothd +data_dir=/var/lib/bluetooth +run_data_dir=/data/bluetooth +run_conf=/var/lib/bluetooth.conf + +configure() { + mkdir -p $run_data_dir + ln -sf $run_data_dir $data_dir + cp $conf $run_conf + + # if no specific name configured, use hostname + if ! grep -E 'Name\s*=' $run_conf &>/dev/null; then + sed -ri "s/(\[General\])/\1\nName = $(hostname)/" $run_conf + fi + + # bring adapter up + hciconfig $hci up +} + +start() { + msg_begin "Configuring bluetooth" + + # wait up to 10 seconds for device + count=0 + while ! hciconfig $hci &>/dev/null; do + sleep 1 + count=$(($count + 1)) + if [ $count -ge 10 ]; then + msg_fail "no device" + logger -t bluetooth -s "bluetooth device not available, rebooting" + reboot + return 1 + fi + done + + if configure; then + msg_done + else + msg_fail + return 1 + fi + + msg_begin "Starting bluetoothd" + $bluetoothd &>/dev/null & + msg_done + + # if DiscoverableTimeout is set to 0, make adapter discoverable from boot time + if grep -E '^DiscoverableTimeout\s*=\s*0$' $run_conf &>/dev/null; then + sleep 1 + hciconfig $hci piscan + fi +} + +stop() { + msg_begin "Stopping bluetoothd" + killall bluetoothd &>/dev/null + test $? == 0 && msg_done || msg_fail +} + +case "$1" in + start) + start + ;; + + stop) + stop + ;; + + restart) + stop + start + ;; + + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac + +exit $? + diff --git a/board/common/overlay/etc/init.d/S41netwatch b/board/common/overlay/etc/init.d/S41netwatch index 940d515083..c7421d72f8 100755 --- a/board/common/overlay/etc/init.d/S41netwatch +++ b/board/common/overlay/etc/init.d/S41netwatch @@ -7,7 +7,9 @@ netwatch_interval=20 test -f $watch_conf && source $watch_conf || exit 0 -test -z "$netwatch_host" || -z "$netwatch_port" && exit 0 +if [ -z "$netwatch_host" ] || [ -z "$netwatch_port" ]; then + exit 0 +fi test -n "$os_version" || source /etc/init.d/base test -n "$os_debug" || source /etc/init.d/conf @@ -18,10 +20,12 @@ watch() { count=0 netwatch_retries=$(($netwatch_retries - 1)) while true; do + sleep $netwatch_interval if nc -z -w $netwatch_timeout $netwatch_host $netwatch_port /dev/null 2>&1; then count=0 else if [ $count -lt $netwatch_retries ]; then + logger -t netwatch -s "cannot connect to $netwatch_host:$netwatch_port" count=$(($count + 1)) continue else @@ -29,7 +33,6 @@ watch() { reboot fi fi - sleep $netwatch_interval done } diff --git a/board/common/overlay/etc/init.d/S50date b/board/common/overlay/etc/init.d/S50date index 8ec3871268..de4d4f8225 100755 --- a/board/common/overlay/etc/init.d/S50date +++ b/board/common/overlay/etc/init.d/S50date @@ -40,6 +40,7 @@ source $conf set_current_date_http() { date_str=$(curl -v -s -m $date_timeout -X GET http://$date_host 2>&1 | grep Date | sed -e 's/< Date: //') + test -z "$date_str" && return 1 date -u -D "%a, %d %b %Y %H:%M:%S" -s "$date_str" > /dev/null return $? } @@ -50,7 +51,7 @@ set_current_date_ntp() { start_http() { msg_begin "Setting current date using http" - set_current_date_http + set_current_date_http || set_current_date_http test $? == 0 && msg_done "$(date)" || msg_fail msg_begin "Starting http date updater" @@ -76,7 +77,7 @@ start_ntp() { rm ${ntp_conf}.tmp msg_begin "Setting current date using ntp" - set_current_date_ntp + set_current_date_ntp || set_current_date_ntp test $? == 0 && msg_done "$(date)" || msg_fail msg_begin "Starting ntpd" diff --git a/board/common/overlay/etc/init.d/S62smb b/board/common/overlay/etc/init.d/S62smb index f7d3ebd102..061ee3cb35 100755 --- a/board/common/overlay/etc/init.d/S62smb +++ b/board/common/overlay/etc/init.d/S62smb @@ -8,15 +8,9 @@ test -n "$os_debug" || source /etc/init.d/conf test "$os_networkless" == "true" && exit 0 start() { - msg_begin "Setting smb admin password" - mkdir -p /var/log/samba mkdir -p /var/lib/samba/private - password=$(/etc/init.d/adminpw) - echo -e "$password\n$password\n" | /usr/bin/smbpasswd -a admin -s > /dev/null - test $? == 0 && msg_done || msg_fail - msg_begin "Starting smbd" smbd -D test $? == 0 && msg_done || msg_fail diff --git a/board/common/overlay/etc/init.d/S85motioneye b/board/common/overlay/etc/init.d/S85motioneye index 84d5655ff8..e05eeddd4f 100755 --- a/board/common/overlay/etc/init.d/S85motioneye +++ b/board/common/overlay/etc/init.d/S85motioneye @@ -92,14 +92,13 @@ start() { # add connected camera(s) with default settings if responsive && ! [ -f $motion_conf ]; then - count=$(ls /dev/video* 2>/dev/null | wc -l) index=1 for device in $(ls /dev/video* 2>/dev/null); do - if [ "$count" -gt "1" ]; then - output_dir="/data/output/camera$index/" - else - output_dir="/data/output/" + # filter out devices that don't look like cameras + if ! v4l2-ctl -d $device --list-formats-ext 2>/dev/null | grep -oE '[[:digit:]]+x[[:digit:]]+' &>/dev/null; then + continue fi + output_dir="/data/output/camera$index/" loc="/config/add/?_username=admin" device=$(find_persistent_device $device) body="{\"path\": \"$device\", \"proto\": \"v4l2\"}" diff --git a/board/common/overlay/etc/init.d/adminpw b/board/common/overlay/etc/init.d/adminpw deleted file mode 100755 index 8e45d40e1c..0000000000 --- a/board/common/overlay/etc/init.d/adminpw +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -if [ -f /data/etc/motion.conf ]; then - cat /data/etc/motion.conf | grep admin_password | grep -v _hash | cut -d ' ' -f 3- -fi - diff --git a/board/common/overlay/etc/init.d/base b/board/common/overlay/etc/init.d/base index 563aefd10b..11a5ef95eb 100755 --- a/board/common/overlay/etc/init.d/base +++ b/board/common/overlay/etc/init.d/base @@ -16,3 +16,7 @@ msg_fail() { test -n "$1" && echo $1 || echo "failed" } +msg_background() { + test -n "$1" && echo $1 || echo "pending" +} + diff --git a/board/common/overlay/etc/init.d/rcS b/board/common/overlay/etc/init.d/rcS index c4079c65d0..5f0d70cc09 100755 --- a/board/common/overlay/etc/init.d/rcS +++ b/board/common/overlay/etc/init.d/rcS @@ -1,12 +1,12 @@ #!/bin/sh boot_log=/var/log/boot.log -tmp_boot_log=/tmp/boot.log +tmp_boot_log=/tmp/_boot.log pid_file=/tmp/rc.pid source /etc/init.d/base -echo "---- booting $os_name $os_version----" >> $tmp_boot_log +echo "---- booting $os_name $os_version ----" >> $tmp_boot_log # start all init scripts in /etc/init.d, # executing them in numerical order. diff --git a/board/common/overlay/etc/motioneye.conf b/board/common/overlay/etc/motioneye.conf index 774921b3c1..4a633dc097 100644 --- a/board/common/overlay/etc/motioneye.conf +++ b/board/common/overlay/etc/motioneye.conf @@ -21,4 +21,5 @@ enable_update true smtp_timeout 60 zip_timeout 500 add_remove_cameras true +password_hook /usr/libexec/meyepasswd diff --git a/board/common/overlay/etc/samba/smb.conf b/board/common/overlay/etc/samba/smb.conf index 652b03952e..a10b0444f0 100644 --- a/board/common/overlay/etc/samba/smb.conf +++ b/board/common/overlay/etc/samba/smb.conf @@ -12,8 +12,6 @@ printing = bsd printcap name = /dev/null disable spoolss = yes - bind interfaces only = yes - interfaces = eth0 wlan0 log level = 0 syslog = 0 preferred master = no diff --git a/board/common/overlay/etc/version b/board/common/overlay/etc/version index feefb9ebad..ab73e3cfa3 100644 --- a/board/common/overlay/etc/version +++ b/board/common/overlay/etc/version @@ -1,4 +1,4 @@ os_name="motionEyeOS" os_short_name="motioneyeos" os_prefix="meye" -os_version="20170329" +os_version="20170827" diff --git a/board/common/overlay/lib/firmware/brcm/brcmfmac43430-sdio.bin b/board/common/overlay/lib/firmware/brcm/brcmfmac43430-sdio.bin index 84ab5b0dee..2f9647263c 100644 Binary files a/board/common/overlay/lib/firmware/brcm/brcmfmac43430-sdio.bin and b/board/common/overlay/lib/firmware/brcm/brcmfmac43430-sdio.bin differ diff --git a/board/common/overlay/sbin/fwupdate b/board/common/overlay/sbin/fwupdate index 2f55c500ca..7cec9b4617 100755 --- a/board/common/overlay/sbin/fwupdate +++ b/board/common/overlay/sbin/fwupdate @@ -11,6 +11,7 @@ function exit_usage() { echo " fwupdate flashboot (flashes the boot partition from extracted image)" echo " fwupdate flashreboot (prepares for reboot + root partititon flash)" echo " fwupdate status (shows the current firmware updating status; see below)" + echo " fwupdate upgrade (performs all the operations necessary for upgrading)" echo "" echo "Statuses:" echo " idle" @@ -321,6 +322,27 @@ function show_status() { echo "idle" } + +#### upgrade #### + +function do_upgrade() { + echo "upgrading to $1" + + set -e + + do_download "$1" + show_status + + do_extract + show_status + + flash_boot + show_status + + flash_reboot +} + + function new_version() { cat $FW_DIR/$VER_FILE } @@ -340,7 +362,7 @@ case "$1" in exit_usage fi - do_download $2 + do_download "$2" show_status ;; @@ -362,6 +384,14 @@ case "$1" in show_status ;; + upgrade) + if [ -z "$2" ]; then + exit_usage + fi + + do_upgrade "$2" + ;; + *) exit_usage ;; diff --git a/board/common/overlay/usr/bin/gpio.sh b/board/common/overlay/usr/bin/gpio.sh new file mode 100755 index 0000000000..c291e7c6c8 --- /dev/null +++ b/board/common/overlay/usr/bin/gpio.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +GPIO=$1 + +usage() { + echo "Usage: $0 [0|1]" 1>&2 + exit 1 +} + +test -z "$GPIO" && usage +test -e /sys/class/gpio/gpio$GPIO || echo $GPIO > /sys/class/gpio/export + +if [ -n "$2" ]; then + echo out > /sys/class/gpio/gpio$GPIO/direction + echo $2 > /sys/class/gpio/gpio$GPIO/value +else + echo in > /sys/class/gpio/gpio$GPIO/direction + cat /sys/class/gpio/gpio$GPIO/value +fi + diff --git a/board/common/overlay/usr/libexec/meyepasswd b/board/common/overlay/usr/libexec/meyepasswd new file mode 100755 index 0000000000..b59b1314ed --- /dev/null +++ b/board/common/overlay/usr/libexec/meyepasswd @@ -0,0 +1,5 @@ +#!/bin/bash + +test "$MEYE_USERNAME" == "admin" || exit 0 +PASSWORD="$MEYE_PASSWORD" /usr/sbin/adminpasswd + diff --git a/board/common/overlay/usr/sbin/adminpasswd b/board/common/overlay/usr/sbin/adminpasswd new file mode 100755 index 0000000000..bea2456ebd --- /dev/null +++ b/board/common/overlay/usr/sbin/adminpasswd @@ -0,0 +1,38 @@ +#!/bin/bash + +# we verify the presence of the PASSWORD variable using env, +# as it can also have an empty string value +if ! env | grep PASSWORD &>/dev/null; then + echo "You must set the PASSWORD environment variable." + exit 1 +fi + +# make sure root and admin users exist in shadow file +touch /data/etc/shadow +chmod go-rwx /data/etc/shadow +if ! grep root /data/etc/shadow &>/dev/null; then + echo 'root::::::::' >> /data/etc/shadow +fi +if ! grep admin /data/etc/shadow &>/dev/null; then + echo 'admin::::::::' >> /data/etc/shadow +fi + +# remove shadow backups +rm -f /data/etc/shadow+ +rm -f /data/etc/shadow- + +# set root and admin passwords (admin is just an alias for root) + +echo -en "$PASSWORD\n$PASSWORD\n" | passwd &>/dev/null # root +echo -en "$PASSWORD\n$PASSWORD\n" | passwd admin &>/dev/null # admin + +sed -r -i 's/root:([^:]+):[[:digit:]]+:/root:\1::/' /data/etc/shadow # removes pwd expiration +sed -r -i 's/admin:([^:]+):[[:digit:]]+:/admin:\1::/' /data/etc/shadow # removes pwd expiration + +# call admin password hooks in /etc/adminpasswd.d +if [ -d /etc/adminpasswd.d ]; then + for script in /etc/adminpasswd.d/*; do + test -x $script && $script + done +fi + diff --git a/board/common/overlay/usr/share/dataskel/etc/.empty b/board/common/overlay/usr/share/dataskel/etc/.empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/board/common/overlay/usr/share/dataskel/log/.empty b/board/common/overlay/usr/share/dataskel/log/.empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/board/common/overlay/usr/share/dataskel/media/.empty b/board/common/overlay/usr/share/dataskel/media/.empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/board/common/overlay/usr/share/dataskel/output/.keep b/board/common/overlay/usr/share/dataskel/output/.keep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/board/common/overlay/usr/share/dataskel/varlib/.empty b/board/common/overlay/usr/share/dataskel/varlib/.empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/board/common/overlay/usr/share/post-upgrade/.empty b/board/common/overlay/usr/share/post-upgrade/.empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/board/common/overlay/usr/share/post-upgrade/20160828.sh b/board/common/overlay/usr/share/post-upgrade/20160828.sh deleted file mode 100755 index 8a66549a9a..0000000000 --- a/board/common/overlay/usr/share/post-upgrade/20160828.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -# more settings have been added to [/data]/etc/os.conf - -echo 'os_networkless="false"' >> /data/etc/os.conf -echo 'os_eth="eth0"' >> /data/etc/os.conf -echo 'os_wlan="wlan0"' >> /data/etc/os.conf -echo 'os_ppp="ppp0"' >> /data/etc/os.conf - -# boolean values in watch.conf have been normalized to "true" and "false" -sed -i 's/=no/="false"/' /data/etc/watch.conf -sed -i 's/=yes/="true"/' /data/etc/watch.conf - diff --git a/board/common/overlay/usr/share/post-upgrade/20170827.sh b/board/common/overlay/usr/share/post-upgrade/20170827.sh new file mode 100644 index 0000000000..fc28fd2c2a --- /dev/null +++ b/board/common/overlay/usr/share/post-upgrade/20170827.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +# add password_hook motioneye setting +grep password_hook /data/etc/motioneye.conf &>/dev/null || echo -e 'password_hook /usr/libexec/meyepasswd' >> /data/etc/motioneye.conf + diff --git a/board/common/postscript.sh b/board/common/postscript.sh index c4c4cf5b7e..a24f1d9e90 100755 --- a/board/common/postscript.sh +++ b/board/common/postscript.sh @@ -11,7 +11,7 @@ mkdir -p $BOOT_DIR test -x $BOARD_DIR/postscript.sh && $BOARD_DIR/postscript.sh -# transform /var contents into symlinks +# transform /var contents as needed rm -rf $TARGET/var/cache rm -rf $TARGET/var/lib rm -rf $TARGET/var/lock @@ -21,13 +21,22 @@ rm -rf $TARGET/var/spool rm -rf $TARGET/var/tmp ln -s /tmp $TARGET/var/cache -ln -s /tmp $TARGET/var/lib +ln -s /data/varlib $TARGET/var/lib ln -s /tmp $TARGET/var/lock ln -s /data/log $TARGET/var/log ln -s /tmp $TARGET/var/run ln -s /tmp $TARGET/var/spool ln -s /tmp $TARGET/var/tmp +# cleanups $COMMON_DIR/cleanups.sh test -x $BOARD_DIR/cleanups.sh && test -x $BOARD_DIR/cleanups.sh || true +# board-specific os.conf +if [ -r $BOARD_DIR/os.conf ]; then + for line in $(cat $BOARD_DIR/os.conf); do + key=$(echo $line | cut -d '=' -f 1) + sed -i -r "s/$key=.*/$line/" /$TARGET/etc/os.conf + done +fi + diff --git a/board/odroidc1/os.conf b/board/odroidc1/os.conf new file mode 100644 index 0000000000..dc77b07e6d --- /dev/null +++ b/board/odroidc1/os.conf @@ -0,0 +1,2 @@ +os_tty_login="ttyS0" + diff --git a/board/odroidc1/overlay/etc/os.conf b/board/odroidc1/overlay/etc/os.conf deleted file mode 100644 index d3ce9dfd6c..0000000000 --- a/board/odroidc1/overlay/etc/os.conf +++ /dev/null @@ -1,11 +0,0 @@ -os_debug="false" -os_prereleases="false" -os_tty_login="ttyS0" -os_eth="eth0" -os_wlan="wlan0" -os_ppp="ppp0" -os_networkless="false" -os_firmware_method="github" -os_firmware_repo="ccrisan/motioneyeos" -os_firmware_username="" -os_firmware_password="" diff --git a/board/odroidc1/uInitrd b/board/odroidc1/uInitrd index 0a061f135d..8f4ba6ed88 100644 Binary files a/board/odroidc1/uInitrd and b/board/odroidc1/uInitrd differ diff --git a/board/odroidc2/os.conf b/board/odroidc2/os.conf new file mode 100644 index 0000000000..dc77b07e6d --- /dev/null +++ b/board/odroidc2/os.conf @@ -0,0 +1,2 @@ +os_tty_login="ttyS0" + diff --git a/board/odroidc2/overlay/etc/os.conf b/board/odroidc2/overlay/etc/os.conf deleted file mode 100644 index d3ce9dfd6c..0000000000 --- a/board/odroidc2/overlay/etc/os.conf +++ /dev/null @@ -1,11 +0,0 @@ -os_debug="false" -os_prereleases="false" -os_tty_login="ttyS0" -os_eth="eth0" -os_wlan="wlan0" -os_ppp="ppp0" -os_networkless="false" -os_firmware_method="github" -os_firmware_repo="ccrisan/motioneyeos" -os_firmware_username="" -os_firmware_password="" diff --git a/board/odroidc2/uInitrd b/board/odroidc2/uInitrd index e761d4199e..e14178f604 100644 Binary files a/board/odroidc2/uInitrd and b/board/odroidc2/uInitrd differ diff --git a/board/odroidxu4/uInitrd b/board/odroidxu4/uInitrd index 1692af7d0c..484ea295e8 100644 Binary files a/board/odroidxu4/uInitrd and b/board/odroidxu4/uInitrd differ diff --git a/board/pine64/boot0.bin b/board/pine64/boot0.bin new file mode 100644 index 0000000000..3ad8341f86 Binary files /dev/null and b/board/pine64/boot0.bin differ diff --git a/board/pine64/dtb/sun50i-a64-pine64-pinebook.dtb b/board/pine64/dtb/sun50i-a64-pine64-pinebook.dtb new file mode 100644 index 0000000000..2c76956406 Binary files /dev/null and b/board/pine64/dtb/sun50i-a64-pine64-pinebook.dtb differ diff --git a/board/pine64/dtb/sun50i-a64-pine64-plus.dtb b/board/pine64/dtb/sun50i-a64-pine64-plus.dtb new file mode 100644 index 0000000000..2f254085ad Binary files /dev/null and b/board/pine64/dtb/sun50i-a64-pine64-plus.dtb differ diff --git a/board/pine64/fwupdater.img b/board/pine64/fwupdater.img new file mode 100644 index 0000000000..eedcd9fdf5 Binary files /dev/null and b/board/pine64/fwupdater.img differ diff --git a/board/pine64/linux-vfe-dmesg-flood-fix.patch b/board/pine64/linux-vfe-dmesg-flood-fix.patch new file mode 100644 index 0000000000..d69b7fe068 --- /dev/null +++ b/board/pine64/linux-vfe-dmesg-flood-fix.patch @@ -0,0 +1,33 @@ +diff -uNr linux-pine64-orig/drivers/media/platform/sunxi-vfe/vfe.c linux-pine64-vfe-fix/drivers/media/platform/sunxi-vfe/vfe.c +--- linux-pine64-orig/drivers/media/platform/sunxi-vfe/vfe.c 2017-07-09 19:19:29.738112486 +0300 ++++ linux-pine64-vfe-fix/drivers/media/platform/sunxi-vfe/vfe.c 2017-07-09 19:22:05.466235166 +0300 +@@ -1348,17 +1348,17 @@ + bsp_csi_int_disable(dev->vip_sel, dev->cur_ch,CSI_INT_FRAME_DONE); + if (dev->first_flag == 0) { + dev->first_flag++; +- vfe_print("capture video mode!\n"); ++ //vfe_print("capture video mode!\n"); + goto set_isp_stat_addr; + } + if (dev->first_flag == 1) { + dev->first_flag++; +- vfe_print("capture video first frame done!\n"); ++ //vfe_print("capture video first frame done!\n"); + } + + //video buffer handle: + if ((&dma_q->active) == dma_q->active.next->next->next) { +- vfe_warn("Only two buffer left for csi\n"); ++ //vfe_warn("Only two buffer left for csi\n"); + dev->first_flag=0; + goto unlock; + } +@@ -1366,7 +1366,7 @@ + + /* Nobody is waiting on this buffer*/ + if (!waitqueue_active(&buf->vb.vb2_queue->done_wq)) { +- vfe_warn(" Nobody is waiting on this video buffer,buf = 0x%p\n",buf); ++ //vfe_warn(" Nobody is waiting on this video buffer,buf = 0x%p\n",buf); + } + list_del(&buf->list); + v4l2_get_timestamp(&buf->vb.v4l2_buf.timestamp); diff --git a/board/pine64/mkimage.sh b/board/pine64/mkimage.sh new file mode 100755 index 0000000000..69c5685d88 --- /dev/null +++ b/board/pine64/mkimage.sh @@ -0,0 +1,16 @@ +#!/bin/bash -e + +BOARD_DIR=$(dirname $0) +COMMON_DIR=$BOARD_DIR/../common + +export BOARD=$(basename $BOARD_DIR) +export IMG_DIR=$BOARD_DIR/../../output/$BOARD/images/ +export UBOOT_BIN=$BOARD_DIR/u-boot-with-dtb.bin +export UBOOT_SEEK=38192 +export PART_START=40960 +BOOT0=$BOARD_DIR/boot0.bin + +source $COMMON_DIR/mkimage.sh + +dd conv=notrunc if=$BOOT0 of=$DISK_IMG bs=1k seek=8 count=32 oflag=direct + diff --git a/board/pine64/overlay-initramfs/remove_initramfs b/board/pine64/overlay-initramfs/remove_initramfs new file mode 100755 index 0000000000..d2b2798061 --- /dev/null +++ b/board/pine64/overlay-initramfs/remove_initramfs @@ -0,0 +1,4 @@ +#!/bin/sh + +sed -i 's/initrd_filename=/#initrd_filename=/' /boot/uEnv.txt + diff --git a/board/pine64/overlay/etc/board b/board/pine64/overlay/etc/board new file mode 100644 index 0000000000..bb4695af73 --- /dev/null +++ b/board/pine64/overlay/etc/board @@ -0,0 +1 @@ +pine64 diff --git a/board/pine64/overlay/etc/init.d/boardsn b/board/pine64/overlay/etc/init.d/boardsn new file mode 100755 index 0000000000..34ca56a576 --- /dev/null +++ b/board/pine64/overlay/etc/init.d/boardsn @@ -0,0 +1,5 @@ +#!/bin/bash + +sn=$(cat /sys/class/net/eth0/address 2>/dev/null | tr -d ':') +echo ${sn: -8} + diff --git a/board/pine64/overlay/etc/modules b/board/pine64/overlay/etc/modules new file mode 100644 index 0000000000..1cc01bd10b --- /dev/null +++ b/board/pine64/overlay/etc/modules @@ -0,0 +1,6 @@ +8723bs +8723cs +8723bs_vq0 +hci_uart +s5k4ec +vfe_v4l2 diff --git a/board/pine64/overlay/usr/libexec/fw-prepare-boot b/board/pine64/overlay/usr/libexec/fw-prepare-boot new file mode 100755 index 0000000000..aa419ef61c --- /dev/null +++ b/board/pine64/overlay/usr/libexec/fw-prepare-boot @@ -0,0 +1,4 @@ +#!/bin/bash + +sed -r -i 's/#initrd_filename=.*/initrd_filename=fwupdater.img/' /boot/uEnv.txt + diff --git a/board/pine64/postscript.sh b/board/pine64/postscript.sh new file mode 100755 index 0000000000..284948746c --- /dev/null +++ b/board/pine64/postscript.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +# boot directory +mkdir -p $BOOT_DIR/pine64 + +cp $IMG_DIR/Image $BOOT_DIR/kernel.img +cp $BOARD_DIR/uEnv.txt $BOOT_DIR +cp $BOARD_DIR/dtb/* $BOOT_DIR/pine64 +cp $BOARD_DIR/fwupdater.img $BOOT_DIR + diff --git a/board/pine64/u-boot-with-dtb.bin b/board/pine64/u-boot-with-dtb.bin new file mode 100644 index 0000000000..d125f5100d Binary files /dev/null and b/board/pine64/u-boot-with-dtb.bin differ diff --git a/board/pine64/uEnv.txt b/board/pine64/uEnv.txt new file mode 100644 index 0000000000..d98c9a0722 --- /dev/null +++ b/board/pine64/uEnv.txt @@ -0,0 +1,63 @@ +console=tty1 +selinux=permissive +enforcing=0 +optargs=no_console_suspend panic=10 quiet loglevel=1 ipv6.disable=1 +kernel_filename=kernel.img +#initrd_filename=ramdisk.img +#recovery_initrd_filename=ramdisk-recovery.img +hardware=sun50iw1p1 + +# INFO: +# To enable one of below options, +# uncomment them by removing # in front of name + +# To use android recovery: +# Create empty file recovery.txt in root of this partition + +# To enable LCD or HDMI, if not changed it will use default (experimental) +disp_screen0=hdmi +# disp_screen1=lcd or hdmi +# disp_mode=screen0 or screen1 or dualhead or xinerama or clone + +# USB OTG port mode (experimental) +# otg_mode=device or host or otg +otg_mode=host + +# Configure contiguous memory allocation +# This maybe required to be enlarged for 4K displays +cma=384M + +# To change HDMI display mode: +# hdmi_mode=480i +# hdmi_mode=576i +# hdmi_mode=480p +# hdmi_mode=576p +# hdmi_mode=720p50 +hdmi_mode=720p60 +# hdmi_mode=1080i50 +# hdmi_mode=1080i60 +# hdmi_mode=1080p24 +# hdmi_mode=1080p50 +# hdmi_mode=1080p60 +# hdmi_mode=2160p30 +# hdmi_mode=2160p25 +# hdmi_mode=2160p24 + +# To enable DVI compatibilty: +disp_dvi_compat=on + +# To enable CSI camera, if not enabled it will use default: +# camera_type=s5k4ec +# camera_type=ov5640 + +# Configure ethernet speed +eth0_speed=auto +# eth0_speed=1000 +# eth0_speed=100 +# eth0_speed=10 + +# Disable HDMI CEC +hdmi_cec=0 + +# Enable experimental HDMI CEC driver +# hdmi_cec=2 diff --git a/board/raspberrypi/fwupdater.gz b/board/raspberrypi/fwupdater.gz index cc1c05d595..381d9314bd 100644 Binary files a/board/raspberrypi/fwupdater.gz and b/board/raspberrypi/fwupdater.gz differ diff --git a/board/raspberrypi/overlay/etc/init.d/S13btuart b/board/raspberrypi/overlay/etc/init.d/S13btuart new file mode 100755 index 0000000000..48464b8263 --- /dev/null +++ b/board/raspberrypi/overlay/etc/init.d/S13btuart @@ -0,0 +1,45 @@ +#!/bin/bash + +sys_conf="/etc/bluetooth.conf" +boot_conf="/boot/bluetooth.conf" +conf="/data/etc/bluetooth.conf" + +test -f $conf || test -f $boot_conf || test -f $sys_conf || exit 0 + +test -d "/proc/device-tree/soc/gpio@7e200000/uart0_pins" || exit 0 # no rpi bluetooth detected + +test -n "$os_version" || source /etc/init.d/base + +function start() { + if [ "$(cat /proc/device-tree/aliases/uart0)" = "$(cat /proc/device-tree/aliases/serial1)" ] ; then + if [ "$(wc -c /proc/device-tree/soc/gpio@7e200000/uart0_pins/brcm\,pins | cut -f 1 -d ' ')" = " 16" ] ; then + /usr/bin/hciattach -t5 /dev/serial1 bcm43xx 3000000 flow - &>/dev/null + else + /usr/bin/hciattach -t5 /dev/serial1 bcm43xx 921600 noflow - &>/dev/null + fi + else + /usr/bin/hciattach -t5 /dev/serial1 bcm43xx 460800 noflow - &>/dev/null + fi +} + +case "$1" in + start) + msg_begin "Attaching UART bluetooth modem" + # for some reason, sometimes the hciattach command needs to be run twice + (start || start) &>/dev/null & + msg_background + ;; + + stop) + msg_begin "Detaching UART bluetooth modem" + killall hciattach &>/dev/null + test $? == 0 && msg_done || msg_fail + ;; + + *) + echo $"Usage: $0 {start}" + exit 1 +esac + +exit $? + diff --git a/board/raspberrypi/overlay/etc/udev/rules.d/99-com.rules b/board/raspberrypi/overlay/etc/udev/rules.d/99-com.rules new file mode 100644 index 0000000000..a964057230 --- /dev/null +++ b/board/raspberrypi/overlay/etc/udev/rules.d/99-com.rules @@ -0,0 +1,32 @@ +SUBSYSTEM=="input", GROUP="input", MODE="0660" +SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660" +SUBSYSTEM=="spidev", GROUP="spi", MODE="0660" +SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660" + +SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\ + chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;\ + chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio;\ + chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath\ +'" + +KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\ + ALIASES=/proc/device-tree/aliases; \ + if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \ + echo 0;\ + elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \ + echo 1; \ + else \ + exit 1; \ + fi\ +'", SYMLINK+="serial%c" + +KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\ + ALIASES=/proc/device-tree/aliases; \ + if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \ + echo 0; \ + elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \ + echo 1; \ + else \ + exit 1; \ + fi \ +'", SYMLINK+="serial%c" diff --git a/board/raspberrypi/overlay/lib/firmware/BCM43430A1.hcd b/board/raspberrypi/overlay/lib/firmware/BCM43430A1.hcd new file mode 100644 index 0000000000..162275ac0b Binary files /dev/null and b/board/raspberrypi/overlay/lib/firmware/BCM43430A1.hcd differ diff --git a/board/raspberrypi/overlay/usr/bin/hciattach b/board/raspberrypi/overlay/usr/bin/hciattach new file mode 100755 index 0000000000..468a3342a6 Binary files /dev/null and b/board/raspberrypi/overlay/usr/bin/hciattach differ diff --git a/board/raspberrypi2/fwupdater.gz b/board/raspberrypi2/fwupdater.gz index cc1c05d595..381d9314bd 100644 Binary files a/board/raspberrypi2/fwupdater.gz and b/board/raspberrypi2/fwupdater.gz differ diff --git a/board/raspberrypi3/fwupdater.gz b/board/raspberrypi3/fwupdater.gz index cc1c05d595..381d9314bd 100644 Binary files a/board/raspberrypi3/fwupdater.gz and b/board/raspberrypi3/fwupdater.gz differ diff --git a/board/raspberrypi3/overlay/etc/init.d/S13btuart b/board/raspberrypi3/overlay/etc/init.d/S13btuart new file mode 100755 index 0000000000..6899065c82 --- /dev/null +++ b/board/raspberrypi3/overlay/etc/init.d/S13btuart @@ -0,0 +1,43 @@ +#!/bin/bash + +sys_conf="/etc/bluetooth.conf" +boot_conf="/boot/bluetooth.conf" +conf="/data/etc/bluetooth.conf" + +test -f $conf || test -f $boot_conf || test -f $sys_conf || exit 0 + +test -n "$os_version" || source /etc/init.d/base + +function start() { + if [ "$(cat /proc/device-tree/aliases/uart0)" = "$(cat /proc/device-tree/aliases/serial1)" ] ; then + if [ "$(wc -c /proc/device-tree/soc/gpio@7e200000/uart0_pins/brcm\,pins | cut -f 1 -d ' ')" = " 16" ] ; then + /usr/bin/hciattach -t5 /dev/serial1 bcm43xx 3000000 flow - &>/dev/null + else + /usr/bin/hciattach -t5 /dev/serial1 bcm43xx 921600 noflow - &>/dev/null + fi + else + /usr/bin/hciattach -t5 /dev/serial1 bcm43xx 460800 noflow - &>/dev/null + fi +} + +case "$1" in + start) + msg_begin "Attaching UART bluetooth modem" + # for some reason, sometimes the hciattach command needs to be run twice + (start || start) &>/dev/null & + msg_background + ;; + + stop) + msg_begin "Detaching UART bluetooth modem" + killall hciattach &>/dev/null + test $? == 0 && msg_done || msg_fail + ;; + + *) + echo $"Usage: $0 {start}" + exit 1 +esac + +exit $? + diff --git a/board/raspberrypi3/overlay/etc/udev/rules.d/99-com.rules b/board/raspberrypi3/overlay/etc/udev/rules.d/99-com.rules new file mode 100644 index 0000000000..a964057230 --- /dev/null +++ b/board/raspberrypi3/overlay/etc/udev/rules.d/99-com.rules @@ -0,0 +1,32 @@ +SUBSYSTEM=="input", GROUP="input", MODE="0660" +SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660" +SUBSYSTEM=="spidev", GROUP="spi", MODE="0660" +SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660" + +SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\ + chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;\ + chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio;\ + chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath\ +'" + +KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\ + ALIASES=/proc/device-tree/aliases; \ + if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \ + echo 0;\ + elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \ + echo 1; \ + else \ + exit 1; \ + fi\ +'", SYMLINK+="serial%c" + +KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\ + ALIASES=/proc/device-tree/aliases; \ + if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \ + echo 0; \ + elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \ + echo 1; \ + else \ + exit 1; \ + fi \ +'", SYMLINK+="serial%c" diff --git a/board/raspberrypi3/overlay/lib/firmware/BCM43430A1.hcd b/board/raspberrypi3/overlay/lib/firmware/BCM43430A1.hcd new file mode 100644 index 0000000000..162275ac0b Binary files /dev/null and b/board/raspberrypi3/overlay/lib/firmware/BCM43430A1.hcd differ diff --git a/board/raspberrypi3/overlay/usr/bin/hciattach b/board/raspberrypi3/overlay/usr/bin/hciattach new file mode 100755 index 0000000000..468a3342a6 Binary files /dev/null and b/board/raspberrypi3/overlay/usr/bin/hciattach differ diff --git a/build.sh b/build.sh index 46e7f189c1..dac91efc6d 100755 --- a/build.sh +++ b/build.sh @@ -48,10 +48,11 @@ elif [ "$target" == "mkrelease" ]; then mv $basedir/$osname-$board.img $basedir/$osname-$board-$osversion.img rm -f $basedir/$osname-$board-$osversion.img.gz $gzip $basedir/$osname-$board-$osversion.img + echo "your image is ready at $basedir/$osname-$board-$osversion.img.gz" elif [ -n "$target" ]; then make O=$outputdir $target else - make O=$outputdir - test -x $boarddir/mkimage.sh && $boarddir/mkimage.sh + make O=$outputdir all + echo "build successful" fi diff --git a/configs/bananapi_defconfig b/configs/bananapi_defconfig index cc1ea41302..71cdb2e327 100644 --- a/configs/bananapi_defconfig +++ b/configs/bananapi_defconfig @@ -78,6 +78,7 @@ BR2_PACKAGE_PYTHON_SMBUS_CFFI=y BR2_PACKAGE_PYTHON_TORNADO=y BR2_PACKAGE_PYTHON_VERSIONTOOLS=y BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_NETTLE=y BR2_PACKAGE_LIBFUSE=y BR2_PACKAGE_JPEG=y @@ -90,8 +91,10 @@ BR2_PACKAGE_X265=y BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_CURL=y BR2_PACKAGE_LIBCAP=y -BR2_PACKAGE_PCRE=y BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y diff --git a/configs/odroidc1_defconfig b/configs/odroidc1_defconfig index 2afbb4fec5..e44522d1f5 100644 --- a/configs/odroidc1_defconfig +++ b/configs/odroidc1_defconfig @@ -10,7 +10,7 @@ BR2_OPTIMIZE_2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://releases.linaro.org/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_URL="https://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="$(ARCH)-linux-gnueabihf" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1=y @@ -24,7 +24,7 @@ BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidc1/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/647316d8199babad4cd22309849842e035494f2b.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/395190984bce09f63b93a7f71bcf362a72ec8018.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="odroidc" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_DTS_SUPPORT=y @@ -71,6 +71,7 @@ BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y +BR2_PACKAGE_DBUS=y BR2_PACKAGE_USB_MODESWITCH_DATA=y BR2_PACKAGE_PYTHON_SSL=y BR2_PACKAGE_PYTHON_HASHLIB=y @@ -82,6 +83,7 @@ BR2_PACKAGE_PYTHON_SMBUS_CFFI=y BR2_PACKAGE_PYTHON_TORNADO=y BR2_PACKAGE_PYTHON_VERSIONTOOLS=y BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_NETTLE=y BR2_PACKAGE_LIBFUSE=y BR2_PACKAGE_JPEG=y diff --git a/configs/odroidc1_initramfs_defconfig b/configs/odroidc1_initramfs_defconfig index 90ebefa4ce..6096ab6491 100644 --- a/configs/odroidc1_initramfs_defconfig +++ b/configs/odroidc1_initramfs_defconfig @@ -10,7 +10,7 @@ BR2_OPTIMIZE_2=y BR2_TOOLCHAIN_EXTERNAL=y BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y -BR2_TOOLCHAIN_EXTERNAL_URL="http://releases.linaro.org/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz" +BR2_TOOLCHAIN_EXTERNAL_URL="https://releases.linaro.org/archive/14.09/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux.tar.xz" BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="$(ARCH)-linux-gnueabihf" BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1=y diff --git a/configs/odroidc2_defconfig b/configs/odroidc2_defconfig index 29f37b119f..5ed841dd33 100644 --- a/configs/odroidc2_defconfig +++ b/configs/odroidc2_defconfig @@ -7,11 +7,12 @@ BR2_TOOLCHAIN_EXTERNAL=y BR2_TARGET_OPTIMIZATION="-pipe" BR2_ROOTFS_SKELETON_CUSTOM=y BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidc2/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/1b4fefdf20a84b17d5b666c0686a12a29adcb848.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/6ead4210bf3235f0c11526afd1c077a07c5d1478.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="odroidc2" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="meson64_odroidc2" @@ -69,6 +70,7 @@ BR2_PACKAGE_PYTHON_SMBUS_CFFI=y BR2_PACKAGE_PYTHON_TORNADO=y BR2_PACKAGE_PYTHON_VERSIONTOOLS=y BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_NETTLE=y BR2_PACKAGE_LIBFUSE=y BR2_PACKAGE_JPEG=y @@ -81,8 +83,10 @@ BR2_PACKAGE_X265=y BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_CURL=y BR2_PACKAGE_LIBCAP=y -BR2_PACKAGE_PCRE=y BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y diff --git a/configs/odroidxu4_defconfig b/configs/odroidxu4_defconfig index fc309bf7a9..60670f95d2 100644 --- a/configs/odroidxu4_defconfig +++ b/configs/odroidxu4_defconfig @@ -14,7 +14,7 @@ BR2_ROOTFS_OVERLAY="board/common/overlay board/odroidxu4/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/d3d2fb3a7aa850aea3033b6b342d28dba1a4499f.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/hardkernel/linux/archive/de1a48357a7b9cff8ba07176fc9b8aac632f8ff6.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="odroidxu3" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="exynos5422-odroidxu4" @@ -72,6 +72,7 @@ BR2_PACKAGE_PYTHON_SMBUS_CFFI=y BR2_PACKAGE_PYTHON_TORNADO=y BR2_PACKAGE_PYTHON_VERSIONTOOLS=y BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_NETTLE=y BR2_PACKAGE_LIBFUSE=y BR2_PACKAGE_JPEG=y @@ -84,8 +85,10 @@ BR2_PACKAGE_X265=y BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_CURL=y BR2_PACKAGE_LIBCAP=y -BR2_PACKAGE_PCRE=y BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y diff --git a/configs/pine64_defconfig b/configs/pine64_defconfig new file mode 100644 index 0000000000..76b1de6044 --- /dev/null +++ b/configs/pine64_defconfig @@ -0,0 +1,112 @@ +BR2_aarch64=y +BR2_DL_DIR="$(TOPDIR)/.download" +BR2_CCACHE=y +BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-pine64" +BR2_OPTIMIZE_2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_OPTIMIZATION="-pipe" +BR2_ROOTFS_SKELETON_CUSTOM=y +BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton" +BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y +BR2_ROOTFS_OVERLAY="board/common/overlay board/pine64/overlay" +BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL=y +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/longsleep/linux-pine64/archive/a08f5219d240ae0edf93d090ff1fda0a82a6cb3a.tar.gz" +BR2_LINUX_KERNEL_PATCH="board/pine64/linux-vfe-dmesg-flood-fix.patch" +BR2_LINUX_KERNEL_DEFCONFIG="sun50iw1p1smp_linux" +BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox.config" +BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y +BR2_PACKAGE_MOTIONEYE=y +BR2_PACKAGE_ALSA_UTILS=y +BR2_PACKAGE_ALSA_UTILS_APLAY=y +BR2_PACKAGE_FFMPEG=y +BR2_PACKAGE_FFMPEG_GPL=y +BR2_PACKAGE_FFMPEG_NONFREE=y +BR2_PACKAGE_FFMPEG_SWSCALE=y +BR2_PACKAGE_LIBWEBCAM=y +BR2_PACKAGE_MOTION=y +BR2_PACKAGE_GZIP=y +BR2_PACKAGE_JQ=y +BR2_PACKAGE_CIFS_UTILS=y +# BR2_PACKAGE_E2FSPROGS_BADBLOCKS is not set +# BR2_PACKAGE_E2FSPROGS_CHATTR is not set +# BR2_PACKAGE_E2FSPROGS_DUMPE2FS is not set +# BR2_PACKAGE_E2FSPROGS_E2FREEFRAG is not set +# BR2_PACKAGE_E2FSPROGS_E2LABEL is not set +# BR2_PACKAGE_E2FSPROGS_E2UNDO is not set +# BR2_PACKAGE_E2FSPROGS_FILEFRAG is not set +# BR2_PACKAGE_E2FSPROGS_LOGSAVE is not set +# BR2_PACKAGE_E2FSPROGS_LSATTR is not set +# BR2_PACKAGE_E2FSPROGS_MKLOSTFOUND is not set +# BR2_PACKAGE_E2FSPROGS_TUNE2FS is not set +# BR2_PACKAGE_E2FSPROGS_UUIDGEN is not set +BR2_PACKAGE_NTFS_3G=y +BR2_PACKAGE_B43_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170=y +BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX=y +BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797=y +BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897=y +BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73=y +BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX=y +BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX=y +BR2_PACKAGE_USB_MODESWITCH_DATA=y +BR2_PACKAGE_PYTHON_SSL=y +BR2_PACKAGE_PYTHON_HASHLIB=y +BR2_PACKAGE_PYTHON_JINJA2=y +BR2_PACKAGE_PYTHON_PILLOW=y +BR2_PACKAGE_PYTHON_PYCURL=y +BR2_PACKAGE_PYTHON_PYTZ=y +BR2_PACKAGE_PYTHON_SMBUS_CFFI=y +BR2_PACKAGE_PYTHON_TORNADO=y +BR2_PACKAGE_PYTHON_VERSIONTOOLS=y +BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y +BR2_PACKAGE_NETTLE=y +BR2_PACKAGE_LIBFUSE=y +BR2_PACKAGE_JPEG=y +BR2_PACKAGE_LIBV4L=y +BR2_PACKAGE_LIBV4L_UTILS=y +BR2_PACKAGE_LIBXML2=y +BR2_PACKAGE_LIBTHEORA=y +BR2_PACKAGE_X264=y +BR2_PACKAGE_X265=y +BR2_PACKAGE_LIBCURL=y +BR2_PACKAGE_CURL=y +BR2_PACKAGE_LIBCAP=y +BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y +BR2_PACKAGE_CRDA=y +BR2_PACKAGE_DHCP=y +BR2_PACKAGE_DHCP_CLIENT=y +BR2_PACKAGE_IPTABLES=y +BR2_PACKAGE_IW=y +BR2_PACKAGE_NETCAT=y +BR2_PACKAGE_NET_TOOLS=y +BR2_PACKAGE_NTP=y +BR2_PACKAGE_NTP_NTPDATE=y +BR2_PACKAGE_OPENSSH=y +BR2_PACKAGE_PPPD=y +BR2_PACKAGE_PROFTPD=y +BR2_PACKAGE_RSYNC=y +BR2_PACKAGE_SAMBA4=y +BR2_PACKAGE_WIRELESS_TOOLS=y +BR2_PACKAGE_WPA_SUPPLICANT=y +BR2_PACKAGE_WPA_SUPPLICANT_EAP=y +BR2_PACKAGE_WPA_SUPPLICANT_CLI=y +BR2_PACKAGE_BASH=y +BR2_PACKAGE_LOGROTATE=y +BR2_PACKAGE_TAR=y +BR2_PACKAGE_UTIL_LINUX_BINARIES=y +BR2_PACKAGE_UTIL_LINUX_PARTX=y +BR2_PACKAGE_NANO=y diff --git a/configs/pine64_initramfs_defconfig b/configs/pine64_initramfs_defconfig new file mode 100644 index 0000000000..69e6d406c5 --- /dev/null +++ b/configs/pine64_initramfs_defconfig @@ -0,0 +1,15 @@ +BR2_aarch64=y +BR2_DL_DIR="$(TOPDIR)/.download" +BR2_CCACHE=y +BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-pine64-initramfs" +BR2_OPTIMIZE_2=y +BR2_TOOLCHAIN_EXTERNAL=y +BR2_TARGET_OPTIMIZATION="-pipe" +BR2_ROOTFS_SKELETON_CUSTOM=y +BR2_ROOTFS_SKELETON_CUSTOM_PATH="board/common/skeleton-initramfs" +BR2_ROOTFS_OVERLAY="board/common/overlay-initramfs board/pine64/overlay-initramfs" +BR2_PACKAGE_BUSYBOX_CONFIG="board/common/busybox_initramfs.config" +BR2_TARGET_ROOTFS_CPIO=y +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y +# BR2_TARGET_ROOTFS_TAR is not set + diff --git a/configs/raspberrypi2_defconfig b/configs/raspberrypi2_defconfig index 3b6c7fe1ef..39280f06a4 100644 --- a/configs/raspberrypi2_defconfig +++ b/configs/raspberrypi2_defconfig @@ -14,7 +14,7 @@ BR2_ROOTFS_OVERLAY="board/common/overlay board/raspberrypi2/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/04c8e47067d4873c584395e5cb260b4f170a99ea.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/4153f509b449f1c1c816cf124c314975c3daa824.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2709-rpi-2-b" @@ -79,6 +79,7 @@ BR2_PACKAGE_PYTHON_SMBUS_CFFI=y BR2_PACKAGE_PYTHON_TORNADO=y BR2_PACKAGE_PYTHON_VERSIONTOOLS=y BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_NETTLE=y BR2_PACKAGE_LIBFUSE=y BR2_PACKAGE_JPEG=y @@ -91,8 +92,10 @@ BR2_PACKAGE_X265=y BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_CURL=y BR2_PACKAGE_LIBCAP=y -BR2_PACKAGE_PCRE=y BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y diff --git a/configs/raspberrypi3_defconfig b/configs/raspberrypi3_defconfig index 7aa8e089a9..a9972ff782 100644 --- a/configs/raspberrypi3_defconfig +++ b/configs/raspberrypi3_defconfig @@ -14,7 +14,7 @@ BR2_ROOTFS_OVERLAY="board/common/overlay board/raspberrypi3/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/04c8e47067d4873c584395e5cb260b4f170a99ea.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/4153f509b449f1c1c816cf124c314975c3daa824.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcm2709" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b" @@ -79,6 +79,7 @@ BR2_PACKAGE_PYTHON_SMBUS_CFFI=y BR2_PACKAGE_PYTHON_TORNADO=y BR2_PACKAGE_PYTHON_VERSIONTOOLS=y BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_NETTLE=y BR2_PACKAGE_LIBFUSE=y BR2_PACKAGE_JPEG=y @@ -91,8 +92,10 @@ BR2_PACKAGE_X265=y BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_CURL=y BR2_PACKAGE_LIBCAP=y -BR2_PACKAGE_PCRE=y BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y diff --git a/configs/raspberrypi_defconfig b/configs/raspberrypi_defconfig index 7d17de0d7a..df711bd3b5 100644 --- a/configs/raspberrypi_defconfig +++ b/configs/raspberrypi_defconfig @@ -5,7 +5,6 @@ BR2_CCACHE=y BR2_CCACHE_DIR="$(TOPDIR)/.buildroot-ccache-raspberrypi" BR2_OPTIMIZE_2=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y BR2_GCC_VERSION_4_9_X=y BR2_TOOLCHAIN_BUILDROOT_CXX=y BR2_TARGET_OPTIMIZATION="-pipe" @@ -16,7 +15,7 @@ BR2_ROOTFS_OVERLAY="board/common/overlay board/raspberrypi/overlay" BR2_ROOTFS_POST_BUILD_SCRIPT="board/common/postscript.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/04c8e47067d4873c584395e5cb260b4f170a99ea.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="https://github.com/raspberrypi/linux/archive/4153f509b449f1c1c816cf124c314975c3daa824.tar.gz" BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-0-w bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm" @@ -82,6 +81,7 @@ BR2_PACKAGE_PYTHON_SMBUS_CFFI=y BR2_PACKAGE_PYTHON_TORNADO=y BR2_PACKAGE_PYTHON_VERSIONTOOLS=y BR2_PACKAGE_CA_CERTIFICATES=y +BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_NETTLE=y BR2_PACKAGE_LIBFUSE=y BR2_PACKAGE_JPEG=y @@ -95,8 +95,10 @@ BR2_PACKAGE_X265=y BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_CURL=y BR2_PACKAGE_LIBCAP=y -BR2_PACKAGE_PCRE=y BR2_PACKAGE_AUTOSSH=y +BR2_PACKAGE_BLUEZ5_UTILS=y +BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y +BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL=y BR2_PACKAGE_CRDA=y BR2_PACKAGE_DHCP=y BR2_PACKAGE_DHCP_CLIENT=y diff --git a/package/motioneye/extractl.py b/package/motioneye/extractl.py index d8eb0a3c35..fd4bf9c96e 100644 --- a/package/motioneye/extractl.py +++ b/package/motioneye/extractl.py @@ -201,7 +201,6 @@ def _set_os_settings(s): def _get_motioneye_settings(): port = 80 - base_path = '' motion_binary = '/usr/bin/motion' debug = False motion_keep_alive = False @@ -226,9 +225,6 @@ def _get_motioneye_settings(): if name == 'port': port = int(value) - elif name == 'base_path': - base_path = value.strip() - elif name == 'motion_binary': motion_binary = value @@ -240,13 +236,12 @@ def _get_motioneye_settings(): s = { 'port': port, - 'basePath': base_path, 'motionBinary': motion_binary, 'motionKeepAlive': motion_keep_alive, 'debug': debug } - logging.debug(('motioneye settings: port=%(port)s, base_path=%(basePath)s, motion_binary=%(motionBinary)s, ' + + logging.debug(('motioneye settings: port=%(port)s, motion_binary=%(motionBinary)s, ' + 'motion_keep_alive=%(motionKeepAlive)s, debug=%(debug)s') % s) return s @@ -255,13 +250,12 @@ def _get_motioneye_settings(): def _set_motioneye_settings(s): s = dict(s) s.setdefault('port', 80) - s.setdefault('basePath', '') s.setdefault('motionBinary', '/usr/bin/motion') debug = s.setdefault('debug', False) # value needed later s.setdefault('motion_keep_alive', False) logging.debug('writing motioneye settings to %s: ' % MOTIONEYE_CONF + - ('port=%(port)s, base_path=%(basePath)s, motion_binary=%(motionBinary)s, ' + + ('port=%(port)s, motion_binary=%(motionBinary)s, ' + 'motion_keep_alive=%(motionKeepAlive)s, debug=%(debug)s') % s) lines = [] @@ -285,14 +279,6 @@ def _set_motioneye_settings(s): if name == 'port': lines[i] = 'port %s' % s.pop('port') - elif name == 'base_path': - base_path = s.pop('basePath') - if base_path: - lines[i] = 'base_path %s' % base_path - - else: - lines[i] = None - elif name == 'motion_binary': lines[i] = 'motion_binary %s' % s.pop('motionBinary') @@ -307,9 +293,6 @@ def _set_motioneye_settings(s): if 'port' in s: lines.append('port %s' % s.pop('port')) - if s.get('basePath'): - lines.append('base_path %s' % s.pop('basePath')) - if 'motionBinary' in s: lines.append('motion_binary %s' % s.pop('motionBinary')) @@ -442,7 +425,7 @@ def dateTimeout(): 'type': 'number', 'min': 1, 'max': 3600, - 'unit': 's', + 'unit': 'seconds', 'section': 'expertSettings', 'advanced': True, 'reboot': True, @@ -461,7 +444,7 @@ def dateInterval(): 'type': 'number', 'min': 10, 'max': 86400, - 'unit': 's', + 'unit': 'seconds', 'section': 'expertSettings', 'advanced': True, 'reboot': True, @@ -500,21 +483,6 @@ def port(): } -@additional_config -def basePath(): - return { - 'label': 'Base Path', - 'description': 'sets a base path of all the URIs used by motionEye (useful when running behind a reverse proxy exposing the motionEye UI at /cams, for example)', - 'type': 'str', - 'section': 'expertSettings', - 'advanced': True, - 'reboot': True, - 'get': _get_motioneye_settings, - 'set': _set_motioneye_settings, - 'get_set_dict': True - } - - @additional_config def motionBinary(): return { @@ -540,6 +508,7 @@ def motionKeepAlive(): 'section': 'expertSettings', 'advanced': True, 'reboot': True, + 'unit': 'seconds', 'get': _get_motioneye_settings, 'set': _set_motioneye_settings, 'get_set_dict': True diff --git a/package/motioneye/motioneye.mk b/package/motioneye/motioneye.mk index 33066616c5..158ecdc054 100644 --- a/package/motioneye/motioneye.mk +++ b/package/motioneye/motioneye.mk @@ -4,7 +4,7 @@ # ############################################################# -MOTIONEYE_VERSION = 6bd995e5ac0b4e09eae0fa614d1564bbf0b3b9f0 +MOTIONEYE_VERSION = 9d546ec1aa8da1fe27ad5c0ad212bdb2baf8dce1 MOTIONEYE_SITE = $(call github,ccrisan,motioneye,$(MOTIONEYE_VERSION)) MOTIONEYE_SOURCE = $(MOTIONEYE_VERSION).tar.gz MOTIONEYE_LICENSE = GPLv3 diff --git a/package/motioneye/watchctl.py b/package/motioneye/watchctl.py index 045a12fbcf..2d3e1809a6 100644 --- a/package/motioneye/watchctl.py +++ b/package/motioneye/watchctl.py @@ -160,7 +160,7 @@ def watchLinkTimeout(): 'type': 'number', 'min': 1, 'max': 3600, - 'unit': 's', + 'unit': 'seconds', 'section': 'expertSettings', 'advanced': True, 'reboot': True, @@ -250,7 +250,7 @@ def watchConnectTimeout(): 'type': 'number', 'min': 1, 'max': 3600, - 'unit': 's', + 'unit': 'seconds', 'section': 'expertSettings', 'advanced': True, 'reboot': True, @@ -270,7 +270,7 @@ def watchConnectInterval(): 'type': 'number', 'min': 1, 'max': 3600, - 'unit': 's', + 'unit': 'seconds', 'section': 'expertSettings', 'advanced': True, 'reboot': True, diff --git a/package/pulseaudio/pulseaudio.mk b/package/pulseaudio/pulseaudio.mk index 74a028be45..0ab23707c9 100644 --- a/package/pulseaudio/pulseaudio.mk +++ b/package/pulseaudio/pulseaudio.mk @@ -31,7 +31,6 @@ PULSEAUDIO_DEPENDENCIES = \ $(if $(BR2_PACKAGE_LIBGLIB2),libglib2) \ $(if $(BR2_PACKAGE_AVAHI_DAEMON),avahi) \ $(if $(BR2_PACKAGE_DBUS),dbus) \ - $(if $(BR2_PACKAGE_BLUEZ_UTILS),bluez_utils) \ $(if $(BR2_PACKAGE_OPENSSL),openssl) \ $(if $(BR2_PACKAGE_FFTW),fftw) \ $(if $(BR2_PACKAGE_SYSTEMD),systemd) @@ -80,6 +79,20 @@ else PULSEAUDIO_CONF_OPTS += --without-soxr endif +ifeq ($(BR2_PACKAGE_BLUEZ_UTILS)$(BR2_PACKAGE_SBC),yy) +PULSEAUDIO_CONF_OPTS += --enable-bluez4 +PULSEAUDIO_DEPENDENCIES += bluez_utils sbc +else +PULSEAUDIO_CONF_OPTS += --disable-bluez4 +endif + +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS)$(BR2_PACKAGE_SBC),yy) +PULSEAUDIO_CONF_OPTS += --enable-bluez5 +PULSEAUDIO_DEPENDENCIES += bluez5_utils sbc +else +PULSEAUDIO_CONF_OPTS += --disable-bluez5 +endif + ifeq ($(BR2_PACKAGE_HAS_UDEV),y) PULSEAUDIO_CONF_OPTS += --enable-udev PULSEAUDIO_DEPENDENCIES += udev diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk index 43bd68d658..7ffd6babcb 100644 --- a/package/rpi-firmware/rpi-firmware.mk +++ b/package/rpi-firmware/rpi-firmware.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_FIRMWARE_VERSION = 6ba0dabbe76ce02d261cc4658c3484fa12b10385 +RPI_FIRMWARE_VERSION = b2420fc150ae4616f5d9ec24bdaedc630586a529 RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION)) RPI_FIRMWARE_LICENSE = BSD-3c RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom diff --git a/package/rpi-userland/rpi-userland.mk b/package/rpi-userland/rpi-userland.mk index 804010ab69..7bd17826fe 100644 --- a/package/rpi-userland/rpi-userland.mk +++ b/package/rpi-userland/rpi-userland.mk @@ -4,7 +4,7 @@ # ################################################################################ -RPI_USERLAND_VERSION = cdb5da59f939eb4078e90ed0e3c231c498ba9957 +RPI_USERLAND_VERSION = 3caf0cd4a61f46b71eff49422c36e1cd2727ab45 RPI_USERLAND_SITE = $(call github,raspberrypi,userland,$(RPI_USERLAND_VERSION)) RPI_USERLAND_LICENSE = BSD-3c RPI_USERLAND_LICENSE_FILES = LICENCE diff --git a/writeimage.sh b/writeimage.sh index 3e0f943064..99895df526 100755 --- a/writeimage.sh +++ b/writeimage.sh @@ -2,7 +2,7 @@ function usage() { - echo "Usage: $0 [options...]" 1>&2 + echo "Usage: $0 [options...]" echo "" echo "Available options:" echo " <-i image_file> - indicates the path to the image file (e.g. -i /home/user/Download/file.img.gz)" @@ -14,7 +14,7 @@ function usage() { } if [ -z "$1" ]; then - usage + usage 1>&2 fi if [[ $(id -u) -ne 0 ]]; then echo "please run as root"; exit 1; fi @@ -51,13 +51,13 @@ while getopts "a:d:f:h:i:lm:n:o:p:s:w" o; do DNS=${S_IP[2]} ;; *) - usage + usage 1>&2 ;; esac done if [ -z "$SDCARD_DEV" ] || [ -z "$DISK_IMG" ]; then - usage + usage 1>&2 fi function cleanup {