Jump to content

Vontar KK MAX / HK1 RBOX R2 / R3 - RK3566 4GB/32GB(or 64GB)


Recommended Posts

Posted (edited)

Armbian 24.5.0 Bookworm images (linux-6.1/linux-6.6) for TVBoxes: Vontar KK MAX / HK1 RBOX R2 / HK1 RBOX R3

(the same dts/dtb should work for these TVBoxes)

 

Here is a dts and dtb files, working reworked for mainline:

hk1-rbox-r3-profile-kernel-6.1-6.6.zipFetching info...

 

(original dts and dtb from TVBox rk-kernel-orig.zip)

 

Checked the following:

  • HDMI - works (need to check hot plugging)
  • HDMI sound - works
  • USB 2.0 - works
  • USB 3.0 - works
  • SPDIF - should work (I cannot to check)
  • SD-Card booting and detection - works
  • eMMC install on it (/sbin/nand-sata-install) and detection - works
  • RKDevTool installing and loading images on/from eMMC - works
  • GPU (bugs/frizzes on mainline are not canceled) - works
  • Hardware video acceleration(except for browsers) - works
  • Dualboot if you flash new bootloader (SD-Card boot high priority) - works

 

Here are the compiled Armbian images (Bookworm only) with integrated dtb:

https://www.mediafire.com/file/4dwf7ce922x7obq/Armbian-unofficial_24.5.0-trunk_Hk1-rbox-r3_bookworm_current_6.1.87_cinnamon_desktop.img.xz/file

https://www.mediafire.com/file/fjwtxb5gjzip341/Armbian-unofficial_24.5.0-trunk_Hk1-rbox-r3_bookworm_current_6.1.87_minimal.img.xz/file

https://www.mediafire.com/file/iuz4uijgjh5ry1r/Armbian-unofficial_24.5.0-trunk_Hk1-rbox-r3_bookworm_current_6.6.28_cinnamon_desktop.img.xz/file

https://www.mediafire.com/file/kofyqabr5k6qxm8/Armbian-unofficial_24.5.0-trunk_Hk1-rbox-r3_bookworm_current_6.6.28_minimal.img.xz/file

 

The one of this box itself is HK1 RBOX R3, the photo shows the pins for short to go to the Maskrom bootloader and UART pins:

  Reveal hidden contents

 

A working bootloader(supports dualboot) on this hardware for RKDevTool tool just in case:

Loader.zipFetching info...

 

  Reveal hidden contents

 

Please note that RKDevTool flashing utility only needs to flash the .img file with the bootloader, i.e. you need to unpack the .xz archive somewhere first (for ex. you can use 7-zip).

 

--

 

Recommendations for installation on eMMC

  Reveal hidden contents

 

----------------------------------------------------

For those who want to build Armbian themselves, here are the instructions:

  Reveal hidden contents

 

UPD:
Added to images "f2fs-tools" package, added loader to support dualboot without touching the original Android(or other OS) image on eMMC - priority is given to SD-Card.
Boot will be from SD-Card if there is on boot partition exist folder and file \boot.scr or extlinux\extlinux.conf - uboot(both: original Android and compiled for Armbian) searches for this path and file if it found this file, it will load from device which contains this file. mmc1(SD-Card) - first, mmc0(eMMC) - second.
For correct priority loading it is necessary to replace the main bootloader which is in the archive Loader.zip - if you have an Android it is enough to flash only this bootloader as Loader at 0x0 offset using RKDevTool utility, the rest of the eMMC part should not be touched if the OS and settings we need are there. U-boot on eMMC must be original or Armbian and preinstalled at offset 0x4000.
Instructions:

  Reveal hidden contents

(remember, uboot must be on eMMC (even the original Android or Armbian, i.e. if you erase the eMMC - the boot will not work) and this is relevant if you have installed the original MiniLoaderAll.bin, which does not support booting from SD-Card, but only from eMMC. Some TVBoxes may already have a bootloader that supports SD-card booting.).

 

Feel free to test...

Edited by Deoptim
added dualboot images and info about it
Posted (edited)
  On 5/4/2024 at 6:17 AM, Energokom said:

Can you buid a loader c with rk3566_ddr_1056MHz_v1.21.bin 

Expand  


@Energokom to build your DDR_1056mhz 

ADD This lines to the botom of the file Armbian: build/config/board/yourboardname.conf

# Newer blobs. Tested to work with 1056MHz
DDR_BLOB="rk35/rk3566_ddr_1056MHz_v1.18.bin"
BL31_BLOB="rk35/rk3568_bl31_v1.43.elf"         # NOT a typo, bl31 is shared across 68 and 66
ROCKUSB_BLOB="rk35/rk3566_spl_loader_1.14.bin" # For `EXT=rkdevflash` flashing

 

Edited by Hqnicolas
Posted (edited)
  On 5/16/2024 at 2:19 PM, Hqnicolas said:
# Newer blobs. Tested to work with 1056MHz
DDR_BLOB="rk35/rk3566_ddr_1056MHz_v1.18.bin"
BL31_BLOB="rk35/rk3568_bl31_v1.43.elf"         # NOT a typo, bl31 is shared across 68 and 66
ROCKUSB_BLOB="rk35/rk3566_spl_loader_1.14.bin" # For `EXT=rkdevflash` flashing
Expand  

Unfortunately, it didn't work.

 

I want to build u-boot 2024 (since the old u-boot 2019 is being used now).

 

But it doesn't work out for me. I can't change defconf, since ./compile.sh CREATE_PATCHES="yes", doesn't work now.

I try CREATE_PATCHES (uboot-patch) but I don't get a pause to make changes. I used to use CREATE_PATCHES=yes and everything worked, now I can't build u-boot with my settings. You need more detailed instructions in the description of build options

Edited by Energokom
Posted
  On 5/19/2024 at 12:34 PM, Energokom said:

I want to build u-boot 2024 (since the old u-boot 2019 is being used now).

Expand  


find a board with u-boot 2024 and rebase your board config file

I use OrangePi3B as a base config
 

  Quote

# Rockchip RK3566 quad core 4/8GB RAM SoC WIFI/BT eMMC USB2 USB3 NVMe PCIe GbE HDMI SPI
BOARD_NAME="orangepi3b"
BOARDFAMILY="rk35xx"
BOARD_MAINTAINER=""
BOOTCONFIG="orangepi-3b-rk3566_defconfig"
BOOT_SOC="rk3566"
KERNEL_TARGET="legacy,vendor,edge"
FULL_DESKTOP="yes"
BOOT_LOGO="desktop"
BOOT_FDT_FILE="rockchip/rk3566-orangepi-3b.dtb"
IMAGE_PARTITION_TABLE="gpt"
BOOT_SCENARIO="spl-blobs"
BOOT_SUPPORT_SPI="yes"
BOOT_SPI_RKSPI_LOADER="yes"
MODULES="sprdbt_tty sprdwl_ng"
MODULES_BLACKLIST_LEGACY="bcmdhd"

 

# Newer blobs. Tested to work with opi3b
DDR_BLOB="rk35/rk3566_ddr_1056MHz_v1.18.bin"
BL31_BLOB="rk35/rk3568_bl31_v1.43.elf"         # NOT a typo, bl31 is shared across 68 and 66
ROCKUSB_BLOB="rk35/rk3566_spl_loader_1.14.bin" # For `EXT=rkdevflash` flashing

 

# Override family config for this board; let's avoid conditionals in family config.
function post_family_config__orangepi3b_use_mainline_uboot() {
    display_alert "$BOARD" "mainline (Kwiboo's tree) u-boot overrides" "info"

    BOOTSOURCE="https://github.com/Kwiboo/u-boot-rockchip.git"
    BOOTBRANCH="branch:rk3xxx-2024.04" # specific commit tested is commit:ccef7dfc453bc03c5b5c61fa67d2745b96fa7da6
    BOOTPATCHDIR="v2024.04-orangepi3b" # empty, patches are already in Kwiboo's branch:rk3xxx-2024.04

    BOOTDIR="u-boot-${BOARD}" # do not share u-boot directory

    BOOTDELAY=1 # Wait for UART interrupt to enter UMS/RockUSB mode etc
    UBOOT_TARGET_MAP="BL31=${RKBIN_DIR}/${BL31_BLOB} ROCKCHIP_TPL=${RKBIN_DIR}/${DDR_BLOB};;u-boot-rockchip.bin u-boot-rockchip-spi.bin u-boot.itb idbloader.img idbloader-spi.img"
    unset uboot_custom_postprocess write_uboot_platform write_uboot_platform_mtd # disable stuff from rockchip64_common; we're using binman here which does all the work already

    # Just use the binman-provided u-boot-rockchip.bin, which is ready-to-go
    function write_uboot_platform() {
        dd if=${1}/u-boot-rockchip.bin of=${2} bs=32k seek=1 conv=fsync
    }

    # Smarter/faster/better to-spi writer using flashcp (hopefully with --partition), using the binman-provided 'u-boot-rockchip-spi.bin'
    function write_uboot_platform_mtd() {
        declare -a extra_opts_flashcp=("--verbose")
        if flashcp -h | grep -q -e '--partition'; then
            echo "Confirmed flashcp supports --partition -- read and write only changed blocks." >&2
            extra_opts_flashcp+=("--partition")
        else
            echo "flashcp does not support --partition, will write full SPI flash blocks." >&2
        fi
        flashcp "${extra_opts_flashcp[@]}" "${1}/u-boot-rockchip-spi.bin" /dev/mtd0
    }

}

function post_family_tweaks_bsp__orangepi3b() {
    display_alert "$BOARD" "Installing sprd-bluetooth.service" "info"

    # Bluetooth on orangepi3b board is handled by a Spreadtrum (sprd) chip and requires
    # a custom hciattach_opi binary, plus a systemd service to run it at boot time
    install -m 755 $SRC/packages/bsp/rk3399/hciattach_opi $destination/usr/bin
    cp $SRC/packages/bsp/rk3399/sprd-bluetooth.service $destination/lib/systemd/system/

    return 0
}

function post_family_tweaks__orangepi3b_enable_services() {
    display_alert "$BOARD" "Enabling sprd-bluetooth.service" "info"
    chroot_sdcard systemctl enable sprd-bluetooth.service
    return 0
}
 

Expand  


 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines