01-01-2019, 06:06 PM
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:
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:
(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):
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.
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.