| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not create /bin, /sbin, /usr/sbin and /lib
Create symlinks
/bin -> /usr/bin
/sbin -> /usr/bin
/usr/sbin -> /usr/bin
/lib -> /usr/lib
More info here:
https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
|
|
|
|
| |
Change-Id: I2caada1a07a8e06d6236614f7459d9a2db693d69
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following error was happening after upgrading to GCC 5.3.0
in armv7lhf builds:
Switch "--with-arch" may not be used with switch "--with-cpu"
Also, I could find other places where this flag was removed when
upgrading to GCC 5:
http://pkgs.fedoraproject.org/cgit/rpms/gcc.git/commit/gcc.spec?id=7f999936529d6902d43c8cc807ceb3a6843f3072
Change-Id: Ib3934098518dc496d3c9d29a9c7f97a7cfeab9c7
|
|
|
|
| |
Change-Id: I0e2b2c2f823e89b1bcbba6149fa6d92dce3d07cb
|
|
|
|
| |
Change-Id: I0c0dc78ed03f8ec81e4af69e2e86f70aa954d6a0
|
|
|
|
| |
Change-Id: I10f5794157941c828db8d3acbc386dffbacd1831
|
|
|
|
|
|
|
|
|
|
|
|
| |
There should be some options here for building glibc.morph
with different flavors, to allow minimalistic systems with
less then all supported locales installed (this is a ~100MB cache file).
For now just simply install all locales supported by the glibc installed
charsets using glibc's automatic make target, which seems to make more sense
than not installing any locales at all.
Change-Id: I86287b027bb6d1c062277bc916de8586408edd83
|
|
|
|
|
|
|
|
|
|
|
| |
During the stage2 build, we are using header files from the target
sandbox but host build tools, which will automatically detect guile
if present on the build host.
This prevents the build of 'make' to otherwise fail while building
guile.o, due to the lack of 'gmp.h' (and possibly other unneeded cruft).
Change-Id: I5be8467afc9486bf40055000e4c6460232345b93
|
|
|
|
|
|
|
|
| |
The current split rule assumes all libraries are placed in
usr/lib or lib where on many architectures they could instead be
in lib32 or lib64, or usr/lib32 or usr/lib64.
Change-Id: Iec2557b7a17213d46f7a9d9e93c063c2d4fac655
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was done using the 'indent' tool, which uses a fork of PyYAML named
'ruamel.yaml' to rewrite YAML files without losing comments, ordering,
or certain elements of formatting.
My aim with doing this is to open the door to automated editing of the
reference system definitions using the 'ruamel.yaml' library. This can
be used to implement automated migration when we want to make changes to
the YAML format that we use to represent Baserock system definitions.
Although this looks drastic, remember that it's actually only altered
65 out of 608 .morph files -- the vast majority already pass unchanged
through my version of ruamel.yaml.
Change-Id: I95ec978714b5bd1c02c90183336a9fbb846cb692
|
|
|
|
|
|
| |
The BSD 'sed' used on Mac OS X is a bit rubbish compared with GNU 'sed'.
Change-Id: Ic26878301b49099252b04d8a0854e551c352ad54
|
|
|
|
|
|
|
|
| |
I did two builds of 'busybox' on the same system, using YBD, and found
that the only difference between the two artifacts was the
/baserock/busybox.meta file, as this contains an 'elapsed_time' field.
Change-Id: Id6d65e68286cdd47eb44ad838a15c599b91c4e8d
|
|
|
|
|
|
|
|
|
|
|
|
| |
We are generating a c++ compiler in stage 1, so no need to
use the workaround introduced in commit
e72775acb5326e948d2542622afb9bed4fd67c15
to be able to compile binutils without a c++ compiler
This allows using upstream release tarballs of binutils, where
before we had to patch out the AC_PROG_CXX statement from
configure.in.
Change-Id: I1ce9d2946f3a23a4355e8ec527a5ebfbce987d99
|
|
|
|
|
|
| |
Also remove morph file as doesnt seem to be needed
Change-Id: I2be278552baee752db39d1af7f95e7e98de75cf9
|
|
|
|
| |
Change-Id: Id7b85f0700e2b422a1a610d09d76e038e14db73c
|
|
|
|
|
|
|
|
|
|
|
| |
specific
Include ld.so.conf and ld.so.conf.d in the glibc-libs artifact
This fixes a problem with minimal systems introduced by this commit:
c9afefed2d2278046ec5c0fb11c32220f3b7380d
It meant that /etc/ld.so.conf was missing in minimal systems
Change-Id: I4b63c33c4572e78092e1b434489787f3e788a80f
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit acb29d344d117133891199ea536d9c4d34c7d05e.
We have discovered that Baserock systems built with GCC 5.1 cannot
*deploy* working disk images. The images hang in SYSLINUX. We suspect
that it is a bug in SYSLINUX that is triggered by the compiler upgrade,
and upgrading SYSLINUX may well fix this issue, but we don't have time
to do this and test it in time for a 15.19 release
Change-Id: I3c661b14fb923eee37c4c0148904620362fe62e2
|
|
|
|
| |
Change-Id: Iad8f11341a4a770c14393a50d1b0d3e26c076dbf
|
|
|
|
|
|
|
| |
Also source /etc/bash.bashrc so bash will work properly
if we use it for login
Change-Id: I4a4b238f84c44858904b0a208ef8737a859c355d
|
|
|
|
| |
Change-Id: I8220cd76e947de26335066357d69d2c5c204257c
|
|
|
|
| |
Change-Id: Icb223438e2ed7bc54e8d1ea7573594418ebe0445
|
|
|
|
| |
Change-Id: Ie917edd78e0c7640b86396ed5a5d968a0baaad9b
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit a51a8ee9fe2c691a4b2d73fe06c1fde1d18f1153.
This symlink was a bad idea. We found that if the stage1-gcc chunk is
built on an ARM system with EGLIBC 2.15, then run on a system with GLIBC
2.20, the GCC binaries segfault on startup, inside the _dl_addr()
function. This is likely the result of an ABI compatibility between
EGLIBC 2.15 and GLIBC 2.20.
Morph still has a big hole in its caching algorithm whereby 'bootstrap'
mode chunks built against incompatible libc versions get the same
cache-key, and cause random breakages. We either need to fix this, or
ensure that the reference bootstrap is entirely statically linked, as
soon as possible.
Change-Id: I400d293dc8022ca6ab5a0ebda62ce378e9bf3317
|
|
|
|
| |
Change-Id: I55bf8764a105308d965947c3721a193abf7502ac
|
|
|
|
|
|
|
|
|
|
| |
This should be safe as we only build 3.19 in our systems (3.18 in the
case of the jetson)
For reference:
http://www.gnu.org/software/libc/manual/html_node/Configuring-and-compiling.html
Change-Id: I40df10570e3d2602c6f1b223ebb71753c6f86f8e
|
|
|
|
|
|
|
|
|
|
|
|
| |
On non-x86 systems, the linker may not be called ld-linux.so.* but
the older name of ld.so.*
When the linker is ld.so.1, for example, the install script of
stage2-glibc does not exit with an error (as basename/ls are in
subshells), but rather $loader is empty string.
This means that the symlink made is from /lib/lib to /tools/lib
rather than from /lib/ld.so.1 to /tools/lib/ld.so.1.
|
| |
|
|\
| |
| |
| |
| | |
Reviewed-by: Sam Thursfield
Reviewed-by: Pedro Alvarez
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Morph's cache key algorithm doesn't yet take into account the fact that
bootstrap chunks use files from the host system. While we are careful in
the Baserock reference system definitions to minimise the number of
components from the host system that it uses, the GNU C Library is
pretty much unavoidable.
Until we make the cache key algorithm more comprehensive, we need to
ensure that the bootstrap-mode chunks from build-essential will indeed
run on all versions of Baserock 'build' and 'devel' reference systems.
Otherwise cached artifacts built on one system will randomly break for
other people using different systems.
This commit fixes one such breakage, which was due to the name of the
GLIBC dynamic loader (ld.so) changing on ARMv7 hard-float platforms.
|
|
|
|
| |
This should be the default for a tarball release
|
|
|
|
|
| |
Support installing the Linux headers for the morph armv8l64 and armb8b64
archs.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Reviewed by:
* Sam Thursfield
* Paul Sherwood
* Josh Malkinson
|
| |
| |
| |
| | |
This will make it easier to advance refs later.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update the GCC compiler to the 4.9.2 version. It turns out that a C++
compiler is required to build the latest GCC releases, so build one in
stages 1 and 2 as well.
The updated list of GCC configuration options that either don't work in
a cross compiler or are not needed in a temporary compiler, were based
on the latest instructions from Linux From Scratch.
The inclusion of /lib64 in the lib path for the stage 1 linker is an
attempt to turn things more robust rather than to just symlink in /lib
stuff that ends up installed in /lib64 (as it is already being done for
libgcc_s.so). Ideally, we should configure every chunk to install to
/lib, however GCC seems to not honour the `--with-libdir` configuration
flag.
With this version of GCC, it looks like a sysroot needs to be given at
configure time so that `--with-native-system-header-dir` does what it
claims to do. Unfortunately, this has the side effect of making GCC not
passing to the linker the linker sysroot flag: `-Wl,--sysroot=$SYSROOT`.
The workaround is to modify LDFLAGS to give a sysroot directly to GCC,
`--sysroot=$SYSROOT`, which will then be further passed down to the
linker.
As the newest version of GCC finds more warnings than the previous one,
`-Werror` was disabled for the coreutils, GDB and Syslinux projects.
Syslinux's Makefile had to be patched, as it is not possible to disable
`-Werror` for all targets through the NO_WERROR variable.
The hack to handle libgcc_eh being required during eglibc's build was
removed, as it doesn't seem to be the case anymore.
|
| |
| |
| |
| |
| | |
M4 is required to manipulate the assembly code in GMP. GMP is a math
library required to build GCC.
|
| |
| |
| |
| |
| | |
No functional changes here. It will ease the review of the following
commmits.
|
|/
|
|
| |
We will use the pciutils lspci
|
|
|
|
| |
This is automatically configured by systemd
|
| |
|
| |
|
|
|
|
|
| |
This change is to prepare the transition to glibc since
the latter is going to need bash to build.
|
|\
| |
| |
| |
| | |
Reviewed-By: Pedro Alvarez <pedro.alvarez@codethink.co.uk>
Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
|
| |
| |
| |
| |
| | |
These will have been lost in the automated chunks-in-definitions
transition.
|
|/
|
|
|
|
| |
The 'make mrproper' command now requires GNU Bash, but since we start
from a clean Git checkout of linux.git we can just remove that from the
build command list.
|
|
|