Update buidlroot to version 2016.08.1

This commit is contained in:
2016-11-16 22:07:29 +01:00
parent 807ab03547
commit a1061efbc2
3636 changed files with 59539 additions and 25783 deletions

View File

@@ -19,7 +19,6 @@ BR2_i386=y
# BR2_sparc is not set
# BR2_sparc64 is not set
# BR2_x86_64 is not set
# BR2_x86_i386 is not set
# BR2_x86_i486 is not set
# BR2_x86_i586 is not set
BR2_x86_i686=y

View File

@@ -1,3 +1,331 @@
2016.08.1, Released September 21st, 2016
Fix potential entire root filesystem removal in the external
toolchain handling. This would trigger if (and only if) the
following conditions are met:
- The user has selected a "known toolchain profile", such as a
Linaro toolchain, a Sourcery CodeBench toolchain etc. People
using "custom toolchain profile" are not affected.
- The user has enabled BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y
to indicate that the toolchain is already locally available
(as opposed to having Buildroot download and extract the
toolchain)
- The user has left BR2_TOOLCHAIN_EXTERNAL_PATH empty, because
his toolchain is directly available through the PATH
environment variable. When BR2_TOOLCHAIN_EXTERNAL_PATH is
non-empty, Buildroot will do something silly (remove the
toolchain contents), but that are limited to the toolchain
itself.
When such conditions are met, Buildroot will run "rm -rf /*"
due to TOOLCHAIN_EXTERNAL_INSTALL_DIR being empty.
2016.08, Released Septermber 1st, 2016
Minor fixes.
Toolchain: ARC tools updated to arc-2016.09-eng010.
Updated/fixed packages: libshout, luajit, mpd, mplayer
Issues resolved (http://bugs.buildroot.org):
#7520: CodeSourcery toolchain ARM: C++11 std::exception_ptr..
#8341: Getting EGL Error: Could not create the egl surface:..
#9121: gst1-imx for i.MX6 compile failed, cannot find PXP, ..
2016.08-rc3, Released August 29th, 2016
Fixes all over the tree.
Toolchain: C++ support for the internal blackfin toolchain
re-enabled.
Architecture: Default to bf532 CPU variant for blackfin,
Fix flat one memory region support for m68k and disable flat
seperate data support because of compatibility issues.
Defconfigs: Minnowboard and Raspberrypi: Fix errors with
post-build scripts when systemd is used.
Zynq microzed/zc706/zed: Fix u-booot configuration.
netbsd-queue package extended and renamed to
musl-compat-headers. With this, a number of musl compatibility
patches are no longer needed.
Updated/fixed packages: aircrack-ng, android-tools, babeld,
bcusdk, binutils, boa, busybox, connman, cpupower,
docker-engine, domoticz, elf2flt, ffmpeg, fwup, gcc,
glib-networking, gnupg, hplip, igd2-for-linux, imagemagick,
imx-uuc, iputils, jack2, kismet, kmsxx, libaio, libamcodec,
libconfuse, libffi, libfreeimage, libgcrypt, libgpg-error,
libiio, libraw, libsepol, libserialport, libxmlrpc, linknx,
linux-pam, lirc-tools, lldpd, logrotate, lshw, musl, ncurses,
neon, nettle, norm, ntfs-3g, openblas, openmpi, openswan,
pinentry, pixman, protobuf, python-meld3, qlibc, qt, qt5base,
quagga, rpcbind, rt-tests, runc, sane-backends, sconeserver,
squeezelite, stella, tftpd, tinycbor, tinydtls, trace-cmd,
trousers, tstools, uboot-tools, uclibc, ulogd, ustr, vlc,
webkitgtk, wireshark, xdriver_xf86-video-intel
Issues resolved (http://bugs.buildroot.org):
#9101: Error on support/download/git with system git older than 1.8.4
#9181: Compiling linux kernel fails if BR2_LINUX_KERNEL_TOOL_CPU..
2016.08-rc2, Released August 17th, 2016
Fixes all over the tree.
Toolchain: disable broken C++ support for internal blackfin
toolchains, ARC toolchain bumped to arc-2016.09-eng008 (GCC 6)
to fix various issues.
System: Zoneinfo is available for the musl C library as well.
Updated/fixed packages: am33x-cm3, axel, barebox, bdwgc,
blktrace, cairo, dante, enlightenment, fbterm, ffmpeg, flex,
fontconfig, gcc, gmp, gnuplot, gnuradio, gst1-imx, hidapi,
inotify_tools, iproute2, kmsxx, lftp, libaio, libcofi,
libical, libpjsip, libsidplay2, libunwindow, libxml2,
linux-zigbee, lttng-libust, mpv, mtd, ncdu, netplug, ntp,
openblas, openipmi, owfs, php, poco, procps, qt, quota,
sg3_utils, spidev_test, systemd-bootchart, thrift,
uboot-tools, uclibc, webrtc-audio-processing, wayland, weston,
xdriver_xf86-video-savage, xserver_xorg-server, xen
Issues resolved (http://bugs.buildroot.org):
#9136: make graph-size fails with "ValueError: too many values to..
#9151: qt: fix build with ALSA >= 1.1.x
#9156: qt: Fix missing runtime Qt3Support dependency
#9161: modsetting patch not applied to xserver 1.18.4
#9166: Missing overlays directory in VFAT image for raspberry pi 3
2016.08-rc1, Released August 6th, 2016
Fixes all over the tree and new features.
Toolchain: Fortran support added. eglibc support removed, musl
support no longer experimental. Blackfin and Microblaze
support for internal uClibc-ng toolchain, m68k/coldfire
improvements. The check for unsafe (build host) directories
access (/usr/include and /usr/lib) is now enabled by default.
Unused locales are now purged by default to save space (and
the default list of locales shrunk). The option to control
this has now moved from the toolchain menu to system
configuration.
Legal info improvements: sources are now hardlinked instead of
copied if possible to save space. Patches and extra downloads
are also saved.
An experimental configuration knob (BR2_REPRODUCIBLE) has been
added to make the builds more reproducible (E.G. less
differences in the binary output between builds of the same
configuration). This is still work in progress.
An option to execute a custom script inside the fakeroot
environment used to the generate the filesystem (E.G. to tweak
permissions or similar) has been added.
Git support now supports git submodules if
<pkg>_GIT_SUBMODULES is enabled.
Hash files for integritry validation have been added for all
packages.
Scanpypi utility to help creating packages from the Python
package index (pypi) has been added.
The makedevs utility now has support for adding file
capabilities using extended attributes.
New defconfigs: Arcturus uCP1020, Atmel sama5d{2,3,4} xplained
development configs, Blackfin GDB simulator, Linksprite
pcDuino, Minnow Board Max graphical demo, NXP i.MX25 PDK,
i.MX51 EVK, i.MX6UL Pico, i.MX7 sabresd, QEMU MIPS32r6{,el} and
MIPS64r6{,el} malta, Roseapple Pi, Samsung Snow chromebook,
Toradex Apalis i.MX6 COM, TS-4800, x86-64 PC BIOS and EFI
demos. A number of defconfigs have been updated and extended
to generate SD card images. Synopsys HS38 VDK defconfig removed.
New packages: 4th, acpica, acpitool, alljoyn, alljoyn-base,
alljoyn-tcl, alljoyn-tcl-base, argparse, babeld, batman-adv,
circus, dante, docker-containerd, docker-engine, domoticz,
efibootmgr, efivar, ficl, fwup, gsettings-desktop-schemas,
gtksourceview, gupnp-dlna, gupnp-tools, igd2-for-linux,
jemalloc, kmsxx, lapack, lft, libaacs, libamcodec, libbdplus,
libcoap, libdvdcss, libebur128, libfastjson, libminiupnpc,
libnatpmp, libpqxx, libuio, libvdpau, log4cpp, minissdpd,
mxsldr, nginx-nasxi, nginx-upload, ninja, nodm, odroid-mali,
odroid-scripts, omxplayer, openblas, openmpi, openzwave,
p7zip, pdbg, python-argh, python-dataproperty,
python-dateutil, python-dialog3, python-dicttoxml,
python-dominate, python-engineio, python-flask-jsonrpc,
python-flask-login, python-humanize, python-pathtools,
python-pathvalidate, python-pillow, python-prompt-toolkit,
python-pytablewriter, python-pytz, python-scapy3k,
python-sdnotify, python-socketio, python-tomako,
python-ubjson, python-u-msgpack, python-watchdog,
python-wcwidth, python-xlrd, python-xlsxwriter,
python-xlutils, python-xlwt, rs485conf, runc, sdl2_gfx,
sdl2_image, sdl2_ttf, shellinabox, sphinxbase, stella,
supertuxkart, systemd-bootchart, tekui, terminology, tinycbor,
tinydtls, ti-sgx-demos, ti-sgx-km, ti-sgx-um, tunctl, wavemon,
wiringpi, xen
Deprecated packages: ipkg, sstrip
Removed packages: sunxi-mali-prop
Issues resolved (http://bugs.buildroot.org):
#8931: segment fault when compile argp-help.c using aarch64-bu...
#8966: eglfs error. buildroot don't compile the library libeglfs.so
#8971: build for beaglebone fails
#8986: qt5imageformats fails to build on AArch64
#8991: grub2 fails to compile
#9001: Nodejs option not available
#9006: gcc with c++ support v4 and v5 fail to compile on fedora 24
#9016: arceb-buildroot-linux-uclibc ld uses incorrect default format
#9066: 8139TOO - faulty behaviour
#9086: Syntax Error (missing ")" in boot/uboot/uboot.mk on line 203)
#9091: U-Boot fails to boot with large ramdisk
2016.05, Released May 31st, 2016
Minor fixes.
External toolchain: Fix for symlink handling when copying
links to target.
Updated/fixed packages: gcc, grantlee, gst-ffmpeg,
ipsec-tools, iptraf-ng, libcurl, libdrm, libsigsegv, ltris,
lttng-babeltrace, mbedtls, mesa3d, moarvm, mplayer, mtools,
net-tools, openpowerlink, pulseview, rpm, tinyalsa,
xdriver_xf86-video-fbturbo, xserver_xorg-server
2016.05-rc3, Released May 26th, 2016
Fixes all over the tree.
Tweaks for SSP handling for external toolchains.
Updated/fixed packages: aircrack-ng, bluez5_utils, connman,
cups, erlang-p1-stringprep, expat, ffmpeg, flann, flannel, go,
gst1-libav, hidapi, hplip, iptraf-ng, jamvm, kodi,
kodi-screensaver-matrixtrails, libcurl, libepoxy, libgpgme,
libsemanage, libxslt, liquid-dsp, ltris, lxc, mesa3d, midori,
mpg123, mtr, openpgm, openpowerlink, oprofile, php,
postgresql, putty, python-service-identity, python-treq,
qlibc, qt5serialbus, ruby, stress-ng, strongswan, time, tinc,
ustr, valgrind, webkitgtk, libxml2, xorriso,
xserver_xorg-server
Issues resolved (http://bugs.uclibc.org):
#8936: Aircrack-ng - Alot of missing dependencies
2016.05-rc2, Released May 17th, 2016
Fixes all over the tree.
Rootfs overlay handling now refuses to overwrite
/{usr,bin,sbin,lib} symlinks from BR2_ROOTFS_MERGED_USR option
even if these directories are present in the overlay.
External toolchain: Unbreak user provided libraries deployment
(BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS) handling after refactoring.
QEMU coldfire: Fix for signal handling kernel issue, enable
networking support.
Updated/fixed packages: android-tools, assimp, boost, gcc,
glibc, glmark2, gmrender-resurrect, go, go-bootstrap, iputils,
jack2, kodi-screensaver-asterwave, kodi-screensaver-rsxs,
kodi-visualisation-shadertoy, libarchive, libinput, libpjsip,
mali-t76x, mtr, nginx, opencv, openvpn, python-coherence,
qt5multimeda, quagga, samba4, sg3-utils, stress-ng, turbolua
2016.05-rc1, Released May 10th, 2016
Fixes all over the tree and new features.
Architectures: new ARM variants: Cortex A17 and M4, improved
nonmmu (cortex-M) support, m68k has been re-enabled with
support for ColdFire. For x86, support for the i386 variant
has been dropped.
Toolchain: Add GCC 6 support, remove GCC 4.5, mark GCC 4.7 as
deprecated. Go programming language support, Add Binutils 2.26
support. Old Sourcery PowerPC external toolchains removed,
Sourcery MIPS 2016.06-8, AMD64 2015.11-139, NiosII 2015.11-130
added, Linaro ARM/ARMeb/Aarch64 toolchains updated.
New defconfigs: Firefly RK3288, Boundary Devices i.MX7 Nitrogen7,
STM32F429 and STM32F469 Discovery boards, Hardkernel ODROID-C2,
Raspberry Pi Zero and Raspberry Pi 3. Some Qemu defconfigs were
added for m68k, eXtensa-nommu and ColdFire.
Linux: use zImage by default on ARM, subversion repository
support (for u-boot as well).
New packages: aer-inject, android-tools, cannelloni,
cbootimage, cgroupfs-mount, connman-gtk, crudini, dt,
gmrender-resurrect, flannel, font-awesome, freeswitch, go,
go-bootstrap, gr-osmosdr, granite, i7z, imx-uuc,
kodi-adsp-basic, kodi-adsp-freesurround,
kodi-audiodecoder-opus, kodi-pvr-hdhomerun,
kodi-screensaver-asterwave, kodi-screensaver-cpblobs,
kodi-screensaver-matrixtrails, kodi-screensaver-planestate,
kodi-screensaver-rsxs, kodi-visualisation-fishbmc,
kodi-visualisation-fountain, kodi-visualisation-goom, libgee,
libimxvpuapi, libpjsip, libtomcrypt, libtommath, libusbgx,
lksctp-tools, mali-t76x, mkpimage, mpv, msr-tools, nload,
norm, nvme, owfs, pound, privoxy, procrank_linux, putty,
python-autobahn, python-characteristic, python-crossbar,
python-cryptography, python-iniparse, python-iowait,
python-lmdb, python-pexpect, python-ptyprocess,
python-pyasn-modules, python-pygments, python-pymysql,
python-pynacl, python-pyopenssl, python-pysocks,
python-pytrie, python-rpi-gpio, python-service-identity,
python-setproctitle, python-shutilwhich, python-treq,
python-txaio, python-ujson, python-wsaccel, qt5canvas3d,
qt5location, qt5quickcontrols2, qt5serialbus, qt5tools,
raptor, scrub, taskd, tegrarcm, turbolua, valijson,
wayland-protocols, webkitgtk, wilc1000-firmware, wpan-tools,
xdriver_xf86-video-amdgpu
Removed packages: foomatic-filters, python-m2crypto,
qt5quick1, qt5webkit-examples, samba, xdriver_xf86-input-void
Issues resolved (http://bugs.buildroot.org):
#6830: Qt5: no fonts are installed
#7562: musl buildroot-toolchain and BR2_MIPS_SOFT_FLOAT break
#7580: Invalid filesystem in Pandaboard defconfig
#8346: wf111 package removes all kernel module dependencies
#8436: xserver_xorg-server Segmentation fault
#8736: IPV6 forced on in busybox
#8746: At startup system stops with 'cannot set terminal proces..
#8751: make fail [fio does not build on sh]
#8766: Compiling host-gcc-final-4.9.3 broken on i386
#8771: make savedefconfig modifies sources
#8781: Unable to build uboot for imx28evk
#8786: gdb fails to build with xz and expat support at the same
#8801: Compilation of Buildroot 2016.2 for Raspberry Pi with...
#8806: Buildroot 2016.2 for Raspberry Pi requires that ext4...
#8836: Can't select Vim in menuconfig
#8851: Make sure fio can compile with libaio support if it...
#8861: With buildroot 2016.02 trying to build for corei7-avx
fails while trying to build host-binutils
#8866: Making an USB flash bootable with extlinux build with
buildroot does not work
2016.02, Released March 1st, 2016
Minor fixes, mostly security related.

View File

@@ -23,9 +23,14 @@ config BR2_HOST_GCC_VERSION
string
option env="HOST_GCC_VERSION"
config BR2_HOST_GCC_AT_LEAST_4_6
bool
default y if BR2_HOST_GCC_VERSION = "4 6"
config BR2_HOST_GCC_AT_LEAST_4_7
bool
default y if BR2_HOST_GCC_VERSION = "4 7"
select BR2_HOST_GCC_AT_LEAST_4_6
config BR2_HOST_GCC_AT_LEAST_4_8
bool
@@ -42,6 +47,11 @@ config BR2_HOST_GCC_AT_LEAST_5
default y if BR2_HOST_GCC_VERSION = "5"
select BR2_HOST_GCC_AT_LEAST_4_9
config BR2_HOST_GCC_AT_LEAST_6
bool
default y if BR2_HOST_GCC_VERSION = "6"
select BR2_HOST_GCC_AT_LEAST_5
# Hidden boolean selected by packages in need of Java in order to build
# (example: xbmc)
config BR2_NEEDS_HOST_JAVA
@@ -115,9 +125,9 @@ config BR2_ZCAT
string "zcat command"
default "gzip -d -c"
help
Command to be used to extract a gzip'ed file to stdout.
zcat is identical to gunzip -c except that the former may
not be available on your system.
Command to be used to extract a gzip'ed file to stdout. zcat
is identical to gunzip -c except that the former may not be
available on your system.
Default is "gzip -d -c"
Other possible values include "gunzip -c" or "zcat".
@@ -157,8 +167,8 @@ config BR2_DEFCONFIG
default BR2_DEFCONFIG_FROM_ENV if BR2_DEFCONFIG_FROM_ENV != ""
default "$(CONFIG_DIR)/defconfig"
help
When running 'make savedefconfig', the defconfig file will be saved
in this location.
When running 'make savedefconfig', the defconfig file will be
saved in this location.
config BR2_DL_DIR
string "Download dir"
@@ -166,7 +176,8 @@ config BR2_DL_DIR
help
Directory to store all the source files that we need to fetch.
If the Linux shell environment has defined the BR2_DL_DIR
environment variable, then this overrides this configuration item.
environment variable, then this overrides this configuration
item.
The default is $(TOPDIR)/dl
@@ -174,9 +185,9 @@ config BR2_HOST_DIR
string "Host dir"
default "$(BASE_DIR)/host"
help
Directory to store all the binary files that are built for the host.
This includes the cross compilation toolchain when building the
internal buildroot toolchain.
Directory to store all the binary files that are built for the
host. This includes the cross compilation toolchain when
building the internal buildroot toolchain.
The default is $(BASE_DIR)/host
@@ -186,9 +197,9 @@ config BR2_PRIMARY_SITE
string "Primary download site"
default ""
help
Primary site to download from. If this option is set then buildroot
will try to download package source first from this site and try the
default if the file is not found.
Primary site to download from. If this option is set then
buildroot will try to download package source first from this
site and try the default if the file is not found.
Valid URIs are:
- URIs recognized by $(WGET)
- local URIs of the form file://absolutepath
@@ -201,11 +212,11 @@ config BR2_PRIMARY_SITE_ONLY
If this option is enabled, downloads will only be attempted
from the primary download site. Other locations, like the
package's official download location or the backup download
site, will not be considered. Therefore, if the package is
not present on the primary site, the download fails.
site, will not be considered. Therefore, if the package is not
present on the primary site, the download fails.
This is useful for project developers who want to ensure
that the project can be built even if the upstream tarball
This is useful for project developers who want to ensure that
the project can be built even if the upstream tarball
locations disappear.
if !BR2_PRIMARY_SITE_ONLY
@@ -214,32 +225,36 @@ config BR2_BACKUP_SITE
string "Backup download site"
default "http://sources.buildroot.net"
help
Backup site to download from. If this option is set then buildroot
will fall back to download package sources from here if the
normal location fails.
Backup site to download from. If this option is set then
buildroot will fall back to download package sources from here
if the normal location fails.
config BR2_KERNEL_MIRROR
string "Kernel.org mirror"
default "https://www.kernel.org/pub"
default "https://cdn.kernel.org/pub"
help
kernel.org is mirrored on a number of servers around the world.
The following allows you to select your preferred mirror.
kernel.org is mirrored on a number of servers around the
world. The following allows you to select your preferred
mirror. By default, a CDN is used, which automatically
redirects to a mirror geographically close to you.
Have a look on the kernel.org site for a list of mirrors, then enter
the URL to the base directory. Examples:
Have a look on the kernel.org site for a list of mirrors, then
enter the URL to the base directory. Examples:
http://www.XX.kernel.org/pub (XX = country code)
http://mirror.aarnet.edu.au/pub/ftp.kernel.org
config BR2_GNU_MIRROR
string "GNU Software mirror"
default "http://ftp.gnu.org/pub/gnu"
default "http://ftpmirror.gnu.org"
help
GNU has multiple software mirrors scattered around the world.
The following allows you to select your preferred mirror.
GNU has multiple software mirrors scattered around the
world. The following allows you to select your preferred
mirror. By default, a generic address is used, which
automatically selects an up-to-date and local mirror.
Have a look on the gnu.org site for a list of mirrors, then enter
the URL to the base directory. Examples:
Have a look on the gnu.org site for a list of mirrors, then
enter the URL to the base directory. Examples:
http://ftp.gnu.org/pub/gnu
http://mirror.aarnet.edu.au/pub/gnu
@@ -256,8 +271,8 @@ config BR2_CPAN_MIRROR
string "CPAN mirror (Perl packages)"
default "http://cpan.metacpan.org"
help
CPAN (Comprehensive Perl Archive Network) is a repository
of Perl packages. It has multiple software mirrors scattered
CPAN (Comprehensive Perl Archive Network) is a repository of
Perl packages. It has multiple software mirrors scattered
around the world. This option allows you to select a mirror.
The list of mirrors is available at:
@@ -271,24 +286,22 @@ config BR2_JLEVEL
int "Number of jobs to run simultaneously (0 for auto)"
default "0"
help
Number of jobs to run simultaneously. If 0, determine
automatically according to number of CPUs on the host
system.
Number of jobs to run simultaneously. If 0, determine
automatically according to number of CPUs on the host system.
config BR2_CCACHE
bool "Enable compiler cache"
help
This option will enable the use of ccache, a compiler
cache. It will cache the result of previous builds to speed
up future builds. By default, the cache is stored in
This option will enable the use of ccache, a compiler cache.
It will cache the result of previous builds to speed up future
builds. By default, the cache is stored in
$HOME/.buildroot-ccache.
Note that Buildroot does not try to invalidate the cache
contents when the compiler changes in an incompatible
way. Therefore, if you make a change to the compiler version
and/or configuration, you are responsible for purging the
ccache cache by removing the $HOME/.buildroot-ccache
directory.
contents when the compiler changes in an incompatible way.
Therefore, if you make a change to the compiler version and/or
configuration, you are responsible for purging the ccache
cache by removing the $HOME/.buildroot-ccache directory.
if BR2_CCACHE
@@ -301,16 +314,19 @@ config BR2_CCACHE_DIR
config BR2_CCACHE_INITIAL_SETUP
string "Compiler cache initial setup"
help
Initial ccache settings to apply, such as --max-files or --max-size.
Initial ccache settings to apply, such as --max-files or
--max-size.
For example, if your project is known to require more space than the
default max cache size, then you might want to increase the cache size
to a suitable amount using the -M (--max-size) option.
For example, if your project is known to require more space
than the default max cache size, then you might want to
increase the cache size to a suitable amount using the -M
(--max-size) option.
The string you specify here is passed verbatim to ccache. Refer to
ccache documentation for more details.
The string you specify here is passed verbatim to ccache.
Refer to ccache documentation for more details.
These initial settings are applied after ccache has been compiled.
These initial settings are applied after ccache has been
compiled.
config BR2_CCACHE_USE_BASEDIR
bool "Use relative paths"
@@ -319,25 +335,25 @@ config BR2_CCACHE_USE_BASEDIR
Allow ccache to convert absolute paths within the output
directory into relative paths.
During the build, many -I include directives are given with
an absolute path. These absolute paths end up in the hashes
that are computed by ccache. Therefore, when you build from a
different directory, the hash will be different and the
cached object will not be used.
During the build, many -I include directives are given with an
absolute path. These absolute paths end up in the hashes that
are computed by ccache. Therefore, when you build from a
different directory, the hash will be different and the cached
object will not be used.
To improve cache performance, set this option to y. This
allows ccache to rewrite absolute paths within the output
directory into relative paths. Note that only paths within
the output directory will be rewritten; therefore, if you
change BR2_HOST_DIR to point outside the output directory and
directory into relative paths. Note that only paths within the
output directory will be rewritten; therefore, if you change
BR2_HOST_DIR to point outside the output directory and
subsequently move it to a different location, this will lead
to cache misses.
This option has as a result that the debug information in the
object files also has only relative paths. Therefore, make
sure you cd to the build directory before starting gdb. See
the section "COMPILING IN DIFFERENT DIRECTORIES" in the
ccache manual for more information.
the section "COMPILING IN DIFFERENT DIRECTORIES" in the ccache
manual for more information.
endif
@@ -365,6 +381,14 @@ config BR2_DEPRECATED_SINCE_2016_02
bool
default y
config BR2_DEPRECATED_SINCE_2016_05
bool
default y
config BR2_DEPRECATED_SINCE_2016_08
bool
default y
endif
config BR2_ENABLE_DEBUG
@@ -387,11 +411,11 @@ choice
config BR2_DEBUG_1
bool "debug level 1"
help
Debug level 1 produces minimal information, enough
for making backtraces in parts of the program that
you don't plan to debug. This includes descriptions
of functions and external variables, but no information
about local variables and no line numbers.
Debug level 1 produces minimal information, enough for making
backtraces in parts of the program that you don't plan to
debug. This includes descriptions of functions and external
variables, but no information about local variables and no
line numbers.
config BR2_DEBUG_2
bool "debug level 2"
@@ -401,9 +425,9 @@ config BR2_DEBUG_2
config BR2_DEBUG_3
bool "debug level 3"
help
Level 3 includes extra information, such as all the
macro definitions present in the program. Some debuggers
support macro expansion when you use -g3.
Level 3 includes extra information, such as all the macro
definitions present in the program. Some debuggers support
macro expansion when you use -g3.
endchoice
endif
@@ -416,16 +440,15 @@ config BR2_STRIP_strip
depends on !BR2_PACKAGE_HOST_ELF2FLT
help
Binaries and libraries in the target filesystem will be
stripped using the normal 'strip' command. This allows to
save space, mainly by removing debugging symbols. Debugging
symbols on the target are needed for native debugging, but
not when remote debugging is used.
stripped using the normal 'strip' command. This allows to save
space, mainly by removing debugging symbols. Debugging symbols
on the target are needed for native debugging, but not when
remote debugging is used.
config BR2_STRIP_none
bool "none"
help
Do not strip binaries and libraries in the target
filesystem.
Do not strip binaries and libraries in the target filesystem.
endchoice
config BR2_STRIP_EXCLUDE_FILES
@@ -433,19 +456,19 @@ config BR2_STRIP_EXCLUDE_FILES
depends on !BR2_STRIP_none
default ""
help
You may specify a space-separated list of binaries and libraries
here that should not be stripped on the target.
You may specify a space-separated list of binaries and
libraries here that should not be stripped on the target.
config BR2_STRIP_EXCLUDE_DIRS
string "directories that should be skipped when stripping"
depends on !BR2_STRIP_none
default ""
help
You may specify a space-separated list of directories that should
be skipped when stripping. Binaries and libraries in these
directories will not be touched.
The directories should be specified relative to the target directory,
without leading slash.
You may specify a space-separated list of directories that
should be skipped when stripping. Binaries and libraries in
these directories will not be touched. The directories should
be specified relative to the target directory, without leading
slash.
choice
prompt "gcc optimization level"
@@ -461,54 +484,67 @@ config BR2_OPTIMIZE_0
config BR2_OPTIMIZE_1
bool "optimization level 1"
help
Optimize. Optimizing compilation takes somewhat more time,
and a lot more memory for a large function. With -O, the
compiler tries to reduce code size and execution time,
without performing any optimizations that take a great deal
of compilation time. -O turns on the following optimization
Optimize. Optimizing compilation takes somewhat more time, and
a lot more memory for a large function. With -O, the compiler
tries to reduce code size and execution time, without
performing any optimizations that take a great deal of
compilation time. -O turns on the following optimization
flags: -fdefer-pop -fdelayed-branch -fguess-branch-probability
-fcprop-registers -floop-optimize -fif-conversion
-fif-conversion2 -ftree-ccp -ftree-dce -ftree-dominator-opts
-ftree-dse -ftree-ter -ftree-lrs -ftree-sra -ftree-copyrename
-ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants
-O also turns on -fomit-frame-pointer on machines where doing
so does not interfere with debugging.
-ftree-fre -ftree-ch -funit-at-a-time -fmerge-constants. -O
also turns on -fomit-frame-pointer on machines where doing so
does not interfere with debugging.
config BR2_OPTIMIZE_2
bool "optimization level 2"
help
Optimize even more. GCC performs nearly all supported optimizations
that do not involve a space-speed tradeoff. The compiler does not
perform loop unrolling or function inlining when you specify -O2.
As compared to -O, this option increases both compilation time and
the performance of the generated code. -O2 turns on all optimization
flags specified by -O. It also turns on the following optimization
flags: -fthread-jumps -fcrossjumping -foptimize-sibling-calls
Optimize even more. GCC performs nearly all supported
optimizations that do not involve a space-speed tradeoff. The
compiler does not perform loop unrolling or function inlining
when you specify -O2. As compared to -O, this option increases
both compilation time and the performance of the generated
code. -O2 turns on all optimization flags specified by -O. It
also turns on the following optimization flags:
-fthread-jumps -fcrossjumping -foptimize-sibling-calls
-fcse-follow-jumps -fcse-skip-blocks -fgcse -fgcse-lm
-fexpensive-optimizations -fstrength-reduce -frerun-cse-after-loop
-frerun-loop-opt -fcaller-saves -fpeephole2 -fschedule-insns
-fschedule-insns2 -fsched-interblock -fsched-spec -fregmove
-fstrict-aliasing -fdelete-null-pointer-checks -freorder-blocks
-freorder-functions -falign-functions -falign-jumps -falign-loops
-falign-labels -ftree-vrp -ftree-pre
Please note the warning under -fgcse about invoking -O2 on programs
-fexpensive-optimizations -fstrength-reduce
-frerun-cse-after-loop -frerun-loop-opt -fcaller-saves
-fpeephole2 -fschedule-insns -fschedule-insns2
-fsched-interblock -fsched-spec -fregmove -fstrict-aliasing
-fdelete-null-pointer-checks -freorder-blocks
-freorder-functions -falign-functions -falign-jumps
-falign-loops -falign-labels -ftree-vrp -ftree-pre. Please
note the warning under -fgcse about invoking -O2 on programs
that use computed gotos.
config BR2_OPTIMIZE_3
bool "optimization level 3"
help
Optimize yet more. -O3 turns on all optimizations specified by -O2
and also turns on the -finline-functions, -funswitch-loops and
-fgcse-after-reload options.
Optimize yet more. -O3 turns on all optimizations specified by
-O2 and also turns on the -finline-functions, -funswitch-loops
and -fgcse-after-reload options.
config BR2_OPTIMIZE_G
bool "optimize for debugging"
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
help
Optimize for debugging. This enables optimizations that do not
interfere with debugging. It should be the optimization level
of choice for the standard edit-compile-debug cycle, offering
a reasonable level of optimization while maintaining fast
compilation and a good debugging experience.
config BR2_OPTIMIZE_S
bool "optimize for size"
help
Optimize for size. -Os enables all -O2 optimizations that do not
typically increase code size. It also performs further optimizations
designed to reduce code size. -Os disables the following optimization
flags: -falign-functions -falign-jumps -falign-loops -falign-labels
-freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays
Optimize for size. -Os enables all -O2 optimizations that do
not typically increase code size. It also performs further
optimizations designed to reduce code size. -Os disables the
following optimization flags: -falign-functions -falign-jumps
-falign-loops -falign-labels -freorder-blocks
-freorder-blocks-and-partition -fprefetch-loop-arrays
-ftree-vect-loop-version
endchoice
@@ -520,13 +556,13 @@ config BR2_GOOGLE_BREAKPAD_ENABLE
depends on BR2_TOOLCHAIN_USES_GLIBC
depends on BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS
help
This option will enable the use of google breakpad, a
library and tool suite that allows you to distribute an
application to users with compiler-provided debugging
information removed, record crashes in compact "minidump"
files, send them back to your server and produce C and C++
stack traces from these minidumps. Breakpad can also write
minidumps on request for programs that have not crashed.
This option will enable the use of google breakpad, a library
and tool suite that allows you to distribute an application to
users with compiler-provided debugging information removed,
record crashes in compact "minidump" files, send them back to
your server and produce C and C++ stack traces from these
minidumps. Breakpad can also write minidumps on request for
programs that have not crashed.
if BR2_GOOGLE_BREAKPAD_ENABLE
@@ -554,12 +590,13 @@ choice
Enable stack smashing protection support using GCC's
-fstack-protector option family.
See http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
See
http://www.linuxfromscratch.org/hints/downloads/files/ssp.txt
for details.
Note that this requires the toolchain to have SSP
support. This is always the case for glibc and eglibc
toolchain, but is optional in uClibc toolchains.
Note that this requires the toolchain to have SSP support.
This is always the case for glibc and eglibc toolchain, but is
optional in uClibc toolchains.
config BR2_SSP_NONE
bool "None"
@@ -607,20 +644,19 @@ choice
help
Select the type of libraries you want to use on the target.
The default is to build dynamic libraries and use those on
the target filesystem, except when the architecture and/or
the selected binary format does not support shared
libraries.
The default is to build dynamic libraries and use those on the
target filesystem, except when the architecture and/or the
selected binary format does not support shared libraries.
config BR2_STATIC_LIBS
bool "static only"
help
Build and use only static libraries. No shared libraries
will be instaled on the target. This potentially increases
your code size and should only be used if you know what you
are doing. Note that some packages may not be available when
this option is enabled, due to their need for dynamic
library support.
Build and use only static libraries. No shared libraries will
be installed on the target. This potentially increases your
code size and should only be used if you know what you are
doing. Note that some packages may not be available when this
option is enabled, due to their need for dynamic library
support.
config BR2_SHARED_LIBS
bool "shared only"
@@ -646,47 +682,60 @@ config BR2_PACKAGE_OVERRIDE_FILE
default "$(CONFIG_DIR)/local.mk"
help
A package override file is a short makefile that contains
variable definitions of the form <pkg>_OVERRIDE_SRCDIR,
which allows to tell Buildroot to use an existing directory
as the source directory for a particular package. See the
Buildroot documentation for more details on this feature.
variable definitions of the form <pkg>_OVERRIDE_SRCDIR, which
allows to tell Buildroot to use an existing directory as the
source directory for a particular package. See the Buildroot
documentation for more details on this feature.
config BR2_GLOBAL_PATCH_DIR
string "global patch directories"
help
You may specify a space separated list of one or more directories
containing global package patches. For a specific version
<packageversion> of a specific package <packagename>, patches are
applied as follows:
You may specify a space separated list of one or more
directories containing global package patches. For a specific
version <packageversion> of a specific package <packagename>,
patches are applied as follows:
First, the default Buildroot patch set for the package is applied
from the package's directory in Buildroot.
First, the default Buildroot patch set for the package is
applied from the package's directory in Buildroot.
Then for every directory - <global-patch-dir> - that exists in
BR2_GLOBAL_PATCH_DIR, if the directory
<global-patch-dir>/<packagename>/<packageversion>/ exists, then all
*.patch files in this directory will be applied.
<global-patch-dir>/<packagename>/<packageversion>/ exists,
then all *.patch files in this directory will be applied.
Otherwise, if the directory <global-patch-dir>/<packagename> exists,
then all *.patch files in the directory will be applied.
Otherwise, if the directory <global-patch-dir>/<packagename>
exists, then all *.patch files in the directory will be
applied.
menu "Advanced"
config BR2_COMPILER_PARANOID_UNSAFE_PATH
bool "paranoid check of library/header paths"
default y
help
By default, when this option is disabled, when the Buildroot
cross-compiler will encounter an unsafe library or header
path (such as /usr/include, or /usr/lib), the compiler will
display a warning.
cross-compiler will encounter an unsafe library or header path
(such as /usr/include, or /usr/lib), the compiler will display
a warning.
By enabling this option, this warning is turned into an
error, which will completely abort the build when such
unsafe paths are encountered.
By enabling this option, this warning is turned into an error,
which will completely abort the build when such unsafe paths
are encountered.
Note that this mechanism is available for both the internal
toolchain (through gcc and binutils patches) and external
toolchain backends (through the external toolchain wrapper).
toolchain (through the toolchain wrapper and binutils patches)
and external toolchain backends (through the toolchain wrapper).
config BR2_REPRODUCIBLE
bool "Make the build reproducible (experimental)"
help
This option will remove all sources of non-reproducibility
from the build process. For a given Buildroot configuration,
this allows to generate exactly identical binaries from one
build to the other, including on different machines.
This is labeled as an experimental feature, as not all
packages behave properly to ensure reproducibility.
endmenu

View File

@@ -142,6 +142,260 @@ comment "build, or run, in unpredictable ways. "
comment "----------------------------------------------------"
endif
###############################################################################
comment "Legacy options removed in 2016.08"
config BR2_PACKAGE_SYSTEMD_COMPAT
bool "systemd compatibility libraries have been removed"
select BR2_LEGACY
help
The systemd option to enable the compatibility libraries has
been removed. Theses libraries have been useless since a few
version, and have been fully dropped from the source since
v230.
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER
bool "gst1-plugins-bad liveadder plugin removed"
select BR2_LEGACY
select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_AUDIOMIXER
help
The functionality of the liveadder plugin of the
gst1-plugins-bad package has been merged into audiomixer.
config BR2_PACKAGE_LIBFSLVPUWRAP
bool "libfslvpuwrap has been renamed to imx-vpuwrap"
select BR2_LEGACY
select BR2_PACKAGE_IMX_VPUWRAP
help
The libfslvpuwrap has been renamed to match the renamed package.
config BR2_PACKAGE_LIBFSLPARSER
bool "libfslparser has been renamed to imx-parser"
select BR2_LEGACY
select BR2_PACKAGE_IMX_PARSER
help
The libfslparser has been renamed to match the renamed package.
config BR2_PACKAGE_LIBFSLCODEC
bool "libfslcodec has been renamed to imx-codec"
select BR2_LEGACY
select BR2_PACKAGE_IMX_CODEC
help
The libfslcodec has been renamed to match the renamed package.
config BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT
bool "FIT support in uboot-tools has been refactored"
select BR2_LEGACY
select BR2_PACKAGE_DTC
select BR2_PACKAGE_DTC_PROGRAMS
select BR2_PACKAGE_UBOOT_TOOLS_FIT_SUPPORT
select BR2_PACKAGE_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT
select BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE
help
This option has been removed in favor of a more fine-grained
configuration, which is recommended. Selecting this option
enables FIT and FIT signature support for the target packages.
It will also select the dtc and openssl packages.
config BR2_PTHREADS_OLD
bool "linuxthreads (stable/old)"
select BR2_LEGACY
help
Linuxthreads have been reworked, BR2_PTHREADS_OLD is now
BR2_PTHREADS and the old BR2_PTHREADS - LT.new got removed.
config BR2_BINUTILS_VERSION_2_23_X
bool "binutils 2.23 removed"
select BR2_LEGACY
help
Binutils 2.23 has been removed, using a newer version is
recommended.
config BR2_TOOLCHAIN_BUILDROOT_EGLIBC
bool "eglibc support has been removed"
select BR2_LEGACY
help
The eglibc project no longer exists, as it has been merged
back into the glibc project. Therefore, support for eglibc
has been removed, and glibc should be used instead.
config BR2_GDB_VERSION_7_8
bool "gdb 7.8 has been removed"
select BR2_LEGACY
help
The 7.8 version of gdb has been removed. Use a newer version
instead.
###############################################################################
comment "Legacy options removed in 2016.05"
config BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL
bool "openvpn polarssl crypto backend removed"
select BR2_LEGACY
help
The OpenVPN polarssl crypto backend option has been removed.
Version from 2.3.10 onwards need polarssl >= 1.3.8 but aren't
compatible with mbedtls (polarssl) series 2.x which is the
version provided in buildroot. And both can't coexist.
It now uses OpenSSL as the only option.
config BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE
bool "nginx http spdy module removed"
select BR2_LEGACY
select BR2_PACKAGE_NGINX_HTTP_V2_MODULE
help
The ngx_http_spdy_module has been superseded by the
ngx_http_v2_module since nginx v1.9.5. The
ngx_http_v2_module modules has been automatically selected
in your configuration.
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP
bool "gst1-plugins-bad rtp plugin moved to good"
select BR2_LEGACY
help
The rtp plugin has been moved from gst1-plugins-base to
gst1-plugins-good.
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123
bool "gst1-plugins-bad mpg123 plugin moved to ugly"
select BR2_LEGACY
help
The mpg123 plugin has been moved from gst1-plugins-bad to
gst1-plugins-ugly.
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC
bool "PowerPC Sourcery toolchain has been removed"
select BR2_LEGACY
help
The Sourcery CodeBench toolchain for the PowerPC
architecture has been removed, as it was very old, not
maintained, and causing numerous build failures with modern
userspace packages.
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2
bool "PowerPC Sourcery E500v2 toolchain has been removed"
select BR2_LEGACY
help
The Sourcery CodeBench toolchain for the PowerPC E500v2
architecture has been removed, as it was very old, not
maintained, and causing numerous build failures with modern
userspace packages.
config BR2_x86_i386
bool "x86 i386 support removed"
select BR2_LEGACY
help
The support for the i386 processors of the x86 architecture
has been removed.
config BR2_PACKAGE_QT5WEBKIT_EXAMPLES
bool "qt5webkit-examples package removed"
select BR2_LEGACY
help
The qt5webkit-examples package has been removed, since it
was removed from upstream starting from Qt 5.6.
config BR2_PACKAGE_QT5QUICK1
bool "qt5quick1 package removed"
select BR2_LEGACY
help
The qt5quick1 package has been removed, since it was removed
from upstream starting from Qt 5.6.
config BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR
bool "uboot custom patch dir removed"
select BR2_LEGACY
help
The uboot custom patch directory option has been removed. Use
the improved BR2_TARGET_UBOOT_PATCH option instead.
config BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID
bool "xf86-input-void removed"
select BR2_LEGACY
help
The xf86-input-void package has been removed, there's no need
for it in any modern (post-2007) xorg server.
config BR2_KERNEL_HEADERS_3_17
bool "kernel headers version 3.17.x are no longer supported"
select BR2_KERNEL_HEADERS_3_18
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.18.x of the headers have been
automatically selected in your configuration.
config BR2_GDB_VERSION_7_7
bool "gdb 7.7 has been removed"
select BR2_LEGACY
help
The 7.7 version of gdb has been removed. Use a newer version
instead.
config BR2_PACKAGE_FOOMATIC_FILTERS
bool "foomatic-filters"
select BR2_LEGACY
help
The foomatic-filters package was removed.
config BR2_PACKAGE_SAMBA
bool "samba"
select BR2_LEGACY
help
The samba package was removed in favour of samba4 since the
3.x series isn't supported by upstream any longer.
config BR2_PACKAGE_KODI_WAVPACK
bool "wavpack"
select BR2_LEGACY
help
wavpack support was removed in favour of ffmpeg:
https://github.com/xbmc/xbmc/commit/7916902c9e6f7a523265594f3ad7f921f93f1cd4
config BR2_PACKAGE_KODI_RSXS
bool "rsxs support in Kodi was moved to an addon"
select BR2_LEGACY
select BR2_PACKAGE_KODI_SCREENSAVER_RSXS
help
rsxs support in Kodi was moved to an addon
config BR2_PACKAGE_KODI_GOOM
bool "Goom support in Kodi was moved to an addon"
select BR2_LEGACY
select BR2_PACKAGE_KODI_VISUALISATION_GOOM
help
Goom support in Kodi was moved to an addon
config BR2_PACKAGE_SYSTEMD_ALL_EXTRAS
bool "systemd all extras option has been removed"
select BR2_LEGACY
select BR2_PACKAGE_XZ
select BR2_PACKAGE_LIBGCRYPT
help
The systemd option to enable "all extras" has been
removed. To get the same features, the libgcrypt and xz
package should now be enabled.
config BR2_GCC_VERSION_4_5_X
bool "gcc 4.5.x has been removed"
select BR2_LEGACY
help
The 4.5.x version of gcc has been removed. Use a newer
version instead.
config BR2_PACKAGE_SQLITE_READLINE
bool "command-line editing support was updated"
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_READLINE
select BR2_LEGACY
help
This option was removed in favour of the sqlite package
deciding itself depending on the enabled packages whether
command-line editing should be enabled, it also also takes
libedit into account.
###############################################################################
comment "Legacy options removed in 2016.02"
@@ -743,11 +997,9 @@ config BR2_PACKAGE_KODI_PVR_ADDONS
config BR2_BINUTILS_VERSION_2_23_2
bool "binutils 2.23 option renamed"
select BR2_LEGACY
select BR2_BINUTILS_VERSION_2_23_X
help
The binutils version option has been renamed to match the
same patchlevel logic used by gcc. The new option is now
BR2_BINUTILS_VERSION_2_23_X.
Binutils 2.23.2 has been removed, using a newer version is
recommended.
config BR2_BINUTILS_VERSION_2_24
bool "binutils 2.24 option renamed"

View File

@@ -24,6 +24,11 @@
# You shouldn't need to mess with anything beyond this point...
#--------------------------------------------------------------
# we want bash as shell
SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi; fi)
# Trick for always running with a fixed umask
UMASK = 0022
ifneq ($(shell umask),$(UMASK))
@@ -41,7 +46,7 @@ else # umask
all:
# Set and export the version string
export BR2_VERSION := 2016.02
export BR2_VERSION := 2016.08.1
# Save running make version since it's clobbered by the make package
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
@@ -69,7 +74,7 @@ endif
.NOTPARALLEL:
# absolute path
TOPDIR := $(shell pwd)
TOPDIR := $(CURDIR)
CONFIG_CONFIG_IN = Config.in
CONFIG = support/kconfig
DATE := $(shell date +%Y%m%d)
@@ -208,6 +213,13 @@ ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
-include $(BR2_CONFIG)
endif
# timezone and locale may affect build output
ifeq ($(BR2_REPRODUCIBLE),y)
export TZ=UTC
export LANG=C
export LC_ALL=C
endif
# To put more focus on warnings, be less verbose as default
# Use 'make V=1' to see the full commands
ifeq ("$(origin V)", "command line")
@@ -227,11 +239,6 @@ else
Q = @
endif
# we want bash as shell
SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
else if [ -x /bin/bash ]; then echo /bin/bash; \
else echo sh; fi; fi)
# kconfig uses CONFIG_SHELL
CONFIG_SHELL := $(SHELL)
@@ -343,6 +350,8 @@ ifeq ($(BR2_HAVE_DOT_CONFIG),y)
unexport CROSS_COMPILE
unexport ARCH
unexport CC
unexport LD
unexport AR
unexport CXX
unexport CPP
unexport RANLIB
@@ -408,6 +417,7 @@ endif
# Scripts in support/ or post-build scripts may need to reference
# these locations, so export them so it is easier to use
export BR2_CONFIG
export BR2_REPRODUCIBLE
export TARGET_DIR
export STAGING_DIR
export HOST_DIR
@@ -581,7 +591,10 @@ define PURGE_LOCALES
do \
for langdir in $$dir/*; \
do \
grep -qx $${langdir##*/} $(LOCALE_WHITELIST) || rm -rf $$langdir; \
if [ -e "$${langdir}" ]; \
then \
grep -qx "$${langdir##*/}" $(LOCALE_WHITELIST) || rm -rf $$langdir; \
fi \
done; \
done
if [ -d $(TARGET_DIR)/usr/share/X11/locale ]; \
@@ -655,7 +668,7 @@ endif
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
$(call MESSAGE,"Copying overlay $(d)"); \
rsync -a --ignore-times $(RSYNC_VCS_EXCLUSIONS) \
rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \
--chmod=u=rwX,go=rX --exclude .empty --exclude '*~' \
$(d)/ $(TARGET_DIR)$(sep))
@@ -696,8 +709,12 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p
cat support/legal-info/README.warnings-header \
$(LEGAL_WARNINGS) >>$(LEGAL_REPORT); \
cat $(LEGAL_WARNINGS); fi
@echo "Legal info produced in $(LEGAL_INFO_DIR)"
@rm -f $(LEGAL_WARNINGS)
@(cd $(LEGAL_INFO_DIR); \
find * -type f -exec sha256sum {} + | LC_ALL=C sort -k2 \
>.legal-info.sha256; \
mv .legal-info.sha256 legal-info.sha256)
@echo "Legal info produced in $(LEGAL_INFO_DIR)"
show-targets:
@echo $(PACKAGES) $(TARGETS_ROOTFS)
@@ -932,22 +949,10 @@ help:
@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'
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
@echo ' busybox-menuconfig - Run BusyBox menuconfig'
endif
ifeq ($(BR2_LINUX_KERNEL),y)
@echo ' linux-menuconfig - Run Linux kernel menuconfig'
@echo ' linux-savedefconfig - Run Linux kernel savedefconfig'
@echo ' linux-update-defconfig - Save the Linux configuration to the path specified'
@echo ' by BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE'
endif
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
@echo ' uclibc-menuconfig - Run uClibc menuconfig'
endif
ifeq ($(BR2_TARGET_BAREBOX),y)
@echo ' barebox-menuconfig - Run barebox menuconfig'
@echo ' barebox-savedefconfig - Run barebox savedefconfig'
endif
$(foreach p,$(HELP_PACKAGES), \
@echo $(sep) \
@echo '$($(p)_NAME):' $(sep) \
$($(p)_HELP_CMDS)$(sep))
@echo
@echo 'Documentation:'
@echo ' manual - build manual in all formats'

View File

@@ -94,8 +94,7 @@ config BR2_i386
config BR2_m68k
bool "m68k"
select BR2_ARCH_HAS_MMU_MANDATORY
depends on BROKEN # ice in uclibc / inet_ntoa_r
# MMU support is set by the subarchitecture file, arch/Config.in.m68k
help
Motorola 68000 family microprocessor
http://en.wikipedia.org/wiki/M68k
@@ -337,12 +336,19 @@ config BR2_BINFMT_FLAT_ONE
config BR2_BINFMT_FLAT_SEP_DATA
bool "Separate data and code region"
# this FLAT binary type technically exists on m68k, but fails
# to build numerous packages: due to architecture limitation,
# big functions cannot be built in this mode. They cause build
# failures such as "Tried to convert PC relative branch to
# absolute jump" or "error: value -yyyyy out of range".
depends on BR2_bfin
help
Allow for the data and text segments to be separated and placed in
different regions of memory.
config BR2_BINFMT_FLAT_SHARED
bool "Shared binary"
depends on BR2_m68k || BR2_bfin
# Even though this really generates shared binaries, there is no libdl
# and dlopen() cannot be used. So packages that require shared
# libraries cannot be built. Therefore, we don't select

View File

@@ -52,6 +52,9 @@ config BR2_ARM_CPU_ARMV6
config BR2_ARM_CPU_ARMV7A
bool
config BR2_ARM_CPU_ARMV7M
bool
choice
prompt "Target Architecture Variant"
depends on BR2_arm || BR2_armeb
@@ -159,10 +162,22 @@ config BR2_cortex_a15
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_ARMV7A
select BR2_ARCH_HAS_MMU_OPTIONAL
config BR2_cortex_a17
bool "cortex-A17"
select BR2_ARM_CPU_HAS_ARM
select BR2_ARM_CPU_HAS_NEON
select BR2_ARM_CPU_HAS_VFPV4
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_ARMV7A
select BR2_ARCH_HAS_MMU_OPTIONAL
config BR2_cortex_m3
bool "cortex-M3"
select BR2_ARM_CPU_HAS_THUMB
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_ARMV7M
config BR2_cortex_m4
bool "cortex-M4"
select BR2_ARM_CPU_HAS_THUMB2
select BR2_ARM_CPU_ARMV7M
config BR2_fa526
bool "fa526/626"
select BR2_ARM_CPU_HAS_ARM
@@ -442,7 +457,9 @@ config BR2_GCC_TARGET_CPU
default "cortex-a9" if BR2_cortex_a9
default "cortex-a12" if BR2_cortex_a12
default "cortex-a15" if BR2_cortex_a15
default "cortex-a17" if BR2_cortex_a17
default "cortex-m3" if BR2_cortex_m3
default "cortex-m4" if BR2_cortex_m4
default "fa526" if BR2_fa526
default "marvell-pj4" if BR2_pj4
default "strongarm" if BR2_strongarm

View File

@@ -1,7 +1,7 @@
choice
prompt "Target CPU"
depends on BR2_bfin
default BR2_bf609
default BR2_bf532
help
Specify target CPU
config BR2_bf606

View File

@@ -4,10 +4,34 @@ config BR2_ARCH
config BR2_ENDIAN
default "BIG"
config BR2_GCC_TARGET_ARCH
default "68000" if BR2_m68k_68000
default "68010" if BR2_m68k_68010
default "68020" if BR2_m68k_68020
default "68030" if BR2_m68k_68030
# symbols used to distinguish between m68k and coldfire
# for gcc multilib
config BR2_m68k_m68k
bool
config BR2_m68k_cf
bool
# coldfire variants will be added later
choice
prompt "Target CPU"
depends on BR2_m68k
default BR2_m68k_68040
help
Specific CPU variant to use
config BR2_m68k_68040
bool "68040"
select BR2_m68k_m68k
select BR2_ARCH_HAS_MMU_MANDATORY
config BR2_m68k_cf5208
bool "5208"
select BR2_m68k_cf
select BR2_SOFT_FLOAT
endchoice
config BR2_GCC_TARGET_CPU
default "68040" if BR2_m68k_68040
default "68060" if BR2_m68k_68060
default "5208" if BR2_m68k_cf5208

View File

@@ -25,9 +25,6 @@ choice
help
Specific CPU variant to use
config BR2_x86_i386
bool "i386"
depends on !BR2_x86_64
config BR2_x86_i486
bool "i486"
depends on !BR2_x86_64
@@ -210,7 +207,6 @@ config BR2_x86_winchip2
endchoice
config BR2_ARCH
default "i386" if BR2_x86_i386
default "i486" if BR2_x86_i486
default "i586" if BR2_x86_i586
default "i586" if BR2_x86_x1000
@@ -230,6 +226,8 @@ config BR2_ARCH
default "i686" if BR2_x86_nocona && BR2_i386
default "i686" if BR2_x86_core2 && BR2_i386
default "i686" if BR2_x86_corei7 && BR2_i386
default "i686" if BR2_x86_corei7_avx && BR2_i386
default "i686" if BR2_x86_corei7_avx2 && BR2_i386
default "i686" if BR2_x86_atom && BR2_i386
default "i686" if BR2_x86_opteron && BR2_i386
default "i686" if BR2_x86_opteron_sse3 && BR2_i386
@@ -246,7 +244,6 @@ config BR2_ENDIAN
default "LITTLE"
config BR2_GCC_TARGET_ARCH
default "i386" if BR2_x86_i386
default "i486" if BR2_x86_i486
default "i586" if BR2_x86_i586
default "i586" if BR2_x86_x1000

View File

@@ -1,4 +1,4 @@
SoCkit
SoCkit, SoC Development Kit
Intro
=====
@@ -6,14 +6,17 @@ Intro
This is the buildroot board support for the Arrow SoCkit Evaluation Board
and the Altera Cyclone 5 Development Board.
A good source of information is :
A good source of information for Arrow SoCkit:
http://www.rocketboards.org/foswiki/Documentation/ArrowSoCKitEvaluationBoard
More information about SoC DK:
https://www.altera.com/products/boards_and_kits/dev-kits/altera/kit-cyclone-v-soc.html
How it works
============
Boot process :
--------------
Boot process:
-------------
In summary, the bootloader has multiple stages, an hardcoded boot routine is
loaded from an on-chip ROM.
@@ -25,15 +28,15 @@ loaded from an on-chip ROM.
which will load the u-boot image.
- Then the u-boot image will load the Linux kernel.
A good source of information for the boot process is :
A good source of information for the boot process is:
http://xillybus.com/tutorials/u-boot-image-altera-soc
Note for the SPL :
Note for the SPL:
The SPL generated by the u-boot from Rocketboards doesn't seems to work,
therefore we provide a patch for {uboot-PKG}/board/altera/socfpga_cyclone5/*
based on the files generated with the Altera example design.
For more information about this files please look at :
For more information about this files please look at:
http://www.rocketboards.org/foswiki/Documentation/PreloaderUbootCustomization#Common_Source_Code
How to build it
@@ -43,11 +46,11 @@ Configure Buildroot
-------------------
The altera_sockit_defconfig configuration is a minimal configuration with
all that is required to bring the SoCkit :
all that is required to bring the SoCkit:
$ make altera_sockit_defconfig
and for the SoC Development Board :
and for the SoC Development Board:
$ make altera_sockdk_defconfig
@@ -81,7 +84,7 @@ Signing the Preloader
*** BEWARE ****
The u-boot-spl.bin must be signed using the Altera's tool "mkpimage".
This tool comes as a part of the Altera development environnment (SoC EDS).
A fork of this tool have been done by Maxime Hadjinlian and can be found here :
A fork of this tool have been done by Maxime Hadjinlian and can be found here:
https://github.com/maximeh/mkpimage
Remember that without signing the u-boot-spl.bin, the board will not boot !!!
@@ -91,17 +94,17 @@ Remember that without signing the u-boot-spl.bin, the board will not boot !!!
Prepare your SDcard
===================
A good source of information for the partitioning process is :
A good source of information for the partitioning process is:
http://www.rocketboards.org/foswiki/view/Projects/SoCKitLinaroLinuxDesktop#Partition_the_SD_Card
Create the SDcard partition table
----------------------------------
Determine the device associated to the SD card :
Determine the device associated to the SD card:
$ cat /proc/partitions
let's assume it is /dev/mmcblk0 :
let's assume it is /dev/mmcblk0:
$ sudo fdisk /dev/mmcblk0
@@ -112,7 +115,7 @@ using these options, pressing enter after each one:
* n p 2 4096 +4496384K t 83
* n p 3 2048 +1024K t 3 a2
Using the 'p' option, the SD card's partition must look like this :
Using the 'p' option, the SD card's partition must look like this:
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 9000000 9041919 20960 b W95 FAT32
@@ -121,32 +124,32 @@ Device Boot Start End Blocks Id System
Then write the partition table using 'w' and exit.
Make partition one a DOS partition :
Make partition one a DOS partition:
$ sudo mkdosfs /dev/mmcblk0p1
Install the binaries to the SDcard
----------------------------------
Remember your binaries are located in output/images/, go inside that directory :
Remember your binaries are located in output/images/, go inside that directory:
$ cd output/images
The partition with type a2 is the partition scan by the first bootloader stage
in the SoCkit ROM to find the next bootloader stage so we must write the signed
preloader and the u-boot binaries in that partition :
preloader and the u-boot binaries in that partition:
$ sudo dd if=u-boot-spl-signed.bin of=/dev/mmcblk0p3 bs=64k seek=0
$ sudo dd if=u-boot.img of=/dev/mmcblk0p3 bs=64k seek=4
Copy the Linux kernel and its Device tree :
Copy the Linux kernel and its Device tree:
$ sudo mkdir /mnt/sdcard
$ sudo mount /dev/mmcblk0p1 /mnt/sdcard
$ sudo cp socfpga.dtb uImage /mnt/sdcard
$ sudo umount /mnt/sdcard
Copy the rootfs :
Copy the rootfs:
$ sudo dd if=rootfs.ext2 of=/dev/mmcblk0p2 bs=64k
$ sudo sync

View File

@@ -0,0 +1,269 @@
CONFIG_PPC_85xx=y
CONFIG_SMP=y
CONFIG_NR_CPUS=2
CONFIG_CROSS_COMPILE="powerpc-linux-"
CONFIG_LOCALVERSION="-ANI-uCP1020-64EE512"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_DEFAULT_HOSTNAME="uCP1020-64EE512"
# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
CONFIG_AUDIT=y
CONFIG_NO_HZ_IDLE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_LOG_CPU_MAX_BUF_SHIFT=14
CONFIG_SYSFS_DEPRECATED=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_SYSCTL_SYSCALL=y
CONFIG_EMBEDDED=y
# CONFIG_SLUB_DEBUG is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_JUMP_LABEL=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
# CONFIG_BLK_DEV_BSG is not set
CONFIG_PARTITION_ADVANCED=y
CONFIG_MAC_PARTITION=y
# CONFIG_EFI_PARTITION is not set
# CONFIG_IOSCHED_CFQ is not set
CONFIG_UCP1020_SOM=y
CONFIG_HIGHMEM=y
CONFIG_PREEMPT=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
CONFIG_MATH_EMULATION=y
CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y
CONFIG_SWIOTLB=y
# CONFIG_COMPACTION is not set
CONFIG_PCI=y
CONFIG_PCIEPORTBUS=y
# CONFIG_PCIEAER is not set
# CONFIG_PCIEASPM is not set
CONFIG_PCI_MSI=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_XFRM_USER=y
CONFIG_NET_KEY=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_SYN_COOKIES=y
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
# CONFIG_INET_XFRM_MODE_BEET is not set
# CONFIG_INET_LRO is not set
# CONFIG_IPV6 is not set
CONFIG_NETFILTER=y
CONFIG_BRIDGE_NETFILTER=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_BRIDGE=y
CONFIG_VLAN_8021Q=y
CONFIG_NET_SCHED=y
CONFIG_NET_SCH_HTB=y
CONFIG_CFG80211=y
# CONFIG_CFG80211_DEFAULT_PS is not set
CONFIG_MAC80211=y
# CONFIG_MAC80211_RC_MINSTREL is not set
CONFIG_UEVENT_HELPER_PATH="/bin/hotplug"
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_MTD=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_BLOCK=y
CONFIG_FTL=y
CONFIG_MTD_CFI=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_PHYSMAP_OF=y
CONFIG_MTD_M25P80=y
CONFIG_MTD_SST25L=y
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_PLATFORM=y
CONFIG_MTD_NAND_FSL_ELBC=y
CONFIG_MTD_NAND_FSL_UPM=y
CONFIG_MTD_SPI_NOR=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_SIZE=131072
CONFIG_EEPROM_AT25=y
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_LOGGING=y
CONFIG_NETDEVICES=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
# CONFIG_NET_VENDOR_ALTEON is not set
# CONFIG_NET_VENDOR_AMD is not set
# CONFIG_NET_VENDOR_ARC is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_NET_CADENCE is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
# CONFIG_NET_VENDOR_EXAR is not set
CONFIG_GIANFAR=y
# CONFIG_NET_VENDOR_HP is not set
# CONFIG_NET_VENDOR_INTEL is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
# CONFIG_NET_VENDOR_MYRI is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
# CONFIG_NET_PACKET_ENGINE is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_REALTEK is not set
# CONFIG_NET_VENDOR_RDC is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
# CONFIG_NET_VENDOR_SMSC is not set
# CONFIG_NET_VENDOR_STMICRO is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
# CONFIG_NET_VENDOR_VIA is not set
# CONFIG_NET_VENDOR_WIZNET is not set
# CONFIG_NET_VENDOR_XILINX is not set
CONFIG_MICREL_PHY=y
CONFIG_IWLWIFI=m
# CONFIG_INPUT_MOUSEDEV is not set
# CONFIG_INPUT_KEYBOARD is not set
# CONFIG_INPUT_MOUSE is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_LEGACY_PTY_COUNT=16
CONFIG_NOZOMI=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=2
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_NVRAM=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MPC=y
CONFIG_SPI=y
CONFIG_SPI_BITBANG=y
CONFIG_SPI_FSL_ESPI=y
CONFIG_SPI_SPIDEV=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_MPC8XXX=y
CONFIG_SENSORS_LM90=y
CONFIG_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_BOOKE_WDT=y
CONFIG_BOOKE_WDT_DEFAULT_TIMEOUT=36
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_MEDIA_USB_SUPPORT=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_GSPCA=y
CONFIG_USB_PWC=y
CONFIG_USB_ZR364XX=y
CONFIG_USB_STKWEBCAM=y
CONFIG_VIDEO_EM28XX=y
CONFIG_VIDEO_EM28XX_V4L2=y
# CONFIG_HID is not set
# CONFIG_USB_HID is not set
CONFIG_USB=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_MON=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_FSL=y
CONFIG_USB_ACM=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y
CONFIG_USB_STORAGE=y
CONFIG_USB_STORAGE_DEBUG=y
CONFIG_USB_MDC800=y
CONFIG_MMC=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ESDHC=y
CONFIG_DMADEVICES=y
CONFIG_FSL_DMA=y
CONFIG_ASYNC_TX_DMA=y
# CONFIG_IOMMU_SUPPORT is not set
CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
# CONFIG_EXT3_FS_XATTR is not set
CONFIG_EXT4_FS=y
CONFIG_XFS_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_NTFS_FS=y
CONFIG_PROC_KCORE=y
CONFIG_TMPFS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_WBUF_VERIFY=y
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RUBIN=y
CONFIG_CRAMFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V4=y
CONFIG_NFSD=y
CONFIG_CIFS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_DEBUG_PREEMPT is not set
# CONFIG_DEBUG_BUGVERBOSE is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
# CONFIG_RCU_CPU_STALL_INFO is not set
# CONFIG_FTRACE is not set
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1_PPC=y
CONFIG_CRYPTO_DEFLATE=y
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_CRYPTO_DEV_TALITOS=y

View File

@@ -0,0 +1,462 @@
From a243628639e12a4bd0a737eac78a12ed240cd137 Mon Sep 17 00:00:00 2001
From: Oleksandr G Zhadan <oleks@arcturusnetworks.com>
Date: Mon, 18 Jul 2016 10:40:16 -0400
Subject: [PATCH] Arcturus uCP1020 BSP support
The uCP1020 product family (ucp1020) is an Arcturus Networks Inc.
System on Modules product featuring a NXP QorIQ P1020 CPU,
optionally populated with 1 or 2 Gig-Ethernet PHYs,
DDR3, NOR Flash, eMMC NAND Flash and/or SPI Flash.
Signed-off-by: Oleksandr G Zhadan <oleks@arcturusnetworks.com>
Signed-off-by: Michael Durrant <arcsupport@arcturusnetworks.com>
---
arch/powerpc/boot/dts/ucp1020.dts | 87 ++++++++++++
arch/powerpc/boot/dts/ucp1020.dtsi | 211 ++++++++++++++++++++++++++++++
arch/powerpc/platforms/85xx/Kconfig | 7 +
arch/powerpc/platforms/85xx/Makefile | 1 +
arch/powerpc/platforms/85xx/ucp1020_som.c | 92 +++++++++++++
5 files changed, 398 insertions(+)
create mode 100644 arch/powerpc/boot/dts/ucp1020.dts
create mode 100644 arch/powerpc/boot/dts/ucp1020.dtsi
create mode 100644 arch/powerpc/platforms/85xx/ucp1020_som.c
diff --git a/arch/powerpc/boot/dts/ucp1020.dts b/arch/powerpc/boot/dts/ucp1020.dts
new file mode 100644
index 0000000..291e70a
--- /dev/null
+++ b/arch/powerpc/boot/dts/ucp1020.dts
@@ -0,0 +1,87 @@
+/*
+ * uCP1020 Tree Source (32-bit address map)
+ *
+ * Copyright 2013-2016 Arcturus Networks Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of Freescale Semiconductor nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ *
+ * ALTERNATIVELY, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") as published by the Free Software
+ * Foundation, either version 2 of that License or (at your option) any
+ * later version.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/include/ "fsl/p1020si-pre.dtsi"
+/ {
+ model = "arcturus,uCP1020";
+ compatible = "arcturus,uCP1020";
+
+ memory {
+ device_type = "memory";
+ };
+
+ lbc: localbus@ffe05000 {
+ reg = <0 0xffe05000 0 0x1000>;
+
+ /* NOR Flash */
+ ranges = <0x0 0x0 0x0 0xec000000 0x04000000>;
+ };
+
+ soc: soc@ffe00000 {
+ ranges = <0x0 0x0 0xffe00000 0x100000>;
+ };
+
+ pci0: pcie@ffe09000 {
+ ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
+ 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
+ reg = <0 0xffe09000 0 0x1000>;
+ pcie@0 {
+ ranges = <0x2000000 0x0 0xa0000000
+ 0x2000000 0x0 0xa0000000
+ 0x0 0x20000000
+
+ 0x1000000 0x0 0x0
+ 0x1000000 0x0 0x0
+ 0x0 0x100000>;
+ };
+ };
+
+ pci1: pcie@ffe0a000 {
+ reg = <0 0xffe0a000 0 0x1000>;
+ ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
+ 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
+ pcie@0 {
+ ranges = <0x2000000 0x0 0x80000000
+ 0x2000000 0x0 0x80000000
+ 0x0 0x20000000
+
+ 0x1000000 0x0 0x0
+ 0x1000000 0x0 0x0
+ 0x0 0x100000>;
+ };
+ };
+};
+
+/include/ "ucp1020.dtsi"
+/include/ "fsl/p1020si-post.dtsi"
diff --git a/arch/powerpc/boot/dts/ucp1020.dtsi b/arch/powerpc/boot/dts/ucp1020.dtsi
new file mode 100644
index 0000000..7cff949
--- /dev/null
+++ b/arch/powerpc/boot/dts/ucp1020.dtsi
@@ -0,0 +1,211 @@
+/*
+ * uCP1020 Device Tree Source stub (no addresses or top-level ranges)
+ *
+ * Copyright 2013-2016 Arcturus Networks Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of Freescale Semiconductor nor the
+ * names of its contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ *
+ * ALTERNATIVELY, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") as published by the Free Software
+ * Foundation, either version 2 of that License or (at your option) any
+ * later version.
+ *
+ * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+&lbc {
+ nor@0,0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "cfi-flash";
+ reg = <0x0 0x0 0x04000000>;
+ bank-width = <2>;
+ device-width = <1>;
+
+ partition@100000 {
+ /* 7MB - PART 0 */
+ reg = <0x00100000 0x00700000>;
+ label = "0";
+ };
+
+ partition@800000 {
+ /* 32MB - PART 1 */
+ reg = <0x0800000 0x02000000>;
+ label = "1";
+ };
+
+ partition@2800000 {
+ /* 8MB - PART 2 */
+ reg = <0x02800000 0x00800000>;
+ label = "2";
+ };
+
+ partition@3000000 {
+ /* (16MB - 512K) - PART 3 JFFS 2 */
+ reg = <0x03000000 0x00f80000>;
+ label = "3";
+ };
+
+ partition@0 {
+ /* 512KB - bootloader[u-boot, uCbootloader] */
+ reg = <0x0 0x00080000>;
+ label = "BOOT_SPI";
+ };
+
+ partition@3f80000 {
+ /* 512KB - bootloade NOR r[u-boot, uCbootloader] */
+ reg = <0x03f80000 0x00080000>;
+ label = "B";
+ };
+
+ partition@80000 {
+ /* 256KB - bootloaders environment (uCenv) */
+ reg = <0x00080000 0x00040000>;
+
+ label = "E";
+ };
+
+ partition@C0000 {
+ /* 256KB - bootloaders environment (u-boot) */
+ reg = <0x000C0000 0x00040000>;
+ label = "UENV";
+ };
+ };
+};
+
+&soc {
+ i2c@3000 {
+ spoc@14 {
+ compatible = "conexant,cx2070x";
+ reg = <0x14>;
+ };
+ };
+
+ i2c@3100 {
+ dtt@4C {
+ compatible = "national,lm90";
+ reg = <0x4C>;
+ };
+ };
+
+ spi@7000 {
+ flash@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "winbond,w25q80bl";
+ reg = <0>;
+ spi-max-frequency = <40000000>; /* input clock */
+
+ partition@0 {
+ label = "SPI MBR";
+ reg = <0x00000000 0x00002000>;
+ read-only;
+ };
+ partition@2000 {
+ label = "SPI ENV";
+ reg = <0x00002000 0x00006000>;
+ read-only;
+ };
+ partition@8000 {
+ label = "SPI FS";
+ reg = <0x00008000 0x000F8000>;
+ };
+ };
+ flash@3 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "spansion,s25fl008k";
+ reg = <3>;
+ spi-max-frequency = <40000000>; /* input clock */
+ partition@0 {
+ label = "SPI USER";
+ reg = <0x00000000 0x00100000>;
+ };
+ };
+ };
+
+ usb@22000 {
+ phy_type = "ulpi";
+ dr_mode = "host";
+ };
+
+ mdio@24000 {
+ phy0: ethernet-phy@4 {
+ interrupt-parent = <&mpic>;
+ interrupts = <4 1>;
+ reg = <0x04>;
+ };
+
+ phy1: ethernet-phy@6 {
+ interrupt-parent = <&mpic>;
+ interrupts = <8 1>;
+ reg = <0x6>;
+ };
+ };
+
+ enet0: ethernet@b0000 {
+ phy-handle = <&phy0>;
+ phy-connection-type = "rgmii-id";
+ };
+
+ enet1: ethernet@b1000 {
+ status = "disabled";
+ };
+
+ enet2: ethernet@b2000 {
+ phy-handle = <&phy1>;
+ phy-connection-type = "rgmii-id";
+ };
+
+ gpio0: gpio@f000 {
+ compatible = "fsl,mpc8572-gpio", "fsl,pq3-gpio";
+ reg = <0xf000 0x1000>;
+ interrupts = <47 2>;
+ interrupt-parent = <&mpic>;
+ #gpio-cells = <2>;
+ gpio-controller;
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ gpio5 {
+ label = "led1"; /* LED15 */
+ gpios = <&gpio0 5 0>;
+ };
+ gpio12 {
+ label = "led2"; /* LED16 */
+ gpios = <&gpio0 12 0>;
+ };
+ gpio13 {
+ label = "led3"; /* LED17 */
+ gpios = <&gpio0 13 0>;
+ };
+ gpio7 {
+ label = "led4"; /* LED18 */
+ gpios = <&gpio0 7 0>;
+ };
+ gpio6 {
+ label = "led5"; /* LED19 */
+ gpios = <&gpio0 6 0>;
+ };
+ };
+};
diff --git a/arch/powerpc/platforms/85xx/Kconfig b/arch/powerpc/platforms/85xx/Kconfig
index 2fb4b24..81a944f 100644
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
@@ -241,6 +241,13 @@ config SGY_CTS1000
help
Enable this to support functionality in Servergy's CTS-1000 systems.
+config UCP1020_SOM
+ bool "Arcturus uCP1020 Rev.1.3 System on Module"
+ select DEFAULT_UIMAGE
+ help
+ This option enables support for the Arcturus Networks Inc.
+ uCP1020 System on Module.
+
config MVME2500
bool "Artesyn MVME2500"
select DEFAULT_UIMAGE
diff --git a/arch/powerpc/platforms/85xx/Makefile b/arch/powerpc/platforms/85xx/Makefile
index 1fe7fb9..84f2b9a 100644
--- a/arch/powerpc/platforms/85xx/Makefile
+++ b/arch/powerpc/platforms/85xx/Makefile
@@ -31,4 +31,5 @@ obj-$(CONFIG_XES_MPC85xx) += xes_mpc85xx.o
obj-$(CONFIG_GE_IMP3A) += ge_imp3a.o
obj-$(CONFIG_PPC_QEMU_E500) += qemu_e500.o
obj-$(CONFIG_SGY_CTS1000) += sgy_cts1000.o
+obj-$(CONFIG_UCP1020_SOM) += ucp1020_som.o
obj-$(CONFIG_MVME2500) += mvme2500.o
diff --git a/arch/powerpc/platforms/85xx/ucp1020_som.c b/arch/powerpc/platforms/85xx/ucp1020_som.c
new file mode 100644
index 0000000..777e8ad
--- /dev/null
+++ b/arch/powerpc/platforms/85xx/ucp1020_som.c
@@ -0,0 +1,92 @@
+/*
+ * Arcturus Networks Inc. uCP1020 module Setup
+ *
+ * Copyright 2014-2016 Arcturus Networks Inc.
+ *
+ * by Oleksandr G Zhadan & Michael Durrant (www.ArcturusNetworks.com)
+ *
+ * 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 the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+
+#include <linux/stddef.h>
+#include <linux/kernel.h>
+#include <linux/pci.h>
+#include <linux/kdev_t.h>
+#include <linux/delay.h>
+#include <linux/seq_file.h>
+#include <linux/interrupt.h>
+#include <linux/of_platform.h>
+
+#include <asm/time.h>
+#include <asm/machdep.h>
+#include <asm/pci-bridge.h>
+#include <mm/mmu_decl.h>
+#include <asm/prom.h>
+#include <asm/udbg.h>
+#include <asm/mpic.h>
+#include <asm/fsl_guts.h>
+
+#include <sysdev/fsl_soc.h>
+#include <sysdev/fsl_pci.h>
+#include "smp.h"
+
+#include "mpc85xx.h"
+
+void __init ucp1020_som_pic_init(void)
+{
+ struct mpic *mpic = mpic_alloc(NULL, 0, MPIC_BIG_ENDIAN |
+ MPIC_SINGLE_DEST_CPU,
+ 0, 256, " OpenPIC ");
+
+ BUG_ON(mpic == NULL);
+
+ mpic_init(mpic);
+}
+
+/*
+ * Setup the architecture
+ */
+static void __init ucp1020_som_setup_arch(void)
+{
+ if (ppc_md.progress)
+ ppc_md.progress("uCP1020_SoM_setup_arch()", 0);
+
+ mpc85xx_smp_init();
+
+ fsl_pci_assign_primary();
+ pr_info("\n\t%s (http://www.arcturusnetworks.com)\n", ppc_md.name);
+}
+
+machine_arch_initcall(ucp1020, mpc85xx_common_publish_devices);
+machine_arch_initcall(ucp1020, swiotlb_setup_bus_notifier);
+
+/*
+ * Called very early, device-tree isn't unflattened
+ */
+static int __init ucp1020_probe(void)
+{
+ unsigned long root = of_get_flat_dt_root();
+
+ if (of_flat_dt_is_compatible(root, "arcturus,uCP1020"))
+ return 1;
+ return 0;
+}
+
+define_machine(ucp1020) {
+ .name = "uCP1020 SoM - Arcturus Networks Inc.",
+ .probe = ucp1020_probe,
+ .setup_arch = ucp1020_som_setup_arch,
+ .init_IRQ = ucp1020_som_pic_init,
+#ifdef CONFIG_PCI
+ .pcibios_fixup_bus = fsl_pcibios_fixup_bus,
+#endif
+ .get_irq = mpic_get_irq,
+ .restart = fsl_rstcr_restart,
+ .calibrate_decr = generic_calibrate_decr,
+#ifdef DEBUG
+ .progress = udbg_progress,
+#endif
+};
--
2.1.4

View File

@@ -0,0 +1,28 @@
From 4c74fd1266287deca0c1ff091071c5b8558b9735 Mon Sep 17 00:00:00 2001
From: Oleksandr G Zhadan <oleks@arcturusnetworks.com>
Date: Mon, 18 Jul 2016 10:45:41 -0400
Subject: [PATCH 1/1] p1020 esdhc controller reserved bit
Prevent SDHCI core from writing reserved bits, where
p1020 reserved bit is SDHCI_CTRL_HISPD, not 0x01(SDHCI_CTRL_LED).
Signed-off-by: Oleksandr G Zhadan <oleks@arcturusnetworks.com>
Signed-off-by: Michael Durrant <arcsupport@arcturusnetworks.com>
---
drivers/mmc/host/sdhci-esdhc.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mmc/host/sdhci-esdhc.h b/drivers/mmc/host/sdhci-esdhc.h
index a870c42..b45de0a 100644
--- a/drivers/mmc/host/sdhci-esdhc.h
+++ b/drivers/mmc/host/sdhci-esdhc.h
@@ -45,6 +45,6 @@
#define ESDHC_DMA_SYSCTL 0x40c
#define ESDHC_DMA_SNOOP 0x00000040
-#define ESDHC_HOST_CONTROL_RES 0x01
+#define ESDHC_HOST_CONTROL_RES (SDHCI_CTRL_HISPD)
#endif /* _DRIVERS_MMC_SDHCI_ESDHC_H */
--
2.1.4

View File

@@ -0,0 +1,73 @@
Arcturus uCP1020 SoM
====================
This tutorial describes how to use the predefined Buildroot
configuration for the Arcturus uCP1020 SoM platform.
Additional information about this module can be found at
<www.arcturusnetworks.com/products/ucp1020>
Building
--------
make arcturus_ucp1020_defconfig
make
Result of the build
-------------------
After building, you should obtain this tree:
output/images/
+-- rootfs.jffs2
+-- rootfs.tar
+-- u-boot.bin
+-- ucp1020.dtb
+-- uImage
Flashing
--------
You'll need to program the files created by buildroot into the NOR flash.
1. Program the new U-Boot binary (optional)
If you don't feel confident upgrading your bootloader then don't do it,
it's unnecessary most of the time.
B$ tftp u-boot.bin
B$ protect off 0xeff80000 +$filesize
B$ erase 0xeff80000 +$filesize
B$ cp.b $loadaddr 0xeff80000 $filesize
2. Program the kernel
B$ tftp uImage
B$ erase 0xec140000 +$filesize
B$ cp.b $loadaddr 0xec140000 $filesize
3. Program the DTB
B$ tftp ucp1020.dtb
B$ erase 0xec100000 +$filesize
B$ cp.b $loadaddr 0xec100000 $filesize
4. Program the jffs2 root filesystem
B$ tftp rootfs.jffs2
B$ erase 0xec800000 0xee8fffff
B$ cp.b $loadaddr 0xec800000 $filesize
5. Booting your new system
B$ setenv norboot 'setenv bootargs root=/dev/mtdblock1 rootfstype=jffs2 console=$consoledev,$baudrate;bootm 0xec140000 - 0xec100000'
If you want to set this boot option as default:
B$ setenv bootcmd 'run norboot'
B$ saveenv
...or for a single boot:
B$ run norboot
Good Luck !

View File

@@ -3,14 +3,14 @@ ARM software simulator of the AArch64 architecture.
First, one has to download the AArch64 software simulator from:
https://silver.arm.com/download/download.tm?pv=2482590
https://silver.arm.com/download/download.tm?pv=2663527
Then, use the arm_foundationv8_defconfig configuration to build your
Buildroot system.
Finally, boot your system with:
${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-4.1/Foundation_Platform \
${LOCATION_OF_FOUNDATIONV8_SIMULATOR}/models/Linux64_GCC-4.7/Foundation_Platform \
--image output/images/linux-system.axf \
--block-device output/images/rootfs.ext2 \
--network=nat

View File

@@ -165,3 +165,5 @@ CONFIG_SND=y
CONFIG_SND_SOC=y
CONFIG_SND_SIMPLE_CARD=y
CONFIG_SND_DESIGNWARE_I2S=y
CONFIG_CMA=y
CONFIG_CMA_SIZE_MBYTES=64

View File

@@ -6,6 +6,7 @@ Intro
These instructions apply to all models of the ARM Juno:
- Juno r0 (does not support PCIe)
- Juno r1 (supports PCIe)
- Juno r2 (Big Cluster with A72)
Buildroot will generate the kernel image, device tree blob and a
minimal root filesystem.
@@ -41,6 +42,7 @@ After building, you should obtain this tree:
+-- rootfs.tar
+-- juno.dtb (if Juno r0 is used)
+-- juno-r1.dtb (if Juno r1 is used)
+-- juno-r2.dtb (if Juno r2 is used)
+-- Image
Preparing your rootfs
@@ -89,6 +91,19 @@ NOR3LOAD: 00000000 ;Image Load Address
NOR3ENTRY: 00000000 ;Image Entry Point
......
Configure *.dtb in the boot configuration for Juno r2
=====================================================
SITE1/HBI0262D/images.txt
......
NOR3UPDATE: AUTO ;Image Update:NONE/AUTO/FORCE
NOR3ADDRESS: 0x02000000 ;Image Flash Address
NOR3FILE: \SOFTWARE\juno-r2.dtb ;Image File Name
NOR3NAME: board.dtb ;Specify target filename to preserve file extension
NOR3LOAD: 00000000 ;Image Load Address
NOR3ENTRY: 00000000 ;Image Entry Point
......
Installing kernel image and DTB
===============================
@@ -97,7 +112,7 @@ Installing kernel image and DTB
A mass storage device should appear in your desktop.
3. Open the software/ folder
4. Copy the 'Image' file to software/
5. Copy the 'juno-r1.dtb' (r1) or the 'juno.dtb' (r0) file to software/
5. Copy the 'juno-r1.dtb' (r1), 'juno.dtb' (r0) or juno-r2.dtb (r2) file to software/
6. Press the red button in the front pannel of ARM Juno
At this time, the board will erase the Flash entry for each new item and

View File

@@ -0,0 +1,89 @@
Introduction
============
Armadeus APFxx are Systems On Module (SOM) based on Freescale/NXP i.MX
processors associated with an FPGA (except on APF28). Non volatile
data are stored in on-module NOR or NAND Flash, depending on the
model. These SOM can be used on Armadeus development boards or with
custom docking boards.
Supported platforms
===================
Buildroot currently supports the following Armadeus platforms with the
associated defconfigs:
* APF9328 SOM + devt boards -> armadeus_apf9328_defconfig
* APF27 SOM + devt board -> armadeus_apf27_defconfig
* APF51 SOM + devt board -> armadeus_apf51_defconfig
* APF28 SOM + devt board -> armadeus_apf28_defconfig
Vanilla Linux versions are preferred to Freescale's one in these
configurations.
How to build it
===============
Configure Buildroot
-------------------
Let's say you own an APFxx SOM with it's corresponding development
board, all you have to do is:
$ make armadeus_apfxx_defconfig
where "apfxx" is the version of your SOM.
Launch build
------------
$ make
Result of the build
-------------------
When the build is finished, you will end up with:
output/images/
├── imx**-apfxxdev.dtb [1]
├── rootfs.jffs2 [2]
├── rootfs.tar
├── rootfs.ubi [2]
├── rootfs.ubifs [2]
└── uImage
[1] Only if the kernel version used uses a Device Tree.
[2] .ubi/.ubifs images are not available on APF9328 and replaced by a
.jffs2 one in this case.
Building U-Boot is currently not supported in these configurations.
Installation
============
You will require a serial connection to the board and a TFTP server on
your Host PC. Assuming your server is configured for exporting
/tftpboot/ directory, you will have to copy the generated images to
it:
$ cp output/images/uImage /tftpboot/apfxx-linux.bin
$ cp output/images/*.dtb /tftpboot/
$ cp output/images/rootfs.ubi /tftpboot/apfxx-rootfs.ubi
$ cp output/images/rootfs.jffs2 /tftpboot/apfxx-rootfs.jffs2
where "apfxx" is the version of your SOM, as used with _defconfigs.
Then on your serial terminal, all you have to do is:
* interrupt the boot process and access U-Boot console by pressing any
key when booting,
* configure board and server IP addresses with "ipaddr" and "serverip"
environment variables,
* if you want to update kernel:
BIOS > run update_kernel
* if you want to update device tree:
BIOS > run update_dtb
* if you want to update rootfs:
BIOS > run update_rootfs
That's it !

View File

@@ -1,10 +1,6 @@
Flashing the NAND using SAM-BA
==============================
This document explains how to flash a basic Buildroot system on various
Atmel boards. Additional details can
also be found on the Linux4SAM website, in particular here:
http://www.at91.com/linux4sam/bin/view/Linux4SAM/GettingStarted
This document explains how to set up a basic Buildroot system on various
Atmel boards. Additional details can also be found on the Linux4SAM website:
http://www.at91.com/linux4sam/bin/view/Linux4SAM/
This guide covers the following configurations:
- at91sam9g45m10ek_defconfig
@@ -14,20 +10,50 @@ This guide covers the following configurations:
- atmel_sama5d3xek_defconfig (sama5d31, sama5d33, sama5d34, sama5d35,
sama5d36)
- atmel_sama5d3_xplained_defconfig
- atmel_sama5d3_xplained_dev_defconfig
- atmel_sama5d3_xplained_mmc_defconfig
- atmel_sama5d3_xplained_mmc_dev_defconfig
- atmel_sama5d4ek_defconfig
- atmel_sama5d4_xplained_defconfig
- atmel_sama5d4_xplained_dev_defconfig
- atmel_sama5d4_xplained_mmc_defconfig
- atmel_sama5d4_xplained_mmc_dev_defconfig
- atmel_sama5d2_xplained_mmc_defconfig
- atmel_sama5d2_xplained_mmc_dev_defconfig
These configurations will use AT91Bootstrap, u-boot and a linux kernel from
the git trees maintained by Atmel. They also build u-boot SPL when
available, it can replace AT91Bootstrap.
the git trees maintained by Atmel.
The configurations labeled as 'dev' provide a development rootfs with tools to
tests the features of the SoC:
- ALSA tools to test audio
- FFMPEG to record video from the ISI/ISC
- I2C, SPI, CAN, etc. tools
- modetest for LCD screens, HDMI
- Wilc1000 firmware for the Atmel Wireless sdio module
- SSH for convenience
- GDB/GDB server for debug
Configuring and building Buildroot
----------------------------------
==================================
For most configurations listed above, the Buildroot configuration
assumes the system will be flashed on NAND. In this case, after
building Buildroot, follow the instructions in the "Flashing the NAND
using SAM-BA" section below.
For the Xplained boards, an alternative Buildroot configuration is
provided to boot from an SD card. Those configurations are labeled as
'mmc'. In this case, after building Buildroot, follow the instructions
in the "Preparting the SD card" sction.
To configure and build Buildroot, run:
make <board>_defconfig
make
Flashing the NAND using SAM-BA
==============================
Flashing the board
------------------
@@ -105,3 +131,44 @@ board/atmel/flasher.sh /tmp/atmel_sama5d3_xplained/ /dev/ttyACM0 sama5d3_xplaine
Reboot, the system should boot up to the buildroot login invite.
Preparing the SD card
=====================
An image named sdcard.img is automatically generated. With this image,
you no longer have to care about the creation of the partition and
copying files to the SD card.
You need at least a 1GB SD card. All the data on the SD card will be
lost. To copy the image on the SD card:
/!\ Caution be sure to do it on the right mmcblk device /!\
dd if=output/images/sdcard.img of=/dev/mmcblk0
Insert your SD card in your Xplained board, and enjoy. The default
U-Boot environment will load properly the kernel and Device Tree blob
from the first partition of the SD card, so everything works
automatically.
By default a 16MB FAT partition is created. It contains at91bootstrap,
u-boot, the kernel image and all dtb variants for your board. The dtb
used is the basic one:
U-Boot> print
[...]
bootcmd=fatload mmc 1:1 0x21000000 at91-sama5d2_xplained.dtb; fatload mmc 1:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000
[...]
If you want to use a variant such as the _pda7 one, you will have to
update your u-boot environment:
U-Boot> setenv bootcmd 'fatload mmc 1:1 0x21000000 at91-sama5d2_xplained_pda7.dtb; fatload mmc 1:1 0x22000000 zImage; bootz 0x22000000 - 0x21000000'
U-Boot> save
Saving Environment to FAT...
writing uboot.env
done
A 512MB ext4 partition is also created to store the rootfs generated.
If you want to customize the size of the partitions and their content,
take a look at the the genimage.cfg file in the board directory.

View File

@@ -0,0 +1,33 @@
# Image for SD card boot on Atmel SAMA5D2 Xplained boards
#
image boot.vfat {
vfat {
files = {
"zImage",
"at91-sama5d2_xplained.dtb",
"at91-sama5d2_xplained_pda4.dtb",
"at91-sama5d2_xplained_pda7.dtb",
"at91-sama5d2_xplained_pda7b.dtb",
"boot.bin",
"u-boot.bin"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 512M
}
}

View File

@@ -0,0 +1,14 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -0,0 +1,33 @@
# Image for SD card boot on Atmel SAMA5D3 Xplained boards
#
image boot.vfat {
vfat {
files = {
"zImage",
"at91-sama5d3_xplained.dtb",
"at91-sama5d3_xplained_pda4.dtb",
"at91-sama5d3_xplained_pda7.dtb",
"at91-sama5d3_xplained_pda7b.dtb",
"boot.bin",
"u-boot.bin"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 512M
}
}

View File

@@ -0,0 +1,14 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -0,0 +1,34 @@
# Image for SD card boot on Atmel SAMA5D4 Xplained boards
#
image boot.vfat {
vfat {
files = {
"zImage",
"at91-sama5d4_xplained.dtb",
"at91-sama5d4_xplained_hdmi.dtb",
"at91-sama5d4_xplained_pda4.dtb",
"at91-sama5d4_xplained_pda7.dtb",
"at91-sama5d4_xplained_pda7b.dtb",
"boot.bin",
"u-boot.bin"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 512M
}
}

View File

@@ -0,0 +1,14 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -1,73 +0,0 @@
Atmel SAMA5D3 Xplained board
============================
This document explains how to set up a basic Buildroot system on the
Atmel SAMA5D3 Xplained board, whose main site is
http://www.atmel.com/tools/ATSAMA5D3-XPLD.aspx. Additional details can
also be found on the http://www.at91.com/linux4sam/bin/view/Linux4SAM/
web site.
Note that the default Buildroot configuration is prepared to boot from
an SD card: the first stage bootloader, second stage bootloader,
kernel image and root filesystem are all located on the SD card. Some
adjustments in the bootloader configuration will be needed to boot
from NAND flash, see board/atmel/readme.txt
Configuring and building Buildroot
----------------------------------
make atmel_sama5d3_xplained_mmc_defconfig
make
Preparing the SD card
---------------------
The SD card must be partitioned with at least two partitions: one
FAT16 partition for the bootloaders, kernel image and Device Tree
blob, and one ext4 partition for the root filesystem. To partition the
SD card:
sudo sfdisk -uM /dev/mmcblk0 <<EOF
,64,6
;
EOF
This creates a 64 MB partition for the FAT16 filesystem (type 6) and
uses the rest for the ext4 filesystem used for the root filesystem.
Then, format both partitions:
sudo mkfs.msdos -n boot /dev/mmcblk0p1
sudo mkfs.ext4 -L rootfs -O ^huge_file /dev/mmcblk0p2
Note: the -O ^huge_file option is needed to avoid enabling the huge
files features of ext4 (to support files larges than 2 TB), which
needs the kernel option CONFIG_LBDAF to be enabled.
Mount both partitions (if not done automatically by your system):
sudo mount /dev/mmcblk0p1 /media/boot
sudo mount /dev/mmcblk0p2 /media/rootfs
Copy the bootloaders, kernel image and Device Tree blob to the first
partition:
cp output/images/u-boot-spl.bin /media/boot/boot.bin
cp output/images/u-boot.img /media/boot/u-boot.img
cp output/images/zImage /media/boot/zImage
cp output/images/at91-sama5d3_xplained.dtb /media/boot/at91-sama5d3_xplained.dtb
Extract the root filesystem to the second partition:
sudo tar -C /media/rootfs -xf output/images/rootfs.tar
Unmount both partitions:
sudo umount /media/boot
sudo umount /media/rootfs
Insert your SD card in your Xplained board, and enjoy. The default
U-Boot environment will properly load the kernel and Device Tree blob
from the first partition of the SD card, so everything works
automatically.

View File

@@ -1,68 +0,0 @@
This is the buildroot board support for the Avnet Microzed. The Microzed is
a development board based on the Xilinx Zynq-7000 based All-Programmable
System-On-Chip.
Microzed information including schematics, reference designs, and manuals are
available from http://www.zedboard.org .
Steps to create a working system for Microzed:
1) make microzed_defconfig
2) make
3) copy files BOOT.BIN, u-boot-dtb.img, rootfs.cpio.uboot,
uImage, zynq-zed.dtb into your SD card
4) boot your Microzed
The expected output:
U-Boot SPL 2015.07 (Sep 15 2015 - 16:10:56)
mmc boot
reading system.dtb
spl_load_image_fat_os: error reading image system.dtb, err - -1
reading u-boot-dtb.img
reading u-boot-dtb.img
U-Boot 2015.07 (Sep 15 2015 - 16:10:56 +0200)
Model: Zynq MicroZED Board
I2C: ready
DRAM: ECC disabled 1 GiB
MMC: zynq_sdhci: 0
Using default environment
...
When using an older U-Boot then 2015.07, a working ps7_init.c
file is required to be installed into the U-Boot directory
structure. From 2015.07, the major Zynq-based boards are
supported without any manual intervention.
Resulting system
----------------
A FAT32 partition should be created at the beginning of the SD Card
and the following files should be installed:
/BOOT.BIN
/zynq-zed.dtb
/uImage
/rootfs-cpio.uboot
/u-boot-dtb.img
All needed files can be taken from output/images/
BOOT.BIN, uImage and u-boot-dtb.img are direct copies of the same files
available on output/images/.
Note th at the DTB (zynq-zed.dtb) is the same as the one used for the
Zedboard, and that this is the recommended solution, see
https://forums.xilinx.com/t5/Embedded-Linux/Microzed-default-device-tree-dts/td-p/432856.
There is a patch attached that redefines the U-Boot's environment
to work with Buildroot out-of-the-box.
You can alter the booting procedure by creating a file uEnv.txt
in the root of the SD card. It is a plain text file in format
<key>=<value> one per line:
kernel_image=myimage
modeboot=myboot
myboot=...

View File

@@ -1,41 +0,0 @@
From a4c0058967a551385da5e16d2787d9f704cab225 Mon Sep 17 00:00:00 2001
From: Jan Viktorin <viktorin@rehivetech.com>
Date: Thu, 18 Jun 2015 16:26:02 +0200
Subject: [PATCH] zynq: Create microzed-specific U-Boot environment
This is a copy of the patch supplied for Zedboard.
Signed-off-by: Davide Viti <d.viti@infosolution.it>
--- a/include/configs/zynq_microzed.h 2015-07-14 19:32:21.000000000 +0200
+++ b/include/configs/zynq_microzed.h 2015-09-02 12:19:35.728503472 +0200
@@ -22,4 +22,29 @@
#include <configs/zynq-common.h>
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "envload=mmc info && if fatload mmc 0 0x1000 uEnv.txt;"\
+ " then echo Importing uEnv.txt; env import -t 0x1000" \
+ " $filesize; fi;\0" \
+ "bootcmd=run $modeboot\0" \
+ "modeboot=sdboot\0" \
+ "baudrate=115200\0" \
+ "bootenv=uEnv.txt\0" \
+ "devicetree_image=zynq-zed.dtb\0" \
+ "kernel_image=uImage\0" \
+ "ramdisk_image=rootfs.cpio.uboot\0" \
+ "fpga_image=system.bit\0" \
+ "sdboot=echo Booting from SD...;" \
+ " run envload; run fpgaboot;" \
+ " fatload mmc 0 0x1000000 ${kernel_image}" \
+ " && fatload mmc 0 0x2000000 ${ramdisk_image}" \
+ " && fatload mmc 0 0x3000000 ${devicetree_image}" \
+ " && bootm 0x1000000 0x2000000 0x3000000\0" \
+ "fpgaboot=if fatload mmc 0 0x1000000 ${fpga_image};" \
+ " then echo Booting FPGA from ${fpga_image};" \
+ " fpga info 0 && fpga loadb 0 0x1000000 $filesize;" \
+ " else echo FPGA image ${fpga_image} was not found," \
+ " skipping...; fi;\0"
+
#endif /* __CONFIG_ZYNQ_MICROZED_H */

View File

@@ -1,64 +0,0 @@
This is the buildroot board support for the Avnet Zedboard. The Zedboard is
a development board based on the Xilinx Zynq-7000 based All-Programmable
System-On-Chip.
Zedboard information including schematics, reference designs, and manuals are
available from http://www.zedboard.org .
Steps to create a working system for Zedboard:
1) make zedboard_defconfig
2) make
3) copy files BOOT.BIN, u-boot-dtb.img, rootfs.cpio.uboot,
uImage, zynq-zed.dtb into your SD card
4) boot your Zedboard
The expected output:
U-Boot SPL 2015.07 (Jul 22 2015 - 12:01:55)
mmc boot
reading system.dtb
spl_load_image_fat_os: error reading image system.dtb, err - -1
reading u-boot-dtb.img
reading u-boot-dtb.img
U-Boot 2015.07 (Jul 22 2015 - 12:01:55 +0200)
Model: Zynq ZED Board
I2C: ready
DRAM: ECC disabled 512 MiB
MMC: zynq_sdhci: 0
Using default environment
...
When using an older U-Boot then 2015.07, a working ps7_init.c
file is required to be installed into the U-Boot directory
structure. From 2015.07, the major Zynq-based boards are
supported without any manual intervention.
Resulting system
----------------
A FAT32 partition should be created at the beginning of the SD Card
and the following files should be installed:
/BOOT.BIN
/zynq-zed.dtb
/uImage
/rootfs-cpio.uboot
/u-boot-dtb.img
All needed files can be taken from output/images/
BOOT.BIN, uImage and u-boot-dtb.img are direct copies of the same files
available on output/images/
There is a patch attached that redefines the U-Boot's environment
to work with Buildroot out-of-the-box.
You can alter the booting procedure by creating a file uEnv.txt
in the root of the SD card. It is a plain text file in format
<key>=<value> one per line:
kernel_image=myimage
modeboot=myboot
myboot=...

View File

@@ -1,45 +0,0 @@
From a4c0058967a551385da5e16d2787d9f704cab225 Mon Sep 17 00:00:00 2001
From: Jan Viktorin <viktorin@rehivetech.com>
Date: Thu, 18 Jun 2015 16:26:02 +0200
Subject: [PATCH 2/2] zynq: Create zedboard-specific U-Boot environment
---
include/configs/zynq_zed.h | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/include/configs/zynq_zed.h b/include/configs/zynq_zed.h
index 946de95..2400a88 100644
--- a/include/configs/zynq_zed.h
+++ b/include/configs/zynq_zed.h
@@ -24,4 +24,28 @@
#include <configs/zynq-common.h>
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "envload=mmc info && if fatload mmc 0 0x1000 uEnv.txt;"\
+ " then echo Importing uEnv.txt; env import -t 0x1000" \
+ " $filesize; fi;\0" \
+ "bootcmd=run envload; run $modeboot\0" \
+ "modeboot=sdboot\0" \
+ "baudrate=115200\0" \
+ "bootenv=uEnv.txt\0" \
+ "devicetree_image=zynq-zed.dtb\0" \
+ "kernel_image=uImage\0" \
+ "ramdisk_image=rootfs.cpio.uboot\0" \
+ "fpga_image=system.bit\0" \
+ "sdboot=echo Booting from SD...; run fpgaboot;" \
+ " fatload mmc 0 0x1000000 ${kernel_image}" \
+ " && fatload mmc 0 0x2000000 ${ramdisk_image}" \
+ " && fatload mmc 0 0x3000000 ${devicetree_image}" \
+ " && bootm 0x1000000 0x2000000 0x3000000\0" \
+ "fpgaboot=if fatload mmc 0 0x1000000 ${fpga_image};" \
+ " then echo Booting FPGA from ${fpga_image};" \
+ " fpga info 0 && fpga loadb 0 0x1000000 $filesize;" \
+ " else echo FPGA image ${fpga_image} was not found," \
+ " skipping...; fi;\0"
+
#endif /* __CONFIG_ZYNQ_ZED_H */
--
2.4.3

View File

@@ -0,0 +1,30 @@
image boot.vfat {
vfat {
files = {
"MLO",
"u-boot.img",
"zImage",
"uEnv.txt",
"am335x-bone.dtb",
"am335x-boneblack.dtb"
}
}
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
}
}

View File

@@ -2,5 +2,19 @@
# post-image.sh for BeagleBone
# 2014, Marcin Jabrzyk <marcin.jabrzyk@gmail.com>
BOARD_DIR="$(dirname $0)"
# copy the uEnv.txt to the output/images directory
cp board/beaglebone/uEnv.txt $BINARIES_DIR/uEnv.txt
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -28,35 +28,17 @@ After building, you should get a tree like this:
├── am335x-bone.dtb
├── MLO
├── rootfs.ext2
├── sdcard.img
├── u-boot.img
├── uEnv.txt
└── zImage
How to write the microSD card
=============================
Prepare your SDCard
===================
Once the build process is finished you will have an image called "sdcard.img"
in the output/images/ directory.
You need to prepare first partition in fat32 and marked as bootable,
and second where you will write rootfs.
Copy the bootable "sdcard.img" onto an SD card with "dd":
Copy the files to boot partition
$ cp MLO u-boot.img zImage uEnv.txt *.dtb /media/zzzzz
where /media/zzzzz is the mount point.
Then you need to write the rootfs image onto SDCard:
# dd if=rootfs.ext2 of=/dev/xxxxx
where /dev/xxxxx is the second partition. Use:
# fdisk -l
to check for correct one.
Finish
======
Unmount all mounted SDCard partitions and insert the card to BeagleBone.
Hold the "BOOT" button and apply power. Then release the "BOOT" button.
The output is available on the serial console.
$ sudo dd if=output/images/sdcard.img of=/dev/sdX

View File

@@ -1,8 +1,19 @@
setenv bootargs ''
a_script=0x10800000
a_zImage=0x10800000
a_fdt=0x13000000
if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
a_script=0x80800000
a_zImage=0x80800000
a_fdt=0x83000000
m4=''
if itest.s "x1" == "x$m4enabled" ; then
run m4boot;
m4='-m4';
fi
else
a_script=0x10800000
a_zImage=0x10800000
a_fdt=0x13000000
fi
setenv initrd_high 0xffffffff
if itest.s "x" == "x${dtbname}" ; then
@@ -13,15 +24,9 @@ if itest.s "x" == "x${dtbname}" ; then
elif itest.s x6QP == "x${cpu}" ; then
dtbname=imx6qp-${board}.dtb;
elif itest.s x6SX == "x${cpu}" ; then
if itest.s "x1" != "x$m4enabled" ; then
dtbname=imx6sx-${board}.dtb;
else
run m4boot;
dtbname=imx6sx-${board}-m4.dtb;
fi
a_script=0x80800000
a_zImage=0x80800000
a_fdt=0x83000000
dtbname=imx6sx-${board}${m4}.dtb;
elif itest.s x7D == "x${cpu}" ; then
dtbname=imx7d-${board}${m4}.dtb;
else
dtbname=imx6q-${board}.dtb;
fi
@@ -47,10 +52,6 @@ else
exit;
fi
# first enable tfp410
i2c dev 1
i2c mw 38 8.1 bd
cmd_xxx_present=
fdt resize
if itest.s "x" != "x${cmd_custom}" ; then

View File

@@ -7,7 +7,7 @@ offset=0x400
a_uImage1=0x12000000
a_uImage2=0x12400000
if itest.s x6SX == "x$cpu" ; then
if itest.s x6SX == "x${cpu}" || itest.s x7D == "x${cpu}"; then
a_uImage1=0x82000000
a_uImage2=0x82400000
fi

View File

@@ -0,0 +1,30 @@
Buildroot for Boundary Devices platforms:
https://boundarydevices.com/product-category/popular-sbc-and-som-modules/
Here is the list of targeted platforms per defconfig:
- nitrogen6x_defconfig
- BD-SL-i.MX6 (SABRE-Lite)
- Nitrogen6X
- Nitrogen6_Lite
- Nitrogen6_MAX
- Nitrogen6_VM
- Nitrogen6_SOM
- Nitrogen6_SOMv2
- nitrogen6sx_defconfig
- Nitrogen6_SoloX
- nitrogen7_defconfig
- Nitrogen7
To install, simply copy the image to a uSD card:
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
Where 'sdX' is the device node of the uSD partition.
To upgrade u-boot, cancel autoboot and type:
> run upgradeu

View File

@@ -1,13 +0,0 @@
Buildroot for Boundary Devices Nitrogen6X:
http://boundarydevices.com/products/nitrogen6x-board-imx6-arm-cortex-a9-sbc/
To install, simply copy the image to a uSD card:
sudo dd if=output/images/sdcard.img of=/dev/sdX
Where 'sdX' is the device node of the uSD partition.
To upgrade u-boot, cancel autoboot and type:
run upgradeu

View File

@@ -0,0 +1 @@
console=tty1 clk_ignore_unused root=/dev/mmcblk1p2 rootfstype=ext4 ro

View File

@@ -0,0 +1,37 @@
/dts-v1/;
/ {
description = "Buildroot kernel for Chromebook Snow";
images {
kernel@1 {
description = "kernel";
data = /incbin/("zImage");
type = "kernel_noload";
arch = "arm";
os = "linux";
compression = "none";
load = <0>;
entry = <0>;
hash@1 {
algo = "sha1";
};
};
fdt@1{
description = "exynos5250-snow.dtb";
data = /incbin/("exynos5250-snow.dtb");
type = "flat_dt";
arch = "arm";
compression = "none";
hash@1 {
algo = "sha1";
};
};
};
configurations {
default = "conf@1";
conf@1{
kernel = "kernel@1";
fdt = "fdt@1";
};
};
};

View File

@@ -0,0 +1,27 @@
Some versions of u-boot for this Chromebook check for tpm node
in the device tree and fail badly (reboot) if it is not found.
While not exactly correct, it is much easier to patch the mainline
device tree to match u-boot expectations than to fix u-boot on
this device.
See https://code.google.com/p/chromium/issues/detail?id=220169
and https://lkml.org/lkml/2013/3/4/242
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
--- a/arch/arm/boot/dts/exynos5250-snow-common.dtsi
+++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi
@@ -466,6 +466,11 @@
status = "okay";
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <66000>;
+
+ tpm {
+ compatible = "infineon,slb9635tt";
+ reg = <0x20>;
+ };
};
&i2c_5 {

View File

@@ -0,0 +1,2 @@
CONFIG_MWIFIEX=m
CONFIG_MWIFIEX_SDIO=m

View File

@@ -0,0 +1,69 @@
#!/bin/sh
# This scripts makes a minimal bootable SD card image for the Chromebook.
# The resulting file is called bootsd.img. It should be written directly
# to the card:
#
# SD=/dev/mmcblk1 # check your device name!
# dd if=output/images/bootsd.img of=$SD
#
# The partitions are created just large enough to hold the kernel and
# the rootfs image. Most of the card will be empty, and the secondary
# GPT will not be in its proper location.
# cgpt does not create protective MBR, and the kernel refuses to read
# GPT unless there's some kind of MBR in sector 0. So we need parted
# to write that single sector before doing anything with the GPT.
cgpt=$HOST_DIR/usr/bin/cgpt
parted=$HOST_DIR/usr/sbin/parted
kernel=$BINARIES_DIR/uImage.kpart
rootfs=$BINARIES_DIR/rootfs.ext2
run() { echo "$@"; "$@"; }
die() { echo "$@" >&2; exit 1; }
test -f $kernel || die "No kernel image found"
test -f $rootfs || die "No rootfs image found"
test -x $cgpt || die "cgpt not found (host-vboot-utils have not been built?)"
# True file sizes in bytes
kernelsize=`stat -t $kernel | cut -d\ -f2`
rootfssize=`stat -t $rootfs | cut -d\ -f2`
# The card is partitioned in sectors of 8KB.
# 4 sectors are reserved for MBR+GPT. Their actual size turns out
# to be 33 512-blocks which is just over 2 sectors, but we align
# it to a nice round number.
sec=8192
kernelsec=$(((kernelsize+8191)>>13))
rootfssec=$(((rootfssize+8191)>>13))
headersec=4
# There is also a copy of MBR+GPT at the end of the image.
# It's going to be useless but both tools assume it's there.
imagesec=$((2*headersec+kernelsec+rootfssec))
bootsd="$BINARIES_DIR/bootsd.img"
run dd bs=$sec count=$imagesec if=/dev/zero of=$bootsd
# cgpt needs offsets and sizes in 512-blocks.
block=512
kernelstart=$((headersec<<4))
kernelblocks=$((kernelsec<<4))
rootfsblocks=$((rootfssec<<4))
rootfsstart=$((kernelstart+kernelblocks))
# This command initializes both GPT and MBR
run $parted -s $bootsd mklabel gpt
# The kernel partition must be marked as bootable, that's why -S -T -P
run $cgpt add -i 1 -b $kernelstart -s $kernelblocks \
-t kernel -l kernel \
-S 1 -T 1 -P 10 $bootsd
# It does not really matter where the rootfs partition is located as long
# as the kernel can find it.
# However, if anything is changed here, kernel.args must be updated as well.
run $cgpt add -i 2 -b $rootfsstart -s $rootfsblocks \
-t data -l rootfs $bootsd
run dd bs=$block if=$kernel of=$bootsd seek=$kernelstart
run dd bs=$block if=$rootfs of=$bootsd seek=$rootfsstart

View File

@@ -0,0 +1,137 @@
Samsung XE303C12 aka Chromebook Snow
====================================
This file describes booting the Chromebook from an SD card containing
Buildroot kernel and rootfs, using the original bootloader. This is
the least invasive way to get Buildroot onto the devices and a good
starting point.
The bootloader will only boot a kernel from a GPT partition marked
bootable with cgpt tool from vboot-utils package.
The kernel image must be signed using futility from the same package.
The signing part is done by sign.sh script in this directory.
It does not really matter where rootfs is as long as the kernel is able
to find it, but this particular configuration assumes the kernel is on
partition 1 and rootfs is on partition 2 of the SD card.
Make sure to check kernel.args if you change this.
Making the boot media
---------------------
Start by configuring and building the images.
make chromebook_snow_defconfig
make menuconfig # if necessary
make
The important files are:
uImage.kpart (kernel and device tree, signed)
rootfs.tar
bootsd.img (SD card image containing both kernel and rootfs)
Write the image directly to some SD card.
WARNING: make sure there is nothing important on that card,
and double-check the device name!
SD=/dev/mmcblk1 # may be /dev/sdX on some hosts
dd if=output/images/bootsd.img of=$SD
Switching to developer mode and booting from SD
-----------------------------------------------
Power Chromebook down, then power it up while holding Esc+F3.
BEWARE: switching to developer mode deletes all user data.
Create backups if you need them.
While in developer mode, Chromebook will boot into a white screen saying
"OS verification is off".
Press Ctrl-D at this screen to boot Chromium OS from eMMC.
Press Ctrl-U at this screen to boot from SD (or USB)
Press Power to power it off.
Do NOT press Space unless you mean it.
This will switch it back to normal mode.
The is no way to get rid of the white screen without re-flashing the bootloader.
Troubleshooting
---------------
Loud *BEEP* after pressing Ctrl-U means there's no valid partition to boot from.
Which in turn means either bad GPT or improperly signed kernel.
Return to the OS verification screen without any sounds means the code managed
to reboot the board. May indicate properly signed but invalid image.
Blank screen means the image is valid and properly signed but cannot boot
for some reason, like missing or incorrect DT.
In case the board becomes unresponsive:
* Press Esc+F3+Power. The board should reboot instantly.
Remove SD card to prevent it from attempting a system recovery.
* Hold Power button for around 10s. The board should shut down into
its soft-off mode. Press Power button again or open the lid to turn in on.
* If that does not work, disconnect the charger and push a hidden
button on the underside with a pin of some sort. The board should shut
down completely. Opening the lid and pressing Power button will not work.
To turn it back on, connect the charger.
Partitioning SD card manually
-----------------------------
Check mksd.sh for partitioning commands.
Use parted and cgpt on a real device, and calculate the partition
sizes properly. The kernel partition may be as small as 4MB, but
you will probably want the rootfs to occupy the whole remaining space.
cgpt may be used to check current layout:
output/host/usr/bin/cgpt show $SD
All sizes and all offsets are in 512-byte blocks.
Writing kernel and rootfs to a partitioned SD card
--------------------------------------------------
Write .kpart directly to the bootable partition:
dd if=output/images/uImage.kpart of=${SD}1
Make a new filesystem on the rootfs partition, and unpack rootfs.tar there:
mkfs.ext4 ${SD}2
mount ${SD2} /mnt/<ROOTFS-PARTITION>
tar -xvf output/images/rootfs.tar -C /mnt/<ROOTFS-PARTITION>
umount /mnt/<ROOTFS-PARTITION>
This will require root permissions even if you can write to $SD.
Kernel command line
-------------------
The command line is taken from board/chromebook/snow/kernel.args and stored
in the vboot header (which also holds the signature).
The original bootloader prepends "cros_secure console= " to the supplied
command line. The only way to suppress this is to enable CMDLINE_FORCE
in the kernel config, disabling external command line completely.
That's not necessary however. The mainline kernel ignores cros_secure,
and supplying console=tty1 in kernel.args undoes the effect of console=
Booting with console= suppresses all kernel output.
As a side effect, it makes /dev/console unusable, which the init in use must
be able to handle.
WiFi card
---------
Run modprobe mwifiex_sdio to load the driver.
The name of the device should be mlan0.
Further reading
---------------
https://www.chromium.org/chromium-os/developer-information-for-chrome-os-devices/samsung-arm-chromebook
http://linux-exynos.org/wiki/Samsung_Chromebook_XE303C12/Installing_Linux
http://archlinuxarm.org/platforms/armv7/samsung/samsung-chromebook
http://www.de7ec7ed.com/2013/05/application-processor-ap-uart-samsung.html
http://www.de7ec7ed.com/2013/05/embedded-controller-ec-uart-samsung.html

View File

@@ -0,0 +1,41 @@
#!/bin/sh
# This script creates u-boot FIT image containing the kernel and the DT,
# then signs it using futility from vboot-utils.
# The resulting file is called uImage.kpart.
BOARD_DIR=$(dirname $0)
mkimage=$HOST_DIR/usr/bin/mkimage
futility=$HOST_DIR/usr/bin/futility
devkeys=$HOST_DIR/usr/share/vboot/devkeys
run() { echo "$@"; "$@"; }
die() { echo "$@" >&2; exit 1; }
test -f $BINARIES_DIR/zImage || \
die "No kernel image found"
test -x $mkimage || \
die "No mkimage found (host-uboot-tools has not been built?)"
test -x $futility || \
die "No futility found (host-vboot-utils has not been built?)"
# kernel.its references zImage and exynos5250-snow.dtb, and all three
# files must be in current directory for mkimage.
run cp $BOARD_DIR/kernel.its $BINARIES_DIR/kernel.its || exit 1
echo "# entering $BINARIES_DIR for the next command"
(cd $BINARIES_DIR && run $mkimage -f kernel.its uImage.itb) || exit 1
# futility requires non-empty file to be supplied with --bootloader
# even if it does not make sense for the target platform.
echo > $BINARIES_DIR/dummy.txt
run $futility vbutil_kernel \
--keyblock $devkeys/kernel.keyblock \
--signprivate $devkeys/kernel_data_key.vbprivk \
--arch arm \
--version 1 \
--config $BOARD_DIR/kernel.args \
--vmlinuz $BINARIES_DIR/uImage.itb \
--bootloader $BINARIES_DIR/dummy.txt \
--pack $BINARIES_DIR/uImage.kpart || exit 1
rm -f $BINARIES_DIR/kernel.its $BINARIES_DIR/dummy.txt

View File

@@ -20,6 +20,7 @@ image sdcard.img {
in-partition-table = "no"
image = "u-boot-sunxi-with-spl.bin"
offset = 8192
size = 1040384 # 1MB - 8192
}
partition boot {

View File

@@ -0,0 +1,6 @@
default firefly-rk3288
label firefly-rk3288
kernel /boot/uImage
devicetree /boot/rk3288-firefly.dtb
append console=ttyS2,115200n8 root=/dev/mmcblk0p1 rootwait

View File

@@ -0,0 +1,3 @@
BOARD_DIR="$(dirname $0)"
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf

View File

@@ -0,0 +1,20 @@
#!/bin/sh
MKIMAGE=$HOST_DIR/usr/bin/mkimage
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/sd-image.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
$MKIMAGE -n rk3288 -T rksd -d $BINARIES_DIR/u-boot-spl-dtb.bin $BINARIES_DIR/u-boot-spl-dtb.img
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"
exit $?

View File

@@ -0,0 +1,40 @@
Firefly RK3288
How to build it
===============
$ make firefly_rk3288_defconfig
Then you can edit the build options using
$ make menuconfig
Compile all and build rootfs image:
$ make
Result of the build
-------------------
After building, you should get a tree like this:
output/images/
├── rk3288-firefly.dtb
├── rootfs.ext2
├── rootfs.ext4 -> rootfs.ext2
├── sdcard.img
├── u-boot-dtb.img
├── u-boot-spl-dtb.bin
├── u-boot-spl-dtb.img
└── uImage
Prepare your SDCard
===================
Buildroot generates a ready-to-use SD card image that you can flash directly to
the card. The image will be in output/images/sdcard.img.
You can write this image directly to an SD card device (i.e. /dev/xxx):
$ dd if=output/images/sdcard.img of=/dev/xxx
Finally, you can insert the SD card to the Firefly RK3288 board and boot it.

View File

@@ -0,0 +1,22 @@
image sdcard.img {
hdimage {
}
partition u-boot-spl-dtb {
in-partition-table = "no"
image = "u-boot-spl-dtb.img"
offset = 32K
}
partition u-boot-dtb {
in-partition-table = "no"
image = "u-boot-dtb.img"
offset = 128K
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 512M
}
}

View File

@@ -0,0 +1,41 @@
# Minimal SD card image for the Freescale's i.MX25 PDK board
#
# We mimic the .sdcard Freescale's image format for i.MX25:
# * the SD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8 MB is containing zImage and dtbs,
# * a single root filesystem partition is required (Ext4 in this case).
#
image boot.vfat {
vfat {
files = {
"imx25-pdk.dtb",
"zImage"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "u-boot.imx"
offset = 1024
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 8M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -0,0 +1,54 @@
**************************
Freescale i.MX25 PDK board
**************************
This file documents the Buildroot support for the Freescale i.MX25 PDK board.
Build
=====
First, configure Buildroot for the i.MX25 PDK board:
make mx25pdk_defconfig
Build all components:
make
You will find in output/images/ the following files:
- imx25-pdk.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
Create a bootable SD card
=========================
To determine the device associated to the SD card have a look in the
/proc/partitions file:
cat /proc/partitions
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/imx25pdk/genimage.cfg.
Boot the i.MX25 PDK board
=========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- put a USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!

View File

@@ -0,0 +1,41 @@
# Minimal SD card image for the Freescale's i.MX51 EVK board
#
# We mimic the .sdcard Freescale's image format for i.MX51:
# * the microSD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8 MB is containing zImage and dtbs,
# * a single root filesystem partition is required (Ext4 in this case).
#
image boot.vfat {
vfat {
files = {
"imx51-babbage.dtb",
"zImage"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "u-boot.imx"
offset = 1024
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 8M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -0,0 +1,54 @@
**************************
Freescale i.MX51 EVK board
**************************
This file documents the Buildroot support for the Freescale i.MX51 EVK board.
Build
=====
First, configure Buildroot for the i.MX51 EVK board:
make mx51evk_defconfig
Build all components:
make
You will find in output/images/ the following files:
- imx51-babbage.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
Create a bootable SD card
=========================
To determine the device associated to the SD card have a look in the
/proc/partitions file:
cat /proc/partitions
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/imx51evk/genimage.cfg.
Boot the i.MX51 EVK board
=========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!

View File

@@ -1 +0,0 @@
../create-boot-sd.sh

View File

@@ -0,0 +1,42 @@
# Minimal microSD card image for the Freescale's i.MX53 QSB board
#
# We mimic the .sdcard Freescale's image format for i.MX53:
# * the microSD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8 MB is containing zImage and dtbs,
# * a single root filesystem partition is required (Ext4 in this case).
#
image boot.vfat {
vfat {
files = {
"imx53-qsb.dtb",
"imx53-qsrb.dtb",
"zImage"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "u-boot.imx"
offset = 1024
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 8M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -4,7 +4,7 @@
# * the microSD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8 MB is containing zImage and dtbs,
# * a single root filesystem partition is required (Ext2 in this case).
# * a single root filesystem partition is required (Ext4 in this case).
#
image boot.vfat {
@@ -36,6 +36,6 @@ image sdcard.img {
partition rootfs {
partition-type = 0x83
image = "rootfs.ext2"
image = "rootfs.ext4"
}
}

View File

@@ -1,6 +1,7 @@
#!/usr/bin/env bash
GENIMAGE_CFG="board/freescale/imx6ulevk/genimage.cfg"
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
@@ -11,5 +12,3 @@ genimage \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"
exit $?

View File

@@ -20,7 +20,7 @@ Build all components:
You will find in ./output/images/ the following files:
- imx6ul-14x14-evk.dtb
- rootfs.ext2
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx

View File

@@ -0,0 +1,41 @@
# Minimal microSD card image for the Freescale's i.MX7D SDB board
#
# We mimic the .sdcard Freescale's image format for i.MX7D:
# * the microSD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8 MB is containing zImage and dtbs,
# * a single root filesystem partition is required (Ext4 in this case).
#
image boot.vfat {
vfat {
files = {
"imx7d-sdb.dtb",
"zImage"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "u-boot.imx"
offset = 1024
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 8M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -0,0 +1,54 @@
***************************
Freescale i.MX7D SDB board
***************************
This file documents the Buildroot support for the Freescale i.MX7D SDB board.
Build
=====
First, configure Buildroot for your i.MX7D SDB board:
make freescale_imx7dsabresd_defconfig
Build all components:
make
You will find in output/images/ the following files:
- imx7d-sdb.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
Create a bootable SD card
=========================
To determine the device associated to the SD card have a look in the
/proc/partitions file:
cat /proc/partitions
Buildroot prepares a bootable "sdcard.img" image in the output/images/
directory, ready to be dumped on a SD card. Launch the following
command as root:
dd if=./output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the card content. Use with care! ***
For details about the medium image layout, see the definition in
board/freescale/imx7dsdb/genimage.cfg.
Boot the i.MX7D SDB board
=========================
To boot your newly created system:
- insert the SD card in the SD slot of the board;
- put a micro USB cable into the Debug USB Port and connect using a terminal
emulator at 115200 bps, 8n1;
- power on the board.
Enjoy!

View File

@@ -9,7 +9,9 @@ Build all components:
You will find in ./output/images/ the following files:
- imx6sl-warp.dtb
- rootfs.ext4
- rootfs.tar
- sdcard.img
- u-boot.imx
- zImage
@@ -29,7 +31,7 @@ Update uboot
=> env default -f -a
=> saveenv
- Run the DFU toocommand in U-Boot:
- Run the DFU command in U-Boot:
=> dfu 0 mmc 0
- Transfer U-Boot into flash by running this command in host side:
@@ -42,14 +44,16 @@ Update uboot
Update linux & rootfs
=====================
Run the 'ums' command from the u6Boot prompt to mount the eMMC as mass
storage and update zImage, device tree (imx6sl-warp.dtb) and rootfs
file (rootfs.tar) :
Run the 'ums' command from the U-Boot prompt to mount the eMMC as USB mass
storage:
=> ums 0 mmc 0
Put the zImage and DTB files in the warp-vfat partition and extract as
root the rootfs.tar tarball in the warp-rootfs partition.
And then flash the sdcard.img into the eMMC:
dd if=output/images/sdcard.img of=/dev/<your-sd-device>
*** WARNING! This will destroy all the eMMC content. Use it with care! ***
Using bluetooth
================
@@ -62,4 +66,12 @@ $ hciconfig hci0 up
Using Wifi
==========
$ ifconfig wlan0 up
# modprobe brcmfmac
# iwconfig wlan0 essid ACCESSPOINTNAME
# wpa_passphrase ACCESSPOINTNAME > /etc/wpa.conf
(enter the wifi password and press enter)
# wpa_supplicant -Dwext -iwlan0 -c /etc/wpa.conf &
# udhcpc -i wlan0
# ping buildroot.org
Enjoy!

View File

@@ -0,0 +1,41 @@
# Minimal SD card image for the Warp board
#
# We mimic the .sdcard Freescale's image format for i.MX6SL:
# * the microSD card must have 1 kB free space at the beginning,
# * U-Boot is dumped as is,
# * a FAT partition at offset 8 MB is containing zImage and dtbs,
# * a single root filesystem partition is required (Ext4 in this case).
#
image boot.vfat {
vfat {
files = {
"imx6sl-warp.dtb",
"zImage"
}
}
size = 16M
}
image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "u-boot.imx"
offset = 1024
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 8M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}

View File

@@ -0,0 +1 @@
CONFIG_CFG80211_WEXT=y

View File

@@ -1,34 +0,0 @@
From f6878a437a5ba157fd087ef5e1874bdce5eca199 Mon Sep 17 00:00:00 2001
From: Fabio Estevam <fabio.estevam@freescale.com>
Date: Mon, 22 Jun 2015 16:37:34 -0300
Subject: [PATCH] ARM: imx_v6_v7_defconfig: Select HCIUART_H4
The old warp board revision had hardware issues that prevented
the RTS/CTS lines to work with the Bluetooth module.
Tha latest rev1.12 fixes this problem, so now we should better use
CONFIG_BT_HCIUART_H4 instead, as it provides a better throughput than
the CONFIG_BT_HCIUART_3WIRE option.
Suggested-by: Arthur Lambert <arthur@dreem.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
arch/arm/configs/imx_v6_v7_defconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig
index f6989fb..c864295 100644
--- a/arch/arm/configs/imx_v6_v7_defconfig
+++ b/arch/arm/configs/imx_v6_v7_defconfig
@@ -73,7 +73,7 @@ CONFIG_CAN=y
CONFIG_CAN_FLEXCAN=y
CONFIG_BT=y
CONFIG_BT_HCIUART=y
-CONFIG_BT_HCIUART_3WIRE=y
+CONFIG_BT_HCIUART_H4=y
CONFIG_CFG80211=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=y
--
1.9.1

View File

@@ -1,103 +0,0 @@
From: Fabio Estevam <fabio.estevam@freescale.com>
Date: Fri, 29 May 2015 16:19:39 -0300
Subject: [PATCH] ARM: dts: imx6sl-warp: Add changes for rev1.12
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
arch/arm/boot/dts/imx6sl-warp.dts | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/arch/arm/boot/dts/imx6sl-warp.dts b/arch/arm/boot/dts/imx6sl-warp.dts
index 0da906b..bdfa82b 100644
--- a/arch/arm/boot/dts/imx6sl-warp.dts
+++ b/arch/arm/boot/dts/imx6sl-warp.dts
@@ -61,7 +61,9 @@
usdhc3_pwrseq: usdhc3_pwrseq {
compatible = "mmc-pwrseq-simple";
reset-gpios = <&gpio4 5 GPIO_ACTIVE_LOW>, /* WL_REG_ON */
+ <&gpio4 7 GPIO_ACTIVE_LOW>, /* WL_HOSTWAKE */
<&gpio3 25 GPIO_ACTIVE_LOW>, /* BT_REG_ON */
+ <&gpio3 27 GPIO_ACTIVE_LOW>, /* BT_HOSTWAKE */
<&gpio4 4 GPIO_ACTIVE_LOW>, /* BT_WAKE */
<&gpio4 6 GPIO_ACTIVE_LOW>; /* BT_RST_N */
};
@@ -73,16 +75,16 @@
status = "okay";
};
-&uart2 {
+&uart3 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart2>;
- fsl,uart-has-rtscts;
+ pinctrl-0 = <&pinctrl_uart3>;
status = "okay";
};
-&uart3 {
+&uart5 {
pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_uart3>;
+ pinctrl-0 = <&pinctrl_uart5>;
+ fsl,uart-has-rtscts;
status = "okay";
};
@@ -130,14 +132,6 @@
>;
};
- pinctrl_uart2: uart2grp {
- fsl,pins = <
- MX6SL_PAD_EPDC_D12__UART2_RX_DATA 0x41b0b1
- MX6SL_PAD_EPDC_D13__UART2_TX_DATA 0x41b0b1
- MX6SL_PAD_EPDC_D14__UART2_RTS_B 0x4130B1
- MX6SL_PAD_EPDC_D15__UART2_CTS_B 0x4130B1
- >;
- };
pinctrl_uart3: uart3grp {
fsl,pins = <
@@ -146,6 +140,15 @@
>;
};
+ pinctrl_uart5: uart5grp {
+ fsl,pins = <
+ MX6SL_PAD_ECSPI1_SCLK__UART5_RX_DATA 0x41b0b1
+ MX6SL_PAD_ECSPI1_MOSI__UART5_TX_DATA 0x41b0b1
+ MX6SL_PAD_ECSPI1_MISO__UART5_RTS_B 0x4130b1
+ MX6SL_PAD_ECSPI1_SS0__UART5_CTS_B 0x4130b1
+ >;
+ };
+
pinctrl_usdhc2: usdhc2grp {
fsl,pins = <
MX6SL_PAD_SD2_CMD__SD2_CMD 0x417059
@@ -158,6 +161,7 @@
MX6SL_PAD_SD2_DAT5__SD2_DATA5 0x417059
MX6SL_PAD_SD2_DAT6__SD2_DATA6 0x417059
MX6SL_PAD_SD2_DAT7__SD2_DATA7 0x417059
+ MX6SL_PAD_SD2_RST__SD2_RESET 0x417059
>;
};
@@ -173,6 +177,7 @@
MX6SL_PAD_SD2_DAT5__SD2_DATA5 0x4170b9
MX6SL_PAD_SD2_DAT6__SD2_DATA6 0x4170b9
MX6SL_PAD_SD2_DAT7__SD2_DATA7 0x4170b9
+ MX6SL_PAD_SD2_RST__SD2_RESET 0x4170b9
>;
};
@@ -188,6 +193,7 @@
MX6SL_PAD_SD2_DAT5__SD2_DATA5 0x4170f9
MX6SL_PAD_SD2_DAT6__SD2_DATA6 0x4170f9
MX6SL_PAD_SD2_DAT7__SD2_DATA7 0x4170f9
+ MX6SL_PAD_SD2_RST__SD2_RESET 0x4170f9
>;
};
--
1.9.1

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -0,0 +1,87 @@
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SYSVIPC=y
CONFIG_BLK_DEV_INITRD=y
# CONFIG_RD_GZIP is not set
# CONFIG_RD_BZIP2 is not set
# CONFIG_RD_LZMA is not set
# CONFIG_RD_XZ is not set
# CONFIG_RD_LZO is not set
# CONFIG_RD_LZ4 is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
# CONFIG_UID16 is not set
# CONFIG_SGETMASK_SYSCALL is not set
# CONFIG_SYSFS_SYSCALL is not set
# CONFIG_KALLSYMS is not set
# CONFIG_BUG is not set
# CONFIG_BASE_FULL is not set
# CONFIG_ADVISE_SYSCALLS is not set
# CONFIG_MEMBARRIER is not set
CONFIG_EMBEDDED=y
# CONFIG_VM_EVENT_COUNTERS is not set
# CONFIG_SLUB_DEBUG is not set
# CONFIG_COMPAT_BRK is not set
CONFIG_MODULES=y
# CONFIG_BLOCK is not set
CONFIG_BF512=y
# CONFIG_SET_GENERIC_CLOCKEVENTS is not set
# CONFIG_I_ENTRY_L1 is not set
# CONFIG_EXCPT_IRQ_SYSC_L1 is not set
# CONFIG_DO_IRQ_L1 is not set
# CONFIG_CORE_TIMER_IRQ_L1 is not set
# CONFIG_IDLE_L1 is not set
# CONFIG_SCHEDULE_L1 is not set
# CONFIG_ARITHMETIC_OPS_L1 is not set
# CONFIG_ACCESS_OK_L1 is not set
# CONFIG_MEMSET_L1 is not set
# CONFIG_MEMCPY_L1 is not set
# CONFIG_STRCMP_L1 is not set
# CONFIG_STRNCMP_L1 is not set
# CONFIG_STRCPY_L1 is not set
# CONFIG_STRNCPY_L1 is not set
# CONFIG_SYS_BFIN_SPINLOCK_L1 is not set
# CONFIG_CACHELINE_ALIGNED_L1 is not set
# CONFIG_DCACHE_FLUSH_L1 is not set
# CONFIG_APP_STACK_L1 is not set
# CONFIG_BFIN_INS_LOWOVERHEAD is not set
# CONFIG_BFIN_ICACHE is not set
# CONFIG_BFIN_DCACHE is not set
# CONFIG_C_AMCKEN is not set
CONFIG_BINFMT_ELF_FDPIC=y
CONFIG_BINFMT_FLAT=y
# CONFIG_COREDUMP is not set
# CONFIG_SUSPEND is not set
# CONFIG_UEVENT_HELPER is not set
# CONFIG_STANDALONE is not set
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
# CONFIG_FW_LOADER is not set
# CONFIG_ALLOW_DEV_COREDUMP is not set
# CONFIG_INPUT is not set
# CONFIG_SERIO is not set
# CONFIG_VT is not set
# CONFIG_LEGACY_PTYS is not set
CONFIG_SERIAL_BFIN=y
CONFIG_SERIAL_BFIN_CONSOLE=y
CONFIG_SERIAL_BFIN_UART0=y
CONFIG_SERIAL_BFIN_UART1=y
# CONFIG_BFIN_OTP is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_HWMON is not set
# CONFIG_USB_SUPPORT is not set
# CONFIG_MANDATORY_FILE_LOCKING is not set
# CONFIG_DNOTIFY is not set
# CONFIG_MISC_FILESYSTEMS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf-8"
CONFIG_PRINTK_TIME=y
# CONFIG_ENABLE_WARN_DEPRECATED is not set
# CONFIG_ENABLE_MUST_CHECK is not set
# CONFIG_SECTION_MISMATCH_WARN_ONLY is not set
CONFIG_MAGIC_SYSRQ=y
# CONFIG_SCHED_DEBUG is not set
# CONFIG_FTRACE is not set
# CONFIG_DEBUG_VERBOSE is not set
# CONFIG_DEBUG_HUNT_FOR_ZERO is not set
# CONFIG_DEBUG_BFIN_HWTRACE_ON is not set
CONFIG_EARLY_PRINTK=y
# CONFIG_ACCESS_CHECK is not set
# CONFIG_CRC32 is not set

View File

@@ -0,0 +1,11 @@
Run the simulation with GDB for FDPIC:
./output/host/usr/bin/bfin-buildroot-linux-uclibc-run --env operating --model bf512 output/images/vmlinux
Run the simulation with GDB for FLAT:
./output/host/usr/bin/bfin-buildroot-uclinux-uclibc-run --env operating --model bf512 output/images/vmlinux
The login prompt will appear in the terminal that started GDB.
Tested with GDB 7.9

View File

@@ -0,0 +1,4 @@
#!/bin/sh
# no simulated network devices at the moment
rm -f ${TARGET_DIR}/etc/init.d/S40network
rm -rf ${TARGET_DIR}/etc/network/

View File

@@ -0,0 +1,50 @@
ODROIDC2-UBOOT-CONFIG
# HDMI mode
setenv m "1080p60hz" # Progressive 60Hz
# HDMI BPP Mode
setenv m_bpp "32"
# HDMI HotPlug Detection control
# Allows you to force HDMI thinking that the cable is connected.
# true = HDMI will believe that cable is always connected
# false = will let board/monitor negotiate the connection status
setenv hpd "true"
# Default Console Device Setting
setenv condev "console=ttyS0,115200n8 console=tty0" # on both
# Meson Timer
# 1 - Meson Timer
# 0 - Arch Timer
# Using meson_timer improves the video playback whoever 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"
###########################################
# Boot Arguments
setenv bootargs "root=/dev/mmcblk0p2 rootwait ro ${condev} no_console_suspend hdmimode=${m} m_bpp=${m_bpp} vout=${vout} fsck.repair=yes net.ifnames=0 elevator=noop disablehpd=${hpd}"
# Load Images
setenv loadaddr "0x11000000"
setenv dtb_loadaddr "0x10000000"
fatload mmc 0:1 ${loadaddr} Image
fatload mmc 0:1 ${dtb_loadaddr} meson64_odroidc2.dtb
if test "${mesontimer}" = "0"; then fdt rm /meson_timer; fdt rm /cpus/cpu@0/timer; fdt rm /cpus/cpu@1/timer; fdt rm /cpus/cpu@2/timer; fdt rm /cpus/cpu@3/timer; fi
if test "${mesontimer}" = "1"; then fdt rm /timer; fi
if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi
if test "${nographics}" = "1"; then fdt rm /meson-fb; fdt rm /amhdmitx; fdt rm /picdec; fdt rm /ppmgr; fi
if test "${nographics}" = "1"; then fdt rm /meson-vout; fdt rm /mesonstream; fdt rm /meson-fb; fi
if test "${nographics}" = "1"; then fdt rm /deinterlace; fdt rm /codec_mm; fi
# Booting
booti ${loadaddr} - ${dtb_loadaddr}

View File

@@ -0,0 +1,27 @@
image boot.vfat {
vfat {
files = {
"boot.ini",
"Image",
"meson64_odroidc2.dtb"
}
}
size = 32M
}
image sdcard.img {
hdimage {
}
partition vfat {
partition-type = 0xC
image = "boot.vfat"
offset = 1048576
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 512M
}
}

View File

@@ -0,0 +1,19 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
cp ${BOARD_DIR}/boot.ini ${BINARIES_DIR}/
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"
dd if=${BINARIES_DIR}/u-boot.bin of=${BINARIES_DIR}/sdcard.img bs=1 count=442 conv=sync,notrunc
dd if=${BINARIES_DIR}/u-boot.bin of=${BINARIES_DIR}/sdcard.img bs=512 skip=1 seek=1 conv=fsync,notrunc

View File

@@ -0,0 +1,53 @@
ODROID-C2
Intro
=====
To be able to use ODROID-C2 board with the images generated by
Buildroot, you have to prepare the SDCard or eMMC.
How to build it
===============
$ make odroidc2_defconfig
Then you can edit the build options using
$ make menuconfig
Compile all and build rootfs image:
$ make
Note: you will need to have access to the network, since Buildroot will
download the packages' sources.
Result of the build
-------------------
After building, you should obtain this tree:
output/images/
+-- Image
+-- boot.ini [1]
+-- boot.vfat
+-- meson64_odroidc2.dtb
+-- rootfs.ext2
+-- rootfs.ext4
+-- rootfs.tar
+-- sdcard.img
`-- u-boot.bin
[1] This is the ODROID-C2 configuration file used in u-boot.
How to write the SD card or eMMC
================================
Once the build process is finished you will have an image called "sdcard.img"
in the output/images/ directory.
Copy the bootable "sdcard.img" onto an SD card or eMMC with "dd":
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
Insert the SDcard into your ODROID-C2, and power it up. Your new system
should come up now.

View File

@@ -0,0 +1,8 @@
setenv fdt_high ffffffff
setenv bootargs console=ttyS0,115200 console=tty1 earlyprintk root=/dev/mmcblk0p2 rootwait panic=10 ${extra}
fatload mmc 0 $kernel_addr_r zImage
fatload mmc 0 $fdt_addr_r sun4i-a10-pcduino.dtb
bootz $kernel_addr_r - $fdt_addr_r

View File

@@ -0,0 +1,42 @@
#
# Minimal SD card image for the pcDuino
#
image boot.vfat {
vfat {
files = {
"zImage",
"sun4i-a10-pcduino.dtb",
"boot.scr"
}
}
size = 16M
}
#
# Note: u-boot environment is stored between u-boot and boot partitions
#
image sdcard.img {
hdimage {
}
partition u-boot {
in-partition-table = "no"
image = "u-boot-sunxi-with-spl.bin"
offset = 8192
size = 1040384 # 1MB - 8192
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 1M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}

View File

@@ -0,0 +1,16 @@
# spidev
CONFIG_SPI_SPIDEV=y
# wireless core
CONFIG_CFG80211=m
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=m
# wireless drivers
CONFIG_WLAN=y
CONFIG_RTL_CARDS=m
CONFIG_RTL8192CU=m
CONFIG_RTLWIFI=m
CONFIG_RTLWIFI_USB=m
CONFIG_RTLWIFI_DEBUG=y
CONFIG_RTL8192C_COMMON=m

View File

@@ -0,0 +1,11 @@
#!/bin/sh
# post-build.sh for pcDuino taken from OrangePi post-build.sh
# 2013, Carlo Caione <carlo.caione@gmail.com>
BOARD_DIR="$(dirname $0)"
MKIMAGE=$HOST_DIR/usr/bin/mkimage
BOOT_CMD=$BOARD_DIR/boot.cmd
BOOT_CMD_H=$BINARIES_DIR/boot.scr
# U-Boot script
$MKIMAGE -C none -A arm -T script -d $BOOT_CMD $BOOT_CMD_H

View File

@@ -0,0 +1,16 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"
exit $?

View File

@@ -0,0 +1,42 @@
pcDuino v1 boards (http://www.linksprite.com/linksprite-pcduino)
Intro
=====
This default configuration will allow you to start experimenting
with the buildroot environment for the LinkSprite pcDuino v1 board
including its flavors pcDuino-Lite and pcDuino-Lite-WiFi. With the
current configuration it will bring-up the board and allow access
through the serial console as well as ethernet and wireless
network interfaces.
How to build it
===============
Configure Buildroot:
$ make linksprite_pcduino_defconfig
Modify configuration if needed, e.g. add more packages to target:
$ make menuconfig
Compile everything and build the SD card image:
$ make
How to write the SD card
========================
Once the build process is finished you will have an image
called "sdcard.img" in the output/images/ directory.
Copy the bootable "sdcard.img" onto an SD card with "dd":
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
How to boot new image
=====================
Insert SD card and reset the board. By default pcDuino board
boots from SD card.

View File

@@ -1,2 +0,0 @@
#!/bin/sh
cp board/minnowboard-max/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg

View File

@@ -1,40 +0,0 @@
Prepare the SD card for the Minnow Board MAX
============================================
1. Partition the SD card with a GPT partition table
sudo cgdisk /dev/mmcblk0
Create two partitions:
a) First partition of a few dozens of megabytes, which will be
used to store the bootloader and the kernel image. Type must
be EF00 (EFI partition).
b) Second partition of any size, which will be used to store the
root filesystem. Type must be 8300 (Linux filesystem)
2. Prepare the boot partition
We will format it, mount it, copy the EFI data generated by
Buildroot, and the kernel image.
sudo mkfs.vfat -F 32 -n boot /dev/mmcblk0p1
sudo mount /dev/mmcblk0p1 /mnt
sudo cp -a output/images/efi-part/* /mnt/
sudo cp output/images/bzImage /mnt/
sudo umount /mnt
3. Prepare the root partition
We will format it, mount it, and extract the root filesystem.
sudo mkfs.ext4 -L root /dev/mmcblk0p2
sudo mount /dev/mmcblk0p2 /mnt
sudo tar -C /mnt -xf output/images/rootfs.tar
sudo umount /mnt
4. Enjoy
Additional information about this board can be found at
http://www.minnowboard.org/ or http://wiki.minnowboard.org/MinnowBoard_MAX

View File

@@ -0,0 +1,7 @@
# Start a terminal on the top left corner
xterm -geom 80x30+0+0 &
# OpenGL demo
glmark2 &
exec /usr/bin/openbox-session

View File

@@ -0,0 +1,4 @@
# Customize ALSA:
# the HDMI PCM is at card=0, device=3 (i.e. hw:0,3)
defaults.pcm.card 0
defaults.pcm.device 3

View File

@@ -0,0 +1,34 @@
# Create an image of the efi partition
image efi-part.vfat {
vfat {
file startup.nsh {
image = "efi-part/startup.nsh"
}
file EFI {
image = "efi-part/EFI"
}
file bzImage {
image = "bzImage"
}
}
size=10M
}
# Create the sdcard image, pulling in
# * the image created by buildroot
# * the efi-partition created above
image sdcard.img {
hdimage {
}
partition boot {
partition-type = 0xEF
image = "efi-part.vfat"
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
size = 512M
}
}

View File

@@ -2,5 +2,5 @@ set default="0"
set timeout="5"
menuentry "Buildroot" {
linux /bzImage root=/dev/mmcblk0p2 rootwait console=tty0 console=ttyS0,115200
linux /bzImage root=/dev/mmcblk2p2 rootwait console=tty0 console=ttyS0,115200
}

View File

@@ -1,3 +1,4 @@
CONFIG_SYSVIPC=y
CONFIG_NO_HZ=y
CONFIG_SMP=y
CONFIG_X86_INTEL_LPSS=y
@@ -19,6 +20,7 @@ CONFIG_SATA_AHCI=y
CONFIG_ATA_PIIX=y
CONFIG_NETDEVICES=y
CONFIG_R8169=y
CONFIG_INPUT_EVDEV=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DW=y
@@ -26,14 +28,22 @@ CONFIG_I2C_I801=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_PCI=y
CONFIG_SPI=y
CONFIG_SPI_PXA2XX=y
CONFIG_SPI_DESIGNWARE=y
CONFIG_SPI_PXA2XX=y
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_SYSFS=y
CONFIG_AGP=y
CONFIG_DRM=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_I915=y
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_DRIVERS is not set
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_CODEC_HDMI=y
# CONFIG_SND_SPI is not set
# CONFIG_SND_USB is not set
CONFIG_USB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_NOP_USB_XCEIV=y
@@ -42,5 +52,4 @@ CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_PWM=y
CONFIG_PWM_LPSS=y
CONFIG_EXT4_FS=y

View File

@@ -1,2 +1,12 @@
#!/bin/sh
cp board/minnowboard/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
# args from BR2_ROOTFS_POST_SCRIPT_ARGS
# $2 board name
cp -v board/minnowboard/grub-${2}.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
# Add a console on tty1
if [ -e ${TARGET_DIR}/etc/inittab ]; then
grep -qE '^tty1::' ${TARGET_DIR}/etc/inittab || \
sed -i '/GENERIC_SERIAL/a\
tty1::respawn:/sbin/getty -L tty1 0 vt100 # HDMI console' ${TARGET_DIR}/etc/inittab
fi

View File

@@ -0,0 +1,13 @@
#!/bin/sh -e
GENIMAGE_CFG="board/minnowboard/genimage.cfg"
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
rm -rf "${GENIMAGE_TMP}"
genimage \
--rootpath "${TARGET_DIR}" \
--tmppath "${GENIMAGE_TMP}" \
--inputpath "${BINARIES_DIR}" \
--outputpath "${BINARIES_DIR}" \
--config "${GENIMAGE_CFG}"

View File

@@ -1,40 +1,32 @@
Prepare the SD card for the Minnow Board
========================================
How to get started with the MinnowBoard (MAX)
=============================================
1. Partition the SD card with a GPT partition table
1. Build
sudo cgdisk /dev/mmcblk0
Apply the defconfig:
Create two partitions:
$ make minnowboard_defconfig
a) First partition of a few dozens of megabytes, which will be
used to store the bootloader and the kernel image. Type must
be EF00 (EFI partition).
Or, for the Minnowboard MAX board:
b) Second partition of any size, which will be used to store the
root filesystem. Type must be 8300 (Linux filesystem)
$ make minnowboard_max_defconfig
2. Prepare the boot partition
Add any additional packages required and build:
We will format it, mount it, copy the EFI data generated by
Buildroot, and the kernel image.
$ make
sudo mkfs.vfat -F 32 -n boot /dev/mmcblk0p1
sudo mount /dev/mmcblk0p1 /mnt
sudo cp -a output/images/efi-part/* /mnt/
sudo cp output/images/bzImage /mnt/
sudo umount /mnt
2. Write the SD card
3. Prepare the root partition
The build process will create a SD card image in output/images.
Write the image to an mSD card, insert into the MinnowBoard
and power the board on.
We will format it, mount it, and extract the root filesystem.
$ dd if=output/images/sdcard.img of=/dev/mmcblk0; sync
sudo mkfs.ext3 -L root /dev/mmcblk0p2
sudo mount /dev/mmcblk0p2 /mnt
sudo tar -C /mnt -xf output/images/rootfs.tar
sudo umount /mnt
The system starts two consoles: one on the serial port
and one on HDMI.
4. Enjoy
3. Enjoy
Additional information about this board can be found at
http://www.minnowboard.org/.

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