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 ;)
|
|
1.0 config
|
|
|
|
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
|
|
|
|
Some targets do not support compressed kernels or initramfs.
OpenADK combines both, there is no support for mixed setups.
For example Kernel with gzip, initramfs with xz.
Qemu-Metag f.e. can only use uncompressed initramfs.
The kernel could be compressed, but mixed setup isn't
available for now.
|
|
|
|
|
|
|
|
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>
|
|
|
|
|
|
|
|
|
|
|
|
We don't need this, as ARCH is implicit through the directory.
All lower case symbols should be removed now.
|
|
|
|
|
|
|
|
|
|
|
|
malloc needs to be fixed for linuxthreads in uClibc-ng git.
|
|
Use MALLOC for uClibc/uClibc-ng 1.0.
Choice will be removed in uClibc-ng git.
|
|
Add new configs for uClibc-ng master.
New symbol UCLIBC_HAS_LINUXTHREADS added.
LT.new is removed in master, only LT.old and NPTL exist.
CLeanup MMU/NPTL/LT support symbols.
Tested with toolchain building for all supported architectures.
|
|
|
|
|
|
|
|
support is bad, kernel needs patches for serial and network
|
|
|
|
Using the kernel tools is a lot better than calling cpio ourselfs, as
this way we can have it create device nodes for us. So no need to reopen
/dev/console and things like that.
While here, fix also initramfs compression (untested), as in my
experience the kernel drops all symbols regarding compression from it's
.config in the first compile phase. Probably one should make the actual
compression algorithm configurable (and ideally depending on what the
kernel supports for the given architecture).
This is a rough hack based on what I'm using in the custom viprinux
build file, so something like this is already running somewhere. ;)
|
|
|
|
|
|
|
|
|
|
systems
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|