Compare commits
10 commits
37c196c504
...
ab0cdc5977
Author | SHA1 | Date | |
---|---|---|---|
|
ab0cdc5977 | ||
|
e6eb00657b | ||
|
837c56fb99 | ||
|
e96011e560 | ||
|
340983052b | ||
|
5ee1be0d32 | ||
|
48893c278e | ||
|
f49aab4be5 | ||
|
a796e9dfba | ||
|
b8ee89f734 |
25
.github/workflows/main.yml
vendored
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Cache downloads
|
||||||
|
uses: actions/cache@v1
|
||||||
|
with:
|
||||||
|
path: dl/
|
||||||
|
key: dl
|
||||||
|
- name: Update submodules
|
||||||
|
run: git submodule update --init
|
||||||
|
- name: Compile
|
||||||
|
run: |
|
||||||
|
cd buildroot
|
||||||
|
make BR2_EXTERNAL=$PWD/.. thirtythreeforty_businesscard_defconfig
|
||||||
|
make
|
||||||
|
- uses: actions/upload-artifact@v1
|
||||||
|
with:
|
||||||
|
name: flash.bin
|
||||||
|
path: buildroot/output/images/flash.bin
|
13
README.md
|
@ -1,5 +1,7 @@
|
||||||
# Business Card Linux
|
# Business Card Linux
|
||||||
|
|
||||||
|
[![Actions Status](https://github.com/thirtythreeforty/businesscard-linux/workflows/CI/badge.svg)](https://github.com/thirtythreeforty/businesscard-linux/actions)
|
||||||
|
|
||||||
This is the Linux distribution small enough to run from the 8MB of storage on my Linux-powered business card.
|
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.
|
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 repository is the source code for its firmware image, based on Buildroot 2019.05.
|
||||||
|
@ -50,7 +52,18 @@ You can erase the card after it boots by simply logging in (as `root`) and erasi
|
||||||
|
|
||||||
Don't erase it unless you're prepared to burn a new image!
|
Don't erase it unless you're prepared to burn a new image!
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
Subject to the below exceptions, code is released under the GNU General Public License, version 2 or (at your option) any later version.
|
||||||
|
See also the [Buildroot license notice][buildroot-license] for more nuances about the meaning of this license.
|
||||||
|
|
||||||
|
Patches are not covered by this license. Instead, they are covered by the license of the software to which the patches are applied.
|
||||||
|
|
||||||
|
Finally, files in the `businesscard-flashdrive` package, including its README, my resume, and my photography, remain proprietary and are not released under the GPL.
|
||||||
|
If you would like to build your own firmware based on this, simply remove those files, or deselect the package during build.
|
||||||
|
|
||||||
[blog-post]: https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/
|
[blog-post]: https://www.thirtythreeforty.net/posts/2019/12/my-business-card-runs-linux/
|
||||||
[linux-f1c100s]: https://github.com/thirtythreeforty/linux.git
|
[linux-f1c100s]: https://github.com/thirtythreeforty/linux.git
|
||||||
[uboot-f1c100s]: https://github.com/thirtythreeforty/u-boot.git
|
[uboot-f1c100s]: https://github.com/thirtythreeforty/u-boot.git
|
||||||
[lichee-nano]: https://www.seeedstudio.com/Sipeed-Lichee-Nano-Linux-Development-Board-16M-Flash-WiFi-Version-p-2893.html
|
[lichee-nano]: https://www.seeedstudio.com/Sipeed-Lichee-Nano-Linux-Development-Board-16M-Flash-WiFi-Version-p-2893.html
|
||||||
|
[buildroot-license]: https://buildroot.org/downloads/manual/manual.html#legal-info-buildroot
|
||||||
|
|
BIN
doc/F1C100/Allwinner_F1C600_User_Manual_V1.0.pdf
Normal file
BIN
doc/F1C100/F1C100s_Datasheet_V1.0.pdf
Normal file
BIN
doc/F1C100/F1C600_Datasheet_V1.0.pdf
Normal file
BIN
doc/schematics/businesscard.pdf
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
These photos are a sampling of my photography portfolio. Being behind a camera
|
||||||
|
is my creative outlet, and I love being able to look back on past experiences.
|
||||||
|
|
||||||
|
The photos of Natural Bridges, Horseshoe Bend, and Shiprock come from a trip my
|
||||||
|
wife and I made to the American southwest in the beginning of 2018. It is an
|
||||||
|
exceptionally beautiful area of the world, and it is really hard to point a
|
||||||
|
camera in the wrong direction.
|
||||||
|
|
||||||
|
The shot of Horseshoe Bend is the classic shot. It was also the photo I put
|
||||||
|
the least effort into---the key was arriving just before sunrise (this helps
|
||||||
|
with both the huge tourist crowd and the light; the sun is behind me in this
|
||||||
|
photo). I mounted a 12mm lens, set the tripod on the edge of the cliff, and had
|
||||||
|
this photo about 10 seconds later.
|
||||||
|
|
||||||
|
Shiprock is a natural landmark in New Mexico on the Navajo Nation. It has
|
||||||
|
religious significance to the Navajo, so it is not possible to get closer than
|
||||||
|
a few miles away by car. When I took this photo in January, it had just
|
||||||
|
finished snowing the day before and the sky was overcast; it's unusual to have
|
||||||
|
a photo of Shiprock in fog like this. I could have composited out the telephone
|
||||||
|
poles, but I actually kind of like them as they give a sense of scale.
|
||||||
|
|
||||||
|
The photo of Owachomo Bridge is from Natural Bridges National Monument. This
|
||||||
|
photo involved about 15 minutes' worth of light collection at 18mm and f/2.8
|
||||||
|
(plus another hour or so of setup). I took multiple exposures and stacked them
|
||||||
|
using software to amplify the night sky against the noise of the camera sensor.
|
||||||
|
Natural Bridges is one of the best places in the world for astrophotography
|
||||||
|
because they go to great lengths to minimize light pollution.
|
||||||
|
|
||||||
|
The other photos are miscellaneous photos from various one-off projects. They
|
||||||
|
make good desktop wallpapers! I also enjoy taking portraits, but I've omitted
|
||||||
|
that part of my portfolio here.
|
Before Width: | Height: | Size: 424 KiB After Width: | Height: | Size: 424 KiB |
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 191 KiB |
Before Width: | Height: | Size: 166 KiB After Width: | Height: | Size: 166 KiB |
Before Width: | Height: | Size: 329 KiB After Width: | Height: | Size: 329 KiB |
|
@ -9,6 +9,7 @@ FORTUNE_MOD_SITE = https://github.com/shlomif/fortune-mod/archive
|
||||||
FORTUNE_MOD_LICENSE = GPL-2.0
|
FORTUNE_MOD_LICENSE = GPL-2.0
|
||||||
FORTUNE_MOD_LICENSE_FILES = COPYING
|
FORTUNE_MOD_LICENSE_FILES = COPYING
|
||||||
FORTUNE_MOD_DEPENDENCIES = host-fortune-mod librecode
|
FORTUNE_MOD_DEPENDENCIES = host-fortune-mod librecode
|
||||||
|
HOST_FORTUNE_MOD_DEPENDENCIES = host-librecode
|
||||||
FORTUNE_MOD_SUBDIR = fortune-mod
|
FORTUNE_MOD_SUBDIR = fortune-mod
|
||||||
FORTUNE_MOD_SUPPORTS_IN_SOURCE_BUILD = NO
|
FORTUNE_MOD_SUPPORTS_IN_SOURCE_BUILD = NO
|
||||||
|
|
||||||
|
|
|
@ -13,3 +13,4 @@ LIBRECODE_INSTALL_STAGING = YES
|
||||||
LIBRECODE_DEPENDENCIES = libiconv
|
LIBRECODE_DEPENDENCIES = libiconv
|
||||||
|
|
||||||
$(eval $(autotools-package))
|
$(eval $(autotools-package))
|
||||||
|
$(eval $(host-autotools-package))
|
||||||
|
|
14
patches/linux/0001-linux-driver-nor.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
--- a/drivers/mtd/spi-nor/spi-nor.c 2019-07-30 19:04:15.000000000 -0700
|
||||||
|
+++ b/drivers/mtd/spi-nor/spi-nor.c 2020-05-18 18:15:43.425404994 -0700
|
||||||
|
@@ -2112,6 +2112,11 @@
|
||||||
|
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
+ "xt25f128b", INFO(0x0b4018, 0, 64 * 1024, 256,
|
||||||
|
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||||
|
+ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
"w25q128jv", INFO(0xef7018, 0, 64 * 1024, 256,
|
||||||
|
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||||
|
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
14
patches/uboot/0003-uboot-spi-nor-driver.patch
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
--- a/drivers/mtd/spi/spi-nor-ids.c 2019-07-30 19:16:16.000000000 -0700
|
||||||
|
+++ b/drivers/mtd/spi/spi-nor-ids.c 2020-05-18 18:26:08.972315961 -0700
|
||||||
|
@@ -267,6 +267,11 @@
|
||||||
|
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||||
|
},
|
||||||
|
{
|
||||||
|
+ INFO("xt25f128b", 0x0b4018, 0, 64 * 1024, 256,
|
||||||
|
+ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||||
|
+ SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
INFO("w25q128jv", 0xef7018, 0, 64 * 1024, 256,
|
||||||
|
SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ |
|
||||||
|
SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB)
|