stuff
3369
SOFTWARE/A64-TERES/blobs/a64-olinuxino.dts
Normal file
3443
SOFTWARE/A64-TERES/blobs/a64-olinuxino_uboot.dts
Normal file
3454
SOFTWARE/A64-TERES/blobs/a64-teres.dts
Normal file
3451
SOFTWARE/A64-TERES/blobs/a64-teres_uboot.dts
Normal file
1073
SOFTWARE/A64-TERES/blobs/a64_config_busybox
Normal file
@ -0,0 +1,1073 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Busybox version: 1.24.1
|
||||
# Sun Feb 7 14:41:04 2016
|
||||
#
|
||||
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=y
|
||||
CONFIG_FEATURE_INSTALLER=y
|
||||
CONFIG_INSTALL_NO_USR=y
|
||||
# CONFIG_LOCALE_SUPPORT is not set
|
||||
CONFIG_UNICODE_SUPPORT=y
|
||||
# CONFIG_UNICODE_USING_LOCALE is not set
|
||||
# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
|
||||
CONFIG_SUBST_WCHAR=63
|
||||
CONFIG_LAST_SUPPORTED_WCHAR=767
|
||||
# CONFIG_UNICODE_COMBINING_WCHARS is not set
|
||||
# CONFIG_UNICODE_WIDE_WCHARS is not set
|
||||
# CONFIG_UNICODE_BIDI_SUPPORT is not set
|
||||
# CONFIG_UNICODE_NEUTRAL_TABLE is not set
|
||||
# CONFIG_UNICODE_PRESERVE_BROKEN is not set
|
||||
# CONFIG_PAM is not set
|
||||
CONFIG_FEATURE_USE_SENDFILE=y
|
||||
CONFIG_LONG_OPTS=y
|
||||
CONFIG_FEATURE_DEVPTS=y
|
||||
# CONFIG_FEATURE_CLEAN_UP is not set
|
||||
CONFIG_FEATURE_UTMP=y
|
||||
CONFIG_FEATURE_WTMP=y
|
||||
CONFIG_FEATURE_PIDFILE=y
|
||||
CONFIG_PID_FILE_PATH="/var/run"
|
||||
CONFIG_FEATURE_SUID=y
|
||||
CONFIG_FEATURE_SUID_CONFIG=y
|
||||
CONFIG_FEATURE_SUID_CONFIG_QUIET=y
|
||||
# CONFIG_SELINUX is not set
|
||||
# CONFIG_FEATURE_PREFER_APPLETS is not set
|
||||
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
|
||||
CONFIG_FEATURE_SYSLOG=y
|
||||
CONFIG_FEATURE_HAVE_RPC=y
|
||||
|
||||
#
|
||||
# Build Options
|
||||
#
|
||||
CONFIG_STATIC=y
|
||||
# CONFIG_PIE is not set
|
||||
# CONFIG_NOMMU is not set
|
||||
# CONFIG_BUILD_LIBBUSYBOX is not set
|
||||
# CONFIG_FEATURE_INDIVIDUAL is not set
|
||||
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
|
||||
CONFIG_LFS=y
|
||||
CONFIG_CROSS_COMPILER_PREFIX=""
|
||||
CONFIG_SYSROOT=""
|
||||
CONFIG_EXTRA_CFLAGS=""
|
||||
CONFIG_EXTRA_LDFLAGS=""
|
||||
CONFIG_EXTRA_LDLIBS=""
|
||||
|
||||
#
|
||||
# Debugging Options
|
||||
#
|
||||
# CONFIG_DEBUG is not set
|
||||
# CONFIG_DEBUG_PESSIMIZE is not set
|
||||
# CONFIG_UNIT_TEST is not set
|
||||
# CONFIG_WERROR is not set
|
||||
CONFIG_NO_DEBUG_LIB=y
|
||||
# CONFIG_DMALLOC is not set
|
||||
# CONFIG_EFENCE is not set
|
||||
|
||||
#
|
||||
# Installation Options ("make install" behavior)
|
||||
#
|
||||
CONFIG_INSTALL_APPLET_SYMLINKS=y
|
||||
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
|
||||
# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
|
||||
# CONFIG_INSTALL_APPLET_DONT is not set
|
||||
# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
|
||||
# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
|
||||
# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
|
||||
CONFIG_PREFIX="./_install"
|
||||
|
||||
#
|
||||
# Busybox Library Tuning
|
||||
#
|
||||
CONFIG_FEATURE_SYSTEMD=y
|
||||
CONFIG_FEATURE_RTMINMAX=y
|
||||
CONFIG_PASSWORD_MINLEN=6
|
||||
CONFIG_MD5_SMALL=1
|
||||
CONFIG_SHA3_SMALL=1
|
||||
CONFIG_FEATURE_FAST_TOP=y
|
||||
# CONFIG_FEATURE_ETC_NETWORKS is not set
|
||||
CONFIG_FEATURE_USE_TERMIOS=y
|
||||
CONFIG_FEATURE_EDITING=y
|
||||
CONFIG_FEATURE_EDITING_MAX_LEN=1024
|
||||
# CONFIG_FEATURE_EDITING_VI is not set
|
||||
CONFIG_FEATURE_EDITING_HISTORY=255
|
||||
CONFIG_FEATURE_EDITING_SAVEHISTORY=y
|
||||
# CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set
|
||||
CONFIG_FEATURE_REVERSE_SEARCH=y
|
||||
CONFIG_FEATURE_TAB_COMPLETION=y
|
||||
# CONFIG_FEATURE_USERNAME_COMPLETION is not set
|
||||
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
|
||||
# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
|
||||
CONFIG_FEATURE_NON_POSIX_CP=y
|
||||
# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
|
||||
CONFIG_FEATURE_COPYBUF_KB=4
|
||||
CONFIG_FEATURE_SKIP_ROOTFS=y
|
||||
# CONFIG_MONOTONIC_SYSCALL is not set
|
||||
CONFIG_IOCTL_HEX2STR_ERROR=y
|
||||
CONFIG_FEATURE_HWIB=y
|
||||
|
||||
#
|
||||
# Applets
|
||||
#
|
||||
|
||||
#
|
||||
# Archival Utilities
|
||||
#
|
||||
CONFIG_FEATURE_SEAMLESS_XZ=y
|
||||
CONFIG_FEATURE_SEAMLESS_LZMA=y
|
||||
CONFIG_FEATURE_SEAMLESS_BZ2=y
|
||||
CONFIG_FEATURE_SEAMLESS_GZ=y
|
||||
# CONFIG_FEATURE_SEAMLESS_Z is not set
|
||||
# CONFIG_AR is not set
|
||||
# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
|
||||
# CONFIG_FEATURE_AR_CREATE is not set
|
||||
# CONFIG_UNCOMPRESS is not set
|
||||
CONFIG_GUNZIP=y
|
||||
CONFIG_BUNZIP2=y
|
||||
CONFIG_UNLZMA=y
|
||||
# CONFIG_FEATURE_LZMA_FAST is not set
|
||||
CONFIG_LZMA=y
|
||||
CONFIG_UNXZ=y
|
||||
CONFIG_XZ=y
|
||||
CONFIG_BZIP2=y
|
||||
CONFIG_CPIO=y
|
||||
CONFIG_FEATURE_CPIO_O=y
|
||||
CONFIG_FEATURE_CPIO_P=y
|
||||
# CONFIG_DPKG is not set
|
||||
# CONFIG_DPKG_DEB is not set
|
||||
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
|
||||
CONFIG_GZIP=y
|
||||
CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
|
||||
CONFIG_GZIP_FAST=0
|
||||
# CONFIG_FEATURE_GZIP_LEVELS is not set
|
||||
CONFIG_LZOP=y
|
||||
# CONFIG_LZOP_COMPR_HIGH is not set
|
||||
CONFIG_RPM=y
|
||||
CONFIG_RPM2CPIO=y
|
||||
CONFIG_TAR=y
|
||||
CONFIG_FEATURE_TAR_CREATE=y
|
||||
CONFIG_FEATURE_TAR_AUTODETECT=y
|
||||
CONFIG_FEATURE_TAR_FROM=y
|
||||
CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
|
||||
CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY=y
|
||||
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
|
||||
CONFIG_FEATURE_TAR_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_TAR_TO_COMMAND=y
|
||||
CONFIG_FEATURE_TAR_UNAME_GNAME=y
|
||||
CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
|
||||
# CONFIG_FEATURE_TAR_SELINUX is not set
|
||||
CONFIG_UNZIP=y
|
||||
|
||||
#
|
||||
# Coreutils
|
||||
#
|
||||
CONFIG_BASENAME=y
|
||||
CONFIG_CAT=y
|
||||
CONFIG_DATE=y
|
||||
CONFIG_FEATURE_DATE_ISOFMT=y
|
||||
# CONFIG_FEATURE_DATE_NANO is not set
|
||||
CONFIG_FEATURE_DATE_COMPAT=y
|
||||
CONFIG_DD=y
|
||||
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
|
||||
CONFIG_FEATURE_DD_THIRD_STATUS_LINE=y
|
||||
CONFIG_FEATURE_DD_IBS_OBS=y
|
||||
CONFIG_FEATURE_DD_STATUS=y
|
||||
CONFIG_HOSTID=y
|
||||
CONFIG_ID=y
|
||||
CONFIG_GROUPS=y
|
||||
CONFIG_SHUF=y
|
||||
CONFIG_SYNC=y
|
||||
CONFIG_FEATURE_SYNC_FANCY=y
|
||||
CONFIG_TEST=y
|
||||
CONFIG_FEATURE_TEST_64=y
|
||||
CONFIG_TOUCH=y
|
||||
CONFIG_FEATURE_TOUCH_NODEREF=y
|
||||
CONFIG_FEATURE_TOUCH_SUSV3=y
|
||||
CONFIG_TR=y
|
||||
CONFIG_FEATURE_TR_CLASSES=y
|
||||
CONFIG_FEATURE_TR_EQUIV=y
|
||||
CONFIG_TRUNCATE=y
|
||||
CONFIG_UNLINK=y
|
||||
CONFIG_BASE64=y
|
||||
CONFIG_WHO=y
|
||||
CONFIG_USERS=y
|
||||
CONFIG_CAL=y
|
||||
CONFIG_CATV=y
|
||||
CONFIG_CHGRP=y
|
||||
CONFIG_CHMOD=y
|
||||
CONFIG_CHOWN=y
|
||||
CONFIG_FEATURE_CHOWN_LONG_OPTIONS=y
|
||||
CONFIG_CHROOT=y
|
||||
CONFIG_CKSUM=y
|
||||
CONFIG_COMM=y
|
||||
CONFIG_CP=y
|
||||
CONFIG_FEATURE_CP_LONG_OPTIONS=y
|
||||
CONFIG_CUT=y
|
||||
CONFIG_DF=y
|
||||
CONFIG_FEATURE_DF_FANCY=y
|
||||
CONFIG_DIRNAME=y
|
||||
CONFIG_DOS2UNIX=y
|
||||
CONFIG_UNIX2DOS=y
|
||||
CONFIG_DU=y
|
||||
CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
|
||||
CONFIG_ECHO=y
|
||||
CONFIG_FEATURE_FANCY_ECHO=y
|
||||
CONFIG_ENV=y
|
||||
CONFIG_FEATURE_ENV_LONG_OPTIONS=y
|
||||
CONFIG_EXPAND=y
|
||||
CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
|
||||
CONFIG_EXPR=y
|
||||
CONFIG_EXPR_MATH_SUPPORT_64=y
|
||||
CONFIG_FALSE=y
|
||||
CONFIG_FOLD=y
|
||||
CONFIG_FSYNC=y
|
||||
CONFIG_HEAD=y
|
||||
CONFIG_FEATURE_FANCY_HEAD=y
|
||||
CONFIG_INSTALL=y
|
||||
CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
|
||||
CONFIG_LN=y
|
||||
CONFIG_LOGNAME=y
|
||||
CONFIG_LS=y
|
||||
CONFIG_FEATURE_LS_FILETYPES=y
|
||||
CONFIG_FEATURE_LS_FOLLOWLINKS=y
|
||||
CONFIG_FEATURE_LS_RECURSIVE=y
|
||||
CONFIG_FEATURE_LS_SORTFILES=y
|
||||
CONFIG_FEATURE_LS_TIMESTAMPS=y
|
||||
CONFIG_FEATURE_LS_USERNAME=y
|
||||
CONFIG_FEATURE_LS_COLOR=y
|
||||
CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
|
||||
CONFIG_MD5SUM=y
|
||||
CONFIG_MKDIR=y
|
||||
CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
|
||||
CONFIG_MKFIFO=y
|
||||
CONFIG_MKNOD=y
|
||||
CONFIG_MV=y
|
||||
CONFIG_FEATURE_MV_LONG_OPTIONS=y
|
||||
CONFIG_NICE=y
|
||||
CONFIG_NOHUP=y
|
||||
CONFIG_OD=y
|
||||
CONFIG_PRINTENV=y
|
||||
CONFIG_PRINTF=y
|
||||
CONFIG_PWD=y
|
||||
CONFIG_READLINK=y
|
||||
CONFIG_FEATURE_READLINK_FOLLOW=y
|
||||
CONFIG_REALPATH=y
|
||||
CONFIG_RM=y
|
||||
CONFIG_RMDIR=y
|
||||
CONFIG_FEATURE_RMDIR_LONG_OPTIONS=y
|
||||
CONFIG_SEQ=y
|
||||
CONFIG_SHA1SUM=y
|
||||
CONFIG_SHA256SUM=y
|
||||
CONFIG_SHA512SUM=y
|
||||
CONFIG_SHA3SUM=y
|
||||
CONFIG_SLEEP=y
|
||||
CONFIG_FEATURE_FANCY_SLEEP=y
|
||||
CONFIG_FEATURE_FLOAT_SLEEP=y
|
||||
CONFIG_SORT=y
|
||||
CONFIG_FEATURE_SORT_BIG=y
|
||||
CONFIG_SPLIT=y
|
||||
CONFIG_FEATURE_SPLIT_FANCY=y
|
||||
CONFIG_STAT=y
|
||||
CONFIG_FEATURE_STAT_FORMAT=y
|
||||
CONFIG_STTY=y
|
||||
CONFIG_SUM=y
|
||||
CONFIG_TAC=y
|
||||
CONFIG_TAIL=y
|
||||
CONFIG_FEATURE_FANCY_TAIL=y
|
||||
CONFIG_TEE=y
|
||||
CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
|
||||
CONFIG_TRUE=y
|
||||
CONFIG_TTY=y
|
||||
CONFIG_UNAME=y
|
||||
CONFIG_UNAME_OSNAME="GNU/Linux"
|
||||
CONFIG_UNEXPAND=y
|
||||
CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
|
||||
CONFIG_UNIQ=y
|
||||
CONFIG_USLEEP=y
|
||||
CONFIG_UUDECODE=y
|
||||
CONFIG_UUENCODE=y
|
||||
CONFIG_WC=y
|
||||
CONFIG_FEATURE_WC_LARGE=y
|
||||
CONFIG_WHOAMI=y
|
||||
CONFIG_YES=y
|
||||
|
||||
#
|
||||
# Common options
|
||||
#
|
||||
CONFIG_FEATURE_VERBOSE=y
|
||||
|
||||
#
|
||||
# Common options for cp and mv
|
||||
#
|
||||
CONFIG_FEATURE_PRESERVE_HARDLINKS=y
|
||||
|
||||
#
|
||||
# Common options for ls, more and telnet
|
||||
#
|
||||
CONFIG_FEATURE_AUTOWIDTH=y
|
||||
|
||||
#
|
||||
# Common options for df, du, ls
|
||||
#
|
||||
CONFIG_FEATURE_HUMAN_READABLE=y
|
||||
|
||||
#
|
||||
# Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum
|
||||
#
|
||||
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
|
||||
|
||||
#
|
||||
# Console Utilities
|
||||
#
|
||||
CONFIG_CHVT=y
|
||||
CONFIG_FGCONSOLE=y
|
||||
CONFIG_CLEAR=y
|
||||
CONFIG_DEALLOCVT=y
|
||||
CONFIG_DUMPKMAP=y
|
||||
CONFIG_KBD_MODE=y
|
||||
CONFIG_LOADFONT=y
|
||||
CONFIG_LOADKMAP=y
|
||||
CONFIG_OPENVT=y
|
||||
CONFIG_RESET=y
|
||||
CONFIG_RESIZE=y
|
||||
CONFIG_FEATURE_RESIZE_PRINT=y
|
||||
CONFIG_SETCONSOLE=y
|
||||
CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
|
||||
CONFIG_SETFONT=y
|
||||
CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
|
||||
CONFIG_DEFAULT_SETFONT_DIR=""
|
||||
CONFIG_SETKEYCODES=y
|
||||
CONFIG_SETLOGCONS=y
|
||||
CONFIG_SHOWKEY=y
|
||||
|
||||
#
|
||||
# Common options for loadfont and setfont
|
||||
#
|
||||
CONFIG_FEATURE_LOADFONT_PSF2=y
|
||||
CONFIG_FEATURE_LOADFONT_RAW=y
|
||||
|
||||
#
|
||||
# Debian Utilities
|
||||
#
|
||||
CONFIG_MKTEMP=y
|
||||
CONFIG_PIPE_PROGRESS=y
|
||||
CONFIG_RUN_PARTS=y
|
||||
CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_RUN_PARTS_FANCY=y
|
||||
CONFIG_START_STOP_DAEMON=y
|
||||
CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
|
||||
CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
|
||||
CONFIG_WHICH=y
|
||||
|
||||
#
|
||||
# Editors
|
||||
#
|
||||
CONFIG_AWK=y
|
||||
CONFIG_FEATURE_AWK_LIBM=y
|
||||
CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y
|
||||
CONFIG_CMP=y
|
||||
CONFIG_DIFF=y
|
||||
CONFIG_FEATURE_DIFF_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_DIFF_DIR=y
|
||||
CONFIG_ED=y
|
||||
CONFIG_PATCH=y
|
||||
CONFIG_SED=y
|
||||
CONFIG_VI=y
|
||||
CONFIG_FEATURE_VI_MAX_LEN=4096
|
||||
# CONFIG_FEATURE_VI_8BIT is not set
|
||||
CONFIG_FEATURE_VI_COLON=y
|
||||
CONFIG_FEATURE_VI_YANKMARK=y
|
||||
CONFIG_FEATURE_VI_SEARCH=y
|
||||
# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
|
||||
CONFIG_FEATURE_VI_USE_SIGNALS=y
|
||||
CONFIG_FEATURE_VI_DOT_CMD=y
|
||||
CONFIG_FEATURE_VI_READONLY=y
|
||||
CONFIG_FEATURE_VI_SETOPTS=y
|
||||
CONFIG_FEATURE_VI_SET=y
|
||||
CONFIG_FEATURE_VI_WIN_RESIZE=y
|
||||
CONFIG_FEATURE_VI_ASK_TERMINAL=y
|
||||
CONFIG_FEATURE_VI_UNDO=y
|
||||
CONFIG_FEATURE_VI_UNDO_QUEUE=y
|
||||
CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256
|
||||
CONFIG_FEATURE_ALLOW_EXEC=y
|
||||
|
||||
#
|
||||
# Finding Utilities
|
||||
#
|
||||
CONFIG_FIND=y
|
||||
CONFIG_FEATURE_FIND_PRINT0=y
|
||||
CONFIG_FEATURE_FIND_MTIME=y
|
||||
CONFIG_FEATURE_FIND_MMIN=y
|
||||
CONFIG_FEATURE_FIND_PERM=y
|
||||
CONFIG_FEATURE_FIND_TYPE=y
|
||||
CONFIG_FEATURE_FIND_XDEV=y
|
||||
CONFIG_FEATURE_FIND_MAXDEPTH=y
|
||||
CONFIG_FEATURE_FIND_NEWER=y
|
||||
CONFIG_FEATURE_FIND_INUM=y
|
||||
CONFIG_FEATURE_FIND_EXEC=y
|
||||
CONFIG_FEATURE_FIND_EXEC_PLUS=y
|
||||
CONFIG_FEATURE_FIND_USER=y
|
||||
CONFIG_FEATURE_FIND_GROUP=y
|
||||
CONFIG_FEATURE_FIND_NOT=y
|
||||
CONFIG_FEATURE_FIND_DEPTH=y
|
||||
CONFIG_FEATURE_FIND_PAREN=y
|
||||
CONFIG_FEATURE_FIND_SIZE=y
|
||||
CONFIG_FEATURE_FIND_PRUNE=y
|
||||
CONFIG_FEATURE_FIND_DELETE=y
|
||||
CONFIG_FEATURE_FIND_PATH=y
|
||||
CONFIG_FEATURE_FIND_REGEX=y
|
||||
# CONFIG_FEATURE_FIND_CONTEXT is not set
|
||||
CONFIG_FEATURE_FIND_LINKS=y
|
||||
CONFIG_GREP=y
|
||||
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
|
||||
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
|
||||
CONFIG_FEATURE_GREP_CONTEXT=y
|
||||
CONFIG_XARGS=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
|
||||
CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR=y
|
||||
|
||||
#
|
||||
# Init Utilities
|
||||
#
|
||||
CONFIG_BOOTCHARTD=y
|
||||
CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER=y
|
||||
CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE=y
|
||||
CONFIG_HALT=y
|
||||
# CONFIG_FEATURE_CALL_TELINIT is not set
|
||||
CONFIG_TELINIT_PATH=""
|
||||
CONFIG_INIT=y
|
||||
CONFIG_FEATURE_USE_INITTAB=y
|
||||
# CONFIG_FEATURE_KILL_REMOVED is not set
|
||||
CONFIG_FEATURE_KILL_DELAY=0
|
||||
CONFIG_FEATURE_INIT_SCTTY=y
|
||||
CONFIG_FEATURE_INIT_SYSLOG=y
|
||||
CONFIG_FEATURE_EXTRA_QUIET=y
|
||||
CONFIG_FEATURE_INIT_COREDUMPS=y
|
||||
CONFIG_FEATURE_INITRD=y
|
||||
CONFIG_INIT_TERMINAL_TYPE="linux"
|
||||
CONFIG_MESG=y
|
||||
CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
|
||||
|
||||
#
|
||||
# Login/Password Management Utilities
|
||||
#
|
||||
CONFIG_ADD_SHELL=y
|
||||
CONFIG_REMOVE_SHELL=y
|
||||
CONFIG_FEATURE_SHADOWPASSWDS=y
|
||||
CONFIG_USE_BB_PWD_GRP=y
|
||||
CONFIG_USE_BB_SHADOW=y
|
||||
CONFIG_USE_BB_CRYPT=y
|
||||
CONFIG_USE_BB_CRYPT_SHA=y
|
||||
CONFIG_ADDUSER=y
|
||||
CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
|
||||
# CONFIG_FEATURE_CHECK_NAMES is not set
|
||||
CONFIG_LAST_ID=60000
|
||||
CONFIG_FIRST_SYSTEM_ID=100
|
||||
CONFIG_LAST_SYSTEM_ID=999
|
||||
CONFIG_ADDGROUP=y
|
||||
CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_ADDUSER_TO_GROUP=y
|
||||
CONFIG_DELUSER=y
|
||||
CONFIG_DELGROUP=y
|
||||
CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
|
||||
CONFIG_GETTY=y
|
||||
CONFIG_LOGIN=y
|
||||
# CONFIG_LOGIN_SESSION_AS_CHILD is not set
|
||||
CONFIG_LOGIN_SCRIPTS=y
|
||||
CONFIG_FEATURE_NOLOGIN=y
|
||||
CONFIG_FEATURE_SECURETTY=y
|
||||
CONFIG_PASSWD=y
|
||||
CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
|
||||
CONFIG_CRYPTPW=y
|
||||
CONFIG_CHPASSWD=y
|
||||
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
|
||||
CONFIG_SU=y
|
||||
CONFIG_FEATURE_SU_SYSLOG=y
|
||||
CONFIG_FEATURE_SU_CHECKS_SHELLS=y
|
||||
CONFIG_SULOGIN=y
|
||||
CONFIG_VLOCK=y
|
||||
|
||||
#
|
||||
# Linux Ext2 FS Progs
|
||||
#
|
||||
CONFIG_CHATTR=y
|
||||
CONFIG_FSCK=y
|
||||
CONFIG_LSATTR=y
|
||||
# CONFIG_TUNE2FS is not set
|
||||
|
||||
#
|
||||
# Linux Module Utilities
|
||||
#
|
||||
CONFIG_MODINFO=y
|
||||
CONFIG_MODPROBE_SMALL=y
|
||||
CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE=y
|
||||
CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED=y
|
||||
# CONFIG_INSMOD is not set
|
||||
# CONFIG_RMMOD is not set
|
||||
# CONFIG_LSMOD is not set
|
||||
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
|
||||
# CONFIG_MODPROBE is not set
|
||||
# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
|
||||
# CONFIG_DEPMOD is not set
|
||||
|
||||
#
|
||||
# Options common to multiple modutils
|
||||
#
|
||||
# CONFIG_FEATURE_2_4_MODULES is not set
|
||||
# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
|
||||
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
|
||||
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
|
||||
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
|
||||
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
|
||||
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
|
||||
# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
|
||||
# CONFIG_FEATURE_MODUTILS_ALIAS is not set
|
||||
# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
|
||||
CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
|
||||
CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
|
||||
|
||||
#
|
||||
# Linux System Utilities
|
||||
#
|
||||
CONFIG_BLOCKDEV=y
|
||||
CONFIG_FATATTR=y
|
||||
CONFIG_FSTRIM=y
|
||||
CONFIG_MDEV=y
|
||||
CONFIG_FEATURE_MDEV_CONF=y
|
||||
CONFIG_FEATURE_MDEV_RENAME=y
|
||||
CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
|
||||
CONFIG_FEATURE_MDEV_EXEC=y
|
||||
CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
|
||||
CONFIG_MOUNT=y
|
||||
CONFIG_FEATURE_MOUNT_FAKE=y
|
||||
CONFIG_FEATURE_MOUNT_VERBOSE=y
|
||||
# CONFIG_FEATURE_MOUNT_HELPERS is not set
|
||||
CONFIG_FEATURE_MOUNT_LABEL=y
|
||||
# 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=y
|
||||
CONFIG_UEVENT=y
|
||||
CONFIG_ACPID=y
|
||||
CONFIG_FEATURE_ACPID_COMPAT=y
|
||||
CONFIG_BLKID=y
|
||||
# CONFIG_FEATURE_BLKID_TYPE is not set
|
||||
CONFIG_DMESG=y
|
||||
CONFIG_FEATURE_DMESG_PRETTY=y
|
||||
CONFIG_FBSET=y
|
||||
CONFIG_FEATURE_FBSET_FANCY=y
|
||||
CONFIG_FEATURE_FBSET_READMODE=y
|
||||
CONFIG_FDFLUSH=y
|
||||
CONFIG_FDFORMAT=y
|
||||
CONFIG_FDISK=y
|
||||
# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
|
||||
CONFIG_FEATURE_FDISK_WRITABLE=y
|
||||
# CONFIG_FEATURE_AIX_LABEL is not set
|
||||
# CONFIG_FEATURE_SGI_LABEL is not set
|
||||
# CONFIG_FEATURE_SUN_LABEL is not set
|
||||
# CONFIG_FEATURE_OSF_LABEL is not set
|
||||
# CONFIG_FEATURE_GPT_LABEL is not set
|
||||
CONFIG_FEATURE_FDISK_ADVANCED=y
|
||||
CONFIG_FINDFS=y
|
||||
CONFIG_FLOCK=y
|
||||
CONFIG_FREERAMDISK=y
|
||||
CONFIG_FSCK_MINIX=y
|
||||
CONFIG_MKFS_EXT2=y
|
||||
CONFIG_MKFS_MINIX=y
|
||||
CONFIG_FEATURE_MINIX2=y
|
||||
# CONFIG_MKFS_REISER is not set
|
||||
CONFIG_MKFS_VFAT=y
|
||||
CONFIG_GETOPT=y
|
||||
CONFIG_FEATURE_GETOPT_LONG=y
|
||||
CONFIG_HEXDUMP=y
|
||||
CONFIG_FEATURE_HEXDUMP_REVERSE=y
|
||||
CONFIG_HD=y
|
||||
CONFIG_HWCLOCK=y
|
||||
CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
|
||||
# CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS is not set
|
||||
CONFIG_IPCRM=y
|
||||
CONFIG_IPCS=y
|
||||
CONFIG_LOSETUP=y
|
||||
CONFIG_LSPCI=y
|
||||
CONFIG_LSUSB=y
|
||||
CONFIG_MKSWAP=y
|
||||
CONFIG_FEATURE_MKSWAP_UUID=y
|
||||
CONFIG_MORE=y
|
||||
CONFIG_PIVOT_ROOT=y
|
||||
CONFIG_RDATE=y
|
||||
CONFIG_RDEV=y
|
||||
CONFIG_READPROFILE=y
|
||||
CONFIG_RTCWAKE=y
|
||||
CONFIG_SCRIPT=y
|
||||
CONFIG_SCRIPTREPLAY=y
|
||||
CONFIG_SETARCH=y
|
||||
CONFIG_SWAPONOFF=y
|
||||
CONFIG_FEATURE_SWAPON_DISCARD=y
|
||||
CONFIG_FEATURE_SWAPON_PRI=y
|
||||
CONFIG_SWITCH_ROOT=y
|
||||
CONFIG_UMOUNT=y
|
||||
CONFIG_FEATURE_UMOUNT_ALL=y
|
||||
|
||||
#
|
||||
# Common options for mount/umount
|
||||
#
|
||||
CONFIG_FEATURE_MOUNT_LOOP=y
|
||||
CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
|
||||
# CONFIG_FEATURE_MTAB_SUPPORT is not set
|
||||
CONFIG_VOLUMEID=y
|
||||
|
||||
#
|
||||
# Filesystem/Volume identification
|
||||
#
|
||||
CONFIG_FEATURE_VOLUMEID_BTRFS=y
|
||||
CONFIG_FEATURE_VOLUMEID_CRAMFS=y
|
||||
CONFIG_FEATURE_VOLUMEID_EXFAT=y
|
||||
CONFIG_FEATURE_VOLUMEID_EXT=y
|
||||
CONFIG_FEATURE_VOLUMEID_F2FS=y
|
||||
CONFIG_FEATURE_VOLUMEID_FAT=y
|
||||
CONFIG_FEATURE_VOLUMEID_HFS=y
|
||||
CONFIG_FEATURE_VOLUMEID_ISO9660=y
|
||||
CONFIG_FEATURE_VOLUMEID_JFS=y
|
||||
CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
|
||||
CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
|
||||
CONFIG_FEATURE_VOLUMEID_LUKS=y
|
||||
CONFIG_FEATURE_VOLUMEID_NILFS=y
|
||||
CONFIG_FEATURE_VOLUMEID_NTFS=y
|
||||
CONFIG_FEATURE_VOLUMEID_OCFS2=y
|
||||
CONFIG_FEATURE_VOLUMEID_REISERFS=y
|
||||
CONFIG_FEATURE_VOLUMEID_ROMFS=y
|
||||
# CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set
|
||||
CONFIG_FEATURE_VOLUMEID_SYSV=y
|
||||
CONFIG_FEATURE_VOLUMEID_UDF=y
|
||||
CONFIG_FEATURE_VOLUMEID_XFS=y
|
||||
|
||||
#
|
||||
# Miscellaneous Utilities
|
||||
#
|
||||
CONFIG_CONSPY=y
|
||||
CONFIG_CROND=y
|
||||
CONFIG_FEATURE_CROND_D=y
|
||||
CONFIG_FEATURE_CROND_CALL_SENDMAIL=y
|
||||
CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
|
||||
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=y
|
||||
CONFIG_FEATURE_LESS_REGEXP=y
|
||||
CONFIG_FEATURE_LESS_WINCH=y
|
||||
CONFIG_FEATURE_LESS_ASK_TERMINAL=y
|
||||
CONFIG_FEATURE_LESS_DASHCMD=y
|
||||
CONFIG_FEATURE_LESS_LINENUMS=y
|
||||
CONFIG_NANDWRITE=y
|
||||
CONFIG_NANDDUMP=y
|
||||
# CONFIG_RFKILL is not set
|
||||
CONFIG_SETSERIAL=y
|
||||
# CONFIG_TASKSET is not set
|
||||
# CONFIG_FEATURE_TASKSET_FANCY is not set
|
||||
CONFIG_UBIATTACH=y
|
||||
CONFIG_UBIDETACH=y
|
||||
CONFIG_UBIMKVOL=y
|
||||
CONFIG_UBIRMVOL=y
|
||||
CONFIG_UBIRSVOL=y
|
||||
CONFIG_UBIUPDATEVOL=y
|
||||
CONFIG_WALL=y
|
||||
CONFIG_ADJTIMEX=y
|
||||
# CONFIG_BBCONFIG is not set
|
||||
# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
|
||||
CONFIG_BEEP=y
|
||||
CONFIG_FEATURE_BEEP_FREQ=4000
|
||||
CONFIG_FEATURE_BEEP_LENGTH_MS=30
|
||||
CONFIG_CHAT=y
|
||||
CONFIG_FEATURE_CHAT_NOFAIL=y
|
||||
# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
|
||||
CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
|
||||
CONFIG_FEATURE_CHAT_SWALLOW_OPTS=y
|
||||
CONFIG_FEATURE_CHAT_SEND_ESCAPES=y
|
||||
CONFIG_FEATURE_CHAT_VAR_ABORT_LEN=y
|
||||
CONFIG_FEATURE_CHAT_CLR_ABORT=y
|
||||
CONFIG_CHRT=y
|
||||
CONFIG_CRONTAB=y
|
||||
CONFIG_DC=y
|
||||
CONFIG_FEATURE_DC_LIBM=y
|
||||
# CONFIG_DEVFSD is not set
|
||||
# CONFIG_DEVFSD_MODLOAD is not set
|
||||
# CONFIG_DEVFSD_FG_NP is not set
|
||||
# CONFIG_DEVFSD_VERBOSE is not set
|
||||
# CONFIG_FEATURE_DEVFS is not set
|
||||
CONFIG_DEVMEM=y
|
||||
CONFIG_EJECT=y
|
||||
CONFIG_FEATURE_EJECT_SCSI=y
|
||||
CONFIG_FBSPLASH=y
|
||||
# CONFIG_FLASHCP is not set
|
||||
# CONFIG_FLASH_LOCK is not set
|
||||
# CONFIG_FLASH_UNLOCK is not set
|
||||
# CONFIG_FLASH_ERASEALL is not set
|
||||
CONFIG_IONICE=y
|
||||
# CONFIG_INOTIFYD is not set
|
||||
CONFIG_LAST=y
|
||||
# CONFIG_FEATURE_LAST_SMALL is not set
|
||||
CONFIG_FEATURE_LAST_FANCY=y
|
||||
CONFIG_HDPARM=y
|
||||
CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
|
||||
CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
|
||||
CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
|
||||
CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
|
||||
CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
|
||||
CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
|
||||
CONFIG_MAKEDEVS=y
|
||||
# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
|
||||
CONFIG_FEATURE_MAKEDEVS_TABLE=y
|
||||
CONFIG_MAN=y
|
||||
CONFIG_MICROCOM=y
|
||||
CONFIG_MOUNTPOINT=y
|
||||
CONFIG_MT=y
|
||||
CONFIG_RAIDAUTORUN=y
|
||||
CONFIG_READAHEAD=y
|
||||
CONFIG_RUNLEVEL=y
|
||||
CONFIG_RX=y
|
||||
CONFIG_SETSID=y
|
||||
CONFIG_STRINGS=y
|
||||
CONFIG_TIME=y
|
||||
CONFIG_TIMEOUT=y
|
||||
CONFIG_TTYSIZE=y
|
||||
CONFIG_VOLNAME=y
|
||||
CONFIG_WATCHDOG=y
|
||||
|
||||
#
|
||||
# Networking Utilities
|
||||
#
|
||||
CONFIG_NAMEIF=y
|
||||
CONFIG_FEATURE_NAMEIF_EXTENDED=y
|
||||
CONFIG_NBDCLIENT=y
|
||||
CONFIG_NC=y
|
||||
CONFIG_NC_SERVER=y
|
||||
CONFIG_NC_EXTRA=y
|
||||
# CONFIG_NC_110_COMPAT is not set
|
||||
CONFIG_PING=y
|
||||
CONFIG_PING6=y
|
||||
CONFIG_FEATURE_FANCY_PING=y
|
||||
CONFIG_WGET=y
|
||||
CONFIG_FEATURE_WGET_STATUSBAR=y
|
||||
CONFIG_FEATURE_WGET_AUTHENTICATION=y
|
||||
CONFIG_FEATURE_WGET_LONG_OPTIONS=y
|
||||
CONFIG_FEATURE_WGET_TIMEOUT=y
|
||||
CONFIG_FEATURE_WGET_OPENSSL=y
|
||||
CONFIG_FEATURE_WGET_SSL_HELPER=y
|
||||
CONFIG_WHOIS=y
|
||||
CONFIG_FEATURE_IPV6=y
|
||||
# CONFIG_FEATURE_UNIX_LOCAL is not set
|
||||
CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
|
||||
# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
|
||||
CONFIG_ARP=y
|
||||
CONFIG_ARPING=y
|
||||
CONFIG_BRCTL=y
|
||||
CONFIG_FEATURE_BRCTL_FANCY=y
|
||||
CONFIG_FEATURE_BRCTL_SHOW=y
|
||||
CONFIG_DNSD=y
|
||||
CONFIG_ETHER_WAKE=y
|
||||
CONFIG_FAKEIDENTD=y
|
||||
CONFIG_FTPD=y
|
||||
CONFIG_FEATURE_FTP_WRITE=y
|
||||
CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
|
||||
CONFIG_FEATURE_FTP_AUTHENTICATION=y
|
||||
CONFIG_FTPGET=y
|
||||
CONFIG_FTPPUT=y
|
||||
CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
|
||||
CONFIG_HOSTNAME=y
|
||||
CONFIG_HTTPD=y
|
||||
CONFIG_FEATURE_HTTPD_RANGES=y
|
||||
CONFIG_FEATURE_HTTPD_SETUID=y
|
||||
CONFIG_FEATURE_HTTPD_BASIC_AUTH=y
|
||||
CONFIG_FEATURE_HTTPD_AUTH_MD5=y
|
||||
CONFIG_FEATURE_HTTPD_CGI=y
|
||||
CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR=y
|
||||
CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV=y
|
||||
CONFIG_FEATURE_HTTPD_ENCODE_URL_STR=y
|
||||
CONFIG_FEATURE_HTTPD_ERROR_PAGES=y
|
||||
CONFIG_FEATURE_HTTPD_PROXY=y
|
||||
CONFIG_FEATURE_HTTPD_GZIP=y
|
||||
CONFIG_IFCONFIG=y
|
||||
CONFIG_FEATURE_IFCONFIG_STATUS=y
|
||||
CONFIG_FEATURE_IFCONFIG_SLIP=y
|
||||
CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
|
||||
CONFIG_FEATURE_IFCONFIG_HW=y
|
||||
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
|
||||
CONFIG_IFENSLAVE=y
|
||||
CONFIG_IFPLUGD=y
|
||||
CONFIG_IFUPDOWN=y
|
||||
CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
|
||||
CONFIG_FEATURE_IFUPDOWN_IP=y
|
||||
CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
|
||||
# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
|
||||
CONFIG_FEATURE_IFUPDOWN_IPV4=y
|
||||
CONFIG_FEATURE_IFUPDOWN_IPV6=y
|
||||
CONFIG_FEATURE_IFUPDOWN_MAPPING=y
|
||||
# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
|
||||
CONFIG_INETD=y
|
||||
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y
|
||||
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y
|
||||
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y
|
||||
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y
|
||||
CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y
|
||||
CONFIG_FEATURE_INETD_RPC=y
|
||||
CONFIG_IP=y
|
||||
CONFIG_FEATURE_IP_ADDRESS=y
|
||||
CONFIG_FEATURE_IP_LINK=y
|
||||
CONFIG_FEATURE_IP_ROUTE=y
|
||||
CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2"
|
||||
CONFIG_FEATURE_IP_TUNNEL=y
|
||||
CONFIG_FEATURE_IP_RULE=y
|
||||
CONFIG_FEATURE_IP_SHORT_FORMS=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=y
|
||||
CONFIG_FEATURE_IPCALC_FANCY=y
|
||||
CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
|
||||
CONFIG_NETSTAT=y
|
||||
CONFIG_FEATURE_NETSTAT_WIDE=y
|
||||
CONFIG_FEATURE_NETSTAT_PRG=y
|
||||
CONFIG_NSLOOKUP=y
|
||||
CONFIG_NTPD=y
|
||||
CONFIG_FEATURE_NTPD_SERVER=y
|
||||
CONFIG_FEATURE_NTPD_CONF=y
|
||||
CONFIG_PSCAN=y
|
||||
CONFIG_ROUTE=y
|
||||
CONFIG_SLATTACH=y
|
||||
CONFIG_TCPSVD=y
|
||||
CONFIG_TELNET=y
|
||||
CONFIG_FEATURE_TELNET_TTYPE=y
|
||||
CONFIG_FEATURE_TELNET_AUTOLOGIN=y
|
||||
CONFIG_TELNETD=y
|
||||
CONFIG_FEATURE_TELNETD_STANDALONE=y
|
||||
CONFIG_FEATURE_TELNETD_INETD_WAIT=y
|
||||
CONFIG_TFTP=y
|
||||
CONFIG_TFTPD=y
|
||||
|
||||
#
|
||||
# Common options for tftp/tftpd
|
||||
#
|
||||
CONFIG_FEATURE_TFTP_GET=y
|
||||
CONFIG_FEATURE_TFTP_PUT=y
|
||||
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
|
||||
CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
|
||||
# CONFIG_TFTP_DEBUG is not set
|
||||
CONFIG_TRACEROUTE=y
|
||||
CONFIG_TRACEROUTE6=y
|
||||
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
|
||||
# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
|
||||
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
|
||||
CONFIG_TUNCTL=y
|
||||
CONFIG_FEATURE_TUNCTL_UG=y
|
||||
# CONFIG_UDHCPC6 is not set
|
||||
CONFIG_UDHCPD=y
|
||||
CONFIG_DHCPRELAY=y
|
||||
CONFIG_DUMPLEASES=y
|
||||
CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
|
||||
# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
|
||||
CONFIG_DHCPD_LEASES_FILE="/var/lib/misc/udhcpd.leases"
|
||||
CONFIG_UDHCPC=y
|
||||
CONFIG_FEATURE_UDHCPC_ARPING=y
|
||||
CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y
|
||||
# CONFIG_FEATURE_UDHCP_PORT is not set
|
||||
CONFIG_UDHCP_DEBUG=9
|
||||
CONFIG_FEATURE_UDHCP_RFC3397=y
|
||||
CONFIG_FEATURE_UDHCP_8021Q=y
|
||||
CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script"
|
||||
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
|
||||
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n"
|
||||
CONFIG_UDPSVD=y
|
||||
CONFIG_VCONFIG=y
|
||||
CONFIG_ZCIP=y
|
||||
|
||||
#
|
||||
# Print Utilities
|
||||
#
|
||||
CONFIG_LPD=y
|
||||
CONFIG_LPR=y
|
||||
CONFIG_LPQ=y
|
||||
|
||||
#
|
||||
# Mail Utilities
|
||||
#
|
||||
CONFIG_MAKEMIME=y
|
||||
CONFIG_FEATURE_MIME_CHARSET="us-ascii"
|
||||
CONFIG_POPMAILDIR=y
|
||||
CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
|
||||
CONFIG_REFORMIME=y
|
||||
CONFIG_FEATURE_REFORMIME_COMPAT=y
|
||||
CONFIG_SENDMAIL=y
|
||||
|
||||
#
|
||||
# Process Utilities
|
||||
#
|
||||
CONFIG_IOSTAT=y
|
||||
CONFIG_LSOF=y
|
||||
CONFIG_MPSTAT=y
|
||||
CONFIG_NMETER=y
|
||||
CONFIG_PMAP=y
|
||||
CONFIG_POWERTOP=y
|
||||
CONFIG_PSTREE=y
|
||||
CONFIG_PWDX=y
|
||||
CONFIG_SMEMCAP=y
|
||||
CONFIG_TOP=y
|
||||
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
|
||||
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
|
||||
CONFIG_FEATURE_TOP_SMP_CPU=y
|
||||
CONFIG_FEATURE_TOP_DECIMALS=y
|
||||
CONFIG_FEATURE_TOP_SMP_PROCESS=y
|
||||
CONFIG_FEATURE_TOPMEM=y
|
||||
CONFIG_UPTIME=y
|
||||
CONFIG_FEATURE_UPTIME_UTMP_SUPPORT=y
|
||||
CONFIG_FREE=y
|
||||
CONFIG_FUSER=y
|
||||
CONFIG_KILL=y
|
||||
CONFIG_KILLALL=y
|
||||
CONFIG_KILLALL5=y
|
||||
CONFIG_PGREP=y
|
||||
CONFIG_PIDOF=y
|
||||
CONFIG_FEATURE_PIDOF_SINGLE=y
|
||||
CONFIG_FEATURE_PIDOF_OMIT=y
|
||||
CONFIG_PKILL=y
|
||||
CONFIG_PS=y
|
||||
# CONFIG_FEATURE_PS_WIDE is not set
|
||||
# CONFIG_FEATURE_PS_LONG is not set
|
||||
CONFIG_FEATURE_PS_TIME=y
|
||||
CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
|
||||
# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
|
||||
CONFIG_RENICE=y
|
||||
CONFIG_BB_SYSCTL=y
|
||||
CONFIG_FEATURE_SHOW_THREADS=y
|
||||
CONFIG_WATCH=y
|
||||
|
||||
#
|
||||
# Runit Utilities
|
||||
#
|
||||
CONFIG_RUNSV=y
|
||||
CONFIG_RUNSVDIR=y
|
||||
# CONFIG_FEATURE_RUNSVDIR_LOG is not set
|
||||
CONFIG_SV=y
|
||||
CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
|
||||
CONFIG_SVLOGD=y
|
||||
CONFIG_CHPST=y
|
||||
CONFIG_SETUIDGID=y
|
||||
CONFIG_ENVUIDGID=y
|
||||
CONFIG_ENVDIR=y
|
||||
CONFIG_SOFTLIMIT=y
|
||||
# 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_SETENFORCE is not set
|
||||
# CONFIG_SETFILES is not set
|
||||
# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
|
||||
# CONFIG_SETSEBOOL is not set
|
||||
# CONFIG_SESTATUS is not set
|
||||
|
||||
#
|
||||
# Shells
|
||||
#
|
||||
CONFIG_ASH=y
|
||||
CONFIG_ASH_BASH_COMPAT=y
|
||||
# CONFIG_ASH_IDLE_TIMEOUT is not set
|
||||
CONFIG_ASH_JOB_CONTROL=y
|
||||
CONFIG_ASH_ALIAS=y
|
||||
CONFIG_ASH_GETOPTS=y
|
||||
CONFIG_ASH_BUILTIN_ECHO=y
|
||||
CONFIG_ASH_BUILTIN_PRINTF=y
|
||||
CONFIG_ASH_BUILTIN_TEST=y
|
||||
CONFIG_ASH_HELP=y
|
||||
CONFIG_ASH_CMDCMD=y
|
||||
# CONFIG_ASH_MAIL is not set
|
||||
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_ASH_RANDOM_SUPPORT=y
|
||||
CONFIG_ASH_EXPAND_PRMT=y
|
||||
CONFIG_CTTYHACK=y
|
||||
CONFIG_HUSH=y
|
||||
CONFIG_HUSH_BASH_COMPAT=y
|
||||
CONFIG_HUSH_BRACE_EXPANSION=y
|
||||
CONFIG_HUSH_HELP=y
|
||||
CONFIG_HUSH_INTERACTIVE=y
|
||||
CONFIG_HUSH_SAVEHISTORY=y
|
||||
CONFIG_HUSH_JOB=y
|
||||
CONFIG_HUSH_TICK=y
|
||||
CONFIG_HUSH_IF=y
|
||||
CONFIG_HUSH_LOOPS=y
|
||||
CONFIG_HUSH_CASE=y
|
||||
CONFIG_HUSH_FUNCTIONS=y
|
||||
CONFIG_HUSH_LOCAL=y
|
||||
CONFIG_HUSH_RANDOM_SUPPORT=y
|
||||
CONFIG_HUSH_EXPORT_N=y
|
||||
CONFIG_HUSH_MODE_X=y
|
||||
# CONFIG_MSH is not set
|
||||
CONFIG_FEATURE_SH_IS_ASH=y
|
||||
# CONFIG_FEATURE_SH_IS_HUSH is not set
|
||||
# CONFIG_FEATURE_SH_IS_NONE is not set
|
||||
# CONFIG_FEATURE_BASH_IS_ASH is not set
|
||||
# CONFIG_FEATURE_BASH_IS_HUSH is not set
|
||||
CONFIG_FEATURE_BASH_IS_NONE=y
|
||||
CONFIG_SH_MATH_SUPPORT=y
|
||||
CONFIG_SH_MATH_SUPPORT_64=y
|
||||
CONFIG_FEATURE_SH_EXTRA_QUIET=y
|
||||
# CONFIG_FEATURE_SH_STANDALONE is not set
|
||||
# CONFIG_FEATURE_SH_NOFORK is not set
|
||||
CONFIG_FEATURE_SH_HISTFILESIZE=y
|
||||
|
||||
#
|
||||
# System Logging Utilities
|
||||
#
|
||||
CONFIG_SYSLOGD=y
|
||||
CONFIG_FEATURE_ROTATE_LOGFILE=y
|
||||
CONFIG_FEATURE_REMOTE_LOG=y
|
||||
CONFIG_FEATURE_SYSLOGD_DUP=y
|
||||
CONFIG_FEATURE_SYSLOGD_CFG=y
|
||||
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
|
||||
CONFIG_FEATURE_IPC_SYSLOG=y
|
||||
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
|
||||
CONFIG_LOGREAD=y
|
||||
CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
|
||||
CONFIG_FEATURE_KMSG_SYSLOG=y
|
||||
CONFIG_KLOGD=y
|
||||
|
||||
#
|
||||
# klogd should not be used together with syslog to kernel printk buffer
|
||||
#
|
||||
CONFIG_FEATURE_KLOGD_KLOGCTL=y
|
||||
CONFIG_LOGGER=y
|
1342
SOFTWARE/A64-TERES/blobs/asound.state
Normal file
@ -0,0 +1,1342 @@
|
||||
state.audiocodec {
|
||||
control.1 {
|
||||
iface MIXER
|
||||
name 'AIF1 ADC timeslot 0 volume'
|
||||
value.0 160
|
||||
value.1 160
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
dbmin -11925
|
||||
dbmax 7200
|
||||
dbvalue.0 75
|
||||
dbvalue.1 75
|
||||
}
|
||||
}
|
||||
control.2 {
|
||||
iface MIXER
|
||||
name 'AIF1 ADC timeslot 1 volume'
|
||||
value.0 160
|
||||
value.1 160
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
dbmin -11925
|
||||
dbmax 7200
|
||||
dbvalue.0 75
|
||||
dbvalue.1 75
|
||||
}
|
||||
}
|
||||
control.3 {
|
||||
iface MIXER
|
||||
name 'AIF1 DAC timeslot 0 volume'
|
||||
value.0 156
|
||||
value.1 156
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
dbmin -11925
|
||||
dbmax 7200
|
||||
dbvalue.0 -225
|
||||
dbvalue.1 -225
|
||||
}
|
||||
}
|
||||
control.4 {
|
||||
iface MIXER
|
||||
name 'AIF1 DAC timeslot 1 volume'
|
||||
value.0 158
|
||||
value.1 158
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
dbmin -11925
|
||||
dbmax 7200
|
||||
dbvalue.0 -75
|
||||
dbvalue.1 -75
|
||||
}
|
||||
}
|
||||
control.5 {
|
||||
iface MIXER
|
||||
name 'AIF1 ADC timeslot 0 mixer gain'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 15'
|
||||
dbmin -600
|
||||
dbmax 8400
|
||||
dbvalue.0 -600
|
||||
dbvalue.1 -600
|
||||
}
|
||||
}
|
||||
control.6 {
|
||||
iface MIXER
|
||||
name 'AIF1 ADC timeslot 1 mixer gain'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 3'
|
||||
dbmin -600
|
||||
dbmax 1200
|
||||
dbvalue.0 -600
|
||||
dbvalue.1 -600
|
||||
}
|
||||
}
|
||||
control.7 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADC volume'
|
||||
value.0 160
|
||||
value.1 160
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
dbmin -11925
|
||||
dbmax 7200
|
||||
dbvalue.0 75
|
||||
dbvalue.1 75
|
||||
}
|
||||
}
|
||||
control.8 {
|
||||
iface MIXER
|
||||
name 'AIF2 DAC volume'
|
||||
value.0 163
|
||||
value.1 163
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
dbmin -11925
|
||||
dbmax 7200
|
||||
dbvalue.0 300
|
||||
dbvalue.1 300
|
||||
}
|
||||
}
|
||||
control.9 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADC mixer gain'
|
||||
value.0 8
|
||||
value.1 8
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 15'
|
||||
dbmin -600
|
||||
dbmax 8400
|
||||
dbvalue.0 4200
|
||||
dbvalue.1 4200
|
||||
}
|
||||
}
|
||||
control.10 {
|
||||
iface MIXER
|
||||
name 'ADC volume'
|
||||
value.0 160
|
||||
value.1 160
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
dbmin -11925
|
||||
dbmax 7200
|
||||
dbvalue.0 75
|
||||
dbvalue.1 75
|
||||
}
|
||||
}
|
||||
control.11 {
|
||||
iface MIXER
|
||||
name 'DAC volume'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 255'
|
||||
dbmin -11925
|
||||
dbmax 7200
|
||||
dbvalue.0 -11925
|
||||
dbvalue.1 -11925
|
||||
}
|
||||
}
|
||||
control.12 {
|
||||
iface MIXER
|
||||
name 'DAC mixer gain'
|
||||
value.0 0
|
||||
value.1 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 2
|
||||
range '0 - 15'
|
||||
dbmin -600
|
||||
dbmax 8400
|
||||
dbvalue.0 -600
|
||||
dbvalue.1 -600
|
||||
}
|
||||
}
|
||||
control.13 {
|
||||
iface MIXER
|
||||
name 'digital volume'
|
||||
value 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 63'
|
||||
dbmin -7308
|
||||
dbmax 0
|
||||
dbvalue.0 -7308
|
||||
}
|
||||
}
|
||||
control.14 {
|
||||
iface MIXER
|
||||
name 'earpiece volume'
|
||||
value 30
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 31'
|
||||
dbmin -4350
|
||||
dbmax 300
|
||||
dbvalue.0 150
|
||||
}
|
||||
}
|
||||
control.15 {
|
||||
iface MIXER
|
||||
name 'speaker volume'
|
||||
value 31
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 31'
|
||||
dbmin -4800
|
||||
dbmax -150
|
||||
dbvalue.0 -150
|
||||
}
|
||||
}
|
||||
control.16 {
|
||||
iface MIXER
|
||||
name 'headphone volume'
|
||||
value 63
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 63'
|
||||
dbmin -6300
|
||||
dbmax 0
|
||||
dbvalue.0 0
|
||||
}
|
||||
}
|
||||
control.17 {
|
||||
iface MIXER
|
||||
name 'MIC1_G boost stage output mixer control'
|
||||
value 4
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 7'
|
||||
dbmin -450
|
||||
dbmax 600
|
||||
dbvalue.0 150
|
||||
}
|
||||
}
|
||||
control.18 {
|
||||
iface MIXER
|
||||
name 'MIC1 boost AMP gain control'
|
||||
value 7
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 7'
|
||||
dbmin 0
|
||||
dbmax 1400
|
||||
dbvalue.0 1400
|
||||
}
|
||||
}
|
||||
control.19 {
|
||||
iface MIXER
|
||||
name 'MIC2 BST stage to L_R outp mixer gain'
|
||||
value 7
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 7'
|
||||
dbmin -450
|
||||
dbmax 600
|
||||
dbvalue.0 600
|
||||
}
|
||||
}
|
||||
control.20 {
|
||||
iface MIXER
|
||||
name 'MIC2 boost AMP gain control'
|
||||
value 4
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 7'
|
||||
dbmin 0
|
||||
dbmax 1400
|
||||
dbvalue.0 800
|
||||
}
|
||||
}
|
||||
control.21 {
|
||||
iface MIXER
|
||||
name 'LINEINL/R to L_R output mixer gain'
|
||||
value 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 7'
|
||||
dbmin -450
|
||||
dbmax 600
|
||||
dbvalue.0 -450
|
||||
}
|
||||
}
|
||||
control.22 {
|
||||
iface MIXER
|
||||
name 'ADC input gain control'
|
||||
value 4
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 7'
|
||||
dbmin -450
|
||||
dbmax 600
|
||||
dbvalue.0 150
|
||||
}
|
||||
}
|
||||
control.23 {
|
||||
iface MIXER
|
||||
name 'Phoneout gain control'
|
||||
value 0
|
||||
comment {
|
||||
access 'read write'
|
||||
type INTEGER
|
||||
count 1
|
||||
range '0 - 7'
|
||||
dbmin -450
|
||||
dbmax 600
|
||||
dbvalue.0 -450
|
||||
}
|
||||
}
|
||||
control.24 {
|
||||
iface MIXER
|
||||
name 'SRC FUCTION'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.25 {
|
||||
iface MIXER
|
||||
name 'I2S HUB FUNC'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.26 {
|
||||
iface MIXER
|
||||
name 'Phoneout Mixer MIC1 boost Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.27 {
|
||||
iface MIXER
|
||||
name 'Phoneout Mixer MIC2 boost Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.28 {
|
||||
iface MIXER
|
||||
name 'Phoneout Mixer Rout_Mixer_Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.29 {
|
||||
iface MIXER
|
||||
name 'Phoneout Mixer Lout_Mixer_Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.30 {
|
||||
iface MIXER
|
||||
name 'ADCR Mux'
|
||||
value ADC
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 ADC
|
||||
item.1 DMIC
|
||||
}
|
||||
}
|
||||
control.31 {
|
||||
iface MIXER
|
||||
name 'ADCL Mux'
|
||||
value ADC
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 ADC
|
||||
item.1 DMIC
|
||||
}
|
||||
}
|
||||
control.32 {
|
||||
iface MIXER
|
||||
name 'MIC2 SRC'
|
||||
value MIC2
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 MIC3
|
||||
item.1 MIC2
|
||||
}
|
||||
}
|
||||
control.33 {
|
||||
iface MIXER
|
||||
name 'RADC input Mixer MIC1 boost Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.34 {
|
||||
iface MIXER
|
||||
name 'RADC input Mixer MIC2 boost Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.35 {
|
||||
iface MIXER
|
||||
name 'RADC input Mixer LINEINR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.36 {
|
||||
iface MIXER
|
||||
name 'RADC input Mixer r_output mixer Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.37 {
|
||||
iface MIXER
|
||||
name 'RADC input Mixer l_output mixer Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.38 {
|
||||
iface MIXER
|
||||
name 'RADC input Mixer PHONINN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.39 {
|
||||
iface MIXER
|
||||
name 'RADC input Mixer PHONINN-PHONINP Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.40 {
|
||||
iface MIXER
|
||||
name 'LADC input Mixer MIC1 boost Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.41 {
|
||||
iface MIXER
|
||||
name 'LADC input Mixer MIC2 boost Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.42 {
|
||||
iface MIXER
|
||||
name 'LADC input Mixer LINEINL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.43 {
|
||||
iface MIXER
|
||||
name 'LADC input Mixer l_output mixer Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.44 {
|
||||
iface MIXER
|
||||
name 'LADC input Mixer r_output mixer Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.45 {
|
||||
iface MIXER
|
||||
name 'LADC input Mixer PHONINP Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.46 {
|
||||
iface MIXER
|
||||
name 'LADC input Mixer PHONINP-PHONINN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.47 {
|
||||
iface MIXER
|
||||
name 'AIF3OUT Mux'
|
||||
value 'AIF2 ADC left channel'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'AIF2 ADC left channel'
|
||||
item.1 'AIF2 ADC right channel'
|
||||
}
|
||||
}
|
||||
control.48 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADR Mixer AIF1 DA0R Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.49 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADR Mixer AIF1 DA1R Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.50 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADR Mixer AIF2 DACL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.51 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADR Mixer ADCR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.52 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADL Mixer AIF1 DA0L Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.53 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADL Mixer AIF1 DA1L Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.54 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADL Mixer AIF2 DACR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.55 {
|
||||
iface MIXER
|
||||
name 'AIF2 ADL Mixer ADCL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.56 {
|
||||
iface MIXER
|
||||
name 'AIF2INR Mux'
|
||||
value AIF2_DACR
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF2_DACR
|
||||
item.1 AIF2_DACL
|
||||
item.2 SUM_AIF2DACL_AIF2DACR
|
||||
item.3 AVE_AIF2DACL_AIF2DACR
|
||||
}
|
||||
}
|
||||
control.57 {
|
||||
iface MIXER
|
||||
name 'AIF2INL Mux'
|
||||
value AIF2_DACL
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF2_DACL
|
||||
item.1 AIF2_DACR
|
||||
item.2 SUM_AIF2DACL_AIF2DACR
|
||||
item.3 AVE_AIF2DACL_AIF2DACR
|
||||
}
|
||||
}
|
||||
control.58 {
|
||||
iface MIXER
|
||||
name 'AIF2OUTR Mux'
|
||||
value AIF2_ADCR
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF2_ADCR
|
||||
item.1 AIF2_ADCL
|
||||
item.2 SUM_AIF2_ADCL_AIF2_ADCR
|
||||
item.3 AVE_AIF2_ADCL_AIF2_ADCR
|
||||
}
|
||||
}
|
||||
control.59 {
|
||||
iface MIXER
|
||||
name 'AIF2OUTL Mux'
|
||||
value AIF2_ADCL
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF2_ADCL
|
||||
item.1 AIF2_ADCR
|
||||
item.2 SUM_AIF2_ADCL_AIF2_ADCR
|
||||
item.3 AVE_AIF2_ADCL_AIF2_ADCR
|
||||
}
|
||||
}
|
||||
control.60 {
|
||||
iface MIXER
|
||||
name 'EAR Mux'
|
||||
value 'Left Analog Mixer'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 DACR
|
||||
item.1 DACL
|
||||
item.2 'Right Analog Mixer'
|
||||
item.3 'Left Analog Mixer'
|
||||
}
|
||||
}
|
||||
control.61 {
|
||||
iface MIXER
|
||||
name 'SPK_L Mux'
|
||||
value 'MIXEL Switch'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'MIXEL Switch'
|
||||
item.1 'MIXL MIXR Switch'
|
||||
}
|
||||
}
|
||||
control.62 {
|
||||
iface MIXER
|
||||
name 'SPK_R Mux'
|
||||
value 'MIXER Switch'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'MIXER Switch'
|
||||
item.1 'MIXR MIXL Switch'
|
||||
}
|
||||
}
|
||||
control.63 {
|
||||
iface MIXER
|
||||
name 'HP_L Mux'
|
||||
value 'Left Analog Mixer HPL Switch'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'DACL HPL Switch'
|
||||
item.1 'Left Analog Mixer HPL Switch'
|
||||
}
|
||||
}
|
||||
control.64 {
|
||||
iface MIXER
|
||||
name 'HP_R Mux'
|
||||
value 'Right Analog Mixer HPR Switch'
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 'DACR HPR Switch'
|
||||
item.1 'Right Analog Mixer HPR Switch'
|
||||
}
|
||||
}
|
||||
control.65 {
|
||||
iface MIXER
|
||||
name 'Right Output Mixer DACL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.66 {
|
||||
iface MIXER
|
||||
name 'Right Output Mixer DACR Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.67 {
|
||||
iface MIXER
|
||||
name 'Right Output Mixer LINEINR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.68 {
|
||||
iface MIXER
|
||||
name 'Right Output Mixer MIC2Booststage Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.69 {
|
||||
iface MIXER
|
||||
name 'Right Output Mixer MIC1Booststage Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.70 {
|
||||
iface MIXER
|
||||
name 'Right Output Mixer PHONEINN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.71 {
|
||||
iface MIXER
|
||||
name 'Right Output Mixer PHONEINN-PHONEINP Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.72 {
|
||||
iface MIXER
|
||||
name 'Left Output Mixer DACR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.73 {
|
||||
iface MIXER
|
||||
name 'Left Output Mixer DACL Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.74 {
|
||||
iface MIXER
|
||||
name 'Left Output Mixer LINEINL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.75 {
|
||||
iface MIXER
|
||||
name 'Left Output Mixer MIC2Booststage Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.76 {
|
||||
iface MIXER
|
||||
name 'Left Output Mixer MIC1Booststage Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.77 {
|
||||
iface MIXER
|
||||
name 'Left Output Mixer PHONEINP Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.78 {
|
||||
iface MIXER
|
||||
name 'Left Output Mixer PHONEINP-PHONEINN Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.79 {
|
||||
iface MIXER
|
||||
name 'DACR Mixer ADCR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.80 {
|
||||
iface MIXER
|
||||
name 'DACR Mixer AIF2DACR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.81 {
|
||||
iface MIXER
|
||||
name 'DACR Mixer AIF1DA1R Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.82 {
|
||||
iface MIXER
|
||||
name 'DACR Mixer AIF1DA0R Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.83 {
|
||||
iface MIXER
|
||||
name 'DACL Mixer ADCL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.84 {
|
||||
iface MIXER
|
||||
name 'DACL Mixer AIF2DACL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.85 {
|
||||
iface MIXER
|
||||
name 'DACL Mixer AIF1DA1L Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.86 {
|
||||
iface MIXER
|
||||
name 'DACL Mixer AIF1DA0L Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.87 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD1R Mixer AIF2 DACR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.88 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD1R Mixer ADCR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.89 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD1L Mixer AIF2 DACL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.90 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD1L Mixer ADCL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.91 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD0R Mixer AIF1 DA0R Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.92 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD0R Mixer AIF2 DACR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.93 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD0R Mixer ADCR Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.94 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD0R Mixer AIF2 DACL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.95 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD0L Mixer AIF1 DA0L Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.96 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD0L Mixer AIF2 DACL Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.97 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD0L Mixer ADCL Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.98 {
|
||||
iface MIXER
|
||||
name 'AIF1 AD0L Mixer AIF2 DACR Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.99 {
|
||||
iface MIXER
|
||||
name 'AIF1IN1R Mux'
|
||||
value AIF1_DA1R
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF1_DA1R
|
||||
item.1 AIF1_DA1L
|
||||
item.2 SUM_AIF1DA1L_AIF1DA1R
|
||||
item.3 AVE_AIF1DA1L_AIF1DA1R
|
||||
}
|
||||
}
|
||||
control.100 {
|
||||
iface MIXER
|
||||
name 'AIF1IN1L Mux'
|
||||
value AIF1_DA1L
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF1_DA1L
|
||||
item.1 AIF1_DA1R
|
||||
item.2 SUM_AIF1DA1L_AIF1DA1R
|
||||
item.3 AVE_AIF1DA1L_AIF1DA1R
|
||||
}
|
||||
}
|
||||
control.101 {
|
||||
iface MIXER
|
||||
name 'AIF1IN0R Mux'
|
||||
value AIF1_DA0R
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF1_DA0R
|
||||
item.1 AIF1_DA0L
|
||||
item.2 SUM_AIF1DA0L_AIF1DA0R
|
||||
item.3 AVE_AIF1DA0L_AIF1DA0R
|
||||
}
|
||||
}
|
||||
control.102 {
|
||||
iface MIXER
|
||||
name 'AIF1IN0L Mux'
|
||||
value AIF1_DA0L
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF1_DA0L
|
||||
item.1 AIF1_DA0R
|
||||
item.2 SUM_AIF1DA0L_AIF1DA0R
|
||||
item.3 AVE_AIF1DA0L_AIF1DA0R
|
||||
}
|
||||
}
|
||||
control.103 {
|
||||
iface MIXER
|
||||
name 'AIF1OUT1R Mux'
|
||||
value AIF1_AD1R
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF1_AD1R
|
||||
item.1 AIF1_AD1L
|
||||
item.2 SUM_AIF1ADC1L_AIF1ADC1R
|
||||
item.3 AVE_AIF1ADC1L_AIF1ADC1R
|
||||
}
|
||||
}
|
||||
control.104 {
|
||||
iface MIXER
|
||||
name 'AIF1OUT1L Mux'
|
||||
value AIF1_AD1L
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF1_AD1L
|
||||
item.1 AIF1_AD1R
|
||||
item.2 SUM_AIF1ADC1L_AIF1ADC1R
|
||||
item.3 AVE_AIF1ADC1L_AIF1ADC1R
|
||||
}
|
||||
}
|
||||
control.105 {
|
||||
iface MIXER
|
||||
name 'AIF1OUT0R Mux'
|
||||
value AIF1_AD0R
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF1_AD0R
|
||||
item.1 AIF1_AD0L
|
||||
item.2 SUM_AIF1AD0L_AIF1AD0R
|
||||
item.3 AVE_AIF1AD0L_AIF1AD0R
|
||||
}
|
||||
}
|
||||
control.106 {
|
||||
iface MIXER
|
||||
name 'AIF1OUT0L Mux'
|
||||
value AIF1_AD0L
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 AIF1_AD0L
|
||||
item.1 AIF1_AD0R
|
||||
item.2 SUM_AIF1AD0L_AIF1AD0R
|
||||
item.3 AVE_AIF1AD0L_AIF1AD0R
|
||||
}
|
||||
}
|
||||
control.107 {
|
||||
iface MIXER
|
||||
name 'AIF2INR Mux VIR switch aif2inr aif3'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.108 {
|
||||
iface MIXER
|
||||
name 'AIF2INL Mux VIR switch aif2inl aif3'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.109 {
|
||||
iface MIXER
|
||||
name 'AIF2INR Mux switch aif2inr aif2'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.110 {
|
||||
iface MIXER
|
||||
name 'AIF2INL Mux switch aif2inl aif2'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.111 {
|
||||
iface MIXER
|
||||
name 'External Speaker Switch'
|
||||
value true
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.112 {
|
||||
iface MIXER
|
||||
name 'Headphone Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
control.113 {
|
||||
iface MIXER
|
||||
name 'Earpiece Switch'
|
||||
value false
|
||||
comment {
|
||||
access 'read write'
|
||||
type BOOLEAN
|
||||
count 1
|
||||
}
|
||||
}
|
||||
}
|
||||
state.sndhdmi {
|
||||
control.1 {
|
||||
iface MIXER
|
||||
name 'hdmi audio format Function'
|
||||
value pcm
|
||||
comment {
|
||||
access 'read write'
|
||||
type ENUMERATED
|
||||
count 1
|
||||
item.0 null
|
||||
item.1 pcm
|
||||
item.2 AC3
|
||||
item.3 MPEG1
|
||||
item.4 MP3
|
||||
item.5 MPEG2
|
||||
item.6 AAC
|
||||
item.7 DTS
|
||||
item.8 ATRAC
|
||||
item.9 ONE_BIT_AUDIO
|
||||
item.10 DOLBY_DIGITAL_PLUS
|
||||
item.11 DTS_HD
|
||||
item.12 MAT
|
||||
item.13 WMAPRO
|
||||
}
|
||||
}
|
||||
}
|
BIN
SOFTWARE/A64-TERES/blobs/bat/bat0.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat1.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat10.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat2.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat3.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat4.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat5.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat6.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat7.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat8.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bat9.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/battery.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/battery_charge.bmp
Executable file
After Width: | Height: | Size: 87 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bempty.bmp
Executable file
After Width: | Height: | Size: 117 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/bootlogo.bmp
Executable file
After Width: | Height: | Size: 337 KiB |
BIN
SOFTWARE/A64-TERES/blobs/bat/low_pwr.bmp
Executable file
After Width: | Height: | Size: 1.5 MiB |
BIN
SOFTWARE/A64-TERES/blobs/bl31.bin
Normal file
BIN
SOFTWARE/A64-TERES/blobs/boot0.bin
Normal file
BIN
SOFTWARE/A64-TERES/blobs/bootlogo.bmp
Executable file
After Width: | Height: | Size: 3.0 MiB |
BIN
SOFTWARE/A64-TERES/blobs/scp.bin
Normal file
91
SOFTWARE/A64-TERES/blobs/sys_config_teres.fex
Normal file
@ -0,0 +1,91 @@
|
||||
[product]
|
||||
version = "100"
|
||||
|
||||
[dram_para]
|
||||
; params for double face
|
||||
dram_clk = 552
|
||||
dram_type = 3
|
||||
dram_zq = 0x3b3bbb
|
||||
dram_odt_en = 0x1
|
||||
dram_para1 = 0x10e410f4
|
||||
dram_para2 = 0x8001000
|
||||
dram_mr0 = 0x1c70
|
||||
dram_mr1 = 0x40
|
||||
dram_mr2 = 0x18
|
||||
dram_mr3 = 0x2
|
||||
dram_tpr0 = 0x47194f
|
||||
dram_tpr1 = 0x1c2414b
|
||||
dram_tpr2 = 0x61043
|
||||
dram_tpr3 = 0x4b005dc
|
||||
dram_tpr4 = 0x0
|
||||
dram_tpr5 = 0x0
|
||||
dram_tpr6 = 0x0
|
||||
dram_tpr7 = 0x0
|
||||
dram_tpr8 = 0x0
|
||||
dram_tpr9 = 0x0
|
||||
dram_tpr10 = 0x8808
|
||||
dram_tpr11 = 0x20250000
|
||||
dram_tpr12 = 0x0
|
||||
dram_tpr13 = 0x4000803
|
||||
|
||||
[card0_boot_para]
|
||||
card_ctrl = 0
|
||||
card_high_speed = 1
|
||||
card_line = 4
|
||||
sdc_d1 = port:PF0<2><1><2><default>
|
||||
sdc_d0 = port:PF1<2><1><2><default>
|
||||
sdc_clk = port:PF2<2><1><2><default>
|
||||
sdc_cmd = port:PF3<2><1><2><default>
|
||||
sdc_d3 = port:PF4<2><1><2><default>
|
||||
sdc_d2 = port:PF5<2><1><2><default>
|
||||
;sdc_2xmode = 0x0
|
||||
;sdc_ddrmode = 0x0
|
||||
;sdc_f_max = 0x0
|
||||
;sdc_ex_dly_used = 0x0
|
||||
;sdc_odly_25M = 0xff2fffff
|
||||
;sdc_sdly_25M = 0xd2fffff
|
||||
;sdc_odly_50M = 0xffffff00
|
||||
;sdc_sdly_50M = 0x0
|
||||
|
||||
[card2_boot_para]
|
||||
sdc_io_1v8 = 1
|
||||
card_ctrl = 2
|
||||
card_high_speed = 1
|
||||
card_line = 8
|
||||
sdc_ds = port:PC1<3><1><3><default>
|
||||
sdc_clk = port:PC5<3><1><3><default>
|
||||
sdc_cmd = port:PC6<3><1><3><default>
|
||||
sdc_d0 = port:PC8<3><1><3><default>
|
||||
sdc_d1 = port:PC9<3><1><3><default>
|
||||
sdc_d2 = port:PC10<3><1><3><default>
|
||||
sdc_d3 = port:PC11<3><1><3><default>
|
||||
sdc_d4 = port:PC12<3><1><3><default>
|
||||
sdc_d5 = port:PC13<3><1><3><default>
|
||||
sdc_d6 = port:PC14<3><1><3><default>
|
||||
sdc_d7 = port:PC15<3><1><3><default>
|
||||
sdc_emmc_rst = port:PC16<3><1><3><default>
|
||||
;sdc_2xmode = 0x0
|
||||
;sdc_ddrmode = 0x0
|
||||
;sdc_f_max = 0x0
|
||||
;sdc_ex_dly_used = 0xffffffff
|
||||
;sdc_odly_25M = 0xff0dffff
|
||||
;sdc_sdly_25M = 0xffffffff
|
||||
;sdc_odly_50M = 0x8000000
|
||||
;sdc_sdly_50M = 0x0
|
||||
|
||||
[twi_para]
|
||||
twi_port = 0
|
||||
twi_scl = port:PH0<2><default><default><default>
|
||||
twi_sda = port:PH1<2><default><default><default>
|
||||
|
||||
[uart_para]
|
||||
uart_debug_port = 0
|
||||
uart_debug_tx = port:PB8<4><1><default><default>
|
||||
uart_debug_rx = port:PB9<4><1><default><default>
|
||||
|
||||
[jtag_para]
|
||||
jtag_enable = 0
|
||||
jtag_ms = port:PB0<4><default><default><default>
|
||||
jtag_ck = port:PB1<4><default><default><default>
|
||||
jtag_do = port:PB2<4><default><default><default>
|
||||
jtag_di = port:PB3<4><default><default><default>
|
2
SOFTWARE/A64-TERES/blobs/sys_config_uboot.fex
Normal file
@ -0,0 +1,2 @@
|
||||
[product]
|
||||
version = "100"
|
3
SOFTWARE/A64-TERES/blobs/teres_kmap.hwdb
Normal file
@ -0,0 +1,3 @@
|
||||
evdev:input:b0003v15BAp003C*
|
||||
KEYBOARD_KEY_7006f=brightnessdown
|
||||
KEYBOARD_KEY_70070=brightnessup
|
87
SOFTWARE/A64-TERES/scripts/build_image.sh
Executable file
@ -0,0 +1,87 @@
|
||||
#!/bin/sh -x
|
||||
#
|
||||
# This scripts takes a simpleimage and a kernel tarball, resizes the
|
||||
# secondary partition and creates a rootfs inside it. Then extracts the
|
||||
# Kernel tarball on top of it, resulting in a full Pine64 disk image.
|
||||
#
|
||||
# Latest stuff can be found at the following locations:
|
||||
# - https://www.stdin.xyz/downloads/people/longsleep/pine64-images/simpleimage-pine64-latest.img.xz
|
||||
# - https://www.stdin.xyz/downloads/people/longsleep/pine64-images/linux/linux-pine64-latest.tar.xz"
|
||||
# https://github.com/longsleep/build-pine64-image/
|
||||
|
||||
SIMPLEIMAGE="$1"
|
||||
KERNELTAR="$2"
|
||||
DISTRO="$3"
|
||||
COUNT="$4"
|
||||
|
||||
if [ -z "$SIMPLEIMAGE" -o -z "$KERNELTAR" ]; then
|
||||
echo "Usage: $0 <simpleimage.img.xz> <kernel.tar.xz> [distro] [count]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$(id -u)" -ne "0" ]; then
|
||||
echo "This script requires root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$DISTRO" ]; then
|
||||
DISTRO="xenial"
|
||||
fi
|
||||
|
||||
if [ -z "$COUNT" ]; then
|
||||
COUNT=1
|
||||
fi
|
||||
|
||||
SIMPLEIMAGE=$(readlink -f "$SIMPLEIMAGE")
|
||||
KERNELTAR=$(readlink -f "$KERNELTAR")
|
||||
|
||||
SIZE=3650 # MiB
|
||||
DATE=$(date +%Y%m%d_%H%M%S_%Z)
|
||||
|
||||
PWD=$(readlink -f .)
|
||||
TEMP=$(mktemp -p $PWD -d -t "teres-build-XXXXXXXXXX")
|
||||
IMAGE="$DISTRO-teres-bspkernel-$DATE-$COUNT.img"
|
||||
echo "> Building in $TEMP ..."
|
||||
|
||||
cleanup() {
|
||||
local arg=$?
|
||||
echo "> Cleaning up ..."
|
||||
umount "$TEMP/boot" || true
|
||||
umount "$TEMP/rootfs" || true
|
||||
kpartx -sd "$TEMP/$IMAGE" || true
|
||||
rmdir "$TEMP/boot"
|
||||
rmdir "$TEMP/rootfs"
|
||||
rm "$TEMP/*" || true
|
||||
rmdir "$TEMP"
|
||||
exit $arg
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
set -x
|
||||
|
||||
# Unpack
|
||||
unxz -k --stdout "$SIMPLEIMAGE" > "$TEMP/$IMAGE"
|
||||
# Enlarge
|
||||
dd if=/dev/zero bs=1M count=$SIZE >> "$TEMP/$IMAGE"
|
||||
# Resize
|
||||
echo ",+,L" | sfdisk -N 2 -L -uS --force "$TEMP/$IMAGE"
|
||||
|
||||
# Device
|
||||
mkdir "$TEMP/boot"
|
||||
mkdir "$TEMP/rootfs"
|
||||
DEVICE=$(losetup --show --find "$TEMP/$IMAGE")
|
||||
DEVICENAME=$(basename $DEVICE)
|
||||
echo "> Device is $DEVICE ..."
|
||||
kpartx -avs $DEVICE
|
||||
|
||||
# Resize filesystem
|
||||
resize2fs /dev/mapper/${DEVICENAME}p2 || true
|
||||
|
||||
# Mount
|
||||
mount /dev/mapper/${DEVICENAME}p1 "$TEMP/boot"
|
||||
mount /dev/mapper/${DEVICENAME}p2 "$TEMP/rootfs"
|
||||
|
||||
sleep 2
|
||||
(./make_rootfs.sh "$TEMP/rootfs" "$KERNELTAR" "$DISTRO" "$TEMP/boot")
|
||||
|
||||
mv -v "$TEMP/$IMAGE" .
|
49
SOFTWARE/A64-TERES/scripts/build_uboot.sh
Executable file
@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Simple script to create a U-Boot with all the additional parts which are
|
||||
# required to be accepted by th A64 boot0.
|
||||
#
|
||||
# This script requires build variants and tools from several other sources.
|
||||
# See the variable definitions below. When all files can be found, a U-Boot
|
||||
# file is created which can be loaded by A64 boot0 just fine.
|
||||
#Useed parts from : https://github.com/longsleep/build-pine64-image/blob/master/u-boot-postprocess/u-boot-postprocess.sh
|
||||
|
||||
set -e
|
||||
|
||||
# Blobs as provided in the BSP
|
||||
BLOBS="../blobs"
|
||||
UBOOT="../u-boot_new"
|
||||
TRUSTED_FIRMWARE="../arm-trusted-firmware-a64"
|
||||
TRUSTED_FIRMWARE_BUILD="release"
|
||||
SUNXI_PACK_TOOLS="../sunxi-pack-tools/bin"
|
||||
|
||||
BUILD="../build"
|
||||
mkdir -p $BUILD
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sun50iw1p1_config
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- spl
|
||||
cp $BLOBS/sys_config_teres.fex $BUILD/sys_config_teres.fex
|
||||
unix2dos $BUILD/sys_config_teres.fex
|
||||
$SUNXI_PACK_TOOLS/script $BUILD/sys_config_teres.fex
|
||||
cp $UBOOT/boot0_sdcard_sun50iw1p1.bin $BUILD/boot0_teres.bin.tmp
|
||||
$SUNXI_PACK_TOOLS/update_boot0 $BUILD/boot0_teres.bin.tmp $BUILD/sys_config_teres.bin sdmmc_card
|
||||
mv $BUILD/boot0_teres.bin.tmp $BUILD/boot0_teres.bin
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- spl
|
||||
cp $UBOOT/fes1_sun50iw1p1.bin $BUILD/fes1_teres.bin.tmp
|
||||
$SUNXI_PACK_TOOLS/update_boot0 $BUILD/fes1_teres.bin.tmp $BUILD/sys_config_teres.bin sdmmc_card
|
||||
mv $BUILD/fes1_teres.bin.tmp $BUILD/fes1_teres.bin
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
|
||||
dtc -Odtb -o $BUILD/a64-teres_uboot.dtb $BLOBS/a64-teres_uboot.dts
|
||||
cp $BLOBS/sys_config_uboot.fex $BUILD/sys_config_uboot.fex
|
||||
unix2dos $BUILD/sys_config_uboot.fex
|
||||
$SUNXI_PACK_TOOLS/script $BUILD/sys_config_uboot.fex
|
||||
$SUNXI_PACK_TOOLS/update_uboot_fdt $UBOOT/u-boot-sun50iw1p1.bin $BUILD/a64-teres_uboot.dtb $BUILD/u-boot-sun50iw1p1-with-teres-dtb.bin.tmp
|
||||
$SUNXI_PACK_TOOLS/update_uboot $BUILD/u-boot-sun50iw1p1-with-teres-dtb.bin.tmp $BUILD/sys_config_uboot.bin
|
||||
mv $BUILD/u-boot-sun50iw1p1-with-teres-dtb.bin.tmp $BUILD/u-boot-sun50iw1p1-with-teres-dtb.bin
|
||||
$SUNXI_PACK_TOOLS/merge_uboot $UBOOT/u-boot-sun50iw1p1.bin $BLOBS/bl31.bin $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp secmonitor
|
||||
$SUNXI_PACK_TOOLS/merge_uboot $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp $BLOBS/scp.bin $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp2 scp
|
||||
$SUNXI_PACK_TOOLS/update_uboot_fdt $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp2 $BUILD/a64-teres_uboot.dtb $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp3
|
||||
$SUNXI_PACK_TOOLS/update_uboot $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp3 $BUILD/sys_config_uboot.bin
|
||||
mv $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp3 $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin
|
||||
echo "Done - created $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin"
|
||||
|
49
SOFTWARE/A64-TERES/scripts/build_uboot_a64.sh
Executable file
@ -0,0 +1,49 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Simple script to create a U-Boot with all the additional parts which are
|
||||
# required to be accepted by th A64 boot0.
|
||||
#
|
||||
# This script requires build variants and tools from several other sources.
|
||||
# See the variable definitions below. When all files can be found, a U-Boot
|
||||
# file is created which can be loaded by A64 boot0 just fine.
|
||||
#Useed parts from : https://github.com/longsleep/build-pine64-image/blob/master/u-boot-postprocess/u-boot-postprocess.sh
|
||||
|
||||
set -e
|
||||
|
||||
# Blobs as provided in the BSP
|
||||
BLOBS="../blobs"
|
||||
UBOOT="../u-boot_new"
|
||||
TRUSTED_FIRMWARE="../arm-trusted-firmware-a64"
|
||||
TRUSTED_FIRMWARE_BUILD="release"
|
||||
SUNXI_PACK_TOOLS="../sunxi-pack-tools/bin"
|
||||
|
||||
BUILD="../build"
|
||||
mkdir -p $BUILD
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- clean
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- sun50iw1p1_config
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- spl
|
||||
cp $BLOBS/sys_config_teres.fex $BUILD/sys_config_teres.fex
|
||||
unix2dos $BUILD/sys_config_teres.fex
|
||||
$SUNXI_PACK_TOOLS/script $BUILD/sys_config_teres.fex
|
||||
cp $UBOOT/boot0_sdcard_sun50iw1p1.bin $BUILD/boot0_teres.bin.tmp
|
||||
$SUNXI_PACK_TOOLS/update_boot0 $BUILD/boot0_teres.bin.tmp $BUILD/sys_config_teres.bin sdmmc_card
|
||||
mv $BUILD/boot0_teres.bin.tmp $BUILD/boot0_teres.bin
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- spl
|
||||
cp $UBOOT/fes1_sun50iw1p1.bin $BUILD/fes1_teres.bin.tmp
|
||||
$SUNXI_PACK_TOOLS/update_boot0 $BUILD/fes1_teres.bin.tmp $BUILD/sys_config_teres.bin sdmmc_card
|
||||
mv $BUILD/fes1_teres.bin.tmp $BUILD/fes1_teres.bin
|
||||
make -C $UBOOT ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
|
||||
dtc -Odtb -o $BUILD/a64-teres_uboot.dtb $BLOBS/a64-olinuxino.dts
|
||||
cp $BLOBS/sys_config_uboot.fex $BUILD/sys_config_uboot.fex
|
||||
unix2dos $BUILD/sys_config_uboot.fex
|
||||
$SUNXI_PACK_TOOLS/script $BUILD/sys_config_uboot.fex
|
||||
$SUNXI_PACK_TOOLS/update_uboot_fdt $UBOOT/u-boot-sun50iw1p1.bin $BUILD/a64-teres_uboot.dtb $BUILD/u-boot-sun50iw1p1-with-teres-dtb.bin.tmp
|
||||
$SUNXI_PACK_TOOLS/update_uboot $BUILD/u-boot-sun50iw1p1-with-teres-dtb.bin.tmp $BUILD/sys_config_uboot.bin
|
||||
mv $BUILD/u-boot-sun50iw1p1-with-teres-dtb.bin.tmp $BUILD/u-boot-sun50iw1p1-with-teres-dtb.bin
|
||||
$SUNXI_PACK_TOOLS/merge_uboot $UBOOT/u-boot-sun50iw1p1.bin $BLOBS/bl31.bin $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp secmonitor
|
||||
$SUNXI_PACK_TOOLS/merge_uboot $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp $BLOBS/scp.bin $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp2 scp
|
||||
$SUNXI_PACK_TOOLS/update_uboot_fdt $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp2 $BUILD/a64-teres_uboot.dtb $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp3
|
||||
$SUNXI_PACK_TOOLS/update_uboot $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp3 $BUILD/sys_config_uboot.bin
|
||||
mv $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin.tmp3 $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin
|
||||
echo "Done - created $BUILD/u-boot-sun50iw1p1-secure-with-teres-dtb.bin"
|
||||
|
3
SOFTWARE/A64-TERES/scripts/configuration-files/fstab
Normal file
@ -0,0 +1,3 @@
|
||||
# <file system> <dir> <type> <options> <dump> <pass>
|
||||
/dev/mmcblk1p1 /boot vfat defaults 0 2
|
||||
/dev/mmcblk1p2 / ext4 defaults,noatime 0 1
|
@ -0,0 +1,3 @@
|
||||
blacklist vfe_v4l2
|
||||
blacklist vfe_io
|
||||
blacklist 8723bs_vq0
|
@ -0,0 +1,3 @@
|
||||
# Disable secondary interface and power management.
|
||||
options 8723bs if2name=p2p0 rtw_power_mgnt=0
|
||||
options 8723cs if2name=p2p0 rtw_power_mgnt=0
|
@ -0,0 +1,2 @@
|
||||
disp
|
||||
#8723cs
|
@ -0,0 +1,2 @@
|
||||
# Auto load hall driver (LID close).
|
||||
#hall
|
@ -0,0 +1,4 @@
|
||||
# Auto load the sndcodec driver (Audio jack, speakers) when not commented.
|
||||
#sunxi_codec
|
||||
#sunxi_i2s
|
||||
#sunxi_sndcodec
|
@ -0,0 +1,2 @@
|
||||
8723bs
|
||||
#8723cs
|
4
SOFTWARE/A64-TERES/scripts/configuration-files/udev-rules.d/90-sunxi-disp-permission.rules
Normal file
@ -0,0 +1,4 @@
|
||||
KERNEL=="disp", MODE="0770", GROUP="video"
|
||||
KERNEL=="cedar_dev", MODE="0770", GROUP="video"
|
||||
KERNEL=="ion", MODE="0770", GROUP="video"
|
||||
KERNEL=="mali", MODE="0770", GROUP="video"
|
97
SOFTWARE/A64-TERES/scripts/install_kernel.sh
Executable file
@ -0,0 +1,97 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Simple script to put the Kernel image into a destination folder
|
||||
# to be booted. The script also copies the a initrd and the conmpiled device
|
||||
# tree. Usually the destination is a location which can be read while booting
|
||||
# with U-Boot.
|
||||
#
|
||||
# Use this script to populate the first partition of disk images created with
|
||||
# the simpleimage script of this project.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
DEST="$1"
|
||||
|
||||
if [ -z "$DEST" ]; then
|
||||
echo "Usage: $0 <destination-folder> [linux-folder]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
BLOBS="../blobs"
|
||||
LINUX="../linux-a64"
|
||||
INITRD="./initrd.gz"
|
||||
BOOTLOGO="../blobs/bootlogo.bmp"
|
||||
BATTERY="../blobs/bat"
|
||||
|
||||
# Targets file names as loaded by U-Boot.
|
||||
SUBFOLDER="a64"
|
||||
KERNEL="$SUBFOLDER/Image"
|
||||
INITRD_IMG="initrd.img"
|
||||
BOOTLOGO_TARGET="bootlogo.bmp"
|
||||
BATTERY_TARGET="bat"
|
||||
|
||||
if [ "$DEST" = "-" ]; then
|
||||
DEST="../build"
|
||||
fi
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
LINUX="$2"
|
||||
fi
|
||||
|
||||
echo "Using Linux from $LINUX ..."
|
||||
|
||||
VERSION=$(strings $LINUX/arch/arm64/boot/Image |grep "Linux version"|awk '{print $3}')
|
||||
echo "Kernel build version $VERSION ..."
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "Failed to get build version, correct <linux-folder>?"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Clean up
|
||||
mkdir -p "$DEST/$SUBFOLDER"
|
||||
rm -vf "$DEST/$KERNEL"
|
||||
rm -vf "$DEST/"*.dtb
|
||||
|
||||
# Create and copy Kernel
|
||||
echo -n "Copying Kernel ..."
|
||||
cp -vf "$LINUX/arch/arm64/boot/Image" "$DEST/$KERNEL"
|
||||
echo "$VERSION" > "$DEST/Image.version"
|
||||
echo " OK"
|
||||
|
||||
# Copy initrd
|
||||
echo -n "Copying initrd ..."
|
||||
cp -vf "$INITRD" "$DEST/$INITRD_IMG"
|
||||
echo " OK"
|
||||
|
||||
# Create and copy binary device tree
|
||||
# if grep -q sunxi-drm "$LINUX/arch/arm64/boot/Image"; then
|
||||
# echo "Kernel with DRM driver!"
|
||||
# basename="pine64drm"
|
||||
# fi
|
||||
|
||||
# Not found, use device tree from BSP.
|
||||
echo "Compiling device tree from $BLOBS/${basename}.dts"
|
||||
dtc -Odtb -o "$DEST/$SUBFOLDER/a64-olinuxino.dtb" "$BLOBS/a64-teres.dts"
|
||||
|
||||
# Add bootlogo.
|
||||
cp -v "$BOOTLOGO" "$DEST/$BOOTLOGO_TARGET"
|
||||
# Add battery icons.
|
||||
mkdir -p "$DEST/$BATTERY_TARGET"
|
||||
cp -v "$BATTERY/bempty.bmp" "$DEST/$BATTERY_TARGET"
|
||||
cp -v "$BATTERY/low_pwr.bmp" "$DEST/$BATTERY_TARGET"
|
||||
cp -v "$BATTERY/battery_charge.bmp" "$DEST/$BATTERY_TARGET"
|
||||
|
||||
|
||||
if [ ! -e "$DEST/uEnv.txt" ]; then
|
||||
cat <<EOF > "$DEST/uEnv.txt"
|
||||
root=/dev/mmcblk1p2
|
||||
debug=off
|
||||
console=tty0 console=ttyS0,115200n8 no_console_suspend
|
||||
kernel_filename=$KERNEL
|
||||
initrd_filename=$INITRD_IMG
|
||||
EOF
|
||||
fi
|
||||
|
||||
sync
|
||||
echo "Done - boot files in $DEST"
|
73
SOFTWARE/A64-TERES/scripts/install_kernel_headers.sh
Executable file
@ -0,0 +1,73 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
DEST="$1"
|
||||
|
||||
if [ -z "$DEST" ]; then
|
||||
echo "Usage: $0 <destination-root> [linux-folder]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LINUX="../linux-a64"
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
LINUX="$2"
|
||||
fi
|
||||
|
||||
echo "Using Linux from $LINUX ..."
|
||||
|
||||
VERSION=$(strings $LINUX/arch/arm64/boot/Image |grep "Linux version"|awk '{print $3}')
|
||||
echo "Kernel build version $VERSION ..."
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "Failed to get build version, correct <linux-folder>?"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LINUX_ARCH=arm64
|
||||
CROSS_COMPILE=aarch64-linux-gnu-
|
||||
|
||||
cd $LINUX
|
||||
|
||||
TARGET="$DEST/usr/src/linux-headers-$VERSION"
|
||||
mkdir -p "$TARGET"
|
||||
cp -a Makefile "$TARGET"
|
||||
mkdir -p "$TARGET/arch/$LINUX_ARCH"
|
||||
cp -a arch/$LINUX_ARCH/Makefile "$TARGET/arch/$LINUX_ARCH"
|
||||
cp -a Module.symvers "$TARGET"
|
||||
|
||||
# Install Kernel headers
|
||||
make ARCH=$LINUX_ARCH CROSS_COMPILE=$CROSS_COMPILE headers_install INSTALL_HDR_PATH="$TARGET"
|
||||
|
||||
tar cfh - include | (cd "$TARGET"; umask 000; tar xsf -)
|
||||
tar cfh - scripts | (cd "$TARGET"; umask 000; tar xsf -)
|
||||
find . -path './scripts/*' -prune -o -path './Documentation/*' -prune -o \
|
||||
-path './debian/*' -prune -o -type f \
|
||||
\( -name Makefile -o -name 'Kconfig*' \) -print | \
|
||||
cpio -pd --preserve-modification-time "$TARGET";
|
||||
|
||||
# Clean compile host executables and replace some with target arch.
|
||||
find "$TARGET/scripts" -type f | while read i; do if file -b $i | egrep -q "^ELF.*executable"; then rm "$i"; fi; done
|
||||
(cd scripts && ${CROSS_COMPILE}gcc kallsyms.c -o "$TARGET/scripts/kallsyms")
|
||||
(cd scripts && ${CROSS_COMPILE}gcc pnmtologo.c -o "$TARGET/scripts/pnmtologo")
|
||||
(cd scripts && ${CROSS_COMPILE}gcc conmakehash.c -o "$TARGET/scripts/conmakehash")
|
||||
(cd scripts && ${CROSS_COMPILE}gcc bin2c.c -o "$TARGET/scripts/bin2c")
|
||||
(cd scripts && ${CROSS_COMPILE}gcc recordmcount.c -o "$TARGET/scripts/recordmcount")
|
||||
(cd scripts && ${CROSS_COMPILE}gcc -I../tools/include sortextable.c -o "$TARGET/scripts/sortextable")
|
||||
(cd scripts && ${CROSS_COMPILE}gcc unifdef.c -o "$TARGET/scripts/unifdef")
|
||||
(cd scripts/basic && ${CROSS_COMPILE}gcc fixdep.c -o "$TARGET/scripts/basic/fixdep")
|
||||
(cd scripts/mod && ${CROSS_COMPILE}gcc modpost.c file2alias.c sumversion.c -o "$TARGET/scripts/mod/modpost")
|
||||
(cd scripts/mod && ${CROSS_COMPILE}gcc mk_elfconfig.c -o "$TARGET/scripts/mod/mk_elfconfig")
|
||||
(cd scripts/genksyms && ${CROSS_COMPILE}gcc genksyms.c parse.tab.c lex.lex.c -o "$TARGET/scripts/genksyms/genksyms")
|
||||
|
||||
find arch/$LINUX_ARCH/include \
|
||||
-print | cpio -pdL --preserve-modification-time "$TARGET";
|
||||
|
||||
mkdir -p "$TARGET/arch/um"
|
||||
cp -a arch/um/Makefile* "$TARGET/arch/um/"
|
||||
mkdir -p "$TARGET/arch/$LINUX_ARCH/kernel"
|
||||
cp -a arch/$LINUX_ARCH/kernel/asm-offsets.s "$TARGET/arch/$LINUX_ARCH/kernel"
|
||||
rm -f "$TARGET/include/linux/version.h"
|
||||
cp -a .config "$TARGET/"
|
||||
|
||||
echo "Done - installed Kernel headers to $DEST"
|
45
SOFTWARE/A64-TERES/scripts/install_kernel_modules.sh
Executable file
@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
DEST="$1"
|
||||
|
||||
if [ -z "$DEST" ]; then
|
||||
echo "Usage: $0 <destination-folder> [linux-folder]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LINUX="../linux-a64"
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
LINUX="$2"
|
||||
fi
|
||||
|
||||
echo "Using Linux from $LINUX ..."
|
||||
|
||||
VERSION=$(strings $LINUX/arch/arm64/boot/Image |grep "Linux version"|awk '{print $3}')
|
||||
echo "Kernel build version $VERSION ..."
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "Failed to get build version, correct <linux-folder>?"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Install Kernel modules
|
||||
make -C $LINUX ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules_install INSTALL_MOD_PATH="$DEST"
|
||||
# Install Kernel firmware
|
||||
make -C $LINUX ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- firmware_install INSTALL_MOD_PATH="$DEST"
|
||||
|
||||
# Fix symbolic links
|
||||
rm -f "$DEST/lib/modules/$VERSION/source"
|
||||
rm -f "$DEST/lib/modules/$VERSION/build"
|
||||
ln -s "/usr/src/linux-headers-$VERSION" "$DEST/lib/modules/$VERSION/build"
|
||||
|
||||
# Install extra mali module if found in Kernel tree.
|
||||
if [ -e $LINUX/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali/mali.ko ]; then
|
||||
v=
|
||||
mkdir "$DEST/lib/modules/$VERSION/kernel/extramodules"
|
||||
cp -v $LINUX/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali/mali.ko $DEST/lib/modules/$VERSION/kernel/extramodules
|
||||
depmod -b $DEST $VERSION
|
||||
fi
|
||||
|
||||
echo "Done - installed Kernel modules to $DEST"
|
109
SOFTWARE/A64-TERES/scripts/make_initrd.sh
Executable file
@ -0,0 +1,109 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Simple script to create a small busybox based initrd. It requires a compiled
|
||||
# busybox static binary. You can also use any other prebuilt initrd.
|
||||
#
|
||||
# Please note that some prebuilt initrds might be inappropriate, for example,
|
||||
# the ones from the Debian Installer will start an install process, so don't
|
||||
# use those.
|
||||
#
|
||||
# Run this script with fakeroot or as root.
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$(id -u)" -ne "0" ]; then
|
||||
exec fakeroot $0 $@
|
||||
fi
|
||||
|
||||
BUSYBOX="../busybox"
|
||||
|
||||
TEMP=$(mktemp -d)
|
||||
TEMPFILE=$(mktemp)
|
||||
|
||||
mkdir -p $TEMP/bin
|
||||
cp -va $BUSYBOX/busybox $TEMP/bin
|
||||
|
||||
cd $TEMP
|
||||
mkdir dev proc sys tmp sbin
|
||||
mknod dev/console c 5 1
|
||||
cat > $TEMP/init <<'EOF'
|
||||
#!/bin/busybox sh
|
||||
|
||||
# Install busybox
|
||||
/bin/busybox --install -s
|
||||
|
||||
# Mount the /proc and /sys filesystems.
|
||||
mount -t proc none /proc
|
||||
mount -t sysfs none /sys
|
||||
mount -t devtmpfs none /dev
|
||||
|
||||
cmdline() {
|
||||
local value
|
||||
value=" $(cat /proc/cmdline) "
|
||||
value="${value##* $1=}"
|
||||
value="${value%% *}"
|
||||
[ "$value" != "" ] && echo "$value"
|
||||
}
|
||||
|
||||
realboot() {
|
||||
echo "Rootfs: $1";
|
||||
# Mount real root.
|
||||
mkdir -p /mnt/root
|
||||
mount -o rw "$1" /mnt/root
|
||||
|
||||
if [ -x /mnt/root/sbin/init -o -h /mnt/root/sbin/init ]; then
|
||||
# Cleanup.
|
||||
umount /proc
|
||||
umount /sys
|
||||
umount /dev
|
||||
|
||||
# Boot the real system.
|
||||
exec switch_root /mnt/root /sbin/init
|
||||
else
|
||||
umount /mnt/root
|
||||
fi
|
||||
}
|
||||
|
||||
runshell() {
|
||||
echo "Dropping to a shell."
|
||||
echo
|
||||
setsid cttyhack /bin/sh
|
||||
}
|
||||
|
||||
find_parition_by_value() {
|
||||
echo `blkid | tr -d '"' | grep "$1" | cut -d ':' -f 1 | head -n 1`
|
||||
}
|
||||
|
||||
boot() {
|
||||
echo "Kernel params: `cat /proc/cmdline`"
|
||||
local i=5
|
||||
local kernel_root_param=$(cmdline root)
|
||||
|
||||
while [ "$i" -ge 1 ]; do
|
||||
echo "Waiting for root system $kernel_root_param, countdown : $i";
|
||||
local root=`find_parition_by_value $kernel_root_param`
|
||||
if [ -e "$root" ]; then
|
||||
realboot $root;
|
||||
fi;
|
||||
|
||||
i=$(( $i - 1 ));
|
||||
sleep 5;
|
||||
done;
|
||||
|
||||
# Default rootfs - sd partition 2
|
||||
realboot /dev/mmcblk0p2;
|
||||
runshell;
|
||||
}
|
||||
boot;
|
||||
EOF
|
||||
chmod 755 $TEMP/init
|
||||
|
||||
find . | cpio -H newc -o > $TEMPFILE
|
||||
|
||||
cd -
|
||||
|
||||
cat $TEMPFILE | gzip >initrd.gz
|
||||
|
||||
rm $TEMPFILE
|
||||
rm -rf $TEMP
|
||||
sync
|
50
SOFTWARE/A64-TERES/scripts/make_kernel_tarball.sh
Executable file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
DEST="$1"
|
||||
|
||||
if [ -z "$DEST" ]; then
|
||||
echo "Usage: $0 <destination-folder> [linux-folder] [extra-version]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LINUX="../linux-a64"
|
||||
|
||||
if [ -n "$2" ]; then
|
||||
LINUX="$2"
|
||||
fi
|
||||
|
||||
EXTRAVERSION="$3"
|
||||
|
||||
echo "Using Linux from $LINUX ..."
|
||||
|
||||
TEMP=$(mktemp -d)
|
||||
mkdir $TEMP/boot
|
||||
|
||||
cleanup() {
|
||||
if [ -d "$TEMP" ]; then
|
||||
rm -rf "$TEMP"
|
||||
fi
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
./install_kernel.sh "$TEMP/boot" "$LINUX"
|
||||
./install_kernel_modules.sh "$TEMP" "$LINUX"
|
||||
./install_kernel_headers.sh "$TEMP" "$LINUX"
|
||||
|
||||
# Use uEnv.txt.in so we do not overwrite customizations on next update.
|
||||
mv "$TEMP/boot/uEnv.txt" "$TEMP/boot/uEnv.txt.in"
|
||||
|
||||
if [ -z "$EXTRAVERSION" -a -e "$LINUX/.version" ]; then
|
||||
EXTRAVERSION=$(cat "$LINUX/.version")
|
||||
else
|
||||
EXTRAVERSION=$(date +%s)
|
||||
fi
|
||||
|
||||
VERSION="$(ls -1tr $TEMP/lib/modules/|tail -n1)-$EXTRAVERSION"
|
||||
|
||||
echo "Building $VERSION ..."
|
||||
tar -C "$TEMP" -cJ --owner=0 --group=0 --xform='s,./,,' -f "$DEST/linux-a64-$VERSION.tar.xz" .
|
||||
|
||||
echo "Done - $DEST/linux-a64-$VERSION.tar.xz"
|
437
SOFTWARE/A64-TERES/scripts/make_rootfs.sh
Executable file
@ -0,0 +1,437 @@
|
||||
#!/bin/bash -x
|
||||
#
|
||||
# Simple script to create a rootfs for aarch64 platforms including support
|
||||
# for Kernel modules created by the rest of the scripting found in this
|
||||
# module.
|
||||
#
|
||||
# Use this script to populate the second partition of disk images created with
|
||||
# the simpleimage script of this project.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
BUILD="../build"
|
||||
DEST="$1"
|
||||
LINUX="$2"
|
||||
DISTRO="$3"
|
||||
BOOT="$4"
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
if [ -z "$DEST" ]; then
|
||||
echo "Usage: $0 <destination-folder> [<linux-tarball>] [<distro>] [<boot-folder>]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$(id -u)" -ne "0" ]; then
|
||||
echo "This script requires root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DEST=$(readlink -f "$DEST")
|
||||
if [ -n "$LINUX" -a "$LINUX" != "-" ]; then
|
||||
LINUX=$(readlink -f "$LINUX")
|
||||
fi
|
||||
|
||||
if [ ! -d "$DEST" ]; then
|
||||
echo "Destination $DEST not found or not a directory."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$(ls -A -Ilost+found $DEST)" ]; then
|
||||
echo "Destination $DEST is not empty. Aborting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$DISTRO" ]; then
|
||||
DISTRO="xenial"
|
||||
fi
|
||||
|
||||
if [ -n "$BOOT" ]; then
|
||||
BOOT=$(readlink -f "$BOOT")
|
||||
fi
|
||||
|
||||
TEMP=$(mktemp -d)
|
||||
cleanup() {
|
||||
if [ -e "$DEST/proc/cmdline" ]; then
|
||||
umount "$DEST/proc"
|
||||
fi
|
||||
if [ -d "$DEST/sys/kernel" ]; then
|
||||
umount "$DEST/sys"
|
||||
fi
|
||||
umount "$DEST/tmp" || true
|
||||
if [ -d "$TEMP" ]; then
|
||||
rm -rf "$TEMP"
|
||||
fi
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
ROOTFS=""
|
||||
UNTAR="bsdtar -xpf"
|
||||
METHOD="download"
|
||||
|
||||
case $DISTRO in
|
||||
arch)
|
||||
ROOTFS="http://archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz"
|
||||
;;
|
||||
xenial)
|
||||
ROOTFS="http://cdimage.ubuntu.com/ubuntu-base/releases/16.04.2/release/ubuntu-base-16.04.2-base-arm64.tar.gz"
|
||||
;;
|
||||
sid|jessie)
|
||||
ROOTFS="${DISTRO}-base-arm64.tar.gz"
|
||||
METHOD="debootstrap"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown distribution: $DISTRO"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
deboostrap_rootfs() {
|
||||
dist="$1"
|
||||
tgz="$(readlink -f "$2")"
|
||||
|
||||
[ "$TEMP" ] || exit 1
|
||||
cd $TEMP && pwd
|
||||
|
||||
# this is updated very seldom, so is ok to hardcode
|
||||
debian_archive_keyring_deb='https://ftp.de.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2014.3_all.deb'
|
||||
wget -O keyring.deb "$debian_archive_keyring_deb"
|
||||
ar -x keyring.deb && rm -f control.tar.gz debian-binary && rm -f keyring.deb
|
||||
DATA=$(ls data.tar.*) && compress=${DATA#data.tar.}
|
||||
|
||||
KR=debian-archive-keyring.gpg
|
||||
bsdtar --include ./usr/share/keyrings/$KR --strip-components 4 -xvf "$DATA"
|
||||
rm -f "$DATA"
|
||||
|
||||
apt-get -y install debootstrap qemu-user-static
|
||||
|
||||
qemu-debootstrap --arch=arm64 --keyring=$TEMP/$KR $dist rootfs http://httpredir.debian.org/debian
|
||||
rm -f $KR
|
||||
|
||||
# keeping things clean as this is copied later again
|
||||
rm -f rootfs/usr/bin/qemu-aarch64-static
|
||||
|
||||
bsdtar -C $TEMP/rootfs -a -cf $tgz .
|
||||
rm -fr $TEMP/rootfs
|
||||
|
||||
cd -
|
||||
}
|
||||
|
||||
mkdir -p $BUILD
|
||||
TARBALL="$BUILD/$(basename $ROOTFS)"
|
||||
if [ ! -e "$TARBALL" ]; then
|
||||
if [ "$METHOD" = "download" ]; then
|
||||
echo "Downloading $DISTRO rootfs tarball ..."
|
||||
wget -O "$TARBALL" "$ROOTFS"
|
||||
elif [ "$METHOD" = "debootstrap" ]; then
|
||||
deboostrap_rootfs "$DISTRO" "$TARBALL"
|
||||
else
|
||||
echo "Unknown rootfs creation method"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Extract with BSD tar
|
||||
echo -n "Extracting ... "
|
||||
set -x
|
||||
$UNTAR "$TARBALL" -C "$DEST"
|
||||
echo "OK"
|
||||
|
||||
# Add qemu emulation.
|
||||
cp /usr/bin/qemu-aarch64-static "$DEST/usr/bin/"
|
||||
|
||||
# Prevent services from starting
|
||||
cat > "$DEST/usr/sbin/policy-rc.d" <<EOF
|
||||
#!/bin/sh
|
||||
exit 101
|
||||
EOF
|
||||
chmod a+x "$DEST/usr/sbin/policy-rc.d"
|
||||
|
||||
do_chroot() {
|
||||
cmd="$@"
|
||||
mount -o bind /tmp "$DEST/tmp"
|
||||
chroot "$DEST" mount -t proc proc /proc
|
||||
chroot "$DEST" mount -t sysfs sys /sys
|
||||
chroot "$DEST" $cmd
|
||||
chroot "$DEST" umount /sys
|
||||
chroot "$DEST" umount /proc
|
||||
umount "$DEST/tmp"
|
||||
}
|
||||
|
||||
add_platform_scripts() {
|
||||
# Install platform scripts
|
||||
mkdir -p "$DEST/usr/local/sbin"
|
||||
cp -av ./platform-scripts/* "$DEST/usr/local/sbin/"
|
||||
chown -R root.root "$DEST/usr/local/sbin"
|
||||
chmod -R 755 "$DEST/usr/local/sbin"
|
||||
}
|
||||
|
||||
add_systemd_services() {
|
||||
# Install and enable all systemd services
|
||||
local services=(./systemd-services/*.service)
|
||||
local servicename
|
||||
for service in "${services[@]}"; do
|
||||
servicename=$(basename $service)
|
||||
cp -av $service "$DEST/etc/systemd/system/"
|
||||
chown -R root.root "$DEST/etc/systemd/system"
|
||||
do_chroot systemctl enable $servicename
|
||||
done
|
||||
}
|
||||
|
||||
add_udev_rules() {
|
||||
# Install extra udev rules.
|
||||
mkdir -p "$DEST/etc/udev/rules.d"
|
||||
cp -av ./configuration-files/udev-rules.d/* "$DEST/etc/udev/rules.d/"
|
||||
chown -R root.root "$DEST/etc/udev/rules.d"
|
||||
}
|
||||
|
||||
add_modprobe_d() {
|
||||
# Install modprobe.d.
|
||||
mkdir -p "$DEST/etc/modprobe.d"
|
||||
cp -av ./configuration-files/modprobe.d/* "$DEST/etc/modprobe.d/"
|
||||
chown -R root.root "$DEST/etc/modprobe.d"
|
||||
}
|
||||
|
||||
add_modules_load_d() {
|
||||
# Install modules-load.d.
|
||||
mkdir -p "$DEST/etc/modules-load.d"
|
||||
cp -av ./configuration-files/modules-load.d/* "$DEST/etc/modules-load.d/"
|
||||
chown -R root.root "$DEST/etc/modules-load.d"
|
||||
}
|
||||
add_prebuilt_packages() {
|
||||
mkdir -p "$DEST/home/prebuilt"
|
||||
cp -av ./prebuilt/* "$DEST/home/prebuilt/"
|
||||
}
|
||||
|
||||
#add_firstboot_d() {
|
||||
# # Install firstboot scripts.
|
||||
# mkdir -p "$DEST/etc/pine64-firstboot.d"
|
||||
# cp -av ./configuration-files/pine64-firstboot.d/* "$DEST/etc/pine64-firstboot.d/"
|
||||
# chown -R root.root "$DEST/etc/pine64-firstboot.d"
|
||||
#}
|
||||
|
||||
add_asound_state() {
|
||||
mkdir -p "$DEST/var/lib/alsa"
|
||||
cp -vf ../blobs/asound.state "$DEST/var/lib/alsa/asound.state"
|
||||
}
|
||||
|
||||
add_debian_apt_sources() {
|
||||
local release="$1"
|
||||
local aptsrcfile="$DEST/etc/apt/sources.list"
|
||||
cat > "$aptsrcfile" <<EOF
|
||||
deb http://httpredir.debian.org/debian ${release} main contrib non-free
|
||||
#deb-src http://httpredir.debian.org/debian ${release} main contrib non-free
|
||||
EOF
|
||||
# No separate security or updates repo for unstable/sid
|
||||
[ "$release" = "sid" ] || cat >> "$aptsrcfile" <<EOF
|
||||
deb http://httpredir.debian.org/debian ${release}-updates main contrib non-free
|
||||
#deb-src http://httpredir.debian.org/debian ${release}-updates main contrib non-free
|
||||
|
||||
deb http://security.debian.org/ ${release}/updates main contrib non-free
|
||||
#deb-src http://security.debian.org/ ${release}/updates main contrib non-free
|
||||
EOF
|
||||
}
|
||||
|
||||
add_ubuntu_apt_sources() {
|
||||
local release="$1"
|
||||
cat > "$DEST/etc/apt/sources.list" <<EOF
|
||||
deb http://ports.ubuntu.com/ ${release} main restricted universe multiverse
|
||||
deb-src http://ports.ubuntu.com/ ${release} main restricted universe multiverse
|
||||
|
||||
deb http://ports.ubuntu.com/ ${release}-updates main restricted universe multiverse
|
||||
deb-src http://ports.ubuntu.com/ ${release}-updates main restricted universe multiverse
|
||||
|
||||
deb http://ports.ubuntu.com/ ${release}-security main restricted universe multiverse
|
||||
deb-src http://ports.ubuntu.com/ ${release}-security main restricted universe multiverse
|
||||
|
||||
#deb http://ports.ubuntu.com/ ${release}-backports main restricted universe multiverse
|
||||
#deb-src http://ports.ubuntu.com/ ${release}-backports main restricted universe multiverse
|
||||
EOF
|
||||
}
|
||||
|
||||
# Run stuff in new system.
|
||||
case $DISTRO in
|
||||
arch)
|
||||
# Cleanup preinstalled Kernel
|
||||
mv "$DEST/etc/resolv.conf" "$DEST/etc/resolv.conf.dist"
|
||||
cp /etc/resolv.conf "$DEST/etc/resolv.conf"
|
||||
sed -i 's|CheckSpace|#CheckSpace|' "$DEST/etc/pacman.conf"
|
||||
do_chroot pacman -Syu --noconfirm || true
|
||||
do_chroot pacman -Rsn --noconfirm linux-aarch64 || true
|
||||
do_chroot pacman -S --noconfirm --needed dosfstools curl xz iw rfkill netctl dialog wpa_supplicant alsa-utils || true
|
||||
add_platform_scripts
|
||||
add_systemd_services
|
||||
add_udev_rules
|
||||
add_modprobe_d
|
||||
add_modules_load_d
|
||||
add_firstboot_d
|
||||
add_asound_state
|
||||
cat > "$DEST/second-phase" <<EOF
|
||||
#!/bin/sh
|
||||
set -ex
|
||||
sed -i 's|^#en_US.UTF-8|en_US.UTF-8|' /etc/locale.gen
|
||||
locale-gen
|
||||
localectl set-locale LANG=en_US.utf8
|
||||
localectl set-keymap us
|
||||
yes | pacman -Scc
|
||||
EOF
|
||||
chmod +x "$DEST/second-phase"
|
||||
do_chroot /second-phase
|
||||
sed -i 's|#CheckSpace|CheckSpace|' "$DEST/etc/pacman.conf"
|
||||
rm -f "$DEST/etc/resolv.conf"
|
||||
mv "$DEST/etc/resolv.conf.dist" "$DEST/etc/resolv.conf"
|
||||
;;
|
||||
xenial|sid|jessie)
|
||||
rm "$DEST/etc/resolv.conf"
|
||||
cp /etc/resolv.conf "$DEST/etc/resolv.conf"
|
||||
if [ "$DISTRO" = "xenial" ]; then
|
||||
DEB=ubuntu
|
||||
DEBUSER=olimex
|
||||
DEBUSERPW=olimex
|
||||
ADDPPACMD="apt-get -y update && \
|
||||
apt-get install -y software-properties-common && \
|
||||
apt-add-repository -y ppa:longsleep/ubuntu-pine64-flavour-makers \
|
||||
"
|
||||
EXTRADEBS="\
|
||||
zram-config \
|
||||
ubuntu-minimal \
|
||||
sunxi-disp-tool \
|
||||
network-manager \
|
||||
wireless-tools \
|
||||
"
|
||||
elif [ "$DISTRO" = "sid" -o "$DISTRO" = "jessie" ]; then
|
||||
DEB=debian
|
||||
DEBUSER=debian
|
||||
DEBUSERPW=debian
|
||||
ADDPPACMD=""
|
||||
EXTRADEBS="sudo"
|
||||
else
|
||||
echo "Unknown DISTRO=$DISTRO"
|
||||
exit 2
|
||||
fi
|
||||
add_${DEB}_apt_sources $DISTRO
|
||||
add_prebuilt_packages
|
||||
cat > "$DEST/second-phase" <<EOF
|
||||
#!/bin/sh
|
||||
set -ex
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
locale-gen en_US.UTF-8
|
||||
$ADDPPACMD
|
||||
apt-get -y update
|
||||
apt-get -y install dosfstools curl xz-utils iw rfkill wpasupplicant openssh-server alsa-utils $EXTRADEBS
|
||||
apt-get -y remove --purge ureadahead
|
||||
apt-get -y update
|
||||
adduser --gecos $DEBUSER --disabled-login $DEBUSER --uid 1000
|
||||
chown -R 1000:1000 /home/$DEBUSER
|
||||
dpkg -i /home/prebuilt/*
|
||||
echo "$DEBUSER:$DEBUSERPW" | chpasswd
|
||||
usermod -a -G sudo,adm,input,video,plugdev $DEBUSER
|
||||
apt-get -y autoremove
|
||||
apt-get clean
|
||||
EOF
|
||||
chmod +x "$DEST/second-phase"
|
||||
do_chroot /second-phase
|
||||
cat > "$DEST/etc/network/interfaces.d/eth0" <<EOF
|
||||
auto eth0
|
||||
iface eth0 inet dhcp
|
||||
EOF
|
||||
cat > "$DEST/etc/hostname" <<EOF
|
||||
teres
|
||||
EOF
|
||||
cat > "$DEST/etc/hosts" <<EOF
|
||||
127.0.0.1 localhost
|
||||
127.0.1.1 teres
|
||||
|
||||
# The following lines are desirable for IPv6 capable hosts
|
||||
::1 localhost ip6-localhost ip6-loopback
|
||||
fe00::0 ip6-localnet
|
||||
ff00::0 ip6-mcastprefix
|
||||
ff02::1 ip6-allnodes
|
||||
ff02::2 ip6-allrouters
|
||||
EOF
|
||||
add_platform_scripts
|
||||
add_systemd_services
|
||||
add_udev_rules
|
||||
add_modprobe_d
|
||||
add_modules_load_d
|
||||
#add_firstboot_d
|
||||
add_asound_state
|
||||
sed -i 's|After=rc.local.service|#\0|;' "$DEST/lib/systemd/system/serial-getty@.service"
|
||||
rm -f "$DEST/second-phase"
|
||||
rm -f "$DEST/etc/resolv.conf"
|
||||
rm -f "$DEST"/etc/ssh/ssh_host_*
|
||||
do_chroot ln -s /run/resolvconf/resolv.conf /etc/resolv.conf
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
# Bring back folders
|
||||
mkdir -p "$DEST/lib"
|
||||
mkdir -p "$DEST/usr"
|
||||
|
||||
# Create fstab
|
||||
cp -a ./configuration-files/fstab "$DEST/etc/fstab"
|
||||
chown root.root "$DEST/etc/fstab"
|
||||
|
||||
# Direct Kernel install
|
||||
#if [ -n "$LINUX" -a "$LINUX" != "-" -a -d "$LINUX" ]; then
|
||||
# # NOTE(longsleep): Passing Kernel as folder is deprecated. Pass a tarball!
|
||||
#
|
||||
# mkdir "$DEST/lib/modules"
|
||||
# # Install Kernel modules
|
||||
# make -C $LINUX ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- modules_install INSTALL_MOD_PATH="$DEST"
|
||||
# # Install Kernel firmware
|
||||
# make -C $LINUX ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- firmware_install INSTALL_MOD_PATH="$DEST"
|
||||
# # Install Kernel headers
|
||||
# make -C $LINUX ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- headers_install INSTALL_HDR_PATH="$DEST/usr"
|
||||
#
|
||||
# # Install extra mali module if found in Kernel tree.
|
||||
# if [ -e $LINUX/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali/mali.ko ]; then
|
||||
# v=$(ls $DEST/lib/modules/)
|
||||
# mkdir "$DEST/lib/modules/$v/kernel/extramodules"
|
||||
# cp -v $LINUX/modules/gpu/mali400/kernel_mode/driver/src/devicedrv/mali/mali.ko $DEST/lib/modules/$v/kernel/extramodules
|
||||
# depmod -b $DEST $v
|
||||
# fi
|
||||
echo "-----------------------------------------------------------------------------------------------------------------------------------"
|
||||
if [ -n "$LINUX" -a "$LINUX" != "-" ]; then
|
||||
# Install Kernel modules from tarball
|
||||
mkdir $TEMP/kernel
|
||||
tar -C $TEMP/kernel --numeric-owner -xJf "$LINUX"
|
||||
if [ -n "$BOOT" -a -e "$BOOT/uEnv.txt" ]; then
|
||||
# Install Kernel and uEnv.txt too.
|
||||
echo "Installing Kernel to boot $BOOT ..."
|
||||
rm -rf "$BOOT/a64"
|
||||
rm -f "$BOOT/uEnv.txt"
|
||||
cp -RLp $TEMP/kernel/boot/* "$BOOT/"
|
||||
mv "$BOOT/uEnv.txt.in" "$BOOT/uEnv.txt"
|
||||
fi
|
||||
cp -RLp $TEMP/kernel/lib/* "$DEST/lib/" 2>/dev/null || true
|
||||
cp -RLp $TEMP/kernel/usr/* "$DEST/usr/"
|
||||
|
||||
VERSION=""
|
||||
if [ -e "$TEMP/kernel/boot/Image.version" ]; then
|
||||
VERSION=$(cat $TEMP/kernel/boot/Image.version)
|
||||
fi
|
||||
|
||||
if [ -n "$VERSION" ]; then
|
||||
# Create symlink to headers if not there.
|
||||
if [ ! -e "$DEST/lib/modules/$VERSION/build" ]; then
|
||||
ln -s /usr/src/linux-headers-$VERSION "$DEST/lib/modules/$VERSION/build"
|
||||
fi
|
||||
|
||||
depmod -b $DEST $VERSION
|
||||
fi
|
||||
|
||||
# Set Kernel and U-boot update version to current.
|
||||
#do_chroot /usr/bin/env MARK_ONLY=1 /usr/local/sbin/pine64_update_kernel.sh
|
||||
#do_chroot /usr/bin/env MARK_ONLY=1 /usr/local/sbin/pine64_update_uboot.sh
|
||||
fi
|
||||
|
||||
# Clean up
|
||||
rm -f "$DEST/usr/bin/qemu-aarch64-static"
|
||||
rm -f "$DEST/usr/sbin/policy-rc.d"
|
||||
rm -f "$DEST/var/lib/dbus/machine-id"
|
||||
|
||||
echo "Done - installed rootfs to $DEST"
|
133
SOFTWARE/A64-TERES/scripts/make_simpleimage.sh
Executable file
@ -0,0 +1,133 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Simple script to create a disk image which boots to U-Boot on Pine64.
|
||||
#
|
||||
# This script uses boot0 binary blob (as extracted from the Pine64 Android
|
||||
# image) together with a correctly prefixed U-Boot and A DOS partition table
|
||||
# to create a bootable SDcard image for the Pine64. If a Kernel and DTB is
|
||||
# found in ../kernel, it is added as well.
|
||||
#
|
||||
# U-Boot tree:
|
||||
# - https://github.com/longsleep/u-boot-pine64/tree/pine64-hacks
|
||||
#
|
||||
# Build the U-Boot tree and assemble it with ATF, SCP and FEX and put the
|
||||
# resulting u-boot-with-dtb.bin file into the ../build directory. The
|
||||
# u-boot-postprocess script provides an easy way to do all that.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
out="$1"
|
||||
disk_size="$2"
|
||||
kernel_tarball="$3"
|
||||
model="$4"
|
||||
BOOTLOGO="../blobs/bootlogo.bmp"
|
||||
BATTERY="../blobs/bat"
|
||||
BOOTLOGO_TARGET="bootlogo.bmp"
|
||||
BATTERY_TARGET="bat"
|
||||
|
||||
if [ -z "$out" ]; then
|
||||
echo "Usage: $0 <image-file.img> [disk size in MiB] [<kernel-tarball>] [teres]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$(id -u)" -ne "0" ]; then
|
||||
echo "This script requires root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$disk_size" ]; then
|
||||
disk_size=100 #MiB
|
||||
fi
|
||||
|
||||
if [ "$disk_size" -lt 60 ]; then
|
||||
echo "Disk size must be at least 60 MiB"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
#if [ -z "$model" = "" ]; then
|
||||
model="teres"
|
||||
#fi
|
||||
|
||||
echo "Creating $model image $out of size $disk_size MiB ..."
|
||||
|
||||
suffix=""
|
||||
if [ -n "$model" ]; then
|
||||
suffix="-$model"
|
||||
fi
|
||||
#u-boot-sun50iw1p1-secure-with-teres-dtb.bin
|
||||
boot0="../build/boot0_teres.bin"
|
||||
uboot="../build/u-boot-sun50iw1p1-secure-with-teres-dtb.bin"
|
||||
kernel="../build"
|
||||
|
||||
temp=$(mktemp -d)
|
||||
|
||||
cleanup() {
|
||||
if [ -d "$temp" ]; then
|
||||
rm -rf "$temp"
|
||||
fi
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
if [ -n "$kernel_tarball" -a "$kernel_tarball" != "-" ]; then
|
||||
echo "Using Kernel from $kernel_tarball ..."
|
||||
tar -C $temp -xJf "$kernel_tarball"
|
||||
kernel=$temp/boot
|
||||
mv $temp/boot/uEnv.txt.in $temp/boot/uEnv.txt
|
||||
fi
|
||||
|
||||
boot0_position=8 # KiB
|
||||
uboot_position=19096 # KiB
|
||||
part_position=20480 # KiB
|
||||
boot_size=50 # MiB
|
||||
|
||||
# Create beginning of disk
|
||||
dd if=/dev/zero bs=1M count=$((part_position/1024)) of="$out"
|
||||
dd if="$boot0" conv=notrunc bs=1k seek=$boot0_position of="$out"
|
||||
dd if="$uboot" conv=notrunc bs=1k seek=$uboot_position of="$out"
|
||||
|
||||
# Create boot file system (VFAT)
|
||||
dd if=/dev/zero bs=1M count=${boot_size} of=${out}1
|
||||
mkfs.vfat -n BOOT ${out}1
|
||||
|
||||
# Add boot support if there
|
||||
if [ -e "${kernel}/a64/Image" -a -e "${kernel}/a64/a64-olinuxino.dtb" ]; then
|
||||
mcopy -sm -i ${out}1 ${kernel}/a64 ::
|
||||
mcopy -m -i ${out}1 ${kernel}/initrd.img :: || true
|
||||
mcopy -m -i ${out}1 ${kernel}/uEnv.txt :: || true
|
||||
mcopy -m -i ${out}1 ${BOOTLOGO} :: || true
|
||||
mcopy -sm -i ${out}1 ${BATTERY} ::
|
||||
fi
|
||||
dd if=${out}1 conv=notrunc oflag=append bs=1M seek=$((part_position/1024)) of="$out"
|
||||
rm -f ${out}1
|
||||
|
||||
# Create additional ext4 file system for rootfs
|
||||
dd if=/dev/zero bs=1M count=$((disk_size-boot_size-part_position/1024)) of=${out}2
|
||||
mkfs.ext4 -F -b 4096 -E stride=2,stripe-width=1024 -L rootfs ${out}2
|
||||
dd if=${out}2 conv=notrunc oflag=append bs=1M seek=$((part_position/1024+boot_size)) of="$out"
|
||||
rm -f ${out}2
|
||||
|
||||
# Add partition table
|
||||
cat <<EOF | fdisk "$out"
|
||||
o
|
||||
n
|
||||
p
|
||||
1
|
||||
$((part_position*2))
|
||||
+${boot_size}M
|
||||
t
|
||||
c
|
||||
n
|
||||
p
|
||||
2
|
||||
$((part_position*2 + boot_size*1024*2))
|
||||
|
||||
t
|
||||
2
|
||||
83
|
||||
w
|
||||
EOF
|
||||
|
||||
sync
|
||||
|
||||
echo "Done - image created: $out"
|
48
SOFTWARE/A64-TERES/scripts/pack_uboot.sh
Executable file
@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Simple script to create a U-Boot with all the additional parts which are
|
||||
# required to be accepted by th A64 boot0.
|
||||
#
|
||||
# This script requires build variants and tools from several other sources.
|
||||
# See the variable definitions below. When all files can be found, a U-Boot
|
||||
# file is created which can be loaded by A64 boot0 just fine.
|
||||
#Useed parts from : https://github.com/longsleep/build-pine64-image/blob/master/u-boot-postprocess/u-boot-postprocess.sh
|
||||
|
||||
set -e
|
||||
|
||||
# Blobs as provided in the BSP
|
||||
BLOBS="../blobs"
|
||||
# https://github.com/longsleep/u-boot-pine64/tree/pine64-hacks
|
||||
UBOOT="../u-boot"
|
||||
# https://github.com/longsleep/arm-trusted-firmware-pine64
|
||||
TRUSTED_FIRMWARE="../arm-trusted-firmware-a64"
|
||||
TRUSTED_FIRMWARE_BUILD="release"
|
||||
# https://github.com/longsleep/sunxi-pack-tools
|
||||
SUNXI_PACK_TOOLS="../sunxi-pack-tools/bin"
|
||||
|
||||
BUILD="../build"
|
||||
mkdir -p $BUILD
|
||||
|
||||
cp -avf $TRUSTED_FIRMWARE/build/sun50iw1p1/$TRUSTED_FIRMWARE_BUILD/bl31.bin $BUILD
|
||||
cp -avf $UBOOT/u-boot-sun50iw1p1.bin $BUILD/u-boot.bin
|
||||
cp -avf $BLOBS/scp.bin $BUILD
|
||||
cp -avf $BLOBS/sys_config.fex $BUILD
|
||||
|
||||
# build binary device tree
|
||||
dtc -Odtb -o $BUILD/a64-teres_uboot.dtb $BLOBS/a64-teres_uboot.dts
|
||||
|
||||
unix2dos $BUILD/sys_config.fex
|
||||
$SUNXI_PACK_TOOLS/script $BUILD/sys_config.fex
|
||||
|
||||
# merge_uboot.exe u-boot.bin infile outfile mode[secmonitor|secos|scp]
|
||||
$SUNXI_PACK_TOOLS/merge_uboot $BUILD/u-boot.bin $BUILD/bl31.bin $BUILD/u-boot-merged.bin secmonitor
|
||||
$SUNXI_PACK_TOOLS/merge_uboot $BUILD/u-boot-merged.bin $BUILD/scp.bin $BUILD/u-boot-merged2.bin scp
|
||||
|
||||
# update_fdt.exe u-boot.bin xxx.dtb output_file.bin
|
||||
$SUNXI_PACK_TOOLS/update_uboot_fdt $BUILD/u-boot-merged2.bin $BUILD/a64-teres_uboot.dtb $BUILD/u-boot-with-dtb.bin
|
||||
|
||||
# Add fex file to u-boot so it actually is accepted by boot0.
|
||||
$SUNXI_PACK_TOOLS/update_uboot $BUILD/u-boot-with-dtb.bin $BUILD/sys_config.bin
|
||||
|
||||
echo "Done - created $BUILD/u-boot-with-dtb.bin"
|
||||
|
142
SOFTWARE/A64-TERES/scripts/platform-scripts/a64_health.sh
Executable file
@ -0,0 +1,142 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# Simple script to print some health data for Pine64. Some details were
|
||||
# shamelessly stolen from http://pastebin.com/bSTYCQ5u. Thanks tkaiser.
|
||||
#
|
||||
# Run this script like `sudo watch -n2 pine64_health.sh` for a 2 sec update
|
||||
# or call `sudo pine64_health.sh -w` to get updates every 0.5 seconds (default).
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$(id -u)" -ne "0" ]; then
|
||||
echo "This script requires root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
GPU_ADDR="1c40000.gpu"
|
||||
|
||||
print() {
|
||||
printf "%-15s: %s %s\n" "$1" "$2 $3" "$4"
|
||||
}
|
||||
|
||||
cpu_frequency() {
|
||||
local cur=$(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq)
|
||||
local mhz=$(awk "BEGIN {printf \"%.2f\",$cur/1000}")
|
||||
print "CPU freq" $mhz "MHz"
|
||||
}
|
||||
|
||||
scaling_govenor() {
|
||||
local gov=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)
|
||||
print "Governor" $gov
|
||||
}
|
||||
|
||||
cpu_count() {
|
||||
local cpus=$(grep -c processor /proc/cpuinfo)
|
||||
print "CPU count" $cpus
|
||||
}
|
||||
|
||||
vcore_voltage() {
|
||||
local uv=$(cat /sys/devices/platform/axp81x_board/axp-regulator.41/regulator/regulator.2/microvolts)
|
||||
local v=$(awk "BEGIN {printf \"%.2f\",$uv/1000000}")
|
||||
print "Core voltage" $v "V"
|
||||
}
|
||||
|
||||
soc_temp() {
|
||||
local temp=$(cat /sys/devices/virtual/thermal/thermal_zone0/temp)
|
||||
print "SOC Temp" $temp "C"
|
||||
}
|
||||
|
||||
pmic_temp() {
|
||||
local pmictemp=$(cat /sys/class/axppower/ic_temp 2>/dev/null)
|
||||
if [ "X$pmictemp" != "X" ]; then
|
||||
print "PMIC Temp" $pmictemp "C"
|
||||
fi
|
||||
}
|
||||
|
||||
bat_capacity() {
|
||||
local bat_capacity=$(cat /sys/class/power_supply/battery/capacity 2>/dev/null)
|
||||
if [ "X$bat_capacity" != "X" ]; then
|
||||
print "Battery" $bat_capacity '%'
|
||||
fi
|
||||
}
|
||||
|
||||
cooling_state() {
|
||||
local state=$(cat /sys/devices/virtual/thermal/cooling_device0/cur_state)
|
||||
print "Cooling state" $state
|
||||
}
|
||||
|
||||
cooling_limit() {
|
||||
local budget=$(ls -1 -d /sys/devices/soc.0/cpu_budget_cool.* |head -n1)
|
||||
local limit=$(cat $budget/roomage)
|
||||
print "Cooling limit" $limit
|
||||
}
|
||||
|
||||
gpu_frequency() {
|
||||
if [ ! -e /sys/devices/$GPU_ADDR/dvfs/manual ]; then
|
||||
return
|
||||
fi
|
||||
local cur=$(cat /sys/devices/$GPU_ADDR/dvfs/manual|awk '{print $1}')
|
||||
local mhz=$(awk "BEGIN {printf \"%.2f\",$cur}")
|
||||
print "GPU freq" $mhz MHz
|
||||
}
|
||||
|
||||
gpu_temp() {
|
||||
if [ ! -e /sys/devices/$GPU_ADDR/dvfs/tempctrl ]; then
|
||||
return
|
||||
fi
|
||||
local temp=$(cat /sys/devices/$GPU_ADDR/dvfs/tempctrl|awk '{print $6}')
|
||||
print "GPU Temp" $temp "C"
|
||||
}
|
||||
|
||||
gpu_voltage() {
|
||||
if [ ! -e /sys/devices/$GPU_ADDR/dvfs/voltage ]; then
|
||||
return
|
||||
fi
|
||||
local mv=$(cat /sys/devices/$GPU_ADDR/dvfs/voltage|awk '{print $1}')
|
||||
local v=$(awk "BEGIN {printf \"%.2f\",$mv/1000}")
|
||||
print "GPU voltage" $v "V"
|
||||
}
|
||||
|
||||
all() {
|
||||
cpu_frequency
|
||||
gpu_frequency
|
||||
cpu_count
|
||||
scaling_govenor
|
||||
vcore_voltage
|
||||
gpu_voltage
|
||||
soc_temp
|
||||
gpu_temp
|
||||
pmic_temp
|
||||
cooling_state
|
||||
cooling_limit
|
||||
bat_capacity
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "Usage: $0 [-w] [-h]"
|
||||
}
|
||||
|
||||
WATCH=""
|
||||
for i in "$@"; do
|
||||
case $i in
|
||||
-w)
|
||||
WATCH=1
|
||||
shift
|
||||
;;
|
||||
-h|--help)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -n "$WATCH" ]; then
|
||||
exec watch -n0.5 "$0"
|
||||
else
|
||||
all
|
||||
fi
|
19
SOFTWARE/A64-TERES/scripts/platform-scripts/debug_switch.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
UENV_PATH="/boot/uEnv.txt"
|
||||
set -e
|
||||
|
||||
if [ "$(id -u)" -ne "0" ]; then
|
||||
echo "This script requires root."
|
||||
exit 1
|
||||
fi
|
||||
case $1 in
|
||||
|
||||
on) sed -i.bak '/debug=/c\debug=on' $UENV_PATH
|
||||
echo "Debug on headphone port enabled. Please reboot !"
|
||||
;;
|
||||
off) sed -i.bak '/debug=/c\debug=off' $UENV_PATH
|
||||
echo "Debug on headphone port disabled. Please reboot !"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown option! Usage: ./debug_swirch on|off "
|
||||
esac
|
156
SOFTWARE/A64-TERES/scripts/platform-scripts/install_desktop.sh
Executable file
@ -0,0 +1,156 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
DESKTOP="$1"
|
||||
|
||||
if [ -z "$DESKTOP" ]; then
|
||||
echo "Usage: $0 <mate|i3>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DISTRO=""
|
||||
if hash apt-get 2>/dev/null; then
|
||||
DISTRO=debian
|
||||
fi
|
||||
|
||||
if [ -z "$DISTRO" ]; then
|
||||
echo "This script requires a Debian based Linux distribution."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$(id -u)" -ne "0" ]; then
|
||||
echo "This script requires root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Default packages.
|
||||
PACKAGES=(
|
||||
xserver-xorg-video-fbturbo
|
||||
libvdpau-sunxi1
|
||||
vdpauinfo
|
||||
)
|
||||
|
||||
# Add packages based on desktop selection.
|
||||
case $DESKTOP in
|
||||
mate)
|
||||
PACKAGES+=(
|
||||
ubuntu-mate-core
|
||||
ubuntu-mate-desktop
|
||||
ubuntu-mate-lightdm-theme
|
||||
ubuntu-mate-wallpapers-xenial
|
||||
smplayer
|
||||
mplayer
|
||||
lightdm
|
||||
)
|
||||
;;
|
||||
|
||||
i3|i3wm)
|
||||
PACKAGES+=(
|
||||
xserver-xorg-input-all
|
||||
xfonts-base
|
||||
slim
|
||||
rxvt-unicode-lite
|
||||
i3
|
||||
i3status
|
||||
i3lock
|
||||
suckless-tools
|
||||
network-manager
|
||||
pulseaudio
|
||||
)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Error: unsupported desktop environment $DESKTOP"
|
||||
exit 2
|
||||
;;
|
||||
esac
|
||||
|
||||
# Install.
|
||||
apt -y update
|
||||
apt -y --no-install-recommends install ${PACKAGES[@]}
|
||||
|
||||
# Configuration.
|
||||
|
||||
mkdir -p /etc/X11/xorg.conf.d
|
||||
|
||||
# Make X11 use fbturbo driver.
|
||||
cat > "/etc/X11/xorg.conf.d/40-pine64-fbturbo.conf" <<EOF
|
||||
Section "Device"
|
||||
Identifier "Allwinner A10/A13 FBDEV"
|
||||
Driver "fbturbo"
|
||||
Option "fbdev" "/dev/fb0"
|
||||
|
||||
Option "SwapbuffersWait" "true"
|
||||
EndSection
|
||||
EOF
|
||||
|
||||
# Add configuration for Pinebook touchpad so it is usable.
|
||||
#cat > "/etc/X11/xorg.conf.d/50-pine64-pinebook-touchpad.conf" <<EOF
|
||||
#Section "InputClass"
|
||||
# Identifier "HAILUCK CO.,LTD USB KEYBOARD"
|
||||
# MatchIsPointer "1"
|
||||
# MatchDevicePath "/dev/input/event*"
|
||||
#
|
||||
# Option "AccelerationProfile" "2"
|
||||
# Option "AdaptiveDeceleration" "1"
|
||||
# Option "ConstantDeceleration" "2.4" # Pinebook 14"
|
||||
#Option "ConstantDeceleration" "1.2" # Pinebook 11"
|
||||
#EndSection
|
||||
#EOF
|
||||
|
||||
# Kill parport module loading, not available on arm64.
|
||||
if [ -e "/etc/modules-load.d/cups-filters.conf" ]; then
|
||||
echo "" >/etc/modules-load.d/cups-filters.conf
|
||||
fi
|
||||
|
||||
# Disable Pulseaudio timer scheduling which does not work with sndhdmi driver.
|
||||
if [ -e "/etc/pulse/default.pa" ]; then
|
||||
sed -i 's/load-module module-udev-detect$/& tsched=0/g' /etc/pulse/default.pa
|
||||
fi
|
||||
|
||||
# Enable VDPAU_SUNXI globally.
|
||||
if [ ! -e "/etc/X11/Xsession.d/30pine64-vdpau-sunxi" ]; then
|
||||
cat > "/etc/X11/Xsession.d/30pine64-vdpau-sunxi" <<EOF
|
||||
export VDPAU_DRIVER=sunxi
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Create directory if not present
|
||||
[ -d /etc/chromium-browser ] || mkdir /etc/chromium-browser
|
||||
|
||||
# Set some default parameters for chromium.
|
||||
if [ ! -e "/etc/chromium-browser/default" ]; then
|
||||
cat > "/etc/chromium-browser/default" <<EOF
|
||||
# Default settings for chromium-browser. This file is sourced by /bin/sh from
|
||||
# /usr/bin/chromium-browser
|
||||
|
||||
# Options to pass to chromium-browser
|
||||
CHROMIUM_FLAGS="\
|
||||
--disable-smooth-scrolling \
|
||||
--disable-low-res-tiling \
|
||||
--enable-low-end-device-mode \
|
||||
--num-raster-threads=4 \
|
||||
--profiler-timing=0 \
|
||||
--disable-composited-antialiasing \
|
||||
"
|
||||
EOF
|
||||
fi
|
||||
|
||||
# Desktop dependent post installation.
|
||||
#case $DESKTOP in
|
||||
# i3|i3wm)
|
||||
# if [ ! -d /usr/share/slim/themes/pine64 ]; then
|
||||
# cp -ra /usr/share/slim/themes/default /usr/share/slim/themes/pine64
|
||||
# wget -O /usr/share/slim/themes/pine64/background.png \
|
||||
# https://github.com/longsleep/build-pine64-image/raw/master/bootlogo/bootlogo-pine64-1366x768.png
|
||||
# sed -i "s/^current_theme(.*)/current_theme pine64/g" /etc/slim.conf
|
||||
# fi
|
||||
# ;;
|
||||
#
|
||||
# *)
|
||||
# ;;
|
||||
#esac
|
||||
|
||||
echo
|
||||
echo "Done - $DESKTOP installed - you should reboot now."
|
126
SOFTWARE/A64-TERES/scripts/platform-scripts/install_emmc.sh
Executable file
@ -0,0 +1,126 @@
|
||||
#!/bin/bash
|
||||
# Init
|
||||
FILE="/tmp/out.$$"
|
||||
GREP="/bin/grep"
|
||||
#....
|
||||
# Make sure only root can run our script
|
||||
|
||||
|
||||
if [ "$(id -u)" -ne "0" ]; then
|
||||
echo "This script requires root."
|
||||
exit 1
|
||||
fi
|
||||
#get boot device
|
||||
BOOT_PARTITION=`df -P / | tail -n 1 | awk '/.*/ { print substr($1,0,12); }'`
|
||||
EMMC_DEVICE="/dev/"`cat /proc/partitions | awk '{if ($4 ~ "boot") print substr($4,0,7); }' | head -1`
|
||||
BLOBS_LOCATION="/blobs"
|
||||
boot0_position=8 # KiB
|
||||
uboot_position=19096 # KiB
|
||||
part_position=20480 # KiB
|
||||
boot_size=50 # MiB
|
||||
dir="/usr/local/sbin"
|
||||
tmp_dir="/tmp"
|
||||
boot0=${dir}/"blobs/boot0_teres.bin"
|
||||
uboot=${dir}/"blobs/u-boot_emmc.bin"
|
||||
EMMC_DIALOG_OPTION=$EMMC_DEVICE"(eMMC)"
|
||||
if [ "$BOOT_DEVICE" == "/dev/mmcblk0" ]; then
|
||||
echo "You should boot from SD card"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function repartition_emmc {
|
||||
exec 3>&1;
|
||||
|
||||
ans=$(dialog --backtitle "Device" \
|
||||
--radiolist "Select device:" 10 80 4 \
|
||||
$EMMC_DEVICE $EMMC_DIALOG_OPTION on \
|
||||
$BOOT_PARTITION $BOOT_PARTITION off \
|
||||
2>&1 1>&3 )
|
||||
exec 3>&-;
|
||||
|
||||
echo $ans
|
||||
|
||||
exitstatus=$?
|
||||
|
||||
if [ $exitstatus = 1 ] || [ $exitstatus = 255 ] ; then
|
||||
echo "Exit"
|
||||
exit;
|
||||
fi
|
||||
|
||||
umount ${ans}* 2>&1
|
||||
|
||||
dd if=/dev/zero bs=1M count=$((part_position/1024)) of="$ans"
|
||||
echo "Extract u-boot and boot0 drom boot partition"
|
||||
dd if=$BOOT_PARTITION of=${tmp_dir}/boot0.bin bs=8k skip=1 count=4
|
||||
dd if=$BOOT_PARTITION of=${tmp_dir}/u-boot.bin bs=8k skip=2387 count=120
|
||||
dd if=${tmp_dir}/boot0.bin conv=notrunc bs=1k seek=$boot0_position of="$ans"
|
||||
dd if=${tmp_dir}/u-boot.bin conv=notrunc bs=1k seek=$uboot_position of="$ans"
|
||||
rm ${tmp_dir}/boot0.bin ${tmp_dir}/u-boot.bin
|
||||
cat <<EOF | fdisk "$ans"
|
||||
o
|
||||
n
|
||||
p
|
||||
1
|
||||
40960
|
||||
+50M
|
||||
t
|
||||
c
|
||||
n
|
||||
p
|
||||
2
|
||||
143360
|
||||
|
||||
t
|
||||
2
|
||||
83
|
||||
w
|
||||
EOF
|
||||
mkfs.vfat -n BOOT ${ans}p1 2>&1
|
||||
mkfs.ext4 -q -F -b 4096 -E stride=2,stripe-width=1024 -L rootfs ${ans}p2 2>&1
|
||||
sync
|
||||
}
|
||||
|
||||
function copy_files() {
|
||||
umount ${ans}*
|
||||
mount ${ans}p1 /mnt
|
||||
rsync -aAXv --info=progress2 --no-relative /boot/* /mnt
|
||||
umount /mnt/
|
||||
mount ${ans}p2 /mnt
|
||||
rsync -aAXv --info=progress2 --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt \
|
||||
|
||||
cat > /mnt/etc/fstab <<EOF
|
||||
# <file system> <dir> <type> <options> <dump> <pass>
|
||||
/dev/mmcblk0p1 /boot vfat defaults 0 2
|
||||
/dev/mmcblk0p2 / ext4 defaults,noatime 0 1
|
||||
EOF
|
||||
|
||||
sync
|
||||
|
||||
}
|
||||
|
||||
dialog --title "Confirmation" \
|
||||
--backtitle "eMMC Installer" \
|
||||
--yesno "This script will reformat yuor internal eMMC Device. Are you sure ?" 7 60
|
||||
|
||||
response=$?
|
||||
|
||||
|
||||
case "$response" in
|
||||
|
||||
0) repartition_emmc
|
||||
copy_files
|
||||
;;
|
||||
1) echo "Exit"
|
||||
exit
|
||||
;;
|
||||
255) echo "Esc detected"
|
||||
exit
|
||||
;;
|
||||
*) echo "exit"
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
|
||||
|
||||
# ...
|
27
SOFTWARE/A64-TERES/scripts/platform-scripts/mplayer-play.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ ! -w /dev/cedar_dev ]; then
|
||||
# chmod 666 /dev/cedar_dev
|
||||
echo "Error: /dev/cedar_dev missing or no access"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -w /dev/ion ]; then
|
||||
# chmod 666 /dev/ion
|
||||
echo "Error: /dev/ion missing or no access"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -w /dev/disp ]; then
|
||||
# chmod 666 /dev/disp
|
||||
echo "Error: /dev/disp missing or no access"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "VDPAU_DRIVER" ]; then
|
||||
export VDPAU_DRIVER=sunxi
|
||||
fi
|
||||
|
||||
exec mplayer -vo vdpau -vc ffmpeg12vdpau,ffh264vdpau,ffhevcvdpau, "$@"
|
39
SOFTWARE/A64-TERES/scripts/platform-scripts/resize_rootfs.sh
Executable file
@ -0,0 +1,39 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$(id -u)" -ne "0" ]; then
|
||||
echo "This script requires root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -x
|
||||
|
||||
DEVICE="/dev/mmcblk0"
|
||||
PART="2"
|
||||
|
||||
resize() {
|
||||
start=$(fdisk -l ${DEVICE}|grep ${DEVICE}p${PART}|awk '{print $2}')
|
||||
echo $start
|
||||
|
||||
set +e
|
||||
fdisk ${DEVICE} <<EOF
|
||||
p
|
||||
d
|
||||
2
|
||||
n
|
||||
p
|
||||
2
|
||||
$start
|
||||
|
||||
w
|
||||
EOF
|
||||
set -e
|
||||
|
||||
partx -u ${DEVICE}
|
||||
resize2fs ${DEVICE}p${PART}
|
||||
}
|
||||
|
||||
resize
|
||||
|
||||
echo "Done!"
|
126
SOFTWARE/A64-TERES/scripts/readme.md
Normal file
@ -0,0 +1,126 @@
|
||||
# A64-OLinuXino Build Instructions
|
||||
|
||||
## Linux
|
||||
|
||||
### 1. Getting source code and helper scripts
|
||||
|
||||
```bash
|
||||
mkdir a64-olinuxino
|
||||
cd a64-olinuxino
|
||||
git clone https://github.com/A64-TERES/linux-a64
|
||||
git clone https://github.com/A64-TERES/u-boot_new
|
||||
git clone https://github.com/hehopmajieh/arm-trusted-firmware-a64
|
||||
git clone https://github.com/A64-TERES/blobs
|
||||
git clone https://github.com/A64-TERES/sunxi-pack-tools sunxi-pack-tools -b pinebook
|
||||
git clone https://github.com/A64-TERES/scripts
|
||||
```
|
||||
### 2. Setup toolchain
|
||||
```bash
|
||||
sudo apt install gcc-aarch64-linux-gnu
|
||||
sudo apt install gcc-4.7-arm-linux-gnueabihf
|
||||
sudo apt install kpartx bsdtar mtools
|
||||
```
|
||||
|
||||
### 3. Cross-compile sources
|
||||
|
||||
#### Linux
|
||||
```bash
|
||||
cd linux-a64
|
||||
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- olimex_teres1_defconfig
|
||||
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- LOCALVERSION= clean
|
||||
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4 LOCALVERSION= Image
|
||||
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4 LOCALVERSION= modules
|
||||
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4 LOCALVERSION= modules_install INSTALL_MOD_PATH=out INSTALL_MOD_STRIP=1
|
||||
```
|
||||
#### ATF
|
||||
```bash
|
||||
cd ../arm-trusted-firmware-a64/
|
||||
make clean
|
||||
make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- PLAT=sun50iw1p1 bl31
|
||||
```
|
||||
#### Allwinner Pack Tools
|
||||
```bash
|
||||
cd ../
|
||||
make -C sunxi-pack-tools
|
||||
```
|
||||
#### U-Boot
|
||||
```bash
|
||||
cd scripts/
|
||||
./build_uboot.sh #A64-Teres
|
||||
```
|
||||
or
|
||||
```bash
|
||||
./build_uboot_a64.sh #A64-OLinuXino
|
||||
```
|
||||
### 4. Helper Scripts
|
||||
## Ramdisk
|
||||
|
||||
Either make one with the steps below or download one from some other place.
|
||||
Make sure the initrd is for aarch64.
|
||||
|
||||
### Get Busybox tree
|
||||
|
||||
```bash
|
||||
cd ../
|
||||
git clone --depth 1 --branch 1_24_stable --single-branch git://git.busybox.net/busybox busybox
|
||||
```
|
||||
|
||||
### Configure and build Busybox
|
||||
|
||||
Build a static busybox for aarch64. Start by copying the `blobs/a64_config_busybox`
|
||||
file to `.config` of your Busybox folder.
|
||||
|
||||
```bash
|
||||
cp blobs/a64_config_busybox busybox/.config
|
||||
cd busybox
|
||||
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4 oldconfig
|
||||
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j4
|
||||
```
|
||||
|
||||
### Make initrd.gz
|
||||
|
||||
Use the provided `make_initrd.sh` script to create a simple initrd based on
|
||||
the busybox binary compiled earlier.
|
||||
|
||||
```bash
|
||||
cd ../scripts
|
||||
./make_initrd.sh
|
||||
```
|
||||
### Create bootable image
|
||||
|
||||
Create kernel tarball :
|
||||
```bash
|
||||
./make_kernel_tarball.sh . ../linux-a64 #This will produce file named linux-a64-xx.yy.zz.tar.xz
|
||||
```
|
||||
|
||||
Create simple image structure :
|
||||
```bash
|
||||
sudo ./make_simpleimage.sh teres.img 1000 ./linux-a64-3.10.104-1.tar.xz
|
||||
sudo xz teres.img
|
||||
```
|
||||
|
||||
Build bootable image :
|
||||
```bash
|
||||
sudo ./build_image.sh teres.img.xz ./linux-a64-3.10.104-1.tar.xz xenial
|
||||
```
|
||||
|
||||
if everything is successfully acomplished this command will create file named :
|
||||
xenial-teres-bspkernel-<date>.img
|
||||
use dd to write this image to Sd Card :
|
||||
```bash
|
||||
dd if=xenial-teres-bspkernel-<date>.img of=/dev/sdX bs=1M
|
||||
```
|
||||
|
||||
After first boot you will able to login with :
|
||||
user: olimex
|
||||
pass: olimex
|
||||
|
||||
Connection to internet can be enabled using nmtui tool:
|
||||
```bash
|
||||
nmtui
|
||||
```
|
||||
|
||||
Feel free to install everything you want, for ex. Graphical desktop :
|
||||
```bash
|
||||
./install_desktop.sh mate #will install mate
|
||||
```
|
10
SOFTWARE/A64-TERES/scripts/systemd-services/restart-network-manager-after-resume.service
Normal file
@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Restart NetworkManager after resume
|
||||
After=suspend.target
|
||||
ConditionFileIsExecutable=/usr/sbin/NetworkManager
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/systemctl --no-block restart NetworkManager.service
|
||||
|
||||
[Install]
|
||||
WantedBy=suspend.target
|
@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Restore sound after resume
|
||||
After=suspend.target
|
||||
After=tmp.mount
|
||||
ConditionPathExists=/tmp/.before-suspend-asound.state
|
||||
ConditionFileIsExecutable=/usr/sbin/alsactl
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/alsactl -f /tmp/.before-suspend-asound.state restore
|
||||
ExecStart=/bin/rm -f /tmp/.before-suspend-asound.state
|
||||
|
||||
[Install]
|
||||
WantedBy=suspend.target
|
@ -0,0 +1,21 @@
|
||||
[Unit]
|
||||
Description=Generate SSH keys if not there
|
||||
Before=ssh.service
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_key
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_key.pub
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key.pub
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key.pub
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key.pub
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key
|
||||
ConditionPathExists=|!/etc/ssh/ssh_host_ed25519_key.pub
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/bin/ssh-keygen -A
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=ssh.service
|
@ -0,0 +1,11 @@
|
||||
[Unit]
|
||||
Description=Store sound on suspend
|
||||
ConditionFileIsExecutable=/usr/sbin/alsactl
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
UMask=0077
|
||||
ExecStart=/usr/sbin/alsactl -f /tmp/.before-suspend-asound.state store
|
||||
|
||||
[Install]
|
||||
WantedBy=sleep.target
|