No description
Find a file
John Crispin 491f3fc048 Support for building an hardened OpenWRT
Introduce configuration options to build an "hardened" OpenWRT.

Options to enable Stack-Smashing Protection, FORTIFY_SOURCE and RELRO
have been introduced.

uClibc makefile now automatically detects if SSP support is necessary.

hostapd makefile has been fixed to use "^" as sed separator since
using a comma was problematic when using "-Wl,-z,now" and the like in
TARGET_CFLAGS.

Currently enabling SSP on user space depends on enabling SSP kernel
side, this is due to the fact that TARGET_CFLAGS are used to build
kernel modules (at least). Suggestions on how to avoid this are welcome.
Using "select" instead of "depends on" doesn't seem to work with choice
entries.

Tested with a lantiq (WBMR) router, GCC 4.8, uClibc and a subset of
the available packages.
Needs to be tested with GCC 4.9 and the remaining packages.
PIE not currently included.

Signed-off-by: Alessandro Di Federico <ale+owrt@clearmind.me>

SVN-Revision: 44005
2015-01-17 14:31:30 +00:00
config Support for building an hardened OpenWRT 2015-01-17 14:31:30 +00:00
docs docs: update remaining references to functions.sh 2012-12-20 15:29:33 +00:00
include Support for building an hardened OpenWRT 2015-01-17 14:31:30 +00:00
package Support for building an hardened OpenWRT 2015-01-17 14:31:30 +00:00
scripts scripts/config: sync with linux upstream 2015-01-08 14:33:53 +00:00
target ar8216: introduce ar8xxx_reg_clear complementing ar8xxx_reg_set 2015-01-17 14:24:56 +00:00
toolchain Support for building an hardened OpenWRT 2015-01-17 14:31:30 +00:00
tools tools: libtool relocatable fixes 2015-01-13 10:23:44 +00:00
.gitattributes add .gitattributes to prevent the git autocrlf option from messing with CRLF/LF in files 2012-05-08 13:30:49 +00:00
.gitignore add git-src to .gitignore 2014-01-12 12:06:39 +00:00
BSDmakefile add missing copyright header 2007-02-26 01:05:09 +00:00
Config.in scripts/config: sync with linux upstream 2015-01-08 14:33:53 +00:00
feeds.conf.default Move telephony feed to github 2014-12-11 10:30:51 +00:00
LICENSE finally move buildroot-ng to trunk 2016-03-20 17:29:15 +01:00
Makefile Revert "build: use ONESHELL to speed up scanning and the toplevel makefile" 2014-10-22 10:47:26 +00:00
README Add 'subversion' build dependency to README 2014-08-31 12:06:32 +00:00
rules.mk build: do not assume that gcc-{ar,ranlib,nm} is usable with an external toolchain 2015-01-10 16:14:25 +00:00

This is the buildsystem for the OpenWrt Linux distribution.

Please use "make menuconfig" to configure your appreciated
configuration for the toolchain and firmware.

You need to have installed gcc, binutils, bzip2, flex, python, perl, make,
find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers.

Run "./scripts/feeds update -a" to get all the latest package definitions
defined in feeds.conf / feeds.conf.default respectively
and "./scripts/feeds install -a" to install symlinks of all of them into
package/feeds/.

Use "make menuconfig" to configure your image.

Simply running "make" will build your firmware.
It will download all sources, build the cross-compile toolchain, 
the kernel and all choosen applications.

You can use "scripts/flashing/flash.sh" for remotely updating your embedded
system via tftp.

The OpenWrt system is documented in docs/. You will need a LaTeX distribution
and the tex4ht package to build the documentation. Type "make -C docs/" to build it.

To build your own firmware you need to have access to a Linux, BSD or MacOSX system
(case-sensitive filesystem required). Cygwin will not be supported because of
the lack of case sensitiveness in the file system.


Sunshine!
	Your OpenWrt Project
	http://openwrt.org