Currently, using kernel config fragments is not working. If you try
adding one as documented in the Yocto Mega Manual [1], it will be
ignored.
There are two reasons for this:
- The config fragment logic is in kernel-yocto.bbclass, so we need to inherit
that (this is similar to what linux-raspberrypi does in meta-raspberrypi).
- We remove ${B}/.config, which undoes any config created by
kernel-yocto.
Fix this by inheriting kernel-yocto and not removing ${B}/.config. With
this patch, fragments are working. Note that we also need to add a few
variables (like KERNEL_KBUILD) to make kernel-yocto happy.
[1]
http://www.yoctoproject.org/docs/2.5/mega-manual/mega-manual.html#creating-the-append-file
Signed-off-by: Martin Kelly <mkelly@xevo.com>
Orange Pi Zero Plus2 board is based on AllWinner H5 SoC.
For more details on its hardware see linux-sunxi wiki:
http://linux-sunxi.org/Xunlong_Orange_Pi_Zero_Plus_2
This patch enables basic support for orange-pi-zero-plus2 board:
- mainline kernel 4.14.2
- mainline u-boot 2017.11
- dts kernel patch that fixes boot from SD card
- dts kernel patch enabling AP6212 WiFi/BT chip
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Modify sdcard_image-sunxi bbclass to support both sun50i and older
SoC families. Major changes are as follows:
- update comments: disk layout info
- increase boot partition size: aarch64 unified kernels can be large
- kernel image in boot partition: replace explicit name by KERNEL_IMAGETYPE
- SPL image: replace explicit name by SPL_BINARY
- implement flexible DTB file location in boot partition
-- e.g. by defaut sun50i u-boot looks for dtb in allwinner subdirectory
-- follow kernel dtb naming conventions, e.g. allwinner/<board>.dtb
- copy aarch64 u-boot image to image
-- sunxi arm boards use unified u-boot/spl image
-- sunxi aarch64 boards use two different images
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
There is no common kernel defconfig for both arm and aarch64.
Create separate kernel defconfigs in arm and aarch64 subdirectories.
Proper defconfig will be selected in build time
according to target architecture.
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Add support of sun50i SoC family to u-boot recipe:
- move SPL_BINARY to sunxi.inc and sunxi64.inc
-- different SoC families have different SPL_BINARY names
- create separate boot.cmd files for arm and aarch64
-- different kernel image types require different boot commands
- add atf-sunxi dependency
-- u-boot for aarch64 needs ATF BL31 binary
- add do_compile_sun50i[depends]
-- make sure that BL31 binary is already deployed before u-boot build
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Add ARM Trusted Firmware package for Allwinner arm64 chips.
There are different approaches to build bootloaders for aarch64
platforms. Allwinner approach is to build ATF first, and then
to build U-Boot using BL31 binary from ATF build.
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Follow the same approach as in 32-bit sunxi SoC families:
- create sunxi64.inc: umbrella description for aarch64 sunxi
-- specify proper u-boot/spl image types
-- specify proper kernel image type
-- specify u-boot/kernel preferred providers
- create basic description of sun50i SoC family
-- sun50i SoC family is based on armv8
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
- remove older stable release recipes
- bump stable linux recipe to 4.14.2
- bump git linux recipe to 4.15-rc1
- rename linux to linux-mainline
Renaming kernel recipe from 'linux' to 'linux-mainline' is needed to
get ready for adding aarch64 support. The reason is in the value of
OVERRIDES environment variable. BitBake uses OVERRIDES to control what
variables are overridden after BitBake parses recipes and configuration
files. So packages names are not allowed to take values listed in
OVERRIDES. One of the OVERRIDES values is TARGET_OS:
TARGET_OS = linux${LIBCEXTENSION}${ABIEXTENSION}
For arm architecture TARGET_OS = "linux-gnueabi". However for aarch64
architecture TARGET_OS = "linux". As a result, in the case of aarch64
kernel package can not be named 'linux'. This patch renames kernel
package name to 'linux-mainline' in order to be able to maintain the
same kernel recipes for both arm and aarch64 boards.
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Binman host tool in u-boot depends on libfdt library and pylibfdt module.
All the needed libraries and python modules are a part of u-boot.
This patch adds libfdt and pylibfdt to u-boot build:
- add required dependencies swig-native and python3-native
- fix python setup-tools issue: pass proper shared lib linker
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Remove the complete list of U-Boot licenses. Follow the poky and OE-core
approach and keep only umbrella reference to Licenses/README.
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Update stable to 4.13.4 version thus removing backported patch and requirement
of git version for several boards (current stable 4.13 is newer than previous
git 4.11).
Additionally update git version to 4.14-rc3.
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
Adapt to upstream change in oe-core commit 03a00be: now Device Tree support is
automatically enabled when KERNEL_DEVICETREE is set.
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
The older "IMAGE_DEPENDS_*" notation has been deprecated in favour of the
"do_image_...[depends]" notation.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
As suggested by Andrei Gherzan (see #178):
"The current implementation inherits sdcard_image-sunxi.bbclass
unconditionally which in turn, sets two depends on do_rootfs
unconditionally again.
This means that if I want to build an initramfs image in the
kernel image I will get a dependency loop."
Signed-off-by: Enrico Butera <ebutera@users.sourceforge.net>
Adjust the bootscript so that if U-Boot is loaded from the eMMC, then
kernel "root" parameter is set to use eMMC second partition.
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
Add support for eMMC for Olimex A20-OLinuXino Lime2 eMMC board by adding the
appropriate defconfig while waiting it is upstreamed in mainline U-Boot.
Signed-off-by: Diego Rondini <diego.rondini@kynetics.com>
Fix the following build error when compiling u-boot-sunxi with gcc6:
linux/compiler-gcc6.h: No such file or directory
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Add machine description for Orange Pi Zero board. Detailed hardware
overview is available at the following linux-sunxi wiki page:
http://linux-sunxi.org/Orange_Pi_Zero
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Bump preferred u-boot release version and kernel git version:
- kernel 4.11.0-rc5
- u-boot 2017.03
Update preferred versions of u-boot and kernel for all the
boards that are using them: nanopi-neo, orange-pi-one, pcduino.
The purpose of this update is to get the latest features for
sun8i cores including SPI support and orange-pi-zero support
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
This enables CONFIG_THERMAL_OF by default for kernel config. It is
required to get Allwinner SoCs' temperature from the GPADC driver.
For detailed description see mainline kernel commit:
11937f69b65b08d3184b1ebc864668be4b6c5427
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>