Building Debian ARM64


The rootfs is actually in it. What version of Linux your computer is running? The older Linux may not recognize the newer 64 bit ext4 (formatted with -O ‘^64bit’).




No eMMC installed. I don’t have any linux file system tools installed on my Windows box. I’m running the latest version of Ubuntu on a MS Surface Pro.

As soon as you get your new version of the image up I’m going to put it on my 64G microSD and run with it.


I installed it with emmc, but I couldn’t display zhuomian with HDMI display.


Another user is having the same problem when using eMMC too. I’ll test the new build on eMMC before upload the image. The new build has everything, Bluetooth, Ethernet over USB and mpv player playing V8/V9/H.265. stay tuned.


I’m using Manjaro Linux (arch based) 64 bit and kernel 5.1 (also tried a bunch of other kernels from 4.19 to 5. ) For some reason Etcher says the flash completed but the partitions wont show up. It thinks the GUID partition table is corrupted for some reason. When I tried booting the image from EMMC on the RockPi4B, the screen stays blank.


I installed the system on the TF card and it started up normally.


I can use Etcher to flash this image onto uSD, but not able to use zcat to apply this image to eMMC nor onto another uSD (using a USB adapter).
zcat appears to complete w/o errors, but the Rock Pi 4B hangs on boot, just prior to mouse pointer.
Rebooting via uSD reveals that lsblk shows no partitions in mmcblk1. Fdisk reports errors in the pmbr and is able to repair the errors, using previous records. Afterwards, all 5 partitions are listed in lsblk. But, it still won’t boot.

zcat applies the following image to eMMC, w/o problems:

Unfortunately, it is not a 64-bit OS, but it works.

Regarding boot order, if the uSD is inserted, the Rock Pi 4B boots from uSD. It boots from eMMC when no uSD is inserted.

Hope this helps.
Is there any Debian based 64-bit OS image that will boot via Rock Pi 4B eMMC?


I’m targeting this Friday to finish the next image. I figured it was “dd” i used to create the image caused the issue. I’ll do it differently this time.


Sounds like we may need @jack to line up another party w/dancing girls, lol.
Seriously, I am very appreciative of your assistance.
As a Linux newbie, I don’t know whether it matters, but just in case, here’s the full zcat command I used to apply the image:

zcat debian-arm64.img.gz | dd of=/dev/mmcblk1 bs=1M

As you can see, it included “dd”


It’s complicated, I’m not sure if I could reach my goal.

My first attempt was flash the image to a 4GB microSD card, and do all customization, so I don’t need to shrink the partition, and was hoping it would eliminate any complications because of the manual procedure. But the new image directly dumped from the 4GB card didn’t boot on eMMC either.

So I went to the formal approach, did all customization in the building scripts, virtually eliminated the possibility of partition or file system corruption. But again, the image only boots from micoSDs, then I realized I’ve never been able to boot a Debian ARM64 build from eMMC at all, which makes me wonder, is there eMMC driver or something built into the official armhf image but not in ARM64? I won’t be able to make a working eMMC image unless I find out the root cause…

EDIT: Probably not. Checked /var/log on the eMMC apparently it didn’t get there, must be something stuck in u-boot.

@jack and @Stephen any suggestion?


How do you generate a bootable image? dd out the whole image from sd card is not a good idea. You should only dd the rootfs partitions and boot partitions. And use the script from rockchip-bsp to generate the gpt partitions and combine them into a bootable image.

build/ -c rk3399 -t system -r /path/to/your/rootfs


I’m using the same scripts, the same result. The image boots up from microSD cards without any problem, only stuck on eMMC


Any serial console log? You can enable the serial console in the hw_config file.


I found it. Thanks.

I want to build a image working “out of the box”, so I pre-installed the overlay packages and rockchip-fstab. The problem is rockchip-fstab, because it’s a script only package, I kept getting error when tried to install it using dpkg, so I just droppted /etc/fstab in the overlay folder.

The problem is, eMMC is always assigned to mmcblk1 regardless if it’s the only device, and I literally hardcoded mmcblk0p4 as /boot in fstab. I changed it to mmcblk1p4 now it’s booting up normally!

I’ll take a little more time to finish the image, but it will be a more polished one.

I think the old image can be fixed by editing fstab too.


rockchip-fstab will detect the running media and then write to /etc/fstab, I suggest to put the installation of rockchip-fstab in the firstboot after flashing the image.


Awesome! Thanks for all your hard work man!



Any updates?



Thanks MX_Master. As soon as I asked the question I found the answer. It would be cool to edit the top post just to clarify. Such awesome work from a person willing to donate their time for us!