summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2016-06-19use u-boot boot scriptWaldemar Brodkorb
2016-06-12solidrun-imx6: SPL is biggerWaldemar Brodkorb
2016-05-03update rpi kernel patch, add mkknlimg back, more fixesWaldemar Brodkorb
2016-05-03handle new binfmt suffixWaldemar Brodkorb
2016-04-13sync with mk/vars.mk changeWaldemar Brodkorb
2016-04-13mark bare-metal toolchainsWaldemar Brodkorb
2016-04-06remove duplicate lineWaldemar Brodkorb
2016-04-06add basic raspberry pi3 support (ARM 32Bit)Waldemar Brodkorb
2016-04-04new bcm28xx-bootloader does not work with mknlimg, fix 4.1.20 rpi2 bootupWaldemar Brodkorb
2016-03-27reimplement package patching and update-patches logicPhil Sutter
This works by using git as backend for all the dirty work. This means that patches are not just applied, but committed separately on top of the base sources (which are put into an initial commit). A final empty commit marks the end of the applied patch series, which allows to have multiple sets of patches to apply on top of each other. So a git history might look like this: - OpenADK patch marker: 0000 (this is the initial commit, containing the unpatched sources) - patch 1 of series 1 - patch 2 of series 1 - patch 3 of series 1 - OpenADK patch marker: 0001 - patch 1 of series 2 - patch 2 of series 2 - OpenADK patch marker: 0002 In addition to the separating empty commits, for every patch series metadata files are added (which are used for update-patches): __patchfiles__: A list of the patches' file names __patchdir__: The directory containing the applied patches Since patches might have to be unzipped first and in order to allow calling git-am just once for each patch series, the patches (along with above metadata files) are cached in dedicated directories: .git/patch_tmp/NNNN (where NNNN is the series number with leading zeroes [so shell globbing returns them in the right order]). In case update-patches is called later, update_patches.sh works it's way reverse through the git history, searching for commits named 'OpenADK patch marker: NNNN'. For each one it finds, it uses the metadata info to first remove all source patch files, then export the history in between using git-format-patch. To change patches or add new ones, the user has to use git-rebase in order to get things where they need to be for update_patches.sh to put stuff at the right place. For an example, here is how to change patch 3 of series 1 in the sample history above: - make desired code changes - commit them, ideally using --fixup option - call 'git rebase -i --autosquash <hash of OpenADK patch marker: 0000>' Using --fixup and --autosquash is convenient, since it automatically edits the rebase todo as intended. It's optional though, editing the todo manually will do just fine as well. Signed-off-by: Phil Sutter <phil@nwl.cc>
2016-03-14exit if kernel not foundWaldemar Brodkorb
2016-03-11allow to select nds32 to build uClibc-ng toolchainWaldemar Brodkorb
2016-03-10make parts of the menu visible if architecture is choosen to guarentee ↵Waldemar Brodkorb
defaults are set right
2016-03-09remove underscore from suffixWaldemar Brodkorb
2016-03-09fix update-rcconfWaldemar Brodkorb
2016-03-07rework menu based config systemWaldemar Brodkorb
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 ;)
2016-03-02build host u-boot when mkimage is not installedWaldemar Brodkorb
2016-02-29add new PKG_GIT variableWaldemar Brodkorb
We can now clone git tags and branches in a more performant way. No change for specific hashes, other then PKG_GIT is required now. Do not remove .git dirs, as the downloaded code might be used to add a patch and send upstream. Add git as requirement for downloading. Remove unmaintained u-boot-git package.
2016-02-27on Linux partprobe might be useful, but not before every filesystem creationWaldemar Brodkorb
2016-02-27prereq: add gzip/zlib checksWaldemar Brodkorb
2016-02-27add new lines for package dependent requirement messagesWaldemar Brodkorb
2016-02-26prereq: allow verbose download messages from fetchcmd when make v is usedWaldemar Brodkorb
2016-02-26prereq: fatal error when no C/C++ compiler foundWaldemar Brodkorb
2016-01-05fix binutils compile for avr32 targetWaldemar Brodkorb
2016-01-04there is no reason not to use uClibc-ng for kodiWaldemar Brodkorb
This was tested on a rpi2.
2015-12-23optimize for really small systemsWaldemar Brodkorb
Default to busybox hush for noMMU systems. Add busybox profiles to choose a minimal busybox config for noMMU systems. Add gdb git from ysato for h8/300 simulator. Change some kernel defaults to off to have a really small kernel. For bfin simulator the kernel+initramfs is smaller then 2MB in size.
2015-12-22add missing HOST_CFLAGS/HOSTCXX_FLAGSWaldemar Brodkorb
2015-12-21use grep -iWaldemar Brodkorb
2015-12-20use strings instead of modinfo for a portable wayWaldemar Brodkorb
Idea from Phil to have a portable method to find the kernel module dependencies. make-module-ipkgs.sh uses associative arrays, so check for bash version 4.
2015-12-15add message when c/c++ compiler not foundWaldemar Brodkorb
2015-12-15BCM28XX uses mkknlimg which need GNU tr, check for it otherwise compile ↵Waldemar Brodkorb
coreutils on host
2015-12-15recognize clang befoe gcc, so that we set the right optionsWaldemar Brodkorb
2015-12-13allow to fetch on redirectsWaldemar Brodkorb
2015-12-13special case for defconfig used by embedded-test.shWaldemar 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-12-10detect BSD bc and use our own to avoid linux kernel compile breakageWaldemar Brodkorb
2015-12-09add some FreeBSD compat fixesWaldemar Brodkorb
2015-12-06install config.sub and config.guess alwaysWaldemar Brodkorb
We need it for toolchain components. Add latest config.sub/config.guess from upstream with a minor patch for sh2eb detection.
2015-12-05arc: allow big-endian testingWaldemar Brodkorb
2015-12-01use adk host sed for mac, no sed wrapperWaldemar Brodkorb
2015-11-05there is no find wrapper, so build findutils even if gfind is availableWaldemar Brodkorb
2015-10-23arc: add support for free nSIM simulator, thx to Alexey for hints to get it ↵Waldemar Brodkorb
running
2015-10-08fix regexWaldemar Brodkorb
2015-09-06remove unused call to modinfoWaldemar Brodkorb
2015-09-06scripts: fix make-module-ipkgs.shPhil Sutter
The recursive call of find_modlevel overwrites the loop variable 'dep' if not declared local before. Yay. Signed-off-by: Phil Sutter <phil@nwl.cc>
2015-08-27allow to build ALSA, I2C, SPI as kernel modulesWaldemar Brodkorb
2015-08-27update to latest upstreamWaldemar 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>