Age | Commit message (Collapse) | Author |
|
|
|
|
|
The new prereq check is completely implemented in
POSIX shell in scripts/prereq.sh.
It combines the old features from Makefile, scan-tools.sh,
scan-pkgs.sh, reloc.sh and some wrappers for tools.
The big benefit is to have all portability stuff in one place.
Furthermore we can compile GNU make and bash on the fly, for
systems lacking the required tools.
All changes on the host are detected on the fly, no make
prereq required anymore.
The build process is separated in following three phases:
1. small wrapper Makefile is used for BSD make or GNU make
2. prereq.sh is called, doing all checking, calling Makefile.adk
3. old logic in Makefile.adk or mk/build.mk is used
Tested successfully on Linux, MacOS X, Cygwin, FreeBSD, OpenBSD
and NetBSD.
An old depmaker bug was fixed, only optional host tools are compiled.
For example, even when a host provides xz, a local xz was compiled
in the past, because other packages had a build dependency on it.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
This reverts commit fba2ff31928b18364c1934654169806f5c800e23.
|
|
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
|
|
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
|
|
|
|
|
|
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>
|
|
|
|
Otherwise toolchain only compiling of gcc is failing
while trying to install header files.
|
|
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.
|
|
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
|
|
kernel works, userland broken.
|
|
|
|
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.
|
|
- add support for system specific patches, cubox-i and raspberry-pi patches
are in conflict
- fix hifiberry driver support
|
|
need to rebuild kmod-packages, when removed. f.e. by hudson.
fix kmod-soft-watchdog while there. Use bin directory for ldd
to avoid a cpio failure.
|
|
squashfs and jffs2 rootfs for qemu-microblaze, add support for both machine emulations
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
similar to KERNEL_MAKE_OPTS just as environment
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
|
|
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 ;)
|
|
Conflicts:
mk/kernel-build.mk
package/expat/Makefile
package/gettext/Makefile
package/perl/Makefile
package/zlib/Makefile
|
|
- 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.
|
|
|
|
and update alix/wrap targets to 2.6.33
|
|
It seems to be a problem to call PKG_INSTALL via $(shell ..)
|
|
|
|
- driver package for ag241 dsl modem, it loads, but
we will see if it works..
|
|
- 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.
|
|
|
|
Accidently forgot to rename these, too. I removed redundant variables.
TARGET_CROSS / KERNEL_CROSS
|
|
The value of CONFIG_ADK_MAKE_JOBS is being passed to make via the option
'-j', in order to have it run multiple jobs simultaneously. This is done
for all kernel builds, and per default for each package using the
default BUILD_STYLE of 'auto', unless the package makefile defines
PKG_NOPARALLEL to a non-empty string.
|
|
|