mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-04-19 12:57:16 +00:00
update to buildroot-2017.11
This commit is contained in:
parent
2f3b2774f9
commit
60f97f82c5
51
.defconfig
Normal file
51
.defconfig
Normal file
@ -0,0 +1,51 @@
|
||||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Mon Feb 18 09:11:56 2008
|
||||
#
|
||||
BR2_HAVE_DOT_CONFIG=y
|
||||
# BR2_alpha is not set
|
||||
# BR2_arm is not set
|
||||
# BR2_armeb is not set
|
||||
# BR2_cris is not set
|
||||
# BR2_ia64 is not set
|
||||
BR2_i386=y
|
||||
# BR2_m68k is not set
|
||||
# BR2_mips is not set
|
||||
# BR2_mipsel is not set
|
||||
# BR2_nios2 is not set
|
||||
# BR2_powerpc is not set
|
||||
# BR2_sh is not set
|
||||
# BR2_sparc is not set
|
||||
# BR2_sparc64 is not set
|
||||
# BR2_x86_64 is not set
|
||||
# BR2_x86_i486 is not set
|
||||
# BR2_x86_i586 is not set
|
||||
BR2_x86_i686=y
|
||||
# BR2_x86_pentiumpro is not set
|
||||
# BR2_x86_pentium_mmx is not set
|
||||
# BR2_x86_pentium_m is not set
|
||||
# BR2_x86_pentium2 is not set
|
||||
# BR2_x86_pentium3 is not set
|
||||
# BR2_x86_pentium4 is not set
|
||||
# BR2_x86_prescott is not set
|
||||
# BR2_x86_nocona is not set
|
||||
# BR2_x86_core2 is not set
|
||||
# BR2_x86_k6 is not set
|
||||
# BR2_x86_k6_2 is not set
|
||||
# BR2_x86_athlon is not set
|
||||
# BR2_x86_athlon_4 is not set
|
||||
# BR2_x86_opteron is not set
|
||||
# BR2_x86_opteron_sse3 is not set
|
||||
# BR2_x86_barcelona is not set
|
||||
# BR2_x86_geode is not set
|
||||
# BR2_x86_c3 is not set
|
||||
# BR2_x86_winchip_c6 is not set
|
||||
# BR2_x86_winchip2 is not set
|
||||
BR2_ARCH="i686"
|
||||
BR2_ENDIAN="LITTLE"
|
||||
BR2_GCC_TARGET_TUNE="i686"
|
||||
BR2_GCC_TARGET_ARCH="i686"
|
||||
|
||||
#
|
||||
# Target options
|
||||
#
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
/output
|
||||
/dl
|
||||
/.auto.deps
|
||||
/.config.cmd
|
||||
/.config.old
|
||||
@ -12,6 +13,7 @@
|
||||
*.rej
|
||||
*~
|
||||
*.pyc
|
||||
/.download
|
||||
/.buildroot-ccache-*
|
||||
*.img.gz
|
||||
*.img.xz
|
||||
*.img.zip
|
||||
|
28
Config.in
28
Config.in
@ -57,8 +57,13 @@ config BR2_HOST_GCC_AT_LEAST_6
|
||||
default y if BR2_HOST_GCC_VERSION = "6"
|
||||
select BR2_HOST_GCC_AT_LEAST_5
|
||||
|
||||
config BR2_HOST_GCC_AT_LEAST_7
|
||||
bool
|
||||
default y if BR2_HOST_GCC_VERSION = "7"
|
||||
select BR2_HOST_GCC_AT_LEAST_6
|
||||
|
||||
# Hidden boolean selected by packages in need of Java in order to build
|
||||
# (example: xbmc)
|
||||
# (example: kodi)
|
||||
config BR2_NEEDS_HOST_JAVA
|
||||
bool
|
||||
|
||||
@ -101,7 +106,7 @@ config BR2_WGET
|
||||
|
||||
config BR2_SVN
|
||||
string "Subversion (svn) command"
|
||||
default "svn"
|
||||
default "svn --non-interactive"
|
||||
|
||||
config BR2_BZR
|
||||
string "Bazaar (bzr) command"
|
||||
@ -414,13 +419,10 @@ config BR2_DEBUG_3
|
||||
endchoice
|
||||
endif
|
||||
|
||||
choice
|
||||
prompt "strip command for binaries on target"
|
||||
default BR2_STRIP_strip
|
||||
|
||||
config BR2_STRIP_strip
|
||||
bool "strip"
|
||||
bool "strip target binaries"
|
||||
depends on !BR2_PACKAGE_HOST_ELF2FLT
|
||||
default y
|
||||
help
|
||||
Binaries and libraries in the target filesystem will be
|
||||
stripped using the normal 'strip' command. This allows to save
|
||||
@ -428,15 +430,9 @@ config BR2_STRIP_strip
|
||||
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.
|
||||
endchoice
|
||||
|
||||
config BR2_STRIP_EXCLUDE_FILES
|
||||
string "executables that should not be stripped"
|
||||
depends on !BR2_STRIP_none
|
||||
depends on BR2_STRIP_strip
|
||||
default ""
|
||||
help
|
||||
You may specify a space-separated list of binaries and
|
||||
@ -444,7 +440,7 @@ config BR2_STRIP_EXCLUDE_FILES
|
||||
|
||||
config BR2_STRIP_EXCLUDE_DIRS
|
||||
string "directories that should be skipped when stripping"
|
||||
depends on !BR2_STRIP_none
|
||||
depends on BR2_STRIP_strip
|
||||
default ""
|
||||
help
|
||||
You may specify a space-separated list of directories that
|
||||
@ -715,6 +711,8 @@ config BR2_COMPILER_PARANOID_UNSAFE_PATH
|
||||
|
||||
config BR2_REPRODUCIBLE
|
||||
bool "Make the build reproducible (experimental)"
|
||||
# SOURCE_DATE_EPOCH support in toolchain-wrapper requires GCC 4.4
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_4
|
||||
help
|
||||
This option will remove all sources of non-reproducibility
|
||||
from the build process. For a given Buildroot configuration,
|
||||
|
550
Config.in.legacy
550
Config.in.legacy
@ -142,6 +142,540 @@ comment "build, or run, in unpredictable ways. "
|
||||
comment "----------------------------------------------------"
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2017.11"
|
||||
|
||||
config BR2_PACKAGE_RFKILL
|
||||
bool "rfkill package removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_RFKILL
|
||||
help
|
||||
The rfkill program is now provided by the util-linux package.
|
||||
|
||||
config BR2_PACKAGE_UTIL_LINUX_RESET
|
||||
bool "util-linux reset option removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The util-linux package no longer offers a "reset" command. Use
|
||||
either the reset command provided by BusyBox or select ncurses
|
||||
programs, which will install a symlink from "tset" to reset.
|
||||
|
||||
config BR2_PACKAGE_POLICYCOREUTILS_AUDIT2ALLOW
|
||||
bool "policycoreutils audit2allow option removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_SELINUX_PYTHON
|
||||
select BR2_PACKAGE_SELINUX_PYTHON_AUDIT2ALLOW
|
||||
help
|
||||
The policycoreutils package no longer offers audit2allow
|
||||
as a option. This package has been moved into the
|
||||
selinux-python package by the SELinux maintainers.
|
||||
|
||||
config BR2_PACKAGE_POLICYCOREUTILS_RESTORECOND
|
||||
bool "policycoreutils restorecond option removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_RESTORECOND
|
||||
help
|
||||
The policycoreutils package no longer offers restorecond
|
||||
as a option. This package has been moved into a seperate
|
||||
package maintained by the SELinux maintainers.
|
||||
|
||||
config BR2_PACKAGE_SEPOLGEN
|
||||
bool "sepolgen package has been removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_SELINUX_PYTHON
|
||||
select BR2_PACKAGE_SELINUX_PYTHON_SEPOLGEN
|
||||
help
|
||||
Sepolgen is no longer a individual package, but instead has
|
||||
been moved into the selinux-python package by the SELinux
|
||||
maintainers.
|
||||
|
||||
config BR2_PACKAGE_OPENOBEX_BLUEZ
|
||||
bool "openobex bluez option removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_BLUEZ_UTILS
|
||||
help
|
||||
The OpenOBEX package no longer offers an option to enable or
|
||||
disable BlueZ support. Instead, BlueZ support is always
|
||||
included when the bluez5_utils or bluez_utils package is
|
||||
selected.
|
||||
|
||||
config BR2_PACKAGE_OPENOBEX_LIBUSB
|
||||
bool "openobex libusb option removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LIBUSB
|
||||
help
|
||||
The OpenOBEX package no longer offers an option to enable or
|
||||
disable libusb support. Instead, USB support is always
|
||||
included when the libusb package is selected.
|
||||
|
||||
config BR2_PACKAGE_OPENOBEX_APPS
|
||||
bool "openobex apps option removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The OpenOBEX package no longer offers an option to enable or
|
||||
disable apps support.
|
||||
|
||||
config BR2_PACKAGE_OPENOBEX_SYSLOG
|
||||
bool "openobex syslog option removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The OpenOBEX package no longer offers an option to enable or
|
||||
disable syslog support.
|
||||
|
||||
config BR2_PACKAGE_OPENOBEX_DUMP
|
||||
bool "openobex dump option removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The OpenOBEX package no longer offers an option to enable or
|
||||
disable dump support.
|
||||
|
||||
config BR2_PACKAGE_AICCU
|
||||
bool "aiccu utility removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
As the SixXS project has ceased its operation on 2017-06-06,
|
||||
the AICCU utility has no use anymore and has been removed.
|
||||
|
||||
https://www.sixxs.net/sunset/
|
||||
|
||||
config BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS
|
||||
bool "util-linux login utilities option removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_UTIL_LINUX_LAST
|
||||
select BR2_PACKAGE_UTIL_LINUX_LOGIN
|
||||
select BR2_PACKAGE_UTIL_LINUX_RUNUSER
|
||||
select BR2_PACKAGE_UTIL_LINUX_SU
|
||||
select BR2_PACKAGE_UTIL_LINUX_SULOGIN
|
||||
help
|
||||
Login utilities (last, login, runuser, su, sulogin) now have
|
||||
their own configuration options in the util-linux menu.
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2017.08"
|
||||
|
||||
config BR2_TARGET_GRUB
|
||||
bool "grub (aka grub-legacy) has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
grub-legacy is no longer maintained, and no longer builds with
|
||||
recent binutils versions.
|
||||
|
||||
Use grub2 or syslinux instead.
|
||||
|
||||
config BR2_PACKAGE_SIMICSFS
|
||||
bool "simicsfs support removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for simicsfs kernel driver that provides access to a
|
||||
host computer's local filesystem when the target is
|
||||
executing within a SIMICS simulation has been removed.
|
||||
|
||||
Simics is now moving away from the simicsfs kernel module,
|
||||
as the kernel module has required too much maintenance
|
||||
work. Users should move to the user mode Simics agent
|
||||
instead.
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_26_X
|
||||
bool "binutils version 2.26 support removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for binutils version 2.26 has been removed. The
|
||||
current default version (2.28 or later) has been selected
|
||||
instead.
|
||||
|
||||
config BR2_XTENSA_OVERLAY_DIR
|
||||
string "The BR2_XTENSA_OVERLAY_DIR option has been removed"
|
||||
help
|
||||
The BR2_XTENSA_OVERLAY_DIR has been removed in favour of
|
||||
BR2_XTENSA_OVERLAY_FILE. You must now pass the complete
|
||||
path to the overlay file, not to the directory containing
|
||||
it.
|
||||
|
||||
config BR2_XTENSA_OVERLAY_DIR_WRAP
|
||||
bool
|
||||
default y if BR2_XTENSA_OVERLAY_DIR != ""
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_XTENSA_CUSTOM_NAME
|
||||
string "The BR2_XTENSA_CUSTOM_NAME option has been removed"
|
||||
help
|
||||
The BR2_XTENSA_CUSTOM_NAME option has been removed.
|
||||
|
||||
config BR2_XTENSA_CUSTOM_NAME_WRAP
|
||||
bool
|
||||
default y if BR2_XTENSA_CUSTOM_NAME != ""
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_HOST_MKE2IMG
|
||||
bool "host mke2img has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
We now call mkfs directly to generate ext2/3/4 filesystem
|
||||
image, so mke2img is no longer necessary.
|
||||
|
||||
config BR2_TARGET_ROOTFS_EXT2_BLOCKS
|
||||
int "exact size in blocks has been removed"
|
||||
default 0
|
||||
help
|
||||
This option has been removed in favor of
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE. It has been set automatically
|
||||
to the value you had before. Set to 0 here to remove the
|
||||
warning.
|
||||
|
||||
config BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP
|
||||
bool
|
||||
default y if BR2_TARGET_ROOTFS_EXT2_BLOCKS != 0 && \
|
||||
BR2_TARGET_ROOTFS_EXT2_BLOCKS != 61440 # deprecated default value
|
||||
select BR2_LEGACY
|
||||
|
||||
# Note: BR2_TARGET_ROOTFS_EXT2_BLOCKS_WRAP still referenced in fs/ext2/Config.in
|
||||
|
||||
config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES
|
||||
int "ext2 extra inodes has been removed" if BR2_TARGET_ROOTFS_EXT2_INODES = 0
|
||||
default 0
|
||||
help
|
||||
Buildroot now uses mkfs.ext2/3/4 to generate ext2/3/4
|
||||
images. It now automatically selects the number of inodes
|
||||
based on the image size. The extra number of inodes can no
|
||||
longer be provided; instead, provide the total number of
|
||||
inodes needed in BR2_TARGET_ROOTFS_EXT2_INODES.
|
||||
|
||||
config BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES_WRAP
|
||||
bool
|
||||
default y if BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES != 0
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE
|
||||
bool "cdxaparse removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC
|
||||
bool "dataurisrc moved to gstreamer1"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Dataurisrc has moved to gstreamer core and is always built.
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP
|
||||
bool "dccp removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE
|
||||
bool "hdvparse removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE
|
||||
bool "mve removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX
|
||||
bool "nuvdemux removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT
|
||||
bool "patchdetect removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI
|
||||
bool "sdi removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA
|
||||
bool "tta removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE
|
||||
bool "videomeasure removed"
|
||||
select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_IQA
|
||||
select BR2_LEGACY
|
||||
help
|
||||
videomeasure plugin has been removed and has been replaced by
|
||||
iqa, which has automatically been enabled.
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK
|
||||
bool "apexsink removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL
|
||||
bool "sdl removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD
|
||||
bool "mad (*.mp3 audio) removed"
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC
|
||||
bool "gst1-plugins-bad webrtc renamed to webrtcdsp"
|
||||
select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTCDSP
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The WebRTC plugin in GStreamer 1.x has always been named
|
||||
webrtcdsp, but was wrongly introduced in Buildroot under the
|
||||
name webrtc. Therefore, we have renamed the option to match
|
||||
the actual name of the GStreamer plugin.
|
||||
|
||||
config BR2_STRIP_none
|
||||
bool "Strip command 'none' has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The strip command choice has been changed into a single
|
||||
boolean option. Please check that the new setting is
|
||||
correct (in the "Build options" sub-menu)
|
||||
|
||||
config BR2_PACKAGE_BEECRYPT_CPP
|
||||
bool "C++ support removed in beecrypt"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for C++ depends on icu. The beecrypt package is
|
||||
incompatible with icu 59+.
|
||||
|
||||
config BR2_PACKAGE_SPICE_CLIENT
|
||||
bool "spice client support removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Spice client support has been removed upstream. The
|
||||
functionality now lives in the spice-gtk widget and
|
||||
virt-viewer.
|
||||
|
||||
config BR2_PACKAGE_SPICE_GUI
|
||||
bool "spice gui support removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Spice gui support has been removed upstream. The
|
||||
functionality now lives in the spice-gtk widget and
|
||||
virt-viewer.
|
||||
|
||||
config BR2_PACKAGE_SPICE_TUNNEL
|
||||
bool "spice network redirection removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Spice network redirection, aka tunnelling has been removed
|
||||
upstream.
|
||||
|
||||
config BR2_PACKAGE_INPUT_TOOLS
|
||||
bool "input-tools removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LINUXCONSOLETOOLS
|
||||
help
|
||||
input-tools has been removed, it is replaced by
|
||||
linuxconsoletools, which has automatically been enabled.
|
||||
|
||||
config BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH
|
||||
bool "inputattach moved to linuxconsoletools"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LINUXCONSOLETOOLS
|
||||
select BR2_PACKAGE_LINUXCONSOLETOOLS_INPUTATTACH
|
||||
help
|
||||
input-tools has been removed, inputattach is now part
|
||||
of linuxconsoletools, which has automatically been
|
||||
enabled.
|
||||
|
||||
config BR2_PACKAGE_INPUT_TOOLS_JSCAL
|
||||
bool "jscal moved to linuxconsoletools"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LINUXCONSOLETOOLS
|
||||
select BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK
|
||||
help
|
||||
input-tools has been removed, jscal is now part
|
||||
of linuxconsoletools, which has automatically been
|
||||
enabled.
|
||||
|
||||
config BR2_PACKAGE_INPUT_TOOLS_JSTEST
|
||||
bool "jstest moved to linuxconsoletools"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_LINUXCONSOLETOOLS
|
||||
select BR2_PACKAGE_LINUXCONSOLETOOLS_JOYSTICK
|
||||
help
|
||||
input-tools has been removed, jstest is now part
|
||||
of linuxconsoletools, which has automatically been
|
||||
enabled.
|
||||
|
||||
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH
|
||||
bool "SH Sourcery toolchain has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The Sourcery CodeBench toolchain for the sh architecture has
|
||||
been removed, since it uses glibc older than 2.17 that requires
|
||||
-lrt to link executables using clock_* system calls. This makes
|
||||
this toolchain difficult to maintain over time.
|
||||
|
||||
config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86
|
||||
bool "x86 Sourcery toolchain has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The Sourcery CodeBench toolchain for the x86 architecture has
|
||||
been removed, since it uses glibc older than 2.17 that requires
|
||||
-lrt to link executables using clock_* system calls. This makes
|
||||
this toolchain difficult to maintain over time.
|
||||
|
||||
config BR2_GCC_VERSION_4_8_X
|
||||
bool "gcc 4.8.x support removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for gcc version 4.8.x has been removed. The current
|
||||
default version (5.x or later) has been selected instead.
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2017.05"
|
||||
|
||||
config BR2_PACKAGE_SUNXI_MALI_R2P4
|
||||
bool "sunxi-mali r2p4 removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
sunxi-mali libMali for r2p4 Mali kernel module has been
|
||||
removed since the libump package only provides libUMP.so.3.
|
||||
libMali for r2p4 Mali kernel module requires libUMP.so.2.
|
||||
|
||||
config BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT
|
||||
bool "CoffeeScript option has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The option to enable NodeJS CoffeeScript has been removed.
|
||||
To continue using it, add "coffee-script" to
|
||||
BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL.
|
||||
|
||||
config BR2_PACKAGE_NODEJS_MODULES_EXPRESS
|
||||
bool "Express web application framework option has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The option to enable the NodeJS Express web application
|
||||
framework has been removed. To continue using it, add
|
||||
"express" to BR2_PACKAGE_NODEJS_MODULES_ADDITIONAL.
|
||||
|
||||
config BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL
|
||||
bool "bluez5_utils gatttool install option removed"
|
||||
select BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED
|
||||
help
|
||||
The option to install gatttool specifically has been removed.
|
||||
Since version 5.44 gatttool is in the list of deprecated
|
||||
tools. The option to build and install deprecated tools has
|
||||
been automatically enabled.
|
||||
|
||||
config BR2_PACKAGE_OPENOCD_FT2XXX
|
||||
bool "openocd ft2232 support has been removed"
|
||||
select BR2_PACKAGE_OPENOCD_FTDI
|
||||
select BR2_LEGACY
|
||||
help
|
||||
FT2232 support in OpenOCD has been removed, it's replaced by
|
||||
FDTI support, which has automatically been enabled.
|
||||
|
||||
config BR2_PACKAGE_KODI_RTMPDUMP
|
||||
bool "kodi rtmp has been removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_KODI_INPUTSTREAM_RTMP
|
||||
help
|
||||
Internal rtmp support was removed from Kodi.
|
||||
|
||||
config BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN
|
||||
bool "kodi-visualisation-fountain has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
According to upstream 'the visualization is not currently
|
||||
in a working shape.'
|
||||
|
||||
config BR2_PACKAGE_PORTMAP
|
||||
bool "portmap has been removed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_RPCBIND
|
||||
help
|
||||
The portmap upstream tarball is removed, no releases since
|
||||
ten years and latest change in upstream git in 2014.
|
||||
You should better use rpcbind as a RPC portmapper.
|
||||
|
||||
config BR2_BINUTILS_VERSION_2_25_X
|
||||
bool "binutils version 2.25 support removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for binutils version 2.25 has been removed. The
|
||||
current default version (2.27 or later) has been selected
|
||||
instead.
|
||||
|
||||
config BR2_TOOLCHAIN_BUILDROOT_INET_RPC
|
||||
bool "uclibc RPC support has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
uClibc-ng removed internal RPC implementation in 1.0.23. You
|
||||
should use libtirpc instead.
|
||||
|
||||
config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS
|
||||
int "extra size in blocks has been removed"
|
||||
default 0
|
||||
help
|
||||
Since the support for auto calculation of the filesystem size has been
|
||||
removed, this option is now useless and must be 0.
|
||||
You may want to check that BR2_TARGET_ROOTFS_EXT2_BLOCKS matchs
|
||||
your needs.
|
||||
|
||||
config BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS_WRAP
|
||||
bool
|
||||
default y if BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS != 0
|
||||
select BR2_LEGACY
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_KDBUS
|
||||
bool "systemd-kdbus has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
--enable/disable-kdbus configure option has been removed since
|
||||
systemd-231.
|
||||
|
||||
config BR2_PACKAGE_POLARSSL
|
||||
bool "polarssl has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
The polarssl crypto library has been removed since the 1.2.x
|
||||
release branch is no longer maintained. Newer upstream
|
||||
branches/releases (mbedtls) have API changes so they're not
|
||||
drop-in replacements.
|
||||
|
||||
config BR2_NBD_CLIENT
|
||||
bool "nbd client option was renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_NBD_CLIENT
|
||||
help
|
||||
The nbd client option has been renamed to BR2_PACKAGE_NBD_CLIENT.
|
||||
|
||||
config BR2_NBD_SERVER
|
||||
bool "nbd server option was renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_NBD_SERVER
|
||||
help
|
||||
The nbd server option has been renamed to BR2_PACKAGE_NBD_SERVER.
|
||||
|
||||
config BR2_PACKAGE_GMOCK
|
||||
bool "gmock merged into gtest package"
|
||||
select BR2_LEGACY
|
||||
select BR2_PACKAGE_GTEST
|
||||
select BR2_PACKAGE_GTEST_GMOCK
|
||||
help
|
||||
GMock is now a suboption of the GTest package.
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_8
|
||||
bool "kernel headers version 4.8.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_4_4
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.8.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 4.4.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_18
|
||||
bool "kernel headers version 3.18.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.18.x of the Linux kernel headers are no longer
|
||||
maintained upstream and are now removed. As an alternative,
|
||||
version 3.12.x of the headers have been automatically
|
||||
selected in your configuration.
|
||||
|
||||
config BR2_GLIBC_VERSION_2_22
|
||||
bool "glibc 2.22 removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Support for glibc version 2.22 has been removed. The current
|
||||
default version has been selected instead.
|
||||
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2017.02"
|
||||
|
||||
@ -412,22 +946,22 @@ config BR2_GCC_VERSION_4_8_ARC
|
||||
|
||||
config BR2_KERNEL_HEADERS_4_0
|
||||
bool "kernel headers version 4.0.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_18
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 4.0.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.18.x of the headers have been
|
||||
As an alternative, version 3.12.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_KERNEL_HEADERS_3_19
|
||||
bool "kernel headers version 3.19.x are no longer supported"
|
||||
select BR2_KERNEL_HEADERS_3_18
|
||||
select BR2_KERNEL_HEADERS_3_12
|
||||
select BR2_LEGACY
|
||||
help
|
||||
Version 3.19.x of the Linux kernel headers have been deprecated
|
||||
for more than four buildroot releases and are now removed.
|
||||
As an alternative, version 3.18.x of the headers have been
|
||||
As an alternative, version 3.12.x of the headers have been
|
||||
automatically selected in your configuration.
|
||||
|
||||
config BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS
|
||||
@ -457,6 +991,14 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2016.08"
|
||||
|
||||
config BR2_PACKAGE_EFL_JP2K
|
||||
bool "libevas jp2k loader has been removed"
|
||||
select BR2_LEGACY
|
||||
help
|
||||
JP2K support in EFL requires openjpeg 1.x (libopenjpeg1.pc)
|
||||
while Buildroot only packages openjpeg 2.x. Therefore, the
|
||||
JP2K loader has been removed from EFL.
|
||||
|
||||
config BR2_PACKAGE_SYSTEMD_COMPAT
|
||||
bool "systemd compatibility libraries have been removed"
|
||||
select BR2_LEGACY
|
||||
|
158
Makefile
158
Makefile
@ -84,11 +84,12 @@ else # umask / $(CURDIR) / $(O)
|
||||
|
||||
# This is our default rule, so must come first
|
||||
all:
|
||||
.PHONY: all
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2017.02
|
||||
export BR2_VERSION := 2017.11
|
||||
# Actual time the release is cut (for reproducible builds)
|
||||
BR2_VERSION_EPOCH = 1488315000
|
||||
BR2_VERSION_EPOCH = 1512070000
|
||||
|
||||
# Save running make version since it's clobbered by the make package
|
||||
RUNNING_MAKE_VERSION := $(MAKE_VERSION)
|
||||
@ -125,11 +126,11 @@ DATE := $(shell date +%Y%m%d)
|
||||
# Need to export it, so it can be got from environment in children (eg. mconf)
|
||||
export BR2_VERSION_FULL := $(BR2_VERSION)$(shell $(TOPDIR)/support/scripts/setlocalversion)
|
||||
|
||||
# List of targets and target patterns for which .config doesn't need to be read in
|
||||
noconfig_targets := menuconfig nconfig gconfig xconfig config oldconfig randconfig \
|
||||
defconfig %_defconfig allyesconfig allnoconfig silentoldconfig release \
|
||||
defconfig %_defconfig allyesconfig allnoconfig alldefconfig silentoldconfig release \
|
||||
randpackageconfig allyespackageconfig allnopackageconfig \
|
||||
print-version olddefconfig distclean manual manual-html manual-split-html \
|
||||
manual-pdf manual-text manual-epub
|
||||
print-version olddefconfig distclean manual manual-%
|
||||
|
||||
# Some global targets do not trigger a build, but are used to collect
|
||||
# metadata, or do various checks. When such targets are triggered,
|
||||
@ -253,7 +254,7 @@ export LANG = C
|
||||
export LC_ALL = C
|
||||
export GZIP = -n
|
||||
BR2_VERSION_GIT_EPOCH = $(shell GIT_DIR=$(TOPDIR)/.git $(GIT) log -1 --format=%at)
|
||||
export SOURCE_DATE_EPOCH = $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH))
|
||||
export SOURCE_DATE_EPOCH ?= $(if $(wildcard $(TOPDIR)/.git),$(BR2_VERSION_GIT_EPOCH),$(BR2_VERSION_EPOCH))
|
||||
DEPENDENCIES_HOST_PREREQ += host-fakedate
|
||||
endif
|
||||
|
||||
@ -439,14 +440,14 @@ TAR_OPTIONS = $(call qstrip,$(BR2_TAR_OPTIONS)) -xf
|
||||
HOST_DIR := $(call qstrip,$(BR2_HOST_DIR))
|
||||
|
||||
# Quotes are needed for spaces and all in the original PATH content.
|
||||
BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(HOST_DIR)/usr/bin:$(HOST_DIR)/usr/sbin:$(PATH)"
|
||||
BR_PATH = "$(HOST_DIR)/bin:$(HOST_DIR)/sbin:$(PATH)"
|
||||
|
||||
# Location of a file giving a big fat warning that output/target
|
||||
# should not be used as the root filesystem.
|
||||
TARGET_DIR_WARNING_FILE = $(TARGET_DIR)/THIS_IS_NOT_YOUR_ROOT_FILESYSTEM
|
||||
|
||||
ifeq ($(BR2_CCACHE),y)
|
||||
CCACHE := $(HOST_DIR)/usr/bin/ccache
|
||||
CCACHE := $(HOST_DIR)/bin/ccache
|
||||
BR_CACHE_DIR ?= $(call qstrip,$(BR2_CCACHE_DIR))
|
||||
export BR_CACHE_DIR
|
||||
HOSTCC := $(CCACHE) $(HOSTCC)
|
||||
@ -478,11 +479,17 @@ all: world
|
||||
# may rely on it.
|
||||
include Makefile.legacy
|
||||
|
||||
include system/system.mk
|
||||
include package/Makefile.in
|
||||
# arch/arch.mk.* must be after package/Makefile.in because it may need to
|
||||
# complement variables defined therein, like BR_NO_CHECK_HASH_FOR.
|
||||
-include $(sort $(wildcard arch/arch.mk.*))
|
||||
include support/dependencies/dependencies.mk
|
||||
|
||||
include toolchain/*.mk
|
||||
include toolchain/*/*.mk
|
||||
PACKAGES += $(DEPENDENCIES_HOST_PREREQ)
|
||||
|
||||
include $(sort $(wildcard toolchain/*.mk))
|
||||
include $(sort $(wildcard toolchain/*/*.mk))
|
||||
|
||||
# Include the package override file if one has been provided in the
|
||||
# configuration.
|
||||
@ -535,19 +542,37 @@ $(foreach pkg,$(call UPPERCASE,$(PACKAGES)),\
|
||||
|
||||
endif
|
||||
|
||||
.PHONY: dirs
|
||||
dirs: $(BUILD_DIR) $(STAGING_DIR) $(TARGET_DIR) \
|
||||
$(HOST_DIR) $(BINARIES_DIR)
|
||||
$(HOST_DIR) $(HOST_DIR)/usr $(HOST_DIR)/lib $(BINARIES_DIR)
|
||||
|
||||
$(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG)
|
||||
$(MAKE1) $(EXTRAMAKEARGS) HOSTCC="$(HOSTCC_NOCCACHE)" HOSTCXX="$(HOSTCXX_NOCCACHE)" silentoldconfig
|
||||
|
||||
.PHONY: prepare
|
||||
prepare: $(BUILD_DIR)/buildroot-config/auto.conf
|
||||
|
||||
.PHONY: world
|
||||
world: target-post-image
|
||||
|
||||
.PHONY: all world toolchain dirs clean distclean source outputmakefile \
|
||||
legal-info legal-info-prepare legal-info-clean printvars help \
|
||||
list-defconfigs target-finalize target-post-image source-check
|
||||
.PHONY: sdk
|
||||
sdk: world
|
||||
@$(call MESSAGE,"Rendering the SDK relocatable")
|
||||
$(TOPDIR)/support/scripts/fix-rpath host
|
||||
$(TOPDIR)/support/scripts/fix-rpath staging
|
||||
$(INSTALL) -m 755 $(TOPDIR)/support/misc/relocate-sdk.sh $(HOST_DIR)/relocate-sdk.sh
|
||||
echo $(HOST_DIR) > $(HOST_DIR)/share/buildroot/sdk-location
|
||||
|
||||
# Compatibility symlink in case a post-build script still uses $(HOST_DIR)/usr
|
||||
$(HOST_DIR)/usr: $(HOST_DIR)
|
||||
@ln -snf . $@
|
||||
|
||||
$(HOST_DIR)/lib: $(HOST_DIR)
|
||||
@mkdir -p $@
|
||||
@case $(HOSTARCH) in \
|
||||
(*64) ln -snf lib $(@D)/lib64;; \
|
||||
(*) ln -snf lib $(@D)/lib32;; \
|
||||
esac
|
||||
|
||||
# Populating the staging with the base directories is handled by the skeleton package
|
||||
$(STAGING_DIR):
|
||||
@ -601,7 +626,7 @@ define GENERATE_GLIBC_LOCALES
|
||||
fi ; \
|
||||
echo "Generating locale $${inputfile}.$${charmap}" ; \
|
||||
I18NPATH=$(STAGING_DIR)/usr/share/i18n:/usr/share/i18n \
|
||||
$(HOST_DIR)/usr/bin/localedef \
|
||||
$(HOST_DIR)/bin/localedef \
|
||||
--prefix=$(TARGET_DIR) \
|
||||
--$(call LOWERCASE,$(BR2_ENDIAN))-endian \
|
||||
-i $${inputfile} -f $${charmap} \
|
||||
@ -651,6 +676,7 @@ endif
|
||||
|
||||
$(TARGETS_ROOTFS): target-finalize
|
||||
|
||||
.PHONY: target-finalize
|
||||
target-finalize: $(PACKAGES)
|
||||
@$(call MESSAGE,"Finalizing target directory")
|
||||
$(foreach hook,$(TARGET_FINALIZE_HOOKS),$($(hook))$(sep))
|
||||
@ -701,6 +727,9 @@ endif
|
||||
echo "PRETTY_NAME=\"Buildroot $(BR2_VERSION)\"" \
|
||||
) > $(TARGET_DIR)/etc/os-release
|
||||
|
||||
@$(call MESSAGE,"Sanitizing RPATH in target tree")
|
||||
$(TOPDIR)/support/scripts/fix-rpath target
|
||||
|
||||
@$(foreach d, $(call qstrip,$(BR2_ROOTFS_OVERLAY)), \
|
||||
$(call MESSAGE,"Copying overlay $(d)"); \
|
||||
rsync -a --ignore-times --keep-dirlinks $(RSYNC_VCS_EXCLUSIONS) \
|
||||
@ -711,32 +740,39 @@ endif
|
||||
$(call MESSAGE,"Executing post-build script $(s)"); \
|
||||
$(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
|
||||
|
||||
.PHONY: target-post-image
|
||||
target-post-image: $(TARGETS_ROOTFS) target-finalize
|
||||
@$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \
|
||||
$(call MESSAGE,"Executing post-image script $(s)"); \
|
||||
$(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep))
|
||||
|
||||
.PHONY: source
|
||||
source: $(foreach p,$(PACKAGES),$(p)-all-source)
|
||||
|
||||
.PHONY: _external-deps external-deps
|
||||
_external-deps: $(foreach p,$(PACKAGES),$(p)-all-external-deps)
|
||||
external-deps:
|
||||
@$(MAKE1) -Bs $(EXTRAMAKEARGS) _external-deps | sort -u
|
||||
|
||||
# check if download URLs are outdated
|
||||
.PHONY: source-check
|
||||
source-check: $(foreach p,$(PACKAGES),$(p)-all-source-check)
|
||||
|
||||
.PHONY: legal-info-clean
|
||||
legal-info-clean:
|
||||
@rm -fr $(LEGAL_INFO_DIR)
|
||||
|
||||
.PHONY: legal-info-prepare
|
||||
legal-info-prepare: $(LEGAL_INFO_DIR)
|
||||
@$(call MESSAGE,"Collecting legal info")
|
||||
@$(call legal-license-file,buildroot,COPYING,COPYING,HOST)
|
||||
@$(call MESSAGE,"Buildroot $(BR2_VERSION_FULL) Collecting legal info")
|
||||
@$(call legal-license-file,buildroot,buildroot,support/legal-info,COPYING,COPYING,HOST)
|
||||
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,TARGET)
|
||||
@$(call legal-manifest,PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,HOST)
|
||||
@$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPLv2+,COPYING,not saved,not saved,HOST)
|
||||
@$(call legal-manifest,buildroot,$(BR2_VERSION_FULL),GPL-2.0+,COPYING,not saved,not saved,HOST)
|
||||
@$(call legal-warning,the Buildroot source code has not been saved)
|
||||
@cp $(BR2_CONFIG) $(LEGAL_INFO_DIR)/buildroot.config
|
||||
|
||||
.PHONY: legal-info
|
||||
legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p)-all-legal-info) \
|
||||
$(REDIST_SOURCES_DIR_TARGET) $(REDIST_SOURCES_DIR_HOST)
|
||||
@cat support/legal-info/README.header >>$(LEGAL_REPORT)
|
||||
@ -751,9 +787,14 @@ legal-info: dirs legal-info-clean legal-info-prepare $(foreach p,$(PACKAGES),$(p
|
||||
mv .legal-info.sha256 legal-info.sha256)
|
||||
@echo "Legal info produced in $(LEGAL_INFO_DIR)"
|
||||
|
||||
.PHONY: show-targets
|
||||
show-targets:
|
||||
@echo $(PACKAGES) $(TARGETS_ROOTFS)
|
||||
|
||||
.PHONY: show-build-order
|
||||
show-build-order: $(patsubst %,%-show-build-order,$(PACKAGES))
|
||||
|
||||
.PHONY: graph-build
|
||||
graph-build: $(O)/build/build-time.log
|
||||
@install -d $(GRAPHS_DIR)
|
||||
$(foreach o,name build duration,./support/scripts/graph-build-time \
|
||||
@ -765,10 +806,12 @@ graph-build: $(O)/build/build-time.log
|
||||
--output=$(GRAPHS_DIR)/build.pie-$(t).$(BR_GRAPH_OUT) \
|
||||
$(if $(BR2_GRAPH_ALT),--alternate-colors)$(sep))
|
||||
|
||||
.PHONY: graph-depends-requirements
|
||||
graph-depends-requirements:
|
||||
@dot -? >/dev/null 2>&1 || \
|
||||
{ echo "ERROR: The 'dot' program from Graphviz is needed for graph-depends" >&2; exit 1; }
|
||||
|
||||
.PHONY: graph-depends
|
||||
graph-depends: graph-depends-requirements
|
||||
@$(INSTALL) -d $(GRAPHS_DIR)
|
||||
@cd "$(CONFIG_DIR)"; \
|
||||
@ -778,6 +821,7 @@ graph-depends: graph-depends-requirements
|
||||
-o $(GRAPHS_DIR)/$(@).$(BR_GRAPH_OUT) \
|
||||
$(GRAPHS_DIR)/$(@).dot
|
||||
|
||||
.PHONY: graph-size
|
||||
graph-size:
|
||||
$(Q)mkdir -p $(GRAPHS_DIR)
|
||||
$(Q)$(TOPDIR)/support/scripts/size-stats --builddir $(BASE_DIR) \
|
||||
@ -785,13 +829,21 @@ graph-size:
|
||||
--file-size-csv $(GRAPHS_DIR)/file-size-stats.csv \
|
||||
--package-size-csv $(GRAPHS_DIR)/package-size-stats.csv
|
||||
|
||||
.PHONY: check-dependencies
|
||||
check-dependencies:
|
||||
@cd "$(CONFIG_DIR)"; \
|
||||
$(TOPDIR)/support/scripts/graph-depends -C
|
||||
|
||||
else # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
all: menuconfig
|
||||
# Some subdirectories are also package names. To avoid that "make linux"
|
||||
# on an unconfigured tree produces "Nothing to be done", add an explicit
|
||||
# rule for it.
|
||||
# Also for 'all' we error out and ask the user to configure first.
|
||||
.PHONY: linux toolchain
|
||||
linux toolchain all: outputmakefile
|
||||
$(error Please configure Buildroot first (e.g. "make menuconfig"))
|
||||
@exit 1
|
||||
|
||||
endif # ifeq ($(BR2_HAVE_DOT_CONFIG),y)
|
||||
|
||||
@ -843,50 +895,20 @@ config: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
# no values are set for the legacy options so a subsequent oldconfig
|
||||
# will query them. Therefore, run an additional olddefconfig.
|
||||
|
||||
oldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) $< --oldconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
randconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --randconfig $(CONFIG_CONFIG_IN)
|
||||
randconfig allyesconfig alldefconfig allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --$@ $(CONFIG_CONFIG_IN)
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allyesconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allyesconfig $(CONFIG_CONFIG_IN)
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allnoconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y $< --allnoconfig $(CONFIG_CONFIG_IN)
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
randpackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
randpackageconfig allyespackageconfig allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --randconfig $(CONFIG_CONFIG_IN)
|
||||
$< --$(subst package,,$@) $(CONFIG_CONFIG_IN)
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allyespackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --allyesconfig $(CONFIG_CONFIG_IN)
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
allnopackageconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@grep -v BR2_PACKAGE_ $(BR2_CONFIG) > $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) SKIP_LEGACY=y \
|
||||
KCONFIG_ALLCONFIG=$(CONFIG_DIR)/.config.nopkg \
|
||||
$< --allnoconfig $(CONFIG_CONFIG_IN)
|
||||
@rm -f $(CONFIG_DIR)/.config.nopkg
|
||||
@$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN) >/dev/null
|
||||
|
||||
silentoldconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
$(COMMON_CONFIG_ENV) $< --silentoldconfig $(CONFIG_CONFIG_IN)
|
||||
|
||||
olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
$(COMMON_CONFIG_ENV) $< --olddefconfig $(CONFIG_CONFIG_IN)
|
||||
oldconfig silentoldconfig olddefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) $< --$@ $(CONFIG_CONFIG_IN)
|
||||
|
||||
defconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
@$(COMMON_CONFIG_ENV) $< --defconfig$(if $(DEFCONFIG),=$(DEFCONFIG)) $(CONFIG_CONFIG_IN)
|
||||
@ -916,6 +938,7 @@ savedefconfig: $(BUILD_DIR)/buildroot-config/conf prepare-kconfig
|
||||
# outputmakefile generates a Makefile in the output directory, if using a
|
||||
# separate output directory. This allows convenient use of make in the
|
||||
# output directory.
|
||||
.PHONY: outputmakefile
|
||||
outputmakefile:
|
||||
ifeq ($(NEED_WRAPPER),y)
|
||||
$(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O)
|
||||
@ -932,18 +955,24 @@ $(BUILD_DIR)/.br2-external.in: $(BUILD_DIR)
|
||||
# Makefiles. Alternatively, if a non-empty VARS variable is passed,
|
||||
# only the variables matching the make pattern passed in VARS are
|
||||
# displayed.
|
||||
.PHONY: printvars
|
||||
printvars:
|
||||
@$(foreach V, \
|
||||
@:$(foreach V, \
|
||||
$(sort $(if $(VARS),$(filter $(VARS),$(.VARIABLES)),$(.VARIABLES))), \
|
||||
$(if $(filter-out environment% default automatic, \
|
||||
$(origin $V)), \
|
||||
$(info $V=$($V) ($(value $V)))))
|
||||
$(if $(QUOTED_VARS),\
|
||||
$(info $V='$(subst ','\'',$(if $(RAW_VARS),$(value $V),$($V)))'), \
|
||||
$(info $V=$(if $(RAW_VARS),$(value $V),$($V))))))
|
||||
# ' Syntax colouring...
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf $(TARGET_DIR) $(BINARIES_DIR) $(HOST_DIR) \
|
||||
$(BUILD_DIR) $(BASE_DIR)/staging \
|
||||
$(LEGAL_INFO_DIR) $(GRAPHS_DIR)
|
||||
|
||||
.PHONY: distclean
|
||||
distclean: clean
|
||||
ifeq ($(O),$(CURDIR)/output)
|
||||
rm -rf $(O)
|
||||
@ -951,6 +980,7 @@ endif
|
||||
rm -rf $(TOPDIR)/dl $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \
|
||||
$(CONFIG_DIR)/.auto.deps $(BR2_EXTERNAL_FILE)
|
||||
|
||||
.PHONY: help
|
||||
help:
|
||||
@echo 'Cleaning:'
|
||||
@echo ' clean - delete all files created by build'
|
||||
@ -959,6 +989,7 @@ help:
|
||||
@echo 'Build:'
|
||||
@echo ' all - make world'
|
||||
@echo ' toolchain - build toolchain'
|
||||
@echo ' sdk - build relocatable SDK'
|
||||
@echo
|
||||
@echo 'Configuration:'
|
||||
@echo ' menuconfig - interactive curses-based configurator'
|
||||
@ -974,6 +1005,7 @@ help:
|
||||
@echo ' savedefconfig - Save current config to BR2_DEFCONFIG (minimal config)'
|
||||
@echo ' allyesconfig - New config where all options are accepted with yes'
|
||||
@echo ' allnoconfig - New config where all options are answered with no'
|
||||
@echo ' alldefconfig - New config where all options are set to default'
|
||||
@echo ' randpackageconfig - New config with random answer to package options'
|
||||
@echo ' allyespackageconfig - New config where pkg options are accepted with yes'
|
||||
@echo ' allnopackageconfig - New config where package options are answered with no'
|
||||
@ -1015,6 +1047,7 @@ help:
|
||||
@echo ' source-check - check selected packages for valid download URLs'
|
||||
@echo ' external-deps - list external packages used'
|
||||
@echo ' legal-info - generate info about license compliance'
|
||||
@echo ' printvars - dump all the internal variables'
|
||||
@echo
|
||||
@echo ' make V=0|1 - 0 => quiet build (default), 1 => verbose build'
|
||||
@echo ' make O=dir - Locate all output files in "dir", including .config'
|
||||
@ -1046,6 +1079,7 @@ endef
|
||||
|
||||
# We iterate over BR2_EXTERNAL_NAMES rather than BR2_EXTERNAL_DIRS,
|
||||
# because we want to display the name of the br2-external tree.
|
||||
.PHONY: list-defconfigs
|
||||
list-defconfigs:
|
||||
$(call list-defconfigs,$(TOPDIR))
|
||||
$(foreach name,$(BR2_EXTERNAL_NAMES),\
|
||||
@ -1068,8 +1102,14 @@ release:
|
||||
print-version:
|
||||
@echo $(BR2_VERSION_FULL)
|
||||
|
||||
#include docs/manual/manual.mk
|
||||
#-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(dir)/docs/*/*.mk)
|
||||
.PHONY: .gitlab-ci.yml
|
||||
.gitlab-ci.yml: .gitlab-ci.yml.in
|
||||
cp $< $@
|
||||
(cd configs; LC_ALL=C ls -1 *_defconfig) | sed 's/$$/: *defconfig/' >> $@
|
||||
./support/testing/run-tests -l 2>&1 | sed -r -e '/^test_run \((.*)\).*/!d; s//\1: *runtime_test/' | LC_ALL=C sort >> $@
|
||||
|
||||
include docs/manual/manual.mk
|
||||
-include $(foreach dir,$(BR2_EXTERNAL_DIRS),$(sort $(wildcard $(dir)/docs/*/*.mk)))
|
||||
|
||||
.PHONY: $(noconfig_targets)
|
||||
|
||||
|
@ -85,6 +85,15 @@ config BR2_bfin
|
||||
http://www.analog.com/
|
||||
http://en.wikipedia.org/wiki/Blackfin
|
||||
|
||||
config BR2_csky
|
||||
bool "csky"
|
||||
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
help
|
||||
csky is processor IP from china.
|
||||
http://www.c-sky.com/
|
||||
http://www.github.com/c-sky
|
||||
|
||||
config BR2_i386
|
||||
bool "i386"
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
@ -242,6 +251,16 @@ config BR2_xtensa
|
||||
|
||||
endchoice
|
||||
|
||||
# For some architectures or specific cores, our internal toolchain
|
||||
# backend is not suitable (like, missing support in upstream gcc, or
|
||||
# no ChipCo fork exists...)
|
||||
config BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
bool
|
||||
|
||||
config BR2_ARCH_HAS_TOOLCHAIN_BUILDROOT
|
||||
bool
|
||||
default y if !BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
|
||||
# The following string values are defined by the individual
|
||||
# Config.in.$ARCH files
|
||||
config BR2_ARCH
|
||||
@ -256,6 +275,12 @@ config BR2_GCC_TARGET_ARCH
|
||||
config BR2_GCC_TARGET_ABI
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_NAN
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_FP32_MODE
|
||||
string
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
string
|
||||
|
||||
@ -284,6 +309,12 @@ config BR2_GCC_TARGET_MODE
|
||||
config BR2_BINFMT_SUPPORTS_SHARED
|
||||
bool
|
||||
|
||||
# Must match the name of the architecture from readelf point of view,
|
||||
# i.e the "Machine:" field of readelf output. See get_machine_name()
|
||||
# in binutils/readelf.c for the list of possible values.
|
||||
config BR2_READELF_ARCH_NAME
|
||||
string
|
||||
|
||||
# Set up target binary format
|
||||
choice
|
||||
prompt "Target Binary Format"
|
||||
@ -369,6 +400,10 @@ if BR2_bfin
|
||||
source "arch/Config.in.bfin"
|
||||
endif
|
||||
|
||||
if BR2_csky
|
||||
source "arch/Config.in.csky"
|
||||
endif
|
||||
|
||||
if BR2_m68k
|
||||
source "arch/Config.in.m68k"
|
||||
endif
|
||||
|
@ -38,6 +38,10 @@ config BR2_GCC_TARGET_CPU
|
||||
default "arc700" if BR2_arc770d
|
||||
default "archs" if BR2_archs38
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "ARCompact" if BR2_arc750d || BR2_arc770d
|
||||
default "ARCv2" if BR2_archs38
|
||||
|
||||
choice
|
||||
prompt "MMU Page Size"
|
||||
default BR2_ARC_PAGE_SIZE_8K
|
||||
|
@ -182,6 +182,15 @@ config BR2_cortex_a15
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a15_a7
|
||||
bool "cortex-A15/A7 big.LITTLE"
|
||||
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
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a17
|
||||
bool "cortex-A17"
|
||||
select BR2_ARM_CPU_HAS_ARM
|
||||
@ -191,6 +200,15 @@ config BR2_cortex_a17
|
||||
select BR2_ARM_CPU_ARMV7A
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a17_a7
|
||||
bool "cortex-A17/A7 big.LITTLE"
|
||||
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
|
||||
depends on !BR2_ARCH_IS_64
|
||||
config BR2_cortex_a53
|
||||
bool "cortex-A53"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
@ -207,6 +225,14 @@ config BR2_cortex_a57
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_a57_a53
|
||||
bool "cortex-A57/A53 big.LITTLE"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_a72
|
||||
bool "cortex-A72"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
@ -215,6 +241,14 @@ config BR2_cortex_a72
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_a72_a53
|
||||
bool "cortex-A72/A53 big.LITTLE"
|
||||
select BR2_ARM_CPU_HAS_ARM if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_NEON if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_THUMB2 if !BR2_ARCH_IS_64
|
||||
select BR2_ARM_CPU_HAS_FP_ARMV8
|
||||
select BR2_ARM_CPU_ARMV8
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
config BR2_cortex_m3
|
||||
bool "cortex-M3"
|
||||
select BR2_ARM_CPU_HAS_THUMB2
|
||||
@ -526,7 +560,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-a15.cortex-a7" if BR2_cortex_a15_a7
|
||||
default "cortex-a17" if BR2_cortex_a17
|
||||
default "cortex-a17.cortex-a7" if BR2_cortex_a17_a7
|
||||
default "cortex-m3" if BR2_cortex_m3
|
||||
default "cortex-m4" if BR2_cortex_m4
|
||||
default "fa526" if BR2_fa526
|
||||
@ -534,15 +570,11 @@ config BR2_GCC_TARGET_CPU
|
||||
default "strongarm" if BR2_strongarm
|
||||
default "xscale" if BR2_xscale
|
||||
default "iwmmxt" if BR2_iwmmxt
|
||||
default "cortex-a53" if (BR2_cortex_a53 && !BR2_ARCH_IS_64)
|
||||
default "cortex-a53+fp" if (BR2_cortex_a53 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8)
|
||||
default "cortex-a53+fp+simd" if (BR2_cortex_a53 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8)
|
||||
default "cortex-a57" if (BR2_cortex_a57 && !BR2_ARCH_IS_64)
|
||||
default "cortex-a57+fp" if (BR2_cortex_a57 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8)
|
||||
default "cortex-a57+fp+simd" if (BR2_cortex_a57 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8)
|
||||
default "cortex-a72" if (BR2_cortex_a72 && !BR2_ARCH_IS_64)
|
||||
default "cortex-a72+fp" if (BR2_cortex_a72 && BR2_ARCH_IS_64 && BR2_ARM_FPU_FP_ARMV8)
|
||||
default "cortex-a72+fp+simd" if (BR2_cortex_a72 && BR2_ARCH_IS_64 && BR2_ARM_FPU_NEON_FP_ARMV8)
|
||||
default "cortex-a53" if BR2_cortex_a53
|
||||
default "cortex-a57" if BR2_cortex_a57
|
||||
default "cortex-a57.cortex-a53" if BR2_cortex_a57_a53
|
||||
default "cortex-a72" if BR2_cortex_a72
|
||||
default "cortex-a72.cortex-a53" if BR2_cortex_a72_a53
|
||||
|
||||
config BR2_GCC_TARGET_ABI
|
||||
default "aapcs-linux" if BR2_arm || BR2_armeb
|
||||
@ -568,3 +600,7 @@ config BR2_GCC_TARGET_FLOAT_ABI
|
||||
config BR2_GCC_TARGET_MODE
|
||||
default "arm" if BR2_ARM_INSTRUCTIONS_ARM
|
||||
default "thumb" if BR2_ARM_INSTRUCTIONS_THUMB || BR2_ARM_INSTRUCTIONS_THUMB2
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "ARM" if BR2_arm || BR2_armeb
|
||||
default "AArch64" if BR2_aarch64 || BR2_aarch64_be
|
||||
|
@ -4,14 +4,6 @@ choice
|
||||
default BR2_bf532
|
||||
help
|
||||
Specify target CPU
|
||||
config BR2_bf606
|
||||
bool "bf606"
|
||||
config BR2_bf607
|
||||
bool "bf607"
|
||||
config BR2_bf608
|
||||
bool "bf608"
|
||||
config BR2_bf609
|
||||
bool "bf609"
|
||||
config BR2_bf512
|
||||
bool "bf512"
|
||||
config BR2_bf514
|
||||
@ -105,3 +97,6 @@ config BR2_GCC_TARGET_CPU_REVISION
|
||||
value of the -mcpu option. For example, if the selected CPU is
|
||||
bf609, and then selected CPU revision is "0.0", then gcc will
|
||||
receive the -mcpu=bf609-0.0 option.
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Analog Devices Blackfin"
|
||||
|
48
arch/Config.in.csky
Normal file
48
arch/Config.in.csky
Normal file
@ -0,0 +1,48 @@
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
default BR2_ck610
|
||||
help
|
||||
Specific CPU variant to use
|
||||
|
||||
config BR2_ck610
|
||||
bool "ck610"
|
||||
|
||||
config BR2_ck807
|
||||
bool "ck807"
|
||||
|
||||
config BR2_ck810
|
||||
bool "ck810"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_CSKY_FPU
|
||||
bool "Enable FPU coprocessor"
|
||||
depends on BR2_ck810 || BR2_ck807
|
||||
help
|
||||
You can say N here if your C-SKY CPU doesn't have a
|
||||
Floating-Point Coprocessor or if you don't need FPU support
|
||||
for your user-space programs.
|
||||
|
||||
config BR2_CSKY_DSP
|
||||
bool "Enable DSP enhanced instructions"
|
||||
depends on BR2_ck810 || BR2_ck807
|
||||
|
||||
config BR2_ARCH
|
||||
default "csky"
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "ck610" if (BR2_ck610 && !BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck807" if (BR2_ck807 && !BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck807e" if (BR2_ck807 && !BR2_CSKY_FPU && BR2_CSKY_DSP)
|
||||
default "ck807f" if (BR2_ck807 && BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck807ef" if (BR2_ck807 && BR2_CSKY_FPU && BR2_CSKY_DSP)
|
||||
default "ck810" if (BR2_ck810 && !BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck810e" if (BR2_ck810 && !BR2_CSKY_FPU && BR2_CSKY_DSP)
|
||||
default "ck810f" if (BR2_ck810 && BR2_CSKY_FPU && !BR2_CSKY_DSP)
|
||||
default "ck810ef" if (BR2_ck810 && BR2_CSKY_FPU && BR2_CSKY_DSP)
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "CSKY"
|
@ -35,3 +35,6 @@ endchoice
|
||||
config BR2_GCC_TARGET_CPU
|
||||
default "68040" if BR2_m68k_68040
|
||||
default "5208" if BR2_m68k_cf5208
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "MC68000"
|
||||
|
@ -6,6 +6,9 @@ config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_microblazeel
|
||||
default "BIG" if BR2_microblazebe
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Xilinx MicroBlaze"
|
||||
|
||||
config BR2_microblaze
|
||||
bool
|
||||
default y if BR2_microblazeel || BR2_microblazebe
|
||||
|
@ -1,20 +1,26 @@
|
||||
# mips default CPU ISAs
|
||||
config BR2_MIPS_CPU_MIPS32
|
||||
bool
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
config BR2_MIPS_CPU_MIPS32R2
|
||||
bool
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
config BR2_MIPS_CPU_MIPS32R5
|
||||
bool
|
||||
config BR2_MIPS_CPU_MIPS32R6
|
||||
bool
|
||||
select BR2_MIPS_NAN_2008
|
||||
config BR2_MIPS_CPU_MIPS64
|
||||
bool
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
config BR2_MIPS_CPU_MIPS64R2
|
||||
bool
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
config BR2_MIPS_CPU_MIPS64R5
|
||||
bool
|
||||
config BR2_MIPS_CPU_MIPS64R6
|
||||
bool
|
||||
select BR2_MIPS_NAN_2008
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Variant"
|
||||
@ -51,14 +57,17 @@ config BR2_mips_m5150
|
||||
bool "M5150"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
select BR2_MIPS_NAN_2008
|
||||
config BR2_mips_m6250
|
||||
bool "M6250"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
select BR2_MIPS_CPU_MIPS32R6
|
||||
config BR2_mips_p5600
|
||||
bool "P5600"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
select BR2_MIPS_CPU_MIPS32R5
|
||||
select BR2_MIPS_NAN_2008
|
||||
config BR2_mips_xburst
|
||||
bool "XBurst"
|
||||
depends on !BR2_ARCH_IS_64
|
||||
@ -95,6 +104,7 @@ config BR2_mips_i6400
|
||||
config BR2_mips_p6600
|
||||
bool "P6600"
|
||||
depends on BR2_ARCH_IS_64
|
||||
select BR2_ARCH_HAS_NO_TOOLCHAIN_BUILDROOT
|
||||
select BR2_MIPS_CPU_MIPS64R6
|
||||
endchoice
|
||||
|
||||
@ -126,6 +136,64 @@ config BR2_MIPS_SOFT_FLOAT
|
||||
floating point functions, then everything will need to be
|
||||
compiled with soft floating point support (-msoft-float).
|
||||
|
||||
choice
|
||||
prompt "FP mode"
|
||||
depends on !BR2_ARCH_IS_64 && !BR2_MIPS_SOFT_FLOAT
|
||||
default BR2_MIPS_FP32_MODE_XX if BR2_TOOLCHAIN_HAS_MFPXX_OPTION
|
||||
help
|
||||
MIPS32 supports different FP modes (32,xx,64). Information about FP
|
||||
modes can be found here:
|
||||
https://sourceware.org/binutils/docs/as/MIPS-Options.html
|
||||
https://dmz-portal.imgtec.com/wiki/MIPS_O32_ABI_-_FR0_and_FR1_Interlinking#5._Generating_modeless_code
|
||||
|
||||
config BR2_MIPS_FP32_MODE_32
|
||||
bool "32"
|
||||
depends on !BR2_MIPS_CPU_MIPS32R6
|
||||
|
||||
config BR2_MIPS_FP32_MODE_XX
|
||||
bool "xx"
|
||||
depends on BR2_TOOLCHAIN_HAS_MFPXX_OPTION
|
||||
|
||||
config BR2_MIPS_FP32_MODE_64
|
||||
bool "64"
|
||||
depends on !BR2_MIPS_CPU_MIPS32
|
||||
endchoice
|
||||
|
||||
config BR2_GCC_TARGET_FP32_MODE
|
||||
default "32" if BR2_MIPS_FP32_MODE_32
|
||||
default "xx" if BR2_MIPS_FP32_MODE_XX
|
||||
default "64" if BR2_MIPS_FP32_MODE_64
|
||||
|
||||
config BR2_MIPS_NAN_LEGACY
|
||||
bool
|
||||
|
||||
config BR2_MIPS_NAN_2008
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Target NaN"
|
||||
depends on BR2_TOOLCHAIN_HAS_MNAN_OPTION
|
||||
depends on BR2_mips_32r5 || BR2_mips_64r5
|
||||
default BR2_MIPS_ENABLE_NAN_2008
|
||||
help
|
||||
MIPS supports two different NaN encodings, legacy and 2008.
|
||||
Information about MIPS NaN encodings can be found here:
|
||||
https://sourceware.org/binutils/docs/as/MIPS-NaN-Encodings.html
|
||||
|
||||
config BR2_MIPS_ENABLE_NAN_LEGACY
|
||||
bool "legacy"
|
||||
select BR2_MIPS_NAN_LEGACY
|
||||
|
||||
config BR2_MIPS_ENABLE_NAN_2008
|
||||
bool "2008"
|
||||
depends on !BR2_MIPS_SOFT_FLOAT
|
||||
select BR2_MIPS_NAN_2008
|
||||
endchoice
|
||||
|
||||
config BR2_GCC_TARGET_NAN
|
||||
default "legacy" if BR2_MIPS_NAN_LEGACY
|
||||
default "2008" if BR2_MIPS_NAN_2008
|
||||
|
||||
config BR2_ARCH
|
||||
default "mips" if BR2_mips
|
||||
default "mipsel" if BR2_mipsel
|
||||
@ -161,3 +229,6 @@ config BR2_GCC_TARGET_ABI
|
||||
default "32" if BR2_MIPS_OABI32
|
||||
default "n32" if BR2_MIPS_NABI32
|
||||
default "64" if BR2_MIPS_NABI64
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "MIPS R3000"
|
||||
|
@ -3,3 +3,6 @@ config BR2_ARCH
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE"
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Altera Nios II"
|
||||
|
@ -3,3 +3,6 @@ config BR2_ARCH
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "BIG"
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "OpenRISC 1000"
|
||||
|
@ -212,3 +212,7 @@ config BR2_GCC_TARGET_ABI
|
||||
default "no-spe" if BR2_PPC_ABI_no-spe
|
||||
default "ibmlongdouble" if BR2_PPC_ABI_ibmlongdouble
|
||||
default "ieeelongdouble" if BR2_PPC_ABI_ieeelongdouble
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "PowerPC" if BR2_powerpc
|
||||
default "PowerPC64" if BR2_powerpc64 || BR2_powerpc64le
|
||||
|
@ -27,3 +27,6 @@ config BR2_ARCH
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_sh4 || BR2_sh4a
|
||||
default "BIG" if BR2_sh2a || BR2_sh4eb || BR2_sh4aeb
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Renesas / SuperH SH"
|
||||
|
@ -28,3 +28,7 @@ config BR2_GCC_TARGET_CPU
|
||||
default "leon3" if BR2_sparc_leon3
|
||||
default "v8" if BR2_sparc_v8
|
||||
default "ultrasparc" if BR2_sparc_v9
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Sparc" if BR2_sparc
|
||||
default "Sparc v9" if BR2_sparc64
|
||||
|
@ -275,3 +275,7 @@ config BR2_GCC_TARGET_ARCH
|
||||
default "c3" if BR2_x86_c3
|
||||
default "c3-2" if BR2_x86_c32
|
||||
default "geode" if BR2_x86_geode
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Intel 80386" if BR2_i386
|
||||
default "Advanced Micro Devices X86-64" if BR2_x86_64
|
||||
|
@ -2,39 +2,32 @@ choice
|
||||
prompt "Target Architecture Variant"
|
||||
depends on BR2_xtensa
|
||||
default BR2_xtensa_fsf
|
||||
|
||||
config BR2_XTENSA_CUSTOM
|
||||
select BR2_ARCH_HAS_MMU_OPTIONAL
|
||||
bool "Custom Xtensa processor configuration"
|
||||
|
||||
config BR2_xtensa_fsf
|
||||
select BR2_ARCH_HAS_MMU_MANDATORY
|
||||
bool "fsf - Default configuration"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_XTENSA_CUSTOM_NAME
|
||||
string "Custom Xtensa processor configuration name"
|
||||
config BR2_XTENSA_OVERLAY_FILE
|
||||
string "Overlay file for custom configuration"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Name given to a custom Xtensa processor configuration.
|
||||
Enter the path to the overlay tarball for a custom processor
|
||||
configuration.
|
||||
|
||||
config BR2_XTENSA_CORE_NAME
|
||||
string
|
||||
default BR2_XTENSA_CUSTOM_NAME if BR2_XTENSA_CUSTOM
|
||||
default "" if BR2_xtensa_fsf
|
||||
|
||||
config BR2_XTENSA_OVERLAY_DIR
|
||||
string "Overlay directory for custom configuration"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default ""
|
||||
help
|
||||
Provide the directory path that contains the overlay file
|
||||
for a custom processor configuration. The path is relative
|
||||
to the top directory of buildroot.
|
||||
These overlay files are tar packages with updated configuration
|
||||
files for various toolchain packages and Xtensa processor
|
||||
configurations. They are provided by the processor vendor or
|
||||
directly from Tensilica.
|
||||
|
||||
The path can be either absolute, or relative to the top directory
|
||||
of buildroot.
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Endianness"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
@ -54,3 +47,6 @@ config BR2_ENDIAN
|
||||
|
||||
config BR2_ARCH
|
||||
default "xtensa" if BR2_xtensa
|
||||
|
||||
config BR2_READELF_ARCH_NAME
|
||||
default "Tensilica Xtensa Processor"
|
||||
|
36
arch/arch.mk.xtensa
Normal file
36
arch/arch.mk.xtensa
Normal file
@ -0,0 +1,36 @@
|
||||
################################################################################
|
||||
# This variable can be used by packages that need to extract the overlay.
|
||||
#
|
||||
# ARCH_XTENSA_OVERLAY_FILE is the path to the overlay tarball; empty if not
|
||||
# using any overlay
|
||||
#
|
||||
# Example:
|
||||
# ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
|
||||
# tar xf $(ARCH_XTENSA_OVERLAY_FILE) -C $(@D) --strip-components=1 gcc
|
||||
# endif
|
||||
################################################################################
|
||||
BR_ARCH_XTENSA_OVERLAY_FILE = $(call qstrip,$(BR2_XTENSA_OVERLAY_FILE))
|
||||
ifneq ($(filter http://% https://% ftp://% scp://%,$(BR_ARCH_XTENSA_OVERLAY_FILE)),)
|
||||
ARCH_XTENSA_OVERLAY_URL = $(BR_ARCH_XTENSA_OVERLAY_FILE)
|
||||
ARCH_XTENSA_OVERLAY_FILE = $(DL_DIR)/$(notdir $(BR_ARCH_XTENSA_OVERLAY_FILE))
|
||||
# Do not check that file, we can't know its hash
|
||||
BR_NO_CHECK_HASH_FOR += $(notdir $(ARCH_XTENSA_OVERLAY_URL))
|
||||
else
|
||||
ARCH_XTENSA_OVERLAY_FILE = $(BR_ARCH_XTENSA_OVERLAY_FILE)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# arch-xtensa-overlay-extract -- extract an extensa overlay
|
||||
#
|
||||
# argument 1 is the path in which to extract
|
||||
# argument 2 is the component to extract, one of: gcc, binutils, gdb, linux,
|
||||
# u-boot
|
||||
#
|
||||
# Example:
|
||||
# $(call arch-xtensa-overlay-extract,/path/to/overlay.tar,$(@D),gcc)
|
||||
################################################################################
|
||||
define arch-xtensa-overlay-extract
|
||||
$(call suitable-extractor,$(ARCH_XTENSA_OVERLAY_FILE)) \
|
||||
$(ARCH_XTENSA_OVERLAY_FILE) | \
|
||||
$(TAR) --strip-components=1 -C $(1) $(TAR_OPTIONS) - $(2)
|
||||
endef
|
@ -1,8 +1,21 @@
|
||||
menu "Bootloaders"
|
||||
|
||||
source "boot/grub/Config.in"
|
||||
source "boot/afboot-stm32/Config.in"
|
||||
source "boot/at91bootstrap/Config.in"
|
||||
source "boot/at91bootstrap3/Config.in"
|
||||
source "boot/at91dataflashboot/Config.in"
|
||||
source "boot/arm-trusted-firmware/Config.in"
|
||||
source "boot/barebox/Config.in"
|
||||
source "boot/boot-wrapper-aarch64/Config.in"
|
||||
source "boot/grub2/Config.in"
|
||||
source "boot/gummiboot/Config.in"
|
||||
source "boot/lpc32xxcdl/Config.in"
|
||||
source "boot/mxs-bootlets/Config.in"
|
||||
source "boot/s500-bootloader/Config.in"
|
||||
source "boot/syslinux/Config.in"
|
||||
source "boot/ts4800-mbrboot/Config.in"
|
||||
source "boot/uboot/Config.in"
|
||||
source "boot/vexpress-firmware/Config.in"
|
||||
source "boot/xloader/Config.in"
|
||||
|
||||
endmenu
|
||||
|
@ -0,0 +1,61 @@
|
||||
From 0d581abe6620ac69adec321b94390e009802f36a Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Sun, 13 Mar 2016 14:32:33 +0100
|
||||
Subject: [PATCH] Use ld instead of gcc for linking
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile | 11 ++++++-----
|
||||
1 file changed, 6 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index ce40314..271bb4f 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,6 +1,7 @@
|
||||
CROSS_COMPILE ?= arm-none-eabi-
|
||||
|
||||
CC = $(CROSS_COMPILE)gcc
|
||||
+LD = $(CROSS_COMPILE)ld
|
||||
OBJCOPY = $(CROSS_COMPILE)objcopy
|
||||
OBJDUMP = $(CROSS_COMPILE)objdump
|
||||
SIZE = $(CROSS_COMPILE)size
|
||||
@@ -10,7 +11,7 @@ OPENOCD = openocd
|
||||
CFLAGS := -mthumb -mcpu=cortex-m4
|
||||
CFLAGS += -ffunction-sections -fdata-sections
|
||||
CFLAGS += -Os -std=gnu99 -Wall
|
||||
-LDFLAGS := -nostartfiles -Wl,--gc-sections
|
||||
+LINKERFLAGS := -nostartfiles --gc-sections
|
||||
|
||||
obj-y += gpio.o mpu.o
|
||||
obj-f4 += $(obj-y) usart-f4.o
|
||||
@@ -22,22 +23,22 @@ all: stm32f429i-disco stm32429i-eval stm32f469i-disco stm32746g-eval
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
stm32f429i-disco: stm32f429i-disco.o $(obj-f4)
|
||||
- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32f429i-disco.elf stm32f429i-disco.o $(obj-f4)
|
||||
+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32f429i-disco.elf stm32f429i-disco.o $(obj-f4)
|
||||
$(OBJCOPY) -Obinary stm32f429i-disco.elf stm32f429i-disco.bin
|
||||
$(SIZE) stm32f429i-disco.elf
|
||||
|
||||
stm32429i-eval: stm32429i-eval.o $(obj-f4)
|
||||
- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32429i-eval.elf stm32429i-eval.o $(obj-f4)
|
||||
+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32429i-eval.elf stm32429i-eval.o $(obj-f4)
|
||||
$(OBJCOPY) -Obinary stm32429i-eval.elf stm32429i-eval.bin
|
||||
$(SIZE) stm32429i-eval.elf
|
||||
|
||||
stm32f469i-disco: stm32f469i-disco.o $(obj-f4)
|
||||
- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32f469i-disco.elf stm32f469i-disco.o $(obj-f4)
|
||||
+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32f469i-disco.elf stm32f469i-disco.o $(obj-f4)
|
||||
$(OBJCOPY) -Obinary stm32f469i-disco.elf stm32f469i-disco.bin
|
||||
$(SIZE) stm32f469i-disco.elf
|
||||
|
||||
stm32746g-eval: stm32746g-eval.o $(obj-f7)
|
||||
- $(CC) -T stm32f429.lds $(LDFLAGS) -o stm32746g-eval.elf stm32746g-eval.o $(obj-f7)
|
||||
+ $(LD) -T stm32f429.lds $(LINKERFLAGS) -o stm32746g-eval.elf stm32746g-eval.o $(obj-f7)
|
||||
$(OBJCOPY) -Obinary stm32746g-eval.elf stm32746g-eval.bin
|
||||
$(SIZE) stm32746g-eval.elf
|
||||
|
||||
--
|
||||
2.6.4
|
||||
|
7
boot/afboot-stm32/Config.in
Normal file
7
boot/afboot-stm32/Config.in
Normal file
@ -0,0 +1,7 @@
|
||||
config BR2_TARGET_AFBOOT_STM32
|
||||
bool "afboot-stm32"
|
||||
depends on BR2_arm
|
||||
help
|
||||
afboot-stm32 is a very small bootloader for STM32 platforms
|
||||
|
||||
https://github.com/mcoquelin-stm32/afboot-stm32
|
2
boot/afboot-stm32/afboot-stm32.hash
Normal file
2
boot/afboot-stm32/afboot-stm32.hash
Normal file
@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 dbd715c8b99f7d266f74a04707a4dac76b75b31321f24dee5256a6348260530c afboot-stm32-v0.1.tar.gz
|
18
boot/afboot-stm32/afboot-stm32.mk
Normal file
18
boot/afboot-stm32/afboot-stm32.mk
Normal file
@ -0,0 +1,18 @@
|
||||
################################################################################
|
||||
#
|
||||
# afboot-stm32
|
||||
#
|
||||
################################################################################
|
||||
|
||||
AFBOOT_STM32_VERSION = v0.1
|
||||
AFBOOT_STM32_SITE = $(call github,mcoquelin-stm32,afboot-stm32,$(AFBOOT_STM32_VERSION))
|
||||
|
||||
define AFBOOT_STM32_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) CROSS_COMPILE=$(TARGET_CROSS) all
|
||||
endef
|
||||
|
||||
define AFBOOT_STM32_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -m 0755 $(@D)/stm32*.bin $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
65
boot/arm-trusted-firmware/Config.in
Normal file
65
boot/arm-trusted-firmware/Config.in
Normal file
@ -0,0 +1,65 @@
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE
|
||||
bool "ARM Trusted Firmware (ATF)"
|
||||
depends on BR2_aarch64 && BR2_TARGET_UBOOT
|
||||
help
|
||||
Enable this option if you want to build the ATF for your ARM
|
||||
based embedded device.
|
||||
|
||||
https://github.com/ARM-software/arm-trusted-firmware
|
||||
|
||||
if BR2_TARGET_ARM_TRUSTED_FIRMWARE
|
||||
choice
|
||||
prompt "ATF Version"
|
||||
help
|
||||
Select the specific ATF version you want to use
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
bool "v1.4"
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
|
||||
bool "Custom tarball"
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
|
||||
bool "Custom Git repository"
|
||||
|
||||
endchoice
|
||||
|
||||
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION
|
||||
string "URL of custom ATF tarball"
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
|
||||
string
|
||||
default "v1.4" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
|
||||
default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \
|
||||
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
|
||||
|
||||
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL
|
||||
string "URL of custom repository"
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION
|
||||
string "Custom repository version"
|
||||
help
|
||||
Revision to use in the typical format used by Git
|
||||
E.G. a sha id, a tag, ..
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM
|
||||
string "ATF platform"
|
||||
help
|
||||
Target plaform to build for.
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES
|
||||
string "Additional ATF build variables"
|
||||
help
|
||||
Additional parameters for the ATF build
|
||||
E.G. 'DEBUG=1 LOG_LEVEL=20'
|
||||
|
||||
endif
|
3
boot/arm-trusted-firmware/arm-trusted-firmware.hash
Normal file
3
boot/arm-trusted-firmware/arm-trusted-firmware.hash
Normal file
@ -0,0 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 6dae02acd85278394bfad6e2683e186e5332a711e4491ac4632ad6480f6e5494 arm-trusted-firmware-v1.4.tar.gz
|
||||
sha256 487795b8023df866259fa159bab94706b747fb0d623b7913f1c4955c0ab5f164 license.rst
|
69
boot/arm-trusted-firmware/arm-trusted-firmware.mk
Normal file
69
boot/arm-trusted-firmware/arm-trusted-firmware.mk
Normal file
@ -0,0 +1,69 @@
|
||||
################################################################################
|
||||
#
|
||||
# arm-trusted-firmware
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION))
|
||||
ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3-Clause
|
||||
ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.rst
|
||||
|
||||
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot
|
||||
|
||||
ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom)
|
||||
# Handle custom ATF tarballs as specified by the configuration
|
||||
ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))
|
||||
ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL)))
|
||||
ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL))
|
||||
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
|
||||
else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y)
|
||||
ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL))
|
||||
ARM_TRUSTED_FIRMWARE_SITE_METHOD = git
|
||||
BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE)
|
||||
else
|
||||
ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION))
|
||||
endif
|
||||
|
||||
ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES
|
||||
|
||||
ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM))
|
||||
|
||||
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \
|
||||
CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
BL33=$(BINARIES_DIR)/u-boot.bin \
|
||||
$(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \
|
||||
PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM)
|
||||
|
||||
ifeq ($(BR2_TARGET_VEXPRESS_FIRMWARE),y)
|
||||
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin
|
||||
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += vexpress-firmware
|
||||
endif
|
||||
|
||||
define ARM_TRUSTED_FIRMWARE_BUILD_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
$(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \
|
||||
all fip
|
||||
endef
|
||||
|
||||
define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS
|
||||
cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/
|
||||
endef
|
||||
|
||||
# Configuration check
|
||||
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR_BUILDING),yy)
|
||||
|
||||
ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom)
|
||||
ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))),)
|
||||
$(error No tarball location specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y)
|
||||
ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)),)
|
||||
$(error No repository specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
$(eval $(generic-package))
|
47
boot/at91bootstrap/Config.in
Normal file
47
boot/at91bootstrap/Config.in
Normal file
@ -0,0 +1,47 @@
|
||||
config BR2_TARGET_AT91BOOTSTRAP
|
||||
depends on BR2_arm926t
|
||||
bool "AT91 Bootstrap"
|
||||
help
|
||||
AT91Bootstrap is a first level bootloader for the Atmel AT91
|
||||
devices. It integrates algorithms for:
|
||||
- Device initialization such as clock configuration, PIO settings...
|
||||
- Peripheral drivers such as PIO, PMC or SDRAMC...
|
||||
- Physical media algorithm such as DataFlash, NandFlash, NOR Flash...
|
||||
|
||||
if BR2_TARGET_AT91BOOTSTRAP
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR
|
||||
string "custom patch dir"
|
||||
help
|
||||
If your board requires custom patches, add the path to the
|
||||
directory containing the patches here. The patches must be
|
||||
named at91bootstrap-<version>-<something>.patch.
|
||||
|
||||
Most users may leave this empty
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP_BOARD
|
||||
string "Bootstrap board"
|
||||
default ""
|
||||
help
|
||||
This is used to do a make <board>_config
|
||||
|
||||
choice
|
||||
prompt "Boot Memory"
|
||||
default BR2_TARGET_AT91BOOTSTRAP_DATAFLASH
|
||||
help
|
||||
Select Chip for which AT91 bootstrap should be built
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP_DATAFLASH
|
||||
bool "Data Flash"
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP_NANDFLASH
|
||||
bool "NAND Flash"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP_MEMORY
|
||||
string
|
||||
default "dataflash" if BR2_TARGET_AT91BOOTSTRAP_DATAFLASH
|
||||
default "nandflash" if BR2_TARGET_AT91BOOTSTRAP_NANDFLASH
|
||||
|
||||
endif
|
334
boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch
Normal file
334
boot/at91bootstrap/at91bootstrap-1.16-eabi-fix.patch
Normal file
@ -0,0 +1,334 @@
|
||||
When using an EABI toolchain, the default compilation generates
|
||||
references to __aeabi_unwind_cpp_pr0(). This symbol is defined in
|
||||
libgcc, but we don't want to use it for a bootloader.
|
||||
|
||||
Therefore, this patch passes some additional CFLAGS to disable the
|
||||
generation of such references by avoiding unwind tables, exceptions,
|
||||
etc.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
board/at91cap9adk/dataflash/Makefile | 2 +-
|
||||
board/at91cap9adk/norflash/Makefile | 2 +-
|
||||
board/at91cap9stk/nandflash/Makefile | 2 +-
|
||||
board/at91sam9260ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9260ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9261ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9261ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9263ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9263ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9g10ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9g10ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9g20ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9g20ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9g45ekes/nandflash/Makefile | 2 +-
|
||||
board/at91sam9m10ekes/dataflash/Makefile | 2 +-
|
||||
board/at91sam9m10ekes/nandflash/Makefile | 2 +-
|
||||
board/at91sam9m10g45ek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9m10g45ek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9rlek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9rlek/nandflash/Makefile | 2 +-
|
||||
board/at91sam9xeek/dataflash/Makefile | 2 +-
|
||||
board/at91sam9xeek/nandflash/Makefile | 2 +-
|
||||
lib/Makefile | 2 +-
|
||||
23 files changed, 23 insertions(+), 23 deletions(-)
|
||||
|
||||
Index: Bootstrap-v1.16/board/at91cap9adk/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91cap9adk/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91cap9adk/dataflash/Makefile
|
||||
@@ -34,7 +34,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91cap9adk/norflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91cap9adk/norflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91cap9adk/norflash/Makefile
|
||||
@@ -34,7 +34,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91cap9stk/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91cap9stk/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91cap9stk/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
|
||||
Index: Bootstrap-v1.16/board/at91sam9260ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9260ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9260ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9260ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9260ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9260ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9261ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9261ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9261ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9261ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9261ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9261ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9263ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9263ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9263ek/dataflash/Makefile
|
||||
@@ -34,7 +34,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9263ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9263ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9263ek/nandflash/Makefile
|
||||
@@ -33,7 +33,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g10ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g10ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g10ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g10ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g10ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g10ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g20ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g20ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g20ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g20ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g20ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g20ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9g45ekes/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9g45ekes/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9m10ekes/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9m10ekes/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9m10ekes/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9m10ekes/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9m10ekes/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9m10ekes/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9m10g45ek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9m10g45ek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9m10g45ek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9m10g45ek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9m10g45ek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -O2 -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -O2 -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9rlek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9rlek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9rlek/dataflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9rlek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9rlek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9rlek/nandflash/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9xeek/dataflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9xeek/dataflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9xeek/dataflash/Makefile
|
||||
@@ -38,7 +38,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/board/at91sam9xeek/nandflash/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/board/at91sam9xeek/nandflash/Makefile
|
||||
+++ Bootstrap-v1.16/board/at91sam9xeek/nandflash/Makefile
|
||||
@@ -38,7 +38,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
||||
Index: Bootstrap-v1.16/lib/Makefile
|
||||
===================================================================
|
||||
--- Bootstrap-v1.16.orig/lib/Makefile
|
||||
+++ Bootstrap-v1.16/lib/Makefile
|
||||
@@ -37,7 +37,7 @@
|
||||
SIZE=$(CROSS_COMPILE)size
|
||||
OBJCOPY=$(CROSS_COMPILE)objcopy
|
||||
OBJDUMP=$(CROSS_COMPILE)objdump
|
||||
-CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL)
|
||||
+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -I$(INCL) -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables
|
||||
ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY)
|
||||
|
||||
# Linker flags.
|
@ -0,0 +1,29 @@
|
||||
From b783d1f9bf985c0981e755bd2c13e091e9d6837f Mon Sep 17 00:00:00 2001
|
||||
From: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
Date: Tue, 6 Nov 2012 09:38:50 +0100
|
||||
Subject: [PATCH] at91bootstrap: fix overlap linker issue
|
||||
|
||||
The linker script of the at91bootstrap package has to be modified when
|
||||
built from gcc-4.6.x version. Indeed a section named text.startup is
|
||||
created and has to be added into the text section.
|
||||
|
||||
Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com>
|
||||
---
|
||||
elf32-littlearm.lds | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/elf32-littlearm.lds b/elf32-littlearm.lds
|
||||
index a33952f..4f3ba25 100644
|
||||
--- a/elf32-littlearm.lds
|
||||
+++ b/elf32-littlearm.lds
|
||||
@@ -7,6 +7,7 @@ SECTIONS
|
||||
.text : {
|
||||
_stext = .;
|
||||
*(.text)
|
||||
+ *(.text*)
|
||||
*(.rodata) /* read-only data (constants) */
|
||||
*(.rodata*)
|
||||
. = ALIGN(4);
|
||||
--
|
||||
1.7.9.5
|
||||
|
@ -0,0 +1,284 @@
|
||||
From d4e4a1aad559e35d84b445d1379be94ad036984e Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Belloni <alexandre.belloni@piout.net>
|
||||
Date: Thu, 25 Oct 2012 22:57:14 +0200
|
||||
Subject: [PATCH] u-boot relocation fix
|
||||
|
||||
Every AT91SAM plaforms were broken between 2010.12 and 2011.03 because
|
||||
of the relocation changes.
|
||||
|
||||
We have to get JUMP_ADDR consistant with what is used by u-boot
|
||||
(CONFIG_SYS_TEXT_BASE).
|
||||
|
||||
I didn't know what to do with at91sam9m10g45ek as it doesn't seems to be
|
||||
converted yet. But anyway, that means that it is either not working or
|
||||
doesn't care so changing it here shouldn't harm.
|
||||
|
||||
We also have to increase the IMG_SIZE as u-boot as grown larger than the
|
||||
default value. As requested on the u-boot ML, we assume that it could
|
||||
be up to 495kB big.
|
||||
|
||||
It means that now, you have to flash your kernel at 0x00084000 instead
|
||||
of 0x00042000. And so you also have to load it from that adress from
|
||||
u-boot.
|
||||
|
||||
Then, remember that you could decrease IMG_SIZE to boot faster.
|
||||
|
||||
Signed-off-by: Alexandre Belloni <alexandre.belloni@piout.net>
|
||||
---
|
||||
board/at91sam9260ek/dataflash/at91sam9260ek.h | 4 ++--
|
||||
board/at91sam9260ek/nandflash/at91sam9260ek.h | 2 +-
|
||||
board/at91sam9261ek/dataflash/at91sam9261ek.h | 4 ++--
|
||||
board/at91sam9261ek/nandflash/at91sam9261ek.h | 2 +-
|
||||
board/at91sam9263ek/dataflash/at91sam9263ek.h | 4 ++--
|
||||
board/at91sam9263ek/nandflash/at91sam9263ek.h | 2 +-
|
||||
board/at91sam9g10ek/dataflash/at91sam9g10ek.h | 4 ++--
|
||||
board/at91sam9g10ek/nandflash/at91sam9g10ek.h | 2 +-
|
||||
board/at91sam9g20ek/dataflash/at91sam9g20ek.h | 4 ++--
|
||||
board/at91sam9g20ek/nandflash/at91sam9g20ek.h | 2 +-
|
||||
board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h | 2 +-
|
||||
.../at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h | 2 +-
|
||||
board/at91sam9rlek/dataflash/at91sam9rlek.h | 4 ++--
|
||||
board/at91sam9rlek/nandflash/at91sam9rlek.h | 2 +-
|
||||
board/at91sam9xeek/dataflash/at91sam9xeek.h | 4 ++--
|
||||
board/at91sam9xeek/nandflash/at91sam9xeek.h | 2 +-
|
||||
16 files changed, 23 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/board/at91sam9260ek/dataflash/at91sam9260ek.h b/board/at91sam9260ek/dataflash/at91sam9260ek.h
|
||||
index 1834246..91081a1 100644
|
||||
--- a/board/at91sam9260ek/dataflash/at91sam9260ek.h
|
||||
+++ b/board/at91sam9260ek/dataflash/at91sam9260ek.h
|
||||
@@ -74,10 +74,10 @@
|
||||
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS0 */
|
||||
|
||||
#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
|
||||
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
|
||||
+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */
|
||||
|
||||
#define MACH_TYPE 0x44B /* AT91SAM9260-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9260ek/nandflash/at91sam9260ek.h b/board/at91sam9260ek/nandflash/at91sam9260ek.h
|
||||
index 2cac601..f8fdff2 100644
|
||||
--- a/board/at91sam9260ek/nandflash/at91sam9260ek.h
|
||||
+++ b/board/at91sam9260ek/nandflash/at91sam9260ek.h
|
||||
@@ -92,7 +92,7 @@
|
||||
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
|
||||
#define MACH_TYPE 0x44B /* AT91SAM9260-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9261ek/dataflash/at91sam9261ek.h b/board/at91sam9261ek/dataflash/at91sam9261ek.h
|
||||
index 8ce30e9..276ba3d 100644
|
||||
--- a/board/at91sam9261ek/dataflash/at91sam9261ek.h
|
||||
+++ b/board/at91sam9261ek/dataflash/at91sam9261ek.h
|
||||
@@ -97,10 +97,10 @@
|
||||
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
|
||||
|
||||
#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
|
||||
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
|
||||
+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */
|
||||
|
||||
#define MACH_TYPE 0x350 /* AT91SAM9261-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9261ek/nandflash/at91sam9261ek.h b/board/at91sam9261ek/nandflash/at91sam9261ek.h
|
||||
index badc3ac..e628c97 100644
|
||||
--- a/board/at91sam9261ek/nandflash/at91sam9261ek.h
|
||||
+++ b/board/at91sam9261ek/nandflash/at91sam9261ek.h
|
||||
@@ -114,7 +114,7 @@
|
||||
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
|
||||
#define MACH_TYPE 0x350 /* AT91SAM9261-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9263ek/dataflash/at91sam9263ek.h b/board/at91sam9263ek/dataflash/at91sam9263ek.h
|
||||
index 5c9da4b..870f9e2 100644
|
||||
--- a/board/at91sam9263ek/dataflash/at91sam9263ek.h
|
||||
+++ b/board/at91sam9263ek/dataflash/at91sam9263ek.h
|
||||
@@ -96,10 +96,10 @@
|
||||
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
|
||||
|
||||
#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
|
||||
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
|
||||
+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */
|
||||
|
||||
#define MACH_TYPE 0x4B2 /* AT91SAM9263-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9263ek/nandflash/at91sam9263ek.h b/board/at91sam9263ek/nandflash/at91sam9263ek.h
|
||||
index 505afc7..8ab4f46 100644
|
||||
--- a/board/at91sam9263ek/nandflash/at91sam9263ek.h
|
||||
+++ b/board/at91sam9263ek/nandflash/at91sam9263ek.h
|
||||
@@ -108,7 +108,7 @@
|
||||
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
|
||||
#define MACH_TYPE 1202 /* AT91SAM9263-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h
|
||||
index b2faf44..f4f556b 100644
|
||||
--- a/board/at91sam9g10ek/dataflash/at91sam9g10ek.h
|
||||
+++ b/board/at91sam9g10ek/dataflash/at91sam9g10ek.h
|
||||
@@ -98,10 +98,10 @@
|
||||
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
|
||||
|
||||
#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
|
||||
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
|
||||
+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */
|
||||
|
||||
#define MACH_TYPE 0x350 /* AT91SAM9261-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h
|
||||
index 66c40a3..6c3ecda 100644
|
||||
--- a/board/at91sam9g10ek/nandflash/at91sam9g10ek.h
|
||||
+++ b/board/at91sam9g10ek/nandflash/at91sam9g10ek.h
|
||||
@@ -115,7 +115,7 @@
|
||||
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
|
||||
#define MACH_TYPE 0x350 /* AT91SAM9G10-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h
|
||||
index eea0439..7fc70d6 100644
|
||||
--- a/board/at91sam9g20ek/dataflash/at91sam9g20ek.h
|
||||
+++ b/board/at91sam9g20ek/dataflash/at91sam9g20ek.h
|
||||
@@ -75,10 +75,10 @@
|
||||
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */
|
||||
|
||||
#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
|
||||
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
|
||||
+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */
|
||||
|
||||
#define MACH_TYPE 0x658 /* AT91SAM9G20-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h
|
||||
index 31bd499..e797e4d 100644
|
||||
--- a/board/at91sam9g20ek/nandflash/at91sam9g20ek.h
|
||||
+++ b/board/at91sam9g20ek/nandflash/at91sam9g20ek.h
|
||||
@@ -93,7 +93,7 @@
|
||||
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
|
||||
#define MACH_TYPE 0x658 /* AT91SAM9G20-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h
|
||||
index a60fd41..5587a00 100644
|
||||
--- a/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h
|
||||
+++ b/board/at91sam9m10ekes/dataflash/at91sam9m10ekes.h
|
||||
@@ -89,7 +89,7 @@
|
||||
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
|
||||
|
||||
#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
|
||||
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
|
||||
+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */
|
||||
|
||||
#define MACH_TYPE 0x9CD /* AT91SAM9M10-EKES */
|
||||
#define JUMP_ADDR 0x73F00000 /* Final Jump Address */
|
||||
diff --git a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h
|
||||
index 5c726b5..9090097 100644
|
||||
--- a/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h
|
||||
+++ b/board/at91sam9m10g45ek/dataflash/at91sam9m10g45ek.h
|
||||
@@ -85,7 +85,7 @@
|
||||
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
|
||||
|
||||
#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
|
||||
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
|
||||
+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */
|
||||
|
||||
#define MACH_TYPE 0x726 /* AT91SAM9M10G45-EK */
|
||||
#define JUMP_ADDR 0x73F00000 /* Final Jump Address */
|
||||
diff --git a/board/at91sam9rlek/dataflash/at91sam9rlek.h b/board/at91sam9rlek/dataflash/at91sam9rlek.h
|
||||
index 05c42dc..150f17e 100644
|
||||
--- a/board/at91sam9rlek/dataflash/at91sam9rlek.h
|
||||
+++ b/board/at91sam9rlek/dataflash/at91sam9rlek.h
|
||||
@@ -89,10 +89,10 @@
|
||||
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */
|
||||
|
||||
#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
|
||||
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
|
||||
+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */
|
||||
|
||||
#define MACH_TYPE 1326 /* AT91SAM9RL-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9rlek/nandflash/at91sam9rlek.h b/board/at91sam9rlek/nandflash/at91sam9rlek.h
|
||||
index 656b4ba..594db8f 100644
|
||||
--- a/board/at91sam9rlek/nandflash/at91sam9rlek.h
|
||||
+++ b/board/at91sam9rlek/nandflash/at91sam9rlek.h
|
||||
@@ -112,7 +112,7 @@
|
||||
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
|
||||
#define MACH_TYPE 1326 /* AT91SAM9RL-EK */
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9xeek/dataflash/at91sam9xeek.h b/board/at91sam9xeek/dataflash/at91sam9xeek.h
|
||||
index 27d1822..08e515d 100644
|
||||
--- a/board/at91sam9xeek/dataflash/at91sam9xeek.h
|
||||
+++ b/board/at91sam9xeek/dataflash/at91sam9xeek.h
|
||||
@@ -74,10 +74,10 @@
|
||||
#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS1_DATAFLASH /* Boot on SPI NCS1 */
|
||||
|
||||
#define IMG_ADDRESS 0x8400 /* Image Address in DataFlash */
|
||||
-#define IMG_SIZE 0x33900 /* Image Size in DataFlash */
|
||||
+#define IMG_SIZE 0x7BC00 /* Image Size in DataFlash */
|
||||
|
||||
#define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
diff --git a/board/at91sam9xeek/nandflash/at91sam9xeek.h b/board/at91sam9xeek/nandflash/at91sam9xeek.h
|
||||
index 5dbc63e..9fac7cb 100644
|
||||
--- a/board/at91sam9xeek/nandflash/at91sam9xeek.h
|
||||
+++ b/board/at91sam9xeek/nandflash/at91sam9xeek.h
|
||||
@@ -94,7 +94,7 @@
|
||||
#define IMG_SIZE 0x40000 /* Image Size in NandFlash */
|
||||
|
||||
#define MACH_TYPE 0x44B /* AT91SAM9XE-EK same id as AT91SAM9260-EK*/
|
||||
-#define JUMP_ADDR 0x23F00000 /* Final Jump Address */
|
||||
+#define JUMP_ADDR 0x21F00000 /* Final Jump Address */
|
||||
|
||||
/* ******************************************************************* */
|
||||
/* Application Settings */
|
||||
--
|
||||
1.7.9.5
|
||||
|
2
boot/at91bootstrap/at91bootstrap.hash
Normal file
2
boot/at91bootstrap/at91bootstrap.hash
Normal file
@ -0,0 +1,2 @@
|
||||
# locally computed
|
||||
sha256 d66192a274247f4baa39fa932eadf903d7add55641d89d30402f967c4f2282a5 AT91Bootstrap1.16.zip
|
47
boot/at91bootstrap/at91bootstrap.mk
Normal file
47
boot/at91bootstrap/at91bootstrap.mk
Normal file
@ -0,0 +1,47 @@
|
||||
################################################################################
|
||||
#
|
||||
# at91bootstrap
|
||||
#
|
||||
################################################################################
|
||||
|
||||
AT91BOOTSTRAP_VERSION = 1.16
|
||||
AT91BOOTSTRAP_SITE = ftp://www.at91.com/pub/at91bootstrap
|
||||
AT91BOOTSTRAP_SOURCE = AT91Bootstrap$(AT91BOOTSTRAP_VERSION).zip
|
||||
|
||||
AT91BOOTSTRAP_BOARD = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_BOARD))
|
||||
AT91BOOTSTRAP_MEMORY = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_MEMORY))
|
||||
AT91BOOTSTRAP_MAKE_SUBDIR = board/$(AT91BOOTSTRAP_BOARD)/$(AT91BOOTSTRAP_MEMORY)
|
||||
AT91BOOTSTRAP_BINARY = $(AT91BOOTSTRAP_MAKE_SUBDIR)/$(AT91BOOTSTRAP_MEMORY)_$(AT91BOOTSTRAP_BOARD).bin
|
||||
|
||||
AT91BOOTSTRAP_INSTALL_IMAGES = YES
|
||||
AT91BOOTSTRAP_INSTALL_TARGET = NO
|
||||
|
||||
define AT91BOOTSTRAP_EXTRACT_CMDS
|
||||
$(UNZIP) -d $(BUILD_DIR) $(DL_DIR)/$(AT91BOOTSTRAP_SOURCE)
|
||||
mv $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)/* $(@D)
|
||||
rmdir $(BUILD_DIR)/Bootstrap-v$(AT91BOOTSTRAP_VERSION)
|
||||
endef
|
||||
|
||||
ifneq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR)),)
|
||||
define AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
|
||||
$(APPLY_PATCHES) $(@D) $(BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR) \*.patch
|
||||
endef
|
||||
|
||||
AT91BOOTSTRAP_POST_PATCH_HOOKS += AT91BOOTSTRAP_APPLY_CUSTOM_PATCHES
|
||||
endif
|
||||
|
||||
define AT91BOOTSTRAP_BUILD_CMDS
|
||||
$(MAKE1) CROSS_COMPILE=$(TARGET_CROSS) -C $(@D)/$(AT91BOOTSTRAP_MAKE_SUBDIR)
|
||||
endef
|
||||
|
||||
define AT91BOOTSTRAP_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/$(AT91BOOTSTRAP_BINARY) $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP)$(BR_BUILDING),yy)
|
||||
ifeq ($(AT91BOOTSTRAP_BOARD),)
|
||||
$(error No AT91Bootstrap board name set. Check your BR2_TARGET_AT91BOOTSTRAP_BOARD setting)
|
||||
endif
|
||||
endif
|
87
boot/at91bootstrap3/Config.in
Normal file
87
boot/at91bootstrap3/Config.in
Normal file
@ -0,0 +1,87 @@
|
||||
config BR2_TARGET_AT91BOOTSTRAP3
|
||||
depends on BR2_arm926t || BR2_cortex_a5
|
||||
bool "AT91 Bootstrap 3"
|
||||
help
|
||||
AT91Bootstrap is a first level bootloader for the Atmel AT91
|
||||
devices. It integrates algorithms for:
|
||||
- Device initialization such as clock configuration, PIO settings...
|
||||
- Peripheral drivers such as PIO, PMC or SDRAMC...
|
||||
- Physical media algorithm such as DataFlash, NandFlash, NOR Flash...
|
||||
|
||||
if BR2_TARGET_AT91BOOTSTRAP3
|
||||
|
||||
choice
|
||||
|
||||
prompt "AT91 Bootstrap 3 version"
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
|
||||
bool "3.8.6"
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
|
||||
bool "Custom Git repository"
|
||||
help
|
||||
This option allows Buildroot to get the AT91 Bootstrap 3 source
|
||||
code from a Git repository.
|
||||
|
||||
endchoice
|
||||
|
||||
if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL
|
||||
string "URL of custom repository"
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION
|
||||
string "Custom repository version"
|
||||
help
|
||||
Revision to use in the typical format used by Git
|
||||
E.G. a sha id, a tag, branch, ..
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_VERSION
|
||||
string
|
||||
default "v3.8.6" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
|
||||
default BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION \
|
||||
if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR
|
||||
string "custom patch dir"
|
||||
help
|
||||
If your board requires custom patches, add the path to the
|
||||
directory containing the patches here. The patches must be
|
||||
named at91bootstrap3-<something>.patch.
|
||||
|
||||
Most users may leave this empty
|
||||
|
||||
#
|
||||
# Configuration selection
|
||||
#
|
||||
|
||||
choice
|
||||
prompt "AT91 Bootstrap 3 configuration"
|
||||
default BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG
|
||||
bool "Using a defconfig"
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG
|
||||
bool "Using a custom config file"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG
|
||||
string "Defconfig name"
|
||||
depends on BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG
|
||||
help
|
||||
Name of the at91bootstrap3 defconfig file to use, without the
|
||||
trailing _defconfig. The defconfig is located at
|
||||
board/<processor>/<board>_defconfig in the at91bootstrap3
|
||||
tree.
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE
|
||||
string "Configuration file path"
|
||||
depends on BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG
|
||||
help
|
||||
Path to the at91bootstrap3 configuration file
|
||||
|
||||
endif # BR2_TARGET_AT91BOOTSTRAP3
|
2
boot/at91bootstrap3/at91bootstrap3.hash
Normal file
2
boot/at91bootstrap3/at91bootstrap3.hash
Normal file
@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 a2e9ec6f42ee3b5a805fe215257b63070b6c498d57c568c46fcb18fd1b38ea7e at91bootstrap3-v3.8.6.tar.gz
|
83
boot/at91bootstrap3/at91bootstrap3.mk
Normal file
83
boot/at91bootstrap3/at91bootstrap3.mk
Normal file
@ -0,0 +1,83 @@
|
||||
################################################################################
|
||||
#
|
||||
# at91bootstrap3
|
||||
#
|
||||
################################################################################
|
||||
|
||||
AT91BOOTSTRAP3_VERSION = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_VERSION))
|
||||
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y)
|
||||
AT91BOOTSTRAP3_SITE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL))
|
||||
AT91BOOTSTRAP3_SITE_METHOD = git
|
||||
BR_NO_CHECK_HASH_FOR += $(AT91BOOTSTRAP3_SOURCE)
|
||||
else
|
||||
AT91BOOTSTRAP3_SITE = $(call github,linux4sam,at91bootstrap,$(AT91BOOTSTRAP3_VERSION))
|
||||
endif
|
||||
|
||||
AT91BOOTSTRAP3_LICENSE = Atmel License
|
||||
AT91BOOTSTRAP3_LICENSE_FILES = main.c
|
||||
|
||||
AT91BOOTSTRAP3_INSTALL_IMAGES = YES
|
||||
AT91BOOTSTRAP3_INSTALL_TARGET = NO
|
||||
|
||||
AT91BOOTSTRAP3_CUSTOM_PATCH_DIR = \
|
||||
$(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR))
|
||||
|
||||
AT91BOOTSTRAP3_MAKE_OPTS = CROSS_COMPILE=$(TARGET_CROSS) DESTDIR=$(BINARIES_DIR)
|
||||
|
||||
ifneq ($(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR),)
|
||||
define AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
|
||||
$(APPLY_PATCHES) $(@D) $(AT91BOOTSTRAP3_CUSTOM_PATCH_DIR) \*.patch
|
||||
endef
|
||||
|
||||
AT91BOOTSTRAP3_POST_PATCH_HOOKS += AT91BOOTSTRAP3_APPLY_CUSTOM_PATCHES
|
||||
endif
|
||||
|
||||
define AT91BOOTSTRAP3_BUILD_CMDS
|
||||
$(MAKE) $(AT91BOOTSTRAP3_MAKE_OPTS) -C $(@D)
|
||||
endef
|
||||
|
||||
define AT91BOOTSTRAP3_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/binaries/*.bin $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y)
|
||||
AT91BOOTSTRAP3_KCONFIG_DEFCONFIG = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG))_defconfig
|
||||
else ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y)
|
||||
AT91BOOTSTRAP3_KCONFIG_FILE = $(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE))
|
||||
endif
|
||||
|
||||
AT91BOOTSTRAP3_KCONFIG_EDITORS = menuconfig xconfig gconfig
|
||||
AT91BOOTSTRAP3_KCONFIG_OPTS = $(AT91BOOTSTRAP3_MAKE_OPTS)
|
||||
|
||||
# Checks to give errors that the user can understand
|
||||
# Must be before we call to kconfig-package
|
||||
ifeq ($(BR_BUILDING),y)
|
||||
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y)
|
||||
# We must use the user-supplied kconfig value, because
|
||||
# AT91BOOTSTRAP3_KCONFIG_DEFCONFIG will at least contain
|
||||
# the trailing _defconfig
|
||||
ifeq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG)),)
|
||||
$(error No at91bootstrap3 defconfig name specified, check your BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG setting)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_CUSTOM_CONFIG),y)
|
||||
ifeq ($(AT91BOOTSTRAP3_KCONFIG_FILE),)
|
||||
$(error No at91bootstrap3 configuration file specified, check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE setting)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT),y)
|
||||
ifeq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL)),)
|
||||
$(error No custom at91bootstrap3 repository URL specified. Check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL setting)
|
||||
endif
|
||||
ifeq ($(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION)),)
|
||||
$(error No custom at91bootstrap3 repository version specified. Check your BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION setting)
|
||||
endif
|
||||
endif
|
||||
|
||||
endif # BR_BUILDING
|
||||
|
||||
$(eval $(kconfig-package))
|
3
boot/at91dataflashboot/Config.in
Normal file
3
boot/at91dataflashboot/Config.in
Normal file
@ -0,0 +1,3 @@
|
||||
config BR2_TARGET_AT91DATAFLASHBOOT
|
||||
depends on BR2_arm926t
|
||||
bool "AT91 DataFlashBoot"
|
@ -0,0 +1,22 @@
|
||||
Disable the automatic installation of at91dataflashboot since it tries
|
||||
to install things to /tftpboot, which is not possible when not
|
||||
building as root.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: at91dataflashboot-1.05/Makefile
|
||||
===================================================================
|
||||
--- at91dataflashboot-1.05.orig/Makefile
|
||||
+++ at91dataflashboot-1.05/Makefile
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
I=config.h com.h dataflash.h embedded_services.h main.h stdio.h include/AT91RM9200.h include/lib_AT91RM9200.h
|
||||
|
||||
-all: clean $(BINNAME) $(LSSNAME) install
|
||||
+all: clean $(BINNAME) $(LSSNAME)
|
||||
$(SIZE) $(OUTNAME)
|
||||
|
||||
# C objects here
|
@ -0,0 +1,43 @@
|
||||
Get at91dataflashboot to build with EABI toolchains, by providing the
|
||||
__aeabi_uidiv and __aeabi_uidivmod symbols. The code is based on
|
||||
U-Boot's code.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
_udivsi3.S | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
Index: DataflashBoot-1.05/_udivsi3.S
|
||||
===================================================================
|
||||
--- DataflashBoot-1.05.orig/_udivsi3.S
|
||||
+++ DataflashBoot-1.05/_udivsi3.S
|
||||
@@ -12,8 +12,11 @@
|
||||
.text
|
||||
.globl __udivsi3
|
||||
.type __udivsi3 ,function
|
||||
+ .globl __aeabi_uidiv
|
||||
+ .type __aeabi_uidiv ,function
|
||||
.align 0
|
||||
__udivsi3 :
|
||||
+ __aeabi_uidiv:
|
||||
cmp divisor, #0
|
||||
beq Ldiv0
|
||||
mov curbit, #1
|
||||
@@ -68,6 +71,17 @@
|
||||
mov r0, #0 @ about as wrong as it could be
|
||||
ldmia sp!, {pc}
|
||||
.size __udivsi3 , . - __udivsi3
|
||||
+
|
||||
+.globl __aeabi_uidivmod
|
||||
+__aeabi_uidivmod:
|
||||
+
|
||||
+ stmfd sp!, {r0, r1, ip, lr}
|
||||
+ bl __aeabi_uidiv
|
||||
+ ldmfd sp!, {r1, r2, ip, lr}
|
||||
+ mul r3, r0, r2
|
||||
+ sub r1, r1, r3
|
||||
+ mov pc, lr
|
||||
+
|
||||
/* # 235 "libgcc1.S" */
|
||||
/* # 320 "libgcc1.S" */
|
||||
/* # 421 "libgcc1.S" */
|
2
boot/at91dataflashboot/at91dataflashboot.hash
Normal file
2
boot/at91dataflashboot/at91dataflashboot.hash
Normal file
@ -0,0 +1,2 @@
|
||||
# locally computed
|
||||
sha256 2cfeb6a9236e1a743c8010f05e504dbc92169ef42d9a6cf7948954a577bfc386 DataflashBoot-1.05.tar.bz2
|
22
boot/at91dataflashboot/at91dataflashboot.mk
Normal file
22
boot/at91dataflashboot/at91dataflashboot.mk
Normal file
@ -0,0 +1,22 @@
|
||||
################################################################################
|
||||
#
|
||||
# at91dataflashboot
|
||||
#
|
||||
################################################################################
|
||||
|
||||
AT91DATAFLASHBOOT_VERSION = 1.05
|
||||
AT91DATAFLASHBOOT_SOURCE = DataflashBoot-$(AT91DATAFLASHBOOT_VERSION).tar.bz2
|
||||
AT91DATAFLASHBOOT_SITE = ftp://www.at91.com/pub/buildroot
|
||||
|
||||
AT91DATAFLASHBOOT_INSTALL_TARGET = NO
|
||||
AT91DATAFLASHBOOT_INSTALL_IMAGES = YES
|
||||
|
||||
define AT91DATAFLASHBOOT_BUILD_CMDS
|
||||
make -C $(@D) CROSS_COMPILE=$(TARGET_CROSS)
|
||||
endef
|
||||
|
||||
define AT91DATAFLASHBOOT_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/DataflashBoot-$(AT91DATAFLASHBOOT_VERSION).bin $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
85
boot/barebox/Config.in
Normal file
85
boot/barebox/Config.in
Normal file
@ -0,0 +1,85 @@
|
||||
config BR2_TARGET_BAREBOX
|
||||
bool "Barebox"
|
||||
help
|
||||
The Barebox bootloader, formerly known as U-Boot v2.
|
||||
|
||||
http://www.barebox.org
|
||||
|
||||
if BR2_TARGET_BAREBOX
|
||||
choice
|
||||
prompt "version"
|
||||
help
|
||||
Select the specific Barebox version you want to use
|
||||
|
||||
config BR2_TARGET_BAREBOX_LATEST_VERSION
|
||||
bool "2017.09.0"
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_VERSION
|
||||
bool "Custom version"
|
||||
help
|
||||
This option allows to use a specific official versions
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_TARBALL
|
||||
bool "Custom tarball"
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_GIT
|
||||
bool "Custom Git repository"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE
|
||||
string "Barebox version"
|
||||
depends on BR2_TARGET_BAREBOX_CUSTOM_VERSION
|
||||
|
||||
if BR2_TARGET_BAREBOX_CUSTOM_TARBALL
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION
|
||||
string "URL of custom Barebox tarball"
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_BAREBOX_VERSION
|
||||
string
|
||||
default "2017.09.0" if BR2_TARGET_BAREBOX_LATEST_VERSION
|
||||
default BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE if BR2_TARGET_BAREBOX_CUSTOM_VERSION
|
||||
default "custom" if BR2_TARGET_BAREBOX_CUSTOM_TARBALL
|
||||
default BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION if BR2_TARGET_BAREBOX_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR
|
||||
string "custom patch dir"
|
||||
help
|
||||
If your board requires custom patches, add the path to the
|
||||
directory containing the patches here. The patches must be
|
||||
named barebox-<version>-<something>.patch.
|
||||
|
||||
Most users may leave this empty
|
||||
|
||||
if BR2_TARGET_BAREBOX_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL
|
||||
string "URL of custom Git repository"
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_GIT_VERSION
|
||||
string "Custom Git version"
|
||||
|
||||
endif
|
||||
|
||||
source boot/barebox/barebox/Config.in
|
||||
|
||||
menuconfig BR2_TARGET_BAREBOX_AUX
|
||||
bool "Build barebox with an auxiliary config"
|
||||
help
|
||||
Build barebox with an auxiliary configuration.
|
||||
|
||||
Useful for building an SPL (Secondary Program Loader) in
|
||||
addition to the traditional TPL (Tertiary Program Loader),
|
||||
such as the X-Loader or MLO for Texas Instruments
|
||||
processors.
|
||||
|
||||
if BR2_TARGET_BAREBOX_AUX
|
||||
|
||||
source boot/barebox/barebox-aux/Config.in
|
||||
|
||||
endif
|
||||
|
||||
endif
|
75
boot/barebox/barebox-aux/Config.in
Normal file
75
boot/barebox/barebox-aux/Config.in
Normal file
@ -0,0 +1,75 @@
|
||||
choice
|
||||
prompt "Barebox configuration"
|
||||
default BR2_TARGET_BAREBOX_AUX_USE_DEFCONFIG
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_USE_DEFCONFIG
|
||||
bool "Using a defconfig"
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_USE_CUSTOM_CONFIG
|
||||
bool "Using a custom config file"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_BOARD_DEFCONFIG
|
||||
string "board defconfig"
|
||||
depends on BR2_TARGET_BAREBOX_AUX_USE_DEFCONFIG
|
||||
help
|
||||
Name of the board for which Barebox should be built, without
|
||||
the _defconfig suffix.
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_CUSTOM_CONFIG_FILE
|
||||
string "Configuration file path"
|
||||
depends on BR2_TARGET_BAREBOX_AUX_USE_CUSTOM_CONFIG
|
||||
help
|
||||
Path to the barebox configuration file
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_CONFIG_FRAGMENT_FILES
|
||||
string "Additional configuration fragment files"
|
||||
help
|
||||
A space-separated list of configuration fragment files,
|
||||
that will be merged to the main Barebox configuration file.
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_IMAGE_FILE
|
||||
string "Image file names"
|
||||
help
|
||||
Space-separated list of barebox images which will be copied to
|
||||
the images directory.
|
||||
|
||||
If left empty, defaults to:
|
||||
- barebox.bin for barebox versions older than 2012.10.
|
||||
- barebox-flash-image for later versions.
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_CUSTOM_ENV
|
||||
bool "Generate an environment image"
|
||||
help
|
||||
Generate a custom environment image. This environment will
|
||||
contain the variables and scripts to be used at boot by
|
||||
barebox.
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_CUSTOM_ENV_PATH
|
||||
string "Environment path"
|
||||
depends on BR2_TARGET_BAREBOX_AUX_CUSTOM_ENV
|
||||
help
|
||||
Path to the directory containing the custom barebox
|
||||
environment. Depending on your setup, it will probably be
|
||||
based on either the content of the defaultenv or
|
||||
defaultenv-2 directories in the barebox source code, plus
|
||||
the additions needed. The output will be an image in the
|
||||
barebox devfs format, stored in the images directory, with
|
||||
the same name as the directory name given here.
|
||||
|
||||
config BR2_TARGET_BAREBOX_AUX_CUSTOM_EMBEDDED_ENV_PATH
|
||||
string "Embedded environment path"
|
||||
help
|
||||
If this option is not empty, it is the path to a custom
|
||||
embedded barebox environment. This image will be used when
|
||||
the environment found in the environment sector is
|
||||
invalid. This option sets the barebox Kconfig option
|
||||
CONFIG_DEFAULT_ENVIRONMENT_PATH to the specified path. This
|
||||
way it is possible to use Buildroot variables like
|
||||
TOPDIR etc. to refer to the custom environment.
|
||||
|
||||
Depending on your setup, the custom embedded environment
|
||||
will probably be based on either the content of the
|
||||
defaultenv or defaultenv-2 directories in the barebox source
|
||||
code.
|
1
boot/barebox/barebox-aux/barebox-aux.hash
Symbolic link
1
boot/barebox/barebox-aux/barebox-aux.hash
Symbolic link
@ -0,0 +1 @@
|
||||
../barebox.hash
|
8
boot/barebox/barebox-aux/barebox-aux.mk
Normal file
8
boot/barebox/barebox-aux/barebox-aux.mk
Normal file
@ -0,0 +1,8 @@
|
||||
################################################################################
|
||||
#
|
||||
# barebox-aux
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# Instantiate the auxiliary barebox package
|
||||
$(eval $(barebox-package))
|
5
boot/barebox/barebox.hash
Normal file
5
boot/barebox/barebox.hash
Normal file
@ -0,0 +1,5 @@
|
||||
# http://www.barebox.org/download/barebox-2017.09.0.tar.bz2.md5
|
||||
md5 b92e9c99cda7fbb61d01baf5679df261 barebox-2017.09.0.tar.bz2
|
||||
|
||||
# Locally calculated
|
||||
sha256 43283edc019f95a53fdb7d1b7c294afc4741bfcace348d6beeded5fe5147a81b barebox-2017.09.0.tar.bz2
|
157
boot/barebox/barebox.mk
Normal file
157
boot/barebox/barebox.mk
Normal file
@ -0,0 +1,157 @@
|
||||
################################################################################
|
||||
#
|
||||
# barebox
|
||||
#
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# inner-barebox-package -- generates the KConfig logic and make targets needed
|
||||
# to support a barebox package. All barebox packages are built from the same
|
||||
# source (origin, version and patches). The remainder of the package
|
||||
# configuration is unique to each barebox package.
|
||||
#
|
||||
# argument 1 is the uppercase package name (used for variable name-space)
|
||||
################################################################################
|
||||
|
||||
define inner-barebox-package
|
||||
|
||||
$(1)_VERSION = $$(call qstrip,$$(BR2_TARGET_BAREBOX_VERSION))
|
||||
|
||||
ifeq ($$($(1)_VERSION),custom)
|
||||
# Handle custom Barebox tarballs as specified by the configuration
|
||||
$(1)_TARBALL = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_TARBALL_LOCATION))
|
||||
$(1)_SITE = $$(patsubst %/,%,$$(dir $$($(1)_TARBALL)))
|
||||
$(1)_SOURCE = $$(notdir $$($(1)_TARBALL))
|
||||
else ifeq ($$(BR2_TARGET_BAREBOX_CUSTOM_GIT),y)
|
||||
$(1)_SITE = $$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_GIT_REPO_URL))
|
||||
$(1)_SITE_METHOD = git
|
||||
else
|
||||
# Handle stable official Barebox versions
|
||||
$(1)_SOURCE = barebox-$$($(1)_VERSION).tar.bz2
|
||||
$(1)_SITE = http://www.barebox.org/download
|
||||
endif
|
||||
|
||||
$(1)_DEPENDENCIES = host-lzop
|
||||
$(1)_LICENSE = GPL-2.0 with exceptions
|
||||
$(1)_LICENSE_FILES = COPYING
|
||||
|
||||
$(1)_CUSTOM_EMBEDDED_ENV_PATH = $$(call qstrip,$$(BR2_TARGET_$(1)_CUSTOM_EMBEDDED_ENV_PATH))
|
||||
|
||||
ifneq ($$(call qstrip,$$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR)),)
|
||||
define $(1)_APPLY_CUSTOM_PATCHES
|
||||
$$(APPLY_PATCHES) $$(@D) \
|
||||
$$(BR2_TARGET_BAREBOX_CUSTOM_PATCH_DIR) \*.patch
|
||||
endef
|
||||
|
||||
$(1)_POST_PATCH_HOOKS += $(1)_APPLY_CUSTOM_PATCHES
|
||||
endif
|
||||
|
||||
$(1)_INSTALL_IMAGES = YES
|
||||
ifneq ($$(BR2_TARGET_$(1)_BAREBOXENV),y)
|
||||
$(1)_INSTALL_TARGET = NO
|
||||
endif
|
||||
|
||||
ifeq ($$(KERNEL_ARCH),i386)
|
||||
$(1)_ARCH = x86
|
||||
else ifeq ($$(KERNEL_ARCH),x86_64)
|
||||
$(1)_ARCH = x86
|
||||
else ifeq ($$(KERNEL_ARCH),powerpc)
|
||||
$(1)_ARCH = ppc
|
||||
else ifeq ($$(KERNEL_ARCH),arm64)
|
||||
$(1)_ARCH = arm
|
||||
else
|
||||
$(1)_ARCH = $$(KERNEL_ARCH)
|
||||
endif
|
||||
|
||||
$(1)_MAKE_FLAGS = ARCH=$$($(1)_ARCH) CROSS_COMPILE="$$(TARGET_CROSS)"
|
||||
$(1)_MAKE_ENV = $$(TARGET_MAKE_ENV)
|
||||
|
||||
ifeq ($$(BR2_TARGET_$(1)_USE_DEFCONFIG),y)
|
||||
$(1)_KCONFIG_DEFCONFIG = $$(call qstrip,$$(BR2_TARGET_$(1)_BOARD_DEFCONFIG))_defconfig
|
||||
else ifeq ($$(BR2_TARGET_$(1)_USE_CUSTOM_CONFIG),y)
|
||||
$(1)_KCONFIG_FILE = $$(call qstrip,$$(BR2_TARGET_$(1)_CUSTOM_CONFIG_FILE))
|
||||
endif
|
||||
|
||||
$(1)_KCONFIG_FRAGMENT_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_CONFIG_FRAGMENT_FILES))
|
||||
$(1)_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
|
||||
$(1)_KCONFIG_OPTS = $$($(1)_MAKE_FLAGS)
|
||||
|
||||
ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y)
|
||||
define $(1)_BUILD_BAREBOXENV_CMDS
|
||||
$$(TARGET_CC) $$(TARGET_CFLAGS) $$(TARGET_LDFLAGS) -o $$(@D)/bareboxenv \
|
||||
$$(@D)/scripts/bareboxenv.c
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($$(BR2_TARGET_$(1)_CUSTOM_ENV),y)
|
||||
$(1)_ENV_NAME = $$(notdir $$(call qstrip,\
|
||||
$$(BR2_TARGET_$(1)_CUSTOM_ENV_PATH)))
|
||||
define $(1)_BUILD_CUSTOM_ENV
|
||||
$$(@D)/scripts/bareboxenv -s \
|
||||
$$(call qstrip, $$(BR2_TARGET_$(1)_CUSTOM_ENV_PATH)) \
|
||||
$$(@D)/$$($(1)_ENV_NAME)
|
||||
endef
|
||||
define $(1)_INSTALL_CUSTOM_ENV
|
||||
cp $$(@D)/$$($(1)_ENV_NAME) $$(BINARIES_DIR)
|
||||
endef
|
||||
endif
|
||||
|
||||
ifneq ($$($(1)_CUSTOM_EMBEDDED_ENV_PATH),)
|
||||
define $(1)_KCONFIG_FIXUP_CMDS
|
||||
$$(call KCONFIG_ENABLE_OPT,CONFIG_DEFAULT_ENVIRONMENT,$$(@D)/.config)
|
||||
$$(call KCONFIG_SET_OPT,CONFIG_DEFAULT_ENVIRONMENT_PATH,"$$($(1)_CUSTOM_EMBEDDED_ENV_PATH)",$$(@D)/.config)
|
||||
endef
|
||||
endif
|
||||
|
||||
define $(1)_BUILD_CMDS
|
||||
$$($(1)_BUILD_BAREBOXENV_CMDS)
|
||||
$$(TARGET_MAKE_ENV) $$(MAKE) $$($(1)_MAKE_FLAGS) -C $$(@D)
|
||||
$$($(1)_BUILD_CUSTOM_ENV)
|
||||
endef
|
||||
|
||||
$(1)_IMAGE_FILES = $$(call qstrip,$$(BR2_TARGET_$(1)_IMAGE_FILE))
|
||||
|
||||
define $(1)_INSTALL_IMAGES_CMDS
|
||||
if test -n "$$($(1)_IMAGE_FILES)"; then \
|
||||
cp -L $$(foreach image,$$($(1)_IMAGE_FILES),$$(@D)/$$(image)) $$(BINARIES_DIR) ; \
|
||||
elif test -h $$(@D)/barebox-flash-image ; then \
|
||||
cp -L $$(@D)/barebox-flash-image $$(BINARIES_DIR)/barebox.bin ; \
|
||||
else \
|
||||
cp $$(@D)/barebox.bin $$(BINARIES_DIR);\
|
||||
fi
|
||||
$$($(1)_INSTALL_CUSTOM_ENV)
|
||||
endef
|
||||
|
||||
ifeq ($$(BR2_TARGET_$(1)_BAREBOXENV),y)
|
||||
define $(1)_INSTALL_TARGET_CMDS
|
||||
cp $$(@D)/bareboxenv $$(TARGET_DIR)/usr/bin
|
||||
endef
|
||||
endif
|
||||
|
||||
# Checks to give errors that the user can understand
|
||||
# Must be before we call to kconfig-package
|
||||
ifeq ($$(BR2_TARGET_$(1))$$(BR_BUILDING),yy)
|
||||
# We must use the user-supplied kconfig value, because
|
||||
# $(1)_KCONFIG_DEFCONFIG will at least contain the
|
||||
# trailing _defconfig
|
||||
ifeq ($$(or $$($(1)_KCONFIG_FILE),$$(call qstrip,$$(BR2_TARGET_$(1)_BOARD_DEFCONFIG))),)
|
||||
$$(error No Barebox config. Check your BR2_TARGET_$(1)_BOARD_DEFCONFIG or BR2_TARGET_$(1)_CUSTOM_CONFIG_FILE settings)
|
||||
endif
|
||||
endif
|
||||
|
||||
$$(eval $$(kconfig-package))
|
||||
|
||||
endef
|
||||
|
||||
################################################################################
|
||||
# barebox-package -- the target generator macro for barebox packages
|
||||
################################################################################
|
||||
|
||||
barebox-package=$(call inner-barebox-package,$(call UPPERCASE,$(pkgname)))
|
||||
|
||||
include boot/barebox/barebox/barebox.mk
|
||||
include boot/barebox/barebox-aux/barebox-aux.mk
|
||||
|
||||
ifeq ($(BR2_TARGET_BAREBOX)$(BR2_TARGET_BAREBOX_LATEST_VERSION),y)
|
||||
BR_NO_CHECK_HASH_FOR += $(BAREBOX_SOURCE)
|
||||
endif
|
81
boot/barebox/barebox/Config.in
Normal file
81
boot/barebox/barebox/Config.in
Normal file
@ -0,0 +1,81 @@
|
||||
choice
|
||||
prompt "Barebox configuration"
|
||||
default BR2_TARGET_BAREBOX_USE_DEFCONFIG
|
||||
|
||||
config BR2_TARGET_BAREBOX_USE_DEFCONFIG
|
||||
bool "Using a defconfig"
|
||||
|
||||
config BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG
|
||||
bool "Using a custom config file"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_BAREBOX_BOARD_DEFCONFIG
|
||||
string "board defconfig"
|
||||
depends on BR2_TARGET_BAREBOX_USE_DEFCONFIG
|
||||
help
|
||||
Name of the board for which Barebox should be built, without
|
||||
the _defconfig suffix.
|
||||
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_CONFIG_FILE
|
||||
string "Configuration file path"
|
||||
depends on BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG
|
||||
help
|
||||
Path to the barebox configuration file
|
||||
|
||||
config BR2_TARGET_BAREBOX_CONFIG_FRAGMENT_FILES
|
||||
string "Additional configuration fragment files"
|
||||
help
|
||||
A space-separated list of configuration fragment files,
|
||||
that will be merged to the main Barebox configuration file.
|
||||
|
||||
config BR2_TARGET_BAREBOX_IMAGE_FILE
|
||||
string "Image file names"
|
||||
help
|
||||
Space-separated list of barebox images which will be copied to
|
||||
the images directory.
|
||||
|
||||
If left empty, defaults to:
|
||||
- barebox.bin for barebox versions older than 2012.10.
|
||||
- barebox-flash-image for later versions.
|
||||
|
||||
config BR2_TARGET_BAREBOX_BAREBOXENV
|
||||
bool "bareboxenv tool in target"
|
||||
help
|
||||
Install bareboxenv tool in target.
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_ENV
|
||||
bool "Generate an environment image"
|
||||
help
|
||||
Generate a custom environment image. This environment will
|
||||
contain the variables and scripts to be used at boot by
|
||||
barebox.
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_ENV_PATH
|
||||
string "Environment path"
|
||||
depends on BR2_TARGET_BAREBOX_CUSTOM_ENV
|
||||
help
|
||||
Path to the directory containing the custom barebox
|
||||
environment. Depending on your setup, it will probably be
|
||||
based on either the content of the defaultenv or
|
||||
defaultenv-2 directories in the barebox source code, plus
|
||||
the additions needed. The output will be an image in the
|
||||
barebox devfs format, stored in the images directory, with
|
||||
the same name as the directory name given here.
|
||||
|
||||
config BR2_TARGET_BAREBOX_CUSTOM_EMBEDDED_ENV_PATH
|
||||
string "Embedded environment path"
|
||||
help
|
||||
If this option is not empty, it is the path to a custom
|
||||
embedded barebox environment. This image will be used when
|
||||
the environment found in the environment sector is
|
||||
invalid. This option sets the barebox Kconfig option
|
||||
CONFIG_DEFAULT_ENVIRONMENT_PATH to the specified path. This
|
||||
way it is possible to use Buildroot variables like
|
||||
TOPDIR etc. to refer to the custom environment.
|
||||
|
||||
Depending on your setup, the custom embedded environment
|
||||
will probably be based on either the content of the
|
||||
defaultenv or defaultenv-2 directories in the barebox source
|
||||
code.
|
1
boot/barebox/barebox/barebox.hash
Symbolic link
1
boot/barebox/barebox/barebox.hash
Symbolic link
@ -0,0 +1 @@
|
||||
../barebox.hash
|
13
boot/barebox/barebox/barebox.mk
Normal file
13
boot/barebox/barebox/barebox.mk
Normal file
@ -0,0 +1,13 @@
|
||||
################################################################################
|
||||
#
|
||||
# barebox
|
||||
#
|
||||
################################################################################
|
||||
|
||||
define BAREBOX_HELP_CMDS
|
||||
@echo ' barebox-menuconfig - Run barebox menuconfig'
|
||||
@echo ' barebox-savedefconfig - Run barebox savedefconfig'
|
||||
endef
|
||||
|
||||
# Instantiate the barebox package
|
||||
$(eval $(barebox-package))
|
41
boot/boot-wrapper-aarch64/Config.in
Normal file
41
boot/boot-wrapper-aarch64/Config.in
Normal file
@ -0,0 +1,41 @@
|
||||
comment "boot-wrapper-aarch64 needs a Linux kernel to be built"
|
||||
depends on BR2_aarch64
|
||||
depends on !BR2_LINUX_KERNEL
|
||||
|
||||
config BR2_TARGET_BOOT_WRAPPER_AARCH64
|
||||
bool "boot-wrapper-aarch64"
|
||||
depends on BR2_aarch64
|
||||
depends on BR2_LINUX_KERNEL
|
||||
help
|
||||
The boot-wrapper-aarch64 is a small bootloader that makes it
|
||||
possible to start an Aarch64 kernel inside the available
|
||||
software simulators for the Aarch64 architecture.
|
||||
|
||||
git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git
|
||||
|
||||
if BR2_TARGET_BOOT_WRAPPER_AARCH64
|
||||
|
||||
config BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS
|
||||
string "Device Tree Source name"
|
||||
default ""
|
||||
help
|
||||
Name of the Device Tree Source file to use to generate the
|
||||
Device Tree Blob that will be embedded in the image
|
||||
generated by the boot wrapper. Valid names are the .dts
|
||||
files from arch/arm64/boot/dts/ in the kernel source
|
||||
tree. The name must be specified without the .dts suffix.
|
||||
|
||||
config BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS
|
||||
string "Kernel bootargs"
|
||||
default ""
|
||||
help
|
||||
Kernel bootargs to embed inside the image generated by the
|
||||
boot wrapper.
|
||||
|
||||
config BR2_TARGET_BOOT_WRAPPER_AARCH64_PSCI
|
||||
bool "Boot secondary SMP cores using PSCI"
|
||||
help
|
||||
Boot secondary SMP cores using PSCI firmware calls. If
|
||||
disabled, the spin-table method is used instead.
|
||||
|
||||
endif
|
53
boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk
Normal file
53
boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk
Normal file
@ -0,0 +1,53 @@
|
||||
################################################################################
|
||||
#
|
||||
# boot-wrapper-aarch64
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694
|
||||
BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git
|
||||
BOOT_WRAPPER_AARCH64_LICENSE = BSD3c
|
||||
BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt
|
||||
BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux
|
||||
BOOT_WRAPPER_AARCH64_INSTALL_IMAGES = YES
|
||||
|
||||
# The Git repository does not have the generated configure script and
|
||||
# Makefile.
|
||||
BOOT_WRAPPER_AARCH64_AUTORECONF = YES
|
||||
|
||||
BOOT_WRAPPER_AARCH64_DTB = /arch/arm64/boot/dts/$(basename $(call qstrip,$(BR2_TARGET_BOOT_WRAPPER_AARCH64_DTS))).dtb
|
||||
|
||||
# Fixup the path to the DTB in configure.ac. In the future, this
|
||||
# should hopefully be made more configurable by the
|
||||
# boot-wrapper-aarch64 developers.
|
||||
define BOOT_WRAPPER_AARCH64_FIX_DTB_NAME
|
||||
$(SED) 's%^KERN_DTB=.*%KERN_DTB=$(BOOT_WRAPPER_AARCH64_DTB)%' $(@D)/configure.ac
|
||||
endef
|
||||
|
||||
BOOT_WRAPPER_AARCH64_PRE_PATCH_HOOKS += BOOT_WRAPPER_AARCH64_FIX_DTB_NAME
|
||||
|
||||
BOOT_WRAPPER_AARCH64_CONF_OPTS = \
|
||||
--with-kernel-dir=$(LINUX_DIR) \
|
||||
--with-cmdline=$(BR2_TARGET_BOOT_WRAPPER_AARCH64_BOOTARGS)
|
||||
|
||||
ifeq ($(BR2_TARGET_BOOT_WRAPPER_AARCH64_PSCI),y)
|
||||
BOOT_WRAPPER_AARCH64_CONF_OPTS += --enable-psci
|
||||
else
|
||||
BOOT_WRAPPER_AARCH64_CONF_OPTS += --disable-psci
|
||||
endif
|
||||
|
||||
# We need to convince the configure script that the Linux kernel tree
|
||||
# exists, as well as the DTB and the kernel Image. Even though those
|
||||
# are available on the build machine, the configure script uses
|
||||
# AC_CHECK_FILE tests, which are always disabled in cross-compilation
|
||||
# situations.
|
||||
BOOT_WRAPPER_AARCH64_CONF_ENV = \
|
||||
$(call AUTOCONF_AC_CHECK_FILE_VAL,$(LINUX_DIR))=yes \
|
||||
$(call AUTOCONF_AC_CHECK_FILE_VAL,$(LINUX_DIR)$(BOOT_WRAPPER_AARCH64_DTB))=yes \
|
||||
$(call AUTOCONF_AC_CHECK_FILE_VAL,$(LINUX_DIR)/arch/arm64/boot/Image)=yes
|
||||
|
||||
define BOOT_WRAPPER_AARCH64_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/linux-system.axf $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
@ -1,200 +0,0 @@
|
||||
config BR2_TARGET_GRUB
|
||||
bool "grub"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
select BR2_HOSTARCH_NEEDS_IA32_COMPILER
|
||||
help
|
||||
The GRand Unified Bootloader for x86 systems.
|
||||
|
||||
Some notes on creating a disk image with Grub installed:
|
||||
1. Create an empty disk image
|
||||
dd if=/dev/zero of=disk.img bs=1M count=32
|
||||
2. Create one primary partition
|
||||
cfdisk -h 16 -s 63 disk.img
|
||||
3. Set up a loop device
|
||||
sudo losetup -f disk.img
|
||||
4. Set up loop devices per partitions
|
||||
sudo partx -a /dev/loop0
|
||||
5. Create the ext2 filesystem
|
||||
sudo mkfs.ext2 -L root /dev/loop0p1
|
||||
6. Mount the filesystem
|
||||
mount /dev/loop0p1 /mnt
|
||||
7. Extract the root filesystem
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
8. Unmount the filesystem, clean up loop device
|
||||
sudo umount /mnt
|
||||
sudo partx -d /dev/loop0
|
||||
sudo losetup -d /dev/loop0
|
||||
9. Install grub
|
||||
output/host/sbin/grub --device-map=/dev/null
|
||||
and in the grub shell, enter:
|
||||
device (hd0) disk.img
|
||||
geometry (hd0) <cylinders> 16 63
|
||||
root (hd0,0)
|
||||
setup (hd0)
|
||||
10. Image is ready
|
||||
Can be tested in Qemu, with:
|
||||
qemu-system-{i386,x86-64} -hda disk.img
|
||||
|
||||
if BR2_TARGET_GRUB
|
||||
|
||||
config BR2_TARGET_GRUB_SPLASH
|
||||
bool "Splashimage support"
|
||||
help
|
||||
Add support for splashimage.
|
||||
|
||||
A splashimage is a 14-color indexed .xpm picture which is
|
||||
displayed as background for the grub menu. See
|
||||
http://www.katspace.org/computers/Grub_Splash/ for details
|
||||
on how to generate a splashimage.
|
||||
|
||||
config BR2_TARGET_GRUB_DISKLESS
|
||||
bool "diskless support"
|
||||
help
|
||||
enable diskless support
|
||||
|
||||
menu "filesystem drivers"
|
||||
|
||||
config BR2_TARGET_GRUB_FS_EXT2
|
||||
bool "ext2"
|
||||
default y
|
||||
help
|
||||
Enable support for the ext2 filesystem in Grub
|
||||
|
||||
config BR2_TARGET_GRUB_FS_FAT
|
||||
bool "FAT"
|
||||
default y
|
||||
help
|
||||
Enable support for the FAT filesystem in Grub.
|
||||
|
||||
config BR2_TARGET_GRUB_FS_ISO9660
|
||||
bool "ISO9660"
|
||||
help
|
||||
Enable support for the ISO9660 filesystem in Grub.
|
||||
|
||||
config BR2_TARGET_GRUB_FS_JFS
|
||||
bool "IBM JFS"
|
||||
help
|
||||
Enable support for the JFS filesystem in Grub.
|
||||
|
||||
config BR2_TARGET_GRUB_FS_REISERFS
|
||||
bool "ReiserFS"
|
||||
help
|
||||
Enable support for the ReiserFS filesystem in Grub.
|
||||
|
||||
config BR2_TARGET_GRUB_FS_XFS
|
||||
bool "SGI XFS"
|
||||
help
|
||||
Enable support for the XFS filesystem in Grub.
|
||||
|
||||
endmenu
|
||||
|
||||
menu "network drivers"
|
||||
|
||||
config BR2_TARGET_GRUB_3c595
|
||||
bool "3Com595 driver"
|
||||
help
|
||||
enable 3Com595 driver
|
||||
|
||||
config BR2_TARGET_GRUB_3c90x
|
||||
bool "3Com90x driver"
|
||||
help
|
||||
enable 3Com90x driver
|
||||
|
||||
config BR2_TARGET_GRUB_davicom
|
||||
bool "Davicom driver"
|
||||
help
|
||||
enable Davicom driver
|
||||
|
||||
config BR2_TARGET_GRUB_e1000
|
||||
bool "Etherexpress Pro/1000 driver"
|
||||
help
|
||||
enable Etherexpress Pro/1000 driver
|
||||
|
||||
config BR2_TARGET_GRUB_eepro100
|
||||
bool "Etherexpress Pro/100 driver"
|
||||
help
|
||||
enable Etherexpress Pro/100 driver
|
||||
|
||||
config BR2_TARGET_GRUB_epic100
|
||||
bool "SMC 83c170 EPIC/100 driver"
|
||||
help
|
||||
enable SMC 83c170 EPIC/100 driver
|
||||
|
||||
config BR2_TARGET_GRUB_forcedeth
|
||||
bool "Nvidia Geforce driver"
|
||||
help
|
||||
enable Nvidia Geforce driver
|
||||
|
||||
config BR2_TARGET_GRUB_natsemi
|
||||
bool "NatSemi DP8381x driver"
|
||||
help
|
||||
enable NatSemi DP8381x driver
|
||||
|
||||
config BR2_TARGET_GRUB_ns83820
|
||||
bool "NS83820 driver"
|
||||
help
|
||||
enable NS83820 driver
|
||||
|
||||
config BR2_TARGET_GRUB_ns8390
|
||||
bool "NE2000 PCI driver"
|
||||
help
|
||||
enable NE2000 PCI driver
|
||||
|
||||
config BR2_TARGET_GRUB_pcnet32
|
||||
bool "AMD Lance/PCI PCNet/32 driver"
|
||||
help
|
||||
enable AMD Lance/PCI PCNet/32 driver
|
||||
|
||||
config BR2_TARGET_GRUB_pnic
|
||||
bool "Bochs Pseudo Nic driver"
|
||||
help
|
||||
enable Bochs Pseudo Nic driver
|
||||
|
||||
config BR2_TARGET_GRUB_rtl8139
|
||||
bool "Realtek 8139 driver"
|
||||
help
|
||||
enable Realtek 8139 driver
|
||||
|
||||
config BR2_TARGET_GRUB_r8169
|
||||
bool "Realtek 8169 driver"
|
||||
help
|
||||
enable Realtek 8169 driver
|
||||
|
||||
config BR2_TARGET_GRUB_sis900
|
||||
bool "SIS 900 and SIS 7016 driver"
|
||||
help
|
||||
enable SIS 900 and SIS 7016 driver
|
||||
|
||||
config BR2_TARGET_GRUB_tg3
|
||||
bool "Broadcom Tigon3 driver"
|
||||
help
|
||||
enable Broadcom Tigon3 driver
|
||||
|
||||
config BR2_TARGET_GRUB_tulip
|
||||
bool "Tulip driver"
|
||||
help
|
||||
enable Tulip driver
|
||||
|
||||
config BR2_TARGET_GRUB_tlan
|
||||
bool "TI ThunderLAN driver"
|
||||
help
|
||||
enable TI ThunderLAN driver
|
||||
|
||||
config BR2_TARGET_GRUB_undi
|
||||
bool "PXE UNDI driver"
|
||||
help
|
||||
enable PXE UNDI driver
|
||||
|
||||
config BR2_TARGET_GRUB_via_rhine
|
||||
bool "Rhine-I/II driver"
|
||||
help
|
||||
enable Rhine-I/II driver
|
||||
|
||||
config BR2_TARGET_GRUB_w89c840
|
||||
bool "Winbond W89c840 driver"
|
||||
help
|
||||
enable Winbond W89c840 driver
|
||||
|
||||
endmenu
|
||||
|
||||
endif # BR2_TARGET_GRUB
|
File diff suppressed because it is too large
Load Diff
@ -1,13 +0,0 @@
|
||||
Index: b/stage2/disk_io.c
|
||||
===================================================================
|
||||
--- a/stage2/disk_io.c
|
||||
+++ b/stage2/disk_io.c
|
||||
@@ -365,7 +365,7 @@
|
||||
int
|
||||
devwrite (unsigned int sector, int sector_count, char *buf)
|
||||
{
|
||||
-#if defined(GRUB_UTIL) && defined(__linux__)
|
||||
+#if defined(GRUB_UTIL) && defined(__linux__) && !defined(SUPPORT_LOOPDEV)
|
||||
if (current_partition != 0xFFFFFF
|
||||
&& is_disk_device (device_map, current_drive))
|
||||
{
|
@ -1,36 +0,0 @@
|
||||
Index: b/grub/asmstub.c
|
||||
===================================================================
|
||||
--- a/grub/asmstub.c
|
||||
+++ b/grub/asmstub.c
|
||||
@@ -18,10 +18,13 @@
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
+#include <features.h>
|
||||
+#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__)
|
||||
/* Try to use glibc's transparant LFS support. */
|
||||
#define _LARGEFILE_SOURCE 1
|
||||
/* lseek becomes synonymous with lseek64. */
|
||||
#define _FILE_OFFSET_BITS 64
|
||||
+#endif
|
||||
|
||||
/* Simulator entry point. */
|
||||
int grub_stage2 (void);
|
||||
Index: b/lib/device.c
|
||||
===================================================================
|
||||
--- a/lib/device.c
|
||||
+++ b/lib/device.c
|
||||
@@ -18,10 +18,13 @@
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
+#include <features.h>
|
||||
+#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_LFS__)
|
||||
/* Try to use glibc's transparant LFS support. */
|
||||
#define _LARGEFILE_SOURCE 1
|
||||
/* lseek becomes synonymous with lseek64. */
|
||||
#define _FILE_OFFSET_BITS 64
|
||||
+#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
File diff suppressed because it is too large
Load Diff
@ -1,3 +0,0 @@
|
||||
# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/g/grub/grub_0.97-68.dsc
|
||||
sha256 4e1d15d12dbd3e9208111d6b806ad5a9857ca8850c47877d36575b904559260b grub_0.97.orig.tar.gz
|
||||
sha256 a453489cf1fec5d311a0b76dea8c8b2ff67eee1a3eba6c06ab80864494d9773c grub_0.97-68.diff.gz
|
@ -1,109 +0,0 @@
|
||||
################################################################################
|
||||
#
|
||||
# grub
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GRUB_VERSION = 0.97
|
||||
GRUB_SOURCE = grub_$(GRUB_VERSION).orig.tar.gz
|
||||
GRUB_PATCH = grub_$(GRUB_VERSION)-68.diff.gz
|
||||
GRUB_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/g/grub
|
||||
|
||||
GRUB_LICENSE = GPLv2+
|
||||
GRUB_LICENSE_FILES = COPYING
|
||||
|
||||
# Passing -O0 since the default -O2 passed by Buildroot generates
|
||||
# non-working stage2. Passing --build-id=none to the linker, because
|
||||
# the ".note.gnu.build-id" ELF sections generated by default confuse
|
||||
# objcopy when generating raw binaries. Passing -fno-stack-protector
|
||||
# to avoid undefined references to __stack_chk_fail.
|
||||
GRUB_CFLAGS = \
|
||||
-DSUPPORT_LOOPDEV \
|
||||
-O0 -Wl,--build-id=none \
|
||||
-fno-stack-protector
|
||||
|
||||
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_SPLASH),--enable-graphics,--disable-graphics)
|
||||
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_DISKLESS) += --enable-diskless
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_3c595) += --enable-3c595
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_3c90x) += --enable-3c90x
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_davicom) += --enable-davicom
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_e1000) += --enable-e1000
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_eepro100) += --enable-eepro100
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_epic100) += --enable-epic100
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_forcedeth) += --enable-forcedeth
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_natsemi) += --enable-natsemi
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_ns83820) += --enable-ns83820
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_ns8390) += --enable-ns8390
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_pcnet32) += --enable-pcnet32
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_pnic) += --enable-pnic
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_rtl8139) += --enable-rtl8139
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_r8169) += --enable-r8169
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_sis900) += --enable-sis900
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_tg3) += --enable-tg3
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_tulip) += --enable-tulip
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_tlan) += --enable-tlan
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_undi) += --enable-undi
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_via_rhine) += --enable-via-rhine
|
||||
GRUB_CONFIG-$(BR2_TARGET_GRUB_w89c840) += --enable-w89c840
|
||||
|
||||
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_EXT2),--enable-ext2fs,--disable-ext2fs)
|
||||
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_FAT),--enable-fat,--disable-fat)
|
||||
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_ISO9660),--enable-iso9660,--disable-iso9660)
|
||||
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_JFS),--enable-jfs,--disable-jfs)
|
||||
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_REISERFS),--enable-reiserfs,--disable-reiserfs)
|
||||
GRUB_CONFIG-y += $(if $(BR2_TARGET_GRUB_FS_XFS),--enable-xfs,--disable-xfs)
|
||||
GRUB_CONFIG-y += --disable-ffs --disable-ufs2 --disable-minix --disable-vstafs
|
||||
|
||||
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_EXT2),e2fs)
|
||||
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_FAT),fat)
|
||||
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_ISO9660),iso9660)
|
||||
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_JFS),jfs)
|
||||
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_REISERFS),reiserfs)
|
||||
GRUB_STAGE_1_5_TO_INSTALL += $(if $(BR2_TARGET_GRUB_FS_XFS),xfs)
|
||||
|
||||
define GRUB_DEBIAN_PATCHES
|
||||
# Apply the patches from the Debian patch
|
||||
(cd $(@D) ; for f in `cat debian/patches/series | grep -v ^#` ; do \
|
||||
cat debian/patches/$$f | patch -g0 -p1 ; \
|
||||
done)
|
||||
endef
|
||||
|
||||
GRUB_POST_PATCH_HOOKS += GRUB_DEBIAN_PATCHES
|
||||
|
||||
GRUB_CONF_ENV = \
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
CFLAGS="$(HOST_CFLAGS) $(GRUB_CFLAGS) -m32"
|
||||
|
||||
GRUB_CONF_OPTS = \
|
||||
--disable-auto-linux-mem-opt \
|
||||
$(GRUB_CONFIG-y)
|
||||
|
||||
ifeq ($(BR2_TARGET_GRUB_SPLASH),y)
|
||||
define GRUB_INSTALL_SPLASH
|
||||
$(INSTALL) -D -m 0644 boot/grub/splash.xpm.gz $(TARGET_DIR)/boot/grub/splash.xpm.gz
|
||||
endef
|
||||
else
|
||||
define GRUB_INSTALL_SPLASH
|
||||
$(SED) '/^splashimage/d' $(TARGET_DIR)/boot/grub/menu.lst
|
||||
endef
|
||||
endif
|
||||
|
||||
# We're cheating here as we're installing the grub binary not in the
|
||||
# target directory (where it is useless), but in the host
|
||||
# directory. This grub binary can be used to install grub into the MBR
|
||||
# of a disk or disk image.
|
||||
|
||||
define GRUB_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D -m 0755 $(@D)/grub/grub $(HOST_DIR)/sbin/grub
|
||||
$(INSTALL) -D -m 0755 $(@D)/stage1/stage1 $(TARGET_DIR)/boot/grub/stage1
|
||||
for f in $(GRUB_STAGE_1_5_TO_INSTALL) ; do \
|
||||
$(INSTALL) -D -m 0755 $(@D)/stage2/$${f}_stage1_5 \
|
||||
$(TARGET_DIR)/boot/grub/$${f}_stage1_5 ; \
|
||||
done
|
||||
$(INSTALL) -D -m 0644 $(@D)/stage2/stage2 $(TARGET_DIR)/boot/grub/stage2
|
||||
$(INSTALL) -D -m 0644 boot/grub/menu.lst $(TARGET_DIR)/boot/grub/menu.lst
|
||||
$(GRUB_INSTALL_SPLASH)
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
@ -1,16 +0,0 @@
|
||||
default 0
|
||||
timeout 10
|
||||
|
||||
# Used when no splashimage is used
|
||||
color cyan/blue white/blue
|
||||
|
||||
# Gets enabled/disabled depending on Grub support for splashimage
|
||||
splashimage (hd0,0)/boot/grub/splash.xpm.gz
|
||||
|
||||
# Used when a splashimage is enabled
|
||||
foreground 000000
|
||||
background cccccc
|
||||
|
||||
title Buildroot
|
||||
root (hd0,0)
|
||||
kernel /boot/bzImage rw root=/dev/sda1 rootwait
|
Binary file not shown.
@ -1,21 +0,0 @@
|
||||
ISO C11 removes the specification of gets() from the C language, eglibc 2.16+ removed it
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
Index: grub-1.99/grub-core/gnulib/stdio.in.h
|
||||
===================================================================
|
||||
--- grub-1.99.orig/grub-core/gnulib/stdio.in.h 2010-12-01 06:45:43.000000000 -0800
|
||||
+++ grub-1.99/grub-core/gnulib/stdio.in.h 2012-07-04 12:25:02.057099107 -0700
|
||||
@@ -140,8 +140,10 @@
|
||||
/* It is very rare that the developer ever has full control of stdin,
|
||||
so any use of gets warrants an unconditional warning. Assume it is
|
||||
always declared, since it is required by C89. */
|
||||
+#if defined gets
|
||||
#undef gets
|
||||
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
||||
+#endif
|
||||
|
||||
#if @GNULIB_FOPEN@
|
||||
# if @REPLACE_FOPEN@
|
@ -1,39 +0,0 @@
|
||||
From f30c692c1f9ef0e93bee2b408a24baa017f1ca9d Mon Sep 17 00:00:00 2001
|
||||
From: Vladimir Serbinenko <phcoder@gmail.com>
|
||||
Date: Thu, 7 Nov 2013 01:01:47 +0100
|
||||
Subject: [PATCH] * grub-core/gettext/gettext.c (main_context),
|
||||
(secondary_context): Define after defining type and not before.
|
||||
|
||||
[Thomas: backport from upstream commit
|
||||
f30c692c1f9ef0e93bee2b408a24baa017f1ca9d, and remove ChangeLog
|
||||
modifications to avoid conflicts.]
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
grub-core/gettext/gettext.c | 4 ++--
|
||||
2 files changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/grub-core/gettext/gettext.c b/grub-core/gettext/gettext.c
|
||||
index df73570..4880cef 100644
|
||||
--- a/grub-core/gettext/gettext.c
|
||||
+++ b/grub-core/gettext/gettext.c
|
||||
@@ -34,8 +34,6 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
||||
http://www.gnu.org/software/autoconf/manual/gettext/MO-Files.html .
|
||||
*/
|
||||
|
||||
-static struct grub_gettext_context main_context, secondary_context;
|
||||
-
|
||||
static const char *(*grub_gettext_original) (const char *s);
|
||||
|
||||
struct grub_gettext_msg
|
||||
@@ -69,6 +67,8 @@ struct grub_gettext_context
|
||||
struct grub_gettext_msg *grub_gettext_msg_list;
|
||||
};
|
||||
|
||||
+static struct grub_gettext_context main_context, secondary_context;
|
||||
+
|
||||
#define MO_MAGIC_NUMBER 0x950412de
|
||||
|
||||
static grub_err_t
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,6 +1,12 @@
|
||||
config BR2_TARGET_GRUB2_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_i386
|
||||
default y if BR2_x86_64
|
||||
|
||||
config BR2_TARGET_GRUB2
|
||||
bool "grub2"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS
|
||||
depends on BR2_USE_WCHAR
|
||||
help
|
||||
GNU GRUB is a Multiboot boot loader. It was derived from
|
||||
GRUB, the GRand Unified Bootloader, which was originally
|
||||
@ -11,104 +17,8 @@ config BR2_TARGET_GRUB2
|
||||
Amongst others, GRUB2 offers EFI support, which GRUB Legacy
|
||||
doesn't provide.
|
||||
|
||||
Notes on using Grub2 for BIOS-based platforms
|
||||
=============================================
|
||||
|
||||
1. Create a disk image
|
||||
dd if=/dev/zero of=disk.img bs=1M count=32
|
||||
2. Partition it (either legacy or GPT style partitions work)
|
||||
cfdisk disk.img
|
||||
- Create one partition, type Linux, for the root
|
||||
filesystem. The only constraint is to make sure there
|
||||
is enough free space *before* the first partition to
|
||||
store Grub2. Leaving 1 MB of free space is safe.
|
||||
3. Setup loop device and loop partitions
|
||||
sudo losetup -f disk.img
|
||||
sudo partx -a /dev/loop0
|
||||
4. Prepare the root partition
|
||||
sudo mkfs.ext3 -L root /dev/loop0p1
|
||||
sudo mount /dev/loop0p1 /mnt
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
sudo umount /mnt
|
||||
5. Install Grub2
|
||||
sudo ./output/host/usr/sbin/grub-bios-setup \
|
||||
-b ./output/host/usr/lib/grub/i386-pc/boot.img \
|
||||
-c ./output/images/grub.img -d . /dev/loop0
|
||||
6. Cleanup loop device
|
||||
sudo partx -d /dev/loop0
|
||||
sudo losetup -d /dev/loop0
|
||||
7. Your disk.img is ready!
|
||||
|
||||
Using genimage
|
||||
--------------
|
||||
|
||||
If you use genimage to generate your complete image,
|
||||
installing Grub can be tricky. Here is how to achieve Grub's
|
||||
installation with genimage:
|
||||
|
||||
partition boot {
|
||||
in-partition-table = "no"
|
||||
image = "path_to_boot.img"
|
||||
offset = 0
|
||||
size = 512
|
||||
}
|
||||
partition grub {
|
||||
in-partition-table = "no"
|
||||
image = "path_to_grub.img"
|
||||
offset = 512
|
||||
}
|
||||
|
||||
The result is not byte to byte identical to what
|
||||
grub-bios-setup does but it works anyway.
|
||||
|
||||
To test your BIOS image in Qemu
|
||||
-------------------------------
|
||||
|
||||
qemu-system-{i386,x86-64} -hda disk.img
|
||||
|
||||
Notes on using Grub2 for EFI-based platforms
|
||||
============================================
|
||||
|
||||
1. Create a disk image
|
||||
dd if=/dev/zero of=disk.img bs=1M count=32
|
||||
2. Partition it with GPT partitions
|
||||
cgdisk disk.img
|
||||
- Create a first partition, type EF00, for the
|
||||
bootloader and kernel image
|
||||
- Create a second partition, type 8300, for the root
|
||||
filesystem.
|
||||
3. Setup loop device and loop partitions
|
||||
sudo losetup -f disk.img
|
||||
sudo partx -a /dev/loop0
|
||||
4. Prepare the boot partition
|
||||
sudo mkfs.vfat -n boot /dev/loop0p1
|
||||
sudo mount /dev/loop0p1 /mnt
|
||||
sudo cp -a output/images/efi-part/* /mnt/
|
||||
sudo cp output/images/bzImage /mnt/
|
||||
sudo umount /mnt
|
||||
5. Prepare the root partition
|
||||
sudo mkfs.ext3 -L root /dev/loop0p2
|
||||
sudo mount /dev/loop0p2 /mnt
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
sudo umount /mnt
|
||||
6 Cleanup loop device
|
||||
sudo partx -d /dev/loop0
|
||||
sudo losetup -d /dev/loop0
|
||||
7. Your disk.img is ready!
|
||||
|
||||
To test your EFI image in Qemu
|
||||
------------------------------
|
||||
|
||||
1. Download the EFI BIOS for Qemu
|
||||
Version IA32 or X64 depending on the chosen Grub2
|
||||
platform (i386-efi vs. x86-64-efi)
|
||||
http://sourceforge.net/projects/edk2/files/OVMF/
|
||||
2. Extract, and rename OVMF.fd to bios.bin and
|
||||
CirrusLogic5446.rom to vgabios-cirrus.bin.
|
||||
3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img
|
||||
4. Make sure to pass pci=nocrs to the kernel command line,
|
||||
to workaround a bug in the EFI BIOS regarding the
|
||||
EFI framebuffer.
|
||||
For additional notes on using Grub 2 with Buildroot, see
|
||||
boot/grub2/readme.txt
|
||||
|
||||
http://www.gnu.org/software/grub/
|
||||
|
||||
@ -167,3 +77,7 @@ config BR2_TARGET_GRUB2_BUILTIN_CONFIG
|
||||
entries cannot be described in this embedded configuration.
|
||||
|
||||
endif # BR2_TARGET_GRUB2
|
||||
|
||||
comment "grub2 needs a toolchain w/ wchar"
|
||||
depends on BR2_TARGET_GRUB2_ARCH_SUPPORTS
|
||||
depends on !BR2_USE_WCHAR
|
||||
|
@ -1,2 +1,2 @@
|
||||
# Locally calculated after checking pgp signature
|
||||
sha256 784ec38e7edc32239ad75b8e66df04dc8bfb26d88681bc9f627133a6eb85c458 grub-2.00.tar.xz
|
||||
# Locally computed:
|
||||
sha256 810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f grub-2.02.tar.xz
|
||||
|
@ -4,10 +4,10 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GRUB2_VERSION = 2.00
|
||||
GRUB2_SITE = $(BR2_GNU_MIRROR)/grub
|
||||
GRUB2_VERSION = 2.02
|
||||
GRUB2_SITE = http://ftp.gnu.org/gnu/grub
|
||||
GRUB2_SOURCE = grub-$(GRUB2_VERSION).tar.xz
|
||||
GRUB2_LICENSE = GPLv3+
|
||||
GRUB2_LICENSE = GPL-3.0+
|
||||
GRUB2_LICENSE_FILES = COPYING
|
||||
GRUB2_DEPENDENCIES = host-bison host-flex
|
||||
|
||||
@ -46,14 +46,14 @@ endif
|
||||
# bootloader itself; none of these are used to build the native
|
||||
# tools.
|
||||
#
|
||||
# NOTE: TARGET_STRIP is overridden by BR2_STRIP_none, so always
|
||||
# NOTE: TARGET_STRIP is overridden by !BR2_STRIP_strip, so always
|
||||
# use the cross compile variant to ensure grub2 builds
|
||||
|
||||
GRUB2_CONF_ENV = \
|
||||
$(HOST_CONFIGURE_OPTS) \
|
||||
CPP="$(HOSTCC) -E" \
|
||||
TARGET_CC="$(TARGET_CC)" \
|
||||
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
|
||||
TARGET_CFLAGS="$(TARGET_CFLAGS) -fno-stack-protector" \
|
||||
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
|
||||
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
|
||||
NM="$(TARGET_NM)" \
|
||||
@ -63,6 +63,8 @@ GRUB2_CONF_ENV = \
|
||||
GRUB2_CONF_OPTS = \
|
||||
--target=$(GRUB2_TARGET) \
|
||||
--with-platform=$(GRUB2_PLATFORM) \
|
||||
--prefix=/ \
|
||||
--exec-prefix=/ \
|
||||
--disable-grub-mkfont \
|
||||
--enable-efiemu=no \
|
||||
ac_cv_lib_lzma_lzma_code=no \
|
||||
@ -79,15 +81,15 @@ GRUB2_INSTALL_TARGET_OPTS = DESTDIR=$(HOST_DIR) install
|
||||
|
||||
ifeq ($(BR2_TARGET_GRUB2_I386_PC),y)
|
||||
define GRUB2_IMAGE_INSTALL_ELTORITO
|
||||
cat $(HOST_DIR)/usr/lib/grub/$(GRUB2_TUPLE)/cdboot.img $(GRUB2_IMAGE) > \
|
||||
cat $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE)/cdboot.img $(GRUB2_IMAGE) > \
|
||||
$(BINARIES_DIR)/grub-eltorito.img
|
||||
endef
|
||||
endif
|
||||
|
||||
define GRUB2_IMAGE_INSTALLATION
|
||||
mkdir -p $(dir $(GRUB2_IMAGE))
|
||||
$(HOST_DIR)/usr/bin/grub-mkimage \
|
||||
-d $(HOST_DIR)/usr/lib/grub/$(GRUB2_TUPLE) \
|
||||
$(HOST_DIR)/bin/grub-mkimage \
|
||||
-d $(HOST_DIR)/lib/grub/$(GRUB2_TUPLE) \
|
||||
-O $(GRUB2_TUPLE) \
|
||||
-o $(GRUB2_IMAGE) \
|
||||
-p "$(GRUB2_PREFIX)" \
|
||||
|
98
boot/grub2/readme.txt
Normal file
98
boot/grub2/readme.txt
Normal file
@ -0,0 +1,98 @@
|
||||
Notes on using Grub2 for BIOS-based platforms
|
||||
=============================================
|
||||
|
||||
1. Create a disk image
|
||||
dd if=/dev/zero of=disk.img bs=1M count=32
|
||||
2. Partition it (either legacy or GPT style partitions work)
|
||||
cfdisk disk.img
|
||||
- Create one partition, type Linux, for the root
|
||||
filesystem. The only constraint is to make sure there
|
||||
is enough free space *before* the first partition to
|
||||
store Grub2. Leaving 1 MB of free space is safe.
|
||||
3. Setup loop device and loop partitions
|
||||
sudo losetup -f disk.img
|
||||
sudo partx -a /dev/loop0
|
||||
4. Prepare the root partition
|
||||
sudo mkfs.ext3 -L root /dev/loop0p1
|
||||
sudo mount /dev/loop0p1 /mnt
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
sudo umount /mnt
|
||||
5. Install Grub2
|
||||
sudo ./output/host/sbin/grub-bios-setup \
|
||||
-b ./output/host/lib/grub/i386-pc/boot.img \
|
||||
-c ./output/images/grub.img -d . /dev/loop0
|
||||
6. Cleanup loop device
|
||||
sudo partx -d /dev/loop0
|
||||
sudo losetup -d /dev/loop0
|
||||
7. Your disk.img is ready!
|
||||
|
||||
Using genimage
|
||||
--------------
|
||||
|
||||
If you use genimage to generate your complete image,
|
||||
installing Grub can be tricky. Here is how to achieve Grub's
|
||||
installation with genimage:
|
||||
|
||||
partition boot {
|
||||
in-partition-table = "no"
|
||||
image = "path_to_boot.img"
|
||||
offset = 0
|
||||
size = 512
|
||||
}
|
||||
partition grub {
|
||||
in-partition-table = "no"
|
||||
image = "path_to_grub.img"
|
||||
offset = 512
|
||||
}
|
||||
|
||||
The result is not byte to byte identical to what
|
||||
grub-bios-setup does but it works anyway.
|
||||
|
||||
To test your BIOS image in Qemu
|
||||
-------------------------------
|
||||
|
||||
qemu-system-{i386,x86-64} -hda disk.img
|
||||
|
||||
Notes on using Grub2 for EFI-based platforms
|
||||
============================================
|
||||
|
||||
1. Create a disk image
|
||||
dd if=/dev/zero of=disk.img bs=1M count=32
|
||||
2. Partition it with GPT partitions
|
||||
cgdisk disk.img
|
||||
- Create a first partition, type EF00, for the
|
||||
bootloader and kernel image
|
||||
- Create a second partition, type 8300, for the root
|
||||
filesystem.
|
||||
3. Setup loop device and loop partitions
|
||||
sudo losetup -f disk.img
|
||||
sudo partx -a /dev/loop0
|
||||
4. Prepare the boot partition
|
||||
sudo mkfs.vfat -n boot /dev/loop0p1
|
||||
sudo mount /dev/loop0p1 /mnt
|
||||
sudo cp -a output/images/efi-part/* /mnt/
|
||||
sudo cp output/images/bzImage /mnt/
|
||||
sudo umount /mnt
|
||||
5. Prepare the root partition
|
||||
sudo mkfs.ext3 -L root /dev/loop0p2
|
||||
sudo mount /dev/loop0p2 /mnt
|
||||
sudo tar -C /mnt -xf output/images/rootfs.tar
|
||||
sudo umount /mnt
|
||||
6 Cleanup loop device
|
||||
sudo partx -d /dev/loop0
|
||||
sudo losetup -d /dev/loop0
|
||||
7. Your disk.img is ready!
|
||||
|
||||
To test your EFI image in Qemu
|
||||
------------------------------
|
||||
|
||||
1. Download the EFI BIOS for Qemu
|
||||
Version IA32 or X64 depending on the chosen Grub2
|
||||
platform (i386-efi vs. x86-64-efi)
|
||||
http://sourceforge.net/projects/edk2/files/OVMF/
|
||||
2. Extract, and rename OVMF.fd to bios.bin and
|
||||
CirrusLogic5446.rom to vgabios-cirrus.bin.
|
||||
3. qemu-system-{i386,x86-64} -L ovmf-dir/ -hda disk.img
|
||||
4. Make sure to pass pci=nocrs to the kernel command line,
|
||||
to workaround a bug in the EFI BIOS regarding the
|
||||
EFI framebuffer.
|
23
boot/gummiboot/Config.in
Normal file
23
boot/gummiboot/Config.in
Normal file
@ -0,0 +1,23 @@
|
||||
config BR2_TARGET_GUMMIBOOT
|
||||
bool "gummiboot"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
select BR2_PACKAGE_GNU_EFI
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBBLKID
|
||||
help
|
||||
gummiboot is a simple UEFI boot manager which executes
|
||||
configured EFI images. The default entry is selected by a
|
||||
configured pattern (glob) or an on-screen menu.
|
||||
|
||||
gummiboot operates on the EFI System Partition (ESP)
|
||||
only. Configuration file fragments, kernels, initrds, other
|
||||
EFI images need to reside on the ESP. Linux kernels need to
|
||||
be built with CONFIG_EFI_STUB to be able to be directly
|
||||
executed as an EFI image.
|
||||
|
||||
See the Grub2 help text for details on preparing an EFI
|
||||
capable disk image using Gummiboot: the instructions are
|
||||
exactly the same, except that the Gummiboot configuration
|
||||
files will be located in /loader/ inside the EFI partition.
|
||||
|
||||
http://freedesktop.org/wiki/Software/gummiboot/
|
4
boot/gummiboot/buildroot.conf
Normal file
4
boot/gummiboot/buildroot.conf
Normal file
@ -0,0 +1,4 @@
|
||||
title Buildroot
|
||||
version 1
|
||||
linux /bzImage
|
||||
options console=ttyS0 root=/dev/sda2
|
43
boot/gummiboot/gummiboot.mk
Normal file
43
boot/gummiboot/gummiboot.mk
Normal file
@ -0,0 +1,43 @@
|
||||
################################################################################
|
||||
#
|
||||
# gummiboot
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GUMMIBOOT_SITE = http://cgit.freedesktop.org/gummiboot
|
||||
GUMMIBOOT_SITE_METHOD = git
|
||||
GUMMIBOOT_VERSION = 43
|
||||
GUMMIBOOT_LICENSE = LGPL-2.1+
|
||||
GUMMIBOOT_LICENSE_FILES = LICENSE
|
||||
|
||||
# The git archive does not have the autoconf/automake stuff generated.
|
||||
GUMMIBOOT_AUTORECONF = YES
|
||||
GUMMIBOOT_DEPENDENCIES = gnu-efi host-pkgconf util-linux
|
||||
GUMMIBOOT_INSTALL_TARGET = NO
|
||||
GUMMIBOOT_INSTALL_IMAGES = YES
|
||||
|
||||
ifeq ($(BR2_i386),y)
|
||||
GUMMIBOOT_IMGARCH = ia32
|
||||
else ifeq ($(BR2_x86_64),y)
|
||||
GUMMIBOOT_IMGARCH = x64
|
||||
endif
|
||||
|
||||
GUMMIBOOT_CONF_OPTS = \
|
||||
--host=$(BR2_ARCH) \
|
||||
--with-efi-libdir=$(STAGING_DIR)/usr/lib \
|
||||
--with-efi-ldsdir=$(STAGING_DIR)/usr/lib \
|
||||
--with-efi-includedir=$(STAGING_DIR)/usr/include \
|
||||
--disable-manpages
|
||||
|
||||
define GUMMIBOOT_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -D -m 0644 $(@D)/gummiboot$(GUMMIBOOT_IMGARCH).efi \
|
||||
$(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(GUMMIBOOT_IMGARCH).efi
|
||||
echo "boot$(GUMMIBOOT_IMGARCH).efi" > \
|
||||
$(BINARIES_DIR)/efi-part/startup.nsh
|
||||
$(INSTALL) -D -m 0644 boot/gummiboot/loader.conf \
|
||||
$(BINARIES_DIR)/efi-part/loader/loader.conf
|
||||
$(INSTALL) -D -m 0644 boot/gummiboot/buildroot.conf \
|
||||
$(BINARIES_DIR)/efi-part/loader/entries/buildroot.conf
|
||||
endef
|
||||
|
||||
$(eval $(autotools-package))
|
2
boot/gummiboot/loader.conf
Normal file
2
boot/gummiboot/loader.conf
Normal file
@ -0,0 +1,2 @@
|
||||
timeout 3
|
||||
default buildroot
|
10
boot/lpc32xxcdl/Config.in
Normal file
10
boot/lpc32xxcdl/Config.in
Normal file
@ -0,0 +1,10 @@
|
||||
config BR2_TARGET_LPC32XXCDL
|
||||
depends on BR2_arm926t
|
||||
bool "LPC32XX CDL (kickstart and S1L)"
|
||||
|
||||
if BR2_TARGET_LPC32XXCDL
|
||||
|
||||
config BR2_TARGET_LPC32XXCDL_BOARDNAME
|
||||
string "LPC32xx board name"
|
||||
|
||||
endif #BR2_TARGET_LPC32XXCDL
|
52
boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch
Normal file
52
boot/lpc32xxcdl/lpc32xxcdl-2.11-compiler_name.patch
Normal file
@ -0,0 +1,52 @@
|
||||
Use CROSS_COMPILE as compiler name and stop using libc
|
||||
|
||||
Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
|
||||
---
|
||||
makerule/lpc32xx/make.lpc32xx.gnu | 22 +++++++++++-----------
|
||||
1 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu
|
||||
index 1014c28..3277d99 100644
|
||||
--- a/makerule/lpc32xx/make.lpc32xx.gnu
|
||||
+++ b/makerule/lpc32xx/make.lpc32xx.gnu
|
||||
@@ -27,19 +27,19 @@ CFLAGS += -mno-sched-prolog -fno-hosted -mno-thumb-interwork -ffunction-sectio
|
||||
CFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
|
||||
AFLAGS = -mcpu=arm926ej-s
|
||||
AFLAGS += -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
|
||||
-CC = arm-none-eabi-gcc
|
||||
-AS = arm-none-eabi-as
|
||||
-AR = arm-none-eabi-ar -r
|
||||
-LD = arm-none-eabi-gcc
|
||||
-NM = arm-none-eabi-nm
|
||||
-OBJDUMP = arm-none-eabi-objdump
|
||||
-OBJCOPY = arm-none-eabi-objcopy
|
||||
-READELF = arm-none-eabi-readelf
|
||||
+CC = $(CROSS_COMPILE)gcc
|
||||
+AS = $(CROSS_COMPILE)as
|
||||
+AR = $(CROSS_COMPILE)ar -r
|
||||
+LD = $(CROSS_COMPILE)gcc
|
||||
+NM = $(CROSS_COMPILE)nm
|
||||
+OBJDUMP = $(CROSS_COMPILE)objdump
|
||||
+OBJCOPY = $(CROSS_COMPILE)objcopy
|
||||
+READELF = $(CROSS_COMPILE)readelf
|
||||
LDFLAGS += -Wl,--gc-sections
|
||||
|
||||
LK = -static
|
||||
LK += -Wl,--start-group $(TARGET_CSP_LIB) $(TARGET_BSP_LIB) $(TARGET_GEN_LIB)
|
||||
-LK += -lgcc -lc -lg -lm -lstdc++ -lsupc++
|
||||
+LK += -nostdlib -lgcc #-lc -lg -lm -lstdc++ -lsupc++
|
||||
LK += -Wl,--end-group
|
||||
MAP = -Xlinker -Map -Xlinker
|
||||
LDESC = -Xlinker -T
|
||||
@@ -47,6 +47,6 @@ ENTRY = -e
|
||||
BIN = -bin
|
||||
EXT = .elf
|
||||
LEXT =
|
||||
-ELFTOREC =arm-none-eabi-objcopy -O srec --strip-all --verbose
|
||||
-ELFTOBIN =arm-none-eabi-objcopy -I elf32-littlearm -O binary --strip-all --verbose
|
||||
+ELFTOREC = $(OBJCOPY) -O srec --strip-all --verbose
|
||||
+ELFTOBIN = $(OBJCOPY) -I elf32-littlearm -O binary --strip-all --verbose
|
||||
REC =.srec
|
||||
--
|
||||
1.7.7.3
|
||||
|
969
boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch
Normal file
969
boot/lpc32xxcdl/lpc32xxcdl-2.11-delete_redundant_files.patch
Normal file
@ -0,0 +1,969 @@
|
||||
Remove duplicated files to stop the linker from complaining about duplicate
|
||||
symbols
|
||||
|
||||
Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
|
||||
---
|
||||
--- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sysapi_timer.c 2011-10-05 19:10:37.000000000 +0200
|
||||
+++ /dev/null 2012-01-01 16:39:47.918907000 +0100
|
||||
@@ -1,212 +0,0 @@
|
||||
-/***********************************************************************
|
||||
- * $Id:: sysapi_timer.c 3394 2010-05-06 17:56:27Z usb10132 $
|
||||
- *
|
||||
- * Project: Time support functions
|
||||
- *
|
||||
- * Description:
|
||||
- * Implements the following functions required for the S1L API
|
||||
- * time_init
|
||||
- * time_reset
|
||||
- * time_start
|
||||
- * time_stop
|
||||
- * time_get
|
||||
- * time_get_rate
|
||||
- *
|
||||
- ***********************************************************************
|
||||
- * Software that is described herein is for illustrative purposes only
|
||||
- * which provides customers with programming information regarding the
|
||||
- * products. This software is supplied "AS IS" without any warranties.
|
||||
- * NXP Semiconductors assumes no responsibility or liability for the
|
||||
- * use of the software, conveys no license or title under any patent,
|
||||
- * copyright, or mask work right to the product. NXP Semiconductors
|
||||
- * reserves the right to make changes in the software without
|
||||
- * notification. NXP Semiconductors also make no representation or
|
||||
- * warranty that such application will be suitable for the specified
|
||||
- * use without further testing or modification.
|
||||
- **********************************************************************/
|
||||
-
|
||||
-#include "s1l_sys_inf.h"
|
||||
-#include "lpc32xx_intc_driver.h"
|
||||
-#include "lpc32xx_timer_driver.h"
|
||||
-
|
||||
-static UNS_64 base_rate;
|
||||
-static INT_32 tdev = 0;
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: time_init
|
||||
- *
|
||||
- * Purpose: Initializes time system
|
||||
- *
|
||||
- * Processing: Initializes the system timer.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: 0 if the init failed, otherwise non-zero
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-INT_32 time_init(void)
|
||||
-{
|
||||
- TMR_PSCALE_SETUP_T pscale;
|
||||
-
|
||||
- /* Open timer driver */
|
||||
- if (tdev == 0)
|
||||
- {
|
||||
- tdev = timer_open((void *) TIMER_CNTR0, 0);
|
||||
- if (tdev != 0)
|
||||
- {
|
||||
- /* Use a prescale count to 100000 */
|
||||
- pscale.ps_tick_val = 100000;
|
||||
- pscale.ps_us_val = 0; /* Not needed when ps_tick_val != 0 */
|
||||
- timer_ioctl(tdev, TMR_SETUP_PSCALE, (INT_32) &pscale);
|
||||
-
|
||||
- /* Get timer clock rate */
|
||||
- base_rate = (UNS_64) timer_ioctl(tdev, TMR_GET_STATUS,
|
||||
- TMR_GET_CLOCK);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- return tdev;
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: time_reset
|
||||
- *
|
||||
- * Purpose: Resets system timer
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: Nothing
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-void time_reset(void)
|
||||
-{
|
||||
- if (tdev != 0)
|
||||
- {
|
||||
- timer_ioctl(tdev, TMR_RESET, 1);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: time_start
|
||||
- *
|
||||
- * Purpose: Starts system timer
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: Nothing
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-void time_start(void)
|
||||
-{
|
||||
- if (tdev != 0)
|
||||
- {
|
||||
- timer_ioctl(tdev, TMR_ENABLE, 1);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: time_stop
|
||||
- *
|
||||
- * Purpose: Stops system timer
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: Nothing
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-void time_stop(void)
|
||||
-{
|
||||
- if (tdev != 0)
|
||||
- {
|
||||
- timer_ioctl(tdev, TMR_ENABLE, 0);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: time_get
|
||||
- *
|
||||
- * Purpose: Returns current system time value
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: The number of ticks of the timer counter
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-UNS_64 time_get(void)
|
||||
-{
|
||||
- TMR_COUNTS_T tcounts;
|
||||
- UNS_64 ticks = 0;
|
||||
-
|
||||
- if (tdev != 0)
|
||||
- {
|
||||
- timer_ioctl(tdev, TMR_GET_COUNTS, (INT_32) &tcounts);
|
||||
-
|
||||
- /* Compute number of timer ticks */
|
||||
- ticks = (UNS_64) tcounts.count_val * 100000;
|
||||
- ticks = ticks + (UNS_64) tcounts.ps_count_val;
|
||||
- }
|
||||
-
|
||||
- return ticks;
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: time_get_rate
|
||||
- *
|
||||
- * Purpose:
|
||||
- * Returns base tick rate (ticks per second) of the time counter
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: The timer tick rate (in ticks per second)
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-UNS_64 time_get_rate(void)
|
||||
-{
|
||||
- return base_rate;
|
||||
-}
|
||||
-
|
||||
--- a/csps/lpc32xx/bsps/fdi3250/startup/examples/s1l/sys_mmu_cmd_group.c 2011-10-05 19:10:37.000000000 +0200
|
||||
+++ /dev/null 2012-01-01 16:39:47.918907000 +0100
|
||||
@@ -1,746 +0,0 @@
|
||||
-/***********************************************************************
|
||||
- * $Id:: sys_mmu_cmd_group.c 3430 2010-05-07 17:39:08Z usb10132 $
|
||||
- *
|
||||
- * Project: Command processor for peek, poke, dump, and fill
|
||||
- *
|
||||
- * Description:
|
||||
- * Processes commands from the command prompt
|
||||
- *
|
||||
- ***********************************************************************
|
||||
- * Software that is described herein is for illustrative purposes only
|
||||
- * which provides customers with programming information regarding the
|
||||
- * products. This software is supplied "AS IS" without any warranties.
|
||||
- * NXP Semiconductors assumes no responsibility or liability for the
|
||||
- * use of the software, conveys no license or title under any patent,
|
||||
- * copyright, or mask work right to the product. NXP Semiconductors
|
||||
- * reserves the right to make changes in the software without
|
||||
- * notification. NXP Semiconductors also make no representation or
|
||||
- * warranty that such application will be suitable for the specified
|
||||
- * use without further testing or modification.
|
||||
- **********************************************************************/
|
||||
-
|
||||
-#include "lpc_arm922t_cp15_driver.h"
|
||||
-#include "lpc_string.h"
|
||||
-#include "startup.h"
|
||||
-#include "s1l_cmds.h"
|
||||
-#include "s1l_sys_inf.h"
|
||||
-
|
||||
-/* dcache command */
|
||||
-BOOL_32 cmd_dcache(void);
|
||||
-static UNS_32 cmd_dcache_plist[] =
|
||||
-{
|
||||
- (PARSE_TYPE_STR), /* The "dcache" command */
|
||||
- (PARSE_TYPE_DEC | PARSE_TYPE_END)
|
||||
-};
|
||||
-static CMD_ROUTE_T core_dcache_cmd =
|
||||
-{
|
||||
- (UNS_8 *) "dcache",
|
||||
- cmd_dcache,
|
||||
- (UNS_8 *) "Enables, disables, or flushes data cache",
|
||||
- (UNS_8 *) "dcache [0(disable), 1(enable), 2(flush)]",
|
||||
- cmd_dcache_plist,
|
||||
- NULL
|
||||
-};
|
||||
-
|
||||
-/* icache command */
|
||||
-BOOL_32 cmd_icache(void);
|
||||
-static UNS_32 cmd_icache_plist[] =
|
||||
-{
|
||||
- (PARSE_TYPE_STR), /* The "icache" command */
|
||||
- (PARSE_TYPE_DEC | PARSE_TYPE_END)
|
||||
-};
|
||||
-static CMD_ROUTE_T core_icache_cmd =
|
||||
-{
|
||||
- (UNS_8 *) "icache",
|
||||
- cmd_icache,
|
||||
- (UNS_8 *) "Enables or disables instruction cache",
|
||||
- (UNS_8 *) "icache [0(disable), 1(enable)]",
|
||||
- cmd_icache_plist,
|
||||
- NULL
|
||||
-};
|
||||
-
|
||||
-/* inval command */
|
||||
-BOOL_32 cmd_inval(void);
|
||||
-static UNS_32 cmd_inval_plist[] =
|
||||
-{
|
||||
- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "inval" command */
|
||||
-};
|
||||
-static CMD_ROUTE_T core_inval_cmd =
|
||||
-{
|
||||
- (UNS_8 *) "inval",
|
||||
- cmd_inval,
|
||||
- (UNS_8 *) "Flushes data cache and invalidates instruction cache",
|
||||
- (UNS_8 *) "inval",
|
||||
- cmd_inval_plist,
|
||||
- NULL
|
||||
-};
|
||||
-
|
||||
-/* mmuenab command */
|
||||
-BOOL_32 cmd_mmuenab(void);
|
||||
-static UNS_32 cmd_mmuenab_plist[] =
|
||||
-{
|
||||
- (PARSE_TYPE_STR), /* The "mmuenab" command */
|
||||
- (PARSE_TYPE_DEC | PARSE_TYPE_END)
|
||||
-};
|
||||
-static CMD_ROUTE_T core_mmuenab_cmd =
|
||||
-{
|
||||
- (UNS_8 *) "mmuenab",
|
||||
- cmd_mmuenab,
|
||||
- (UNS_8 *) "Enables or disables the MMU",
|
||||
- (UNS_8 *) "mmuenab [0(disable), 1(enable)]",
|
||||
- cmd_mmuenab_plist,
|
||||
- NULL
|
||||
-};
|
||||
-
|
||||
-/* map command */
|
||||
-BOOL_32 cmd_map(void);
|
||||
-static UNS_32 cmd_map_plist[] =
|
||||
-{
|
||||
- (PARSE_TYPE_STR), /* The "map" command */
|
||||
- (PARSE_TYPE_HEX),
|
||||
- (PARSE_TYPE_HEX),
|
||||
- (PARSE_TYPE_DEC),
|
||||
- (PARSE_TYPE_DEC | PARSE_TYPE_END),
|
||||
-};
|
||||
-static CMD_ROUTE_T core_map_cmd =
|
||||
-{
|
||||
- (UNS_8 *) "map",
|
||||
- cmd_map,
|
||||
- (UNS_8 *) "Maps a range of physical address sections to virtual addresses",
|
||||
- (UNS_8 *) "map [virt hex addr][phy hex addr][sections][0(uncached), 1(cached), 2(unmap)]",
|
||||
- cmd_map_plist,
|
||||
- NULL
|
||||
-};
|
||||
-
|
||||
-/* mmuinfo command */
|
||||
-static BOOL_32 cmd_mmuinfo(void);
|
||||
-static UNS_32 cmd_mmuinfo_plist[] =
|
||||
-{
|
||||
- (PARSE_TYPE_STR | PARSE_TYPE_END) /* The "mmuinfo" command */
|
||||
-};
|
||||
-static CMD_ROUTE_T core_mmuinfo_cmd =
|
||||
-{
|
||||
- (UNS_8 *) "mmuinfo",
|
||||
- cmd_mmuinfo,
|
||||
- (UNS_8 *) "Dumps page table and MMU info",
|
||||
- (UNS_8 *) "mmuinfo",
|
||||
- cmd_mmuinfo_plist,
|
||||
- NULL
|
||||
-};
|
||||
-
|
||||
-/* MMU group */
|
||||
-static GROUP_LIST_T mmu_group =
|
||||
-{
|
||||
- (UNS_8 *) "mmu", /* mmu group */
|
||||
- (UNS_8 *) "MMU command group",
|
||||
- NULL,
|
||||
- NULL
|
||||
-};
|
||||
-
|
||||
-static UNS_8 enabled_msg [] =" enabled";
|
||||
-static UNS_8 disabled_msg [] =" disabled";
|
||||
-static UNS_8 dcache_msg[] = "Data cache";
|
||||
-static UNS_8 icache_msg[] = "Instruction cache";
|
||||
-static UNS_8 pagetab_msg[] = "Page table at address: ";
|
||||
-static UNS_8 slist_msg[] = "Type Virt Phy fl Size";
|
||||
-static UNS_8 mmu_msg [] ="MMU";
|
||||
-static UNS_8 cpage_msg[] = "Coarse page:";
|
||||
-static UNS_8 fpage_msg[] = "Fine page :";
|
||||
-static UNS_8 sect_msg[] = "Section :";
|
||||
-static UNS_8 mbytes_msg[] = "M";
|
||||
-static UNS_8 map1_err_msg[] =
|
||||
- "Error : section addresses must be aligned on a 32-bit boundary";
|
||||
-static UNS_8 map2_err_msg[] =
|
||||
- "Error : Number of sections exceeds address range of device";
|
||||
-static UNS_8 phya_msg[] = "Virtual address ";
|
||||
-static UNS_8 mapped_msg[] = " mapped to physical address ";
|
||||
-static UNS_8 unmapped_msg[] = " unmapped from physical address ";
|
||||
-static UNS_8 cached_msg[] = " (cached)";
|
||||
-static UNS_8 inval_msg[] = " invalidated";
|
||||
-static UNS_8 caches_msg [] ="Caches";
|
||||
-static UNS_8 flushed_msg[] = " flushed";
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: show_section
|
||||
- *
|
||||
- * Purpose: Display section information
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters:
|
||||
- * mmu_reg : MMU settings for this section
|
||||
- * virt_addr : Starting virtual address for this section
|
||||
- * segs : Number of 1M segments for this section
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: Nothing
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-static void show_section(UNS_32 mmu_reg,
|
||||
- UNS_32 virt_addr,
|
||||
- UNS_32 segs)
|
||||
-{
|
||||
- UNS_8 straddr [16];
|
||||
- UNS_32 mmu_phy;
|
||||
-
|
||||
- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) !=
|
||||
- ARM922T_L1D_TYPE_FAULT)
|
||||
- {
|
||||
- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) ==
|
||||
- ARM922T_L1D_TYPE_CPAGE)
|
||||
- {
|
||||
- term_dat_out(cpage_msg);
|
||||
- }
|
||||
- else if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) ==
|
||||
- ARM922T_L1D_TYPE_FPAGE)
|
||||
- {
|
||||
- term_dat_out(fpage_msg);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- term_dat_out(sect_msg);
|
||||
- }
|
||||
-
|
||||
- /* Compute virtual address */
|
||||
- str_makehex(straddr, virt_addr, 8);
|
||||
- term_dat_out(straddr);
|
||||
- term_dat_out((UNS_8 *) " ");
|
||||
-
|
||||
- /* Compute mapped physical address */
|
||||
- if ((mmu_reg & ARM922T_L1D_TYPE_PG_SN_MASK) ==
|
||||
- ARM922T_L1D_TYPE_SECTION)
|
||||
- {
|
||||
- mmu_phy = mmu_reg & 0xFFF00000;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- /* Don't compute addresses for non-sections */
|
||||
- mmu_phy = 0;
|
||||
- }
|
||||
- str_makehex(straddr, mmu_phy, 8);
|
||||
- term_dat_out(straddr);
|
||||
- term_dat_out((UNS_8 *) " ");
|
||||
-
|
||||
- /* MMU flags */
|
||||
- if ((mmu_reg & ARM922T_L1D_BUFFERABLE) != 0)
|
||||
- {
|
||||
- term_dat_out((UNS_8 *) "b");
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- term_dat_out((UNS_8 *) " ");
|
||||
- }
|
||||
- if ((mmu_reg & ARM922T_L1D_CACHEABLE) != 0)
|
||||
- {
|
||||
- term_dat_out((UNS_8 *) "c");
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- term_dat_out((UNS_8 *) " ");
|
||||
- }
|
||||
- term_dat_out((UNS_8 *) " ");
|
||||
-
|
||||
- /* Displays used megabytes */
|
||||
- str_makedec(straddr, segs);
|
||||
- term_dat_out(straddr);
|
||||
- term_dat_out_crlf(mbytes_msg);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: mmu_dumpinfo
|
||||
- *
|
||||
- * Purpose: Display MMU info
|
||||
- *
|
||||
- * Processing:
|
||||
- * Display the MMU information, including enable status, cache
|
||||
- * status, and page table.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: TRUE if the command was processed, otherwise FALSE
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-static BOOL_32 mmu_dumpinfo(void)
|
||||
-{
|
||||
- UNS_32 segsz, last_mmu_reg, mmu_vrt, mmu_reg, mmu_vrtsav = 0, *pt;
|
||||
- UNS_32 mlast_mmu_reg, mmmu_reg;
|
||||
- int idx;
|
||||
- UNS_8 hexaddr [16];
|
||||
-
|
||||
- term_dat_out(mmu_msg);
|
||||
- if (cp15_mmu_enabled() == FALSE)
|
||||
- {
|
||||
- term_dat_out_crlf(disabled_msg);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- term_dat_out_crlf(enabled_msg);
|
||||
-
|
||||
- /* Get MMU control register word */
|
||||
- mmu_reg = cp15_get_mmu_control_reg();
|
||||
-
|
||||
- /* Instruction cache status */
|
||||
- term_dat_out(icache_msg);
|
||||
- if ((mmu_reg & ARM922T_MMU_CONTROL_I) == 0)
|
||||
- {
|
||||
- term_dat_out_crlf(disabled_msg);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- term_dat_out_crlf(enabled_msg);
|
||||
- }
|
||||
-
|
||||
- /* Data cache status */
|
||||
- term_dat_out(dcache_msg);
|
||||
- if ((mmu_reg & ARM922T_MMU_CONTROL_C) == 0)
|
||||
- {
|
||||
- term_dat_out_crlf(disabled_msg);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- term_dat_out_crlf(enabled_msg);
|
||||
- }
|
||||
-
|
||||
- term_dat_out(pagetab_msg);
|
||||
- mmu_reg = (UNS_32) cp15_get_ttb();
|
||||
- str_makehex(hexaddr, mmu_reg, 8);
|
||||
- term_dat_out_crlf(hexaddr);
|
||||
- term_dat_out_crlf(slist_msg);
|
||||
-
|
||||
- /* Process MMU table - assume that the physical and
|
||||
- virtual locations of table are the same */
|
||||
- pt = (UNS_32 *) mmu_reg;
|
||||
- mmu_vrt = 0x0;
|
||||
- segsz = 0xFFFFFFFF;
|
||||
- last_mmu_reg = mlast_mmu_reg = 0xFFFFFFFF;
|
||||
- for (idx = 0; idx < 4096; idx++)
|
||||
- {
|
||||
- mmu_reg = *pt;
|
||||
- mmmu_reg = (mmu_reg & (ARM922T_L1D_TYPE_PG_SN_MASK |
|
||||
- ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE));
|
||||
- segsz = segsz + 1;
|
||||
-
|
||||
- if ((last_mmu_reg != 0xFFFFFFFF) &&
|
||||
- (mlast_mmu_reg != mmmu_reg))
|
||||
- {
|
||||
- show_section(last_mmu_reg, mmu_vrtsav, segsz);
|
||||
- segsz = 0;
|
||||
- }
|
||||
-
|
||||
- if (mlast_mmu_reg != mmmu_reg)
|
||||
- {
|
||||
- mmu_vrtsav = mmu_vrt;
|
||||
- last_mmu_reg = mmu_reg;
|
||||
- mlast_mmu_reg = mmmu_reg;
|
||||
- }
|
||||
-
|
||||
- pt++;
|
||||
- mmu_vrt += 0x00100000;
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: mmu_dumpmap
|
||||
- *
|
||||
- * Purpose: Map a virtual address range to a physical range
|
||||
- *
|
||||
- * Processing:
|
||||
- * From the input addresses and number of sections, generate the
|
||||
- * appropriate entries in the page table.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: TRUE if the command was processed, otherwise FALSE
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-static BOOL_32 mmu_dumpmap(UNS_32 vrt,
|
||||
- UNS_32 phy,
|
||||
- UNS_32 sections,
|
||||
- UNS_32 cache)
|
||||
-{
|
||||
- BOOL_32 processed = FALSE;
|
||||
- UNS_32 mmu_phy, mmu_vrt, tmp1 = 0, tmp2, *pt;
|
||||
- UNS_8 hexaddr [16];
|
||||
-
|
||||
- /* Verify address boundaries are sectional */
|
||||
- mmu_vrt = vrt & ~ARM922T_L2D_SN_BASE_MASK;
|
||||
- mmu_phy = phy & ~ARM922T_L2D_SN_BASE_MASK;
|
||||
- if ((mmu_vrt != 0) || (mmu_phy != 0))
|
||||
- {
|
||||
- term_dat_out_crlf(map1_err_msg);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- /* Verify that address range and section count will not
|
||||
- exceed address range of device */
|
||||
- tmp1 = vrt >> 20;
|
||||
- tmp1 = (tmp1 + sections) - 1;
|
||||
- tmp2 = phy >> 20;
|
||||
- tmp2 = (tmp2 + sections) - 1;
|
||||
- if ((tmp1 < 4096) && (tmp2 < 4096))
|
||||
- {
|
||||
- /* Good address range and good section count */
|
||||
- processed = TRUE;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- term_dat_out_crlf(map2_err_msg);
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- /* Generate static part of MMU word */
|
||||
- if (cache == 0)
|
||||
- {
|
||||
- /* Section mapped with cache disabled */
|
||||
- tmp1 = ARM922T_L1D_TYPE_SECTION;
|
||||
- }
|
||||
- else if (cache == 1)
|
||||
- {
|
||||
- /* Section mapped with cache enabled */
|
||||
- tmp1 = (ARM922T_L1D_BUFFERABLE | ARM922T_L1D_CACHEABLE |
|
||||
- ARM922T_L1D_TYPE_SECTION);
|
||||
- }
|
||||
- else if (cache == 2)
|
||||
- {
|
||||
- /* Section unmapped */
|
||||
- tmp1 = ARM922T_L1D_TYPE_FAULT;
|
||||
- }
|
||||
- tmp1 |= ARM922T_L1D_AP_ALL;
|
||||
-
|
||||
- /* Offset into page table for virtual address */
|
||||
- tmp2 = (vrt >> 20);
|
||||
- pt = cp15_get_ttb() + tmp2;
|
||||
-
|
||||
- /* Loop until all sections are complete */
|
||||
- while ((sections > 0) && (processed == TRUE))
|
||||
- {
|
||||
- /* Add in physical address */
|
||||
- tmp2 = tmp1 | (phy & ARM922T_L2D_SN_BASE_MASK);
|
||||
-
|
||||
- /* Save new section descriptor for virtual address */
|
||||
- *pt = tmp2;
|
||||
-
|
||||
- /* Output message shown the map */
|
||||
- term_dat_out(phya_msg);
|
||||
- str_makehex(hexaddr, phy, 8);
|
||||
- term_dat_out(hexaddr);
|
||||
- if (cache == 2)
|
||||
- {
|
||||
- term_dat_out(unmapped_msg);
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- term_dat_out(mapped_msg);
|
||||
- }
|
||||
- str_makehex(hexaddr, vrt, 8);
|
||||
- term_dat_out(hexaddr);
|
||||
- if (cache == 1)
|
||||
- {
|
||||
- term_dat_out(cached_msg);
|
||||
- }
|
||||
- term_dat_out_crlf((UNS_8 *) "");
|
||||
-
|
||||
- /* Next section and page table entry*/
|
||||
- phy += 0x00100000;
|
||||
- vrt += 0x00100000;
|
||||
- pt++;
|
||||
- sections--;
|
||||
- }
|
||||
-
|
||||
- return processed;
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: cmd_mmuinfo
|
||||
- *
|
||||
- * Purpose: Display MMU information
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: TRUE if the command was processed, otherwise FALSE
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-static BOOL_32 cmd_mmuinfo(void)
|
||||
-{
|
||||
- mmu_dumpinfo();
|
||||
-
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: cmd_map
|
||||
- *
|
||||
- * Purpose: Map a physical address region to a virtual region
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: TRUE if the command was processed, otherwise FALSE
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-BOOL_32 cmd_map(void)
|
||||
-{
|
||||
- UNS_32 phy, virt, sects, ce = 0;
|
||||
-
|
||||
- /* Get arguments */
|
||||
- virt = cmd_get_field_val(1);
|
||||
- phy = cmd_get_field_val(2);
|
||||
- sects = cmd_get_field_val(3);
|
||||
- ce = cmd_get_field_val(4);
|
||||
-
|
||||
- if (ce <= 2)
|
||||
- {
|
||||
- mmu_dumpmap(virt, phy, sects, ce);
|
||||
- }
|
||||
-
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: cmd_inval
|
||||
- *
|
||||
- * Purpose: MMU cache flush and invalidate
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: TRUE if the command was processed, otherwise FALSE
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-BOOL_32 cmd_inval(void)
|
||||
-{
|
||||
- dcache_flush();
|
||||
- icache_inval();
|
||||
- term_dat_out(caches_msg);
|
||||
- term_dat_out(inval_msg);
|
||||
-
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: cmd_dcache
|
||||
- *
|
||||
- * Purpose: MMU data cache enable and disable
|
||||
- *
|
||||
- * Processing:
|
||||
- * If the value passed in the parser is 1, enable the data cache,
|
||||
- * otherwise disable the data cache.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: TRUE if the command was processed, otherwise FALSE
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-BOOL_32 cmd_dcache(void)
|
||||
-{
|
||||
- UNS_32 cenable;
|
||||
- UNS_8 *ppar;
|
||||
-
|
||||
- /* Get argument */
|
||||
- cenable = cmd_get_field_val(1);
|
||||
-
|
||||
- switch (cenable)
|
||||
- {
|
||||
- case 0:
|
||||
- dcache_flush();
|
||||
- cp15_set_dcache(0);
|
||||
- ppar = disabled_msg;
|
||||
- break;
|
||||
-
|
||||
- case 1:
|
||||
- cp15_invalidate_cache();
|
||||
- cp15_set_dcache(1);
|
||||
- ppar = enabled_msg;
|
||||
- break;
|
||||
-
|
||||
- case 2:
|
||||
- default:
|
||||
- dcache_flush();
|
||||
- ppar = flushed_msg;
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
- term_dat_out(dcache_msg);
|
||||
- term_dat_out_crlf(ppar);
|
||||
-
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: cmd_icache
|
||||
- *
|
||||
- * Purpose: MMU instruction cache enable and disable
|
||||
- *
|
||||
- * Processing:
|
||||
- * If the value passed in the parser is 1, enable the instruction
|
||||
- * cache, otherwise disable the instruction cache.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: TRUE if the command was processed, otherwise FALSE
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-BOOL_32 cmd_icache(void)
|
||||
-{
|
||||
- UNS_32 cenable;
|
||||
- UNS_8 *ppar;
|
||||
-
|
||||
- /* Get argument */
|
||||
- cenable = cmd_get_field_val(1);
|
||||
-
|
||||
- if (cenable == 1)
|
||||
- {
|
||||
- dcache_flush();
|
||||
- cp15_invalidate_cache();
|
||||
- cp15_set_icache(1);
|
||||
- ppar = enabled_msg;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- cp15_set_icache(0);
|
||||
- ppar = disabled_msg;
|
||||
- }
|
||||
-
|
||||
- term_dat_out(icache_msg);
|
||||
- term_dat_out_crlf(ppar);
|
||||
-
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: cmd_mmuenab
|
||||
- *
|
||||
- * Purpose: Enable or disable MMU
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: TRUE if the command was processed, otherwise FALSE
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-BOOL_32 cmd_mmuenab(void)
|
||||
-{
|
||||
- UNS_8 *ppar;
|
||||
- UNS_32 cenable;
|
||||
-
|
||||
- term_dat_out_crlf((UNS_8 *) "Warning: Changing MMU status on "
|
||||
- " cached and buffered code can cause system crashes.");
|
||||
-
|
||||
- /* Get argument */
|
||||
- cenable = cmd_get_field_val(1);
|
||||
-
|
||||
- if (cenable == 1)
|
||||
- {
|
||||
- if ((cp15_get_mmu_control_reg() & ARM922T_MMU_CONTROL_C) != 0)
|
||||
- {
|
||||
- cp15_invalidate_cache();
|
||||
- }
|
||||
-
|
||||
- cp15_set_mmu(1);
|
||||
- ppar = enabled_msg;
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- cp15_dcache_flush();
|
||||
- cp15_write_buffer_flush();
|
||||
- cp15_invalidate_cache();
|
||||
- cp15_set_mmu(0);
|
||||
- ppar = disabled_msg;
|
||||
- }
|
||||
-
|
||||
- term_dat_out(mmu_msg);
|
||||
- term_dat_out_crlf(ppar);
|
||||
-
|
||||
- return TRUE;
|
||||
-}
|
||||
-
|
||||
-/***********************************************************************
|
||||
- *
|
||||
- * Function: mmu_cmd_group_init
|
||||
- *
|
||||
- * Purpose: Initialize MMU command group
|
||||
- *
|
||||
- * Processing:
|
||||
- * See function.
|
||||
- *
|
||||
- * Parameters: None
|
||||
- *
|
||||
- * Outputs: None
|
||||
- *
|
||||
- * Returns: Nothin
|
||||
- *
|
||||
- * Notes: None
|
||||
- *
|
||||
- **********************************************************************/
|
||||
-void mmu_cmd_group_init(void)
|
||||
-{
|
||||
- /* Add MMU group */
|
||||
- cmd_add_group(&mmu_group);
|
||||
-
|
||||
- /* Add commands to the MMU group */
|
||||
- cmd_add_new_command(&mmu_group, &core_dcache_cmd);
|
||||
- cmd_add_new_command(&mmu_group, &core_icache_cmd);
|
||||
- cmd_add_new_command(&mmu_group, &core_inval_cmd);
|
||||
- cmd_add_new_command(&mmu_group, &core_mmuenab_cmd);
|
||||
- cmd_add_new_command(&mmu_group, &core_map_cmd);
|
||||
- cmd_add_new_command(&mmu_group, &core_mmuinfo_cmd);
|
||||
-}
|
188
boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch
Normal file
188
boot/lpc32xxcdl/lpc32xxcdl-2.11-libnosys_gnu.patch
Normal file
@ -0,0 +1,188 @@
|
||||
Fix compilation and eabi issues
|
||||
|
||||
Since we are not linking with libc anymore, we need to define our own memset,
|
||||
strlen and memcpy. Also, as we are using a *libc compiler, we need to "handle"
|
||||
exceptions (mostly division by 0) by defining raise() and
|
||||
__aeabi_unwind_cpp_pr0.
|
||||
|
||||
Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
|
||||
---
|
||||
csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++
|
||||
csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++
|
||||
csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c | 41 +++++++++++++++++++++++
|
||||
3 files changed, 123 insertions(+), 0 deletions(-)
|
||||
|
||||
diff --git a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c
|
||||
index 385b0ab..f1f0a0a 100644
|
||||
--- a/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c
|
||||
+++ b/csps/lpc32xx/bsps/ea3250/source/libnosys_gnu.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <errno.h>
|
||||
#include <sys/times.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <sys/types.h>
|
||||
|
||||
/* errno definition */
|
||||
#undef errno
|
||||
@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){
|
||||
return 0;
|
||||
}
|
||||
|
||||
+void * memset(void * s,int c,size_t count)
|
||||
+{
|
||||
+ char *xs = (char *) s;
|
||||
+
|
||||
+ while (count--)
|
||||
+ *xs++ = c;
|
||||
+
|
||||
+ return s;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+size_t strlen(const char * s)
|
||||
+{
|
||||
+ const char *sc;
|
||||
+
|
||||
+ for (sc = s; *sc != '\0'; ++sc)
|
||||
+ /* nothing */;
|
||||
+ return sc - s;
|
||||
+}
|
||||
+
|
||||
+void * memcpy(void * dest,const void *src,size_t count)
|
||||
+{
|
||||
+ char *tmp = (char *) dest, *s = (char *) src;
|
||||
+
|
||||
+ while (count--)
|
||||
+ *tmp++ = *s++;
|
||||
+
|
||||
+ return dest;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* Dummy functions to avoid linker complaints */
|
||||
+void __aeabi_unwind_cpp_pr0(void)
|
||||
+{
|
||||
+};
|
||||
+
|
||||
+void raise(void)
|
||||
+{
|
||||
+};
|
||||
+
|
||||
#endif /*__GNUC__*/
|
||||
diff --git a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c
|
||||
index 385b0ab..f1f0a0a 100644
|
||||
--- a/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c
|
||||
+++ b/csps/lpc32xx/bsps/fdi3250/source/libnosys_gnu.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <errno.h>
|
||||
#include <sys/times.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <sys/types.h>
|
||||
|
||||
/* errno definition */
|
||||
#undef errno
|
||||
@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){
|
||||
return 0;
|
||||
}
|
||||
|
||||
+void * memset(void * s,int c,size_t count)
|
||||
+{
|
||||
+ char *xs = (char *) s;
|
||||
+
|
||||
+ while (count--)
|
||||
+ *xs++ = c;
|
||||
+
|
||||
+ return s;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+size_t strlen(const char * s)
|
||||
+{
|
||||
+ const char *sc;
|
||||
+
|
||||
+ for (sc = s; *sc != '\0'; ++sc)
|
||||
+ /* nothing */;
|
||||
+ return sc - s;
|
||||
+}
|
||||
+
|
||||
+void * memcpy(void * dest,const void *src,size_t count)
|
||||
+{
|
||||
+ char *tmp = (char *) dest, *s = (char *) src;
|
||||
+
|
||||
+ while (count--)
|
||||
+ *tmp++ = *s++;
|
||||
+
|
||||
+ return dest;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* Dummy functions to avoid linker complaints */
|
||||
+void __aeabi_unwind_cpp_pr0(void)
|
||||
+{
|
||||
+};
|
||||
+
|
||||
+void raise(void)
|
||||
+{
|
||||
+};
|
||||
+
|
||||
#endif /*__GNUC__*/
|
||||
diff --git a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c
|
||||
index cfdb674..6b50c60 100644
|
||||
--- a/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c
|
||||
+++ b/csps/lpc32xx/bsps/phy3250/source/libnosys_gnu.c
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <errno.h>
|
||||
#include <sys/times.h>
|
||||
#include <sys/stat.h>
|
||||
+#include <sys/types.h>
|
||||
|
||||
/* errno definition */
|
||||
#undef errno
|
||||
@@ -125,4 +126,44 @@ int _write(int file, char *ptr, int len){
|
||||
return 0;
|
||||
}
|
||||
|
||||
+void * memset(void * s,int c,size_t count)
|
||||
+{
|
||||
+ char *xs = (char *) s;
|
||||
+
|
||||
+ while (count--)
|
||||
+ *xs++ = c;
|
||||
+
|
||||
+ return s;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+size_t strlen(const char * s)
|
||||
+{
|
||||
+ const char *sc;
|
||||
+
|
||||
+ for (sc = s; *sc != '\0'; ++sc)
|
||||
+ /* nothing */;
|
||||
+ return sc - s;
|
||||
+}
|
||||
+
|
||||
+void * memcpy(void * dest,const void *src,size_t count)
|
||||
+{
|
||||
+ char *tmp = (char *) dest, *s = (char *) src;
|
||||
+
|
||||
+ while (count--)
|
||||
+ *tmp++ = *s++;
|
||||
+
|
||||
+ return dest;
|
||||
+}
|
||||
+
|
||||
+
|
||||
+/* Dummy functions to avoid linker complaints */
|
||||
+void __aeabi_unwind_cpp_pr0(void)
|
||||
+{
|
||||
+};
|
||||
+
|
||||
+void raise(void)
|
||||
+{
|
||||
+};
|
||||
+
|
||||
#endif /*__GNUC__*/
|
||||
--
|
||||
1.7.7.3
|
||||
|
521
boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch
Normal file
521
boot/lpc32xxcdl/lpc32xxcdl-2.11-slashes.patch
Normal file
@ -0,0 +1,521 @@
|
||||
Use slashes instead of backslashes
|
||||
|
||||
Signed-off-by: Alexandre Belloni <abelloni@adeneo-embedded.com>
|
||||
---
|
||||
.../bsps/common/examples/buildfiles/makefile | 10 +++---
|
||||
.../startup/examples/burners/makefile.burner | 16 +++++-----
|
||||
csps/lpc32xx/bsps/ea3250/source/makefile | 10 +++---
|
||||
csps/lpc32xx/bsps/fdi3250/source/makefile | 12 ++++----
|
||||
csps/lpc32xx/bsps/phy3250/examples/makefile | 2 +-
|
||||
csps/lpc32xx/bsps/phy3250/source/makefile | 2 +-
|
||||
.../examples/Burners/nor/kickstart/makefile | 2 +-
|
||||
.../startup/examples/Burners/nor/norerase/makefile | 2 +-
|
||||
.../startup/examples/Burners/nor/s1lapp/makefile | 2 +-
|
||||
.../examples/Burners/spi/kickstart/makefile | 2 +-
|
||||
csps/lpc32xx/source/makefile | 10 +++---
|
||||
lpc/source/makefile | 10 +++---
|
||||
makefile | 2 +-
|
||||
makerule/common/make.rules.environment | 30 ++++++++++----------
|
||||
makerule/lpc32xx/make.lpc32xx.gnu | 2 +-
|
||||
makerule/lpc32xx/make.lpc32xx.iar | 12 ++++----
|
||||
makerule/lpc32xx/make.lpc32xx.keil | 6 ++--
|
||||
makerule/lpc32xx/make.lpc32xx.rvw | 2 +-
|
||||
18 files changed, 67 insertions(+), 67 deletions(-)
|
||||
|
||||
diff --git a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile
|
||||
index cf4977c..1da2201 100644
|
||||
--- a/csps/lpc32xx/bsps/common/examples/buildfiles/makefile
|
||||
+++ b/csps/lpc32xx/bsps/common/examples/buildfiles/makefile
|
||||
@@ -25,16 +25,16 @@
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Pick up the assembler and C source files in the directory
|
||||
#
|
||||
########################################################################
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
|
||||
-AFLAGS +=-I..\Include
|
||||
-CFLAGS +=-I..\Include
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
|
||||
+AFLAGS +=-I../Include
|
||||
+CFLAGS +=-I../Include
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -42,6 +42,6 @@ CFLAGS +=-I..\Include
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
|
||||
|
||||
|
||||
diff --git a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner
|
||||
index fca3947..18bd703 100644
|
||||
--- a/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner
|
||||
+++ b/csps/lpc32xx/bsps/common/startup/examples/burners/makefile.burner
|
||||
@@ -22,9 +22,9 @@
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-COMMON_BASE := $(NXPMCU_SOFTWARE)\csps\$(CSP)\bsps\common
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
|
||||
-include $(COMMON_BASE)\startup\examples\buildfiles\make.env
|
||||
+COMMON_BASE := $(NXPMCU_SOFTWARE)/csps/$(CSP)/bsps/common
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
|
||||
+include $(COMMON_BASE)/startup/examples/buildfiles/make.env
|
||||
|
||||
########################################################################
|
||||
# ARM Realview
|
||||
@@ -38,7 +38,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}"
|
||||
#AFLAGS += --predefine "RW_RELOC SETL {TRUE}"
|
||||
|
||||
# This runs from IRAM
|
||||
-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld
|
||||
+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld
|
||||
LDFLAGS = --remove
|
||||
MAP = --map --info=totals,sizes,unused --symbols --list
|
||||
endif
|
||||
@@ -55,7 +55,7 @@ AFLAGS += --predefine "USE_ALL_STACKS SETL {TRUE}"
|
||||
#AFLAGS += --predefine "RW_RELOC SETL {TRUE}"
|
||||
|
||||
# This runs from IRAM
|
||||
-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_rvw.ld
|
||||
+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_rvw.ld
|
||||
LDFLAGS = --remove
|
||||
MAP = --map --info=totals,sizes,unused --symbols --list
|
||||
endif
|
||||
@@ -72,7 +72,7 @@ AFLAGS += --defsym USE_ALL_STACKS=1
|
||||
#AFLAGS += --defsym RW_RELOC=1
|
||||
|
||||
# This runs from IRAM
|
||||
-LDSCRIPT =$(COMMON_BASE)\startup\examples\buildfiles\ldscript_iram_gnu.ld
|
||||
+LDSCRIPT =$(COMMON_BASE)/startup/examples/buildfiles/ldscript_iram_gnu.ld
|
||||
|
||||
endif
|
||||
|
||||
@@ -108,7 +108,7 @@ endif
|
||||
# Pick up the assembler and C source files in the directory
|
||||
#
|
||||
########################################################################
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -157,6 +157,6 @@ endif
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
|
||||
|
||||
.PHONY: debug bin
|
||||
diff --git a/csps/lpc32xx/bsps/ea3250/source/makefile b/csps/lpc32xx/bsps/ea3250/source/makefile
|
||||
index 7cada25..2899b20 100644
|
||||
--- a/csps/lpc32xx/bsps/ea3250/source/makefile
|
||||
+++ b/csps/lpc32xx/bsps/ea3250/source/makefile
|
||||
@@ -22,16 +22,16 @@
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Pick up the assembler and C source files in the directory
|
||||
#
|
||||
########################################################################
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
|
||||
-AFLAGS +=-I..\Include
|
||||
-CFLAGS +=-I..\Include
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
|
||||
+AFLAGS +=-I../Include
|
||||
+CFLAGS +=-I../Include
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -64,7 +64,7 @@ realclean: lib_realclean
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
|
||||
|
||||
.PHONY: all lib_clean lib_realclean
|
||||
|
||||
diff --git a/csps/lpc32xx/bsps/fdi3250/source/makefile b/csps/lpc32xx/bsps/fdi3250/source/makefile
|
||||
index 4e153bb..11e4b63 100644
|
||||
--- a/csps/lpc32xx/bsps/fdi3250/source/makefile
|
||||
+++ b/csps/lpc32xx/bsps/fdi3250/source/makefile
|
||||
@@ -22,16 +22,16 @@
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Pick up the assembler and C source files in the directory
|
||||
#
|
||||
########################################################################
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
|
||||
-AFLAGS +=-I..\Include
|
||||
-CFLAGS +=-I..\Include
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
|
||||
+AFLAGS +=-I../Include
|
||||
+CFLAGS +=-I../Include
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -53,7 +53,7 @@ lib_clean:
|
||||
# delete all targets this Makefile can make and all built libraries
|
||||
# linked in
|
||||
lib_realclean:
|
||||
- -@$(RM) $(BSP_LIB_DIR)\*.a
|
||||
+ -@$(RM) $(BSP_LIB_DIR)/*.a
|
||||
-@$(RMDIR) $(BSP_LIB_DIR)
|
||||
|
||||
clean: lib_clean
|
||||
@@ -65,7 +65,7 @@ realclean: lib_realclean
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
|
||||
|
||||
.PHONY: all lib_clean lib_realclean
|
||||
|
||||
diff --git a/csps/lpc32xx/bsps/phy3250/examples/makefile b/csps/lpc32xx/bsps/phy3250/examples/makefile
|
||||
index b939252..e7feaa6 100644
|
||||
--- a/csps/lpc32xx/bsps/phy3250/examples/makefile
|
||||
+++ b/csps/lpc32xx/bsps/phy3250/examples/makefile
|
||||
@@ -25,7 +25,7 @@
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
|
||||
|
||||
SUBDIRS = adc dram_self_refresh hstimer hsuart i2c kscan lcd_colorbars
|
||||
SUBDIRS += lcd_tsc mi2c mstimer pwm pwm_simple rtc sdcard sdcard_dma
|
||||
diff --git a/csps/lpc32xx/bsps/phy3250/source/makefile b/csps/lpc32xx/bsps/phy3250/source/makefile
|
||||
index 7c48e7d..750b776 100644
|
||||
--- a/csps/lpc32xx/bsps/phy3250/source/makefile
|
||||
+++ b/csps/lpc32xx/bsps/phy3250/source/makefile
|
||||
@@ -32,7 +32,7 @@ include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
|
||||
# Pick up the assembler and C source files in the directory
|
||||
#
|
||||
########################################################################
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
|
||||
AFLAGS +=-I../Include
|
||||
CFLAGS +=-I../Include
|
||||
|
||||
diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile
|
||||
index 01e2b38..526d6cc 100644
|
||||
--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile
|
||||
+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/kickstart/makefile
|
||||
@@ -78,7 +78,7 @@ endif
|
||||
|
||||
########################################################################
|
||||
#
|
||||
-# Compiler\linker specific stuff
|
||||
+# Compiler/linker specific stuff
|
||||
#
|
||||
########################################################################
|
||||
|
||||
diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile
|
||||
index ce329f5..e81b8db 100644
|
||||
--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile
|
||||
+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/norerase/makefile
|
||||
@@ -77,7 +77,7 @@ endif
|
||||
|
||||
########################################################################
|
||||
#
|
||||
-# Compiler\linker specific stuff
|
||||
+# Compiler/linker specific stuff
|
||||
#
|
||||
########################################################################
|
||||
|
||||
diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile
|
||||
index 4426fc7..196faec 100644
|
||||
--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile
|
||||
+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/nor/s1lapp/makefile
|
||||
@@ -77,7 +77,7 @@ endif
|
||||
|
||||
########################################################################
|
||||
#
|
||||
-# Compiler\linker specific stuff
|
||||
+# Compiler/linker specific stuff
|
||||
#
|
||||
########################################################################
|
||||
|
||||
diff --git a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile
|
||||
index dc73b64..39fc304 100644
|
||||
--- a/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile
|
||||
+++ b/csps/lpc32xx/bsps/phy3250/startup/examples/Burners/spi/kickstart/makefile
|
||||
@@ -78,7 +78,7 @@ endif
|
||||
|
||||
########################################################################
|
||||
#
|
||||
-# Compiler\linker specific stuff
|
||||
+# Compiler/linker specific stuff
|
||||
#
|
||||
########################################################################
|
||||
|
||||
diff --git a/csps/lpc32xx/source/makefile b/csps/lpc32xx/source/makefile
|
||||
index 8e05456..16bd944 100644
|
||||
--- a/csps/lpc32xx/source/makefile
|
||||
+++ b/csps/lpc32xx/source/makefile
|
||||
@@ -25,16 +25,16 @@
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Pick up the assembler and C source files in the directory
|
||||
#
|
||||
########################################################################
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
|
||||
-AFLAGS +=-I..\Include
|
||||
-CFLAGS +=-I..\Include
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
|
||||
+AFLAGS +=-I../Include
|
||||
+CFLAGS +=-I../Include
|
||||
|
||||
|
||||
########################################################################
|
||||
@@ -68,7 +68,7 @@ realclean: lib_realclean
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
|
||||
|
||||
.PHONY: all lib_clean lib_realclean
|
||||
|
||||
diff --git a/lpc/source/makefile b/lpc/source/makefile
|
||||
index 2860db9..ae7d612 100644
|
||||
--- a/lpc/source/makefile
|
||||
+++ b/lpc/source/makefile
|
||||
@@ -25,16 +25,16 @@
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
|
||||
|
||||
########################################################################
|
||||
#
|
||||
# Pick up the assembler and C source files in the directory
|
||||
#
|
||||
########################################################################
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.ftypes
|
||||
-AFLAGS +=-I..\Include
|
||||
-CFLAGS +=-I..\Include
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.ftypes
|
||||
+AFLAGS +=-I../Include
|
||||
+CFLAGS +=-I../Include
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -67,7 +67,7 @@ realclean: lib_realclean
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.build
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.build
|
||||
|
||||
.PHONY: all lib_clean lib_realclean
|
||||
|
||||
diff --git a/makefile b/makefile
|
||||
index 8645fcc..86fa6bc 100644
|
||||
--- a/makefile
|
||||
+++ b/makefile
|
||||
@@ -34,7 +34,7 @@ TARGETS_CLN =gen_clean csp_clean bsp_clean
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\$(CSP)\make.$(CSP).$(TOOL)
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/$(CSP)/make.$(CSP).$(TOOL)
|
||||
|
||||
########################################################################
|
||||
#
|
||||
diff --git a/makerule/common/make.rules.environment b/makerule/common/make.rules.environment
|
||||
index d5737fe..4e6df48 100644
|
||||
--- a/makerule/common/make.rules.environment
|
||||
+++ b/makerule/common/make.rules.environment
|
||||
@@ -52,7 +52,7 @@ ASTYLE =astyle --options=$(BUILD_ROOT)/tools/astyle.cfg
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib
|
||||
+CSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/lib
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -60,7 +60,7 @@ CSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\lib
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib
|
||||
+BSP_LIB_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP)/lib
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -68,7 +68,7 @@ BSP_LIB_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)\lib
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib
|
||||
+GEN_LIB_DIR =$(BUILD_ROOT)/$(GEN)/lib
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -76,9 +76,9 @@ GEN_LIB_DIR =$(BUILD_ROOT)\$(GEN)\lib
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-CSP_DIR =$(BUILD_ROOT)\csps\$(CSP)
|
||||
-CSP_SRC_DIR =$(CSP_DIR)\source
|
||||
-CSP_INC_DIR =$(CSP_DIR)\include
|
||||
+CSP_DIR =$(BUILD_ROOT)/csps/$(CSP)
|
||||
+CSP_SRC_DIR =$(CSP_DIR)/source
|
||||
+CSP_INC_DIR =$(CSP_DIR)/include
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -86,9 +86,9 @@ CSP_INC_DIR =$(CSP_DIR)\include
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-BSP_DIR =$(BUILD_ROOT)\csps\$(CSP)\bsps\$(BSP)
|
||||
-BSP_SRC_DIR =$(BSP_DIR)\source
|
||||
-BSP_INC_DIR =$(BSP_DIR)\include
|
||||
+BSP_DIR =$(BUILD_ROOT)/csps/$(CSP)/bsps/$(BSP)
|
||||
+BSP_SRC_DIR =$(BSP_DIR)/source
|
||||
+BSP_INC_DIR =$(BSP_DIR)/include
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -96,9 +96,9 @@ BSP_INC_DIR =$(BSP_DIR)\include
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-GEN_DIR =$(BUILD_ROOT)\$(GEN)
|
||||
-GEN_SRC_DIR =$(GEN_DIR)\source
|
||||
-GEN_INC_DIR =$(GEN_DIR)\include
|
||||
+GEN_DIR =$(BUILD_ROOT)/$(GEN)
|
||||
+GEN_SRC_DIR =$(GEN_DIR)/source
|
||||
+GEN_INC_DIR =$(GEN_DIR)/include
|
||||
|
||||
########################################################################
|
||||
#
|
||||
@@ -151,6 +151,6 @@ endif
|
||||
#
|
||||
########################################################################
|
||||
|
||||
-TARGET_CSP_LIB =$(CSP_LIB_DIR)\$(CSP_ARCHIVE)
|
||||
-TARGET_BSP_LIB =$(BSP_LIB_DIR)\$(BSP_ARCHIVE)
|
||||
-TARGET_GEN_LIB =$(GEN_LIB_DIR)\$(GEN_ARCHIVE)
|
||||
+TARGET_CSP_LIB =$(CSP_LIB_DIR)/$(CSP_ARCHIVE)
|
||||
+TARGET_BSP_LIB =$(BSP_LIB_DIR)/$(BSP_ARCHIVE)
|
||||
+TARGET_GEN_LIB =$(GEN_LIB_DIR)/$(GEN_ARCHIVE)
|
||||
diff --git a/makerule/lpc32xx/make.lpc32xx.gnu b/makerule/lpc32xx/make.lpc32xx.gnu
|
||||
index 3277d99..d80b98d 100644
|
||||
--- a/makerule/lpc32xx/make.lpc32xx.gnu
|
||||
+++ b/makerule/lpc32xx/make.lpc32xx.gnu
|
||||
@@ -19,7 +19,7 @@
|
||||
# use without further testing or modification.
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment
|
||||
|
||||
CPU = arm926ej-s
|
||||
CFLAGS = -mcpu=arm926ej-s -Wall -Os
|
||||
diff --git a/makerule/lpc32xx/make.lpc32xx.iar b/makerule/lpc32xx/make.lpc32xx.iar
|
||||
index 238ebbf..27d163f 100644
|
||||
--- a/makerule/lpc32xx/make.lpc32xx.iar
|
||||
+++ b/makerule/lpc32xx/make.lpc32xx.iar
|
||||
@@ -19,12 +19,12 @@
|
||||
# use without further testing or modification.
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment
|
||||
|
||||
-IARBASE = $(IAR_ROOT)\ARM
|
||||
-IARTOOLS = $(IARBASE)\bin
|
||||
-IAR_LIB = $(IARBASE)\lib
|
||||
-IAR_INC = $(IARBASE)\inc
|
||||
+IARBASE = $(IAR_ROOT)/ARM
|
||||
+IARTOOLS = $(IARBASE)/bin
|
||||
+IAR_LIB = $(IARBASE)/lib
|
||||
+IAR_INC = $(IARBASE)/inc
|
||||
CC = iccarm
|
||||
CCP = iccarm
|
||||
AS = iasmarm
|
||||
@@ -36,7 +36,7 @@ CFLAGS += -I"$(IAR_INC)"
|
||||
AFLAGS = --cpu 5TEJ
|
||||
LDFLAGS =
|
||||
LK = "$(TARGET_GEN_LIB)" "$(TARGET_CSP_LIB)" "$(TARGET_BSP_LIB)"
|
||||
-;LK += "$(IAR_LIB)\dl4tpannl8f.r79"
|
||||
+;LK += "$(IAR_LIB)/dl4tpannl8f.r79"
|
||||
MAP = --map
|
||||
LDESC = --config
|
||||
ENTRY = --entry
|
||||
diff --git a/makerule/lpc32xx/make.lpc32xx.keil b/makerule/lpc32xx/make.lpc32xx.keil
|
||||
index dd27583..7334d3f 100644
|
||||
--- a/makerule/lpc32xx/make.lpc32xx.keil
|
||||
+++ b/makerule/lpc32xx/make.lpc32xx.keil
|
||||
@@ -19,7 +19,7 @@
|
||||
# use without further testing or modification.
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment
|
||||
|
||||
CC =armcc
|
||||
CCP =armcc
|
||||
@@ -27,11 +27,11 @@ AS =armasm
|
||||
LD =armlink
|
||||
AR =armar -r -s
|
||||
CFLAGS =--arm -O3 -g --device DARMP3 -D__MICROLIB
|
||||
-CFLAGS +=-I$(KEIL_RVCT)\inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
|
||||
+CFLAGS +=-I$(KEIL_RVCT)/inc -I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
|
||||
AFLAGS =--arm --device=DARMP3
|
||||
AFLAGS +=-I$(CSP_INC_DIR) -I$(BSP_INC_DIR) -I$(GEN_INC_DIR)
|
||||
LDFLAGS =--noremove
|
||||
-LK =--device DARMP3 --libpath $(KEIL_RVCT)\lib --scan $(TARGET_CSP_LIB)
|
||||
+LK =--device DARMP3 --libpath $(KEIL_RVCT)/lib --scan $(TARGET_CSP_LIB)
|
||||
LK +=--scan $(TARGET_BSP_LIB)
|
||||
LK +=--scan $(TARGET_GEN_LIB)
|
||||
MAP =--map --list
|
||||
diff --git a/makerule/lpc32xx/make.lpc32xx.rvw b/makerule/lpc32xx/make.lpc32xx.rvw
|
||||
index 59961dd..2419976 100644
|
||||
--- a/makerule/lpc32xx/make.lpc32xx.rvw
|
||||
+++ b/makerule/lpc32xx/make.lpc32xx.rvw
|
||||
@@ -19,7 +19,7 @@
|
||||
# use without further testing or modification.
|
||||
########################################################################
|
||||
|
||||
-include $(NXPMCU_SOFTWARE)\makerule\common\make.rules.environment
|
||||
+include $(NXPMCU_SOFTWARE)/makerule/common/make.rules.environment
|
||||
|
||||
CC =armcc
|
||||
CCP =armcpp
|
||||
--
|
||||
1.7.7.3
|
||||
|
70
boot/lpc32xxcdl/lpc32xxcdl.mk
Normal file
70
boot/lpc32xxcdl/lpc32xxcdl.mk
Normal file
@ -0,0 +1,70 @@
|
||||
################################################################################
|
||||
#
|
||||
# lpc32xxcdl
|
||||
#
|
||||
################################################################################
|
||||
|
||||
LPC32XXCDL_VERSION = lpc32xx_cdl_v2.11
|
||||
LPC32XXCDL_SITE = http://git.lpcware.com/lpc3xxx_cdl.git
|
||||
LPC32XXCDL_SITE_METHOD = git
|
||||
|
||||
LPC32XXCDL_INSTALL_TARGET = NO
|
||||
LPC32XXCDL_INSTALL_IMAGES = YES
|
||||
|
||||
ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"ea3250")
|
||||
LPC32XXCDL_KICKSTART = kickstart/nand
|
||||
LPC32XXCDL_KICKSTART_BURNER = nand/kickstart
|
||||
LPC32XXCDL_S1L = s1l
|
||||
LPC32XXCDL_S1L_BURNER = nand/s1lapp
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"phy3250")
|
||||
LPC32XXCDL_KICKSTART = kickstart/kickstart_nand
|
||||
LPC32XXCDL_KICKSTART_BURNER = nand/kickstart
|
||||
LPC32XXCDL_S1L = s1l/s1l_nand_boot
|
||||
LPC32XXCDL_S1L_BURNER = nand/s1lapp
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_LPC32XXCDL_BOARDNAME),"fdi3250")
|
||||
LPC32XXCDL_KICKSTART = kickstart/nand
|
||||
LPC32XXCDL_KICKSTART_BURNER = nand/kickstart_jtag
|
||||
LPC32XXCDL_S1L = s1l
|
||||
LPC32XXCDL_S1L_BURNER = nand/s1lapp_jtag
|
||||
endif
|
||||
|
||||
LPC32XXCDL_BUILD_FLAGS = \
|
||||
CROSS_COMPILE=$(TARGET_CROSS) \
|
||||
NXPMCU_WINBASE=$(@D) \
|
||||
NXPMCU_SOFTWARE=$(@D) \
|
||||
BSP=$(BR2_TARGET_LPC32XXCDL_BOARDNAME) \
|
||||
CSP=lpc32xx TOOL=gnu GEN=lpc
|
||||
|
||||
LPC32XXCDL_BOARD_STARTUP_DIR = \
|
||||
csps/lpc32xx/bsps/$(BR2_TARGET_LPC32XXCDL_BOARDNAME)/startup/examples/
|
||||
|
||||
# Source files are with dos newlines, which our patch infrastructure doesn't
|
||||
# handle. Work around it by converting the affected files to unix newlines
|
||||
# before patching
|
||||
define LPC32XXCDL_DOS2UNIX_FOR_PATCH
|
||||
sed -n 's|^[+-]\{3\} [^/]\+\([^ \t]*\)\(.*\)|$(@D)\1|p' \
|
||||
boot/lpc32xxcdl/*.patch| sort -u | xargs $(SED) 's/\x0D$$//'
|
||||
endef
|
||||
|
||||
LPC32XXCDL_POST_EXTRACT_HOOKS += LPC32XXCDL_DOS2UNIX_FOR_PATCH
|
||||
|
||||
define LPC32XXCDL_BUILD_CMDS
|
||||
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)
|
||||
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)
|
||||
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)
|
||||
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)
|
||||
$(MAKE1) $(LPC32XXCDL_BUILD_FLAGS) -C $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)
|
||||
endef
|
||||
|
||||
define LPC32XXCDL_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_KICKSTART_BURNER)/*gnu.bin $(BINARIES_DIR)
|
||||
cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_KICKSTART)/*gnu.bin $(BINARIES_DIR)
|
||||
cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/Burners/$(LPC32XXCDL_S1L_BURNER)/*gnu.bin $(BINARIES_DIR)
|
||||
cp $(@D)/$(LPC32XXCDL_BOARD_STARTUP_DIR)/$(LPC32XXCDL_S1L)/*gnu.bin $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
90
boot/mxs-bootlets/Config.in
Normal file
90
boot/mxs-bootlets/Config.in
Normal file
@ -0,0 +1,90 @@
|
||||
config BR2_TARGET_MXS_BOOTLETS
|
||||
bool "mxs-bootlets"
|
||||
depends on BR2_arm
|
||||
help
|
||||
Stage1 bootloaders for Freescale iMX23/iMX28 SoCs
|
||||
|
||||
if BR2_TARGET_MXS_BOOTLETS
|
||||
|
||||
choice
|
||||
prompt "Source"
|
||||
default BR2_TARGET_MXS_BOOTLETS_FREESCALE
|
||||
help
|
||||
Select the location of the bootlets you want to use
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_FREESCALE
|
||||
bool "Freescale 10.12.01 version"
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL
|
||||
bool "Custom tarball"
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT
|
||||
bool "Custom Git repository"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL
|
||||
depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL
|
||||
string "URL of custom bootlets tarball"
|
||||
|
||||
if BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_URL
|
||||
string "URL of custom Git repository"
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_VERSION
|
||||
string "Custom Git version"
|
||||
|
||||
endif
|
||||
|
||||
choice
|
||||
prompt "Bootstream"
|
||||
help
|
||||
Select which bootstream to generate
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_BAREBOX
|
||||
depends on BR2_TARGET_BAREBOX
|
||||
bool "Barebox Bootloader"
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_LINUX
|
||||
depends on BR2_LINUX_KERNEL
|
||||
bool "Linux Kernel"
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_UBOOT
|
||||
depends on BR2_TARGET_UBOOT
|
||||
bool "U-boot bootloader"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_HAS_IVT
|
||||
bool "HAB Support"
|
||||
help
|
||||
Enable this option if you are building bootlets
|
||||
for the iMX28 platform that needs to include instructions
|
||||
for the secure boot mechanism present on these SoCs
|
||||
|
||||
choice
|
||||
prompt "Board"
|
||||
help
|
||||
Select the board to build the bootlets for
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_STMP37xx
|
||||
bool "Sigmatel ST-MP3-7xx Board"
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_STMP378x
|
||||
bool "Sigmatel ST-MP3-78x Board"
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_IMX28EVK
|
||||
bool "Freescale iMX28 EVK Board"
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD
|
||||
bool "Custom board"
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD_NAME
|
||||
string "Custom board name"
|
||||
depends on BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD
|
||||
help
|
||||
Name of the board to build the bootlets for
|
||||
|
||||
endif
|
34
boot/mxs-bootlets/barebox_ivt.bd
Normal file
34
boot/mxs-bootlets/barebox_ivt.bd
Normal file
@ -0,0 +1,34 @@
|
||||
// STMP378x ROM command script to load and run U-Boot
|
||||
|
||||
sources {
|
||||
power_prep="./power_prep/power_prep";
|
||||
sdram_prep="./boot_prep/boot_prep";
|
||||
barebox="./barebox";
|
||||
}
|
||||
|
||||
section (0) {
|
||||
|
||||
//----------------------------------------------------------
|
||||
// Power Supply initialization
|
||||
//----------------------------------------------------------
|
||||
|
||||
load power_prep;
|
||||
load ivt (entry = power_prep:_start) > 0x8000;
|
||||
hab call 0x8000;
|
||||
|
||||
//----------------------------------------------------------
|
||||
// SDRAM initialization
|
||||
//----------------------------------------------------------
|
||||
|
||||
load sdram_prep;
|
||||
load ivt (entry = sdram_prep:_start) > 0x8000;
|
||||
hab call 0x8000;
|
||||
//----------------------------------------------------------
|
||||
// Load and call u_boot - ELF ARM image
|
||||
//----------------------------------------------------------
|
||||
|
||||
load barebox;
|
||||
load ivt (entry = barebox:start) > 0x8000;
|
||||
hab call 0x8000;
|
||||
|
||||
}
|
2
boot/mxs-bootlets/mxs-bootlets.hash
Normal file
2
boot/mxs-bootlets/mxs-bootlets.hash
Normal file
@ -0,0 +1,2 @@
|
||||
# locally computed
|
||||
sha256 63f6068ae36884adef4259bbb1fe2591755718f22c46d0a59d854883dfab1ffc imx-bootlets-src-10.12.01.tar.gz
|
106
boot/mxs-bootlets/mxs-bootlets.mk
Normal file
106
boot/mxs-bootlets/mxs-bootlets.mk
Normal file
@ -0,0 +1,106 @@
|
||||
################################################################################
|
||||
#
|
||||
# mxs-bootlets
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL),y)
|
||||
MXS_BOOTLETS_TARBALL = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_TARBALL_URL))
|
||||
MXS_BOOTLETS_SITE = $(patsubst %/,%,$(dir $(MXS_BOOTLETS_TARBALL)))
|
||||
MXS_BOOTLETS_SOURCE = $(notdir $(MXS_BOOTLETS_TARBALL))
|
||||
BR_NO_CHECK_HASH_FOR += $(MXS_BOOTLETS_SOURCE)
|
||||
else ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT),y)
|
||||
MXS_BOOTLETS_SITE = $(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_URL)
|
||||
MXS_BOOTLETS_SITE_METHOD = git
|
||||
MXS_BOOTLETS_VERSION = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_GIT_VERSION))
|
||||
BR_NO_CHECK_HASH_FOR += $(MXS_BOOTLETS_SOURCE)
|
||||
else
|
||||
MXS_BOOTLETS_VERSION = 10.12.01
|
||||
MXS_BOOTLETS_SITE = http://download.ossystems.com.br/bsp/freescale/source
|
||||
MXS_BOOTLETS_SOURCE = imx-bootlets-src-$(MXS_BOOTLETS_VERSION).tar.gz
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_MXS_BOOTLETS_STMP37xx),y)
|
||||
MXS_BOOTLETS_BOARD = stmp37xx_dev
|
||||
else ifeq ($(BR2_TARGET_MXS_BOOTLETS_STMP378x),y)
|
||||
MXS_BOOTLETS_BOARD = stmp378x_dev
|
||||
else ifeq ($(BR2_TARGET_MXS_BOOTLETS_IMX28EVK),y)
|
||||
MXS_BOOTLETS_BOARD = iMX28_EVK
|
||||
else ifeq ($(BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD),y)
|
||||
MXS_BOOTLETS_BOARD = $(call qstrip,$(BR2_TARGET_MXS_BOOTLETS_CUSTOM_BOARD_NAME))
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_MXS_BOOTLETS_HAS_IVT),y)
|
||||
MXS_BOOTLETS_IVT_SUFFIX = _ivt
|
||||
MXS_BOOTLETS_ELFTOSB_OPTIONS += -f imx28
|
||||
endif
|
||||
|
||||
MXS_BOOTLETS_DEPENDENCIES = host-elftosb
|
||||
MXS_BOOTLETS_LICENSE = GPL-2.0+
|
||||
|
||||
ifeq ($(BR2_TARGET_MXS_BOOTLETS_BAREBOX),y)
|
||||
MXS_BOOTLETS_DEPENDENCIES += barebox
|
||||
MXS_BOOTLETS_BOOTDESC = barebox$(MXS_BOOTLETS_IVT_SUFFIX).bd
|
||||
MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_barebox$(MXS_BOOTLETS_IVT_SUFFIX).sb
|
||||
|
||||
else ifeq ($(BR2_TARGET_MXS_BOOTLETS_LINUX),y)
|
||||
MXS_BOOTLETS_DEPENDENCIES += linux
|
||||
MXS_BOOTLETS_BOOTDESC = linux$(MXS_BOOTLETS_IVT_SUFFIX).bd
|
||||
MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_linux$(MXS_BOOTLETS_IVT_SUFFIX).sb
|
||||
|
||||
else ifeq ($(BR2_TARGET_MXS_BOOTLETS_UBOOT),y)
|
||||
MXS_BOOTLETS_DEPENDENCIES += uboot
|
||||
MXS_BOOTLETS_BOOTDESC = uboot$(MXS_BOOTLETS_IVT_SUFFIX).bd
|
||||
MXS_BOOTLETS_BOOTSTREAM = $(MXS_BOOTLETS_BOARD)_uboot$(MXS_BOOTLETS_IVT_SUFFIX).sb
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_MXS_BOOTLETS_BAREBOX),y)
|
||||
define MXS_BOOTLETS_SED_BAREBOX
|
||||
sed -i 's,[^ *]barebox.*;,\tbarebox="$(BAREBOX_DIR)/barebox";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_MXS_BOOTLETS_LINUX),y)
|
||||
define MXS_BOOTLETS_BUILD_LINUX_PREP
|
||||
BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
$(MAKE1) -C $(@D) linux_prep
|
||||
endef
|
||||
define MXS_BOOTLETS_SED_LINUX
|
||||
sed -i 's,[^ *]linux_prep.*;,\tlinux_prep="$(@D)/linux_prep/output-target/linux_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
|
||||
sed -i 's,[^ *]zImage.*;,\tzImage="$(LINUX_DIR)/arch/arm/boot/zImage";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
|
||||
endef
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_MXS_BOOTLETS_UBOOT),y)
|
||||
define MXS_BOOTLETS_SED_UBOOT
|
||||
sed -i 's,[^ *]u_boot.*;,\tu_boot="$(UBOOT_DIR)/u-boot";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
|
||||
endef
|
||||
endif
|
||||
|
||||
define MXS_BOOTLETS_INSTALL_BAREBOX_BOOTDESC
|
||||
cp boot/mxs-bootlets/barebox_ivt.bd $(@D)/
|
||||
endef
|
||||
|
||||
MXS_BOOTLETS_POST_EXTRACT_HOOKS += MXS_BOOTLETS_INSTALL_BAREBOX_BOOTDESC
|
||||
|
||||
define MXS_BOOTLETS_BUILD_CMDS
|
||||
BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
$(MAKE1) -C $(@D) power_prep
|
||||
BOARD=$(MXS_BOOTLETS_BOARD) CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
$(MAKE1) -C $(@D) boot_prep
|
||||
$(MXS_BOOTLETS_BUILD_LINUX_PREP)
|
||||
sed -i 's,[^ *]power_prep.*;,\tpower_prep="$(@D)/power_prep/power_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
|
||||
sed -i 's,[^ *]sdram_prep.*;,\tsdram_prep="$(@D)/boot_prep/boot_prep";,' $(@D)/$(MXS_BOOTLETS_BOOTDESC)
|
||||
$(MXS_BOOTLETS_SED_BAREBOX)
|
||||
$(MXS_BOOTLETS_SED_LINUX)
|
||||
$(MXS_BOOTLETS_SED_UBOOT)
|
||||
$(HOST_DIR)/bin/elftosb $(MXS_BOOTLETS_ELFTOSB_OPTIONS) \
|
||||
-z -c $(@D)/$(MXS_BOOTLETS_BOOTDESC) \
|
||||
-o $(@D)/$(MXS_BOOTLETS_BOOTSTREAM)
|
||||
endef
|
||||
|
||||
define MXS_BOOTLETS_INSTALL_TARGET_CMDS
|
||||
cp $(@D)/$(MXS_BOOTLETS_BOOTSTREAM) $(BINARIES_DIR)/
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
17
boot/s500-bootloader/Config.in
Normal file
17
boot/s500-bootloader/Config.in
Normal file
@ -0,0 +1,17 @@
|
||||
config BR2_TARGET_S500_BOOTLOADER
|
||||
bool "s500-bootloader"
|
||||
depends on BR2_arm
|
||||
depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
|
||||
select BR2_HOSTARCH_NEEDS_IA32_LIBS
|
||||
help
|
||||
1st level bootloader for Actions Semiconductor S500 SoC.
|
||||
|
||||
https://github.com/xapp-le/owl
|
||||
|
||||
config BR2_TARGET_S500_BOOTLOADER_BOARD
|
||||
string "board to configure for"
|
||||
depends on BR2_TARGET_S500_BOOTLOADER
|
||||
help
|
||||
Specify the board to configure the bootloader for.
|
||||
This should be the name of a directory under s500/boards
|
||||
containing a suitable bootloader.ini file.
|
2
boot/s500-bootloader/s500-bootloader.hash
Normal file
2
boot/s500-bootloader/s500-bootloader.hash
Normal file
@ -0,0 +1,2 @@
|
||||
# Locally calculated
|
||||
sha256 b183024ac69f51ea7befd28d03b2ec35a7280e270405600fb4f37aa91d9c9571 s500-bootloader-a8d7fa1d9a7f353ec4613febf30f4ca99a10a106.tar.gz
|
34
boot/s500-bootloader/s500-bootloader.mk
Normal file
34
boot/s500-bootloader/s500-bootloader.mk
Normal file
@ -0,0 +1,34 @@
|
||||
################################################################################
|
||||
#
|
||||
# s500-bootloader
|
||||
#
|
||||
################################################################################
|
||||
|
||||
S500_BOOTLOADER_VERSION = a8d7fa1d9a7f353ec4613febf30f4ca99a10a106
|
||||
S500_BOOTLOADER_SITE = $(call github,xapp-le,owl,$(S500_BOOTLOADER_VERSION))
|
||||
S500_BOOTLOADER_LICENSE = PROPRIETARY
|
||||
S500_BOOTLOADER_INSTALL_TARGET = NO
|
||||
S500_BOOTLOADER_INSTALL_IMAGES = YES
|
||||
|
||||
S500_BOOTLOADER_BOARD = $(call qstrip,$(BR2_TARGET_S500_BOOTLOADER_BOARD))
|
||||
|
||||
define S500_BOOTLOADER_BUILD_CMDS
|
||||
cd $(@D) && ./tools/utils/bootloader_pack \
|
||||
s500/bootloader/bootloader.bin \
|
||||
s500/boards/$(S500_BOOTLOADER_BOARD)/bootloader.ini \
|
||||
s500-bootloader.bin
|
||||
endef
|
||||
|
||||
define S500_BOOTLOADER_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -m 0644 -D $(@D)/s500-bootloader.bin \
|
||||
$(BINARIES_DIR)/s500-bootloader.bin
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
|
||||
ifeq ($(BR2_TARGET_S500_BOOTLOADER)$(BR_BUILDING),yy)
|
||||
# we NEED a board name
|
||||
ifeq ($(S500_BOOTLOADER_BOARD),)
|
||||
$(error No s500-bootloader board specified. Check your BR2_TARGET_S500_BOOTLOADER settings)
|
||||
endif
|
||||
endif
|
@ -1,16 +1,19 @@
|
||||
commit e5f2b577ded109291c9632dacb6eaa621d8a59fe
|
||||
Author: Sylvain Gault <sylvain.gault@gmail.com>
|
||||
Date: Tue Sep 29 02:38:25 2015 +0200
|
||||
From da5cbd1a3b248f2d32281a1766a3d1414c0e8e03 Mon Sep 17 00:00:00 2001
|
||||
From: Sylvain Gault <sylvain.gault@gmail.com>
|
||||
Date: Tue, 29 Sep 2015 02:38:25 +0200
|
||||
Subject: [PATCH] bios: Fix alignment change with gcc 5
|
||||
|
||||
bios: Fix alignment change with gcc 5
|
||||
The section aligment specified in the ld scripts have to be greater or
|
||||
equal to those in the .o files generated by gcc.
|
||||
|
||||
The section aligment specified in the ld scripts have to be greater or
|
||||
equal to those in the .o files generated by gcc.
|
||||
|
||||
Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
|
||||
Tested-by: poma <pomidorabelisima@gmail.com>
|
||||
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
|
||||
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
|
||||
Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
|
||||
Tested-by: poma <pomidorabelisima@gmail.com>
|
||||
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
|
||||
Signed-off-by: Frank Hunleth <fhunleth@troodon-software.com>
|
||||
---
|
||||
core/i386/syslinux.ld | 6 +++---
|
||||
core/x86_64/syslinux.ld | 6 +++---
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
|
||||
index 7b4e012..7390451 100644
|
||||
@ -74,3 +77,6 @@ index 1057112..bf815c4 100644
|
||||
__bss_vma = .;
|
||||
__bss_lma = .; /* Dummy */
|
||||
.bss (NOLOAD) : AT (__bss_lma) {
|
||||
--
|
||||
2.7.4
|
||||
|
30
boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch
Normal file
30
boot/syslinux/0002-Disable-PIE-to-avoid-FTBFS-on-amd64.patch
Normal file
@ -0,0 +1,30 @@
|
||||
From 250bf2c921713434627dc7bc8b0918fa0841f9b7 Mon Sep 17 00:00:00 2001
|
||||
From: Graham Inggs <ginggs@ubuntu.com>
|
||||
Date: Wed, 5 Apr 2017 22:03:12 +0200
|
||||
Subject: [PATCH] Disable PIE to avoid FTBFS on amd64
|
||||
|
||||
gcc 6.x has PIE support enabled by default, which causes a build issue
|
||||
with syslinux. This patch disables PIE support in the relevant
|
||||
syslinux Makefile.
|
||||
|
||||
Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
|
||||
---
|
||||
gpxe/src/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gpxe/src/Makefile b/gpxe/src/Makefile
|
||||
index cc91d78..077af64 100644
|
||||
--- a/gpxe/src/Makefile
|
||||
+++ b/gpxe/src/Makefile
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
|
||||
CLEANUP :=
|
||||
-CFLAGS :=
|
||||
+CFLAGS := -fno-PIE
|
||||
ASFLAGS :=
|
||||
LDFLAGS :=
|
||||
MAKEDEPS := Makefile
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,22 +0,0 @@
|
||||
Description: Disable PIE to avoid FTBFS on amd64
|
||||
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1579023
|
||||
Author: Graham Inggs <ginggs@ubuntu.com>
|
||||
Last-Update: 2016-05-06
|
||||
|
||||
gcc 6.x has PIE support enabled by default, which causes a build issue
|
||||
with syslinux. This patch disables PIE support in the relevant
|
||||
syslinux Makefile.
|
||||
|
||||
Signed-off-by: Ryan Coe <bluemrp9@gmail.com>
|
||||
|
||||
--- a/gpxe/src/Makefile
|
||||
+++ b/gpxe/src/Makefile
|
||||
@@ -4,7 +4,7 @@
|
||||
#
|
||||
|
||||
CLEANUP :=
|
||||
-CFLAGS :=
|
||||
+CFLAGS := -fno-PIE
|
||||
ASFLAGS :=
|
||||
LDFLAGS :=
|
||||
MAKEDEPS := Makefile
|
@ -0,0 +1,32 @@
|
||||
From c0287594239d5af2082cac20817f8e8b11a4b1b2 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
|
||||
Date: Wed, 5 Apr 2017 14:18:09 +0200
|
||||
Subject: [PATCH] memdisk: Force ld output format to 32-bits
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
On toolchains where the default output is x86_64, we need to be
|
||||
consistent with the other .o files
|
||||
|
||||
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
|
||||
---
|
||||
memdisk/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/memdisk/Makefile b/memdisk/Makefile
|
||||
index e6557d8..06613ff 100644
|
||||
--- a/memdisk/Makefile
|
||||
+++ b/memdisk/Makefile
|
||||
@@ -78,7 +78,7 @@ memdisk16.o: memdisk16.asm
|
||||
$(NASM) -f bin $(NASMOPT) $(NFLAGS) $(NINCLUDE) -o $@ -l $*.lst $<
|
||||
|
||||
memdisk_%.o: memdisk_%.bin
|
||||
- $(LD) -r -b binary -o $@ $<
|
||||
+ $(LD) --oformat elf32-i386 -r -b binary -o $@ $<
|
||||
|
||||
memdisk16.elf: $(OBJS16)
|
||||
$(LD) -Ttext 0 -o $@ $^
|
||||
--
|
||||
2.7.4
|
||||
|
@ -0,0 +1,60 @@
|
||||
From e000251144056c99e390a2a4449d06cbd2a19c0a Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
|
||||
Date: Wed, 5 Apr 2017 14:25:02 +0200
|
||||
Subject: [PATCH] utils: Use the host toolchain to build.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The utilities are meant to run on the host machine, hence must be built using
|
||||
the host toolchain.
|
||||
|
||||
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
|
||||
---
|
||||
utils/Makefile | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/utils/Makefile b/utils/Makefile
|
||||
index dfe6259..ac91aaa 100644
|
||||
--- a/utils/Makefile
|
||||
+++ b/utils/Makefile
|
||||
@@ -17,8 +17,8 @@
|
||||
VPATH = $(SRC)
|
||||
include $(MAKEDIR)/syslinux.mk
|
||||
|
||||
-CFLAGS = $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -I$(SRC)
|
||||
-LDFLAGS = -O2
|
||||
+CFLAGS = $(CFLAGS_FOR_BUILD) $(GCCWARN) -Os -fomit-frame-pointer -D_FILE_OFFSET_BITS=64 -I$(SRC)
|
||||
+LDFLAGS = $(LDFLAGS_FOR_BUILD) -O2
|
||||
|
||||
C_TARGETS = isohybrid gethostip memdiskfind
|
||||
SCRIPT_TARGETS = mkdiskimage
|
||||
@@ -35,7 +35,7 @@ ISOHDPFX = $(addprefix $(OBJ)/,../mbr/isohdpfx.bin ../mbr/isohdpfx_f.bin \
|
||||
all: $(TARGETS)
|
||||
|
||||
%.o: %.c
|
||||
- $(CC) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $<
|
||||
+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS) -c -o $@ $<
|
||||
|
||||
mkdiskimage: mkdiskimage.in ../mbr/mbr.bin bin2hex.pl
|
||||
$(PERL) $(SRC)/bin2hex.pl < $(OBJ)/../mbr/mbr.bin | cat $(SRC)/mkdiskimage.in - > $@
|
||||
@@ -51,13 +51,13 @@ isohdpfx.c: $(ISOHDPFX) isohdpfxarray.pl
|
||||
$(PERL) $(SRC)/isohdpfxarray.pl $(ISOHDPFX) > $@
|
||||
|
||||
isohybrid: isohybrid.o isohdpfx.o
|
||||
- $(CC) $(LDFLAGS) -o $@ $^ -luuid
|
||||
+ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^ -luuid
|
||||
|
||||
gethostip: gethostip.o
|
||||
- $(CC) $(LDFLAGS) -o $@ $^
|
||||
+ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^
|
||||
|
||||
memdiskfind: memdiskfind.o
|
||||
- $(CC) $(LDFLAGS) -o $@ $^
|
||||
+ $(CC_FOR_BUILD) $(LDFLAGS) -o $@ $^
|
||||
|
||||
tidy dist:
|
||||
rm -f *.o .*.d isohdpfx.c
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,44 @@
|
||||
From 83e1f00990c25554723609bb549e18b987034317 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
|
||||
Date: Thu, 6 Apr 2017 09:43:46 +0200
|
||||
Subject: [PATCH] lzo: Use the host toolchain for prepcore
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
|
||||
---
|
||||
lzo/Makefile | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lzo/Makefile b/lzo/Makefile
|
||||
index 29f1fa6..c016e5a 100644
|
||||
--- a/lzo/Makefile
|
||||
+++ b/lzo/Makefile
|
||||
@@ -11,10 +11,13 @@
|
||||
## -----------------------------------------------------------------------
|
||||
|
||||
VPATH = $(SRC)
|
||||
-include $(MAKEDIR)/build.mk
|
||||
+include $(MAKEDIR)/syslinux.mk
|
||||
|
||||
INCLUDES += -I$(SRC)/include
|
||||
|
||||
+%.o: %.c
|
||||
+ $(CC_FOR_BUILD) $(UMAKEDEPS) $(CFLAGS_FOR_BUILD) $(INCLUDES) -c -o $@ $<
|
||||
+
|
||||
LIBOBJS = $(patsubst %.c,%.o,$(subst $(SRC)/,,$(wildcard $(SRC)/src/*.c)))
|
||||
LIB = lzo.a
|
||||
BINS = prepcore
|
||||
@@ -30,7 +33,7 @@ $(LIB) : $(LIBOBJS)
|
||||
$(RANLIB) $@
|
||||
|
||||
prepcore : prepcore.o $(LIB)
|
||||
- $(CC) $(LDFLAGS) -o $@ $^ $(LIBS)
|
||||
+ $(CC_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ $^ $(LIBS)
|
||||
|
||||
tidy dist clean spotless:
|
||||
rm -f $(BINS)
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,37 @@
|
||||
From 39274503292a6003b1b0c93f694e34f11e85ea44 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
|
||||
Date: Fri, 9 Jun 2017 11:55:14 +0200
|
||||
Subject: [PATCH] The VPrint definition is now part of the exports of
|
||||
gnu-efi
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
|
||||
---
|
||||
efi/fio.h | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
diff --git a/efi/fio.h b/efi/fio.h
|
||||
index 65fff8d..a1bfe68 100644
|
||||
--- a/efi/fio.h
|
||||
+++ b/efi/fio.h
|
||||
@@ -11,15 +11,6 @@
|
||||
#define MAX_EFI_ARGS 64
|
||||
#define WS(c16) (c16 == L' ' || c16 == CHAR_TAB)
|
||||
|
||||
-/* VPrint is not in export declarations in gnu-efi lib yet
|
||||
- * although it is a global function; declare it here
|
||||
- */
|
||||
-extern UINTN
|
||||
-VPrint (
|
||||
- IN CHAR16 *fmt,
|
||||
- va_list args
|
||||
- );
|
||||
-
|
||||
extern EFI_STATUS efi_errno;
|
||||
|
||||
void efi_memcpy(unsigned char *dst, unsigned char *src, size_t len);
|
||||
--
|
||||
2.1.4
|
||||
|
@ -0,0 +1,37 @@
|
||||
From 3bd5c2d951421a89f76b2423e5810862f53486c1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
|
||||
Date: Fri, 9 Jun 2017 11:59:43 +0200
|
||||
Subject: [PATCH] Update the longjump calls to fit the new declaration
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
|
||||
---
|
||||
efi/main.c | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/efi/main.c b/efi/main.c
|
||||
index 208fee4f..71d31a5c 100644
|
||||
--- a/efi/main.c
|
||||
+++ b/efi/main.c
|
||||
@@ -10,7 +10,6 @@
|
||||
#include <syslinux/firmware.h>
|
||||
#include <syslinux/linux.h>
|
||||
#include <sys/ansi.h>
|
||||
-#include <setjmp.h>
|
||||
|
||||
#include "efi.h"
|
||||
#include "fio.h"
|
||||
@@ -30,7 +29,7 @@ uint32_t timer_irq;
|
||||
__export uint8_t KbdMap[256];
|
||||
char aux_seg[256];
|
||||
|
||||
-static jmp_buf load_error_buf;
|
||||
+static jmp_buf *load_error_buf;
|
||||
|
||||
static inline EFI_STATUS
|
||||
efi_close_protocol(EFI_HANDLE handle, EFI_GUID *guid, EFI_HANDLE agent,
|
||||
--
|
||||
2.13.3
|
||||
|
@ -0,0 +1,32 @@
|
||||
From ca8aaded0c7c3900397029bd9520132b62629308 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Beno=C3=AEt=20Allard?= <benoit.allard@greenbone.net>
|
||||
Date: Mon, 12 Jun 2017 14:59:16 +0200
|
||||
Subject: [PATCH] efi/wrapper: build it with the host toolchain.
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The wrapper program is executed on the build machine, so it should be
|
||||
built with CC_FOR_BUILD.
|
||||
|
||||
Signed-off-by: Benoît Allard <benoit.allard@greenbone.net>
|
||||
---
|
||||
efi/Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/efi/Makefile b/efi/Makefile
|
||||
index d5443bd5..d24d16db 100644
|
||||
--- a/efi/Makefile
|
||||
+++ b/efi/Makefile
|
||||
@@ -79,7 +79,7 @@ syslinux.so: $(OBJS) $(CORE_OBJS) $(LIB_OBJS)
|
||||
# cp $^ $@
|
||||
|
||||
wrapper: wrapper.c
|
||||
- $(CC) $^ -o $@
|
||||
+ $(CC_FOR_BUILD) $^ -o $@
|
||||
|
||||
#
|
||||
# Build the wrapper app and wrap our .so to produce a .efi
|
||||
--
|
||||
2.13.3
|
||||
|
@ -0,0 +1,295 @@
|
||||
From 76946dd67bc856eaf4fe69d0826547a794176f78 Mon Sep 17 00:00:00 2001
|
||||
From: Sylvain Gault <sylvain.gault@gmail.com>
|
||||
Date: Tue, 29 Sep 2015 04:45:09 +0200
|
||||
Subject: [PATCH] bios: Don't try to guess the sections alignment
|
||||
|
||||
For the compression / decompression to succeed, the sections layout must
|
||||
be the same between the virtual memory and load memory. The section
|
||||
alignment was kept in sync by introducing aligment that should be
|
||||
greater or equal to the actual section alignment.
|
||||
|
||||
This patch compute the load memory addresses of the sections so that
|
||||
the layout is the same as the virtual memory addresses.
|
||||
|
||||
Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
|
||||
Tested-by: poma <pomidorabelisima@gmail.com>
|
||||
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
|
||||
|
||||
Upstream: 0cc9a99e560a2f52bcf052fd85b1efae35ee812f
|
||||
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
||||
---
|
||||
core/i386/syslinux.ld | 63 ++++++++++---------------------------------------
|
||||
core/x86_64/syslinux.ld | 63 ++++++++++---------------------------------------
|
||||
2 files changed, 24 insertions(+), 102 deletions(-)
|
||||
|
||||
diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
|
||||
index 73904510..92b75b11 100644
|
||||
--- a/core/i386/syslinux.ld
|
||||
+++ b/core/i386/syslinux.ld
|
||||
@@ -255,10 +255,9 @@ SECTIONS
|
||||
. = 0x100000;
|
||||
|
||||
__pm_code_start = .;
|
||||
+ __vma_to_lma = __pm_code_lma - __pm_code_start;
|
||||
|
||||
- __text_vma = .;
|
||||
- __text_lma = __pm_code_lma;
|
||||
- .text : AT(__text_lma) {
|
||||
+ .text : AT(ADDR(.text) + __vma_to_lma) {
|
||||
FILL(0x90909090)
|
||||
__text_start = .;
|
||||
*(.text)
|
||||
@@ -266,106 +265,68 @@ SECTIONS
|
||||
__text_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(32);
|
||||
-
|
||||
- __rodata_vma = .;
|
||||
- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
|
||||
- .rodata : AT(__rodata_lma) {
|
||||
+ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
|
||||
__rodata_start = .;
|
||||
*(.rodata)
|
||||
*(.rodata.*)
|
||||
__rodata_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __ctors_vma = .;
|
||||
- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
|
||||
- .ctors : AT(__ctors_lma) {
|
||||
+ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
|
||||
__ctors_start = .;
|
||||
KEEP (*(SORT(.ctors.*)))
|
||||
KEEP (*(.ctors))
|
||||
__ctors_end = .;
|
||||
}
|
||||
|
||||
- __dtors_vma = .;
|
||||
- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
|
||||
- .dtors : AT(__dtors_lma) {
|
||||
+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
|
||||
__dtors_start = .;
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
__dtors_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __dynsym_vma = .;
|
||||
- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
|
||||
- .dynsym : AT(__dynsym_lma) {
|
||||
+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
|
||||
__dynsym_start = .;
|
||||
*(.dynsym)
|
||||
__dynsym_end = .;
|
||||
}
|
||||
__dynsym_len = __dynsym_end - __dynsym_start;
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __dynstr_vma = .;
|
||||
- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
|
||||
- .dynstr : AT(__dynstr_lma) {
|
||||
+ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
|
||||
__dynstr_start = .;
|
||||
*(.dynstr)
|
||||
__dynstr_end = .;
|
||||
}
|
||||
__dynstr_len = __dynstr_end - __dynstr_start;
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __gnu_hash_vma = .;
|
||||
- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
|
||||
- .gnu.hash : AT(__gnu_hash_lma) {
|
||||
+ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
|
||||
__gnu_hash_start = .;
|
||||
*(.gnu.hash)
|
||||
__gnu_hash_end = .;
|
||||
}
|
||||
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __dynlink_vma = .;
|
||||
- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
|
||||
- .dynlink : AT(__dynlink_lma) {
|
||||
+ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
|
||||
__dynlink_start = .;
|
||||
*(.dynlink)
|
||||
__dynlink_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __got_vma = .;
|
||||
- __got_lma = __got_vma + __text_lma - __text_vma;
|
||||
- .got : AT(__got_lma) {
|
||||
+ .got : AT(ADDR(.got) + __vma_to_lma) {
|
||||
__got_start = .;
|
||||
KEEP (*(.got.plt))
|
||||
KEEP (*(.got))
|
||||
__got_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __dynamic_vma = .;
|
||||
- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
|
||||
- .dynamic : AT(__dynamic_lma) {
|
||||
+ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
|
||||
__dynamic_start = .;
|
||||
*(.dynamic)
|
||||
__dynamic_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(32);
|
||||
-
|
||||
- __data_vma = .;
|
||||
- __data_lma = __data_vma + __text_lma - __text_vma;
|
||||
- .data : AT(__data_lma) {
|
||||
+ .data : AT(ADDR(.data) + __vma_to_lma) {
|
||||
__data_start = .;
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
diff --git a/core/x86_64/syslinux.ld b/core/x86_64/syslinux.ld
|
||||
index bf815c46..70c6e00a 100644
|
||||
--- a/core/x86_64/syslinux.ld
|
||||
+++ b/core/x86_64/syslinux.ld
|
||||
@@ -255,10 +255,9 @@ SECTIONS
|
||||
. = 0x100000;
|
||||
|
||||
__pm_code_start = .;
|
||||
+ __vma_to_lma = __pm_code_lma - __pm_code_start;
|
||||
|
||||
- __text_vma = .;
|
||||
- __text_lma = __pm_code_lma;
|
||||
- .text : AT(__text_lma) {
|
||||
+ .text : AT(ADDR(.text) + __vma_to_lma) {
|
||||
FILL(0x90909090)
|
||||
__text_start = .;
|
||||
*(.text)
|
||||
@@ -266,106 +265,68 @@ SECTIONS
|
||||
__text_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(32);
|
||||
-
|
||||
- __rodata_vma = .;
|
||||
- __rodata_lma = __rodata_vma + __text_lma - __text_vma;
|
||||
- .rodata : AT(__rodata_lma) {
|
||||
+ .rodata : AT(ADDR(.rodata) + __vma_to_lma) {
|
||||
__rodata_start = .;
|
||||
*(.rodata)
|
||||
*(.rodata.*)
|
||||
__rodata_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __ctors_vma = .;
|
||||
- __ctors_lma = __ctors_vma + __text_lma - __text_vma;
|
||||
- .ctors : AT(__ctors_lma) {
|
||||
+ .ctors : AT(ADDR(.ctors) + __vma_to_lma) {
|
||||
__ctors_start = .;
|
||||
KEEP (*(SORT(.ctors.*)))
|
||||
KEEP (*(.ctors))
|
||||
__ctors_end = .;
|
||||
}
|
||||
|
||||
- __dtors_vma = .;
|
||||
- __dtors_lma = __dtors_vma + __text_lma - __text_vma;
|
||||
- .dtors : AT(__dtors_lma) {
|
||||
+ .dtors : AT(ADDR(.dtors) + __vma_to_lma) {
|
||||
__dtors_start = .;
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
__dtors_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __dynsym_vma = .;
|
||||
- __dynsym_lma = __dynsym_vma + __text_lma - __text_vma;
|
||||
- .dynsym : AT(__dynsym_lma) {
|
||||
+ .dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
|
||||
__dynsym_start = .;
|
||||
*(.dynsym)
|
||||
__dynsym_end = .;
|
||||
}
|
||||
__dynsym_len = __dynsym_end - __dynsym_start;
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __dynstr_vma = .;
|
||||
- __dynstr_lma = __dynstr_vma + __text_lma - __text_vma;
|
||||
- .dynstr : AT(__dynstr_lma) {
|
||||
+ .dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
|
||||
__dynstr_start = .;
|
||||
*(.dynstr)
|
||||
__dynstr_end = .;
|
||||
}
|
||||
__dynstr_len = __dynstr_end - __dynstr_start;
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __gnu_hash_vma = .;
|
||||
- __gnu_hash_lma = __gnu_hash_vma + __text_lma - __text_vma;
|
||||
- .gnu.hash : AT(__gnu_hash_lma) {
|
||||
+ .gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
|
||||
__gnu_hash_start = .;
|
||||
*(.gnu.hash)
|
||||
__gnu_hash_end = .;
|
||||
}
|
||||
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __dynlink_vma = .;
|
||||
- __dynlink_lma = __dynlink_vma + __text_lma - __text_vma;
|
||||
- .dynlink : AT(__dynlink_lma) {
|
||||
+ .dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
|
||||
__dynlink_start = .;
|
||||
*(.dynlink)
|
||||
__dynlink_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __got_vma = .;
|
||||
- __got_lma = __got_vma + __text_lma - __text_vma;
|
||||
- .got : AT(__got_lma) {
|
||||
+ .got : AT(ADDR(.got) + __vma_to_lma) {
|
||||
__got_start = .;
|
||||
KEEP (*(.got.plt))
|
||||
KEEP (*(.got))
|
||||
__got_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(4);
|
||||
-
|
||||
- __dynamic_vma = .;
|
||||
- __dynamic_lma = __dynamic_vma + __text_lma - __text_vma;
|
||||
- .dynamic : AT(__dynamic_lma) {
|
||||
+ .dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
|
||||
__dynamic_start = .;
|
||||
*(.dynamic)
|
||||
__dynamic_end = .;
|
||||
}
|
||||
|
||||
- . = ALIGN(32);
|
||||
-
|
||||
- __data_vma = .;
|
||||
- __data_lma = __data_vma + __text_lma - __text_vma;
|
||||
- .data : AT(__data_lma) {
|
||||
+ .data : AT(ADDR(.data) + __vma_to_lma) {
|
||||
__data_start = .;
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
--
|
||||
2.13.3
|
||||
|
622
boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch
Normal file
622
boot/syslinux/0010-core-Clean-up-the-i386-bios-build.patch
Normal file
@ -0,0 +1,622 @@
|
||||
From a14b1b3d3e375d2e8af8804171ef5e52574dbb2a Mon Sep 17 00:00:00 2001
|
||||
From: "H. Peter Anvin" <hpa@zytor.com>
|
||||
Date: Tue, 9 Feb 2016 18:15:50 -0800
|
||||
Subject: [PATCH] core: Clean up the i386-bios build
|
||||
|
||||
Remove symbols and data structures not used in the i386-bios build,
|
||||
and clean up the linker script so that most internal symbols are
|
||||
HIDDEN.
|
||||
|
||||
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
||||
|
||||
Upstream: ff859050fa4e6535cae098dc35d88a265466448d
|
||||
|
||||
This patch fixes the following build failure with i386 binutils 2.28.1:
|
||||
|
||||
/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld -Bsymbolic -pie -E --hash-style=gnu -T
|
||||
/builds/arnout/buildroot/output/build/syslinux-6.03/core/i386/syslinux.ld -M -o ldlinux.elf ldlinux.o \
|
||||
--start-group libcom32.a --whole-archive /builds/arnout/buildroot/output/build/syslinux-6.03/bios/com32/lib/libcom32core.a libldlinux.a --end-group -N
|
||||
--no-omagic \
|
||||
> ldlinux.map
|
||||
/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: ldlinux.elf: Not enough room for program headers, try linking with -N
|
||||
/builds/arnout/buildroot/output/host/bin/i586-buildroot-linux-uclibc-ld: final link failed: Bad value
|
||||
/builds/arnout/buildroot/output/build/syslinux-6.03/core/Makefile:167: recipe for target 'ldlinux.elf' failed
|
||||
|
||||
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
||||
---
|
||||
core/extern.inc | 17 +--
|
||||
core/i386/syslinux.ld | 287 +++++++++++++++++++++++++-------------------------
|
||||
core/layout.inc | 11 --
|
||||
3 files changed, 143 insertions(+), 172 deletions(-)
|
||||
|
||||
diff --git a/core/extern.inc b/core/extern.inc
|
||||
index af8eb04c..ce4abfab 100644
|
||||
--- a/core/extern.inc
|
||||
+++ b/core/extern.inc
|
||||
@@ -12,27 +12,17 @@
|
||||
; hello.c
|
||||
extern hello
|
||||
|
||||
- ;abort.c
|
||||
- extern abort_load_new
|
||||
-
|
||||
; elflink/load_env32.c
|
||||
extern load_env32, pm_env32_run
|
||||
|
||||
- ; memscan.c
|
||||
- extern highmem_init
|
||||
-
|
||||
- extern linux_kernel
|
||||
-
|
||||
extern mp1, mp2, mp3, mp4, mp5
|
||||
|
||||
- extern hexdump, mydump
|
||||
+ extern hexdump
|
||||
|
||||
extern mem_init
|
||||
|
||||
; fs.c
|
||||
- extern pm_fs_init, pm_searchdir, getfssec, getfsbytes
|
||||
- extern pm_mangle_name, pm_load_config
|
||||
- extern pm_open_file, pm_close_file
|
||||
+ extern pm_fs_init
|
||||
extern SectorSize, SectorShift
|
||||
|
||||
; chdir.c
|
||||
@@ -41,9 +31,6 @@
|
||||
; readdir.c
|
||||
extern opendir, readdir, closedir
|
||||
|
||||
- ; newconfig.c
|
||||
- extern pm_is_config_file
|
||||
-
|
||||
; idle.c
|
||||
extern __idle
|
||||
|
||||
diff --git a/core/i386/syslinux.ld b/core/i386/syslinux.ld
|
||||
index 92b75b11..39198d75 100644
|
||||
--- a/core/i386/syslinux.ld
|
||||
+++ b/core/i386/syslinux.ld
|
||||
@@ -1,7 +1,7 @@
|
||||
/* -----------------------------------------------------------------------
|
||||
*
|
||||
* Copyright 2008-2009 H. Peter Anvin - All Rights Reserved
|
||||
- * Copyright 2009 Intel Corporation; author: H. Peter Anvin
|
||||
+ * Copyright 2009-2016 Intel Corporation; author: H. Peter Anvin
|
||||
*
|
||||
* 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
|
||||
@@ -12,7 +12,7 @@
|
||||
* ----------------------------------------------------------------------- */
|
||||
|
||||
/*
|
||||
- * Linker script for the SYSLINUX core
|
||||
+ * Linker script for the SYSLINUX core when built for i386-bios
|
||||
*/
|
||||
|
||||
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
|
||||
@@ -26,7 +26,7 @@ SECTIONS
|
||||
{
|
||||
/* Prefix structure for the compression program */
|
||||
. = 0;
|
||||
- __module_start = .;
|
||||
+ HIDDEN(__module_start = ABSOLUTE(.));
|
||||
.prefix : {
|
||||
*(.prefix)
|
||||
}
|
||||
@@ -35,81 +35,82 @@ SECTIONS
|
||||
. = 0x1000;
|
||||
|
||||
.earlybss (NOLOAD) : {
|
||||
- __earlybss_start = .;
|
||||
+ HIDDEN(__earlybss_start = .);
|
||||
*(.earlybss)
|
||||
- __earlybss_end = .;
|
||||
+ HIDDEN(__earlybss_end = .);
|
||||
}
|
||||
- __earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start);
|
||||
- __earlybss_dwords = (__earlybss_len + 3) >> 2;
|
||||
+ HIDDEN(__earlybss_len = ABSOLUTE(__earlybss_end) - ABSOLUTE(__earlybss_start));
|
||||
+ HIDDEN(__earlybss_dwords = (__earlybss_len + 3) >> 2);
|
||||
|
||||
. = ALIGN(4);
|
||||
.bss16 (NOLOAD) : {
|
||||
- __bss16_start = .;
|
||||
+ HIDDEN(__bss16_start = .);
|
||||
*(.bss16)
|
||||
- __bss16_end = .;
|
||||
+ HIDDEN(__bss16_end = .);
|
||||
}
|
||||
- __bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start);
|
||||
- __bss16_dwords = (__bss16_len + 3) >> 2;
|
||||
+ HIDDEN(__bss16_len = ABSOLUTE(__bss16_end) - ABSOLUTE(__bss16_start));
|
||||
+ HIDDEN(__bss16_dwords = (__bss16_len + 3) >> 2);
|
||||
|
||||
. = ALIGN(4);
|
||||
.config : AT (__config_lma) {
|
||||
- __config_start = .;
|
||||
+ HIDDEN(__config_start = .);
|
||||
*(.config)
|
||||
- __config_end = .;
|
||||
+ HIDDEN(__config_end = .);
|
||||
}
|
||||
- __config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start);
|
||||
- __config_dwords = (__config_len + 3) >> 2;
|
||||
+ HIDDEN(__config_len = ABSOLUTE(__config_end) - ABSOLUTE(__config_start));
|
||||
+ HIDDEN(__config_dwords = (__config_len + 3) >> 2);
|
||||
|
||||
/* Generated and/or copied code */
|
||||
|
||||
. = ALIGN(128); /* Minimum separation from mutable data */
|
||||
.replacestub : AT (__replacestub_lma) {
|
||||
- __replacestub_start = .;
|
||||
+ HIDDEN(__replacestub_start = .);
|
||||
*(.replacestub)
|
||||
- __replacestub_end = .;
|
||||
+ HIDDEN(__replacestub_end = .);
|
||||
}
|
||||
- __replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start);
|
||||
- __replacestub_dwords = (__replacestub_len + 3) >> 2;
|
||||
+ HIDDEN(__replacestub_len = ABSOLUTE(__replacestub_end) - ABSOLUTE(__replacestub_start));
|
||||
+ HIDDEN(__replacestub_dwords = (__replacestub_len + 3) >> 2);
|
||||
|
||||
. = ALIGN(16);
|
||||
- __gentextnr_lma = .;
|
||||
+ HIDDEN(__gentextnr_lma = .);
|
||||
.gentextnr : AT(__gentextnr_lma) {
|
||||
- __gentextnr_start = .;
|
||||
+ HIDDEN(__gentextnr_start = .);
|
||||
*(.gentextnr)
|
||||
- __gentextnr_end = .;
|
||||
+ HIDDEN(__gentextnr_end = .);
|
||||
}
|
||||
- __gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start);
|
||||
- __gentextnr_dwords = (__gentextnr_len + 3) >> 2;
|
||||
+ HIDDEN(__gentextnr_len = ABSOLUTE(__gentextnr_end) - ABSOLUTE(__gentextnr_start));
|
||||
+ HIDDEN(__gentextnr_dwords = (__gentextnr_len + 3) >> 2);
|
||||
|
||||
. = STACK_BASE;
|
||||
.stack16 : AT(STACK_BASE) {
|
||||
- __stack16_start = .;
|
||||
+ HIDDEN(__stack16_start = .);
|
||||
. += STACK_LEN;
|
||||
- __stack16_end = .;
|
||||
+ HIDDEN(__stack16_end = .);
|
||||
}
|
||||
- __stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start);
|
||||
- __stack16_dwords = (__stack16_len + 3) >> 2;
|
||||
+ HIDDEN(__stack16_len = ABSOLUTE(__stack16_end) - ABSOLUTE(__stack16_start));
|
||||
+ HIDDEN(__stack16_dwords = (__stack16_len + 3) >> 2);
|
||||
|
||||
/* Initialized sections */
|
||||
|
||||
. = 0x7c00;
|
||||
.init : {
|
||||
FILL(0x90909090)
|
||||
- __init_start = .;
|
||||
+ HIDDEN(__init_start = .);
|
||||
*(.init)
|
||||
- __init_end = .;
|
||||
+ HIDDEN(__init_end = .);
|
||||
}
|
||||
- __init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start);
|
||||
- __init_dwords = (__init_len + 3) >> 2;
|
||||
+ HIDDEN(__init_len = ABSOLUTE(__init_end) - ABSOLUTE(__init_start));
|
||||
+ HIDDEN(__init_dwords = (__init_len + 3) >> 2);
|
||||
|
||||
+ . = ALIGN(4);
|
||||
.text16 : {
|
||||
FILL(0x90909090)
|
||||
- __text16_start = .;
|
||||
+ HIDDEN(__text16_start = .);
|
||||
*(.text16)
|
||||
- __text16_end = .;
|
||||
+ HIDDEN(__text16_end = .);
|
||||
}
|
||||
- __text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start);
|
||||
- __text16_dwords = (__text16_len + 3) >> 2;
|
||||
+ HIDDEN(__text16_len = ABSOLUTE(__text16_end) - ABSOLUTE(__text16_start));
|
||||
+ HIDDEN(__text16_dwords = (__text16_len + 3) >> 2);
|
||||
|
||||
/*
|
||||
* .textnr is used for 32-bit code that is used on the code
|
||||
@@ -118,99 +119,92 @@ SECTIONS
|
||||
. = ALIGN(16);
|
||||
.textnr : {
|
||||
FILL(0x90909090)
|
||||
- __textnr_start = .;
|
||||
+ HIDDEN(__textnr_start = .);
|
||||
*(.textnr)
|
||||
- __textnr_end = .;
|
||||
+ HIDDEN(__textnr_end = .);
|
||||
}
|
||||
- __textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start);
|
||||
- __textnr_dwords = (__textnr_len + 3) >> 2;
|
||||
+ HIDDEN(__textnr_len = ABSOLUTE(__textnr_end) - ABSOLUTE(__textnr_start));
|
||||
+ HIDDEN(__textnr_dwords = (__textnr_len + 3) >> 2);
|
||||
|
||||
. = ALIGN(16);
|
||||
- __bcopyxx_start = .;
|
||||
+ HIDDEN(__bcopyxx_start = .);
|
||||
|
||||
.bcopyxx.text : {
|
||||
FILL(0x90909090)
|
||||
- __bcopyxx_text_start = .;
|
||||
+ HIDDEN(__bcopyxx_text_start = .);
|
||||
*(.bcopyxx.text)
|
||||
- __bcopyxx_text_end = .;
|
||||
+ HIDDEN(__bcopyxx_text_end = .);
|
||||
}
|
||||
- __bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start);
|
||||
- __bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2;
|
||||
+ HIDDEN(__bcopyxx_text_len = ABSOLUTE(__bcopyxx_text_end) - ABSOLUTE(__bcopyxx_text_start));
|
||||
+ HIDDEN(__bcopyxx_text_dwords = (__bcopyxx_text_len + 3) >> 2);
|
||||
|
||||
.bcopyxx.data : {
|
||||
- __bcopyxx_data_start = .;
|
||||
+ HIDDEN(__bcopyxx_data_start = .);
|
||||
*(.bcopyxx.text)
|
||||
- __bcopyxx_data_end = .;
|
||||
+ HIDDEN(__bcopyxx_data_end = .);
|
||||
}
|
||||
- __bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start);
|
||||
- __bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2;
|
||||
+ HIDDEN(__bcopyxx_data_len = ABSOLUTE(__bcopyxx_data_end) - ABSOLUTE(__bcopyxx_data_start));
|
||||
+ HIDDEN(__bcopyxx_data_dwords = (__bcopyxx_data_len + 3) >> 2);
|
||||
|
||||
- __bcopyxx_end = .;
|
||||
- __bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start);
|
||||
- __bcopyxx_dwords = (__bcopyxx_len + 3) >> 2;
|
||||
+ HIDDEN(__bcopyxx_end = .);
|
||||
+ HIDDEN(__bcopyxx_len = ABSOLUTE(__bcopyxx_end) - ABSOLUTE(__bcopyxx_start));
|
||||
+ HIDDEN(__bcopyxx_dwords = (__bcopyxx_len + 3) >> 2);
|
||||
|
||||
. = ALIGN(4);
|
||||
.data16 : {
|
||||
- __data16_start = .;
|
||||
+ HIDDEN(__data16_start = .);
|
||||
*(.data16)
|
||||
- __data16_end = .;
|
||||
+ HIDDEN(__data16_end = .);
|
||||
}
|
||||
- __data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start);
|
||||
- __data16_dwords = (__data16_len + 3) >> 2;
|
||||
+ HIDDEN(__data16_len = ABSOLUTE(__data16_end) - ABSOLUTE(__data16_start));
|
||||
+ HIDDEN(__data16_dwords = (__data16_len + 3) >> 2);
|
||||
|
||||
. = ALIGN(4);
|
||||
- __config_lma = .;
|
||||
+ HIDDEN(__config_lma = ABSOLUTE(.));
|
||||
. += SIZEOF(.config);
|
||||
|
||||
. = ALIGN(4);
|
||||
- __replacestub_lma = .;
|
||||
+ HIDDEN(__replacestub_lma = ABSOLUTE(.));
|
||||
. += SIZEOF(.replacestub);
|
||||
|
||||
/* The 32-bit code loads above the non-progbits sections */
|
||||
|
||||
. = ALIGN(16);
|
||||
- __pm_code_lma = .;
|
||||
+ HIDDEN(__pm_code_lma = ABSOLUTE(.));
|
||||
|
||||
- __high_clear_start = .;
|
||||
+ HIDDEN(__high_clear_start = .);
|
||||
|
||||
. = ALIGN(512);
|
||||
.adv (NOLOAD) : {
|
||||
- __adv_start = .;
|
||||
+ HIDDEN(__adv_start = .);
|
||||
*(.adv)
|
||||
- __adv_end = .;
|
||||
+ HIDDEN(__adv_end = .);
|
||||
}
|
||||
- __adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start);
|
||||
- __adv_dwords = (__adv_len + 3) >> 2;
|
||||
+ HIDDEN(__adv_len = ABSOLUTE(__adv_end) - ABSOLUTE(__adv_start));
|
||||
+ HIDDEN(__adv_dwords = (__adv_len + 3) >> 2);
|
||||
|
||||
/* Late uninitialized sections */
|
||||
|
||||
. = ALIGN(4);
|
||||
.uibss (NOLOAD) : {
|
||||
- __uibss_start = .;
|
||||
+ HIDDEN(__uibss_start = .);
|
||||
*(.uibss)
|
||||
- __uibss_end = .;
|
||||
+ HIDDEN(__uibss_end = .);
|
||||
}
|
||||
- __uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start);
|
||||
- __uibss_dwords = (__uibss_len + 3) >> 2;
|
||||
+ HIDDEN(__uibss_len = ABSOLUTE(__uibss_end) - ABSOLUTE(__uibss_start));
|
||||
+ HIDDEN(__uibss_dwords = (__uibss_len + 3) >> 2);
|
||||
|
||||
- _end16 = .;
|
||||
- __assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow");
|
||||
+ HIDDEN(_end16 = .);
|
||||
+ HIDDEN(__assert_end16 = ASSERT(_end16 <= 0x10000, "64K overflow"));
|
||||
|
||||
/*
|
||||
* Special 16-bit segments
|
||||
*/
|
||||
-
|
||||
- . = ALIGN(65536);
|
||||
- .real_mode (NOLOAD) : {
|
||||
- *(.real_mode)
|
||||
- }
|
||||
- real_mode_seg = core_real_mode >> 4;
|
||||
-
|
||||
. = ALIGN(65536);
|
||||
.xfer_buf (NOLOAD) : {
|
||||
*(.xfer_buf)
|
||||
}
|
||||
- xfer_buf_seg = core_xfer_buf >> 4;
|
||||
+ HIDDEN(xfer_buf_seg = core_xfer_buf >> 4);
|
||||
|
||||
/*
|
||||
* The auxilliary data segment is used by the 16-bit code
|
||||
@@ -219,33 +213,33 @@ SECTIONS
|
||||
|
||||
. = ALIGN(16);
|
||||
.auxseg (NOLOAD) : {
|
||||
- __auxseg_start = .;
|
||||
+ HIDDEN(__auxseg_start = .);
|
||||
*(.auxseg)
|
||||
- __auxseg_end = .;
|
||||
+ HIDDEN(__auxseg_end = .);
|
||||
}
|
||||
- __auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start);
|
||||
- __auxseg_dwords = (__auxseg_len + 3) >> 2;
|
||||
- aux_seg = __auxseg_start >> 4;
|
||||
+ HIDDEN(__auxseg_len = ABSOLUTE(__auxseg_end) - ABSOLUTE(__auxseg_start));
|
||||
+ HIDDEN(__auxseg_dwords = (__auxseg_len + 3) >> 2);
|
||||
+ HIDDEN(aux_seg = __auxseg_start >> 4);
|
||||
|
||||
/*
|
||||
* Used to allocate lowmem buffers from 32-bit code
|
||||
*/
|
||||
.lowmem (NOLOAD) : {
|
||||
- __lowmem_start = .;
|
||||
+ HIDDEN(__lowmem_start = .);
|
||||
*(.lowmem)
|
||||
- __lowmem_end = .;
|
||||
+ HIDDEN(__lowmem_end = .);
|
||||
}
|
||||
- __lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start);
|
||||
- __lowmem_dwords = (__lowmem_len + 3) >> 2;
|
||||
+ HIDDEN(__lowmem_len = ABSOLUTE(__lowmem_end) - ABSOLUTE(__lowmem_start));
|
||||
+ HIDDEN(__lowmem_dwords = (__lowmem_len + 3) >> 2);
|
||||
|
||||
- __high_clear_end = .;
|
||||
+ HIDDEN(__high_clear_end = .);
|
||||
|
||||
- __high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start);
|
||||
- __high_clear_dwords = (__high_clear_len + 3) >> 2;
|
||||
+ HIDDEN(__high_clear_len = ABSOLUTE(__high_clear_end) - ABSOLUTE(__high_clear_start));
|
||||
+ HIDDEN(__high_clear_dwords = (__high_clear_len + 3) >> 2);
|
||||
|
||||
/* Start of the lowmem heap */
|
||||
. = ALIGN(16);
|
||||
- __lowmem_heap = .;
|
||||
+ HIDDEN(__lowmem_heap = .);
|
||||
|
||||
/*
|
||||
* 32-bit code. This is a hack for the moment due to the
|
||||
@@ -254,136 +248,137 @@ SECTIONS
|
||||
|
||||
. = 0x100000;
|
||||
|
||||
- __pm_code_start = .;
|
||||
- __vma_to_lma = __pm_code_lma - __pm_code_start;
|
||||
+ HIDDEN(__pm_code_start = .);
|
||||
+ HIDDEN(__vma_to_lma = ABSOLUTE(__pm_code_lma - __pm_code_start));
|
||||
|
||||
.text : AT(ADDR(.text) + __vma_to_lma) {
|
||||
FILL(0x90909090)
|
||||
- __text_start = .;
|
||||
+ HIDDEN(__text_start = .);
|
||||
*(.text)
|
||||
*(.text.*)
|
||||
- __text_end = .;
|
||||
+ HIDDEN(__text_end = .);
|
||||
}
|
||||
|
||||
.rodata : AT(ADDR(.rodata) + __vma_to_lma) {
|
||||
- __rodata_start = .;
|
||||
+ HIDDEN(__rodata_start = .);
|
||||
*(.rodata)
|
||||
*(.rodata.*)
|
||||
- __rodata_end = .;
|
||||
+ HIDDEN(__rodata_end = .);
|
||||
}
|
||||
|
||||
.ctors : AT(ADDR(.ctors) + __vma_to_lma) {
|
||||
- __ctors_start = .;
|
||||
+ HIDDEN(__ctors_start = .);
|
||||
KEEP (*(SORT(.ctors.*)))
|
||||
KEEP (*(.ctors))
|
||||
- __ctors_end = .;
|
||||
+ HIDDEN(__ctors_end = .);
|
||||
}
|
||||
|
||||
.dtors : AT(ADDR(.dtors) + __vma_to_lma) {
|
||||
- __dtors_start = .;
|
||||
+ HIDDEN(__dtors_start = .);
|
||||
KEEP (*(SORT(.dtors.*)))
|
||||
KEEP (*(.dtors))
|
||||
- __dtors_end = .;
|
||||
+ HIDDEN(__dtors_end = .);
|
||||
}
|
||||
|
||||
.dynsym : AT(ADDR(.dynsym) + __vma_to_lma) {
|
||||
- __dynsym_start = .;
|
||||
- *(.dynsym)
|
||||
- __dynsym_end = .;
|
||||
+ HIDDEN(__dynsym_start = .);
|
||||
+ KEEP (*(.dynsym))
|
||||
+ HIDDEN(__dynsym_end = .);
|
||||
}
|
||||
- __dynsym_len = __dynsym_end - __dynsym_start;
|
||||
+ HIDDEN(__dynsym_len = __dynsym_end - __dynsym_start);
|
||||
|
||||
.dynstr : AT(ADDR(.dynstr) + __vma_to_lma) {
|
||||
- __dynstr_start = .;
|
||||
- *(.dynstr)
|
||||
- __dynstr_end = .;
|
||||
+ HIDDEN(__dynstr_start = .);
|
||||
+ KEEP (*(.dynstr))
|
||||
+ HIDDEN(__dynstr_end = .);
|
||||
}
|
||||
- __dynstr_len = __dynstr_end - __dynstr_start;
|
||||
+ HIDDEN(__dynstr_len = __dynstr_end - __dynstr_start);
|
||||
|
||||
.gnu.hash : AT(ADDR(.gnu.hash) + __vma_to_lma) {
|
||||
- __gnu_hash_start = .;
|
||||
- *(.gnu.hash)
|
||||
- __gnu_hash_end = .;
|
||||
+ HIDDEN(__gnu_hash_start = .);
|
||||
+ KEEP (*(.gnu.hash))
|
||||
+ HIDDEN(__gnu_hash_end = .);
|
||||
}
|
||||
|
||||
|
||||
.dynlink : AT(ADDR(.dynlink) + __vma_to_lma) {
|
||||
- __dynlink_start = .;
|
||||
- *(.dynlink)
|
||||
- __dynlink_end = .;
|
||||
+ HIDDEN(__dynlink_start = .);
|
||||
+ KEEP (*(.dynlink))
|
||||
+ HIDDEN(__dynlink_end = .);
|
||||
}
|
||||
|
||||
.got : AT(ADDR(.got) + __vma_to_lma) {
|
||||
- __got_start = .;
|
||||
- KEEP (*(.got.plt))
|
||||
+ HIDDEN(__got_start = .);
|
||||
KEEP (*(.got))
|
||||
- __got_end = .;
|
||||
+ KEEP (*(.got.plt))
|
||||
+ HIDDEN(__got_end = .);
|
||||
}
|
||||
|
||||
.dynamic : AT(ADDR(.dynamic) + __vma_to_lma) {
|
||||
- __dynamic_start = .;
|
||||
- *(.dynamic)
|
||||
- __dynamic_end = .;
|
||||
+ HIDDEN(__dynamic_start = .);
|
||||
+ KEEP (*(.dynamic))
|
||||
+ HIDDEN(__dynamic_end = .);
|
||||
}
|
||||
|
||||
.data : AT(ADDR(.data) + __vma_to_lma) {
|
||||
- __data_start = .;
|
||||
+ HIDDEN(__data_start = .);
|
||||
*(.data)
|
||||
*(.data.*)
|
||||
- __data_end = .;
|
||||
+ HIDDEN(__data_end = .);
|
||||
}
|
||||
|
||||
- __pm_code_end = .;
|
||||
- __pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start);
|
||||
- __pm_code_dwords = (__pm_code_len + 3) >> 2;
|
||||
+ HIDDEN(__pm_code_end = .);
|
||||
+ HIDDEN(__pm_code_len = ABSOLUTE(__pm_code_end) - ABSOLUTE(__pm_code_start));
|
||||
+ HIDDEN(__pm_code_dwords = (__pm_code_len + 3) >> 2);
|
||||
|
||||
. = ALIGN(128);
|
||||
|
||||
- __bss_vma = .;
|
||||
- __bss_lma = .; /* Dummy */
|
||||
+ HIDDEN(__bss_vma = .);
|
||||
+ HIDDEN(__bss_lma = ABSOLUTE(.)); /* Dummy */
|
||||
.bss (NOLOAD) : AT (__bss_lma) {
|
||||
- __bss_start = .;
|
||||
+ HIDDEN(__bss_start = .);
|
||||
*(.bss)
|
||||
*(.bss.*)
|
||||
*(COMMON)
|
||||
- __bss_end = .;
|
||||
+ HIDDEN(__bss_end = .);
|
||||
}
|
||||
- __bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start);
|
||||
- __bss_dwords = (__bss_len + 3) >> 2;
|
||||
+ HIDDEN(__bss_len = ABSOLUTE(__bss_end) - ABSOLUTE(__bss_start));
|
||||
+ HIDDEN(__bss_dwords = (__bss_len + 3) >> 2);
|
||||
|
||||
/* Very large objects which don't need to be zeroed */
|
||||
|
||||
- __hugebss_vma = .;
|
||||
- __hugebss_lma = .; /* Dummy */
|
||||
+ HIDDEN(__hugebss_vma = .);
|
||||
+ HIDDEN(__hugebss_lma = ABSOLUTE(.)); /* Dummy */
|
||||
.hugebss (NOLOAD) : AT (__hugebss_lma) {
|
||||
- __hugebss_start = .;
|
||||
+ HIDDEN(__hugebss_start = .);
|
||||
*(.hugebss)
|
||||
*(.hugebss.*)
|
||||
- __hugebss_end = .;
|
||||
+ HIDDEN(__hugebss_end = .);
|
||||
}
|
||||
- __hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start);
|
||||
- __hugebss_dwords = (__hugebss_len + 3) >> 2;
|
||||
+ HIDDEN(__hugebss_len = ABSOLUTE(__hugebss_end) - ABSOLUTE(__hugebss_start));
|
||||
+ HIDDEN(__hugebss_dwords = (__hugebss_len + 3) >> 2);
|
||||
|
||||
|
||||
/* XXX: This stack should be unified with the COM32 stack */
|
||||
- __stack_vma = .;
|
||||
- __stack_lma = .; /* Dummy */
|
||||
+ HIDDEN(__stack_vma = .);
|
||||
+ HIDDEN(__stack_lma = ABSOLUTE(.)); /* Dummy */
|
||||
.stack (NOLOAD) : AT(__stack_lma) {
|
||||
- __stack_start = .;
|
||||
+ HIDDEN(__stack_start = .);
|
||||
*(.stack)
|
||||
- __stack_end = .;
|
||||
+ HIDDEN(__stack_end = .);
|
||||
}
|
||||
- __stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start);
|
||||
- __stack_dwords = (__stack_len + 3) >> 2;
|
||||
+ HIDDEN(__stack_len = ABSOLUTE(__stack_end) - ABSOLUTE(__stack_start));
|
||||
+ HIDDEN(__stack_dwords = (__stack_len + 3) >> 2);
|
||||
|
||||
- _end = .;
|
||||
+ HIDDEN(_end = .);
|
||||
|
||||
/* COM32R and kernels are loaded after our own PM code */
|
||||
. = ALIGN(65536);
|
||||
- free_high_memory = .;
|
||||
+ HIDDEN(free_high_memory = .);
|
||||
|
||||
/* Stuff we don't need... */
|
||||
/DISCARD/ : {
|
||||
*(.eh_frame)
|
||||
+ *(.interp)
|
||||
}
|
||||
}
|
||||
diff --git a/core/layout.inc b/core/layout.inc
|
||||
index 53ca783d..635df537 100644
|
||||
--- a/core/layout.inc
|
||||
+++ b/core/layout.inc
|
||||
@@ -139,17 +139,6 @@ serial_buf_size equ 4096 ; Should be a power of 2
|
||||
core_xfer_buf resb 65536
|
||||
|
||||
;
|
||||
-; Segment for the real mode code (needed as long as we have a in-kernel
|
||||
-; loader and/or COM16 support.
|
||||
-; One symbol for the segment number, one for the absolute address
|
||||
-;
|
||||
- extern real_mode_seg
|
||||
- section .real_mode write nobits align=65536
|
||||
- global core_real_mode:data hidden
|
||||
-core_real_mode resb 65536
|
||||
-comboot_seg equ real_mode_seg ; COMBOOT image loading zone
|
||||
-
|
||||
-;
|
||||
; At the very end, the lowmem heap
|
||||
;
|
||||
extern __lowmem_heap
|
||||
--
|
||||
2.13.3
|
||||
|
@ -1,12 +1,13 @@
|
||||
config BR2_TARGET_SYSLINUX
|
||||
bool "syslinux"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
select BR2_HOSTARCH_NEEDS_IA32_COMPILER
|
||||
# Make sure at least one of the flavors is installed
|
||||
select BR2_TARGET_SYSLINUX_ISOLINUX \
|
||||
if !BR2_TARGET_SYSLINUX_PXELINUX && \
|
||||
!BR2_TARGET_SYSLINUX_MBR && \
|
||||
!BR2_TARGET_SYSLINUX_EFI
|
||||
select BR2_PACKAGE_UTIL_LINUX
|
||||
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
|
||||
help
|
||||
The syslinux bootloader for x86 systems.
|
||||
This includes: syslinux, pxelinux, extlinux.
|
||||
@ -34,6 +35,7 @@ config BR2_TARGET_SYSLINUX_PXELINUX
|
||||
|
||||
config BR2_TARGET_SYSLINUX_MBR
|
||||
bool "install mbr"
|
||||
depends on !BR2_TOOLCHAIN_HAS_BINUTILS_BUG_19615
|
||||
select BR2_TARGET_SYSLINUX_LEGACY_BIOS
|
||||
help
|
||||
Install the legacy-BIOS 'mbr' image, to boot off a
|
||||
|
@ -8,12 +8,13 @@ SYSLINUX_VERSION = 6.03
|
||||
SYSLINUX_SOURCE = syslinux-$(SYSLINUX_VERSION).tar.xz
|
||||
SYSLINUX_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/boot/syslinux
|
||||
|
||||
SYSLINUX_LICENSE = GPLv2+
|
||||
SYSLINUX_LICENSE = GPL-2.0+
|
||||
SYSLINUX_LICENSE_FILES = COPYING
|
||||
|
||||
SYSLINUX_INSTALL_IMAGES = YES
|
||||
|
||||
SYSLINUX_DEPENDENCIES = host-nasm host-util-linux host-upx
|
||||
# host-util-linux needed to provide libuuid when building host tools
|
||||
SYSLINUX_DEPENDENCIES = host-nasm host-upx util-linux host-util-linux
|
||||
|
||||
ifeq ($(BR2_TARGET_SYSLINUX_LEGACY_BIOS),y)
|
||||
SYSLINUX_TARGET += bios
|
||||
@ -51,21 +52,36 @@ SYSLINUX_POST_PATCH_HOOKS += SYSLINUX_CLEANUP
|
||||
# and the internal zlib should take precedence so -I shouldn't
|
||||
# be used.
|
||||
define SYSLINUX_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \
|
||||
AR="$(HOSTAR)" $(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET)
|
||||
$(TARGET_MAKE_ENV) $(MAKE1) \
|
||||
CC="$(TARGET_CC)" \
|
||||
LD="$(TARGET_LD)" \
|
||||
NASM="$(HOST_DIR)/bin/nasm" \
|
||||
CC_FOR_BUILD="$(HOSTCC)" \
|
||||
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
|
||||
LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
|
||||
$(SYSLINUX_EFI_ARGS) -C $(@D) $(SYSLINUX_TARGET)
|
||||
endef
|
||||
|
||||
# While the actual bootloader is compiled for the target, several
|
||||
# utilities for installing the bootloader are meant for the host.
|
||||
# Repeat the target, otherwise syslinux will try to build everything
|
||||
# Repeat CC and AR, since syslinux really wants to check them at
|
||||
# install time
|
||||
# Repeat LD (and CC) as it happens that some binaries are linked at
|
||||
# install-time.
|
||||
define SYSLINUX_INSTALL_TARGET_CMDS
|
||||
$(TARGET_MAKE_ENV) $(MAKE1) CC="$(HOSTCC) -idirafter $(HOST_DIR)/usr/include $(HOST_LDFLAGS)" \
|
||||
AR="$(HOSTAR)" $(SYSLINUX_EFI_ARGS) INSTALLROOT=$(HOST_DIR) \
|
||||
$(TARGET_MAKE_ENV) $(MAKE1) $(SYSLINUX_EFI_ARGS) INSTALLROOT=$(HOST_DIR) \
|
||||
CC="$(TARGET_CC)" \
|
||||
LD="$(TARGET_LD)" \
|
||||
-C $(@D) $(SYSLINUX_TARGET) install
|
||||
endef
|
||||
|
||||
# That 'syslinux' binary is an installer actually built for the target.
|
||||
# However, buildroot makes no usage of it, so better delete it than have it
|
||||
# installed at the wrong place
|
||||
define SYSLINUX_POST_INSTALL_CLEANUP
|
||||
rm -rf $(HOST_DIR)/bin/syslinux
|
||||
endef
|
||||
SYSLINUX_POST_INSTALL_TARGET_HOOKS += SYSLINUX_POST_INSTALL_CLEANUP
|
||||
|
||||
SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_ISOLINUX) += bios/core/isolinux.bin
|
||||
SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_PXELINUX) += bios/core/pxelinux.bin
|
||||
SYSLINUX_IMAGES-$(BR2_TARGET_SYSLINUX_MBR) += bios/mbr/mbr.bin
|
||||
@ -81,7 +97,7 @@ define SYSLINUX_INSTALL_IMAGES_CMDS
|
||||
$(INSTALL) -D -m 0755 $(@D)/$$i $(BINARIES_DIR)/syslinux/$${i##*/}; \
|
||||
done
|
||||
for i in $(SYSLINUX_C32); do \
|
||||
$(INSTALL) -D -m 0755 $(HOST_DIR)/usr/share/syslinux/$${i} \
|
||||
$(INSTALL) -D -m 0755 $(HOST_DIR)/share/syslinux/$${i} \
|
||||
$(BINARIES_DIR)/syslinux/$${i}; \
|
||||
done
|
||||
endef
|
||||
|
7
boot/ts4800-mbrboot/Config.in
Normal file
7
boot/ts4800-mbrboot/Config.in
Normal file
@ -0,0 +1,7 @@
|
||||
config BR2_TARGET_TS4800_MBRBOOT
|
||||
bool "ts4800-mbrboot"
|
||||
depends on BR2_ARM_CPU_ARMV7A
|
||||
help
|
||||
First level bootloader for TS4800 board
|
||||
|
||||
https://github.com/embeddedarm/ts4800-mbrboot
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user