Rock960b/c debian stretch prebuild system image for AARCH64

      Comments Off on Rock960b/c debian stretch prebuild system image for AARCH64

Currently 96rock’s (VAMRS) Rock960 board officially published for debian stretch image for 32bit ( they aren’t published for AARCH64 ), so I rebuilt their open source for supporting nvative AARCH64 at all with bundled LXDE.

Download link:

Rock960B ( RK3399 + 4GB lpDDR3 + 32GB eMMC )

https://mega.nz/#!cp1wRSZS!Lg35IENdY7eyzCLT5PpYZc81b3XCZexUYq9n46YP_ig

Rock960C ( RK3399 + 4GB lpDDR3 + your SDcard )

https://mega.nz/#!tltgXaAB!2LSn67qzKU_93qJEw0AKv1k-4KgQP3TsQjR4MEkn6kQ

This compressed binary contains many things: seperately kernel and u-boot image. But you don’t have to flash them in each, just use rkdeveloptool in toolbin.

 Walkthrough:

  • Extract compressed file to somewhere to use them easily.
  • Move to extracted path.
  • Give permission “rkdeveloptool” binary to executive, use
    $ chmod +x toolbin/rkdeveloptool
  • Make your Rock960 board connected USB-C to your PC and turn to maskrom mode ( push both of maskrom and reset butttons, then release only reset )
  • Your host PC ( may Linux ) should detects new USB device, then it may allow to downloading mode with rkdeveloptool.
    $ sudo toolbin/rkdeveloptool db toolbin/rk3399_loader_v1.12.112.bin
  • Then just write system.img to your board.
    Warning : all your datas in eMMC may deleted, back up your data before doing this !

    $ toolbin/rkdeveloptool wl 0 system.img
  • It may takes for minutes, wait for done.
  • Then reset your board.
    $ toolbin/rkdeveloptool rd

After boot up

You may see LXDE desktop within a minute, then connect to your WiFi, then make systems up to date with these.

$ sudo apt-get update
$ sudo apt-get upgrade

 

How to know 64bit ?

Just make a C++ source and compile it, then run it for a test. ( before you may need get install g++ with this :  sudo apt-get install g++ )

// test.cpp
// --------

#include <cstdio>
#include <cstdlib>
#include <cstring>

using namespace std;

int main( int argc, char** argv )
{
    void* pTest = NULL;
    if ( sizeof(pTest) == 8 )
    {
        printf( "Your system got 64bit pointer size.\n" );
    }
    else
    {
        printf( "Your system got 32bit pointer size.\n" );
    }
    return 0;
}

Then,

$ g++ test.cpp -o test
$ ./test
Your system got 64bit pointer size.
$ _

Done.

Additional build info

My AARCH64 system image build in these options –

  • Default Rockchip configuration
  • Not supports SOC cameras ( a.k.a MIPI-CSI )
  • USB-C OTG supports as default option ( removable drive at host PC )

Recommended work to do after flashing image

  • Keep update your system via ‘apt-get’
  • Manage your power configuration – I don’t recommend to use power manager ( there’s many Rockchip DWM driver control errors )

Recommended for developers

  • Install ‘g++’ first.
  • LXDE’s X11 library is not much functional – need to consider non-acccelerated desktop graphics ( because MALi 8xx not suppors OpenGL ! – OpenGL|ES and OpenGL is not compatibled )