Age | Commit message (Collapse) | Author |
|
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>
|
|
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
|
|
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
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Phil Sutter <phil.sutter@viprinet.com>
|
|
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 ;)
|
|
you can now choose between specific embedded systems like PC Engines
ALIX boards, Foxboard, .. or between generic architecture support like
x86, x86_64, mips, ...
This does reduce the overhead of duplicate configuration files in target
directory. Now qemu, toolchain and ibm x40 support is combined in one target
directory target/x86. Distinguishing between hardware profiles happens
via menu based configuration. (CPU choice for kernel, CFLAGS for package
building, ..). We will see if this is the right direction.
|
|
- enable busybox applets needed for natvie builds
- add header packages for expat and libnl
- remove rtl8187b driver, use kernel included driver
(needs more testing)
|
|
ipkg will automatically mount the normal read-only rootfs as read-write
and after the command back to read-only. ipkg install/remove/upgrades
are only supported for compact disk or disk based systems. On flash systems
better reflash completely.
make a kernel package containing the real kernel.
Adjust ipkg.conf to contain a configurable server adress.
|
|
|
|
- the name is better, because qemu f.e. is no hardware device
- use make TARGET=alix1c to start with a configuration for this target
- use make TARGET=alix1c allmodconfig to generate a mostly complete config
to build all available packages for this platform as a package
The all.config and .defconfig files needed to get this working are
dynamically generated.
|
|
|
|
- $id$ substitution is not apropriate for git scm
|
|
- use CPU_ARCH for fake dir and ipkg
- enable DEBUG option in menu and rename to ADK_DEBUG
|
|
|