December 24, 2021

Orange Pi 4 (Rockchip 3399) Debian

After spending some time with my unit with eMMC and Android, I found no way to interrupt U-Boot and get a U-Boot console. The logical next step was to switch to my other board without eMMC, burn an image onto a microSD card and see what I could do with that.

I went to the Orange Pi 4 home page, then to the downloads area and ended up getting directed to a Google drive area with a Debian kernel. Actually there were two:

-rw-rw-r-- 1 tom tom  764701747 Apr 18  2021 Orangepi4_2.1.0_debian_buster_desktop_linux4.4.179.7z
-rw-rw-r-- 1 tom tom  853142578 Oct  9  2020 OrangePi_4_debian_stretch_desktop_linux4.4.179_v1.4.tar.gz
I decided to work with the more recent "buster" image, extracted the 7z file (which yielded an image more or less 4G in size) which I used "dd" to place onto a 16G Sandisk compact flash card. I placed that in my unit and it booted right up. For whatever reason, Debian does not spew out the usual thousand line mass of kernel messages onto the console, but after a fairly short wait I see:
Starting kernel ...
Orange Pi 2.1.0 Buster ttyFIQ0
orangepi4 login:
I can login as root using password "orangepi" and find myself running a 4.4.179 kernel.

A quick note about the 6 cores. Linux doesn't seem to differentiate between big and little, so you will get random assignment from the scheduler, which is hardly ideal, but that is how it is at this stage. Cores 0-3 are little and 4-5 are big.

What about U-Boot?

I type "sync; reboot" to Debian and as I see it starting to give boot messages, I start hitting the space bar and voila!
Hit any key to stop autoboot:  0
=>
I am in!! Typing "help" shows me the commands "dhcp" as well as "tftpboot" so it looks like I am in busines reconfiguring this to do a network boot as I like to do. Typing printenv, I see "ethaddr" set, which is further encouragement.

Connect the network and update some packages

I plug in a cable and it "just works" getting an IP number and doing what it should. I can ssh to it and login as root remotely!! This gives a better behaved terminal than what I get using picocom over the serial port.

Then I do the following:

apt-get update
apt install locate
updatedb
I get messages like so, but in spite of this, I can do the install to get "locate" and then run updatedb
N: Repository 'http://mirrors.tuna.tsinghua.edu.cn/debian buster InRelease' changed its 'Version' value from '10.8' to '10.11'
E: Repository 'http://mirrors.tuna.tsinghua.edu.cn/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

What about Debian on an SD card in my eMMC board

This is easy enough to try -- and it works! I had feared that eMMC might take priority and some tricky business with jumpers might be required to force the card to boot from SD instead, but none of this is true.

Also I have no problem at all tapping on the space bar and getting to the U-Boot prompt.

Here are the brief messages I see on the serial console:


Have any comments? Questions? Drop me a line!

Tom's electronics pages / tom@mmto.org