No description
Find a file
2019-12-26 03:05:28 -06:00
board/businesscard Remove generated SD card image 2019-10-04 22:15:14 -05:00
buildroot@5b4e32cae8 Bump Buildroot version to 2019.05.1 2019-08-17 09:20:54 -05:00
configs Remove generated SD card image 2019-10-04 22:15:14 -05:00
doc/images Add README file 2019-12-26 03:05:28 -06:00
package Implement package for flashdrive image 2019-10-04 22:15:14 -05:00
patches Use Thumb instructions 2019-08-17 09:20:54 -05:00
.gitmodules Initial commit, with buildroot submodule 2019-04-30 01:41:36 -05:00
Config.in Implement package for flashdrive image 2019-10-04 22:15:14 -05:00
external.desc Initial commit, with buildroot submodule 2019-04-30 01:41:36 -05:00
external.mk Initial commit, with buildroot submodule 2019-04-30 01:41:36 -05:00
README.md Add README file 2019-12-26 03:05:28 -06:00

Business Card Linux

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!