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
ubootRock64, ubootRockPro64: use upstream U-Boot #74580
Conversation
Build fails for me with:
If I add a |
f7967ea
to
12f0c92
Compare
I only ever tested this on a non-NixOS machine, which seems to have a misconfigured sandbox. The patch has not been submitted upstream yet. I wanted to get it reviewed here first. In particular, I was wondering I should apply the same fix to the RK3288. I know @samueldr and @lheckemann have/had RK3288 devices, but my guess is that they haven't needed this fix because armv7l kernels are much smaller. |
Testing this on a Rock64, it boots, but I seem to get a random mac address each time. I'll try to find my serial console to dig deeper. |
That's interesting, I noticed that my MAC address changed when I first switched to 2019.10, but it has stayed the same since then. I see the following message in U-Boot:
but that address does not get used in Linux. |
Setting Interestingly, once I enabled |
12f0c92
to
1680aee
Compare
I've tested with the updated version and the mac address seems stable. The mac address I was using was the |
The Rock64 still needs a binary TPL to avoid memory initialization issues.
1680aee
to
4d6921a
Compare
I have submitted the patches for |
Motivation for this change
This PR makes the
ubootRock64
andubootRockPro64
packages use upstream U-Boot. This allows us to get rid all of blobs for the RockPro64, but Rock64 still needs a binary TPL to avoid what appears to be random memory corruption.The Rock64 usually boots, but lots of processes die with kernel oops and
memtester
reports lots of failures. Something is wrong with the SDRAM initialization in the upstream TPL.The flashing procedure is somewhat different from the downstream U-Boot. Like before,
idbloader.img
must be placed at sector 64 of the eMMC/SD, but nowu-boot.itb
must also be placed at sector 16384. To make this less error prone, I created partitions at those offsets. I also had not left enough room in front of my root partition, so I had to reformat my eMMC. Once this PR is merged, I will update the wiki to include this information.I also included a patch that moves
ramdisk_addr_r
to allow loading larger kernels. I used to just manually modify the environment to do this, butsaveenv
doesn't work yet with upstream U-Boot and this is a better fix anyway. I plan to submit this upstream as soon as it is reviewed here.Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)Notify maintainers
cc @dezgeg @samueldr @thefloweringash @bennofs