badge-buildroot/README.md
2020-01-01 23:07:22 -06:00

2.2 KiB

Business Card Linux

Actions Status

This is the Linux distribution small enough to run from the 8MB of storage on my Linux-powered business card. It is powered by the Allwinner F1C100s, a $1.40 Linux-capable ARM system-on-chip. This repository is the source code for its firmware image, based on Buildroot 2019.05. This directory is a "Buildroot external," providing a few patches, additional packages, and board support files on top of mainline Buildroot.

For a complete write-up, see my blog post about the project.

business card top

Patched Linux and U-Boot

I lightly patched the Linux kernel and U-Boot to get all the hardware peripherals working. You can find my forks here:

  • Linux v5.0.2 (patched to enable USB gadget mode)
  • U-Boot (patched to support the F1C100s)

Build

Make sure submodules are initialized:

git submodule update --init

Change to the top-level Buildroot directory:

cd buildroot

Initialize the configuration, including the defconfig and this external directory:

make BR2_EXTERNAL=$PWD/../ thirtythreeforty_businesscard_defconfig

And compile:

make

This may take a couple hours to do from scratch, depending on the speed of your machine.

Installation

If you have a Lichee Pi Nano with a flash chip, or one of my blank business cards, you can flash it with the following command. Make sure the board is in FEL mode using dmesg or similar.

output/host/bin/sunxi-fel -p spiflash-write 0 output/images/flash.bin

You can erase the card after it boots by simply logging in (as root) and erasing the flash manually:

dd if=/dev/zero of=/dev/mtd0

Don't erase it unless you're prepared to burn a new image!