Support for S3/S3L coming soon (no access to hardware for testing as of now)
This repo contains a buildroot external tree for the Allwinner V3s/S3/S3L SoCs. Using buildroot's external tree mechanism allows all project-specific files to be separated from the buildroot internals and easy upgrades to future buildroot releases.
The main goal is to support all available features/peripherals on these SoCs with the latest mainline software, with minimum patches/modifications. Unfortunately, some binary blobs are required for certain features (specifically, video encoding; see more below).
- Fast 0.3 seconds boot time (from
Starting kernel...
to/sbin/init
) - Automatic start of
udhcpc
and SSH support viadropbear
initramfs
support, as a simple way to perform full-disk upgrades over the air. This is disabled by default; for more information, see insert link hereu-boot
env support: boot env variables can be accessed in userspace via thefw_getenv
andfw_setenv
commands
- Connectivity: SPI, I2C, UART, LRADC, SDIO, USB, Ethernet
- DVP (parallel) camera interface
- H.264 BP/MP/HP video encoding, up to 720p @ 60fps or 1080p @ 30fps
- Hardware cryptographic accelerator (accessible in userspace via /dev/crypto; see cryptodev-linux)
In addition, available features shown in the Sunxi Mainline Status Matrix in the S3/V3s column should be supported as well, but I did not test them personally.
# Change directory to any appropriate location
cd /some/working/directory
# Download the v3s3 external tree
git clone https://github.com/Unturned3/v3s3
# Get a buildroot release (any recent version should work; tested with 2022.05.1)
wget buildroot.org/downloads/buildroot-x.y.z.tar.gz
tar -xf buildroot-x.y.z.tar.gz
cd buildroot-x.y.z
make BR2_EXTERNAL=../v3s3 licheepi_zero_defconfig
# Make any customizations if desired
make nconfig
make linux-nconfig
make uboot-nconfig
make busybox-menuconfig
...
# Download needed source packages
make source
# Build
make all
# Burn output image onto an SD card
sudo dd if=output/images/sdcard.img of=/dev/sdX bs=4M
Enable the "CedarVE H.264 encoding demo" option in the make nconfig
customizations step (located in the External options
sub-menu), and proceed with the build process.
Demo program source code is available at h264enc_demo