源码是从 https://gitee.com/de-eem/openwrt 搬过来的
Go to file
Florian Fainelli 3810cc0f46 base-files: sysupgrade fail with eglibc
With eglibc, "ldd busybox" give us
    libcrypt.so.1 => /lib/libcrypt.so.1 (0x774be000)
    libm.so.6 => /lib/libm.so.6 (0x773e4000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x773c0000)
    libc.so.6 => /lib/libc.so.6 (0x77276000)
    /lib/ld.so.1 (0x774fe000)

Thus /lib/ld.so.1 is not printed by the libs fonction and isn't copied to the 'new' root before pivot root
libs() { ldd $* | awk '{print $3}'; }
https://dev.openwrt.org/browser/trunk/package/base-files/files/lib/upgrade/common.sh

With uclibc the last line of "ldd busybox" is
    ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x77ada000)

Don't know for musl!

This patch replace https://dev.openwrt.org/changeset/19167, as glibc is gone
The other way around is to rework libs()

Please apply the fix (mine or another) on trunk and AA
Might fix https://dev.openwrt.org/ticket/12273

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@free.fr>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36107
2013-03-22 10:06:06 +00:00
docs docs: update remaining references to functions.sh 2012-12-20 15:29:33 +00:00
include build: make the color of the 'configuration out of sync' warning red to make it harder for users to overlook 2013-03-17 21:12:02 +00:00
package base-files: sysupgrade fail with eglibc 2013-03-22 10:06:06 +00:00
scripts build: BSD compile fixes 2013-03-07 17:32:29 +00:00
target kernel: add missing CONFIG_BLK_DEV_IDE_AU1XXX config option. 2013-03-21 14:56:04 +00:00
toolchain toolchain/binutils: fix partial MD5 sum from r35813 2013-02-26 16:52:36 +00:00
tools firmware-utils/mktplinkfw: Add support for MR3420v2 2013-03-11 15:55:23 +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 .gitignore: Ignore Emacs editor generated files 2011-10-31 09:37:59 +00:00
BSDmakefile add missing copyright header 2007-02-26 01:05:09 +00:00
Config.in kernel: remove the BROKEN dependency on the kernel export symbol strip 2013-03-10 14:51:38 +00:00
feeds.conf.default Add xorg feed to feeds.conf.default 2011-11-16 16:05:23 +00:00
LICENSE finally move buildroot-ng to trunk 2016-03-20 17:29:15 +01:00
Makefile build: it is no longer necessary to call make target/linux/clean as part of make clean 2012-12-02 15:26:28 +00:00
README build: BSD compile fixes 2013-03-07 17:32:29 +00:00
rules.mk fix ARCH_SUFFIX for mips64{,el}r2 2013-02-20 06:49:02 +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, 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