Lichee Nano Pi – Will it run Debian?

Introduction

The Lichee Nano Pi is a $6 Linux Development board powered by an Allwinner F1C100s ARM9 Processor. The Lichee Nano Pi features 32MB DDR integrated into SoC, a 16MB SPI Flash, an onboard TF Slot, and is able to be booted from a TF card. It is around the size of an SD card.

Whilst there are Linux images available for the Lichee Nano Pi it is recommended to use buildroot to build a very lightweight Linux install. There are some instructions on doing that here: https://github.com/unframework/licheepi-nano-buildroot

Buildroot is great for creating a light weight Linux install I wanted to see if I could run full Debian 10 on this tiny SBC. As there are no Debian images available for this board I had to get creative.

Building a Debian Image

If you would prefer to skip this and use a pre-built SD card click here.

Starting by downloading a Linux image designed for the Lichee Pi here: https://steward-fu.github.io/website/mcu/lichee-nano/flash_image.htm

I then flashed this to a micro SD card and expanded the rootfs partition from ~183MB to 1GB. I then removed the contents of the rootfs partition and created a Debian rootfs using multistrap:

We then need to create the multistrap config I created a file called buster.conf as follows:

[General]
unpack=true
bootstrap=Debian
aptsources=Debian

[Debian]
packages=
source=http://ftp.uk.debian.org/debian
keyring=debian-archive-keyring
suite=buster

Then I ran the following:

multistrap -a armel -f buster.conf -d path/to/sd/card/mount

This created a bootable half finished Debian install, I then booted this up on the Lichee nano and connected using my DSD TECH USB to TTL Serial adapter and ran the following to finish setting up the packages:

dpkg --configure -a

This gave me a somewhat working install of Debian however no init system is included, I wanted to run full systemd and include a few packages.

The easiest way to do this without networking was to use debootstrap, on my Linux desktop I ran the following:

mkdir lichee_packages && debootstrap  --arch=armel --include=htop,procps,zsh,nano,systemd,isc-dhcp-client,ifupdown stable lichee_packages

This outputs a full chroot environment into the directory lichee_packages however I only wanted the .deb packages.

I ran the following to copy the .deb packages to the Lichee Nano’s SD Card:

cp lichee_packages/var/cache/apt/archive/*.deb /path/to/mounted/sd/card/root/

I then inserted the SD card into the Lichee Nano and booted it once again and installed the packages as follows:

dpkg -i /root/*.deb

This took a few minutes to complete although once finished I have a fully working Debian 10 install on my Lichee Nano.

I then created a swap file as 32MB of RAM does not go far!:

dd if=/dev/zero of=/var/swapfile bs=1M count=256 &&
chmod 600 /var/swapfile &&
mkswap /var/swapfile &&
echo /var/swapfile none swap defaults 0 0 |  tee -a /etc/fstab &&
swapon -a

One more reboot and we’re good to go!

Debian SD Card image

I understand that most people probably don’t want the hassle of building a custom SD card image for their Lichee Nano so I have provided one here

This can be flashed using etcher, dd or any other image burning tool extract the image file first.

Conclusion

Was this worthwhile? I’d say so, I can now easily install packages on my Lichee Nano by connecting it to my Pluggable OTG Ethernet Adapter and whilst Debian is heavy in comparison to a buildroot install it still only uses 7 MB of RAM at idle!

Whilst this should be an almost fully compatible Debian install we are not using the Debian Kernel or Debian uboot.
If anyone wants to try this themselves the Lichee Nano is available on aliexpress for just over $6

8 comments

  1. I search a offgrid machine. How many power needed screen, cpu, keyboard ?
    For example i need a mobile device. only text mode ncurses. ssh, git, ruby, mutt, vi etc. How long this device can work? Is possible using solar power?

    1. Running a screen and Keyboard will use a fair amount of power although the board itself pulls under 1w looking at the post.

      Using this board you will stand a good chance of running it using Solar power or a small power pack. I don’t have numbers on how long it would run for but it would be interesting to see, forget running a screen using just solar though unless its a big panel.

Leave a comment

Your email address will not be published. Required fields are marked *