Jump to content

crobert

Members
  • Posts

    2
  • Joined

  • Last visited

Posts posted by crobert

  1. I'm trying to build a linux from source on a RK3399 nanopi-m4. I did the below steps:

     

    ###  Download and compile ARM-TF ###
    $ git clone https://github.com/ARM-software/arm-trusted-firmware.git
    $ make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3399 bl31

     

    ### Download and complie U-Boot ###
    $ cd ..
    $ git clone https://gitlab.denx.de/u-boot/u-boot.git
    $ cd u-boot/
    $ git checkout v2019.10
    $ make CROSS_COMPILE=arm-linux-gnueabi- nanopi-m4-rk3399_defconfig
    $ cp ../arm-trusted-firmware/build/rk3399/release/bl31/bl31.elf .
    $ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu-
    $ make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- u-boot.itb

    $ ./tools/mkimage -n rk3399 -T rksd -d ./tpl/u-boot-tpl-dtb.bin idbloader.img
    Image Type:   Rockchip RK33 (SD/MMC) boot image
    Data Size:    47104 bytes
    $ cat spl/u-boot-spl-dtb.bin >> idbloader.img

     

    ### Build kernel ###
    $ git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
    $ cd linux
    $ git checkout v5.1


    **I've used the arm64 defconfig ***
    $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig
    $ make CROSS_COMPILE=aarch64-linux-gnu- ARCH=arm64

     

    ### Create boot.img ###
    $ cd ..
    $ mkdir boot
    $ cp linux/arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4.dtb boot/
    $ cp arch/arm64/boot/Image boot/
    $ cp linux/arch/arm64/boot/Image boot/
    $ mkdir boot/extlinux
    $ nano boot/extlinux/extlinux.conf
     

    label NanoPi M4 5.1
      kernel /boot/Image
      devicetree /boot/rk3399-nanopi-m4.dtb
      append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk1p1 rootwait

     

    $ dd if=/dev/zero of=boot.img bs=1M count=32
    $ sudo mkfs.fat boot.img
    $ mkdir tmp
    $ sudo mount boot.img tmp/
    $ cp -r boot/* tmp/
    $ umount tmp

     

    *** copy the images to a folder ***
    $ mkdir images
    $ cp boot.img images/ 
    $ cp u-boot/idbloader.img images/
    $ cp u-boot/u-boot.itb images/

     

    ### Create sd card image ###
    $ cd images/


    *** I'm using a VM so it was easier to use a loop device to create the image ***
    $ dd if=/dev/zero of=sdcard.img bs=1024 count=0 seek=400000 || exit 1
    $ sudo losetup -f
    /dev/loop18
    $ sudo losetup /dev/loop18 sdcard.img 
    $ sudo dd if=idbloader.img of=/dev/loop18 seek=64
    $ sudo dd if=u-boot.itb of=/dev/loop18 seek=16384
    $ sudo dd if=boot.img of=/dev/loop18 seek=32768
    $ sync


    Flush the image(sdcard.img) with etcher to a card and place the card in the board.
    Plug the UART cable and power on the board. I receive the below message:
    U-Boot TPL board init
    sdram_init: data training failed
    rk3399_dmc_init DRAM init failed -5

     

    Does anyone know what the issue is?

     

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines