Compare commits
47
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2555f47788 | ||
|
|
38b5b42086 | ||
|
|
13d564b62e | ||
|
|
70cd92cae1 | ||
|
|
26226496c0 | ||
|
|
1697eca986 | ||
|
|
e77fa97f59 | ||
|
|
a11afff771 | ||
|
|
2598a0cffc | ||
|
|
7b3d3e52ac | ||
|
|
077861ec24 | ||
|
|
9a71dd347a | ||
|
|
0660fb5ed8 | ||
|
|
d19fb80b36 | ||
|
|
df75cdfe4c | ||
|
|
94daade68d | ||
|
|
8ac7ef5684 | ||
|
|
167680d773 | ||
|
|
d4c1151632 | ||
|
|
e7f124e9b6 | ||
|
|
30252c3e0a | ||
|
|
89a2fd6385 | ||
|
|
3c88f5d5ed | ||
|
|
eba94bc4d2 | ||
|
|
c366ecb95e | ||
|
|
34b358bf2c | ||
|
|
0eccc6d090 | ||
|
|
124b8f724e | ||
|
|
14e82c1f17 | ||
|
|
e1c896b10f | ||
|
|
99e58bdad0 | ||
|
|
9d22642eb1 | ||
|
|
2ebca64aab | ||
|
|
07ead503de | ||
|
|
327a5c349d | ||
|
|
db309fb4fa | ||
|
|
94808d630d | ||
|
|
5bdb98d537 | ||
|
|
b54a3e5a3d | ||
|
|
18a7440bb8 | ||
|
|
c35da01963 | ||
|
|
4ef5ca26a5 | ||
|
|
583ecdb8b4 | ||
|
|
9edaaea06f | ||
|
|
50ff485793 | ||
|
|
65c66c2ba1 | ||
|
|
9b2c10bc06 |
@@ -1,8 +0,0 @@
|
||||
# Configuration for the `b4` tool
|
||||
# See https://b4.docs.kernel.org/en/latest/config.html
|
||||
[b4]
|
||||
send-series-to = buildroot@buildroot.org
|
||||
send-auto-cc-cmd = "./utils/get-developers -e -"
|
||||
prep-perpatch-check-cmd = "./utils/check-package -q -p -"
|
||||
|
||||
# vim: set filetype=gitconfig:
|
||||
+653
-62
File diff suppressed because it is too large
Load Diff
@@ -12,6 +12,7 @@ BR2_i386=y
|
||||
# BR2_m68k is not set
|
||||
# BR2_mips is not set
|
||||
# BR2_mipsel is not set
|
||||
# BR2_nios2 is not set
|
||||
# BR2_powerpc is not set
|
||||
# BR2_sh is not set
|
||||
# BR2_sparc is not set
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
name: 'Repo Lockdown'
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: opened
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
action:
|
||||
if: github.repository == 'buildroot/buildroot'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: dessant/repo-lockdown@v4
|
||||
with:
|
||||
pr-comment: |
|
||||
Please do not submit a Pull Request via GitHub. Buildroot makes use of a
|
||||
[mailing list](http://lists.buildroot.org/mailman/listinfo/buildroot) for patch submission and review.
|
||||
See [submitting your own patches](http://buildroot.org/manual.html#submitting-patches) for more info.
|
||||
|
||||
Thanks for your help!
|
||||
lock-pr: true
|
||||
close-pr: true
|
||||
|
||||
+1
-2
@@ -1,4 +1,4 @@
|
||||
/output*
|
||||
/output
|
||||
/dl
|
||||
/.auto.deps
|
||||
/.config.cmd
|
||||
@@ -13,4 +13,3 @@
|
||||
*.rej
|
||||
*~
|
||||
*.pyc
|
||||
/br.log
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
# Configuration for Gitlab-CI.
|
||||
# Builds appear on https://gitlab.com/buildroot.org/buildroot/pipelines
|
||||
|
||||
image: $CI_REGISTRY/buildroot.org/buildroot/base:20250218.2110
|
||||
image: $CI_REGISTRY/buildroot.org/buildroot/base:20230207.1123
|
||||
|
||||
stages:
|
||||
- generate-gitlab-ci
|
||||
|
||||
@@ -33,8 +33,8 @@ _Note: issues missing any information may get closed without further ado._
|
||||
---
|
||||
### What I did
|
||||
|
||||
- **Buildroot commit sha1**: _get this with `git describe HEAD`_
|
||||
- **Distribution of the build machine**: _get this with `NAME` and `VERSION` from `/etc/os-release`_
|
||||
**Buildroot commit sha1**: _get this with `git describe HEAD`_
|
||||
**Distribution of the build machine**: _get this with `NAME` and `VERSION` from `/etc/os-release`_
|
||||
|
||||
_Here, describe what you did:_
|
||||
- _any special environment variables: CC, CXX, TARGET, CROSS_COMPILE, etc…_
|
||||
|
||||
@@ -6,15 +6,6 @@ config BR2_HAVE_DOT_CONFIG
|
||||
bool
|
||||
default y
|
||||
|
||||
# Hidden symbol kept to false, to temporarily mark a configuration
|
||||
# known to be broken (by depending on it). Ideally, we don't want to
|
||||
# keep broken parts for too long. The intended use of this symbol is
|
||||
# to give some time to a developer to fix the feature. Features marked
|
||||
# as broken will be removed if they are not fixed in a reasonable
|
||||
# amount of time.
|
||||
config BR2_BROKEN
|
||||
bool
|
||||
|
||||
config BR2_VERSION
|
||||
string
|
||||
option env="BR2_VERSION_FULL"
|
||||
@@ -74,26 +65,6 @@ config BR2_HOST_GCC_AT_LEAST_11
|
||||
default y if BR2_HOST_GCC_VERSION = "11"
|
||||
select BR2_HOST_GCC_AT_LEAST_10
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_12
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "12"
|
||||
select BR2_HOST_GCC_AT_LEAST_11
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_13
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "13"
|
||||
select BR2_HOST_GCC_AT_LEAST_12
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_14
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "14"
|
||||
select BR2_HOST_GCC_AT_LEAST_13
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_15
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "15"
|
||||
select BR2_HOST_GCC_AT_LEAST_14
|
||||
|
||||
# When adding new entries above, be sure to update
|
||||
# the HOSTCC_MAX_VERSION variable in the Makefile.
|
||||
|
||||
@@ -132,17 +103,13 @@ menu "Build options"
|
||||
|
||||
menu "Commands"
|
||||
|
||||
config BR2_CURL
|
||||
string "Curl command"
|
||||
default "curl -q --ftp-pasv --retry 3 --connect-timeout 10"
|
||||
|
||||
config BR2_WGET
|
||||
string "Wget command"
|
||||
default "wget -nd -t 3 --connect-timeout=10"
|
||||
default "wget -nd -t 3"
|
||||
|
||||
config BR2_SVN
|
||||
string "Subversion (svn) command"
|
||||
default "svn --non-interactive --config-option servers:global:http-timeout=10"
|
||||
default "svn --non-interactive"
|
||||
|
||||
config BR2_BZR
|
||||
string "Bazaar (bzr) command"
|
||||
@@ -162,11 +129,11 @@ config BR2_LOCALFILES
|
||||
|
||||
config BR2_SCP
|
||||
string "Secure copy (scp) command"
|
||||
default "scp -o ConnectTimeout=10"
|
||||
default "scp"
|
||||
|
||||
config BR2_SFTP
|
||||
string "Secure file transfer (sftp) command"
|
||||
default "sftp -o ConnectTimeout=10"
|
||||
default "sftp"
|
||||
|
||||
config BR2_HG
|
||||
string "Mercurial (hg) command"
|
||||
@@ -206,13 +173,6 @@ config BR2_LZCAT
|
||||
Command to be used to extract a lzip'ed file to stdout.
|
||||
Default is "lzip -d -c"
|
||||
|
||||
config BR2_ZSTDCAT
|
||||
string "zstdcat command"
|
||||
default "zstdcat"
|
||||
help
|
||||
Command to be used to extract a zstd'ed file to stdout.
|
||||
Default is "zstdcat"
|
||||
|
||||
config BR2_TAR_OPTIONS
|
||||
string "Tar options"
|
||||
default ""
|
||||
@@ -314,7 +274,7 @@ config BR2_KERNEL_MIRROR
|
||||
|
||||
config BR2_GNU_MIRROR
|
||||
string "GNU Software mirror"
|
||||
default "https://ftpmirror.gnu.org"
|
||||
default "http://ftpmirror.gnu.org"
|
||||
help
|
||||
GNU has multiple software mirrors scattered around the
|
||||
world. The following allows you to select your preferred
|
||||
@@ -828,6 +788,8 @@ config BR2_PIC_PIE_ARCH_SUPPORTS
|
||||
default y
|
||||
# Microblaze glibc toolchains don't work with PIC/PIE enabled
|
||||
depends on !BR2_microblaze
|
||||
# Nios2 toolchains produce non working binaries with -fPIC
|
||||
depends on !BR2_nios2
|
||||
|
||||
config BR2_PIC_PIE
|
||||
bool "Build code with PIC/PIE"
|
||||
@@ -990,7 +952,7 @@ config BR2_FORTIFY_SOURCE_2
|
||||
# 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 2 and some more
|
||||
This option sets _FORTIFY_SOURCES to 2 and some more
|
||||
checking is added, but some conforming programs might fail.
|
||||
Also adds checks at run-time (detected buffer overflow
|
||||
terminates the program)
|
||||
@@ -999,7 +961,7 @@ config BR2_FORTIFY_SOURCE_3
|
||||
bool "Extended"
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_12
|
||||
help
|
||||
This option sets _FORTIFY_SOURCE to 3 and even more
|
||||
This option sets _FORTIFY_SOURCES to 3 and even more
|
||||
checking is added compared to level 2. Extends checks at
|
||||
run-time that can introduce an additional performance
|
||||
overhead.
|
||||
|
||||
+13
-1428
File diff suppressed because it is too large
Load Diff
+321
-495
File diff suppressed because it is too large
Load Diff
@@ -66,14 +66,13 @@ endif
|
||||
CANONICAL_CURDIR = $(realpath $(CURDIR))
|
||||
|
||||
REQ_UMASK = 0022
|
||||
CUR_UMASK := $(shell umask)
|
||||
|
||||
# Make sure O= is passed (with its absolute canonical path) everywhere the
|
||||
# toplevel makefile is called back.
|
||||
EXTRAMAKEARGS := O=$(CANONICAL_O)
|
||||
|
||||
# Check Buildroot execution pre-requisites here.
|
||||
ifneq ($(CUR_UMASK):$(CURDIR):$(O),$(REQ_UMASK):$(CANONICAL_CURDIR):$(CANONICAL_O))
|
||||
ifneq ($(shell umask):$(CURDIR):$(O),$(REQ_UMASK):$(CANONICAL_CURDIR):$(CANONICAL_O))
|
||||
.PHONY: _all $(MAKECMDGOALS)
|
||||
|
||||
$(MAKECMDGOALS): _all
|
||||
@@ -82,7 +81,6 @@ $(MAKECMDGOALS): _all
|
||||
_all:
|
||||
@umask $(REQ_UMASK) && \
|
||||
$(MAKE) -C $(CANONICAL_CURDIR) --no-print-directory \
|
||||
BR_ORIG_UMASK=$(CUR_UMASK) \
|
||||
$(MAKECMDGOALS) $(EXTRAMAKEARGS)
|
||||
|
||||
else # umask / $(CURDIR) / $(O)
|
||||
@@ -92,9 +90,9 @@ all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2026.02-rc1
|
||||
export BR2_VERSION := 2024.05.1
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1771320000
|
||||
BR2_VERSION_EPOCH = 1720871000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@@ -125,8 +123,7 @@ endif
|
||||
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
||||
defconfig %_defconfig allyesconfig allnoconfig alldefconfig syncconfig release \
|
||||
randpackageconfig allyespackageconfig allnopackageconfig \
|
||||
print-version olddefconfig distclean manual manual-% check-package \
|
||||
check-package-external
|
||||
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,
|
||||
@@ -354,7 +351,7 @@ export HOSTARCH := $(shell LC_ALL=C $(HOSTCC_NOCCACHE) -v 2>&1 | \
|
||||
|
||||
# When adding a new host gcc version in Config.in,
|
||||
# update the HOSTCC_MAX_VERSION variable:
|
||||
HOSTCC_MAX_VERSION := 15
|
||||
HOSTCC_MAX_VERSION := 11
|
||||
|
||||
HOSTCC_VERSION := $(shell V=$$($(HOSTCC_NOCCACHE) --version | \
|
||||
sed -n -r 's/^.* ([0-9]*)\.([0-9]*)\.([0-9]*)[ ]*.*/\1 \2/p'); \
|
||||
@@ -408,28 +405,27 @@ ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
# Hide troublesome environment variables from sub processes
|
||||
#
|
||||
################################################################################
|
||||
unexport AR
|
||||
unexport CROSS_COMPILE
|
||||
unexport ARCH
|
||||
unexport CC
|
||||
unexport CFLAGS
|
||||
unexport CONFIG_SITE
|
||||
unexport CPP
|
||||
unexport CROSS_COMPILE
|
||||
unexport CXX
|
||||
unexport CXXFLAGS
|
||||
unexport DEVICE_TREE
|
||||
unexport GCC_COLORS
|
||||
unexport GREP_OPTIONS
|
||||
unexport LD
|
||||
unexport AR
|
||||
unexport CXX
|
||||
unexport CPP
|
||||
unexport RANLIB
|
||||
unexport CFLAGS
|
||||
unexport CXXFLAGS
|
||||
unexport GREP_OPTIONS
|
||||
unexport TAR_OPTIONS
|
||||
unexport CONFIG_SITE
|
||||
unexport QMAKESPEC
|
||||
unexport TERMINFO
|
||||
unexport MACHINE
|
||||
unexport O
|
||||
unexport OS
|
||||
unexport GCC_COLORS
|
||||
unexport PLATFORM
|
||||
unexport QMAKESPEC
|
||||
unexport RANLIB
|
||||
unexport TAR_OPTIONS
|
||||
unexport TERMINFO
|
||||
unexport TOPDIR
|
||||
unexport OS
|
||||
unexport DEVICE_TREE
|
||||
|
||||
GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
|
||||
|
||||
@@ -448,7 +444,6 @@ ZCAT := $(call qstrip,$(BR2_ZCAT))
|
||||
BZCAT := $(call qstrip,$(BR2_BZCAT))
|
||||
XZCAT := $(call qstrip,$(BR2_XZCAT))
|
||||
LZCAT := $(call qstrip,$(BR2_LZCAT))
|
||||
ZSTDCAT := $(call qstrip,$(BR2_ZSTDCAT))
|
||||
TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
|
||||
|
||||
ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
|
||||
@@ -599,19 +594,16 @@ world: target-post-image
|
||||
|
||||
.PHONY: prepare-sdk
|
||||
prepare-sdk: world
|
||||
@$(call MESSAGE,"Preparing the SDK")
|
||||
@$(call MESSAGE,"Rendering the SDK relocatable")
|
||||
PARALLEL_JOBS=$(PARALLEL_JOBS) \
|
||||
PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \
|
||||
$(TOPDIR)/support/scripts/fix-rpath host
|
||||
PARALLEL_JOBS=$(PARALLEL_JOBS) \
|
||||
PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \
|
||||
$(TOPDIR)/support/scripts/fix-rpath staging
|
||||
$(call ppd-fixup-paths,$(BASE_DIR))
|
||||
$(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh
|
||||
mkdir -p $(HOST_DIR)/share/buildroot
|
||||
(\
|
||||
export LC_ALL=C; \
|
||||
grep -lr '$(HOST_DIR)' '$(HOST_DIR)' | while read -r FILE; do \
|
||||
if file -b --mime-type "$$FILE" | grep -q '^text/' && \
|
||||
[ "$$FILE" != '$(HOST_DIR)/share/buildroot/sdk-location' ] && \
|
||||
[ "$$FILE" != '$(HOST_DIR)/share/buildroot/sdk-relocs' ]; then \
|
||||
echo "$$FILE"; \
|
||||
fi; \
|
||||
done \
|
||||
) | sed -e 's|^$(HOST_DIR)|.|g' > $(HOST_DIR)/share/buildroot/sdk-relocs
|
||||
echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
|
||||
|
||||
BR2_SDK_PREFIX ?= $(GNU_TARGET_NAME)_sdk-buildroot
|
||||
@@ -727,13 +719,6 @@ STAGING_DIR_FILES_LISTS = $(sort $(wildcard $(BUILD_DIR)/*/.files-list-staging.t
|
||||
host-finalize: $(PACKAGES) $(HOST_DIR) $(HOST_DIR_SYMLINK)
|
||||
@$(call MESSAGE,"Finalizing host directory")
|
||||
$(call per-package-rsync,$(sort $(PACKAGES)),host,$(HOST_DIR),copy)
|
||||
$(Q)PARALLEL_JOBS=$(PARALLEL_JOBS) \
|
||||
PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \
|
||||
$(TOPDIR)/support/scripts/fix-rpath host
|
||||
$(Q)PARALLEL_JOBS=$(PARALLEL_JOBS) \
|
||||
PER_PACKAGE_DIR=$(PER_PACKAGE_DIR) \
|
||||
$(TOPDIR)/support/scripts/fix-rpath staging
|
||||
$(call ppd-fixup-paths,$(BASE_DIR))
|
||||
|
||||
.PHONY: staging-finalize
|
||||
staging-finalize: $(STAGING_DIR_SYMLINK)
|
||||
@@ -792,12 +777,19 @@ endif
|
||||
|
||||
# For a merged /usr, ensure that /lib, /bin and /sbin and their /usr
|
||||
# counterparts are appropriately setup as symlinks ones to the others.
|
||||
@$(call MESSAGE,"Sanity check in overlays $(call qstrip,$(BR2_ROOTFS_OVERLAY))")
|
||||
support/scripts/check-merged \
|
||||
-t overlay \
|
||||
$(if $(BR2_ROOTFS_MERGED_USR),-u) \
|
||||
$(if $(BR2_ROOTFS_MERGED_BIN),-b) \
|
||||
$(call qstrip,$(BR2_ROOTFS_OVERLAY))
|
||||
ifeq ($(BR2_ROOTFS_MERGED_USR),y)
|
||||
|
||||
$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||
@$(call MESSAGE,"Sanity check in overlay $(d)")$(sep) \
|
||||
$(Q)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)")$(sep) \
|
||||
@@ -1177,9 +1169,6 @@ help:
|
||||
@echo ' - Recursively list packages which have <pkg> as a dependency'
|
||||
@echo ' <pkg>-graph-depends - Generate a graph of <pkg>'\''s dependencies'
|
||||
@echo ' <pkg>-graph-rdepends - Generate a graph of <pkg>'\''s reverse dependencies'
|
||||
@echo ' <pkg>-graph-both-depends'
|
||||
@echo ' - Generate a graph of both <pkg>'\''s forward and'
|
||||
@echo ' reverse dependencies.'
|
||||
@echo ' <pkg>-dirclean - Remove <pkg> build directory'
|
||||
@echo ' <pkg>-reconfigure - Restart the build from the configure step'
|
||||
@echo ' <pkg>-rebuild - Restart the build from the build step'
|
||||
@@ -1223,17 +1212,17 @@ help:
|
||||
# $(2): br2-external name, empty for bundled
|
||||
define list-defconfigs
|
||||
@first=true; \
|
||||
for defconfig in $$([ -d $(1)/configs ] && find $(1)/configs -name '*_defconfig' |sort); do \
|
||||
for defconfig in $(1)/configs/*_defconfig; do \
|
||||
[ -f "$${defconfig}" ] || continue; \
|
||||
if $${first}; then \
|
||||
if [ "$(2)" ]; then \
|
||||
printf 'External configs in "%s":\n' "$(call qstrip,$(2))"; \
|
||||
printf 'External configs in "$(call qstrip,$(2))":\n'; \
|
||||
else \
|
||||
printf "Built-in configs:\n"; \
|
||||
fi; \
|
||||
first=false; \
|
||||
fi; \
|
||||
defconfig="$${defconfig#$(1)/configs/}"; \
|
||||
defconfig="$${defconfig##*/}"; \
|
||||
printf " %-35s - Build for %s\n" "$${defconfig}" "$${defconfig%_defconfig}"; \
|
||||
done; \
|
||||
$${first} || printf "\n"
|
||||
@@ -1254,41 +1243,20 @@ release: OUT = buildroot-$(BR2_VERSION)
|
||||
# documentation to the git output
|
||||
release:
|
||||
git archive --format=tar --prefix=$(OUT)/ HEAD > $(OUT).tar
|
||||
SOURCE_DATE_EPOCH=$$(git log -1 --format=%at 2> /dev/null) \
|
||||
$(MAKE) O=$(OUT) manual-html manual-text manual-pdf
|
||||
$(MAKE) O=$(OUT) manual-html manual-text manual-pdf
|
||||
$(MAKE) O=$(OUT) distclean
|
||||
tar rf $(OUT).tar --owner=0 --group=0 \
|
||||
--mtime="$$(git log -1 --pretty=format:%ci)" $(OUT)
|
||||
gzip -9 -n -c < $(OUT).tar > $(OUT).tar.gz
|
||||
tar rf $(OUT).tar $(OUT)
|
||||
gzip -9 -c < $(OUT).tar > $(OUT).tar.gz
|
||||
xz -9 -c < $(OUT).tar > $(OUT).tar.xz
|
||||
rm -rf $(OUT) $(OUT).tar
|
||||
|
||||
print-version:
|
||||
@echo $(BR2_VERSION_FULL)
|
||||
|
||||
# $(1): br2-external path
|
||||
# $(2): br2-external description
|
||||
define check-package-external
|
||||
@$(call MESSAGE,"Checking packages in $(2)")
|
||||
$(Q)if [ -r "$(1)/.checkpackageignore" ]; then \
|
||||
ignore="--ignore-list=$(1)/.checkpackageignore" ; \
|
||||
else \
|
||||
ignore=""; \
|
||||
fi ; \
|
||||
$(TOPDIR)/utils/check-package \
|
||||
--br2-external $${ignore} \
|
||||
`git -C $(1) ls-tree -r --format='$(1)/%(path)' HEAD`
|
||||
endef
|
||||
|
||||
check-package:
|
||||
$(Q)./utils/check-package `git ls-tree -r --name-only HEAD` \
|
||||
--ignore-list=$(TOPDIR)/.checkpackageignore
|
||||
|
||||
check-package-external:
|
||||
$(foreach name,$(BR2_EXTERNAL_NAMES),\
|
||||
$(call check-package-external,$(BR2_EXTERNAL_$(name)_PATH),\
|
||||
$(BR2_EXTERNAL_$(name)_DESC))$(sep))
|
||||
|
||||
.PHONY: .checkpackageignore
|
||||
.checkpackageignore:
|
||||
$(Q)./utils/check-package --failed-only `git ls-tree -r --name-only HEAD` \
|
||||
|
||||
@@ -3,7 +3,7 @@ Linux systems through cross-compilation.
|
||||
|
||||
The documentation can be found in docs/manual. You can generate a text
|
||||
document with 'make manual-text' and read output/docs/manual/manual.text.
|
||||
Online documentation can be found at https://buildroot.org/docs.html
|
||||
Online documentation can be found at http://buildroot.org/docs.html
|
||||
|
||||
To build and use the buildroot stuff, do the following:
|
||||
|
||||
|
||||
+21
-54
@@ -12,9 +12,6 @@ config BR2_SOFT_FLOAT
|
||||
config BR2_USE_MMU
|
||||
bool
|
||||
|
||||
config BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target Architecture"
|
||||
default BR2_i386
|
||||
@@ -29,6 +26,14 @@ config BR2_arcle
|
||||
32-bit CPUs that can be used from deeply embedded to high
|
||||
performance host applications. Little endian.
|
||||
|
||||
config BR2_arceb
|
||||
bool "ARC (big endian)"
|
||||
select BR2_USE_MMU
|
||||
help
|
||||
Synopsys' DesignWare ARC Processor Cores are a family of
|
||||
32-bit CPUs that can be used from deeply embedded to high
|
||||
performance host applications. Big endian.
|
||||
|
||||
config BR2_arm
|
||||
bool "ARM (little endian)"
|
||||
# MMU support is set by the subarchitecture file, arch/Config.in.arm
|
||||
@@ -65,14 +70,6 @@ config BR2_aarch64_be
|
||||
http://www.arm.com/products/processors/instruction-set-architectures/armv8-architecture.php
|
||||
http://en.wikipedia.org/wiki/ARM
|
||||
|
||||
config BR2_hppa
|
||||
bool "HPPA"
|
||||
select BR2_USE_MMU
|
||||
help
|
||||
Precision Architecture (a.k.a. PA-RISC) is a 32-bit
|
||||
(big endian) architecture developed by Hewlett Packard.
|
||||
https://en.wikipedia.org/wiki/PA-RISC
|
||||
|
||||
config BR2_i386
|
||||
bool "i386"
|
||||
select BR2_USE_MMU
|
||||
@@ -80,16 +77,6 @@ config BR2_i386
|
||||
Intel i386 architecture compatible microprocessor
|
||||
http://en.wikipedia.org/wiki/I386
|
||||
|
||||
config BR2_loongarch64
|
||||
bool "LoongArch64"
|
||||
select BR2_USE_MMU
|
||||
select BR2_ARCH_IS_64
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
||||
help
|
||||
LoongArch64 is 64-bit architecture developed by Loongson.
|
||||
http://www.loongson.cn/
|
||||
https://en.wikipedia.org/wiki/Loongson
|
||||
|
||||
config BR2_m68k
|
||||
bool "m68k"
|
||||
# MMU support is set by the subarchitecture file, arch/Config.in.m68k
|
||||
@@ -153,6 +140,14 @@ config BR2_mips64el
|
||||
http://www.mips.com/
|
||||
http://en.wikipedia.org/wiki/MIPS_Technologies
|
||||
|
||||
config BR2_nios2
|
||||
bool "Nios II"
|
||||
select BR2_USE_MMU
|
||||
help
|
||||
Nios II is a soft core processor from Altera Corporation.
|
||||
http://www.altera.com/
|
||||
http://en.wikipedia.org/wiki/Nios_II
|
||||
|
||||
config BR2_or1k
|
||||
bool "OpenRISC"
|
||||
select BR2_USE_MMU
|
||||
@@ -317,14 +312,6 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_15
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
|
||||
config BR2_ARCH_NEEDS_GCC_AT_LEAST_16
|
||||
bool
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_15
|
||||
|
||||
# The following string values are defined by the individual
|
||||
# Config.in.$ARCH files
|
||||
config BR2_ARCH
|
||||
@@ -363,12 +350,6 @@ config BR2_GCC_TARGET_FPU
|
||||
config BR2_GCC_TARGET_FLOAT_ABI
|
||||
string
|
||||
|
||||
# The value of this option will be passed as --with-simd=<value> when
|
||||
# building gcc (internal backend) or -simd=<value> in the toolchain
|
||||
# wrapper (external toolchain)
|
||||
config BR2_GCC_TARGET_SIMD
|
||||
string
|
||||
|
||||
# The value of this option will be passed as --with-mode=<value> when
|
||||
# building gcc (internal backend) or -m<value> in the toolchain
|
||||
# wrapper (external toolchain)
|
||||
@@ -385,7 +366,7 @@ config BR2_BINFMT_SUPPORTS_SHARED
|
||||
config BR2_READELF_ARCH_NAME
|
||||
string
|
||||
|
||||
if BR2_arcle
|
||||
if BR2_arcle || BR2_arceb
|
||||
source "arch/Config.in.arc"
|
||||
endif
|
||||
|
||||
@@ -393,14 +374,6 @@ if BR2_arm || BR2_armeb || BR2_aarch64 || BR2_aarch64_be
|
||||
source "arch/Config.in.arm"
|
||||
endif
|
||||
|
||||
if BR2_hppa
|
||||
source "arch/Config.in.hppa"
|
||||
endif
|
||||
|
||||
if BR2_loongarch64
|
||||
source "arch/Config.in.loongarch"
|
||||
endif
|
||||
|
||||
if BR2_m68k
|
||||
source "arch/Config.in.m68k"
|
||||
endif
|
||||
@@ -413,6 +386,10 @@ if BR2_mips || BR2_mips64 || BR2_mipsel || BR2_mips64el
|
||||
source "arch/Config.in.mips"
|
||||
endif
|
||||
|
||||
if BR2_nios2
|
||||
source "arch/Config.in.nios2"
|
||||
endif
|
||||
|
||||
if BR2_or1k
|
||||
source "arch/Config.in.or1k"
|
||||
endif
|
||||
@@ -460,16 +437,6 @@ config BR2_BINFMT_ELF
|
||||
and executables used across different architectures and
|
||||
operating systems.
|
||||
|
||||
config BR2_BINFMT_FDPIC
|
||||
bool "FDPIC"
|
||||
depends on BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
select BR2_BINFMT_SUPPORTS_SHARED
|
||||
help
|
||||
ELF FDPIC binaries are based on ELF, but allow the individual
|
||||
load segments of a binary to be located in memory
|
||||
independently of each other. This makes this format ideal for
|
||||
use in environments where no MMU is available.
|
||||
|
||||
config BR2_BINFMT_FLAT
|
||||
bool "FLAT"
|
||||
depends on !BR2_USE_MMU
|
||||
|
||||
+9
-7
@@ -3,7 +3,7 @@ choice
|
||||
default BR2_arc770d
|
||||
depends on BR2_arc
|
||||
help
|
||||
Specific CPU to use
|
||||
Specific CPU to use
|
||||
|
||||
config BR2_arc750d
|
||||
bool "ARC 750D"
|
||||
@@ -31,7 +31,7 @@ config BR2_archs38_full
|
||||
bool "ARC HS38 with Quad MAC & FPU"
|
||||
help
|
||||
Fully featured ARC HS with additional support for
|
||||
- Dual- and quad multiply and MC operations
|
||||
- Dual- and quad multiply and MC oprations
|
||||
- Double-precision FPU
|
||||
|
||||
It corresponds to "hs38_slc_full" ARC HS template in
|
||||
@@ -40,12 +40,12 @@ config BR2_archs38_full
|
||||
config BR2_archs4x_rel31
|
||||
bool "ARC HS48 rel 31"
|
||||
help
|
||||
Build for HS48 release 3.1
|
||||
Build for HS48 release 3.1
|
||||
|
||||
config BR2_archs4x
|
||||
bool "ARC HS48"
|
||||
help
|
||||
Latest release of HS48 processor
|
||||
Latest release of HS48 processor
|
||||
- Dual and Quad multiply and MAC operations
|
||||
- Double-precision FPU
|
||||
|
||||
@@ -59,17 +59,19 @@ config BR2_ARC_ATOMIC_EXT
|
||||
default y if BR2_archs4x_rel31 || BR2_archs4x
|
||||
|
||||
config BR2_ARCH
|
||||
default "arc"
|
||||
default "arc" if BR2_arcle
|
||||
default "arceb" if BR2_arceb
|
||||
|
||||
config BR2_NORMALIZED_ARCH
|
||||
default "arc"
|
||||
|
||||
config BR2_arc
|
||||
bool
|
||||
default y
|
||||
default y if BR2_arcle || BR2_arceb
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
default "LITTLE" if BR2_arcle
|
||||
default "BIG" if BR2_arceb
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "arc700" if BR2_arc750d
|
||||
|
||||
+2
-47
@@ -89,20 +89,11 @@ config BR2_ARM_CPU_ARMV7A
|
||||
|
||||
config BR2_ARM_CPU_ARMV7M
|
||||
bool
|
||||
select BR2_ARCH_HAS_FDPIC_SUPPORT
|
||||
|
||||
config BR2_ARM_CPU_ARMV8A
|
||||
bool
|
||||
select BR2_USE_MMU
|
||||
|
||||
# Armv9.0-A base specification is a super-set of Armv8.5-A. It is
|
||||
# fully compatible with Armv8. This symbol is defined to allow checks
|
||||
# for doing Armv9 optimization. Armv8 is also selected for
|
||||
# compatibility.
|
||||
config BR2_ARM_CPU_ARMV9A
|
||||
bool
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_cortex_a53 if BR2_ARCH_IS_64
|
||||
@@ -474,14 +465,6 @@ config BR2_cortex_a76_a55
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_9
|
||||
config BR2_cortex_a78
|
||||
bool "cortex-A78"
|
||||
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_NEEDS_GCC_AT_LEAST_11
|
||||
config BR2_neoverse_n1
|
||||
bool "neoverse-N1 (aka ares)"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
@@ -504,28 +487,6 @@ config BR2_saphira
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||
|
||||
comment "armv9.0a cores"
|
||||
config BR2_cortex_a710
|
||||
bool "Cortex-A710 (aka matterhorn)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV9A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
||||
config BR2_neoverse_n2
|
||||
bool "neoverse-N2 (aka perseus)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV9A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_11
|
||||
|
||||
comment "armv9.2a cores"
|
||||
config BR2_cortex_a720
|
||||
bool "Cortex-A720 (aka hunter)"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV9A
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
endchoice
|
||||
|
||||
config BR2_ARM_ENABLE_NEON
|
||||
@@ -785,7 +746,7 @@ config BR2_ARM_INSTRUCTIONS_THUMB
|
||||
# Thumb-1 and VFP are not compatible
|
||||
depends on BR2_ARM_SOFT_FLOAT
|
||||
help
|
||||
This option instructs the compiler to generate Thumb
|
||||
This option instructions the compiler to generate Thumb
|
||||
instructions, which allows to mix 16 bits instructions and
|
||||
32 bits instructions. This generally provides a much smaller
|
||||
compiled binary size.
|
||||
@@ -798,7 +759,7 @@ config BR2_ARM_INSTRUCTIONS_THUMB2
|
||||
bool "Thumb2"
|
||||
depends on BR2_ARM_CPU_HAS_THUMB2
|
||||
help
|
||||
This option instructs the compiler to generate Thumb2
|
||||
This option instructions the compiler to generate Thumb2
|
||||
instructions, which allows to mix 16 bits instructions and
|
||||
32 bits instructions. This generally provides a much smaller
|
||||
compiled binary size.
|
||||
@@ -914,16 +875,10 @@ config BR2_GCC_TARGET_CPU
|
||||
default "cortex-a75.cortex-a55" if BR2_cortex_a75_a55
|
||||
default "cortex-a76" if BR2_cortex_a76
|
||||
default "cortex-a76.cortex-a55" if BR2_cortex_a76_a55
|
||||
default "cortex-a78" if BR2_cortex_a78
|
||||
default "neoverse-n1" if BR2_neoverse_n1
|
||||
default "tsv110" if BR2_tsv110
|
||||
# armv8.4a
|
||||
default "saphira" if BR2_saphira
|
||||
# armv9.0a
|
||||
default "cortex-a710" if BR2_cortex_a710
|
||||
default "neoverse-n2" if BR2_neoverse_n2
|
||||
# armv9.2a
|
||||
default "cortex-a720" if BR2_cortex_a720
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
default "aapcs-linux" if BR2_arm || BR2_armeb
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
choice
|
||||
prompt "Target Architecture Type"
|
||||
help
|
||||
Architecture type (or version) to use.
|
||||
|
||||
config BR2_parisc10
|
||||
bool "PA-RISC 1.0"
|
||||
config BR2_parisc11
|
||||
bool "PA-RISC 1.1"
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "hppa"
|
||||
|
||||
config BR2_NORMALIZED_ARCH
|
||||
default "parisc"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "BIG"
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "HPPA"
|
||||
@@ -1,138 +0,0 @@
|
||||
# LoongArch CPU
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_loongarch64_generic if BR2_ARCH_IS_64
|
||||
|
||||
config BR2_loongarch64_generic
|
||||
bool "Generic LoongArch 64-bit"
|
||||
depends on BR2_ARCH_IS_64
|
||||
help
|
||||
Generic LoongArch 64-bit processor.
|
||||
|
||||
config BR2_loongarch64_v1_0
|
||||
bool "LoongArch64 ISA version 1.0"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
help
|
||||
LoongArch64 ISA version 1.0 processor.
|
||||
|
||||
config BR2_loongarch64_v1_1
|
||||
bool "LoongArch64 ISA version 1.1"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_14
|
||||
help
|
||||
LoongArch64 ISA version 1.1 processor.
|
||||
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "FPU Type"
|
||||
default BR2_LOONGARCH_FPU_64
|
||||
|
||||
config BR2_LOONGARCH_FPU_64
|
||||
bool "64"
|
||||
help
|
||||
Allow the use of hardware floating-point instructions for
|
||||
32-bit and 64-bit operations.
|
||||
|
||||
config BR2_LOONGARCH_FPU_32
|
||||
bool "32"
|
||||
# Only supported by lp64s and lp64f ABIs which are marked as broken
|
||||
depends on BR2_BROKEN
|
||||
help
|
||||
Allow the use of hardware floating-point instructions for
|
||||
32-bit operations only.
|
||||
|
||||
config BR2_LOONGARCH_FPU_NONE
|
||||
bool "none"
|
||||
# Only supported by lp64s ABI which is marked as broken
|
||||
depends on BR2_BROKEN
|
||||
help
|
||||
Prevent the use of hardware floating-point instructions.
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "SIMD Type"
|
||||
default BR2_LOONGARCH_SIMD_NONE
|
||||
|
||||
config BR2_LOONGARCH_SIMD_NONE
|
||||
bool "none"
|
||||
help
|
||||
Prevent the use of hardware SIMD instructions.
|
||||
|
||||
config BR2_LOONGARCH_SIMD_LSX
|
||||
bool "LSX"
|
||||
depends on BR2_LOONGARCH_FPU_64
|
||||
help
|
||||
Enable generating instructions from the 128-bit LoongArch SIMD
|
||||
Extension (LSX).
|
||||
|
||||
config BR2_LOONGARCH_SIMD_LASX
|
||||
bool "LASX"
|
||||
depends on BR2_LOONGARCH_FPU_64
|
||||
help
|
||||
Enable generating instructions from the 256-bit LoongArch
|
||||
Advanced SIMD Extension (LASX) and the 128-bit LoongArch
|
||||
SIMD Extension (LSX).
|
||||
endchoice
|
||||
|
||||
choice
|
||||
prompt "Target ABI"
|
||||
default BR2_LOONGARCH_ABI_LP64D if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_64
|
||||
default BR2_LOONGARCH_ABI_LP64F if BR2_ARCH_IS_64 && BR2_LOONGARCH_FPU_32
|
||||
default BR2_LOONGARCH_ABI_LP64S if BR2_ARCH_IS_64 && BR2_LOONGARCH_SIMD_NONE
|
||||
|
||||
config BR2_LOONGARCH_ABI_LP64D
|
||||
bool "lp64d"
|
||||
depends on BR2_ARCH_IS_64
|
||||
depends on BR2_LOONGARCH_FPU_64
|
||||
|
||||
config BR2_LOONGARCH_ABI_LP64F
|
||||
bool "lp64f"
|
||||
depends on BR2_ARCH_IS_64
|
||||
# Failed to build host GCC initial, pending investigation
|
||||
depends on BR2_BROKEN
|
||||
depends on BR2_LOONGARCH_FPU_64 || BR2_LOONGARCH_FPU_32
|
||||
|
||||
config BR2_LOONGARCH_ABI_LP64S
|
||||
bool "lp64s"
|
||||
depends on BR2_ARCH_IS_64
|
||||
# GCC can't find libraries, pending investigation
|
||||
depends on BR2_BROKEN
|
||||
endchoice
|
||||
|
||||
config BR2_ARCH
|
||||
default "loongarch64" if BR2_ARCH_IS_64
|
||||
|
||||
config BR2_NORMALIZED_ARCH
|
||||
default "loongarch"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_GCC_TARGET_ARCH
|
||||
default "loongarch64" if BR2_loongarch64_generic
|
||||
default "la64v1.0" if BR2_loongarch64_v1_0
|
||||
default "la64v1.1" if BR2_loongarch64_v1_1
|
||||
|
||||
config BR2_GCC_TARGET_FPU
|
||||
default "64" if BR2_LOONGARCH_FPU_64
|
||||
default "32" if BR2_LOONGARCH_FPU_32
|
||||
default "none" if BR2_LOONGARCH_FPU_NONE
|
||||
|
||||
config BR2_GCC_TARGET_SIMD
|
||||
default "lasx" if BR2_LOONGARCH_SIMD_LASX
|
||||
default "lsx" if BR2_LOONGARCH_SIMD_LSX
|
||||
default "none" if BR2_LOONGARCH_FPU_NONE
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
default "lp64d" if BR2_LOONGARCH_ABI_LP64D
|
||||
default "lp64f" if BR2_LOONGARCH_ABI_LP64F
|
||||
default "lp64s" if BR2_LOONGARCH_ABI_LP64S
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "LoongArch"
|
||||
|
||||
# vim: ft=kconfig
|
||||
# -*- mode:kconfig; -*-
|
||||
@@ -23,11 +23,6 @@ choice
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_m68k_68030
|
||||
bool "68030"
|
||||
select BR2_m68k_m68k
|
||||
select BR2_USE_MMU
|
||||
|
||||
config BR2_m68k_68040
|
||||
bool "68040"
|
||||
select BR2_m68k_m68k
|
||||
@@ -41,7 +36,6 @@ config BR2_m68k_cf5208
|
||||
endchoice
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "68030" if BR2_m68k_68030
|
||||
default "68040" if BR2_m68k_68040
|
||||
default "5208" if BR2_m68k_cf5208
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
config BR2_ARCH
|
||||
default "nios2"
|
||||
|
||||
config BR2_NORMALIZED_ARCH
|
||||
default "nios2"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Altera Nios II"
|
||||
|
||||
# vim: ft=kconfig
|
||||
# -*- mode:kconfig; -*-
|
||||
@@ -45,13 +45,6 @@ config BR2_RISCV_ISA_RVV
|
||||
bool "Vector Instructions (V)"
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_12
|
||||
|
||||
config BR2_RISCV_ISA_EXTRA
|
||||
string "Append extra RISC-V ISA extensions"
|
||||
help
|
||||
Extra ISA extensions to append to the ISA extensions string.
|
||||
They are underscore-separated. For example,
|
||||
"zba_zbb_zvl256b".
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Size"
|
||||
default BR2_RISCV_64
|
||||
|
||||
@@ -379,6 +379,30 @@ config BR2_x86_grandridge
|
||||
select BR2_X86_CPU_HAS_AVX
|
||||
select BR2_X86_CPU_HAS_AVX2
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_13
|
||||
config BR2_x86_knightslanding
|
||||
bool "knightslanding"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
select BR2_X86_CPU_HAS_SSE4
|
||||
select BR2_X86_CPU_HAS_SSE42
|
||||
select BR2_X86_CPU_HAS_AVX
|
||||
select BR2_X86_CPU_HAS_AVX2
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_5
|
||||
config BR2_x86_knightsmill
|
||||
bool "knightsmill"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
select BR2_X86_CPU_HAS_SSE
|
||||
select BR2_X86_CPU_HAS_SSE2
|
||||
select BR2_X86_CPU_HAS_SSE3
|
||||
select BR2_X86_CPU_HAS_SSSE3
|
||||
select BR2_X86_CPU_HAS_SSE4
|
||||
select BR2_X86_CPU_HAS_SSE42
|
||||
select BR2_X86_CPU_HAS_AVX
|
||||
select BR2_X86_CPU_HAS_AVX2
|
||||
select BR2_ARCH_NEEDS_GCC_AT_LEAST_8
|
||||
config BR2_x86_skylake_avx512
|
||||
bool "skylake-avx512"
|
||||
select BR2_X86_CPU_HAS_MMX
|
||||
@@ -767,6 +791,8 @@ config BR2_GCC_TARGET_ARCH
|
||||
default "tremont" if BR2_x86_tremont
|
||||
default "sierraforest" if BR2_x86_sierraforest
|
||||
default "grandridge" if BR2_x86_grandridge
|
||||
default "knl" if BR2_x86_knightslanding
|
||||
default "knm" if BR2_x86_knightsmill
|
||||
default "skylake-avx512" if BR2_x86_skylake_avx512
|
||||
default "cannonlake" if BR2_x86_cannonlake
|
||||
default "icelake-client" if BR2_x86_icelake_client
|
||||
|
||||
@@ -16,7 +16,6 @@ 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_SIMD := $(call qstrip,$(BR2_GCC_TARGET_SIMD))
|
||||
GCC_TARGET_MODE := $(call qstrip,$(BR2_GCC_TARGET_MODE))
|
||||
|
||||
# Explicitly set LD's "max-page-size" instead of relying on some defaults
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#
|
||||
# Configure the GCC_TARGET_ARCH variable.
|
||||
#
|
||||
|
||||
ifeq ($(BR2_hppa),y)
|
||||
|
||||
ifeq ($(BR2_parisc10),y)
|
||||
GCC_TARGET_ARCH := 1.0
|
||||
else ifeq ($(BR2_parisc11),y)
|
||||
GCC_TARGET_ARCH := 1.1
|
||||
endif
|
||||
|
||||
endif
|
||||
@@ -39,9 +39,4 @@ ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_12),y)
|
||||
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)_zicsr_zifencei
|
||||
endif
|
||||
|
||||
ARCH_RISV_ISA_EXTRA = $(call qstrip, $(BR2_RISCV_ISA_EXTRA))
|
||||
ifneq ($(ARCH_RISV_ISA_EXTRA),)
|
||||
GCC_TARGET_ARCH := $(GCC_TARGET_ARCH)_$(ARCH_RISV_ISA_EXTRA)
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 62148e7e17f54c4a5ab5e75ad4882682c54bee818948be61a5963234fc0849fc linux-6.11.11.tar.xz
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR=$(dirname "$0")
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg"
|
||||
cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||
|
||||
+5
-11
@@ -9,7 +9,7 @@
|
||||
* Licensed under GPLv2 or later.
|
||||
*/
|
||||
/dts-v1/;
|
||||
#include "sama5d31.dtsi"
|
||||
#include "microchip/sama5d31.dtsi"
|
||||
|
||||
/ {
|
||||
model = "Acme Systems Acqua SOM";
|
||||
@@ -149,14 +149,8 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eth0_addr: eth-mac-addr@9A {
|
||||
reg = <0x0 0x06>;
|
||||
};
|
||||
eth0_addr: eth-mac-addr@9A {
|
||||
reg = <0x0 0x06>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -281,11 +275,11 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usb1: usb@600000 {
|
||||
usb1: ohci@600000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
usb2: usb@700000 {
|
||||
usb2: ehci@700000 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
# Locally calculated
|
||||
sha256 b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6 linux-6.6.30.tar.xz
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
linux_load_address=0x100000
|
||||
linux_dtb_load_address=0x100
|
||||
linux_dtb=socfpga_cyclone5_socrates.dtb
|
||||
linux_load=mmc rescan; fatload mmc 0:1 ${linux_load_address} zImage; fatload mmc 0:1 ${linux_dtb_load_address} ${linux_dtb}
|
||||
bootargs=console=ttyS0,115200 root=/dev/mmcblk0p3 ro rootwait
|
||||
source_env=fatload mmc 0:1 0x2000000 boot.scr; source 0x2000000
|
||||
bootcmd=run linux_load; bootz ${linux_load_address} - ${linux_dtb_load_address}
|
||||
bootdelay=1
|
||||
@@ -0,0 +1,59 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"socfpga_cyclone5_socrates.dtb"
|
||||
}
|
||||
}
|
||||
|
||||
size = 8M
|
||||
}
|
||||
|
||||
image uboot.img {
|
||||
hdimage {
|
||||
partition-table = "no"
|
||||
}
|
||||
|
||||
partition spl {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-spl.bin.crc"
|
||||
offset = 0
|
||||
size = 64K
|
||||
}
|
||||
|
||||
partition uboot-full {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.img"
|
||||
offset = 256K
|
||||
}
|
||||
|
||||
size = 1M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition uboot-env {
|
||||
in-partition-table = "no"
|
||||
image = "uboot-env.bin"
|
||||
offset = 17K # 512 * 34 -> just after gpt
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xc
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
partition-type = 0xa2
|
||||
image = "uboot.img"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
size = 500M
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
EBV SoCrates Evaluation Board
|
||||
|
||||
Intro
|
||||
=====
|
||||
|
||||
More information about this board can be found here:
|
||||
https://rocketboards.org/foswiki/Documentation/EBVSoCratesEvaluationBoard
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
First, load socrates config for buildroot
|
||||
|
||||
make socrates_cyclone5_defconfig
|
||||
|
||||
Build everything
|
||||
|
||||
make
|
||||
|
||||
Following files will be generated in output/images
|
||||
|
||||
.
|
||||
├── boot.vfat
|
||||
├── rootfs.ext2
|
||||
├── rootfs.ext4 -> rootfs.ext2
|
||||
├── rootfs.tar
|
||||
├── sdcard.img
|
||||
├── socfpga_cyclone5_socrates.dtb
|
||||
├── u-boot-spl.bin
|
||||
├── u-boot-spl.bin.crc
|
||||
├── u-boot.bin
|
||||
├── u-boot.img
|
||||
├── uboot-env.bin
|
||||
├── uboot.img
|
||||
└── zImage
|
||||
|
||||
|
||||
Creating bootable SD card
|
||||
=========================
|
||||
|
||||
Simply invoke
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/sdX
|
||||
|
||||
Where X is your SD card device (not partition)
|
||||
|
||||
Booting
|
||||
=======
|
||||
|
||||
Pins 6:8 on P18 selector is used to determine boot device. To boot socrates from
|
||||
sdcard set these pins to value 0x5 (101b). Remaining pins are used to determine
|
||||
how to configure FPGA and are not associated with booting into Linux kernel.
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
# Locally calculated
|
||||
sha256 880ace63ca2291b8b639e9bd862cc828649d3e1e00ccfee5861473debd2e4dec linux-6.1.91.tar.xz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
sha256 50b4482a505bc281ba8470c399a3c26e145e29b23500bc35c50debd7fa46bdf8 u-boot-2022.10.tar.bz2
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 c71af3d2c86c0a0deca4f54b51d1c35217082b030052cc3513dc42e852652733 linux-v6.0.y-andes.tar.gz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 d11702103f177a2914e94eec57ce5ed820296d874f6b6525c4482e55d71a3667 opensbi-1.6.tar.gz
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
From 16aad5594e08550295ea3c12c1c9ed6f64774748 Mon Sep 17 00:00:00 2001
|
||||
From: Rick Chen <rick@andestech.com>
|
||||
Date: Tue, 29 Mar 2022 13:41:10 +0800
|
||||
Subject: [PATCH] mmc: ftsdc010_mci: Support DTS of ftsdc010 driver for
|
||||
generic dma
|
||||
|
||||
The ftsdc010 driver has been implemented for generic dma in Linux
|
||||
kernel. And its compatible is andestech,atfsdc010g to distinguish
|
||||
the legacy andestech,atfsdc010 which is not for generic dma.
|
||||
|
||||
Althought the ftsdc010_mci driver in U-Boot does not use dma, but
|
||||
it still can work well with the mmc node for generic dma. So add
|
||||
the compatible string to support it.
|
||||
|
||||
Signed-off-by: Rick Chen <rick@andestech.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
|
||||
---
|
||||
drivers/mmc/ftsdc010_mci.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/mmc/ftsdc010_mci.c b/drivers/mmc/ftsdc010_mci.c
|
||||
index 570d54cf9d..65b1d447a8 100644
|
||||
--- a/drivers/mmc/ftsdc010_mci.c
|
||||
+++ b/drivers/mmc/ftsdc010_mci.c
|
||||
@@ -460,6 +460,7 @@ int ftsdc010_mmc_bind(struct udevice *dev)
|
||||
|
||||
static const struct udevice_id ftsdc010_mmc_ids[] = {
|
||||
{ .compatible = "andestech,atfsdc010" },
|
||||
+ { .compatible = "andestech,atfsdc010g" },
|
||||
{ }
|
||||
};
|
||||
|
||||
--
|
||||
2.34.1
|
||||
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
From 933ad8a59f7fd9b2088badc3e97167d750a40b5a Mon Sep 17 00:00:00 2001
|
||||
From: Bin Meng <bmeng.cn@gmail.com>
|
||||
Date: Mon, 12 Jul 2021 11:52:31 +0800
|
||||
Subject: [PATCH] spl: Align device tree blob address at 8-byte boundary
|
||||
|
||||
Since libfdt v1.6.1, a new requirement on the device tree address via:
|
||||
|
||||
commit 5e735860c478 ("libfdt: Check for 8-byte address alignment in fdt_ro_probe_()")
|
||||
|
||||
must be met that the device tree must be loaded in to memory at an
|
||||
8-byte aligned address.
|
||||
|
||||
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
|
||||
|
||||
This patch was imported from U-boot patchwork:
|
||||
https://patchwork.ozlabs.org/project/uboot/patch/20210712035231.26475-1-bmeng.cn@gmail.com/
|
||||
|
||||
Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
|
||||
---
|
||||
common/spl/spl_fit.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/common/spl/spl_fit.c b/common/spl/spl_fit.c
|
||||
index a35be529..a76ad14a 100644
|
||||
--- a/common/spl/spl_fit.c
|
||||
+++ b/common/spl/spl_fit.c
|
||||
@@ -382,6 +382,12 @@ static int spl_fit_append_fdt(struct spl_image_info *spl_image,
|
||||
*/
|
||||
image_info.load_addr = spl_image->load_addr + spl_image->size;
|
||||
|
||||
+ /*
|
||||
+ * Since libfdt v1.6.1, the device tree must be loaded in to memory
|
||||
+ * at an 8-byte aligned address.
|
||||
+ */
|
||||
+ image_info.load_addr = roundup(image_info.load_addr, 8);
|
||||
+
|
||||
/* Figure out which device tree the board wants to use */
|
||||
node = spl_fit_get_image_node(ctx, FIT_FDT_PROP, index++);
|
||||
if (node < 0) {
|
||||
--
|
||||
2.34.1
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2
|
||||
@@ -1,3 +1,3 @@
|
||||
#!/bin/sh
|
||||
cp "$BINARIES_DIR"/Image "$TARGET_DIR"/boot
|
||||
cp "$BINARIES_DIR"/ae350_ax45mp.dtb "$TARGET_DIR"/boot
|
||||
cp $BINARIES_DIR/Image $TARGET_DIR/boot
|
||||
cp $BINARIES_DIR/ae350_ax45mp.dtb $TARGET_DIR/boot
|
||||
|
||||
@@ -41,49 +41,6 @@ After building, you should obtain the following files:
|
||||
|-- u-boot-spl.bin
|
||||
`-- u-boot.itb
|
||||
|
||||
How to update the bootloader and device-tree
|
||||
============================================
|
||||
|
||||
To update the bootloader and device tree, make sure you have
|
||||
an ICEman (Andes OpenOCD [1]) and AICE [2] connection set up
|
||||
as below:
|
||||
|
||||
Local Host Local/Remote Host
|
||||
.-----------------. .--------------.
|
||||
| buildroot images| | |
|
||||
| | ICEman host <IP:PORT>
|
||||
| .----------. | | .--------. |
|
||||
| | SPI_burn |<---+--socket--+->| ICEman | |
|
||||
| '----------' | | '--.-----' |
|
||||
'-----------------' '-----|--------'
|
||||
|
|
||||
USB
|
||||
.--------------. |
|
||||
| target | .-----v-----.
|
||||
| board <----JTAG---| AICE |
|
||||
| | '-----------'
|
||||
'--------------'
|
||||
|
||||
[1] https://github.com/andestech/ICEman
|
||||
[2] https://www.andestech.com/en/products-solutions/andeshape-platforms/aice-micro/
|
||||
|
||||
The Andes SPI_burn tool will be located in output/host/bin. Use
|
||||
the following commands to update the bootloader and device tree:
|
||||
|
||||
$ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x0 -i u-boot-spl.bin
|
||||
$ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0x10000 -i u-boot.itb
|
||||
$ SPI_burn --host $ICE_IP --port $ICE_BURNER_PORT --addr 0xf0000 -i ae350_ax45mp.dtb
|
||||
|
||||
Note that the --addr option specifies the offset starting from
|
||||
the flash base address 0x80000000 and set by U-Boot configurations.
|
||||
e.g.
|
||||
u-boot-spl.bin : CONFIG_SPL_TEXT_BASE=0x80000000
|
||||
u-boot.itb : CONFIG_SPL_LOAD_FIT_ADDRESS=0x80010000
|
||||
ae350_ax45mp.dtb: CONFIG_SYS_FDT_BASE=0x800f0000
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Copy the sdcard.img to a SD card with "dd":
|
||||
|
||||
$ sudo dd if=sdcard.img of=/dev/sdX bs=4096
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
CONFIG_SPL_FS_FAT=y
|
||||
CONFIG_SPL_MMC=y
|
||||
# CONFIG_SPL_RAM_SUPPORT is not set
|
||||
CONFIG_SPL_OPENSBI_LOAD_ADDR=0x0
|
||||
CONFIG_SPL_OPENSBI_SCRATCH_OPTIONS=0x0
|
||||
CONFIG_DISPLAY_CPUINFO=y
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 3507dd105b0a0e1101bd43d294472fccf853429a259a5fa7c67467bba318f8e9 linux-6.15.7.tar.xz
|
||||
@@ -1,39 +1,16 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
This is the support for the ARM Foundation v8 machine emulated by the
|
||||
ARM software simulator of the AArch64 architecture.
|
||||
|
||||
Building
|
||||
========
|
||||
First, one has to download the AArch64 software simulator from:
|
||||
|
||||
$ make arm_foundationv8_defconfig
|
||||
$ make
|
||||
https://armkeil.blob.core.windows.net/developer/Files/downloads/ecosystem-models/Foundation_Platform_11.20_15_Linux64.tgz
|
||||
|
||||
Generated files under output/images:
|
||||
|
||||
* linux-system.axf: An image comprising the boot-wrapper-aarch64 minimal
|
||||
firmware and bootloader, a Devicetree and the Linux kernel.
|
||||
* rootfs.ext2: The OS root filesystem.
|
||||
|
||||
Running on the simulator
|
||||
========================
|
||||
|
||||
Download the AArch64 software simulator from one of the following sources,
|
||||
corresponding to your host computer:
|
||||
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.29/Foundation_Platform_11.29_27_Linux64.tgz
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.29/Foundation_Platform_11.29_27_Linux64_armv8l.tgz
|
||||
|
||||
The model will be located under one of the corresponding folders:
|
||||
|
||||
- Foundation_Platformpkg/models/Linux64_GCC-9.3
|
||||
- Foundation_Platformpkg/models/Linux64_armv8l_GCC-9.3
|
||||
Then, use the arm_foundationv8_defconfig configuration to build your
|
||||
Buildroot system.
|
||||
|
||||
Finally, boot your system with:
|
||||
|
||||
Foundation_Platform \
|
||||
--arm-v8.0 \
|
||||
${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-9.3/Foundation_Platform \
|
||||
--image output/images/linux-system.axf \
|
||||
--block-device output/images/rootfs.ext2 \
|
||||
--network=nat \
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
# Arm A-Profile Base RevC AEM FVP config
|
||||
bp.secure_memory=1
|
||||
bp.terminal_1.start_telnet=0
|
||||
bp.ve_sysregs.exit_on_shutdown=1
|
||||
bp.virtio_net.enabled=1
|
||||
bp.virtio_net.hostbridge.userNetworking=1
|
||||
bp.vis.rate_limit-enable=1
|
||||
cache_state_modelled=0
|
||||
cluster0.NUM_CORES=4
|
||||
cluster0.cpu0.enable_crc32=1
|
||||
cluster0.cpu1.enable_crc32=1
|
||||
cluster0.cpu2.enable_crc32=1
|
||||
cluster0.cpu3.enable_crc32=1
|
||||
cluster1.NUM_CORES=4
|
||||
cluster1.cpu0.enable_crc32=1
|
||||
cluster1.cpu1.enable_crc32=1
|
||||
cluster1.cpu2.enable_crc32=1
|
||||
cluster1.cpu3.enable_crc32=1
|
||||
pctl.startup=0.0.0.0
|
||||
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2024, ARM Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
||||
#include "fvp-base-gicv3-psci-1t.dts"
|
||||
|
||||
/* The TF-A Devicetree does not have the OP-TEE node; let's add it. */
|
||||
|
||||
/ {
|
||||
firmware {
|
||||
optee {
|
||||
compatible = "linaro,optee-tz";
|
||||
method = "smc";
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -1,31 +0,0 @@
|
||||
image efi-part.vfat {
|
||||
vfat {
|
||||
file EFI {
|
||||
image = "efi-part/EFI"
|
||||
}
|
||||
|
||||
file Image {
|
||||
image = "Image"
|
||||
}
|
||||
}
|
||||
|
||||
size = 128M
|
||||
}
|
||||
|
||||
image disk.img {
|
||||
hdimage {
|
||||
partition-table-type = "gpt"
|
||||
}
|
||||
|
||||
partition boot {
|
||||
image = "efi-part.vfat"
|
||||
partition-type-uuid = U
|
||||
offset = 32K
|
||||
bootable = true
|
||||
}
|
||||
|
||||
partition root {
|
||||
partition-type-uuid = b921b045-1df0-41c3-af44-4c6f280d3fae
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /Image root=PARTLABEL=root rootwait
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 a899100d9d92ceb1290fd4d61f5dd3b8af6b0e937cebc3c711cb514ac5acfaed arm-trusted-firmware-v2.14.0-git4.tar.gz
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 9106a4605da9e31ff17659d958782b815f9591ab308d03b0ee21aad6c7dced4b linux-6.18.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 464b3bf5bc4a61830357dbf81a0e5b89414d3bca1c2a752570cb0e40d2f1e637 optee-client-4.8.0.tar.gz
|
||||
-34
@@ -1,34 +0,0 @@
|
||||
From 1debd0c8bd46255f8c22b128ec16586ef9154869 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Vincent=20Stehl=C3=A9?= <vincent.stehle@arm.com>
|
||||
Date: Tue, 2 Dec 2025 15:53:23 +0100
|
||||
Subject: [PATCH] plat-vexpress: redirect console to uart0
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
For consistency with TF-A, U-Boot and Linux.
|
||||
|
||||
Upstream: Not applicable. Buildroot specific.
|
||||
Signed-off-by: Vincent Stehlé <vincent.stehle@arm.com>
|
||||
---
|
||||
core/arch/arm/plat-vexpress/platform_config.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/core/arch/arm/plat-vexpress/platform_config.h b/core/arch/arm/plat-vexpress/platform_config.h
|
||||
index 9231f3048..76c7fdb36 100644
|
||||
--- a/core/arch/arm/plat-vexpress/platform_config.h
|
||||
+++ b/core/arch/arm/plat-vexpress/platform_config.h
|
||||
@@ -23,8 +23,8 @@
|
||||
|
||||
#define IT_UART1 38
|
||||
|
||||
-#define CONSOLE_UART_BASE UART1_BASE
|
||||
-#define IT_CONSOLE_UART IT_UART1
|
||||
+#define CONSOLE_UART_BASE UART0_BASE
|
||||
+#undef IT_CONSOLE_UART
|
||||
|
||||
#elif defined(PLATFORM_FLAVOR_juno)
|
||||
|
||||
--
|
||||
2.51.0
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 5222cd553f5edb69ae4ec7cb99b2bfec2c47a47c0be1865b49744701918e8b4d optee-os-4.8.0.tar.gz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 b4f032848e56cc8f213ad59f9132c084dbbb632bc29176d024e58220e0efdf4a u-boot-2025.10.tar.bz2
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
BOARD_DIR=$(dirname "$0")
|
||||
|
||||
# Override the default GRUB configuration file with our own.
|
||||
cp -f "${BOARD_DIR}/grub.cfg" "${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg"
|
||||
@@ -1,110 +0,0 @@
|
||||
Introduction
|
||||
============
|
||||
|
||||
The arm_fvp_ebbr_defconfig is meant to illustrate some aspects of the Arm EBBR
|
||||
specification[1] and the Arm SystemReady Devicetree band[2].
|
||||
It allows building an AArch64 U-Boot based firmware implementing the subset of
|
||||
UEFI defined by EBBR, as well as a Linux OS disk image booting with UEFI, to run
|
||||
on the Arm A-Profile Base RevC AEM FVP.
|
||||
|
||||
Building
|
||||
========
|
||||
|
||||
$ make arm_fvp_ebbr_defconfig
|
||||
$ make
|
||||
|
||||
Generated files under output/images:
|
||||
|
||||
* bl1.bin: A ROM image built from TF-A.
|
||||
* fip.bin: A firmware image comprising TF-A, OP-TEE and the U-Boot bootloader.
|
||||
* disk.img: An OS disk image comprising the GRUB bootloader, the Linux kernel
|
||||
and the root filesystem.
|
||||
|
||||
Running on the FVP
|
||||
==================
|
||||
|
||||
Download the FVP from one of the following sources, corresponding to your host
|
||||
computer:
|
||||
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.30/FVP_Base_RevC-2xAEMvA_11.30_27_Linux64.tgz
|
||||
- https://developer.arm.com/-/cdn-downloads/permalink/FVPs-Architecture/FM-11.30/FVP_Base_RevC-2xAEMvA_11.30_27_Linux64_armv8l.tgz
|
||||
|
||||
The FVP will be located under one of the corresponding folders:
|
||||
|
||||
- Base_RevC_AEMvA_pkg/models/Linux64_GCC-9.3
|
||||
- Base_RevC_AEMvA_pkg/models/Linux64_armv8l_GCC-9.3
|
||||
|
||||
Run the simulation with:
|
||||
|
||||
FVP_Base_RevC-2xAEMvA \
|
||||
--config-file board/arm/fvp-ebbr/fvp-config.txt \
|
||||
-C bp.secureflashloader.fname="output/images/bl1.bin" \
|
||||
-C bp.flashloader0.fname="output/images/fip.bin" \
|
||||
-C bp.virtioblockdevice.image_path="output/images/disk.img"
|
||||
|
||||
The login prompt will appear in a new X terminal.
|
||||
|
||||
Using the EBBR firmware to run another OS on the FVP
|
||||
----------------------------------------------------
|
||||
|
||||
It is possible to use the generated firmware binaries to run another OS
|
||||
supporting the EBBR specification.
|
||||
|
||||
To run another OS on simulation using a live or pre-installed image, use the
|
||||
same FVP command line as for the generated OS but adapt the OS image path in the
|
||||
virtioblockdevice stanza.
|
||||
The image generated by the aarch64_efi_defconfig or the Arm ACS Devicetree
|
||||
images[3] are examples of pre-installed OS images.
|
||||
Linux distributions such as Debian, Fedora, openSUSE or Ubuntu, or FreeBSD
|
||||
provide live or pre-installed OS image.
|
||||
|
||||
Firmware details
|
||||
================
|
||||
|
||||
Noteworthy firmware features:
|
||||
|
||||
- TF-A, OP-TEE & U-Boot
|
||||
- UEFI, with EFI variables stored on disk in the ESP
|
||||
- Support for ethernet, RTC and LCD
|
||||
|
||||
Architecture diagram:
|
||||
|
||||
Non-Secure : Secure
|
||||
:
|
||||
+---------------------------+ :
|
||||
EL0 | Busybox | :
|
||||
+---------------------------+ : +--------+
|
||||
EL1 | Linux | : | OP-TEE | S-EL1
|
||||
+---------------------------+ : +--------+
|
||||
EL2 | U-Boot, GRUB, Linux (kvm) | :
|
||||
+---------------------------+ :
|
||||
...................................:
|
||||
+----------------------------------------+
|
||||
| TF-A | EL3
|
||||
+----------------------------------------+
|
||||
|
||||
Boot flow:
|
||||
|
||||
TF-A -+-> OP-TEE
|
||||
`-> U-Boot -> GRUB -> Linux -> Busybox
|
||||
|
||||
TF-A BL1 loads the fit image with the remaining pieces of TF-A, OP-TEE and
|
||||
U-Boot.
|
||||
OP-TEE boots, calls back TF-A to go to normal world.
|
||||
U-Boot loads GRUB with UEFI, boots Linux at EL2.
|
||||
|
||||
In this configuration, the Devicetree is static and fully contained in TF-A.
|
||||
|
||||
Miscellaneous
|
||||
=============
|
||||
|
||||
This configuration is inspired by the arm_foundationv8_defconfig, the
|
||||
qemu_aarch64_virt_defconfig and the Arm SystemReady Devicetree Band Integration
|
||||
and Testing Guide[4].
|
||||
|
||||
Firmware update, GOP, MMC and RNG are currently not supported.
|
||||
|
||||
[1] https://github.com/ARM-software/ebbr
|
||||
[2] https://www.arm.com/architecture/system-architectures/systemready-compliance-program/systemready-devicetree-band
|
||||
[3] https://github.com/ARM-software/arm-systemready/tree/main/SystemReady-devicetree-band/prebuilt_images
|
||||
[4] https://developer.arm.com/documentation/DUI1101/latest/
|
||||
@@ -1,52 +0,0 @@
|
||||
CONFIG_ARM_SMCCC_FEATURES=y
|
||||
CONFIG_BOOTCOMMAND="bootflow scan -lb"
|
||||
CONFIG_BOOTMETH_DISTRO=y
|
||||
CONFIG_BOOTM_EFI=y
|
||||
CONFIG_BOOTSTD_BOOTCOMMAND=y
|
||||
CONFIG_BOOTSTD_DEFAULTS=y
|
||||
CONFIG_BOOTSTD_FULL=y
|
||||
CONFIG_CMD_BOOTDEV=y
|
||||
CONFIG_CMD_BOOTEFI=y
|
||||
CONFIG_CMD_BOOTEFI_HELLO=y
|
||||
CONFIG_CMD_BOOTEFI_HELLO_COMPILE=y
|
||||
CONFIG_CMD_BOOTEFI_SELFTEST=y
|
||||
CONFIG_CMD_BOOTMETH=y
|
||||
CONFIG_CMD_DM=y
|
||||
CONFIG_CMD_EFIDEBUG=y
|
||||
CONFIG_CMD_EFI_VARIABLE_FILE_STORE=y
|
||||
CONFIG_CMD_GETTIME=y
|
||||
CONFIG_CMD_GPT=y
|
||||
CONFIG_CMD_NVEDIT_EFI=y
|
||||
CONFIG_CMD_POWEROFF=y
|
||||
CONFIG_CMD_RNG=y
|
||||
CONFIG_CMD_RTC=y
|
||||
CONFIG_CMD_SMC=y
|
||||
CONFIG_CMD_TIME=y
|
||||
CONFIG_DM_RNG=y
|
||||
CONFIG_DM_RTC=y
|
||||
CONFIG_EFI_DEVICE_PATH_TO_TEXT=y
|
||||
CONFIG_EFI_GET_TIME=y
|
||||
CONFIG_EFI_HAVE_RUNTIME_RESET=y
|
||||
CONFIG_EFI_LOADER=y
|
||||
CONFIG_EFI_LOADER_HII=y
|
||||
CONFIG_EFI_MM_COMM_TEE=y
|
||||
CONFIG_EFI_PARTITION=y
|
||||
CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
|
||||
CONFIG_EFI_SECURE_BOOT=y
|
||||
CONFIG_EFI_SET_TIME=y
|
||||
CONFIG_EFI_UNICODE_CAPITALIZATION=y
|
||||
CONFIG_EFI_UNICODE_COLLATION_PROTOCOL2=y
|
||||
CONFIG_EFI_VARIABLE_FILE_STORE=y
|
||||
CONFIG_FAT_WRITE=y
|
||||
CONFIG_FIT=y
|
||||
CONFIG_FS_FAT=y
|
||||
CONFIG_ISO_PARTITION=y
|
||||
CONFIG_MISC=y
|
||||
CONFIG_OF_CONTROL=y
|
||||
CONFIG_OF_LIBFDT=y
|
||||
CONFIG_OPTEE=y
|
||||
CONFIG_PARTITION_TYPE_GUID=y
|
||||
CONFIG_RNG_OPTEE=y
|
||||
CONFIG_TEE=y
|
||||
CONFIG_USE_BOOTCOMMAND=y
|
||||
CONFIG_VEXPRESS_CONFIG=y
|
||||
@@ -30,11 +30,11 @@ image flash.img {
|
||||
partition fitimage {
|
||||
image = "image.itb"
|
||||
offset = 512K
|
||||
size = 7000K
|
||||
size = 4352K
|
||||
}
|
||||
|
||||
partition spare {
|
||||
offset = 7512K
|
||||
size = 25256K
|
||||
offset = 4864K
|
||||
size = 27904K
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 5be3daa1f9427b1bdb34c4894d9c1adfac38cff674376fe0611a3065729a1a81 linux-6.16.7.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 0f933f6c5a426895bf306e93e6ac53c60870e4b54cda56d95211bec99e63bec7 u-boot-2025.07.tar.bz2
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 5be3daa1f9427b1bdb34c4894d9c1adfac38cff674376fe0611a3065729a1a81 linux-6.16.7.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 16da36d1832f058cf1a6673b6a2eedeef1260576c15e76c4998e30d0fb13d339 uboot-66672e5af36fe294df56f8e7942069e3909f3790-git4.tar.gz
|
||||
@@ -3,8 +3,8 @@
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
mkimage=$HOST_DIR/bin/mkimage
|
||||
|
||||
BOARD_DT=$(sed -nr \
|
||||
-e 's|^BR2_LINUX_KERNEL_INTREE_DTS_NAME="(aspeed/)?([a-z0-9\-]*).*"$|\2|p' \
|
||||
BOARD_DT=$(sed -n \
|
||||
's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9\-]*\).*"$/\1/p' \
|
||||
${BR2_CONFIG})
|
||||
|
||||
sed -e "s/%BOARD_DTB%/${BOARD_DT}.dtb/" \
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally computed
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
@@ -1 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
@@ -1 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 37f0c5d5c242c1d604e87d48f08795e861a5a85f725b4ca11d0a538f12ff8cff linux-6.18.8.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
@@ -1 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2
|
||||
@@ -1,38 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"MLO",
|
||||
"u-boot.img",
|
||||
"zImage",
|
||||
"uEnv.txt",
|
||||
"am335x-evm.dtb",
|
||||
"am335x-evmsk.dtb",
|
||||
"am335x-bone.dtb",
|
||||
"am335x-boneblack.dtb",
|
||||
"am335x-bonegreen.dtb",
|
||||
"am335x-boneblack-wireless.dtb",
|
||||
"am335x-bonegreen-wireless.dtb",
|
||||
"am335x-bonegreen-eco.dtb",
|
||||
"extlinux"
|
||||
}
|
||||
}
|
||||
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# From https://cdn.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 d0a78bf3f0d12aaa10af3b5adcaed5bc767b5b78705e5ef885d5e930b72e25d5 linux-6.18.1.tar.xz
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
BOARD_DIR="$(dirname "$0")"
|
||||
|
||||
cp "${BOARD_DIR}/uEnv.txt" "${BINARIES_DIR}/uEnv.txt"
|
||||
|
||||
install -m 0644 -D "${BOARD_DIR}/extlinux.conf" "${BINARIES_DIR}/extlinux/extlinux.conf"
|
||||
@@ -1,67 +0,0 @@
|
||||
CircuitCo BeagleBone
|
||||
Texas Instuments AM335x Evaluation Module (TMDXEVM3358)
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This configuration will build a complete image for the beaglebone and
|
||||
the TI AM335x-EVM, the board type is identified by the on-board
|
||||
EEPROM. The configuration is based on the
|
||||
ti-processor-sdk-06.01.00.08. Device tree blobs for beaglebone
|
||||
variants and the evm-sk are built too.
|
||||
|
||||
For Qt5 support support use the beaglebone_qt5_defconfig.
|
||||
|
||||
How to build it
|
||||
===============
|
||||
|
||||
Select the default configuration for the target:
|
||||
$ make beaglebone_defconfig
|
||||
|
||||
Optional: modify the configuration:
|
||||
$ make menuconfig
|
||||
|
||||
Build:
|
||||
$ make
|
||||
|
||||
Result of the build
|
||||
===================
|
||||
output/images/
|
||||
+-- am335x-boneblack.dtb
|
||||
+-- am335x-boneblack-wireless.dtb
|
||||
+-- am335x-boneblue.dtb
|
||||
+-- am335x-bonegreen.dtb
|
||||
+-- am335x-bonegreen-eco.dtb
|
||||
+-- am335x-bonegreen-wireless.dtb
|
||||
+-- am335x-bone.dtb
|
||||
+-- am335x-evm.dtb
|
||||
+-- am335x-evmsk.dtb
|
||||
+-- boot.vfat
|
||||
+-- MLO
|
||||
+-- rootfs.ext2
|
||||
+-- rootfs.tar
|
||||
+-- sdcard.img
|
||||
+-- u-boot.img
|
||||
+-- uEnv.txt
|
||||
+-- zImage
|
||||
|
||||
To copy the image file to the sdcard use dd:
|
||||
$ dd if=output/images/sdcard.img of=/dev/XXX
|
||||
|
||||
|
||||
Running Qt5 hellowindow opengl demo:
|
||||
===================
|
||||
# export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt5/eglfs_kms_cfg.json
|
||||
# export QT_QPA_PLATFORM=eglfs
|
||||
# export QT_QPA_EGLFS_INTEGRATION=none
|
||||
# /usr/lib/qt/examples/opengl/hellowindow/hellowindow
|
||||
|
||||
|
||||
Tested hardware
|
||||
===============
|
||||
am335x-evm (rev. 1.1A)
|
||||
beagleboneblack (rev. A5A)
|
||||
beaglebone (rev. A6)
|
||||
|
||||
2020, Adam Duskett <aduskett@gmail.com>
|
||||
2016, Lothar Felten <lothar.felten@gmail.com>
|
||||
@@ -1,30 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"MLO",
|
||||
"u-boot.img",
|
||||
"zImage",
|
||||
"am5729-beagleboneai.dtb",
|
||||
"uEnv.txt"
|
||||
}
|
||||
}
|
||||
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
||||
@@ -1 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 c435bd74d1c21fc5a950781a50d78bae2b93944144694843359948ad3afc72a5 linux-6.12.50.tar.xz
|
||||
-31
@@ -1,31 +0,0 @@
|
||||
From 0b161f8e89a411fe54059cf1d0ba61354ee1e8a2 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Nelson <robertcnelson@gmail.com>
|
||||
Date: Wed, 3 Aug 2022 11:28:10 -0500
|
||||
Subject: [PATCH] am57xx/board.c: assume on failure its a BBONE-AI
|
||||
|
||||
Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
|
||||
Upstream: https://github.com/beagleboard/u-boot/commit/0b161f8e89a411fe54059cf1d0ba61354ee1e8a2
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
board/ti/am57xx/board.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/board/ti/am57xx/board.c b/board/ti/am57xx/board.c
|
||||
index cfc825e52a3..f369693f382 100644
|
||||
--- a/board/ti/am57xx/board.c
|
||||
+++ b/board/ti/am57xx/board.c
|
||||
@@ -529,8 +529,10 @@ void do_board_detect(void)
|
||||
|
||||
rc = ti_i2c_eeprom_am_get(CONFIG_EEPROM_BUS_ADDRESS,
|
||||
CONFIG_EEPROM_CHIP_ADDRESS);
|
||||
- if (rc)
|
||||
+ if (rc) {
|
||||
printf("ti_i2c_eeprom_init failed %d\n", rc);
|
||||
+ ti_i2c_eeprom_am_set("BBONE-AI", "A");
|
||||
+ };
|
||||
|
||||
#ifdef CONFIG_SUPPORT_EMMC_BOOT
|
||||
rc = board_bootmode_has_emmc();
|
||||
--
|
||||
2.39.5
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 439d3bef296effd54130be6a731c5b118be7fddd7fcc663ccbc5fb18294d8718 u-boot-2025.04.tar.bz2
|
||||
@@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
cp board/beagleboard/beagleboneai/uEnv.txt "$BINARIES_DIR/uEnv.txt"
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 7efa89e1b4e4106ee05d68e876c8efbb146364d89cfd5d26bf4647b09c08f32b arm-trusted-firmware-v2.10-git4.tar.gz
|
||||
sha256 2e18b881ada9198173238cca80086c787b1fa3f698944bde1743142823fc511c arm-trusted-firmware-v2.10.tar.gz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# From https://www.kernel.org/pub/linux/kernel/v6.x/sha256sums.asc
|
||||
sha256 9b4ccec7d8ceff4824f149e476ec06e83c86546ae8af82582871647809a62ef0 linux-6.12.70.tar.xz
|
||||
# Locally calculated
|
||||
sha256 b66a5b863b0f8669448b74ca83bd641a856f164b29956e539bbcb5fdeeab9cc6 linux-6.6.30.tar.xz
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b60d5865cefdbc75da8da4156c56c458e00de75a49b80c1a2e58a96e30ad0d54 u-boot-2026.01.tar.bz2
|
||||
sha256 18a853fe39fad7ad03a90cc2d4275aeaed6da69735defac3492b80508843dd4a u-boot-2024.04.tar.bz2
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
label beagleplay-buildroot
|
||||
kernel /Image
|
||||
fdtdir /
|
||||
devicetree /k3-am625-beagleplay.dtb
|
||||
append console=ttyS2,115200n8 root=/dev/mmcblk1p2 rw rootfstype=ext4 rootwait earlycon=ns16550a,mmio32,0x02800000
|
||||
@@ -1,39 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"k3-am625-beagleplay.dtb",
|
||||
"tiboot3.bin",
|
||||
}
|
||||
|
||||
file tispl.bin {
|
||||
image = tispl.bin_unsigned
|
||||
}
|
||||
|
||||
file u-boot.img {
|
||||
image = u-boot.img_unsigned
|
||||
}
|
||||
|
||||
file extlinux/extlinux.conf {
|
||||
image = extlinux.conf
|
||||
}
|
||||
}
|
||||
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 c0f23ccc71c49989e9ad238acf334473c17b7c88f79a20c829c3d443e3794a22 arm-trusted-firmware-v2.11-git4.tar.gz
|
||||
@@ -1 +0,0 @@
|
||||
../linux/linux.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 774698422ee54c5f1e704456f37c65c06b51b4e9a8b0866f34580d86fef8e226 linux-6.10.tar.xz
|
||||
@@ -1 +0,0 @@
|
||||
../uboot/uboot.hash
|
||||
@@ -1,2 +0,0 @@
|
||||
# Locally calculated
|
||||
sha256 f591da9ab90ef3d6b3d173766d0ddff90c4ed7330680897486117df390d83c8f u-boot-2024.07.tar.bz2
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/sh -x
|
||||
|
||||
BOARD_DIR="$(dirname "$0")"
|
||||
|
||||
install -m 0644 -D "$BOARD_DIR"/extlinux.conf "$BINARIES_DIR"/extlinux.conf
|
||||
@@ -1,39 +0,0 @@
|
||||
BeagleBoard's BeaglePlay
|
||||
|
||||
Description
|
||||
===========
|
||||
|
||||
This configuration will build a complete image for the BeaglePlay
|
||||
board: https://www.beagleboard.org/boards/beagleplay
|
||||
|
||||
How to Build
|
||||
============
|
||||
|
||||
Select the default configuration for the target:
|
||||
|
||||
$ make beagleplay_defconfig
|
||||
|
||||
Optional: modify the configuration:
|
||||
|
||||
$ make menuconfig
|
||||
|
||||
NOTE: The AM625x processor has multiple security variants. You must
|
||||
ensure the matching tiboot3.bin is uses or the board will not boot.
|
||||
The BeaglePlay uses the General Purpose (GP) variant, ensure you use
|
||||
the tiboot3-am62x-gp-evm.bin
|
||||
|
||||
Build:
|
||||
|
||||
$ make
|
||||
|
||||
To copy the resultimg output image file to an SD card use dd:
|
||||
|
||||
$ dd if=output/images/sdcard.img of=/dev/sdX bs=1M
|
||||
|
||||
How to Run
|
||||
==========
|
||||
|
||||
This configuration has both the boot/ and root/ partitions which is
|
||||
capable of booting from the bootloaders embedded in the eMMC as well
|
||||
as when using holding the USR button to boot from the SD card.
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
Beagle-V Fire
|
||||
==============
|
||||
|
||||
BeagleV Fire is a low-cost RISC-V 64-bit based platform, powered by
|
||||
Microchip's PolarFire SoC. This file describes how to use the
|
||||
pre-defined Buildroot configuration for the Beagle-V Fire board.
|
||||
|
||||
Further information about the Beagle-V Fire can be found at
|
||||
https://docs.beagleboard.org/latest/boards/beaglev/fire/index.html.
|
||||
|
||||
|
||||
Building
|
||||
========
|
||||
|
||||
Configure Buildroot using the default board configuration:
|
||||
|
||||
'$ make beaglev_fire_defconfig'
|
||||
|
||||
Customise the build as necessary:
|
||||
|
||||
'$ make menuconfig'
|
||||
|
||||
Start the build:
|
||||
|
||||
'$ make'
|
||||
|
||||
|
||||
Result of the build
|
||||
===================
|
||||
|
||||
Once the build has finished you will have the following files:
|
||||
|
||||
output/images/
|
||||
+-- boot.scr
|
||||
+-- boot.vfat
|
||||
+-- Image
|
||||
+-- Image.gz
|
||||
+-- beaglev_fire.itb
|
||||
+-- beaglev_fire.its
|
||||
+-- mpfs-beaglev-fire.dtb
|
||||
+-- payload.bin
|
||||
+-- rootfs.ext2
|
||||
+-- rootfs.ext4
|
||||
+-- rootfs.tar
|
||||
+-- sdcard.img
|
||||
+-- u-boot.bin
|
||||
|
||||
|
||||
Flashing the image to your eMMC
|
||||
===============================
|
||||
|
||||
By default Buildroot builds an image suitable for the eMMC. The first partition
|
||||
of this image contains a U-Boot binary, embedded in a Hart Software Services
|
||||
(HSS) payload. The second partition contains a FAT filesystem with a U-Boot env
|
||||
and an ITB file containing the kernel and the device tree. The third partition
|
||||
contains the file system. This image can be written directly to the eMMC.
|
||||
|
||||
To do so, follow the below steps:
|
||||
|
||||
1. Connect to BeagleV-Fire UART debug port using a 3.3v USB to UART bridge.
|
||||
|
||||
2. Now you can run `tio <port>` in a terminal window to access the UART debug
|
||||
port connection.
|
||||
e.g `tio /dev/ttyUSB4`
|
||||
|
||||
3. Once you are connected properly, you can press the Reset button which will
|
||||
show you a progress bar.
|
||||
|
||||
4. Press any key in the terminal application to stop the HSS from booting. This
|
||||
will give you access to the HSS command line interface and a ">>" for input
|
||||
will be displayed in the terminal.
|
||||
|
||||
5. Type `usbdmsc` in the HSS command line interface. The HSS `usbdmsc` command
|
||||
exposes the eMMC as a USB mass storage device using the USB type C connector.
|
||||
If successful, a message saying "USB Host connected" will be displayed.
|
||||
|
||||
6. The eMMC should now appear as mass storage device/drive on your host PC, as
|
||||
it is mounted through your USB type C connector.
|
||||
|
||||
7. Now, all you need to do is dd the image to the eMMC, which can be done with
|
||||
the following command on your development host:
|
||||
|
||||
'$ sudo dd if=output/images/sdcard.img of=/dev/sdX bs=1M'
|
||||
|
||||
You will have to replace /dev/sdX by the actual device name of your eMMC.
|
||||
Please, be especially cautious not to overwrite the wrong drive as this cannot
|
||||
be undone.
|
||||
|
||||
8. Once the image transfer has completed you can type `CTRL+C` to disconnect
|
||||
your device.
|
||||
|
||||
9. Finally, type `boot` or reset your board to boot your new Linux image.
|
||||
|
||||
Customize BeagleV-Fire Cape Gateware Using Verilog (Optional)
|
||||
=============================================================
|
||||
|
||||
To customize your Beagle-V Fire gateware please follow the guide below to
|
||||
create your custom bitstream (steps 1 - 6):
|
||||
https://docs.beagleboard.org/latest/boards/beaglev/fire/demos-and-tutorials/gateware/customize-cape-gateware-verilog.html
|
||||
|
||||
|
||||
Program BeagleV-Fire With Your Custom Bitstream with Buildroot
|
||||
==============================================================
|
||||
|
||||
After following the steps 1-6 from the above tutorial, you should now have a
|
||||
artifacts.zip file on your local host.
|
||||
|
||||
Unzip the downloaded artifacts.zip file.
|
||||
|
||||
Go to the custom FPGA design directory:
|
||||
'cd artifacts/bitstreams/my_custom_fpga_design/LinuxProgramming/'
|
||||
|
||||
On your Linux host development computer, copy the bitstream to BeagleV-Fire
|
||||
board, replacing </path/to/your/> with the path to your BeagleV-Fire root file
|
||||
system.
|
||||
'cp ./* /path/to/your/buildroot/board/beagleboard/beaglev_fire/rootfs-overlay/lib/firmware/'
|
||||
|
||||
To apply these changes to your image, make sure to re-build it with:
|
||||
`make`
|
||||
|
||||
Then, re-flash your image - to ensure you have the necessary firmware files - by
|
||||
following the above section "Flashing the image to your eMMC".
|
||||
|
||||
On BeagleV-Fire initiate the reprogramming of the FPGA with your gateware bitstream:
|
||||
`/usr/share/microchip/update-gateware.sh`
|
||||
|
||||
Wait for a couple of minutes for the BeagleV-Fire to reprogram itself.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user