New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
uboot: add RockPro64 support, fix Rock64 build, misc related changes #53170
Conversation
c71557c
to
a6e52a2
Compare
cc @dezgeg |
a6e52a2
to
3ac6975
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python part (and generally overall) looks good to me.
I also would have the hardware for testing. Did you use the mainline kernel or the rock64 one? |
I wasn't able to get mainline 4.20 to boot on the RockPro64, but I didn't try that hard. I was able to get mainline to boot on the Rock64 a while ago but had lots of problems with ethernet and USB. Currently, I use a custom version of ayufan's |
b2227db
to
37103ca
Compare
It turns out that the dtc update from 1.4.5 to 1.4.7 broke the build of U-Boot 2017.09, and I can't see an easy fix for it. I will probably end up adding an override to pin dtc to 1.4.5 for the Rock{Pro,}64 U-Boot builds, but for now I just added a revert for that commit in case anyone wants to test this PR. Here is the error in case anyone has an idea of how to fix it:
|
@lopsided98 do you have some nixos configuration, I could use to deploy this? |
@Mic92 I just My disk layout looks like this:
This allows me to run |
libfdt is a Python library included in the dtc package.
Switch the Rock64 build from a newer, less maintained U-Boot tree, to an older but more maintained and featureful version.
37103ca
to
414c42a
Compare
I made |
I could get the u-boot on my RockPro64 running. Thanks a lot for the PR! |
@lopsided98 Where did you get |
@JasonSwindle It is one of the files in the |
Any plans to get it added to http://nixos-arm.dezgeg.me/installer ? I was just reading over this ( https://nixos.wiki/wiki/NixOS_on_ARM#Contributing_new_boards_to_nixpkgs ), so I figured I would ask. :) |
Motivation for this change
This PR started as an attempt to add RockPro64 support to U-Boot in Nix, but a bunch of other related changes accumulated along the way.
Things done
rkdeveloptool
package. This is a tool for communicating with Rockchip devices over their USB OTG port, allowing flashing the eMMC/SD and SPI flash.toPythonModule dtc
.mainline-master
branch torockchip-master
, which is better maintained (even though it is older). This is the same branch I use for the RockPro64. I attempted to get rid of the TPL blob, but using U-Boot's TPL causes the board to hang after a few minutes (previously it would not even finish booting before hanging).I got rid of the pythonpath patch in U-Boot, because I could not see why it was necessary and it was annoying to have to maintain a separate backport for 2017.09. Most builds don't use any Python libraries, so the PYTHONPATH doesn't matter. The Rock64 build requires libfdt, but the patch didn't seem to fix the build, I had to use
withPackages
.sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)