Age | Commit message (Collapse) | Author |
|
After the addition of bare metal toolchains the menu system allowed
to create non-valid configurations. I reworked it so we can also
add other operating system support if we wish.
So first you choose your operating system, then your architecture
and endianess, after that your embedded system, emulator or
generic device and then you choose your task you want to run.
Tasks may be toolchain, a new appliance/application or some preconfigured
sets of packages and configurations as kodi, mpd, firefox and more.
The tasks are limited to a plausible choice of hardware and software.
Deduplicate CPU configuration.
You don't wanna compile Kodi for a H8/300 microcontroller ;)
|
|
|
|
Buildroot uses the two-stage mechanism since a while.
This reduces the build time a lot. Instead of three stages,
we just use the two-stage build. The benefit is that
the C library do not need to be rebuild and one gcc compile
is obsolete. Tested with embedded-test.sh.
There is one unresolved problem, tile toolchain
building is broken.
|
|
|
|
Instead of maintaining mk/modules.mk which defines compilations of
related kernel modules to pack together into a single package, follow an
automatic approach: For every kernel module found in the modules
installation directory, create a single package.
There are a few caveats to cover:
=== Module Loading Order ===
Upon bootup, module loading is ordered based on the number-prefixed
files in /etc/modules.d/. The correct number was previously managed in
mk/modules.mk on a per-collection basis. The new approach is to have
levels which modules are to be assigned to. Level 0 contains modules
with no dependencies at all. Level 1 contains modules which have only
level 0 dependencies, and so on. This information is determined at
compile-time by make-module-ipkgs.sh.
=== Module Installation to Target RootFS ===
Since module packages are created automatically from the modules the
script finds, ADK build system has no knowledge about the connection
between what the user has selected in menuconfig and the actual module
packages. Therefore the earlier approach to install selected packages
into rootfs does not hold anymore. Instead, use wildcards to find all
packages in firmware directory prefixed by 'kmod-' and install them all
(hopefully doing the right thing).
=== Kernel Version ===
KERNEL_VERSION now contains KERNEL_RELEASE already
By creating a localversion file, make KERNEL_RELEASE part of the
kernel's version number (so KERNEL_VERSION is correct in most
situations)
Signed-off-by: Phil Sutter <phil@nwl.cc>
|
|
|
|
Otherwise toolchain only compiling of gcc is failing
while trying to install header files.
|
|
|
|
Enable Kernel options for Realtime, HZ and HighRes Timer
in menuconfig.
|
|
This change is straightforward but in toolchain/kernel-headers/Makefile
which seems to be called before ${BUILD_DIR}/linux symlink exists.
Therefore define LINUX_DIR to the correct value in between inclusion of
vars.mk (through rules.mk) and kernel-vars.mk.
|
|
Introduce new board symbols for embedded systems, which use
the similar board as basis. As for example raspberry pi and
raspberry pi2.
And some more updates:
Update binutils to 2.25, set gcc 4.9.2 as default.
Update glibc to 2.21, set as default.
Update gdb to 7.8.2.
Update kodi to latest release.
|
|
- Sync with Kernel upstream Kconfig
- use new feature visible
- add a patch for select on choices
https://lkml.org/lkml/2011/2/17/379
- rename ADK_LINUX -> ADK_TARGET_ARCH
- remove package collection feature
- add appliance feature to define a appliance
more complete
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
to avoid namespace collisions in some packages, rename TOPDIR.
Sorry you need to make cleandir && make prereq && make
|
|
|
|
After Joerg asked me about the difference between
ADK_TARGET_ARCH and ADK_TARGET_CPU_ARCH I recognized many duplication
of variables for this information.
These patch fixes this up. Use make cleandir && make menuconfig && make
|
|
|
|
|
|
|
|
|
|
|
|
kernel, can make issues
|
|
|
|
relocs tool uses some kind of regular expression, which does
not work with the provided one. Use pcre in this case.
Rework KERNEL_MAKE_OPTS while here. Use it in kernel-header, too.
|
|
no difference
|
|
|
|
toolchain archive creation issues, remove unneeded files before packaging.
|
|
|
|
support is bad, kernel needs patches for serial and network
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- just use on sysroot directory for toolchain.
- add missing patches from previos commit. (rpath/cflags cleanup)
|
|
Make configuration of new targets cheap.
Just add a new file in target/arch/sys-enabled/foo.
See other files for syntax. While doing runtime tests
with the new infrastructure I've updated a lot of other
stuff:
- gcc 4.5.2
- uClibc 0.9.32-rc1 (NPTL)
- strongswan, php, miredo, parted, util-linux-ng, e2fsprogs
I promise, this is the last big fat commit this year ;)
|
|
|
|
make an extra linux-headers dir in STAGING_DIR for special
cases, where host gcc is used, but kernel headers from Linux
are needed. Move GNU make specific export to GNUMakefile.
|
|
- fix image build for different root filesystems
- get rid of duplicate symlink to include dir
- finetune mpd config file
|
|
- $id$ substitution is not apropriate for git scm
|