It looks like I missed a case for the new bitbake override syntax. My tests
weren't done from a fresh build so either a preexisting image was still
available, or the unfixed syntax caused a race.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
With bitbake commit 7dcf317cc141dc980634f8c18bfa84f83e57206a
("bitbake: Switch to using new override syntax"), applied on
Aug 2, 2021, the OVERRIDE separator is now a colon instead of
an underscore. Therefore all builds performed with a bitbake
before this change must use a meta-rockchip commit before this
one, and any builds performed with a bitbake after this change
must use a meta-rockchip starting from this commit onwards.
Build-tested for all meta-rockchip MACHINEs.
Run tested on:
- tinker-board
- nanopi-m4-2gb
- rock64
- rock-pi-4b
- rock-pi-e
The tinker-board and rock-pi-e work fine. The rest of the boards
seem to have a, hopefully unrelated, issue running a
5.13-yocto-standard kernel. However, all boards work with the
5.10-yocto-standard kernel.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Adding "-rockchip" to the Linux kernel name implies, to me anyway, that this
is a vendor kernel. The PREFERRED_PROVIDERs of all kernels specified in this
BSP are upstream linux-yocto kernels, not vendor kernels. Therefore remove the
version name extension to avoid confusion.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
The latest updates to linux-yocto-dev now include support for the rock-pi-e so
do away with our custom recipe and use the one from oe-core.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
By exporting a couple more variables the wks file for every rockchip device
can be built from one template instead of having separate wks files for each
board and platform.
The following BSP variables were checked before and after this change to make
sure they remained valid/sensible:
- WKS_FILE
- UBOOT_SUFFIX
- SPL_BINARY
- IMAGE_FSTYPES
Built-tested for every MACHINE in this BSP.
Run-tested on the following devices to ensure they continue to boot correctly
to a cmdline (core-image-base):
- tinker-board
- rock-pi-e
- rock-pi-4b
- rock64
- nanopi-m4-2gb
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
The ext4 IMAGE_FSTYPES does not need to be mentioned explicitly. It will be
automatically generated in cases where it is needed.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Create a conf/machine/include/rockchip-wic.inc file to contain all the common
wic/wks things for easy inclusion by any MACHINEs that use wic for their image
creation.
NOTE: the wic image type of rock-pi-e changed from "wic.xz" to "wic" which
matches all the other meta-rockchip MACHINEs that use wic
The following variables were checked before and after to make sure they remain
correct/sensible:
- IMAGE_FSTYPES
- WKS_FILE_DEPENDS
- IMAGE_BOOT_FILES
- RK_CONSOLE_BAUD
- RK_CONSOLE_DEVICE
- RK_BOOT_DEVICE
- SERIAL_CONSOLES
- WICVARS
Build-tested for all currently-defined MACHINEs.
Boot-tested on the following boards to make sure they continue to boot to a
console correctly (core-image-base):
- tinker-board
- rock64
- rock-pi-4b
- rock-pi-e
- nanopi-m4-2gb
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Consolidate all the various console definitions to the common
conf/machine/include/rockchip-defaults.inc file and create
RK_CONSOLE_BAUD and RK_CONSOLE_DEVICE variables that can be
reused in the wks files.
The following variables were checked before and after this patch
to make sure they are sensible:
- SERIAL_CONSOLES
- RK_CONSOLE_DEVICE
- RK_CONSOLE_BAUD
A boot test was performed on the following boards to make sure
they all continue to boot to a cmdline:
- tinker-board
- rock-pi-e
- nanopi-m4-2gb
- rock64
- rock-pi-4b
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
This ensures that DISTRO_FEATURES can translate correctly
for qtbase PACKAGECONFIGs and we can get right platforms enabled.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Now that there is a second rk3328-based MACHINE (rock64) switch rock-pi-e to
use the common rk3328 include.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
This is a RK3328 board from Pine64.
Board details at https://wiki.pine64.org/wiki/ROCK64.
Default image is built to boot from SD-card. Building an image for
eMMC requires to set RK_BOOT_DEVICE="mmcblk0".
Signed-off-by: Yann Dirson <yann@blade-group.com>
This will allow us to define a single set of kernel BSP for all
variants of the board (which only need to differ in u-boot dts).
Signed-off-by: Yann Dirson <yann@blade-group.com>
TF-A runs between two u-boot stages which both uses 1500000 baud, it
just makes no sense to use the same UART at a different rate.
Here is a sample session with the successive stages, with TF-A artificially
separated for emphasis:
[20210406-175438.135934] U-Boot TPL 2021.01 (Jan 11 2021 - 18:11:43)
[20210406-175438.135956] Channel 0: DDR3, 933MHz
[20210406-175438.236974] BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
[20210406-175438.237000] Channel 1: DDR3, 933MHz
[20210406-175438.237004] BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB
[20210406-175438.237008] 256B stride
[20210406-175438.237012] Trying to boot from BOOTROM
[20210406-175438.237015] Returning to boot ROM...
[20210406-175438.237018]
[20210406-175438.573394] U-Boot SPL 2021.01 (Jan 11 2021 - 18:11:43 +0000)
[20210406-175438.573431] Trying to boot from MMC1
[20210406-175438.589254] NOTICE: BL31: v2.3():v2.3-dirty
[20210406-175440.534055] NOTICE: BL31: Built : 15:56:43, Apr 20 2020
[20210406-175441.393423] U-Boot 2021.01 (Jan 11 2021 - 18:11:43 +0000)
[20210406-175441.393429]
[20210406-175441.393433] SoC: Rockchip rk3399
Signed-off-by: Yann Dirson <yann@blade-group.com>
The Yocto Project mailing lists migrated to a new system and email address a
while back. Update the README with the up-to-date information.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Create a common conf/machine/include/tinker.inc and re-spin
- conf/machine/tinker-board.conf
- conf/machine-tinker-board-s.conf
to just contain the differences.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
The COMPATIBLE_MACHINE strings were getting unwieldy, so switch to the
MACHINEOVERRIDE notation so they're neater.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Add support for Radxa's ROCK Pi E device
https://wiki.radxa.com/RockpiE
It's a great surprise to find upstream U-Boot and the Linux kernel already
provide support for this board! On the kernel side this support was
added in 5.11. However, that support is so new that even linux-yocto-dev
(which is based on 5.11) doesn't include the commits that add support
for this board yet. As a result I've added a custom Linux kernel recipe
(linux-stable-bleeding) which should, in time, become unnecessary.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Splits out the three variants of the rock-pi-4 (A, B & C) into their own
machines. Unfortunately, it is not possible to have a single machine
that works for all three, as there isn't any known ways for the
bootloader to distinguish them. The old rock-pi-4 machine is kept around
for use with older kernels
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
linux-yocto_5.8 has been removed from the list of kernels found in
openembedded-core, therefore this bbappend is no longer needed.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Fixes the serial port output stopping mid way through the boot process
by reverting the kernel commit that caused it.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
We already have a dependency on meta-arm/meta-arm in order to build
tf-a (there's no point carrying our own recipe when there's a common,
consolidated one to use in meta-arm).
meta-arm/meta-arm now has a dependency on meta-arm/meta-arm-toolchain.
meta-arm-toolchain has a recipe for virtual/arm-none-eabi-gcc, so we might
as well use that too, and remove our own version. Note that using the
meta-arm-toolchain recipe required a small change to how the dependency is
specified.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
The --align argument isn't intended to make a partition exist at a fixed
location like the Rockchip boot ROM requires. Use the recently added
--offset argument which will fail to build the image if the partition
can't be placed at the correct location. Also used --fixed-size to make
sure that Wic isn't inserting hidden padding that changes things around.
Finally, the location of the rootfs isn't required to be at sector
262144 since u-boot and the kernel reads the partition table to find it
and actually hasn't been at this location anyway since Wic has been
padding the /boot partition, so remove it's alignment requirements.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Converts the build to pull the canonical TF-A recipe from meta-arm
instead of duplicating it in this layer.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Upgrades arm-trusted-firmware to the latest version, which fixes a bug
where the RK3399 would hang during a warm reboot
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Updates all machines to use the linux-yocto kernel from OE-core instead
of maintaining distinct kernels in this repository.
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
The older, longterm, kernel doesn't have support for some of the newer
MACHINEs, so list the ones it does support explicitly.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Now that we've switched to using wic for image layout, we can remove the
unused recipes for proprietary vendor tools.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
This MACHINE hasn't built successfully in a long time. Remove it, and
everything associated with it that isn't used anywhere else.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Currently machine configs define the partition layout for each machine
by setting the WKS_FILE variable. However, there are situations where it
may be needed to use a different, non default layout. To simplify such
configurations we will set WKS_FILE using ?= so that it can be easily
overriden in local configurations.
Signed-off-by: Sergey Bostandzhyan <jin@mediatomb.cc>
Asus Tinker Board-S has emmc on mmcblk1, this is also the default
configuration when building the image. If you need an image for booting
from the sd card set RK_BOOT_DEVICE to mmcblk0
Signed-off-by: Sergey Bostandzhyan <jin@mediatomb.cc>
wic modifies /etc/fstab on the root file system during image generation,
without the --ondisk parameter it assumes some default device name which
leads to an /etc/fstab file populated with /dev/sda entries.
This is not correct for the machines in the rockchip layer which use
mmcblkX.
This patch introduces an RK_BOOT_DEVICE option which is being set in the
machine configuratoin and which is being used in the wks files.
The variable expansion in the wks is handled by propagating the variable to
the wic environment.
This results in correct /etc/fstab entries and in a correct kernel
bootargs root= parameter.
Signed-off-by: Sergey Bostandzhyan <jin@mediatomb.cc>