StartEvery page

Installing on a NanoPi R5S

The NanoPi R5S is a small router board with three network ports, marked WAN, LAN1 and LAN2 on its case. panel starts from an SD card first, then installs itself onto the board's built-in storage (its eMMC), so the card can come out.

Write the card

  1. Download panel-<version>-nanopi-r5s-trixie.img.xz from the download page, and check it against its .sha256.
  2. Write it to an SD card with Raspberry Pi Imager (Use custom), balenaEtcher, or xzcat … | sudo dd of=/dev/sdX bs=4M on Linux.

The first start

Put the internet's cable in the port marked WAN, the card in its slot, and power the board. The first start:

  • names the ports wan0, lan1 and lan2, as the case marks them;
  • gives them hardware addresses of their own (the board has none) and keeps them from then on;
  • names the machine panel- and the end of wan0's address;
  • grows the system to fill the card.

Sign in as admin with the password panel at the address the board was given (look for panel-… in your current router's list of devices). See The first sign-in.

Onto the eMMC

Over SSH, as an administrator (see Accounts):

sudo panelctl install              # lists the disks; the card is marked
sudo panelctl install /dev/mmcblk1 # the eMMC: type its name to confirm

The card is mmcblk0 and the eMMC mmcblk1 (an 8 GB eMMC lists as 7 GB). The install copies the running system — accounts, settings, the ports' addresses — onto the eMMC. Switch off, take the card out, switch on.

An NVMe disk is refused for the system: the board only starts from the eMMC or a card. Use it for the NAS instead.

A card in the slot always wins over the eMMC, which is how you install again.

If something else is on the eMMC already

A board with FriendlyWrt or another system on its eMMC starts that and never looks at the card. If you can still sign in to that system, clear the start of its eMMC there:

sudo dd if=/dev/zero of=/dev/mmcblkN bs=1M count=16

If you can't, clear it from a Linux computer over USB, with the board in maskrom mode: a USB-A to USB-A cable (one that carries data) in the USB port FriendlyElec's wiki shows for it.

sudo apt install rkdeveloptool
git clone --depth 1 https://github.com/rockchip-linux/rkbin.git
(cd rkbin && tools/boot_merger RKBOOT/RK3568MINIALL.ini)   # the loader
# card out; cable in; hold MASK, power on, let go 4 s after the LED lights
sudo rkdeveloptool ld                     # Mode=Maskrom
sudo rkdeveloptool db rkbin/rk356x_spl_loader_*.bin
dd if=/dev/zero of=zero.img bs=1M count=16
sudo rkdeveloptool wl 0 zero.img
sudo rkdeveloptool rd

Then put the card in and power on: with nothing to start on the eMMC, the board starts the card.

Good to know

  • There is no console login. The serial console (the debug header, at 1,500,000 baud) shows the board starting and each port's address.