Yocto MACHINE target?
#1
What is the current supported MACHINE target for the ROCKPRO64? My PCB is version 2.1

Which Yocto branch should be used? pyro?

Thanks!
  Reply
#2
Seems like I only have these:


Code:
$ ls -1 meta/meta-rockchip.git/conf/machine |grep 3399
excavator-rk3399.conf
firefly-rk3399.conf


Is the excavator compatible with the RockPro64? Or is there a branch or some other repo which contains the meta files for the RockPro64?
  Reply
#3
According to http://rockchip.wikidot.com/yocto-user-guide the rk3399 status is "developing".

I'm trying to use this: https://github.com/rockchip-linux/meta-rockchip.git But the above does only have excavator-rk3399.conf and firefly-rk3399.conf files.
 
I tried to build core-image-minimal using the excavator-rk3399 machine target and the pyro branch, but I'm getting an error:


Code:
ERROR: rk-binary-native-git-r0 do_fetch: Fetcher failure: Unable to find revision f64ded672836b47db3f6a0d04d8ccb4180fb3d55 in branch master even from upstream


Anybody else had some luck building Yocto for the RockPro64?
  Reply
#4
Did anybody have any success building Yocto for the RockPro64?

I also tried this recipe

http://rockchip.wikidot.com/yocto-user-guide

Code:
MACHINE=excavator-rk3399 DISTRO=rk-x11 . ./setup-environment -b my-build

but then

Code:
bitbake core-image-base


results in


Quote:WARNING: Layer rockchip should set LAYERSERIES_COMPAT_rockchip in its conf/layer.conf file to list the core layer names it is compatible with.
WARNING: Layer rockchip_extra should set LAYERSERIES_COMPAT_rockchip_extra in its conf/layer.conf file to list the core layer names it is compatible with.
WARNING: Layer rockchip should set LAYERSERIES_COMPAT_rockchip in its conf/layer.conf file to list the core layer names it is compatible with.
WARNING: Layer rockchip_extra should set LAYERSERIES_COMPAT_rockchip_extra in its conf/layer.conf file to list the core layer names it is compatible with.
ERROR: Layer 'browser-layer' depends on layer 'rust-layer', but this layer is not enabled in your configuration
  Reply
#5
Hello zener,

I have been trying to get a Yocto build working for my RockPro64 for several days now.

As far as I can tell, there is no machine configuration file for this board (at least none that I can find in the meta-rockchip repo: https://github.com/rockchip-linux/meta-r...nf/machine).

But I did notice that the release-4.4 branch of the rockchip-linux/kernel repo has a dts file for this board: https://github.com/rockchip-linux/kernel...kpro64.dts

I created a machine config for the RockPro64 with the following contents:

Code:
require conf/machine/include/rk3399.inc

UBOOT_MACHINE = "evb-rk3399_defconfig"
KERNEL_DEVICETREE = "rockchip/rk3399-rockpro64.dtb"

I also had to make a few other tweaks.

The firmware-rk package repo contents have completely changed, so I had to modify the branch of the firmware-rk package:
Code:
git://github.com/rockchip-linux/rkbin.git;branch=yocto-old

(meta-rockchip/recipes-bsp/firmware-rk/firmware-rk_git.bb)

The rk-binary-loader and rk-binary-native recipes (meta-rockchip/recipes-bsp/rk-binary/rk-binary-loader_git.bb and meta-rockchip/recipes-bsp/rk-binary/rk-binary-native_git.bb) both also use the rockchip-linux/rkbin repo, and are therefore also broken.  I experimented with also changing those SRC_URIs to the yocto-old branch, but I actually think I've had more success pointing those recipes at ayufan's rkbin repo (master branch):

Code:
SRC_URI = "git://github.com/ayufan-rock64/rkbin;protocol=git;branch=master"
SRCREV = "${AUTOREV}"

After resolving all of the build problems (one more path surprise in meta-rockchip/classes/rockchip-gpt-img.bbclass), I was finally able to get a gpt image file (I built the "rk-image-base" image target).

I wrote that image to an SD card and fired up the RockPro64 and watched the serial output (did I also mention that I had to tweak the kernel command line arguments to remove any "console" parameters?  Those seemed to stop the serial console output during boot).  I can see & interact with u-boot, the Device Tree is flattened and loaded, I see the infamous "Starting kernel ..." message, a whole bunch of the Device Tree devices are loaded up, and then nothing else.  In ayunfan's binary (not Yocto based, but it's an image that actually boots on the RockPro64), it looks like there are some additional items loaded from /scripts/, and then systemd kicks in.  But I'm not getting quite that far yet.

If I can get an image to successfully boot, I might be able to add a meta layer on github to fix up all of the issues.
  Reply
#6
Oh- I should add that I initialized my environment using the rockchip style yocto setup and the rocko branch:


Code:
repo init --repo-branch=stable --repo-url=https://github.com/rockchip-linux/repo -u https://github.com/rockchip-linux/manifests -b yocto -m rocko.xml
repo sync



I then ran the setup-environment script (twice?) to setup the yocto build configurations:

Code:
MACHINE=<my_custom_machine_config> DISTRO=rk-none . ./setup-environment -b build


I also had to clone the meta-rust layer into the sources directory:


Code:
git clone -b rocko https://github.com/meta-rust/meta-rust.git

and then add the meta-rust layer to the build/conf/bblayers.conf file
  Reply
#7
How are chances that there will be an officiall or otherwise „production grade“ and maintained Yocto BSP layer for the RockPro64?
  Reply
#8
I hope that the official meta-rockchip layer fully supports the RockPro64 board in the near future, but for now you can try this layer:
https://github.com/csonsino/meta-rockpro64-hacks
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)