Merge commit 'dd5a8d9796da0246c7964c7d4eb77135e520f1cb'

This commit is contained in:
Calin Crisan 2019-09-29 21:42:08 +03:00
commit 926846201f
3523 changed files with 60050 additions and 30861 deletions

86
.gitlab-ci.yml.in Normal file
View File

@ -0,0 +1,86 @@
# Configuration for Gitlab-CI.
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
# The .gitlab-ci.yml file is generated from .gitlab-ci.yml.in.
# It needs to be regenerated every time a defconfig is added, using
# "make .gitlab-ci.yml".
image: buildroot/base:20180318.1724
.defconfig_script:
script:
- echo 'Configure Buildroot'
- make ${CI_JOB_NAME}
- echo 'Build buildroot'
- |
make > >(tee build.log |grep '>>>') 2>&1 || {
echo 'Failed build last output'
tail -200 build.log
exit 1
}
check-gitlab-ci.yml:
script:
- mv .gitlab-ci.yml .gitlab-ci.yml.orig
- make .gitlab-ci.yml
- diff -u .gitlab-ci.yml.orig .gitlab-ci.yml
check-DEVELOPERS:
# get-developers should print just "No action specified"; if it prints
# anything else, it's a parse error.
# The initial ! is removed by YAML so we need to quote it.
script:
- "! utils/get-developers | grep -v 'No action specified'"
check-flake8:
before_script:
# Help flake8 to find the Python files without .py extension.
- find * -type f -name '*.py' > files.txt
- find * -type f -print0 | xargs -0 file | grep 'Python script' | cut -d':' -f1 >> files.txt
- sort -u files.txt | tee files.processed
script:
- python -m flake8 --statistics --count $(cat files.processed)
after_script:
- wc -l files.processed
check-package:
script:
- make check-package
.defconfig:
extends: .defconfig_script
# Running the defconfigs for every push is too much, so limit to
# explicit triggers through the API.
only:
- triggers
- tags
- /-defconfigs$/
artifacts:
when: always
expire_in: 2 weeks
paths:
- .config
- build.log
- output/images/
- output/build/build-time.log
- output/build/packages-file-list.txt
- output/build/*/.config
.runtime_test:
# Running the runtime tests for every push is too much, so limit to
# explicit triggers through the API.
only:
- triggers
- tags
- /-runtime-tests$/
# Keep build directories so the rootfs can be an artifact of the job. The
# runner will clean up those files for us.
# Multiply every emulator timeout by 10 to avoid sporadic failures in
# elastic runners.
script: ./support/testing/run-tests -o test-output/ -d test-dl/ -k --timeout-multiplier 10 ${CI_JOB_NAME}
artifacts:
when: always
expire_in: 2 weeks
paths:
- test-output/*.log
- test-output/*/.config
- test-output/*/images/*

View File

@ -136,10 +136,6 @@ config BR2_SCP
string "Secure copy (scp) command"
default "scp"
config BR2_SSH
string "Secure shell (ssh) command"
default "ssh"
config BR2_HG
string "Mercurial (hg) command"
default "hg"
@ -681,6 +677,18 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
and external toolchain backends (through the toolchain
wrapper).
config BR2_FORCE_HOST_BUILD
bool "Force the building of host dependencies"
help
Build all available host dependencies, even if they are
already installed on the system.
This option can be used to ensure that the download cache of
source archives for packages remain consistent between
different build hosts.
This option will increase build time.
config BR2_REPRODUCIBLE
bool "Make the build reproducible (experimental)"
# SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4
@ -812,6 +820,8 @@ config BR2_FORTIFY_SOURCE_NONE
config BR2_FORTIFY_SOURCE_1
bool "Conservative"
# gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164
depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6
help
This option sets _FORTIFY_SOURCE to 1 and only introduces
checks that shouldn't change the behavior of conforming
@ -819,6 +829,8 @@ config BR2_FORTIFY_SOURCE_1
config BR2_FORTIFY_SOURCE_2
bool "Aggressive"
# gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61164
depends on !BR2_TOOLCHAIN_BUILDROOT || BR2_TOOLCHAIN_GCC_AT_LEAST_6
help
This option sets _FORTIFY_SOURCES to 2 and some more
checking is added, but some conforming programs might fail.

View File

@ -142,9 +142,281 @@ comment "unpredictable ways. "
comment "----------------------------------------------------"
endif
###############################################################################
comment "Legacy options removed in 2019.02"
config BR2_PACKAGE_GST_PLUGINS_BAD_PLUGIN_APEXSINK
bool "gst-plugins-bad apexsink option removed"
select BR2_LEGACY
help
The gst-plugins-bad apexsink option was removed.
config BR2_PACKAGE_QT
bool "qt package removed"
select BR2_LEGACY
help
The qt package was removed.
config BR2_PACKAGE_QTUIO
bool "qtuio package removed"
select BR2_LEGACY
help
The qtuio package was removed.
config BR2_PACKAGE_PINENTRY_QT4
bool "pinentry-qt4 option removed"
select BR2_LEGACY
help
The pinentry-qt4 option was removed.
config BR2_PACKAGE_POPPLER_QT
bool "poppler qt option removed"
select BR2_LEGACY
help
The poppler qt option was removed.
config BR2_PACKAGE_OPENCV3_WITH_QT
bool "opencv3 qt backend option removed"
select BR2_LEGACY
help
The opencv3 qt backend option was removed.
config BR2_PACKAGE_OPENCV_WITH_QT
bool "opencv qt backend option removed"
select BR2_LEGACY
help
The opencv qt backend option was removed.
config BR2_PACKAGE_AMD_CATALYST_CCCLE
bool "catalyst control center option removed"
select BR2_LEGACY
help
The AMD Catalyst Control Center option was removed.
config BR2_PACKAGE_SDL_QTOPIA
bool "sdl qtopia video driver option removed"
select BR2_LEGACY
help
The SDL QTopia video driver option was removed.
config BR2_PACKAGE_PYTHON_PYQT
bool "python-pyqt package removed"
select BR2_LEGACY
help
The python-pyqt package was removed. Consider python-pyqt5
instead.
config BR2_PACKAGE_GNURADIO_QTGUI
bool "gnuradio gr-qtgui option removed"
select BR2_LEGACY
help
The gr-qtgui option was removed.
config BR2_PACKAGE_LUACRYPTO
bool "luacrypto package removed"
select BR2_LEGACY
help
The luacrypto package was removed. Consider luaossl instead.
config BR2_PACKAGE_TN5250
bool "tn5250 package removed"
select BR2_LEGACY
help
The tn5250 package was removed.
config BR2_PACKAGE_BOOST_SIGNALS
bool "Boost signals removed"
select BR2_LEGACY
help
Its removal was announced in boost 1.68 and its deprecation
was announced in 1.54. Users are encouraged to use Signals2
instead.
config BR2_PACKAGE_FFTW_PRECISION_SINGLE
bool "single"
select BR2_LEGACY
select BR2_PACKAGE_FFTW_SINGLE
help
This option has been removed in favor of
BR2_PACKAGE_FFTW_SINGLE.
config BR2_PACKAGE_FFTW_PRECISION_DOUBLE
bool "double"
select BR2_LEGACY
select BR2_PACKAGE_FFTW_DOUBLE
help
This option has been removed in favor of
BR2_PACKAGE_FFTW_DOUBLE.
config BR2_PACKAGE_FFTW_PRECISION_LONG_DOUBLE
bool "long double"
depends on !(BR2_TOOLCHAIN_BUILDROOT_UCLIBC && \
(BR2_arm || BR2_mips || BR2_mipsel))
select BR2_LEGACY
select BR2_PACKAGE_FFTW_LONG_DOUBLE
help
This option has been removed in favor of
BR2_PACKAGE_FFTW_LONG_DOUBLE.
config BR2_PACKAGE_FFTW_PRECISION_QUAD
bool "quad"
depends on (BR2_i386 || BR2_x86_64) && BR2_USE_WCHAR
select BR2_LEGACY
select BR2_PACKAGE_FFTW_QUAD
help
This option has been removed in favor of
BR2_PACKAGE_FFTW_QUAD.
config BR2_PACKAGE_LUA_5_2
bool "Lua 5.2.x version removed"
select BR2_LEGACY
select BR2_PACKAGE_LUA_5_3
help
The Lua 5.2.x version was removed.
config BR2_TARGET_GENERIC_PASSWD_MD5
bool "target passwd md5 format support has been removed"
select BR2_LEGACY
help
The default has been moved to SHA256 and all C libraries
now support that method by default
comment "Legacy options removed in 2018.11"
config BR2_TARGET_XLOADER
bool "xloader has been removed"
select BR2_LEGACY
help
The package has been removed as u-boot SPL provides
similar functionality
config BR2_PACKAGE_TIDSP_BINARIES
bool "tidsp-binaries package removed"
select BR2_LEGACY
help
The tidsp-binaries package was removed.
config BR2_PACKAGE_DSP_TOOLS
bool "dsp-tools package removed"
select BR2_LEGACY
help
The dsp-tools package was removed.
config BR2_PACKAGE_GST_DSP
bool "gst-dsp package removed"
select BR2_LEGACY
help
The gst-dsp package was removed.
config BR2_PACKAGE_BOOTUTILS
bool "bootutils package removed"
select BR2_LEGACY
help
The bootutils package was removed.
config BR2_PACKAGE_EXPEDITE
bool "expedite package has been removed"
select BR2_LEGACY
help
expedite is not actively maintained anymore.
https://sourceforge.net/p/enlightenment/mailman/message/36428571
config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT
bool "mesa3d opengl texture float option removed"
select BR2_LEGACY
help
mesa3d now unconditionally enables floating-point textures,
as the corresponding patent has expired.
config BR2_KERNEL_HEADERS_4_10
bool "kernel headers version 4.10.x are no longer supported"
select BR2_LEGACY
help
Version 4.10.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_11
bool "kernel headers version 4.11.x are no longer supported"
select BR2_LEGACY
help
Version 4.11.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_12
bool "kernel headers version 4.12.x are no longer supported"
select BR2_LEGACY
help
Version 4.12.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_13
bool "kernel headers version 4.13.x are no longer supported"
select BR2_LEGACY
help
Version 4.13.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_15
bool "kernel headers version 4.15.x are no longer supported"
select BR2_LEGACY
help
Version 4.15.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_17
bool "kernel headers version 4.17.x are no longer supported"
select BR2_LEGACY
help
Version 4.17.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_PACKAGE_LIBNFTNL_XML
bool "libnftl no longer supports XML output"
select BR2_LEGACY
help
libnftnl removed integration with libmxml.
config BR2_KERNEL_HEADERS_3_2
bool "kernel headers version 3.2.x are no longer supported"
select BR2_LEGACY
help
Version 3.2.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_1
bool "kernel headers version 4.1.x are no longer supported"
select BR2_LEGACY
help
Version 4.1.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_16
bool "kernel headers version 4.16.x are no longer supported"
select BR2_LEGACY
help
Version 4.16.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_18
bool "kernel headers version 4.18.x are no longer supported"
select BR2_LEGACY
help
Version 4.18.x of the Linux kernel headers are no longer
maintained upstream and are now removed.
###############################################################################
comment "Legacy options removed in 2018.08"
config BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT
bool "docker-engine static client option renamed"
select BR2_LEGACY
select BR2_PACKAGE_DOCKER_CLI_STATIC
help
BR2_PACKAGE_DOCKER_ENGINE_STATIC_CLIENT has been renamed to
BR2_PACKAGE_DOCKER_CLI_STATIC, following the package split of
docker-engine and docker-cli.
config BR2_PACKAGE_XSERVER_XORG_SERVER_V_1_19
bool "Modular X.org server was updated to version 1.20.0"
select BR2_LEGACY
@ -1060,33 +1332,24 @@ comment "Legacy options removed in 2018.02"
config BR2_KERNEL_HEADERS_3_4
bool "kernel headers version 3.4.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 3.4.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_3_10
bool "kernel headers version 3.10.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 3.10.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_3_12
bool "kernel headers version 3.12.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 3.12.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_BINUTILS_VERSION_2_27_X
bool "binutils version 2.27 support removed"
@ -1637,23 +1900,17 @@ config BR2_PACKAGE_GMOCK
config BR2_KERNEL_HEADERS_4_8
bool "kernel headers version 4.8.x are no longer supported"
select BR2_KERNEL_HEADERS_4_4
select BR2_LEGACY
help
Version 4.8.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.4.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_3_18
bool "kernel headers version 3.18.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.18.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 3.12.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_GLIBC_VERSION_2_22
bool "glibc 2.22 removed"
@ -1676,43 +1933,31 @@ config BR2_PACKAGE_PERL_DB_FILE
config BR2_KERNEL_HEADERS_4_7
bool "kernel headers version 4.7.x are no longer supported"
select BR2_KERNEL_HEADERS_4_4
select BR2_LEGACY
help
Version 4.7.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.4.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_6
bool "kernel headers version 4.6.x are no longer supported"
select BR2_KERNEL_HEADERS_4_4
select BR2_LEGACY
help
Version 4.6.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.4.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_5
bool "kernel headers version 4.5.x are no longer supported"
select BR2_KERNEL_HEADERS_4_4
select BR2_LEGACY
help
Version 4.5.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.4.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_3_14
bool "kernel headers version 3.14.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.14.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 3.12.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS
bool "musl-cross 1.1.12 toolchain removed"
@ -1841,23 +2086,17 @@ config BR2_PACKAGE_SSTRIP
config BR2_KERNEL_HEADERS_4_3
bool "kernel headers version 4.3.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 4.3.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_KERNEL_HEADERS_4_2
bool "kernel headers version 4.2.x are no longer supported"
select BR2_KERNEL_HEADERS_4_1
select BR2_LEGACY
help
Version 4.2.x of the Linux kernel headers are no longer
maintained upstream and are now removed. As an alternative,
version 4.1.x of the headers have been automatically
selected in your configuration.
maintained upstream and are now removed.
config BR2_PACKAGE_KODI_ADDON_XVDR
bool "kodi-addon-xvdr removed"
@ -1932,24 +2171,18 @@ config BR2_GCC_VERSION_4_8_ARC
config BR2_KERNEL_HEADERS_4_0
bool "kernel headers version 4.0.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 4.0.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_19
bool "kernel headers version 3.19.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.19.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS
bool "libevas-generic-loaders package removed"
@ -2162,14 +2395,11 @@ config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID
config BR2_KERNEL_HEADERS_3_17
bool "kernel headers version 3.17.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.17.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_GDB_VERSION_7_7
bool "gdb 7.7 has been removed"
@ -2310,14 +2540,11 @@ config BR2_PACKAGE_CUPS_PDFTOPS
config BR2_KERNEL_HEADERS_3_16
bool "kernel headers version 3.16.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.16.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_PYTHON_PYXML
bool "python-pyxml package has been removed"
@ -2518,46 +2745,34 @@ config BR2_PACKAGE_BLACKBOX
config BR2_KERNEL_HEADERS_3_0
bool "kernel headers version 3.0.x are no longer supported"
select BR2_KERNEL_HEADERS_3_2
select BR2_LEGACY
help
Version 3.0.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.2.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_11
bool "kernel headers version 3.11.x are no longer supported"
select BR2_KERNEL_HEADERS_3_10
select BR2_LEGACY
help
Version 3.11.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.10.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_13
bool "kernel headers version 3.13.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.13.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_15
bool "kernel headers version 3.15.x are no longer supported"
select BR2_KERNEL_HEADERS_3_12
select BR2_LEGACY
help
Version 3.15.x of the Linux kernel headers have been
deprecated for more than four buildroot releases and are now
removed.
As an alternative, version 3.12.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI
bool "DirectFB example df_andi has been removed"
@ -3384,13 +3599,10 @@ config BR2_PACKAGE_LIBELF
config BR2_KERNEL_HEADERS_3_8
bool "kernel headers version 3.8.x are no longer supported"
select BR2_KERNEL_HEADERS_3_4
select BR2_LEGACY
help
Version 3.8.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.4.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_GETTEXT_TOOLS
bool "support for gettext-tools on target has been removed"
@ -3543,23 +3755,17 @@ config BR2_PACKAGE_EVTEST_CAPTURE
config BR2_KERNEL_HEADERS_3_6
bool "kernel headers version 3.6.x are no longer supported"
select BR2_KERNEL_HEADERS_3_4
select BR2_LEGACY
help
Version 3.6.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.4.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_7
bool "kernel headers version 3.7.x are no longer supported"
select BR2_KERNEL_HEADERS_3_4
select BR2_LEGACY
help
Version 3.7.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.4.x of the headers have been
automatically selected in your configuration.
config BR2_PACKAGE_VALA
bool "vala target package has been removed"
@ -3721,33 +3927,24 @@ config BR2_sh3eb
config BR2_KERNEL_HEADERS_3_1
bool "kernel headers version 3.1.x are no longer supported"
select BR2_KERNEL_HEADERS_3_2
select BR2_LEGACY
help
Version 3.1.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.2.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_3
bool "kernel headers version 3.3.x are no longer supported"
select BR2_KERNEL_HEADERS_3_2
select BR2_LEGACY
help
Version 3.3.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.2.x of the headers have been
automatically selected in your configuration.
config BR2_KERNEL_HEADERS_3_5
bool "kernel headers version 3.5.x are no longer supported"
select BR2_KERNEL_HEADERS_3_4
select BR2_LEGACY
help
Version 3.5.x of the Linux kernel headers have been deprecated
for more than four buildroot releases and are now removed.
As an alternative, version 3.4.x of the headers have been
automatically selected in your configuration.
config BR2_GDB_VERSION_7_2
bool "gdb 7.2.x is no longer supported"

206
Makefile
View File

@ -2,7 +2,7 @@
#
# Copyright (C) 1999-2005 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 2006-2014 by the Buildroot developers <buildroot@uclibc.org>
# Copyright (C) 2014-2018 by the Buildroot developers <buildroot@buildroot.org>
# Copyright (C) 2014-2019 by the Buildroot developers <buildroot@buildroot.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -92,9 +92,9 @@ all:
.PHONY: all
# Set and export the version string
export BR2_VERSION := 2018.08.2
export BR2_VERSION := 2019.02.2
# Actual time the release is cut (for reproducible builds)
BR2_VERSION_EPOCH = 1540470000
BR2_VERSION_EPOCH = 1556527000
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@ -105,22 +105,6 @@ ifneq ($(firstword $(sort $(RUNNING_MAKE_VERSION) $(MIN_MAKE_VERSION))),$(MIN_MA
$(error You have make '$(RUNNING_MAKE_VERSION)' installed. GNU make >= $(MIN_MAKE_VERSION) is required)
endif
# Parallel execution of this Makefile is disabled because it changes
# the packages building order, that can be a problem for two reasons:
# - If a package has an unspecified optional dependency and that
# dependency is present when the package is built, it is used,
# otherwise it isn't (but compilation happily proceeds) so the end
# result will differ if the order is swapped due to parallel
# building.
# - Also changing the building order can be a problem if two packages
# manipulate the same file in the target directory.
#
# Taking into account the above considerations, if you still want to execute
# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and
# use the -j<jobs> option when building, e.g:
# make -j$((`getconf _NPROCESSORS_ONLN`+1))
.NOTPARALLEL:
# absolute path
TOPDIR := $(CURDIR)
CONFIG_CONFIG_IN = Config.in
@ -133,9 +117,9 @@ export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlo
# List of targets and target patterns for which .config doesn't need to be read in
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \
defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \
randpackageconfig allyespackageconfig allnopackageconfig \
print-version olddefconfig distclean manual manual-%
print-version olddefconfig distclean manual manual-% check-package
# Some global targets do not trigger a build, but are used to collect
# metadata, or do various checks. When such targets are triggered,
@ -151,7 +135,7 @@ nobuild_targets := source %-source \
clean distclean help show-targets graph-depends \
%-graph-depends %-show-depends %-show-version \
graph-build graph-size list-defconfigs \
savedefconfig printvars
savedefconfig update-defconfig printvars
ifeq ($(MAKECMDGOALS),)
BR_BUILDING = y
else ifneq ($(filter-out $(nobuild_targets),$(MAKECMDGOALS)),)
@ -220,10 +204,7 @@ BR_GRAPH_OUT := $(or $(BR2_GRAPH_OUT),pdf)
BUILD_DIR := $(BASE_DIR)/build
BINARIES_DIR := $(BASE_DIR)/images
# The target directory is common to all packages,
# but there is one that is specific to each filesystem.
BASE_TARGET_DIR := $(BASE_DIR)/target
TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR))
# initial definition so that 'make clean' works for most users, even without
# .config. HOST_DIR will be overwritten later when .config is included.
HOST_DIR := $(BASE_DIR)/host
@ -246,6 +227,22 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
-include $(BR2_CONFIG)
endif
# Parallel execution of this Makefile is disabled because it changes
# the packages building order, that can be a problem for two reasons:
# - If a package has an unspecified optional dependency and that
# dependency is present when the package is built, it is used,
# otherwise it isn't (but compilation happily proceeds) so the end
# result will differ if the order is swapped due to parallel
# building.
# - Also changing the building order can be a problem if two packages
# manipulate the same file in the target directory.
#
# Taking into account the above considerations, if you still want to execute
# this top-level Makefile in parallel comment the ".NOTPARALLEL" line and
# use the -j<jobs> option when building, e.g:
# make -j$((`getconf _NPROCESSORS_ONLN`+1))
.NOTPARALLEL:
# timezone and locale may affect build output
ifeq ($(BR2_REPRODUCIBLE),y)
export TZ = UTC
@ -422,6 +419,8 @@ unexport TERMINFO
unexport MACHINE
unexport O
unexport GCC_COLORS
unexport PLATFORM
unexport OS
GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
@ -444,6 +443,7 @@ KERNEL_ARCH := $(shell echo "$(ARCH)" | sed -e "s/-.*//" \
-e s/parisc64/parisc/ \
-e s/powerpc64.*/powerpc/ \
-e s/ppc.*/powerpc/ -e s/mips.*/mips/ \
-e s/riscv.*/riscv/ \
-e s/sh.*/sh/ \
-e s/microblazeel/microblaze/)
@ -456,6 +456,10 @@ TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
# packages compiled for the host go here
HOST_DIR := $(call qstrip,$(BR2_HOST_DIR))
# The target directory is common to all packages,
# but there is one that is specific to each filesystem.
TARGET_DIR = $(if $(ROOTFS),$(ROOTFS_$(ROOTFS)_TARGET_DIR),$(BASE_TARGET_DIR))
ifneq ($(HOST_DIR),$(BASE_DIR)/host)
HOST_DIR_SYMLINK = $(BASE_DIR)/host
$(HOST_DIR_SYMLINK): $(BASE_DIR)
@ -467,14 +471,14 @@ BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)"
# Location of a file giving a big fat warning that output/target
# should not be used as the root filesystem.
TARGET_DIR_WARNING_FILE = $(BASE_TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
ifeq ($(BR2_CCACHE),y)
CCACHE := $(HOST_DIR)/bin/ccache
CCACHE = $(HOST_DIR)/bin/ccache
BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR))
export BR_CACHE_DIR
HOSTCC := $(CCACHE) $(HOSTCC)
HOSTCXX := $(CCACHE) $(HOSTCXX)
HOSTCC = $(CCACHE) $(HOSTCC_NOCCACHE)
HOSTCXX = $(CCACHE) $(HOSTCXX_NOCCACHE)
else
export BR_NO_CCACHE
endif
@ -504,9 +508,9 @@ include Makefile.legacy
include system/system.mk
include package/Makefile.in
# arch/arch.mk.* must be after package/Makefile.in because it may need to
# arch/arch.mk must be after package/Makefile.in because it may need to
# complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
-include $(sort $(wildcard arch/arch.mk.*))
include arch/arch.mk
include support/dependencies/dependencies.mk
include $(sort $(wildcard toolchain/*.mk))
@ -549,9 +553,16 @@ include $(BR2_EXTERNAL_MKS)
#
# Only trigger the check for default builds. If the user forces building
# a package, even if not enabled in the configuration, we want to accept
# it.
# it. However; we also want to be able to force checking the dependencies
# if the user so desires. Forcing a dependency check is useful in the case
# of test-pkg, as we want to make sure during testing, that a package has
# all the dependencies selected in the config file.
#
ifeq ($(MAKECMDGOALS),)
BR_FORCE_CHECK_DEPENDENCIES = YES
endif
ifeq ($(BR_FORCE_CHECK_DEPENDENCIES),YES)
define CHECK_ONE_DEPENDENCY
ifeq ($$($(2)_TYPE),target)
@ -571,12 +582,8 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\
endif
.PHONY: dirs
dirs: $(BUILD_DIR) $(STAGING_DIR) $(BASE_TARGET_DIR) \
$(HOST_DIR) $(HOST_DIR_SYMLINK) $(BINARIES_DIR)
$(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG)
$(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig
$(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" syncconfig
.PHONY: prepare
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
@ -584,8 +591,8 @@ prepare: $(BUILD_DIR)/buildroot-config/auto.conf
.PHONY: world
world: target-post-image
.PHONY: sdk
sdk: world
.PHONY: prepare-sdk
prepare-sdk: world
@$(call MESSAGE,"Rendering the SDK relocatable")
$(TOPDIR)/support/scripts/fix-rpath host
$(TOPDIR)/support/scripts/fix-rpath staging
@ -593,29 +600,52 @@ sdk: world
mkdir -p $(HOST_DIR)/share/buildroot
echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
# Populating the staging with the base directories is handled by the skeleton package
$(STAGING_DIR):
@mkdir -p $(STAGING_DIR)
@ln -snf $(STAGING_DIR) $(BASE_DIR)/staging
BR2_SDK_PREFIX ?= $(GNU_TARGET_NAME)_sdk-buildroot
.PHONY: sdk
sdk: prepare-sdk $(BR2_TAR_HOST_DEPENDENCY)
@$(call MESSAGE,"Generating SDK tarball")
$(if $(BR2_SDK_PREFIX),,$(error BR2_SDK_PREFIX can not be empty))
$(Q)mkdir -p $(BINARIES_DIR)
$(TAR) czf "$(BINARIES_DIR)/$(BR2_SDK_PREFIX).tar.gz" \
--owner=0 --group=0 --numeric-owner \
--transform='s#^$(patsubst /%,%,$(HOST_DIR))#$(BR2_SDK_PREFIX)#' \
-C / $(patsubst /%,%,$(HOST_DIR))
RSYNC_VCS_EXCLUSIONS = \
--exclude .svn --exclude .git --exclude .hg --exclude .bzr \
--exclude CVS
STRIP_FIND_CMD = find $(TARGET_DIR)
ifneq (,$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)))
STRIP_FIND_CMD += \( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) -prune -o
endif
STRIP_FIND_CMD += -type f \( -perm /111 -o -name '*.so*' \)
# file exclusions:
# When stripping, obey to BR2_STRIP_EXCLUDE_DIRS and
# BR2_STRIP_EXCLUDE_FILES
STRIP_FIND_COMMON_CMD = \
find $(TARGET_DIR) \
$(if $(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS)), \
\( $(call finddirclauses,$(TARGET_DIR),$(call qstrip,$(BR2_STRIP_EXCLUDE_DIRS))) \) \
-prune -o \
) \
$(if $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES)), \
-not \( $(call findfileclauses,$(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) )
# Regular stripping for everything, except libpthread, ld-*.so and
# kernel modules:
# - libpthread.so: a non-stripped libpthread shared library is needed for
# proper debugging of pthread programs using gdb.
# - ld.so: a non-stripped dynamic linker library is needed for valgrind
# - kernel modules (*.ko): do not function properly when stripped like normal
# applications and libraries. Normally kernel modules are already excluded
# by the executable permission check above, so the explicit exclusion is only
# by the executable permission check, so the explicit exclusion is only
# done for kernel modules with incorrect permissions.
STRIP_FIND_CMD += -not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko $(call qstrip,$(BR2_STRIP_EXCLUDE_FILES))) \) -print0
STRIP_FIND_CMD = \
$(STRIP_FIND_COMMON_CMD) \
-type f \( -perm /111 -o -name '*.so*' \) \
-not \( $(call findfileclauses,libpthread*.so* ld-*.so* *.ko) \) \
-print0
# Special stripping (only debugging symbols) for libpthread and ld-*.so.
STRIP_FIND_SPECIAL_LIBS_CMD = \
$(STRIP_FIND_COMMON_CMD) \
\( -name 'ld-*.so*' -o -name 'libpthread*.so*' \) \
-print0
ifeq ($(BR2_ECLIPSE_REGISTER),y)
define TOOLCHAIN_ECLIPSE_REGISTER
@ -698,8 +728,14 @@ $(TARGETS_ROOTFS): target-finalize
# Avoid the rootfs name leaking down the dependency chain
target-finalize: ROOTFS=
host-finalize: $(HOST_DIR_SYMLINK)
.PHONY: staging-finalize
staging-finalize:
@ln -snf $(STAGING_DIR) $(BASE_DIR)/staging
.PHONY: target-finalize
target-finalize: $(PACKAGES)
target-finalize: $(PACKAGES) host-finalize
@$(call MESSAGE,"Finalizing target directory")
# Check files that are touched by more than one package
./support/scripts/check-uniq-files -t target $(BUILD_DIR)/packages-file-list.txt
@ -727,19 +763,8 @@ endif
rm -rf $(TARGET_DIR)/usr/share/gtk-doc
rmdir $(TARGET_DIR)/usr/share 2>/dev/null || true
$(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true
$(STRIP_FIND_SPECIAL_LIBS_CMD) | xargs -0 -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) 2>/dev/null || true
# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads
# besides the one in which crash occurred; or SIGTRAP kills my program when
# I set a breakpoint"
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y)
find $(TARGET_DIR)/lib/ -type f -name 'libpthread*.so*' | \
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
endif
# Valgrind needs ld.so with enough information, so only strip
# debugging symbols.
find $(TARGET_DIR)/lib/ -type f -name 'ld-*.so*' | \
xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG)
test -f $(TARGET_DIR)/etc/ld.so.conf && \
{ echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true
test -d $(TARGET_DIR)/etc/ld.so.conf.d && \
@ -757,11 +782,25 @@ endif
@$(call MESSAGE,"Sanitizing RPATH in target tree")
$(TOPDIR)/support/scripts/fix-rpath target
# For a merged /usr, ensure that /lib, /bin and /sbin and their /usr
# counterparts are appropriately setup as symlinks ones to the others.
ifeq ($(BR2_ROOTFS_MERGED_USR),y)
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
$(call MESSAGE,"Sanity check in overlay $(d)"); \
not_merged_dirs="$$(support/scripts/check-merged-usr.sh $(d))"; \
test -n "$$not_merged_dirs" && { \
echo "ERROR: The overlay in $(d) is not" \
"using a merged /usr for the following directories:" \
$$not_merged_dirs; \
exit 1; \
} || true$(sep))
endif # merged /usr
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
$(call MESSAGE,"Copying overlay $(d)"); \
rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \
--chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \
$(d)/ $(TARGET_DIR)$(sep))
$(call SYSTEM_RSYNC,$(d),$(TARGET_DIR))$(sep))
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \
$(call MESSAGE,"Executing post-build script $(s)"); \
@ -770,7 +809,7 @@ endif
touch $(TARGET_DIR)/usr
.PHONY: target-post-image
target-post-image: $(TARGETS_ROOTFS) target-finalize
target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize
@rm -f $(ROOTFS_COMMON_TAR)
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
$(call MESSAGE,"Executing post-image script $(s)"); \
@ -791,15 +830,15 @@ legal-info-clean:
.PHONY: legal-info-prepare
legal-info-prepare: $(LEGAL_INFO_DIR)
@$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info")
@$(call legal-license-file,buildroot,buildroot,support/legal-info,COPYING,COPYING,HOST)
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET)
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST)
@$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST)
@$(call legal-license-file,buildroot,buildroot,support/legal-info/buildroot.hash,COPYING,COPYING,HOST)
@$(call legal-manifest,TARGET,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES)
@$(call legal-manifest,HOST,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES)
@$(call legal-manifest,HOST,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved)
@$(call legal-warning,the Buildroot source code has not been saved)
@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
.PHONY: legal-info
legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
legal-info: legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
@cat support/legal-info/README.header >>$(LEGAL_REPORT)
@if [ -r $(LEGAL_WARNINGS) ]; then \
@ -933,7 +972,7 @@ randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot
@rm -f $(CONFIG_DIR)/.config.nopkg
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
oldconfig syncconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
@$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN)
defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
@ -947,13 +986,15 @@ define percent_defconfig
endef
$(eval $(foreach d,$(call reverse,$(TOPDIR) $(BR2_EXTERNAL_DIRS)),$(call percent_defconfig,$(d))$(sep)))
update-defconfig: savedefconfig
savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
@$(COMMON_CONFIG_ENV) $< \
--savedefconfig=$(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig) \
$(CONFIG_CONFIG_IN)
@$(SED) '/BR2_DEFCONFIG=/d' $(if $(DEFCONFIG),$(DEFCONFIG),$(CONFIG_DIR)/defconfig)
.PHONY: defconfig savedefconfig
.PHONY: defconfig savedefconfig update-defconfig
################################################################################
#
@ -1029,12 +1070,13 @@ help:
@echo ' xconfig - interactive Qt-based configurator'
@echo ' gconfig - interactive GTK-based configurator'
@echo ' oldconfig - resolve any unresolved symbols in .config'
@echo ' silentoldconfig - Same as oldconfig, but quietly, additionally update deps'
@echo ' olddefconfig - Same as silentoldconfig but sets new symbols to their default value'
@echo ' syncconfig - Same as oldconfig, but quietly, additionally update deps'
@echo ' olddefconfig - Same as syncconfig but sets new symbols to their default value'
@echo ' randconfig - New config with random answer to all options'
@echo ' defconfig - New config with default answer to all options;'
@echo ' BR2_DEFCONFIG, if set on the command line, is used as input'
@echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)'
@echo ' update-defconfig - Same as savedefconfig'
@echo ' allyesconfig - New config where all options are accepted with yes'
@echo ' allnoconfig - New config where all options are answered with no'
@echo ' alldefconfig - New config where all options are set to default'
@ -1128,7 +1170,7 @@ release: OUT = buildroot-$(BR2_VERSION)
release:
git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar
$(MAKE) O=$(OUT) manual-html manual-text manual-pdf
$(MAKE) O=$(OUT) manual-clean
$(MAKE) O=$(OUT) clean
tar rf $(OUT).tar $(OUT)
gzip -9 -c < $(OUT).tar > $(OUT).tar.gz
bzip2 -9 -c < $(OUT).tar > $(OUT).tar.bz2
@ -1137,11 +1179,13 @@ release:
print-version:
@echo $(BR2_VERSION_FULL)
check-package:
find $(TOPDIR) -type f \( -name '*.mk' -o -name '*.hash' -o -name 'Config.*' \) \
-exec ./utils/check-package {} +
.PHONY: .gitlab-ci.yml
.gitlab-ci.yml: .gitlab-ci.yml.in
cp $< $@
(cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' >> $@
./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@
./support/scripts/generate-gitlab-ci-yml $< > $@
include docs/manual/manual.mk
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk)))

View File

@ -198,6 +198,17 @@ config BR2_powerpc64le
http://www.power.org/
http://en.wikipedia.org/wiki/Powerpc
config BR2_riscv
bool "RISCV"
select BR2_ARCH_HAS_MMU_MANDATORY
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
help
RISC-V is an open, free Instruction Set Architecture created
by the UC Berkeley Architecture Research group and supported
and promoted by RISC-V Foundation.
https://riscv.org/
https://en.wikipedia.org/wiki/RISC-V
config BR2_sh
bool "SuperH"
select BR2_ARCH_HAS_MMU_OPTIONAL
@ -306,9 +317,6 @@ config BR2_GCC_TARGET_FP32_MODE
config BR2_GCC_TARGET_CPU
string
config BR2_GCC_TARGET_CPU_REVISION
string
# The value of this option will be passed as --with-fpu=<value> when
# building gcc (internal backend) or -mfpu=<value> in the toolchain
# wrapper (external toolchain)
@ -423,6 +431,10 @@ if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
source "arch/Config.in.powerpc"
endif
if BR2_riscv
source "arch/Config.in.riscv"
endif
if BR2_sh
source "arch/Config.in.sh"
endif

View File

@ -376,25 +376,19 @@ config BR2_exynos_m1
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
if BR2_ARCH_IS_64
config BR2_falkor
bool "falkor"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
config BR2_qdf24xx
bool "qdf24xx"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
if BR2_ARCH_IS_64
config BR2_thunderx
bool "thunderx"
select BR2_ARM_CPU_HAS_FP_ARMV8
@ -440,32 +434,55 @@ if BR2_ARCH_IS_64
comment "armv8.1a cores"
config BR2_thunderx2t99
bool "thunderx2t99"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
config BR2_thunderx2t99p1
bool "thunderx2t99p1"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
config BR2_vulcan
bool "vulcan"
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_7
endif # BR2_ARCH_IS_64
if BR2_ARCH_IS_64
comment "armv8.2a cores"
config BR2_cortex_a55
bool "cortex-A55"
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
config BR2_cortex_a75
bool "cortex-A75"
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
config BR2_cortex_a75_a55
bool "cortex-A75/A55 big.LITTLE"
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
endif # BR2_ARCH_IS_64
if BR2_ARCH_IS_64
comment "armv8.3a cores"
config BR2_saphira
bool "saphira"
select BR2_ARM_CPU_HAS_FP_ARMV8
select BR2_ARM_CPU_ARMV8A
select BR2_ARCH_HAS_MMU_OPTIONAL
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
endif # BR2_ARCH_IS_64
endchoice
config BR2_ARM_ENABLE_NEON
@ -811,6 +828,12 @@ config BR2_GCC_TARGET_CPU
default "thunderx2t99" if BR2_thunderx2t99
default "thunderx2t99p1" if BR2_thunderx2t99p1
default "vulcan" if BR2_vulcan
# armv8.2a
default "cortex-a55" if BR2_cortex_a55
default "cortex-a75" if BR2_cortex_a75
default "cortex-a75.cortex-a55" if BR2_cortex_a75_a55
# armv8.3a
default "saphira" if BR2_saphira
config BR2_GCC_TARGET_ABI
default "aapcs-linux" if BR2_arm || BR2_armeb

View File

@ -5,6 +5,9 @@ config BR2_MIPS_CPU_MIPS32
config BR2_MIPS_CPU_MIPS32R2
bool
select BR2_MIPS_NAN_LEGACY
config BR2_MIPS_CPU_MIPS32R3
bool
select BR2_MIPS_NAN_LEGACY
config BR2_MIPS_CPU_MIPS32R5
bool
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
@ -18,6 +21,9 @@ config BR2_MIPS_CPU_MIPS64
config BR2_MIPS_CPU_MIPS64R2
bool
select BR2_MIPS_NAN_LEGACY
config BR2_MIPS_CPU_MIPS64R3
bool
select BR2_MIPS_NAN_LEGACY
config BR2_MIPS_CPU_MIPS64R5
bool
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
@ -34,8 +40,8 @@ choice
help
Specific CPU variant to use
64bit cabable: 64, 64r2, 64r5, 64r6
non-64bit capable: 32, 32r2, 32r5, 32r6
64bit capable: 64, 64r2, 64r3, 64r5, 64r6
non-64bit capable: 32, 32r2, 32r3, 32r5, 32r6
config BR2_mips_32
bool "Generic MIPS32"
@ -45,6 +51,10 @@ config BR2_mips_32r2
bool "Generic MIPS32R2"
depends on !BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS32R2
config BR2_mips_32r3
bool "Generic MIPS32R3"
depends on !BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS32R3
config BR2_mips_32r5
bool "Generic MIPS32R5"
depends on !BR2_ARCH_IS_64
@ -95,6 +105,10 @@ config BR2_mips_64r2
bool "Generic MIPS64R2"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R2
config BR2_mips_64r3
bool "Generic MIPS64R3"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R3
config BR2_mips_64r5
bool "Generic MIPS64R5"
depends on BR2_ARCH_IS_64
@ -108,6 +122,20 @@ config BR2_mips_i6400
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R6
select BR2_ARCH_NEEDS_GCC_AT_LEAST_6
config BR2_mips_octeon2
bool "Octeon II"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R2
help
Marvell (formerly Cavium Networks) Octeon II CN60XX
processors.
config BR2_mips_octeon3
bool "Octeon III"
depends on BR2_ARCH_IS_64
select BR2_MIPS_CPU_MIPS64R3
help
Marvell (formerly Cavium Networks) Octeon III CN7XXX
processors.
config BR2_mips_p6600
bool "P6600"
depends on BR2_ARCH_IS_64
@ -135,6 +163,7 @@ endchoice
config BR2_MIPS_SOFT_FLOAT
bool "Use soft-float"
default y
depends on !BR2_mips_octeon3 # hard-float only
select BR2_SOFT_FLOAT
help
If your target CPU does not have a Floating Point Unit (FPU)
@ -213,6 +242,7 @@ config BR2_ENDIAN
config BR2_GCC_TARGET_ARCH
default "mips32" if BR2_mips_32
default "mips32r2" if BR2_mips_32r2
default "mips32r3" if BR2_mips_32r3
default "mips32r5" if BR2_mips_32r5
default "mips32r6" if BR2_mips_32r6
default "interaptiv" if BR2_mips_interaptiv
@ -222,9 +252,12 @@ config BR2_GCC_TARGET_ARCH
default "mips32r2" if BR2_mips_xburst
default "mips64" if BR2_mips_64
default "mips64r2" if BR2_mips_64r2
default "mips64r3" if BR2_mips_64r3
default "mips64r5" if BR2_mips_64r5
default "mips64r6" if BR2_mips_64r6
default "i6400" if BR2_mips_i6400
default "octeon2" if BR2_mips_octeon2
default "octeon3" if BR2_mips_octeon3
default "p6600" if BR2_mips_p6600
config BR2_MIPS_OABI32

127
arch/Config.in.riscv Normal file
View File

@ -0,0 +1,127 @@
# RISC-V CPU ISA extensions.
config BR2_RISCV_ISA_RVI
bool
config BR2_RISCV_ISA_RVM
bool
config BR2_RISCV_ISA_RVA
bool
config BR2_RISCV_ISA_RVF
bool
config BR2_RISCV_ISA_RVD
bool
config BR2_RISCV_ISA_RVC
bool
choice
prompt "Target Architecture Variant"
default BR2_riscv_g
config BR2_riscv_g
bool "General purpose (G)"
select BR2_RISCV_ISA_RVI
select BR2_RISCV_ISA_RVM
select BR2_RISCV_ISA_RVA
select BR2_RISCV_ISA_RVF
select BR2_RISCV_ISA_RVD
help
General purpose (G) is equivalent to IMAFD.
config BR2_riscv_custom
bool "Custom architecture"
select BR2_RISCV_ISA_RVI
select BR2_RISCV_ISA_CUSTOM_RVA
endchoice
if BR2_riscv_custom
comment "Instruction Set Extensions"
config BR2_RISCV_ISA_CUSTOM_RVM
bool "Integer Multiplication and Division (M)"
select BR2_RISCV_ISA_RVM
config BR2_RISCV_ISA_CUSTOM_RVA
bool "Atomic Instructions (A)"
select BR2_RISCV_ISA_RVA
config BR2_RISCV_ISA_CUSTOM_RVF
bool "Single-precision Floating-point (F)"
select BR2_RISCV_ISA_RVF
config BR2_RISCV_ISA_CUSTOM_RVD
bool "Double-precision Floating-point (D)"
depends on BR2_RISCV_ISA_RVF
select BR2_RISCV_ISA_RVD
config BR2_RISCV_ISA_CUSTOM_RVC
bool "Compressed Instructions (C)"
select BR2_RISCV_ISA_RVC
endif
choice
prompt "Target Architecture Size"
default BR2_RISCV_64
config BR2_RISCV_32
bool "32-bit"
config BR2_RISCV_64
bool "64-bit"
select BR2_ARCH_IS_64
endchoice
choice
prompt "Target ABI"
default BR2_RISCV_ABI_ILP32 if !BR2_ARCH_IS_64
default BR2_RISCV_ABI_LP64 if BR2_ARCH_IS_64
config BR2_RISCV_ABI_ILP32
bool "ilp32"
depends on !BR2_ARCH_IS_64
config BR2_RISCV_ABI_ILP32F
bool "ilp32f"
depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
config BR2_RISCV_ABI_ILP32D
bool "ilp32d"
depends on !BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
config BR2_RISCV_ABI_LP64
bool "lp64"
depends on BR2_ARCH_IS_64
config BR2_RISCV_ABI_LP64F
bool "lp64f"
depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVF
config BR2_RISCV_ABI_LP64D
bool "lp64d"
depends on BR2_ARCH_IS_64 && BR2_RISCV_ISA_RVD
endchoice
config BR2_ARCH
default "riscv32" if !BR2_ARCH_IS_64
default "riscv64" if BR2_ARCH_IS_64
config BR2_ENDIAN
default "LITTLE"
config BR2_GCC_TARGET_ABI
default "ilp32" if BR2_RISCV_ABI_ILP32
default "ilp32f" if BR2_RISCV_ABI_ILP32F
default "ilp32d" if BR2_RISCV_ABI_ILP32D
default "lp64" if BR2_RISCV_ABI_LP64
default "lp64f" if BR2_RISCV_ABI_LP64F
default "lp64d" if BR2_RISCV_ABI_LP64D
config BR2_READELF_ARCH_NAME
default "RISC-V"

22
arch/arch.mk Normal file
View File

@ -0,0 +1,22 @@
################################################################################
#
# Architecture-specific definitions
#
################################################################################
# Allow GCC target configuration settings to be optionally
# overwritten by architecture specific makefiles.
# Makefiles must use the GCC_TARGET_* variables below instead
# of the BR2_GCC_TARGET_* versions.
GCC_TARGET_ARCH := $(call qstrip,$(BR2_GCC_TARGET_ARCH))
GCC_TARGET_ABI := $(call qstrip,$(BR2_GCC_TARGET_ABI))
GCC_TARGET_NAN := $(call qstrip,$(BR2_GCC_TARGET_NAN))
GCC_TARGET_FP32_MODE := $(call qstrip,$(BR2_GCC_TARGET_FP32_MODE))
GCC_TARGET_CPU := $(call qstrip,$(BR2_GCC_TARGET_CPU))
GCC_TARGET_FPU := $(call qstrip,$(BR2_GCC_TARGET_FPU))
GCC_TARGET_FLOAT_ABI := $(call qstrip,$(BR2_GCC_TARGET_FLOAT_ABI))
GCC_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE))
# Include any architecture specific makefiles.
-include $(sort $(wildcard arch/arch.mk.*))

30
arch/arch.mk.riscv Normal file
View File

@ -0,0 +1,30 @@
#
# Configure the GCC_TARGET_ARCH variable and append the
# appropriate RISC-V ISA extensions.
#
ifeq ($(BR2_riscv),y)
ifeq ($(BR2_RISCV_64),y)
GCC_TARGET_ARCH := rv64i
else
GCC_TARGET_ARCH := rv32i
endif
ifeq ($(BR2_RISCV_ISA_RVM),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)m
endif
ifeq ($(BR2_RISCV_ISA_RVA),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)a
endif
ifeq ($(BR2_RISCV_ISA_RVF),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)f
endif
ifeq ($(BR2_RISCV_ISA_RVD),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)d
endif
ifeq ($(BR2_RISCV_ISA_RVC),y)
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)c
endif
endif

View File

@ -201,10 +201,11 @@ rm -rf ${TARGET}/usr/lib/python2.7/config/
rm -rf ${TARGET}/usr/lib/python2.7/unittest/
# buildroot default startup scripts
rm -f ${TARGET}/etc/init.d/S01logging
rm -f ${TARGET}/etc/init.d/S01syslogd
rm -f ${TARGET}/etc/init.d/S10udev
rm -f ${TARGET}/etc/init.d/S15watchdog
rm -f ${TARGET}/etc/init.d/S20urandom
rm -f ${TARGET}/etc/init.d/S21rngd
rm -f ${TARGET}/etc/init.d/S49ntp
rm -f ${TARGET}/etc/init.d/S50sshd
rm -f ${TARGET}/etc/init.d/S50proftpd
@ -219,4 +220,3 @@ rm -f ${TARGET}/etc/init.d/S91smb
rm -rf ${TARGET}/data/*
rm -rf ${TARGET}/run
rm -rf ${TARGET}/etc/profile.d

View File

@ -1,5 +1,13 @@
#!/bin/bash -e
# env vars:
# THINGOS_LOOP_DEV=/dev/loop0
# THINGOS_NAME=thingOS
# THINGOS_SHORT_NAME=thingos
# THINGOS_PREFIX=thing
# THINGOS_VERSION=3.14.15
if [ -z "${IMG_DIR}" ] || [ -z "${BOARD}" ]; then
echo "this script must be invoked from board specific mkimage.sh"
exit 1
@ -30,17 +38,20 @@ DISK_SIZE=$((ROOT_START + ROOT_SIZE + GUARD_SIZE))
COMMON_DIR=$(cd ${IMG_DIR}/../../../board/common; pwd)
OS_NAME=$(source ${COMMON_DIR}/overlay/etc/version && echo ${OS_SHORT_NAME})
# "-f", unless a /dev/loopX is specified
LOOP_DEV=${THINGOS_LOOP_DEV:--f}
# boot filesystem
msg "creating boot loop device"
msg "creating boot loop device ${LOOP_DEV}"
dd if=/dev/zero of=${BOOT_IMG} bs=1M count=${BOOT_SIZE}
loop_dev=$(losetup -f --show ${BOOT_IMG})
loop_dev=$(losetup --show ${LOOP_DEV} ${BOOT_IMG})
msg "creating boot filesystem"
mkfs.vfat -F16 ${loop_dev}
msg "mounting boot loop device"
mkdir -p ${BOOT}
mount -o loop ${loop_dev} ${BOOT}
mount ${loop_dev} ${BOOT}
msg "copying boot filesystem contents"
cp -r ${BOOT_SRC}/* ${BOOT}
@ -49,14 +60,14 @@ sync
msg "unmounting boot filesystem"
umount ${BOOT}
msg "destroying boot loop device (${loop_dev})"
msg "destroying boot loop device ${loop_dev}"
losetup -d ${loop_dev}
sync
# root filesystem
msg "creating root loop device"
msg "creating root loop device ${LOOP_DEV}"
dd if=/dev/zero of=${ROOT_IMG} bs=1M count=${ROOT_SIZE}
loop_dev=$(losetup -f --show ${ROOT_IMG})
loop_dev=$(losetup --show ${LOOP_DEV} ${ROOT_IMG})
msg "creating root filesystem"
mkfs.ext4 ${loop_dev}
@ -64,7 +75,7 @@ tune2fs -O^has_journal ${loop_dev}
msg "mounting root loop device"
mkdir -p ${ROOT}
mount -o loop ${loop_dev} ${ROOT}
mount ${loop_dev} ${ROOT}
msg "copying root filesystem contents"
tar -xpsf ${ROOT_SRC} -C ${ROOT}
@ -92,7 +103,7 @@ fi
msg "unmounting root filesystem"
umount ${ROOT}
msg "destroying root loop device (${loop_dev})"
msg "destroying root loop device ${loop_dev}"
losetup -d ${loop_dev}
sync
@ -111,13 +122,13 @@ if ! [ -r ${ROOT_IMG} ]; then
fi
# disk image
msg "creating disk loop device"
msg "creating disk loop device ${LOOP_DEV}"
dd if=/dev/zero of=${DISK_IMG} bs=1M count=${DISK_SIZE}
if [ -n "${UBOOT_BIN}" ] && [ -n "${UBOOT_SEEK}" ]; then
msg "copying u-boot image"
dd conv=notrunc if=${UBOOT_BIN} of=${DISK_IMG} bs=512 seek=${UBOOT_SEEK}
fi
loop_dev=$(losetup -f --show ${DISK_IMG})
loop_dev=$(losetup --show ${LOOP_DEV} ${DISK_IMG})
msg "partitioning disk"
set +e
@ -152,7 +163,7 @@ msg "destroying disk loop device (${loop_dev})"
losetup -d ${loop_dev}
msg "creating boot loop device"
loop_dev=$(losetup -f --show -o $((${boot_offs} * 512)) ${DISK_IMG})
loop_dev=$(losetup --show -o $((${boot_offs} * 512)) ${LOOP_DEV} ${DISK_IMG})
msg "copying boot image"
dd if=${BOOT_IMG} of=${loop_dev}
@ -162,14 +173,14 @@ msg "destroying boot loop device (${loop_dev})"
losetup -d ${loop_dev}
msg "creating root loop device"
loop_dev=$(losetup -f --show -o $((${root_offs} * 512)) ${DISK_IMG})
loop_dev=$(losetup --show -o $((${root_offs} * 512)) ${LOOP_DEV} ${DISK_IMG})
sync
msg "copying root image"
dd if=${ROOT_IMG} of=${loop_dev}
sync
msg "destroying root loop device (${loop_dev})"
msg "destroying root loop device ${loop_dev}"
losetup -d ${loop_dev}
sync

View File

@ -28,7 +28,7 @@ case "$1" in
done
# source os_conf again, as it might have changed after restore
test -f /etc/init.d/os_conf && source /etc/init.d/os_conf
test -s /etc/init.d/os_conf && source /etc/init.d/os_conf
if [[ "${OS_DEBUG}" != "true" ]]; then
mount -o remount,ro /boot
fi

View File

@ -17,9 +17,9 @@ fi
case "$1" in
start)
msg_begin "Applying sysctl parameters"
test -f ${SYS_CONF} && sysctl -q -p ${SYS_CONF}
test -f ${CONF} && sysctl -q -p ${CONF}
test -f ${BOOT_CONF} && sysctl -q -p ${BOOT_CONF}
test -s ${SYS_CONF} && sysctl -q -p ${SYS_CONF}
test -s ${CONF} && sysctl -q -p ${CONF}
test -s ${BOOT_CONF} && sysctl -q -p ${BOOT_CONF}
msg_done
;;

View File

@ -6,7 +6,7 @@ PROG_UA="/sbin/udevadm"
test -f ${PROG} || exit 0
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base

View File

@ -0,0 +1,43 @@
#!/bin/bash
PROG="/usr/sbin/rngd"
test -f ${PROG} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base
start() {
msg_begin "Starting rngd"
${PROG} &>/dev/null
test $? == 0 && msg_done || msg_fail
}
stop() {
msg_begin "Stopping rngd"
killall -q $(basename ${PROG})
msg_done
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit $?

View File

@ -12,7 +12,7 @@ PROG_UA="/usr/bin/udevadm"
test -x ${PROG} || exit 0
# dbus is currently only used by bluez
test -f ${BTCONF} || test -f ${BOOT_BTCONF} || test -f ${SYS_BTCONF} || exit 0
test -s ${BTCONF} || test -s ${BOOT_BTCONF} || test -s ${SYS_BTCONF} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base

View File

@ -18,9 +18,9 @@ test -x ${PROG} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base
prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF}
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
test -f ${WATCH_CONF} && source ${WATCH_CONF}
test -s ${WATCH_CONF} && source ${WATCH_CONF}
running() {

View File

@ -21,7 +21,7 @@ prepare_conf ${WATCH_CONF} ${SYS_WATCH_CONF} ${BOOT_WATCH_CONF}
source ${WATCH_CONF}
prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF}
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
ssid=$(cat ${CONF} | grep ssid | grep -v scan_ssid | cut -d '"' -f 2)
test -n "${ssid}" || exit 0

View File

@ -17,7 +17,7 @@ test -x ${PROG} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base
prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF}
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
configure() {
@ -26,7 +26,7 @@ configure() {
cp ${CONF} ${RUN_CONF}
# if no specific name configured, use hostname
if ! grep -E 'Name\s*=' ${RUN_CONF} &>/dev/null; then
if ! grep -E 'Name\s*=' ${RUN_CONF} &>/dev/null; then
sed -ri "s/(\[General\])/\1\nName = $(hostname)/" ${RUN_CONF}
fi

View File

@ -8,7 +8,7 @@ NETWATCH_INTERVAL=20
# watch configuration is already prepared by wifi init script
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
source ${CONF}
test -n "${NETWATCH_HOST}" || exit 0

View File

@ -8,7 +8,7 @@ CONF="/data/etc/firewall.sh"
test -n "${OS_VERSION}" || source /etc/init.d/base
prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF}
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
start() {

View File

@ -13,7 +13,7 @@ test -x ${PROG} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base
prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF}
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
start() {

View File

@ -18,7 +18,7 @@ test -n "${OS_VERSION}" || source /etc/init.d/base
prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF}
prepare_conf ${NTP_CONF} ${SYS_NTP_CONF} ${BOOT_NTP_CONF}
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
test "${OS_NETWORKLESS}" == "true" && exit 0

View File

@ -10,7 +10,7 @@ test -x ${PROG} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
test "${OS_NETWORKLESS}" == "true" && exit 0

View File

@ -9,7 +9,7 @@ test -x ${PROG} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base
test -n "${OS_DEBUG}" || source /etc/init.d/conf
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
test "${OS_NETWORKLESS}" == "true" && exit 0

View File

@ -11,7 +11,7 @@ test -x ${PROG} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base
test -n "${OS_DEBUG}" || source /etc/init.d/conf
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
test "${OS_NETWORKLESS}" == "true" && exit 0

View File

@ -12,7 +12,7 @@ test -x ${PROG} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base
prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF}
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
start() {

View File

@ -12,7 +12,7 @@ test -x ${PROG} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base
prepare_conf ${CONF} ${SYS_CONF} ${BOOT_CONF}
test -f ${CONF} || exit 0
test -s ${CONF} || exit 0
start() {

View File

@ -3,7 +3,7 @@
USERINIT="/data/etc/userinit.sh"
test -f ${USERINIT} || exit 0
test -s ${USERINIT} || exit 0
test -n "${OS_VERSION}" || source /etc/init.d/base

View File

@ -5,9 +5,9 @@ TMP_BOOT_LOG=/tmp/_boot.log
PID_FILE=/tmp/rc.pid
set -a
test -f /etc/environment && source /etc/environment
test -f /data/etc/environment && source /data/etc/environment
test -f /boot/etc/environment && source /boot/etc/environment
test -s /etc/environment && source /etc/environment
test -s /data/etc/environment && source /data/etc/environment
test -s /boot/etc/environment && source /boot/etc/environment
set +a
source /etc/init.d/base

View File

@ -22,7 +22,7 @@ ODROIDC2-UBOOT-CONFIG
# 1080 Lines (1920x1080)
# setenv m "1080i60hz" # Interlaced 60Hz
#setenv m "1080p60hz" # Progressive 60Hz
setenv m "1080p60hz" # Progressive 60Hz
# setenv m "1080i50hz" # Interlaced 50Hz
# setenv m "1080p50hz" # Progressive 50Hz
# setenv m "1080p24hz" # Progressive 24Hz
@ -40,9 +40,10 @@ ODROIDC2-UBOOT-CONFIG
### VESA modes ###
# setenv m "640x480p60hz"
# setenv m "800x480p60hz"
# setenv m "480x800p60hz"
# setenv m "800x600p60hz"
# setenv m "1024x600p60hz"
setenv m "1024x768p60hz"
# setenv m "1024x768p60hz"
# setenv m "1280x800p60hz"
# setenv m "1280x1024p60hz"
# setenv m "1360x768p60hz"
@ -62,9 +63,9 @@ setenv m_bpp "32"
# setenv m_bpp "16"
# HDMI DVI/VGA modes
# Uncomment only a single Line! The line with setenv written.
# At least one mode must be selected.
# setenv vout "dvi"
# By default its set to HDMI, if needed change below.
# Uncomment only a single Line.
setenv vout "dvi"
# setenv vout "vga"
# HDMI HotPlug Detection control
@ -72,24 +73,54 @@ setenv m_bpp "32"
# true = HDMI will believe that cable is always connected
# false = will let board/monitor negotiate the connection status
setenv hpd "true"
# setenv hpd "false"
# Meson Timer
# 1 - Meson Timer
# 0 - Arch Timer
# Using meson_timer improves the video playback whoever it breaks KVM (virtualization).
# Using meson_timer improves the video playback however it breaks KVM (virtualization).
# Using arch timer allows KVM/Virtualization to work however you'll experience poor video
setenv mesontimer "1"
# Server Mode (aka. No Graphics)
# Setting nographics to 1 will disable all video subsystem
# This mode is ideal of server type usage. (Saves ~300Mb of RAM)
setenv nographics "0"
# UHS (Ultra High Speed) MicroSD mode enable/disable
setenv disableuhs "false"
# MicroSD Card Detection enable/disable
# Force the MMC controlled to believe that a card is connected.
setenv mmc_removable "true"
# USB Multi WebCam tweak
# Only enable this if you use it.
setenv usbmulticam "false"
# CPU Frequency / Cores control
###########################################
### WARNING!!! WARNING!!! WARNING!!!
# Before changing anything here please read the wiki entry:
# http://odroid.com/dokuwiki/doku.php?id=en:c2_set_cpu_freq
#
# MAX CPU's
# setenv maxcpus "1"
# setenv maxcpus "2"
# setenv maxcpus "3"
setenv maxcpus "4"
# MAX Frequency
# setenv max_freq "2016" # 2.016GHz
# setenv max_freq "1944" # 1.944GHz
# setenv max_freq "1944" # 1.944GHz
# setenv max_freq "1920" # 1.920GHz
# setenv max_freq "1896" # 1.896GHz
# setenv max_freq "1752" # 1.752GHz
# setenv max_freq "1680" # 1.680GHz
# setenv max_freq "1656" # 1.656GHz
setenv max_freq "1536" # 1.536GHz
###########################################
# Boot Arguments
setenv bootargs "console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootwait ro no_console_suspend panic=10 quiet loglevel=1 ipv6.disable=1 hdmimode=${m} m_bpp=${m_bpp} vout=${vout} net.ifnames=0 elevator=noop disablehpd=${hpd}"
setenv bootargs "console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootwait ro no_console_suspend panic=10 quiet loglevel=1 ipv6.disable=1 net.ifnames=0 elevator=noop hdmimode=${m} m_bpp=${m_bpp} vout=${vout} disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam}"
# Booting

View File

@ -7,10 +7,8 @@ export BOARD=$(basename ${BOARD_DIR})
export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/
export UBOOT_BIN=${IMG_DIR}/u-boot.bin
export UBOOT_SEEK=97
BL1=${IMG_DIR}/bl1.bin.hardkernel
source ${COMMON_DIR}/mkimage.sh
dd conv=notrunc if=${BL1} of=${DISK_IMG} bs=1 count=442
dd conv=notrunc if=${BL1} of=${DISK_IMG} bs=512 skip=1 seek=1
dd conv=notrunc if=${UBOOT_BIN} of=${DISK_IMG} bs=1 count=442
dd conv=notrunc if=${UBOOT_BIN} of=${DISK_IMG} bs=512 skip=1 seek=1

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -9,5 +9,3 @@ export UBOOT_BIN=${IMG_DIR}/u-boot-sunxi-with-spl.bin
export UBOOT_SEEK=16
export BOOT_START=20
source ${COMMON_DIR}/mkimage.sh

View File

@ -7,4 +7,4 @@ ${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot-fwupdater.
cp ${IMG_DIR}/zImage ${BOOT_DIR}
cp ${IMG_DIR}/sun8i-h3-orangepi-one.dtb ${BOOT_DIR}
cp ${BOARD_DIR}/rootfs.cpio.uboot ${BOOT_DIR}
cp ${BOARD_DIR}/uInitrd ${BOOT_DIR}

Binary file not shown.

View File

@ -0,0 +1,7 @@
setenv bootargs earlyprintk console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootwait ro no_console_suspend panic=10 quiet loglevel=1 ipv6.disable=1
fatload mmc 0 $kernel_addr_r zImage
fatload mmc 0 $ramdisk_addr_r uInitrd
fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb
bootz $kernel_addr_r $ramdisk_addr_r $fdt_addr_r

View File

@ -0,0 +1,6 @@
setenv bootargs earlyprintk console=ttyS0,115200n8 root=/dev/mmcblk0p2 rootwait ro no_console_suspend panic=10 quiet loglevel=1 ipv6.disable=1
fatload mmc 0 $kernel_addr_r zImage
fatload mmc 0 $fdt_addr_r sun8i-h2-plus-orangepi-zero.dtb
bootz $kernel_addr_r - $fdt_addr_r

View File

@ -0,0 +1,4 @@
#!/bin/bash
cp ${IMG_DIR}/rootfs.cpio.uboot ${BOARD_DIR}/uInitrd

File diff suppressed because it is too large Load Diff

11
board/orangepizero/mkimage.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/bash -e
BOARD_DIR=$(dirname $0)
COMMON_DIR=${BOARD_DIR}/../common
export BOARD=$(basename ${BOARD_DIR})
export IMG_DIR=${BOARD_DIR}/../../output/${BOARD}/images/
export UBOOT_BIN=${IMG_DIR}/u-boot-sunxi-with-spl.bin
export UBOOT_SEEK=16
export BOOT_START=20
source ${COMMON_DIR}/mkimage.sh

View File

@ -0,0 +1,2 @@
OS_TTY_LOGIN="ttyS0"

View File

@ -0,0 +1,6 @@
#!/bin/sh
if [ -f /boot/boot-normal.scr ]; then
mv /boot/boot.scr /boot/boot-fwupdater.scr
mv /boot/boot-normal.scr /boot/boot.scr
fi

View File

@ -0,0 +1 @@
orangepizero

View File

@ -0,0 +1,5 @@
#!/bin/bash
sn=$(cat /proc/cpuinfo | grep Serial | tr -d ' ' | cut -d ':' -f 2)
echo ${sn: -8}

View File

@ -0,0 +1,7 @@
#!/bin/bash
if [ -f /boot/boot-fwupdater.scr ]; then
mv /boot/boot.scr /boot/boot-normal.scr
mv /boot/boot-fwupdater.scr /boot/boot.scr
fi

View File

@ -0,0 +1,10 @@
#!/bin/sh
set -e
${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot.cmd ${BOOT_DIR}/boot.scr
${HOST_DIR}/bin/mkimage -C none -A arm -T script -d ${BOARD_DIR}/boot-fwupdater.cmd ${BOOT_DIR}/boot-fwupdater.scr
cp ${IMG_DIR}/zImage ${BOOT_DIR}
cp ${IMG_DIR}/sun8i-h2-plus-orangepi-zero.dtb ${BOOT_DIR}
cp ${BOARD_DIR}/uInitrd ${BOOT_DIR}

BIN
board/orangepizero/uInitrd Normal file

Binary file not shown.

View File

@ -1,5 +1,4 @@
#!/bin/bash
cp ${IMG_DIR}/rootfs.cpio.gz ${BOARD_DIR}/initrd.gz
cp ${IMG_DIR}/rootfs.cpio.gz ${BOARD_DIR}/fwupdater.gz # for compatibility

View File

@ -1,3 +1,4 @@
bcm2835-wdt
i2c-bcm2708
i2c-dev

View File

@ -0,0 +1,64 @@
# NVRAM file for BCM943430WLSELG
# 2.4 GHz, 20 MHz BW mode
# The following parameter values are just placeholders, need to be updated.
manfid=0x2d0
prodid=0x0726
vendid=0x14e4
devid=0x43e2
boardtype=0x0726
boardrev=0x1202
boardnum=22
macaddr=00:90:4c:c5:12:38
sromrev=11
boardflags=0x00404201
boardflags3=0x08000000
xtalfreq=37400
#xtalfreq=19200
nocrc=1
ag0=255
aa2g=1
ccode=ALL
pa0itssit=0x20
extpagain2g=0
#PA parameters for 2.4GHz, measured at CHIP OUTPUT
pa2ga0=-168,7161,-820
AvVmid_c0=0x0,0xc8
cckpwroffset0=5
# PPR params
maxp2ga0=84
txpwrbckof=6
cckbw202gpo=0
legofdmbw202gpo=0x66111111
mcsbw202gpo=0x77711111
propbw202gpo=0xdd
# OFDM IIR :
ofdmdigfilttype=18
ofdmdigfilttypebe=18
# PAPD mode:
papdmode=1
papdvalidtest=1
pacalidx2g=32
papdepsoffset=-36
papdendidx=61
il0macaddr=00:90:4c:c5:12:38
wl0id=0x431b
deadman_to=0xffffffff
# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
muxenab=0x1
# CLDO PWM voltage settings - 0x4 - 1.1 volt
#cldo_pwm=0x4
#VCO freq 326.4MHz
spurconfig=0x3
# Improved Bluetooth coexistence parameters from Cypress
btc_mode=1
btc_params8=0x4e20
btc_params1=0x7530

View File

@ -0,0 +1,97 @@
# Cloned from bcm94345wlpagb_p2xx.txt
NVRAMRev=$Rev: 498373 $
sromrev=11
vendid=0x14e4
devid=0x43ab
manfid=0x2d0
prodid=0x06e4
#macaddr=00:90:4c:c5:12:38
macaddr=b8:27:eb:74:f2:6c
nocrc=1
boardtype=0x6e4
boardrev=0x1304
#XTAL 37.4MHz
xtalfreq=37400
btc_mode=1
#------------------------------------------------------
#boardflags: 5GHz eTR switch by default
# 2.4GHz eTR switch by default
# bit1 for btcoex
boardflags=0x00480201
boardflags2=0x40800000
boardflags3=0x44200100
phycal_tempdelta=15
rxchain=1
txchain=1
aa2g=1
aa5g=1
tssipos5g=1
tssipos2g=1
femctrl=0
AvVmid_c0=1,165,2,100,2,100,2,100,2,100
pa2ga0=-129,6525,-718
pa2ga1=-149,4408,-601
pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818
pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575
itrsw=1
pdoffsetcckma0=2
pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0
pdoffset2g40ma0=16
pdoffset40ma0=0x8888
pdoffset80ma0=0x8888
extpagain5g=2
extpagain2g=2
tworangetssi2g=1
tworangetssi5g=1
# LTECX flags
# WCI2
ltecxmux=0
ltecxpadnum=0x0504
ltecxfnsel=0x22
ltecxgcigpio=0x32
maxp2ga0=80
ofdmlrbw202gpo=0x0022
dot11agofdmhrbw202gpo=0x4442
mcsbw202gpo=0x98444422
mcsbw402gpo=0x98444422
maxp5ga0=82,82,82,82
mcsbw205glpo=0xb9555000
mcsbw205gmpo=0xb9555000
mcsbw205ghpo=0xb9555000
mcsbw405glpo=0xb9555000
mcsbw405gmpo=0xb9555000
mcsbw405ghpo=0xb9555000
mcsbw805glpo=0xb9555000
mcsbw805gmpo=0xb9555000
mcsbw805ghpo=0xb9555000
swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3
vcodivmode=1
deadman_to=481500000
ed_thresh2g=-54
ed_thresh5g=-54
eu_edthresh2g=-54
eu_edthresh5g=-54
ldo1=4
rawtempsense=0x1ff
cckPwrIdxCorr=3
cckTssiDelay=150
ofdmTssiDelay=150
txpwr2gAdcScale=1
txpwr5gAdcScale=1
dot11b_opts=0x3aa85
cbfilttype=1
fdsslevel_ch11=6
# Improved Bluetooth coexistence parameters from Cypress
btc_mode=1
btc_params8=0x4e20
btc_params1=0x7530

View File

@ -12,7 +12,7 @@ cp ${IMG_DIR}/zImage ${BOOT_DIR}/kernel.img
cp ${IMG_DIR}/bcm2708-rpi-b.dtb ${BOOT_DIR}
cp ${IMG_DIR}/bcm2708-rpi-b-plus.dtb ${BOOT_DIR}
cp ${IMG_DIR}/bcm2708-rpi-cm.dtb ${BOOT_DIR}
cp ${IMG_DIR}/bcm2708-rpi-0-w.dtb ${BOOT_DIR}
cp ${IMG_DIR}/bcm2708-rpi-zero-w.dtb ${BOOT_DIR}
cp ${RPI_FW_DIR}/bootcode.bin ${BOOT_DIR}
cp ${RPI_FW_DIR}/start.elf ${BOOT_DIR}
cp ${RPI_FW_DIR}/fixup.dat ${BOOT_DIR}

View File

@ -0,0 +1,64 @@
# NVRAM file for BCM943430WLSELG
# 2.4 GHz, 20 MHz BW mode
# The following parameter values are just placeholders, need to be updated.
manfid=0x2d0
prodid=0x0726
vendid=0x14e4
devid=0x43e2
boardtype=0x0726
boardrev=0x1202
boardnum=22
macaddr=00:90:4c:c5:12:38
sromrev=11
boardflags=0x00404201
boardflags3=0x08000000
xtalfreq=37400
#xtalfreq=19200
nocrc=1
ag0=255
aa2g=1
ccode=ALL
pa0itssit=0x20
extpagain2g=0
#PA parameters for 2.4GHz, measured at CHIP OUTPUT
pa2ga0=-168,7161,-820
AvVmid_c0=0x0,0xc8
cckpwroffset0=5
# PPR params
maxp2ga0=84
txpwrbckof=6
cckbw202gpo=0
legofdmbw202gpo=0x66111111
mcsbw202gpo=0x77711111
propbw202gpo=0xdd
# OFDM IIR :
ofdmdigfilttype=18
ofdmdigfilttypebe=18
# PAPD mode:
papdmode=1
papdvalidtest=1
pacalidx2g=32
papdepsoffset=-36
papdendidx=61
il0macaddr=00:90:4c:c5:12:38
wl0id=0x431b
deadman_to=0xffffffff
# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
muxenab=0x1
# CLDO PWM voltage settings - 0x4 - 1.1 volt
#cldo_pwm=0x4
#VCO freq 326.4MHz
spurconfig=0x3
# Improved Bluetooth coexistence parameters from Cypress
btc_mode=1
btc_params8=0x4e20
btc_params1=0x7530

View File

@ -0,0 +1,97 @@
# Cloned from bcm94345wlpagb_p2xx.txt
NVRAMRev=$Rev: 498373 $
sromrev=11
vendid=0x14e4
devid=0x43ab
manfid=0x2d0
prodid=0x06e4
#macaddr=00:90:4c:c5:12:38
macaddr=b8:27:eb:74:f2:6c
nocrc=1
boardtype=0x6e4
boardrev=0x1304
#XTAL 37.4MHz
xtalfreq=37400
btc_mode=1
#------------------------------------------------------
#boardflags: 5GHz eTR switch by default
# 2.4GHz eTR switch by default
# bit1 for btcoex
boardflags=0x00480201
boardflags2=0x40800000
boardflags3=0x44200100
phycal_tempdelta=15
rxchain=1
txchain=1
aa2g=1
aa5g=1
tssipos5g=1
tssipos2g=1
femctrl=0
AvVmid_c0=1,165,2,100,2,100,2,100,2,100
pa2ga0=-129,6525,-718
pa2ga1=-149,4408,-601
pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818
pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575
itrsw=1
pdoffsetcckma0=2
pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0
pdoffset2g40ma0=16
pdoffset40ma0=0x8888
pdoffset80ma0=0x8888
extpagain5g=2
extpagain2g=2
tworangetssi2g=1
tworangetssi5g=1
# LTECX flags
# WCI2
ltecxmux=0
ltecxpadnum=0x0504
ltecxfnsel=0x22
ltecxgcigpio=0x32
maxp2ga0=80
ofdmlrbw202gpo=0x0022
dot11agofdmhrbw202gpo=0x4442
mcsbw202gpo=0x98444422
mcsbw402gpo=0x98444422
maxp5ga0=82,82,82,82
mcsbw205glpo=0xb9555000
mcsbw205gmpo=0xb9555000
mcsbw205ghpo=0xb9555000
mcsbw405glpo=0xb9555000
mcsbw405gmpo=0xb9555000
mcsbw405ghpo=0xb9555000
mcsbw805glpo=0xb9555000
mcsbw805gmpo=0xb9555000
mcsbw805ghpo=0xb9555000
swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3
vcodivmode=1
deadman_to=481500000
ed_thresh2g=-54
ed_thresh5g=-54
eu_edthresh2g=-54
eu_edthresh5g=-54
ldo1=4
rawtempsense=0x1ff
cckPwrIdxCorr=3
cckTssiDelay=150
ofdmTssiDelay=150
txpwr2gAdcScale=1
txpwr5gAdcScale=1
dot11b_opts=0x3aa85
cbfilttype=1
fdsslevel_ch11=6
# Improved Bluetooth coexistence parameters from Cypress
btc_mode=1
btc_params8=0x4e20
btc_params1=0x7530

View File

@ -0,0 +1 @@
../raspberrypi/cleanups.sh

View File

@ -0,0 +1 @@
dwc_otg.fiq_fix_enable=1 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait ro rootflags=noload panic=10 quiet loglevel=1 ipv6.disable=1

View File

@ -0,0 +1,7 @@
gpu_mem=128
dtparam=i2c_arm=on
dtparam=i2s=on
dtparam=spi=on
dtparam=audio=on

View File

@ -0,0 +1 @@
../raspberrypi/cpinitramfs.sh

Binary file not shown.

View File

@ -0,0 +1 @@
../raspberrypi/mkimage.sh

View File

@ -0,0 +1 @@
raspberrypi4

View File

@ -0,0 +1,37 @@
#!/bin/bash
GOV="ondemand"
CPUFREQDIR="/sys/devices/system/cpu/cpu0/cpufreq"
GOVDIR="/sys/devices/system/cpu/cpufreq/${GOV}"
test -n "${OS_VERSION}" || source /etc/init.d/base
configure() {
echo ${GOV} > ${CPUFREQDIR}/scaling_governor
if [[ ${GOV} == "ondemand" ]]; then
echo 50 > ${GOVDIR}/up_threshold
echo 100000 > ${GOVDIR}/sampling_rate
echo 50 > ${GOVDIR}/sampling_down_factor
echo 1 > ${GOVDIR}/io_is_busy
fi
}
case "$1" in
start)
msg_begin "Configuring CPU frequency"
configure
test $? == 0 && msg_done || msg_fail
;;
stop)
true
;;
*)
echo $"Usage: $0 {start}"
exit 1
esac
exit $?

View File

@ -0,0 +1,65 @@
#!/bin/bash
CHECK_INTERVAL=30
test -n "${OS_VERSION}" || source /etc/init.d/base
get_throttled_now() {
t=$(vcgencmd get_throttled | cut -d '=' -f 2)
test $((t & 1)) -ne 0 && echo -n "under-voltage "
test $((t & 2)) -ne 0 && echo -n "arm-frequency-capped "
test $((t & 4)) -ne 0 && echo -n "throttled "
}
get_throttled_since_boot() {
t=$(vcgencmd get_throttled | cut -d '=' -f 2)
test $((t & 65536)) -ne 0 && echo -n "under-voltage "
test $((t & 131072)) -ne 0 && echo -n "arm-frequency-capped "
test $((t & 262144)) -ne 0 && echo -n "throttled "
}
watch_now() {
while true; do
t=$(get_throttled_now)
if [[ -n "${t}" ]]; then
logger -t throttlewatch -s "currently: ${t}"
fi
sleep ${CHECK_INTERVAL}
done
}
watch_since_boot() {
while true; do
t=$(get_throttled_since_boot)
if [[ -n "${t}" ]]; then
logger -t throttlewatch -s "since boot: ${t}"
break
fi
sleep ${CHECK_INTERVAL}
done
}
case "$1" in
start)
msg_begin "Starting throttle watcher"
watch_now &
watch_since_boot &
test $? == 0 && msg_done || msg_fail
;;
stop)
msg_begin "Stopping throttle watcher"
ps | grep throttlewatch | grep -v $$ | grep -v grep | tr -s ' ' | sed -e 's/^\s//' | cut -d ' ' -f 1 | xargs -r kill
test $? == 0 && msg_done || msg_fail
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
esac
exit $?

View File

@ -0,0 +1,46 @@
#!/bin/bash
SYS_CONF="/etc/bluetooth.conf"
BOOT_CONF="/boot/bluetooth.conf"
CONF="/data/etc/bluetooth.conf"
test -f ${CONF} || test -f ${BOOT_CONF} || test -f ${SYS_CONF} || exit 0
test -d "/proc/device-tree/soc/gpio@7e200000/uart0_pins" || exit 0 # no rpi bluetooth detected
test -n "${OS_VERSION}" || source /etc/init.d/base
function start() {
if [[ "$(cat /proc/device-tree/aliases/uart0)" = "$(cat /proc/device-tree/aliases/serial1)" ]] ; then
if [[ "$(wc -c /proc/device-tree/soc/gpio@7e200000/uart0_pins/brcm\,pins | cut -f 1 -d ' ')" = " 16" ]] ; then
/usr/bin/hciattach -t5 /dev/serial1 bcm43xx 3000000 flow - &>/dev/null
else
/usr/bin/hciattach -t5 /dev/serial1 bcm43xx 921600 noflow - &>/dev/null
fi
else
/usr/bin/hciattach -t5 /dev/serial1 bcm43xx 460800 noflow - &>/dev/null
fi
}
case "$1" in
start)
msg_begin "Attaching UART bluetooth modem"
# for some reason, sometimes the hciattach command needs to be run twice
(start || start) &>/dev/null &
msg_background
;;
stop)
msg_begin "Detaching UART bluetooth modem"
killall hciattach &>/dev/null
test $? == 0 && msg_done || msg_fail
;;
*)
echo $"Usage: $0 {start}"
exit 1
esac
exit $?

View File

@ -0,0 +1,5 @@
#!/bin/bash
sn=$(cat /proc/cpuinfo | grep Serial | tr -d ' ' | cut -d ':' -f 2)
echo ${sn: -8}

View File

@ -0,0 +1 @@
/usr/lib/libarmmem.so

View File

@ -0,0 +1 @@
blacklist rtl8192cu

View File

@ -0,0 +1,3 @@
i2c-bcm2708
i2c-dev

View File

@ -0,0 +1,32 @@
SUBSYSTEM=="input", GROUP="input", MODE="0660"
SUBSYSTEM=="i2c-dev", GROUP="i2c", MODE="0660"
SUBSYSTEM=="spidev", GROUP="spi", MODE="0660"
SUBSYSTEM=="bcm2835-gpiomem", GROUP="gpio", MODE="0660"
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c '\
chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;\
chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio;\
chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath\
'"
KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
ALIASES=/proc/device-tree/aliases; \
if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
echo 0;\
elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \
echo 1; \
else \
exit 1; \
fi\
'", SYMLINK+="serial%c"
KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
ALIASES=/proc/device-tree/aliases; \
if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \
echo 0; \
elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \
echo 1; \
else \
exit 1; \
fi \
'", SYMLINK+="serial%c"

View File

@ -0,0 +1,64 @@
# NVRAM file for BCM943430WLSELG
# 2.4 GHz, 20 MHz BW mode
# The following parameter values are just placeholders, need to be updated.
manfid=0x2d0
prodid=0x0726
vendid=0x14e4
devid=0x43e2
boardtype=0x0726
boardrev=0x1202
boardnum=22
macaddr=00:90:4c:c5:12:38
sromrev=11
boardflags=0x00404201
boardflags3=0x08000000
xtalfreq=37400
#xtalfreq=19200
nocrc=1
ag0=255
aa2g=1
ccode=ALL
pa0itssit=0x20
extpagain2g=0
#PA parameters for 2.4GHz, measured at CHIP OUTPUT
pa2ga0=-168,7161,-820
AvVmid_c0=0x0,0xc8
cckpwroffset0=5
# PPR params
maxp2ga0=84
txpwrbckof=6
cckbw202gpo=0
legofdmbw202gpo=0x66111111
mcsbw202gpo=0x77711111
propbw202gpo=0xdd
# OFDM IIR :
ofdmdigfilttype=18
ofdmdigfilttypebe=18
# PAPD mode:
papdmode=1
papdvalidtest=1
pacalidx2g=32
papdepsoffset=-36
papdendidx=61
il0macaddr=00:90:4c:c5:12:38
wl0id=0x431b
deadman_to=0xffffffff
# muxenab: 0x1 for UART enable, 0x2 for GPIOs, 0x8 for JTAG
muxenab=0x1
# CLDO PWM voltage settings - 0x4 - 1.1 volt
#cldo_pwm=0x4
#VCO freq 326.4MHz
spurconfig=0x3
# Improved Bluetooth coexistence parameters from Cypress
btc_mode=1
btc_params8=0x4e20
btc_params1=0x7530

View File

@ -0,0 +1,97 @@
# Cloned from bcm94345wlpagb_p2xx.txt
NVRAMRev=$Rev: 498373 $
sromrev=11
vendid=0x14e4
devid=0x43ab
manfid=0x2d0
prodid=0x06e4
#macaddr=00:90:4c:c5:12:38
macaddr=b8:27:eb:74:f2:6c
nocrc=1
boardtype=0x6e4
boardrev=0x1304
#XTAL 37.4MHz
xtalfreq=37400
btc_mode=1
#------------------------------------------------------
#boardflags: 5GHz eTR switch by default
# 2.4GHz eTR switch by default
# bit1 for btcoex
boardflags=0x00480201
boardflags2=0x40800000
boardflags3=0x44200100
phycal_tempdelta=15
rxchain=1
txchain=1
aa2g=1
aa5g=1
tssipos5g=1
tssipos2g=1
femctrl=0
AvVmid_c0=1,165,2,100,2,100,2,100,2,100
pa2ga0=-129,6525,-718
pa2ga1=-149,4408,-601
pa5ga0=-185,6836,-815,-186,6838,-815,-184,6859,-815,-184,6882,-818
pa5ga1=-202,4285,-574,-201,4312,-578,-196,4391,-586,-201,4294,-575
itrsw=1
pdoffsetcckma0=2
pdoffset2gperchan=0,-2,1,0,1,0,1,1,1,0,0,-1,-1,0
pdoffset2g40ma0=16
pdoffset40ma0=0x8888
pdoffset80ma0=0x8888
extpagain5g=2
extpagain2g=2
tworangetssi2g=1
tworangetssi5g=1
# LTECX flags
# WCI2
ltecxmux=0
ltecxpadnum=0x0504
ltecxfnsel=0x22
ltecxgcigpio=0x32
maxp2ga0=80
ofdmlrbw202gpo=0x0022
dot11agofdmhrbw202gpo=0x4442
mcsbw202gpo=0x98444422
mcsbw402gpo=0x98444422
maxp5ga0=82,82,82,82
mcsbw205glpo=0xb9555000
mcsbw205gmpo=0xb9555000
mcsbw205ghpo=0xb9555000
mcsbw405glpo=0xb9555000
mcsbw405gmpo=0xb9555000
mcsbw405ghpo=0xb9555000
mcsbw805glpo=0xb9555000
mcsbw805gmpo=0xb9555000
mcsbw805ghpo=0xb9555000
swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff
swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe
swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3
swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3
vcodivmode=1
deadman_to=481500000
ed_thresh2g=-54
ed_thresh5g=-54
eu_edthresh2g=-54
eu_edthresh5g=-54
ldo1=4
rawtempsense=0x1ff
cckPwrIdxCorr=3
cckTssiDelay=150
ofdmTssiDelay=150
txpwr2gAdcScale=1
txpwr5gAdcScale=1
dot11b_opts=0x3aa85
cbfilttype=1
fdsslevel_ch11=6
# Improved Bluetooth coexistence parameters from Cypress
btc_mode=1
btc_params8=0x4e20
btc_params1=0x7530

Binary file not shown.

View File

@ -0,0 +1,5 @@
#!/bin/bash
echo >> /boot/config.txt
echo "initramfs initrd.gz" >> /boot/config.txt

View File

@ -0,0 +1,10 @@
#!/bin/bash
if [ -z "$1" ]; then
echo "Usage: $0 <old_boot>" 1>&2
exit -1
fi
old_boot=$1
cp ${old_boot}/config.txt /boot

View File

@ -0,0 +1,14 @@
#!/bin/sh
set -e
RPI_FW_DIR=${TARGET}/../images/rpi-firmware
cp ${BOARD_DIR}/config.txt ${BOOT_DIR}
cp ${BOARD_DIR}/cmdline.txt ${BOOT_DIR}
cp ${BOARD_DIR}/initrd.gz ${BOOT_DIR}
cp ${IMG_DIR}/zImage ${BOOT_DIR}/kernel.img
cp ${IMG_DIR}/bcm2711-rpi-4-b.dtb ${BOOT_DIR}
cp ${RPI_FW_DIR}/bootcode.bin ${BOOT_DIR}
cp ${RPI_FW_DIR}/start4.elf ${BOOT_DIR}
cp ${RPI_FW_DIR}/fixup4.dat ${BOOT_DIR}

View File

@ -13,11 +13,12 @@ source "boot/gummiboot/Config.in"
source "boot/lpc32xxcdl/Config.in"
source "boot/mv-ddr-marvell/Config.in"
source "boot/mxs-bootlets/Config.in"
source "boot/riscv-pk/Config.in"
source "boot/s500-bootloader/Config.in"
source "boot/shim/Config.in"
source "boot/syslinux/Config.in"
source "boot/ts4800-mbrboot/Config.in"
source "boot/uboot/Config.in"
source "boot/vexpress-firmware/Config.in"
source "boot/xloader/Config.in"
endmenu

View File

@ -6,13 +6,15 @@
AFBOOT_STM32_VERSION = v0.1
AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION))
AFBOOT_STM32_INSTALL_IMAGES = YES
AFBOOT_STM32_INSTALL_TARGET = NO
define AFBOOT_STM32_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all
endef
define AFBOOT_STM32_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 $(@D)/stm32*.bin $(BINARIES_DIR)
define AFBOOT_STM32_INSTALL_IMAGES_CMDS
$(INSTALL) -m 0755 -t $(BINARIES_DIR) -D $(@D)/stm32*.bin
endef
$(eval $(generic-package))

View File

@ -16,6 +16,11 @@ choice
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
bool "v1.4"
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
bool "Custom version"
help
This option allows to use a specific official versions
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
bool "Custom tarball"
@ -31,12 +36,18 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION
endif
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE
string "ATF version"
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
string
default "v1.4" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE \
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT

View File

@ -13,15 +13,18 @@ ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom)
ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))
ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL)))
ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL))
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y)
ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL))
ARM_TRUSTED_FIRMWARE_SITE_METHOD = git
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
else
# Handle stable official ATF versions
ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION))
endif
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION),y)
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
endif
ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES
ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM))
@ -80,8 +83,8 @@ define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD
# Get the entry point address from the elf.
BASE_ADDR=$$($(TARGET_READELF) -h $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf | \
sed -r '/^ Entry point address:\s*(.*)/!d; s//\1/') && \
$(HOST_DIR)/bin/mkimage \
-A arm64 -O arm-trusted-firmware -C none \
$(MKIMAGE) \
-A $(MKIMAGE_ARCH) -O arm-trusted-firmware -C none \
-a $${BASE_ADDR} -e $${BASE_ADDR} \
-d $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31.bin \
$(ARM_TRUSTED_FIRMWARE_IMG_DIR)/atf-uboot.ub
@ -94,17 +97,24 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += RESET_TO_BL31=1
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += host-uboot-tools
endif
ifeq ($(BR2_TARGET_UBOOT_NEEDS_ATF_BL31_ELF),y)
define ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF
$(INSTALL) -D -m 0644 $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/bl31/bl31.elf \
$(BINARIES_DIR)/bl31.elf
endef
endif
define ARM_TRUSTED_FIRMWARE_BUILD_CMDS
$(ARM_TRUSTED_FIRMWARE_BUILD_FIPTOOL)
$(TARGET_CONFIGURE_OPTS) \
$(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
$(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS)
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
$(ARM_TRUSTED_FIRMWARE_MAKE_TARGETS)
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_BUILD)
endef
define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS
cp -dpf $(ARM_TRUSTED_FIRMWARE_IMG_DIR)/*.bin $(BINARIES_DIR)/
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL)
$(ARM_TRUSTED_FIRMWARE_BL31_UBOOT_INSTALL_ELF)
endef
# Configuration check

View File

@ -12,8 +12,6 @@ config BR2_TARGET_AT91BOOTSTRAP3
https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
https://www.at91.com/linux4sam/bin/view/Linux4SAM/AT91Bootstrap
if BR2_TARGET_AT91BOOTSTRAP3
choice

View File

@ -12,7 +12,7 @@ choice
Select the specific Barebox version you want to use
config BR2_TARGET_BAREBOX_LATEST_VERSION
bool "2017.09.0"
bool "2018.12.0"
config BR2_TARGET_BAREBOX_CUSTOM_VERSION
bool "Custom version"
@ -40,7 +40,7 @@ endif
config BR2_TARGET_BAREBOX_VERSION
string
default "2017.09.0" if BR2_TARGET_BAREBOX_LATEST_VERSION
default "2018.12.0" if BR2_TARGET_BAREBOX_LATEST_VERSION
default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION
default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL
default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT

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