Documentation Request: eMMC Flashing, OS Cloning, and Alternative Boot Media

Hi Vicharak Team,

We are currently evaluating the Vicharak Axon for an embedded project and we need some official documentation regarding OS and storage management before we scale up.

Context: During our initial bench testing, the board experienced a few sudden power interruptions before our power supply setup was finalized. These crashes seem to have severely corrupted the system files on the onboard eMMC (we are now seeing EBADMSG kernel-level sector errors and dpkg lockups). We need to completely wipe the drive and start fresh.

Could an engineer please provide a guide or documentation for the following?

1. Re-flashing the onboard eMMC: What is the official, step-by-step method to completely wipe and re-flash the soldered eMMC with your latest stable OS?

2. Creating a Backup / OS Cloning: Once we flash a fresh OS and install our custom application environment and dependencies, what is the recommended way to create a full backup image of that OS? Additionally, how can we easily flash that custom image onto our new Axon boards so we don’t have to manually configure every unit from scratch?

3. Alternative Boot Media (NVMe): To mitigate eMMC wear-leveling issues in the future (our application requires continuous, heavy data logging), is there a supported method to bypass the eMMC entirely and boot the OS directly from an NVMe SSD?

For context, here is the specific EBADMSG behavior we are seeing:
APT Error during configuration:
dpkg: error processing package libipa-hbac0t64 (–configure):
unable to open triggers ci file ‘/var/lib/dpkg/info/libipa-hbac0t64.triggers’: Bad message

Will provide documentation, though It is available on Vicharak Doc, Meanwhile could you further explain about EBADMSG error and what setup you are following !?

hey @jshaan_ioshi

You can follow these steps to erase eMMC data and reflash it (steps are given for a Linux host system ):

  1. Download the Linux_Upgrade_Tool (Linux Upgrade Tool (upgrade_tool) | Vicharak)

  2. Boot the board into MaskROM mode (Linux Upgrade Tool (upgrade_tool) | Vicharak)

  3. Check if you are in maskrom mode using :

sudo ./upgrade_tool ld

  1. Run the following commands to erase the eMMC data:

    a. Generate a zero.img of size 2gb (this erases almost all the important data in eMMC)

      > dd if=/dev/zero of=zeros.img bs=1M count=2048 status=progress
    

    b. Flash the rk3588 spl loader (download from : https://downloads.vicharak.in/vicharak-axon/rk3588_spl_loader_v1.14.113.bin )

      > sudo ./upgrade_tool db /home/<path>/rk3588_spl_loader_v1.14.113.bin
    

    c. Erase eMMC data :

sudo ./upgrade_tool wl 0 zero.img

  1. Now you can flash a brand new raw image to eMMC (Linux Upgrade Tool (upgrade_tool) | Vicharak)

You can find the image here : https://downloads.vicharak.in/vicharak-axon/ubuntu/24_noble/V2.0.1_vicharak_axon_6.1_07052026-ubuntu-noble-24.04-raw.tar.gz

Note : If the problem persists , you can increase the size of zero.img to 6gb , if that doesn’t fix the problem, let me know.

Alternative Boot Media to boot

  1. Download RAW image.

  2. User need to first flash image into external media like SD Card, NVME etc.

    In Linux

    sudo dd if=<image> of=/dev/<device_block> status=progress; sync
    

    In Windows

  3. Make sure Axon is connected to HDMI-Tx0 connector, this is assume that bootable external device is attached to axon. Now, while Axon booting, In starting when User see Vicharak Logo on screen, Press Ctrl + Q continuously,
    Reference Guide :
    And Set default boot using Shift + D, using enter.

Vicharak Image pattern follow First boot setup so, it reboots automatically and boot from, selected external device.

After that, User can check it by lsblk command.
/boot is mounted on selected external device partition 3.

Board Full Back Up

Pr-requisites

  • External media having ext4 file system ( i.e. NVMe, SD Card, USB etc. )
    - Minimum 8GB according to back up image size that is made by user

Steps to follow

  1. Make sure, system is updated.
    sudo apt update
    sudo apt upgrade
    
  2. Follow This guide.

If you are facing any issue, Run below command and take backup directly.

sudo su
cd /usr/lib/vicharak-config/tui/advanced/backup/
./vicharak-backup.sh

You will be shown that vicharak-<date>-backup.img created in the location.

Now, compressed it using tar or zip command.

tar -cvzf test.tar.gz <vicharak-date-backup>.img

And move to external device like USB, NVMe.

This image is flashable image so you follow flash guide.

Hi again,
I successfully managed to completely re-flash the onboard eMMC and also set up a clean boot from an NVMe SSD.

However, we are observing a critical issue: the Axon board is randomly hard-freezing.

This does not seem to be related to thermal throttling or heavy compute loads. The board will completely lock up and become unresponsive even when idling or performing very light I/O tasks (like running sudo apt update). We have to physically power-cycle the board to get it back online. We are using a stable USB-C PD module, so power delivery should be consistent.

I have attached a screenshot (dmesg.png) showing the kernel panic output.

Could your team review the attached image?
dmesg

Also attaching a dmesg log recorded during another freezing instance
dmesg_live_20260526_125012.txt (1.2 MB)

Thanks again for the support!

Try booting from eMMC, and run below command.

sudo fsck -f /dev/nvme0n1p6

and boot again from nvme and compile your source