# DietPi on RK3328 Rk3318 TVBOX

**URL:** https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587
**Category:** Community Tutorials
**Created:** [15 January 2023 11:13 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587 "2023-01-15T11:13:28Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![gausus](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/g/76d3ee/32.png) [@gausus](https://dietpi.com/forum/u/gausus)
#### Post date: [15 January 2023 11:13 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/1 "2023-01-15T11:13:28Z")

</div>

Hi

Dietpi IMG for RK3328/18 TVBOX

[DietPi\_ROCK64-ARMv8-Trixie-V9.18.img](https://drive.google.com/file/d/1-OeKxVbQmALwlvq_ac-M82O3Edr8dPNM/view?usp=sharing)

OLDER IMG  
[DietPi\_ROCK64-ARMv8-Bullseye\_RK3328\_RK3318.img](https://drive.google.com/file/d/1dYg-3zxR-EQKixBMcMMH97cjVS76GtKp/view?usp=sharing)

[DietPi\_ROCK64-ARMv8-Bookworm\_RK3328\_RK3318.img](https://drive.google.com/file/d/1s8Bp-D2uTqMKGm_vs769z5nIGtQbZ3UX/view?usp=sharing)

1. Burn to sdcard (balenaEtcher)
2. Boot from sdcard and setup Dietpi on TVBOX

TVBOX run on 1.1 Ghz  
Edit /boot/armbianEnv.txt to enable 1.3 Ghz

Add

> overlays=rk3318-box-cpu-hs

Fix led  
Add to overlays=…

> overlays=rk3318-box-cpu-hs rk3318-box-led-conf1

Tested on H96max+ RK3328 RAM 4GB ROM 32

# Modification to DietPi\_ROCK64-ARMv8-Bullseye.img

Added RK3328 TVBOX uboot to DietPi\_ROCK64-ARMv8-Bullseye.img  
Added DTB fdtfile=rockchip/rk3318-box.dtb to /boot/armbianEnv.txt

Uboot extracted from Multitool IMG . [Armbian for RK3318/RK3328 TV box boards](https://forum.armbian.com/topic/24085-csc-armbian-for-rk3318rk3328-tv-box-boards/)

> sudo dd if=multitool.img of=uboot\_multitool\_rk3328.img bs=1M count=16 conv=fsync

Uboot write to DietPI IMG.  
Replace /dev/SDCARD (sdcard Dietpi)

> sudo dd if=uboot\_multitool\_rk3328.img of=/dev/SDCARD conv=fsync bs=1 count=442  
> sudo dd if=uboot\_multitool\_rk3328.img of=/dev/SDCARD conv=fsync bs=512 skip=1 seek=1

Credits go to [jock](https://forum.armbian.com/profile/1002-jock/). Maintainer of Armbian project for RK3318/RK3328 TV box img and developer of **Multitool**  
U-boot from Multitool to boot dietpi.

---

<div class="post-metadata">

### Author: ![StephanStS](https://dietpi.com/forum/user_avatar/dietpi.com/stephansts/32/2522_2.png) [@StephanStS](https://dietpi.com/forum/u/StephanStS)
#### Post date: [15 January 2023 18:24 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/2 "2023-01-15T18:24:25Z")

</div>

Nice. This is a quite cheap hardware option.  
Could you post a link of the system you used? There are a couple of such TV boxes with a RM3328 available (also with a RM3318), I do not know if all H96max systems are identical and can be used.

---

<div class="post-metadata">

### Author: ![gausus](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/g/76d3ee/32.png) [@gausus](https://dietpi.com/forum/u/gausus)
#### Post date: [15 January 2023 21:05 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/3 "2023-01-15T21:05:28Z")

</div>

Look at forum:[Armbian for RK3318/RK3328 TV box boards](https://forum.armbian.com/topic/24085-csc-armbian-for-rk3318rk3328-tv-box-boards/)

For more HW info.

I am testing a img for amlogic s90Xx tvboxes.  
Got it running on X96mini s905w.  
Need some more testing before posting back her.

---

<div class="post-metadata">

### Author: ![Doskoii](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/d/d07c76/32.png) [@Doskoii](https://dietpi.com/forum/u/Doskoii)
#### Post date: [20 April 2024 12:16 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/4 "2024-04-20T12:16:54Z")

</div>

First of all thanks for the work.  
I tried to put dietpi with your image on my beelink a1 (rk3328 4gb ram) but it stuck at  
starting Diet-Preboot

I didn’t modify anything I burnt the img you provide with balena etcher

Thank you

EDIT:  
it works I tried with another sd card and it boot correctly but ethernet doesnt work in Dietpi-Config it says :  
Ethernet : Available | [On] | Disconnected

I put static IP and change my router settings but nothing works

---

<div class="post-metadata">

### Author: ![gausus](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/g/76d3ee/32.png) [@gausus](https://dietpi.com/forum/u/gausus)
#### Post date: [26 April 2024 19:45 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/5 "2024-04-26T19:45:36Z")

</div>

New [DietPi\_ROCK64-ARMv8-Bookworm\_RK3328\_RK3318.img](https://drive.google.com/file/d/1s8Bp-D2uTqMKGm_vs769z5nIGtQbZ3UX/view?usp=drive_link)

Hope this fix the problem for Ethernet.

---

<div class="post-metadata">

### Author: ![Doskoii](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/d/d07c76/32.png) [@Doskoii](https://dietpi.com/forum/u/Doskoii)
#### Post date: [26 April 2024 21:10 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/6 "2024-04-26T21:10:12Z")

</div>

Thanks I will test it.

EDIT : I burnt the sd card but it doesnt boot I try with and without the toothpick also tried with another sd card aswell, nothing.  
I reburnt Dietpi Bullseye and it works so it’s not my sdcard

---

<div class="post-metadata">

### Author: ![gausus](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/g/76d3ee/32.png) [@gausus](https://dietpi.com/forum/u/gausus)
#### Post date: [27 April 2024 14:38 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/7 "2024-04-27T14:38:52Z")

</div>

You don’t need to use toothpick pressing hidden button to update boot settings. Only needed on Amlogic devices s905-905x3

Have you used other OS like Armbian ?  
I assume you have Android on your tvbox.

Not all RK3328 tvboxes can boot when Android are installed

I recommend reading [forum Armbian for RK3318/RK3328 TV box boards](https://forum.armbian.com/topic/26978-csc-armbian-for-rk3318rk3328-tv-box-boards/)

RK3328 always start booting from the internal flash, then search for bootable sdcard. Some tvbox work fine starting from internal flash, some does not when booting linux like DietPi.

You need a clean boot from sdcard to load all the boot settings from there. For this to work you need to **erase the**  **internal flash**.

**WARING , always make a backup of internal flash from Multitool.**

Info from Armbian for RK3318/RK3328 TV box boards  
Download **Multitool:** ( forum link)  
Burn the Multitool on an SD card  
Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears;

**Menu option**

1. Backup flash
2. Erase flash
3. Power off
4. Boot DietPi from sdcard

if all fails restore backup from Multitool

Test other dtb. ( rk3328-a1.dtb )

Edit `/boot/dietpiEnv.txt`

```auto
#fdtfile=rockchip/rk3318-box.dtb
fdtfile=rockchip/rk3328-a1.dtb

```

_Have tested new DietPi\_ROCK64-ARMv8-Bookworm\_RK3328\_RK3318.img_

_H96Max+ RK3328 TVBOX_

\*Works with Android on internal flash and when flash erased.  
Ethernet OK DietpI

---

<div class="post-metadata">

### Author: ![Doskoii](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/d/d07c76/32.png) [@Doskoii](https://dietpi.com/forum/u/Doskoii)
#### Post date: [28 April 2024 10:36 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/8 "2024-04-28T10:36:58Z")

</div>

Hello,  
I didnt have armbian on that tv box so I still have android on internal flash not now because i did the flash through multitool and it still dont want to boot also tried several .dtb but like I said the previous version boot like a charm but no ethernet.

I really dont know how this things work but when I extract bulseye version I have the os folders (boot, root, sys …) but when I extract the bookworm I have a 0.img and 1.fat maybe its that otherwise can you explain that to me I cant find any explanation on internet.  
Thanks

EDIT: I saw a custom .dtb for the beelink a1 on the armbian forum and maybe a fix for ethernet I will test it on Bullseye  
EDIT2 : I tried the .dtb file you provide with the bullseye version and IT WORKSSS ethernet works ! right now I will test with this one to see what I can do with that tv box. Thanks a lot @gausus

---

<div class="post-metadata">

### Author: ![gausus](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/g/76d3ee/32.png) [@gausus](https://dietpi.com/forum/u/gausus)
#### Post date: [28 April 2024 19:24 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/9 "2024-04-28T19:24:34Z")

</div>

Great your got it working

You are not supposed to use **Multitool** to flash DietPi to internal flash.  
You can do that when everything works booting from sdcard.

I recommend:  
First test DietPi , (do not use Multitool)

_ **If unable to boot DietPi** _

Use **Multitool**  
Make backup of internal flash (Android)  
Erase flash  
Then boot DietPi from sdcard

This will ensure all boot settings are loaded from sdcard

Which DTB did you use ?

Have uploaded new version of Bookworm image , removed fat partition.  
Not needed , my tvbox boots fine only ext4 partition.

TIPS  
Use gnome-disks to mount images on Ubuntu (PC)  
**`sudo apt install gnome-disk-utility`**

Open GUI : disk

Top menu  
Disks [::::] \<\< Click  
Attach Disk Image  
[v] Set up read-only loop device \< untick to enable write support

Software used on tvbox:  
AdGuard Home  
Wireguard server ( VPN to home)  
PXE boot server ( boot ISO and nfsroot true network)  
Backup server , connect SSD to USB3 port (custom bash script using rsync and ssh )

---

<div class="post-metadata">

### Author: ![Doskoii](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/d/d07c76/32.png) [@Doskoii](https://dietpi.com/forum/u/Doskoii)
#### Post date: [2 May 2024 19:40 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/10 "2024-05-02T19:40:35Z")

</div>

Hello, I didn’t use multitool to flash diet I used it to erase the internal flash.  
At first I used rk3328-evb then I use what you suggested rk3328-a1 and it works  
Thanks for the instructions

---

<div class="post-metadata">

### Author: ![xsd789](https://dietpi.com/forum/user_avatar/dietpi.com/xsd789/32/8170_2.png) [@xsd789](https://dietpi.com/forum/u/xsd789)
#### Post date: [16 August 2025 11:00 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/11 "2025-08-16T11:00:29Z")

</div>

谢谢你的测试，我的是S905W之前刷过一个版本也是无法联网，希望这个可以解决问题。

---

<div class="post-metadata">

### Author: ![Joulinar](https://dietpi.com/forum/user_avatar/dietpi.com/joulinar/32/57_2.png) [@Joulinar](https://dietpi.com/forum/u/Joulinar)
#### Post date: [16 August 2025 11:18 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/12 "2025-08-16T11:18:50Z")

</div>

> [@xsd789](#):
>
> 谢谢你的测试，我的是S905W之前刷过一个版本也是无法联网，希望这个可以解决问题。

Trying to translate using DeepL

> Thanks for the test, mine is S905W I flashed a version before and also couldn’t connect to the internet, I hope this will solve the problem.

Please use English language as this is an international community. Thx for understanding.

---

<div class="post-metadata">

### Author: ![hans-tech1312](https://dietpi.com/forum/user_avatar/dietpi.com/hans-tech1312/32/8828_2.png) [@hans-tech1312](https://dietpi.com/forum/u/hans-tech1312)
#### Post date: [21 March 2026 06:21 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/13 "2026-03-21T06:21:50Z")

</div>

Hi,

first of all thanks for this thread, it really helped me get DietPi running from SD on my RK3318 H96max+ box.

Before I got it working today, I had already experimented quite a bit with the box. I erased the eMMC multiple times and flashed different images, but none of them ever worked from eMMC.

Today I flashed DietPi to an SD card and it finally worked perfectly (Desktop, network, etc.).

After that I formatted the eMMC using DietPi Drive Manager but I couldn’t copy DietPi on eMMC . I tried a few things and then rebooted. Since that reboot, the device no longer boots.

I reflashed the SD card again with the same working image, but it still does not boot.

I also flashed the same image directly to the eMMC, but still no success.

Current state:

no HDMI output

no boot from SD

USB devices power off shortly after startup

It feels like something is blocking SD boot now.

Could this be related to the bootloader somehow? I’m not sure what bootloader was on the device before or what exactly I changed earlier, since that was some time ago.

What could be causing this and what would be the correct way to recover or install DietPi to eMMC on RK3318?

Edit:

I managed to get the box working again using Multitool and can now reliably boot DietPi (Trixie) from SD, including a working desktop.

Now I’m trying to move the system to eMMC, but I’m stuck again.

What I found so far:

Trixie image on eMMC → does not boot

Bullseye image on eMMC → boots (so I assume the bootloader works)

Trixie from SD works fine

When I copy the running Trixie system from SD to eMMC (rsync + UUID change), the system stops booting again (sometimes even SD boot breaks until I erase eMMC)

So it seems like:

Bootloader from Bullseye works

Trixie system itself works

But I can’t get a stable combination that boots from eMMC

My goal is just to boot Trixie directly from eMMC without needing the SD card.

Any idea what I’m still missing here?

---

<div class="post-metadata">

### Author: ![StephanStS](https://dietpi.com/forum/user_avatar/dietpi.com/stephansts/32/2522_2.png) [@StephanStS](https://dietpi.com/forum/u/StephanStS)
#### Post date: [27 March 2026 23:43 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/14 "2026-03-27T23:43:10Z")

</div>

Maybe, our blog post can give some assistance:  
[Moving a running DietPi system to a USB stick/disk or an onboard eMMC](https://dietpi.com/blog/?p=1236).

Otherwise you could also run these steps:

1. Boot DietPi from an SD card
2. Get the image from the DietPi page directly to the SD card via `wget`. Use the appropriate file from there: [Index of /downloads/images](https://dietpi.com/downloads/images/) (use the .img.xz file)
3. Install the xz program via `apt install xz-utils`
4. Unpack the image file via `xz -d <use_the_filename_of_the_downloaded_img.xz_file>`
5. Copy the img file to the eMMC via `dd if=<img_filename> of=/dev/<emmc_devicename> bs=1M status=progress`.
6. Optionally mount the eMMC and edit `dietpi.txt` for an automated first installation.
7. Power down your system, remove SD card and reboot.

---

<div class="post-metadata">

### Author: ![gausus](https://dietpi.com/forum/letter_avatar_proxy/v4/letter/g/76d3ee/32.png) [@gausus](https://dietpi.com/forum/u/gausus)
#### Post date: [15 May 2026 16:38 UTC](https://dietpi.com/forum/t/dietpi-on-rk3328-rk3318-tvbox/15587/15 "2026-05-15T16:38:19Z")

</div>

I made the DietPi modification to boot on TV Box RK3318/3328.

You cannot simply flash, `dd`, or `rsync` the SD card image directly to eMMC. There is hidden boot code stored at the beginning of the internal storage. During boot, it loads this internal boot code from eMMC. If the internal storage is erased, it will only use the hidden boot settings for SD card booting.

**It is not always easy to find the correct settings to boot from internal storage, so I do not recommend flashing directly to internal storage**. If DietPi gets corrupted or something else happens, you may lose access to the TV box.

Always create a backup with Multitool of your internal storage before flashing to internal storage.

To get DietPi booting from SD card, I copied (`dd`) the Multitool boot settings:  
`sudo dd if=multitool.img of=uboot_multitool_rk3328.img bs=1M count=16 conv=fsync`

This copies the first 16 MB from Multitool.

Download Multitool from : [CSC Armbian for RK3318/RK3328 TV box boards - Rockchip CPU Boxes - Armbian Community Forums](https://forum.armbian.com/topic/26978-csc-armbian-for-rk3318rk3328-tv-box-boards/)

Flash to internal storage using Multitool.  
Read : **[Quick installation instructions on eMMC:](https://forum.armbian.com/topic/26978-csc-armbian-for-rk3318rk3328-tv-box-boards/)**  
CSC Armbian for RK3318/RK3328 TV box boards

**MANUAL install to internal storage:**  
It is important not to erase the first 20 MB of internal storage.  
Create the ext4 partition after that.  
DietPi running from SD card, then create a backup of first 16MB  
`sudo dd if=/dev/INTERNAL of=internal-first-16MB.img bs=1M count=16 status=progress conv=fsync`  
`sync`

Then I recommend copying over the DietPi image, and you need to change the UUID in `dietpiEnv.txt` and /etc/fstab to match the UUID of the internal ext4 partition.

Boot SD card

Creating the ext4 partition on internal storage, find the UUID:

```auto
lsblk -f

NAME FSTYPE FSVER LABEL UUID
mmcblk2
└─mmcblk2p1 ext4 1.0 1e85bdca-391e-4f6c-9155-e0b60409ea95

```

### DD method

If you use `dd`, shrink the partition on the SD card first so there is a minimum of 2 GB free space afterward.

Do this from a Linux PC. I recommend using GParted on a desktop Linux distribution like Ubuntu.

Then boot from the SD card and use `dd` to copy the root partition from the SD card to internal storage.

Create the partition on internal storage:

```auto
sudo su
DEV=/dev/internal_storage # example: mmcblk2

parted -s "$DEV" mkpart primary ext4 20MB 90%
partprobe "$DEV"

```

Use `lsblk -f` to find the partition name of internal storage (mmcblk2)

```auto
sudo su
# dd if=/dev/SDCARD_ext4_part of=/dev/eMMC_ext4_part bs=1M status=progress
dd if=/dev/mmcblk1p1 of=/dev/mmcblk2p1 bs=1M status=progress conv=fsync
e2fsck -f /dev/mmcblk2p1  
resize2fs /dev/mmcblk2p1
lsblk -f

```

### Or use rsync

Create the partition on internal storage:

```auto
sudo su # Run all cmd as root

```

```auto
DEV=/dev/internal_storage # example: mmcblk2

parted -s "$DEV" mkpart primary ext4 20MB 90%

```

Skip the first 20 MB and use 90% of the internal storage.

Format:

```auto
mkfs.ext4 -F "${DEV}p1"

```

Mount internal storage:

```auto
mkdir -vp /mnt/root_internal

mount /dev/mmcblk2p1 /mnt/root_internal

```

Copy files:

```auto
sudo su
rsync -aAXHvx --numeric-ids --info=progress2 \
  --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/root_internal/*","/media/*","/lost+found","/swapfile"} \
  / /mnt/root_internal/

```

Edit:

```auto
nano /mnt/root_internal/boot/dietpiEnv.txt

```

Change:

```auto
rootdev=UUID=XXXXX

```

Edit:

```auto
nano /mnt/root_internal/etc/fstab

```

## PHYSICAL DRIVES  
UUID=XXXXXX-ZZZZZZZZZZZ / ext4 noatime,lazytime,rw 0 1

Remove the SD card and test booting.

If boot fails, write the first 16 MB of Multitool to internal storage.

Boot from SD card.

I recommend making a backup of the first 16 MB from the SD card using a Linux PC such as Ubuntu:

```auto
dd if=/dev/SDCARD of=sdcard-first-16MB.img bs=1M count=16 status=progress conv=fsync
sync

```

Then copy `sdcard-first-16MB.img` to the DietPi SD card.

Boot from SD card and run:

```auto
dd if=sdcard-first-16MB.img of=/dev/INTERNAL conv=fsync bs=1 count=442

dd if=sdcard-first-16MB.img of=/dev/INTERNAL conv=fsync bs=512 skip=1 seek=1

```

I have successfully set up DietPi on internal storage:

```auto
inxi -Fxxx

System:
  Host: DietPi115
  Kernel: 6.18.22-current-rockchip64
  arch: aarch64
  bits: 64
  compiler: gcc v:13.3.0
  clocksource: arch_sys_counter

Console:
  pty: pts/0

Distro:
  Debian GNU/Linux 13 (trixie)

Machine:
  Type: ARM
  System: Rockchip RK3318 BOX
  details: N/A
  serial: 97df7a1872ad4e7c

Drives:
  Local Storage: total: 58.24 GiB
  used: 3.8 GiB (6.5%)

ID-1:
  /dev/mmcblk2
  vendor: Samsung
  model: CGND3R
  size: 58.24 GiB
  type: Removable
  tech: SSD
  serial: 0xf5a2b4f3
  fw-rev: 0x7
  scheme: MBR

```
