Go to file
Yann E. MORIN 08fc0a47e1 package/skeleton: ensure custom skeleton uses merged /usr if needed
When using systemd, the policy in Buildroot is to use a merged /usr
(see c5bd8af6, "system: add options for /bin /sbin and /lib to be
symlinks into /usr" for more info). So, we apply a few tricks in some
packages to account for the merged /usr case.

However, when using a custom skeleton, we have no say in how that
skeleton is organised, so it may well have a split /usr. In that case,
our little tricks might not work as expected.

So, when the user uses a custom skeleton and wants systemd as an init
system, we must check that the custom skeleton is setup with a merged
/usr.

We do that by checking that each pair of {/lib,/usr/lib} {/bin,/usr/bin}
and {/sbin,/usr/sbin} have the same inode numbers, i.e. /lib must have
the same inode number as /usr/lib (and so on...). When a pair does not
share the same inode number, this is not a merged /usr and we abort.

We implement that check with make constructs, so it is done very early
in the build process, and we can abort early if need be.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-11-10 23:47:53 +01:00
arch arch/arm: VFP and Thumb1 are not compatible 2015-11-03 23:50:01 +01:00
board configs: add Freescale i.MX6 SoloX Sabre SD support 2015-11-04 22:50:35 +01:00
boot uboot: fix hash for 2015.10 version 2015-10-28 23:40:17 +01:00
configs configs: remove integrator926_defconfig 2015-11-05 23:12:54 +01:00
docs website/news: update with release date and announcement e-mail link 2015-11-08 14:42:46 +01:00
fs fs/ext2: add options for extra space and extra inodes 2015-10-31 15:56:56 +01:00
linux linux: bump default version to 4.3 2015-11-02 20:56:43 +01:00
package package/skeleton: ensure custom skeleton uses merged /usr if needed 2015-11-10 23:47:53 +01:00
support Makefile: Remove 'quiet' variable 2015-10-29 00:04:05 +01:00
system system: Fix warning when selecting systemd and ensure merged /usr workarounds are enabled 2015-11-09 21:48:10 +01:00
toolchain toolchain/external: fix gdbserver install with Linaro 2015.08 2015-11-05 23:21:38 +01:00
.defconfig
.gitignore
CHANGES Update for 2015.11-rc1 2015-11-07 22:43:57 +01:00
Config.in
Config.in.legacy gst1-plugins-bad: update configure options 2015-10-21 23:36:37 +02:00
COPYING
Makefile Update for 2015.11-rc1 2015-11-07 22:43:57 +01:00
Makefile.legacy
README

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on Freenode IRC.