Skip to main content

Replacing the 32-bit Root Filesystem

Compiling Debian 11 armhf Root Filesystem​

Install Required Tools​


PC:~$ sudo apt install -y debootstrap

Create Root Filesystem Directory​


PC:~$ mkdir rootfs

PC:~$ cd rootfs

Generate Debian 11 armhf Root Filesystem Using debootstrap​


PC:~$ sudo debootstrap --arch armhf bullseye rootfs http://mirrors.tuna.tsinghua.edu.cn/debian

Switch to armhf Root Filesystem​


sudo chroot rootfs bash

Install Required Packages in armhf Root Filesystem​


apt update

apt install -y sudo usbutils network-managerfdisk \
vim nano openssh-server iputils-ping wget curl \
iproute2 dialog locales kmod zip unzip u-boot-tools initramfs-tools

Create User​


adduser radxa

gpasswd -a radxa sudo

Flash Debian 11 arm64 Image to SD Card or eMMC Module​

Record Target Device Information​

Confirm Target Device​

Insert the SD card or eMMC module with the newly flashed Debian 11 arm64 into your local PC and mount it


PC:~$ lsblk
sdb 8:16 1 29.3G 0 disk
├─sdb1 8:17 1 16M 0 part
└─sdb2 8:18 1 5.1G 0 part

From this, we can see our target device is /dev/sdb2

Record UUIDs​


PC:~$ sudo blkid /dev/sdb2
/dev/sdb2: LABEL="rootfs" UUID="8bf96d05-7c97-42fc-863c-95e3e7603ef4" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="rootfs" PARTUUID="474d4c1f-53da-447c-bab4-334abe0d5753"
PC:~$ sudo blkid /dev/sdb1
/dev/sdb1: LABEL_FATBOOT="config" LABEL="config" UUID="4AD5-9369" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="config" PARTUUID="8d24a074-ea49-4d24-a17c-82dd88776fa2"

Replace Root Filesystem​

Mount Target Device​


PC:~$ sudo mount /dev/sdb2 /data2
PC:~$ cd /data2

Replace Root Filesystem​

Navigate to the mounted root filesystem, back up the boot directory, delete and replace the root filesystem, then restore the boot directory to the new root filesystem


PC:/data2$ sudo cp -r ./boot ~/
PC:/data2$ sudo rm -rf *
PC:/data2$ sudo cp -av /path/to/rootfs/* ./
PC:/data2$ sudo cp -av ~/boot/* ./boot/

Modify fstab​


PC:/data2$ cat ./etc/fstab
### UNCONFIGURED FSTAB FOR BASE SYSTEM

Update the fstab file with the previously recorded UUIDs


PC:/data2$ sudo cat ./etc/fstab
### UNCONFIGURED FSTAB FOR BASE SYSTEM
UUID=8bf96d05-7c97-42fc-863c-95e3e7603ef4 / ext4 defaults 0 1
UUID=4AD5-9369 /config vfat defaults,x-systemd.automount 0 2

Unmount​


radxa@radxa:/data2$ cd
radxa@radxa:~$ sudo umount /data2

Verify 32-bit Root Filesystem​

Boot the System​

Insert the SD card or eMMC with the replaced rootfs into the board and power it on.

Verify Current Root Filesystem is 32-bit​


radxa@rock-4se:~$ sudo apt-get install file -y
radxa@rock-4se:~$ file /bin/ls
/bin/ls: ELF 32-bit LSB pie executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, Build

This confirms we have successfully replaced the rootfs with a 32-bit version

    You need to be logged into GitHub to post a comment. If you are already logged in, please ignore this message.

    Radxa-docs © 2026 by Radxa Computer (Shenzhen) Co.,Ltd. is licensed under CC BY 4.0