summaryrefslogtreecommitdiff
path: root/mk/kernel-build.mk
AgeCommit message (Collapse)Author
2016-05-21we need kernel compression support for defconfigsWaldemar Brodkorb
2015-12-21fix with no modulesWaldemar Brodkorb
2015-12-13rework prereq checkWaldemar Brodkorb
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>
2015-12-11Revert "rework prereq check"Waldemar Brodkorb
This reverts commit fba2ff31928b18364c1934654169806f5c800e23.
2015-12-11rework prereq checkwbx
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
2015-09-12allow to use a defconfig, enable always experimental support in kernelWaldemar Brodkorb
2015-08-30skip building and installing kmod packages if using udevBALATON Zoltan
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
2015-08-27use HOST_PATH for modinfo, remove LOCALVERSION overwriteWaldemar Brodkorb
2015-08-20we need to check if any kernel modules are used, otherwise build breaksWaldemar Brodkorb
2015-08-03rework kernel module infrastructureWaldemar Brodkorb
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>
2015-07-06use depmod only when udev is choosen by the userWaldemar Brodkorb
2015-07-06do depmod during modules_install (trying to fix linux-git with udev)BALATON Zoltan
Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
2015-06-17fix opkg packaging of kernel modules, reported by joerg s.Waldemar Brodkorb
2015-04-26remove -C $(LINUX_DIR) from OPTS variableWaldemar Brodkorb
Otherwise toolchain only compiling of gcc is failing while trying to install header files.
2015-02-28extend KERNEL_MAKE_OPTS by the target directoryPhil Sutter
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.
2014-06-21s/TOPDIR/ADK_TOPDIR/Waldemar Brodkorb
to avoid namespace collisions in some packages, rename TOPDIR. Sorry you need to make cleandir && make prereq && make
2014-06-02refactor CPU_ARCH/ARCH variablesWaldemar Brodkorb
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
2014-05-23discussed with phil, do not split kernel patches between kernel-headers and ↵Waldemar Brodkorb
kernel, can make issues
2014-04-15add basic support for aarch64 with ARMv8 foundation model, toolchain and ↵Waldemar Brodkorb
kernel works, userland broken.
2014-03-26test framework fixesWaldemar Brodkorb
2014-03-15fix kernel build on Darwin for x86 targetsWaldemar Brodkorb
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.
2014-03-13update to 3.10.33Waldemar Brodkorb
- add support for system specific patches, cubox-i and raspberry-pi patches are in conflict - fix hifiberry driver support
2014-03-11finetune rebuild stuffWaldemar Brodkorb
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.
2013-12-28convert microblaze to miniconfig kernel config generation, add support for ↵Waldemar Brodkorb
squashfs and jffs2 rootfs for qemu-microblaze, add support for both machine emulations
2013-12-08add support for microblaze architecture, tested with qemu-system-microblaze{,el}Waldemar Brodkorb
2013-11-11fix rebuild issue for zimage targetWaldemar Brodkorb
2013-11-09kernel name and make target are different things, sometimesWaldemar Brodkorb
2013-11-08unbreak module buildWaldemar Brodkorb
2013-11-08enable variable kernel target name, qemu-mips targets use vmlinuzWaldemar Brodkorb
2013-10-25fix non-verbose buildWaldemar Brodkorb
2012-08-06quietWaldemar Brodkorb
2012-07-16add support for m68k toolchain/qemuWaldemar Brodkorb
2011-06-12update default kernel to 2.6.39Waldemar Brodkorb
2011-01-07pass KERNEL_MAKE_ENV to all invocations of make on the Linux kernelThorsten Glaser
similar to KERNEL_MAKE_OPTS just as environment Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
2010-12-30rework architecture / embedded systems conceptWaldemar Brodkorb
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 ;)
2010-09-16Merge branch 'master' of git+ssh://openadk.org/git/openadkWaldemar Brodkorb
Conflicts: mk/kernel-build.mk package/expat/Makefile package/gettext/Makefile package/perl/Makefile package/zlib/Makefile
2010-09-16add some native build fixes (tested on Lemote notebook)Waldemar Brodkorb
- enable busybox applets needed for natvie builds - add header packages for expat and libnl - remove rtl8187b driver, use kernel included driver (needs more testing)
2010-08-06some more fixes for 2.6.35 update on lemoteWaldemar Brodkorb
2010-07-01fix compile breakWaldemar Brodkorb
2010-06-29optimize ipkg package managementWaldemar Brodkorb
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.
2010-06-28fix busybox rebuild issue, simplify target MakefilesWaldemar Brodkorb
2010-02-27fix checksum check of toolchain archives after downloadWaldemar Brodkorb
and update alix/wrap targets to 2.6.33
2010-01-07fix build bug, found by joerg.Waldemar Brodkorb
It seems to be a problem to call PKG_INSTALL via $(shell ..)
2009-12-28fix kmod package installationWaldemar Brodkorb
2009-12-17add sangam-atm packageWaldemar Brodkorb
- driver package for ag241 dsl modem, it loads, but we will see if it works..
2009-11-19rename DEVICE to ADK_TARGETWaldemar Brodkorb
- 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.
2009-10-01abstract package backend, add perlLinux User
2009-09-11fix showstopper ;)Waldemar Brodkorb
Accidently forgot to rename these, too. I removed redundant variables. TARGET_CROSS / KERNEL_CROSS
2009-08-28core: allow selecting parallel buildsPhil Sutter
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.
2009-08-28kernel: simplify ADK_NATIVE test integrationPhil Sutter