(almost) upstream uboot/atf
#1
for anyone wishing to use upstream uboot/atf, here's a guide on how to do that: https://eno.space/blog/2020/01/pbp-uboot.

behaviour of this version should be similar to the BSP uboot, no changes to the boot.txt files are necessary.

for the curious:

  • boot order is SD, USB, eMMC
  • atf and uboot used were very recent at the date of posting
  • baudrate is 1500000, like BSP uboot
  • LEDs light as soon as uboot starts running
  Reply
#2
Hmm, it appears that the ATF, (ARM Trusted Firmware), is the code loaded for the M0 processors that control the inner workings of the RK3399. Like the main processor's frequency, handling suspend & resume, and perhaps limits the frequency when the tempeture rises too high.

I originally thought we did not have the source to the ARM Trusted Firmware. And had to treat it as a, (yet another), binary blob from the manufacturer.

The possibilities are now endless.

Of course, I could be totally wrong, though rare as that is :-). (I thought I wrong once, but I was wrong.)
--
Arwen Evenstar
Princess of Rivendale
  Reply
#3
Overclocked Pinebook Pros coming soon ? Wink
  Reply
#4
(01-12-2020, 08:49 PM)Gazoche Wrote: Overclocked Pinebook Pros coming soon ? Wink

After that, we get "Melted Pinebook Pros" and "Pinebook Pros on fire" coming real soon now to a lap near you.

Unless there is a change in cooling, we need to be CAREFUL on power usage.


One thought I had a month back, was to use a higher conductive CPU thermal pad. They make ones that conduct heat much better than what we have, except they also conduct electricity. With a insulating mask around the other parts it may be possible to use such a thermal pad.

But, that is for later, (months later).
--
Arwen Evenstar
Princess of Rivendale
  Reply
#5
Very clear tutorial I'll take a look at that later.

I had upstream u-boot running on my PBP over my Christmas holiday although I was still running it on the proprietary TF-A binaries.

Unfortunately my version failed final testing so I didn't announce anything. All features worked OK but I saw an increase in hangs when I adopted to dog food test for a but and these went away when I rolled back to the 2017 vendor version.

Out of interest what kernel have you been running with your u-boot port?
[Edit: Manjaro (e.g. @tsys kernel)! Read more carefully next time.]
PineTime: wasp-os and MicroPython, Pinebook Pro:  Debian Bullseye
  Reply
#6
(01-12-2020, 08:49 PM)Gazoche Wrote: Overclocked Pinebook Pros coming soon ? Wink

The default OS as well as other OSs run the RK3399 overclocked already Smile
You can find me on IRC, Discord and Twitter


  Reply
#7
(01-11-2020, 04:21 PM)dhivael Wrote: for anyone wishing to use upstream uboot/atf, here's a guide on how to do that: https://eno.space/blog/2020/01/pbp-uboot.

behaviour of this version should be similar to the BSP uboot, no changes to the boot.txt files are necessary.

for the curious:

  • boot order is SD, USB, eMMC
  • atf and uboot used were very recent at the date of posting
  • baudrate is 1500000, like BSP uboot
  • LEDs light as soon as uboot starts running
thanks for this:  It's working fine for me (I did use atf master branch--live dangerously :-)  I've attached the u-boot log from serial console. 
There are a couple of errors, but nothing that actually affects operation.
My OS is latest Manjaro (5.5 kernel) , boot from EMMC /linux-root is NVME.

Have you noticed this post in Rockpro64 section?


I am currently booting a Rockpro64 NVME from SPI flash ,  which is what I'd love to do with this device.  I'd certainly be willing to try to help figuring this out for the PBP.  Obviously one would need to compile-in  the pcie driver and make the attendant config n changes;  also it now seems possible to specify boot order in the dts. 

I am very happy you've done this:  Let me know if I can help with additional testing or exploring.


Attached Files
.txt   u-boot.txt (Size: 33.88 KB / Downloads: 48)
  Reply
#8
(01-14-2020, 02:12 PM)belfastraven Wrote: Have you noticed this post in Rockpro64 section?


I am currently booting a Rockpro64 NVME from SPI flash ,  which is what I'd love to do with this device.  I'd certainly be willing to try to help figuring this out for the PBP.  Obviously one would need to compile-in  the pcie driver and make the attendant config n changes;  also it now seems possible to specify boot order in the dts. 

I am very happy you've done this:  Let me know if I can help with additional testing or exploring.

actually, no! i hadn't even looked at the rockpro forum for this. integrating the nvme patch shouldn't be too much of a hassle considering that the rockpro uboot is also pretty recent, but i don't have any nvme devices here to test it. Sad
  Reply
#9
@dhivael thanks for your work. Manjaro now boots waaay faster.

I wanted to help you with integrating nvme support but realized that I don't have serial cable Sad
  Reply
#10
(01-11-2020, 04:21 PM)dhivael Wrote: for anyone wishing to use upstream uboot/atf, here's a guide on how to do that: https://eno.space/blog/2020/01/pbp-uboot.
<SNIP>

Hey! I'm looking to build this on stock mrfixit Debian, the USB boot is very necessary right now. ;-)

You list the build reqs for Manjaro. Have you an idea of what required dev packages are needed on Debian? I get thrown GCC errors on commandline options, which I assume are from not having build deps.

Also, I pull from your git, but the command stalls without cloning. I have to CTRL-C and exit, with no sources pulled or directory created.

Thanks!

(01-15-2020, 06:56 PM)Jeremiah Cornelius Wrote:
(01-11-2020, 04:21 PM)dhivael Wrote: for anyone wishing to use upstream uboot/atf, here's a guide on how to do that: https://eno.space/blog/2020/01/pbp-uboot.
<SNIP>

Hey! I'm looking to build this on stock mrfixit Debian, the USB boot is very necessary right now. ;-)

You list the build reqs for Manjaro. Have you an idea of what required dev packages are needed on Debian? I get thrown GCC errors on commandline options, which I assume are from not having build deps.

Also, I pull from your git, but the command stalls without cloning. I have to CTRL-C and exit, with no sources pulled or directory created.

Thanks!
I solved this for building on Debian, with apt search. The packages to install are:
build-essential
gcc-arm-none-eabi
device-tree-compiler

However? I still get CLI option errors:
gcc: error: unrecognized command line option '-mstrict-align'; did you mean '-Wstrict-aliasing'?
gcc: error: unrecognized command line option '-mgeneral-regs-only'

A quick search online shows that this is likely an older GCC version problem. What GCC are you using? Is Manjaro also aarch64?
— Jeremiah Cornelius
"Be the first person not to do some­thing, that no one has thought of not doing before’’
— Brian Eno, "Oblique Strategies"
  Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Installing Ubuntu 20.04 (Focal) with BSP uBoot with deep sleep and sound Syonyk 43 2,526 07-28-2020, 03:18 PM
Last Post: SamWilts
Exclamation Flash dhivael's SPI uboot (risky) clover 51 4,523 06-20-2020, 03:24 PM
Last Post: craftkiller
  How to boot Manjaro from NVME with uboot on eMMC as400 47 4,112 06-07-2020, 02:37 AM
Last Post: as400

Forum Jump:


Users browsing this thread: 2 Guest(s)