Code Monkey home page Code Monkey logo

licheepi-nano-buildroot's Introduction

Lichee Pi Nano Bootable Linux Image (Buildroot)

Lichee Pi Nano with LCD screen

Lichee Pi Nano (English article, old site) is a very small single-board computer that is about the size of an SD card. It can run Linux. There is a good amount of official documentation on the original manufacturer site (in Chinese, but easily readable thanks to Google Translate). However, the tooling used to build the full card/SPI-Flash images is mostly made up of custom shell scripts, and is not always easy to extend or maintain.

This repository contains a Buildroot-based Linux image build for the Lichee Pi Nano. It compiles a U-Boot image, Linux kernel, the rootfs image and the final partitioned binary image for flashing onto the bootable micro SD card (note: SPI-Flash boot image builds are possible but I did not get a chance to try them yet).

All the custom configuration is packaged as a BR2_EXTERNAL Buildroot extension to avoid the need to fork the entire Buildroot repo. You can fork this project or integrate it as a Git subtree to customize your own OS build on top of it as needed.

The build process uses Docker for reproducibility and convenience. If you are an advanced Linux user you can set up your own build on your host machine by running the same commands as [Dockerfile.base].

Explore the configuration and modify it at will: e.g. start with the main Buildroot defconfig file in configs/licheepi_nano_defconfig. You will most likely need to update the Linux DTS (device tree) file to match your board usage, for which you can edit suniv-f1c100s-licheepi-nano-custom.dts. Sample peripheral descriptions are listed in comments there - uncomment and modify what you need. This custom DTS file includes the original suniv-f1c100s-licheepi-nano.dts in the kernel tree, so you don't need to fork the kernel or duplicate code to make your local customizations. I may also set up an equivalent customizable U-Boot DTS file in the future.

More customization is available by changing other files in the board and configs directories, such as the kernel boot command, kernel defconfig and SD image layout. There is also a preconfigured rootfs overlay folder, ready to populate.

This effort heavily borrowed from the work done by the FunKey Zero project: https://github.com/Squonk42/buildroot-licheepi-zero/. The latter targets Lichee Pi Zero, a sibling board to the Nano, but I was able to adapt it for use with Nano, and also converted the content to be a BR2_EXTERNAL extension rather than a full Buildroot fork.

Also check out https://github.com/florpor/licheepi-nano: that work was done prior to mine but I somehow didn't find it until later, oops.

Dependencies

Builds are Docker-based: multi-stage syntax support is needed (available since Docker Engine 17.05 release in 2017). Docker BuildKit support is needed for direct tar file output but you can omit that and manually copy sdcard.img from the built Docker images.

Building the Image

The easiest way is using Docker (on Windows/MacOS/Linux). If your Docker is older than v23, ensure that you have BuildKit enabled.

First, clone this repo to your host:

git clone [email protected]:unframework/licheepi-nano-buildroot.git

There are two options available - fast build using the prepared Docker Hub images or from scratch (takes 1-2 hours or more).

Fast build:

docker build --output type=tar,dest=- . | (mkdir -p dist && tar x -C dist)

The built image will be available in dist/sdcard.img - you can write this to your bootable micro SD card (see below).

Full rebuild from scratch:

docker build -f Dockerfile.base --output type=tar,dest=- . | (mkdir -p dist && tar x -C dist)

Write Bootable Image to SD Card

On Windows, use Rufus or Balena Etcher to write the bootable SD card image (sdcard.img). Typical image size is at least 18-20Mb, which should fit on most modern SD cards.

Example command to write image to SD card on Linux host:

sudo dd if=output/images/sdcard.img of=DEVICE # e.g. /dev/sd?, etc

Then, plug in the micro SD card into your Lichee Nano and turn it on!

Iterating on the Base Image

The "fast build" Docker command allows tweaking config files in board and configs without having to rebuild everything. First it pulls the pre-built Docker Hub image, re-copies the defconfig and board folder from local workspace into it, and runs the make command once again.

Note that certain config file changes will not automatically cause Buildroot to rebuild affected folders. Please see the Buildroot manual sections Understanding when a full rebuild is necessary and Understanding how to rebuild packages.

It's very convenient to run the intermediate Docker image and inspect the build folder, run make menuconfig, etc:

docker build --target main -t licheepi-nano-tmp
docker run -it licheepi-nano-tmp /bin/bash

Just don't forget to e.g. carry out any resulting .config file changes back into your source folder as needed.

Once you are happy with your own additions, you can run a full Docker image rebuild and tag the result:

docker build -f Dockerfile.base --target main -t licheepi-nano-mybase:latest .

And then use that image as the base for generating the SD image as well as further config iterations:

docker build \
  --build-arg="BASE_IMAGE=licheepi-nano-mybase" \
  --output type=tar,dest=- . \
  | (mkdir -p dist && tar x -C dist)

For reference, here is how the base image is generated and published (these are the commands I run as the repo maintainer):

docker build -f Dockerfile.base --target main -t unframework/licheepi-nano-buildroot:$(git rev-parse --short HEAD) .
docker build -f Dockerfile.base --target main -t unframework/licheepi-nano-buildroot:latest .
docker push unframework/licheepi-nano-buildroot:$(git rev-parse --short HEAD)
docker push unframework/licheepi-nano-buildroot:latest

Linux and U-Boot Versions

The built kernel is a Linux fork based off 5.11, with hardware-specific customizations. I have cherry-picked the original customizations from @Lichee-Pi Linux repo nano-5.2-tf branch and nano-5.2-flash branch (both based off Linux version 5.2) and added tiny fixes due to newer kernel version.

The built U-Boot is a fork based off v2021.01 with hardware-specific customizations, which I ported over from the original @Lichee-Pi v2018.01 fork referenced in the docs. By the way, the latter is actually itself a rebase of an earlier repo branch maintained by @Icenowy. Splash screen support is not yet ported.

LCD Screen Support

By default, the suniv-f1c100s-licheepi-nano.dts device tree expects a 800x480 TFT screen to be plugged into the 40-pin flex-PCB connector on the board. You can change this to be a 480x272 TFT screen - simply uncomment the panel block at line 14 in suniv-f1c100s-licheepi-nano-custom.dts. This will override the compatible string for the driver and trigger the lower resolution (see also original docs).

licheepi-nano-buildroot's People

Contributors

unframework avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

licheepi-nano-buildroot's Issues

Is networking enabled?

There are no guides on the net for the wifi sd card adapter… But some that allow a Host pc to connect to the Licheepi Zero via a USB cable exposing usb0 network interface.

Is networking working for this image on the nano?

compilation error when dealing with the Kernel

I'm guessing that since the kernel got updated, the default scripts which were "hard-coded" to k 5.4 won't work anymore

INSTALL /home/munin/Projecs/lichee_project/unf_buildroot/buildroot-2022.05.1/output/build/linux-headers-v5.11-nano-3/usr/include
>>> linux-headers v5.11-nano-3 Building
>>> linux-headers v5.11-nano-3 Installing to staging directory
(cd /home/munin/Projecs/lichee_project/unf_buildroot/buildroot-2022.05.1/output/build/linux-headers-v5.11-nano-3; PATH="/home/munin/Projecs/lichee_project/unf_buildroot/buildroot-2022.05.1/output/host/bin:/home/munin/Projecs/lichee_project/unf_buildroot/buildroot-2022.05.1/output/host/sbin:/home/munin/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabi/bin" /usr/bin/make  ARCH=arm HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" HOSTCXX="/usr/bin/g++" INSTALL_HDR_PATH=/home/munin/Projecs/lichee_project/unf_buildroot/buildroot-2022.05.1/output/host/arm-buildroot-linux-gnueabi/sysroot/usr headers_install)
  INSTALL /home/munin/Projecs/lichee_project/unf_buildroot/buildroot-2022.05.1/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/include
if ! support/scripts/check-kernel-headers.sh  /home/munin/Projecs/lichee_project/unf_buildroot/buildroot-2022.05.1/output/build  /home/munin/Projecs/lichee_project/unf_buildroot/buildroot-2022.05.1/output/host/arm-buildroot-linux-gnueabi/sysroot  5.4 strict; then exit 1; fi
Incorrect selection of kernel headers: expected 5.4.x, got 5.11.x
make[1]: *** [package/pkg-generic.mk:333: /home/munin/Projecs/lichee_project/unf_buildroot/buildroot-2022.05.1/output/build/linux-headers-v5.11-nano-3/.stamp_staging_installed] Error 1
make: *** [Makefile:84: _all] Error 2

I'm trying to solve that one myself too, but any help would be appreciated

post-script.sh Permission denied

Hi I've run the script like you explained. after 1 hour he said make error: post-script.sh Permission denied. How can I fix it? Thanks in advance.

Can't build with latest buildroot (2020.11.1)

First error I get is:
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of 'yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here

After commenting YYLTYPE yylloc; in output/build/uboot-nano-v2018.01/scripts/dtc/dtc-lexer.lex.c I get new error:
Error: arch/arm/dts/.suniv-f1c100s-licheepi-nano.dtb.pre.tmp:59.1-10 syntax error

And now I don't know how to fix it.
59-th line in this file is:
\#include "sunxi-u-boot.dtsi"

Any ideas?

ImportError: No module named _libfdt

Hi @unframework . I test it latest version on vagrant. I have a little problem.

`vagrant@ubuntu-bionic:~/buildroot-2020.02$ python2 --version
Python 2.7.17

vagrant@ubuntu-bionic:~/buildroot-2020.02$ python --version
Python 2.7.17
`
How can i solve this problem ? Thank you.

uboot nano-v2018.01 Building
PATH="/home/vagrant/buildroot-2020.02/output/host/bin:/home/vagrant/buildroot-2020.02/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" AR="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-ar" AS="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-as" LD="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-ld" NM="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-nm" CC="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-gcc" GCC="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-gcc" CPP="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-cpp" CXX="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-g++" FC="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-gfortran" F77="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-gfortran" RANLIB="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-ranlib" READELF="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-readelf" STRIP="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-strip" OBJCOPY="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-objcopy" OBJDUMP="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/vagrant/buildroot-2020.02/output/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/vagrant/buildroot-2020.02/output/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/vagrant/buildroot-2020.02/output/host/include" LDFLAGS_FOR_BUILD="-L/home/vagrant/buildroot-2020.02/output/host/lib -Wl,-rpath,/home/vagrant/buildroot-2020.02/output/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-as" DEFAULT_LINKER="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 " CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 " LDFLAGS="" FCFLAGS=" -Os -g2" FFLAGS=" -Os -g2" PKG_CONFIG="/home/vagrant/buildroot-2020.02/output/host/bin/pkg-config" STAGING_DIR="/home/vagrant/buildroot-2020.02/output/host/arm-buildroot-linux-gnueabi/sysroot" INTLTOOL_PERL=/usr/bin/perl /usr/bin/make -C /home/vagrant/buildroot-2020.02/output/build/uboot-nano-v2018.01 CROSS_COMPILE="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-" ARCH=arm HOSTCC="/usr/bin/gcc -O2 -isystem /home/vagrant/buildroot-2020.02/output/host/include" HOSTLDFLAGS="-L/home/vagrant/buildroot-2020.02/output/host/lib -Wl,-rpath,/home/vagrant/buildroot-2020.02/output/host/lib" all
CHK include/config/uboot.release
CHK include/generated/timestamp_autogenerated.h
UPD include/generated/timestamp_autogenerated.h
PYMOD scripts/dtc/pylibfdt/_libfdt.so
CHK include/generated/version_autogenerated.h
CHK include/generated/asm-offsets.h
CHK include/generated/generic-asm-offsets.h
HOSTCC tools/mkenvimage.o
HOSTCC tools/fit_image.o
HOSTCC tools/image-host.o
HOSTCC tools/dumpimage.o
HOSTCC tools/mkimage.o
CHK include/config.h
HOSTCC tools/sunxi-spl-image-builder.o
CFG u-boot.cfg
HOSTLD tools/mkenvimage
HOSTLD tools/dumpimage
HOSTLD tools/sunxi-spl-image-builder
HOSTLD tools/mkimage
CC common/main.o
CC cmd/version.o
LD cmd/built-in.o
LD common/built-in.o
CC lib/smbios.o
CC lib/display_options.o
In file included from include/div64.h:38,
from lib/display_options.c:10:
include/linux/log2.h:19:1: warning: ignoring attribute ‘noreturn’ because it conflicts with attribute ‘const’ [-Wattributes]
int ____ilog2_NaN(void);
^~~
CC lib/efi_loader/helloworld.o
LD lib/efi_loader/helloworld_efi.so
OBJCOPY lib/efi_loader/helloworld.efi
rm lib/efi_loader/helloworld.o lib/efi_loader/helloworld_efi.so
LD lib/built-in.o
LD u-boot
OBJCOPY u-boot-nodtb.bin
OBJCOPY u-boot.srec
SYM u-boot.sym
make[4]: 'arch/arm/dts/suniv-f1c100s-licheepi-nano.dtb' is up to date.
CAT u-boot-dtb.bin
COPY u-boot.bin
MKIMAGE u-boot.img
MKIMAGE u-boot-dtb.img
CC spl/common/spl/spl.o
In file included from include/div64.h:38,
from include/linux/mtd/mtd.h:24,
from include/nand.h:34,
from common/spl/spl.c:15:
include/linux/log2.h:19:1: warning: ignoring attribute ‘noreturn’ because it conflicts with attribute ‘const’ [-Wattributes]
int ____ilog2_NaN(void);
^~~
CC spl/lib/display_options.o
In file included from include/div64.h:38,
from lib/display_options.c:10:
include/linux/log2.h:19:1: warning: ignoring attribute ‘noreturn’ because it conflicts with attribute ‘const’ [-Wattributes]
int ____ilog2_NaN(void);
^~~
LD spl/common/spl/built-in.o
LD spl/lib/built-in.o
LD spl/u-boot-spl
OBJCOPY spl/u-boot-spl-nodtb.bin
COPY spl/u-boot-spl.bin
MKSUNXI spl/sunxi-spl.bin
BINMAN u-boot-sunxi-with-spl.bin
Traceback (most recent call last):
File "./tools/binman/binman", line 32, in
import control
File "/home/vagrant/buildroot-2020.02/output/build/uboot-nano-v2018.01/tools/binman/control.py", line 16, in
import fdt
File "/home/vagrant/buildroot-2020.02/output/build/uboot-nano-v2018.01/tools/binman/../dtoc/fdt.py", line 13, in
import libfdt
File "scripts/dtc/pylibfdt/libfdt.py", line 17, in
_libfdt = swig_import_helper()
File "scripts/dtc/pylibfdt/libfdt.py", line 16, in swig_import_helper
return importlib.import_module('_libfdt')
File "/home/vagrant/buildroot-2020.02/output/host/lib/python2.7/importlib/init.py", line 37, in import_module
import(name)
ImportError: No module named _libfdt
Makefile:1148: recipe for target 'u-boot-sunxi-with-spl.bin' failed
make[2]: *** [u-boot-sunxi-with-spl.bin] Error 1
package/pkg-generic.mk:266: recipe for target '/home/vagrant/buildroot-2020.02/output/build/uboot-nano-v2018.01/.stamp_built' failed
make[1]: *** [/home/vagrant/buildroot-2020.02/output/build/uboot-nano-v2018.01/.stamp_built] Error 2
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2

help a newby with DTS files

This is my first experience with a kernel and my first Github issue, please excuse any misuse.
I'm struggling with this sentence from the README: "The custom kernel branch also includes a DTS file with support for 800x480 TFT resolution". I actually have a 800x480 display but I have no idea where to find such a DTS file... what do you mean by custom kernel branch? What am I missing? Could you please explain step-by-step what to do?

I have to say that the included 480 resolution works fine in the top-left corner of my display, with the rest behaving oddly, so +1 to you for having me (a complete kernel ignorant) compile and burn a working SD card for my Lichee pi nano.

/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here

From https://github.com/Lichee-Pi/u-boot
 * [new tag]               LABEL_2003_06_28_0050-stable -> LABEL_2003_06_28_0050-stable
 * [new tag]               LABEL_2003_06_28_0130-stable -> LABEL_2003_06_28_0130-stable
 * [new tag]               LABEL_2003_06_28_1800-stable -> LABEL_2003_06_28_1800-stable
 * [new tag]               U_BOOT_0_1_0                 -> U_BOOT_0_1_0
>>> uboot nano-v2018.01 Extracting
gzip -d -c /home/randa/buildroot-2020.05.1/dl/uboot/uboot-nano-v2018.01.tar.gz | /home/randa/buildroot-2020.05.1/output/host/bin/tar --strip-components=1 -C /home/randa/buildroot-2020.05.1/output/build/uboot-nano-v2018.01   -xf -
if [ -f /home/randa/buildroot-2020.05.1/output/build/uboot-nano-v2018.01/COPYING ]; then /usr/bin/install -m 0644 -D /home/randa/buildroot-2020.05.1/output/build/uboot-nano-v2018.01/COPYING /home/randa/buildroot-2020.05.1/output/build/uboot-nano-v2018.01/Licenses/gpl-2.0.txt; fi
>>> uboot nano-v2018.01 Patching
for p in  ; do if test -d $p ; then PATH=/home/randa/buildroot-2020.05.1/output/host/bin:$PATH support/scripts/apply-patches.sh  /home/randa/buildroot-2020.05.1/output/build/uboot-nano-v2018.01 $p \*.patch || exit 1 ; else PATH=/home/randa/buildroot-2020.05.1/output/host/bin:$PATH support/scripts/apply-patches.sh  /home/randa/buildroot-2020.05.1/output/build/uboot-nano-v2018.01 `dirname $p` `basename $p` || exit 1; fi done
>>> uboot nano-v2018.01 Configuring
PATH="/home/randa/buildroot-2020.05.1/output/host/bin:/home/randa/buildroot-2020.05.1/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" AR="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-ar" AS="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-as" LD="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-ld" NM="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-nm" CC="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-gcc" GCC="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-gcc" CPP="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-cpp" CXX="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-g++" FC="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-gfortran" F77="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-gfortran" RANLIB="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-ranlib" READELF="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-readelf" STRIP="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-strip" OBJCOPY="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-objcopy" OBJDUMP="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/randa/buildroot-2020.05.1/output/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/randa/buildroot-2020.05.1/output/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/randa/buildroot-2020.05.1/output/host/include" LDFLAGS_FOR_BUILD="-L/home/randa/buildroot-2020.05.1/output/host/lib -Wl,-rpath,/home/randa/buildroot-2020.05.1/output/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-as" DEFAULT_LINKER="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g2 " CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g2 " LDFLAGS="" FCFLAGS=" -Os -g2" FFLAGS=" -Os -g2" PKG_CONFIG="/home/randa/buildroot-2020.05.1/output/host/bin/pkg-config" STAGING_DIR="/home/randa/buildroot-2020.05.1/output/host/arm-buildroot-linux-gnueabi/sysroot" INTLTOOL_PERL=/usr/bin/perl /usr/bin/make  -C /home/randa/buildroot-2020.05.1/output/build/uboot-nano-v2018.01 CROSS_COMPILE="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-" ARCH=arm HOSTCC="/usr/bin/gcc -O2 -isystem /home/randa/buildroot-2020.05.1/output/host/include" HOSTLDFLAGS="-L/home/randa/buildroot-2020.05.1/output/host/lib -Wl,-rpath,/home/randa/buildroot-2020.05.1/output/host/lib"  licheepi_nano_config
make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
#
# configuration written to .config
#
>>> uboot nano-v2018.01 Building
PATH="/home/randa/buildroot-2020.05.1/output/host/bin:/home/randa/buildroot-2020.05.1/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" AR="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-ar" AS="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-as" LD="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-ld" NM="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-nm" CC="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-gcc" GCC="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-gcc" CPP="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-cpp" CXX="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-g++" FC="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-gfortran" F77="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-gfortran" RANLIB="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-ranlib" READELF="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-readelf" STRIP="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-strip" OBJCOPY="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-objcopy" OBJDUMP="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/randa/buildroot-2020.05.1/output/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/randa/buildroot-2020.05.1/output/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/randa/buildroot-2020.05.1/output/host/include" LDFLAGS_FOR_BUILD="-L/home/randa/buildroot-2020.05.1/output/host/lib -Wl,-rpath,/home/randa/buildroot-2020.05.1/output/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-as" DEFAULT_LINKER="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g2 " CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g2 " LDFLAGS="" FCFLAGS=" -Os -g2" FFLAGS=" -Os -g2" PKG_CONFIG="/home/randa/buildroot-2020.05.1/output/host/bin/pkg-config" STAGING_DIR="/home/randa/buildroot-2020.05.1/output/host/arm-buildroot-linux-gnueabi/sysroot" INTLTOOL_PERL=/usr/bin/perl /usr/bin/make  -C /home/randa/buildroot-2020.05.1/output/build/uboot-nano-v2018.01 CROSS_COMPILE="/home/randa/buildroot-2020.05.1/output/host/bin/arm-buildroot-linux-gnueabi-" ARCH=arm HOSTCC="/usr/bin/gcc -O2 -isystem /home/randa/buildroot-2020.05.1/output/host/include" HOSTLDFLAGS="-L/home/randa/buildroot-2020.05.1/output/host/lib -Wl,-rpath,/home/randa/buildroot-2020.05.1/output/host/lib"  all
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config.h
  UPD     include/config.h
  CFG     u-boot.cfg
  GEN     include/autoconf.mk.dep
  CFG     spl/u-boot.cfg
  GEN     include/autoconf.mk
  GEN     spl/include/autoconf.mk
  CHK     include/config/uboot.release
  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
  UPD     include/config/uboot.release
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  SHIPPED scripts/dtc/pylibfdt/libfdt.i
  PYMOD   scripts/dtc/pylibfdt/_libfdt.so
  CHK     include/generated/version_autogenerated.h
  UPD     include/generated/version_autogenerated.h
  HOSTCC  scripts/dtc/srcpos.o
  CC      lib/asm-offsets.s
  CC      arch/arm/lib/asm-offsets.s
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  CHK     include/config.h
  CHK     include/generated/generic-asm-offsets.h
  UPD     include/generated/generic-asm-offsets.h
  SHIPPED scripts/dtc/dtc-lexer.lex.c
  CFG     u-boot.cfg
  SHIPPED scripts/dtc/dtc-parser.tab.h
  SHIPPED scripts/dtc/dtc-parser.tab.c
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  CHK     include/generated/asm-offsets.h
  UPD     include/generated/asm-offsets.h
  LDS     u-boot.lds
  HOSTLD  scripts/dtc/dtc
/usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple definition of `yylloc'; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make[4]: *** [scripts/Makefile.host:108: scripts/dtc/dtc] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:425: scripts/dtc] Error 2
make[2]: *** [Makefile:491: scripts] Error 2
make[1]: *** [package/pkg-generic.mk:269: /home/randa/buildroot-2020.05.1/output/build/uboot-nano-v2018.01/.stamp_built] Error 2
make: *** [Makefile:84: _all] Error 2

Hi @unframework . I try it your repository. I have a one more problem. Do you have an idea ?
OS: Linux Mint 20.04
GCC Version: gcc version 10.2.0 (Ubuntu 10.2.0-5ubuntu1~20.04)
LD Version: GNU ld (GNU Binutils for Ubuntu) 2.34
Buildroot Versions: 2020.02, 2020.05.1 and 2020.02.10 test it not working..

Thank you so much!

*** Your GCC is older than 6.0 and is not supported

`# configuration written to .config

uboot nano-v2018.01 Building
PATH="/home/randa/buildroot-2020.02.10/output/host/bin:/home/randa/buildroot-2020.02.10/output/host/sbin:/home/randa/aarch64-toolchain/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" AR="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-ar" AS="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-as" LD="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-ld" NM="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-nm" CC="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-gcc" GCC="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-gcc" CPP="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-cpp" CXX="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-g++" FC="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-gfortran" F77="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-gfortran" RANLIB="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-ranlib" READELF="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-readelf" STRIP="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-strip" OBJCOPY="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-objcopy" OBJDUMP="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/randa/buildroot-2020.02.10/output/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/randa/buildroot-2020.02.10/output/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/randa/buildroot-2020.02.10/output/host/include" LDFLAGS_FOR_BUILD="-L/home/randa/buildroot-2020.02.10/output/host/lib -Wl,-rpath,/home/randa/buildroot-2020.02.10/output/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-as" DEFAULT_LINKER="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 " CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -g2 " LDFLAGS="" FCFLAGS=" -Os -g2" FFLAGS=" -Os -g2" PKG_CONFIG="/home/randa/buildroot-2020.02.10/output/host/bin/pkg-config" STAGING_DIR="/home/randa/buildroot-2020.02.10/output/host/arm-buildroot-linux-gnueabi/sysroot" INTLTOOL_PERL=/usr/bin/perl /usr/bin/make -C /home/randa/buildroot-2020.02.10/output/build/uboot-nano-v2018.01 CROSS_COMPILE="/home/randa/buildroot-2020.02.10/output/host/bin/arm-none-linux-gnueabi-" ARCH=arm HOSTCC="/usr/bin/gcc -O2 -isystem /home/randa/buildroot-2020.02.10/output/host/include" HOSTLDFLAGS="-L/home/randa/buildroot-2020.02.10/output/host/lib -Wl,-rpath,/home/randa/buildroot-2020.02.10/output/host/lib" all
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config.h
UPD include/config.h
CFG u-boot.cfg
GEN include/autoconf.mk.dep
CFG spl/u-boot.cfg
GEN include/autoconf.mk
GEN spl/include/autoconf.mk
*** Your GCC is older than 6.0 and is not supported
make[2]: *** [arch/arm/config.mk:69: checkgcc6] Error 1
make[1]: *** [package/pkg-generic.mk:269: /home/randa/buildroot-2020.02.10/output/build/uboot-nano-v2018.01/.stamp_built] Error 2
make: *** [Makefile:84: _all] Error 2
`

Compilation has just finished. I was very close to finishing but again I failed. This is the second time I'm getting this error. Do you have any suggestions?

Manual Build Step Broken

cp -v '/root/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz' '/home/rohan/buildroot-2023.02/output/build/.arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz.NYeWsm/output' 
cp: cannot stat '/root/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz': Permission denied
wget --passive-ftp -nd -t 3 -O '/home/rohan/buildroot-2023.02/output/build/.arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz.7Qxpbw/output' 'http://sources.buildroot.net/toolchain-external-custom/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz' 
--2024-01-18 02:03:44--  http://sources.buildroot.net/toolchain-external-custom/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 104.26.1.37, 172.67.72.56, 104.26.0.37, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.1.37|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-01-18 02:03:44 ERROR 404: Not Found.

can't download external toolchain

--2023-05-19 12:56:54-- http://sources.buildroot.net/toolchain-external-custom/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 172.67.72.56, 104.26.0.37, 104.26.1.37, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|172.67.72.56|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-05-19 12:56:55 ERROR 404: Not Found.

in licheepi_nano_defconfig:
BR2_TOOLCHAIN_EXTERNAL_URL="file:///root/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz"

404 compile error Ubuntu 2022.10

toolchain-external-custom Downloading
cp -v '/root/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz' '/home/peter/buildroot-2023.02-unframework-nano/output/build/.arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz.FCAOJq/output'
cp: cannot stat '/root/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz': Permission denied
wget --passive-ftp -nd -t 3 -O '/home/peter/buildroot-2023.02-unframework-nano/output/build/.arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz.QpeVC4/output' 'http://sources.buildroot.net/toolchain-external-custom/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz'
--2023-05-07 12:49:48-- http://sources.buildroot.net/toolchain-external-custom/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 172.67.72.56, 104.26.0.37, 104.26.1.37, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|172.67.72.56|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-05-07 12:49:48 ERROR 404: Not Found.

wget --passive-ftp -nd -t 3 -O '/home/peter/buildroot-2023.02-unframework-nano/output/build/.arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz.epAxHr/output' 'http://sources.buildroot.net/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz'
--2023-05-07 12:49:48-- http://sources.buildroot.net/arm-buildroot-linux-gnueabi_sdk-buildroot.tar.gz
Resolving sources.buildroot.net (sources.buildroot.net)... 104.26.1.37, 104.26.0.37, 172.67.72.56, ...
Connecting to sources.buildroot.net (sources.buildroot.net)|104.26.1.37|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-05-07 12:49:49 ERROR 404: Not Found.

make[1]: *** [package/pkg-generic.mk:189: /home/peter/buildroot-2023.02-unframework-nano/output/build/toolchain-external-custom/.stamp_downloaded] Error 1
make: *** [Makefile:82: _all] Error 2

Can this run on any F1C100 series proccessors?

I've been building around on different processors, and looking at the cheapness of the F1C100s, I decided to buy one from AliExpress.
Then to my terror I realized that I bought the F1C100, not the F1C100s. I see they have the same ARM cores, and most everything else expect extra GPIOs, and different footprints.

So can I run this image on the F1C100? Or the F1C100A?

Thanks in advance, The Real Un Bot

Encountered 2 build errors

When I built from scratch with the default settings, I first encountered the following error:

>>> uboot v2021.01-f1c100s-4 Building
PATH="/home/vagrant/buildroot-2020.02/output/host/bin:/home/vagrant/buildroot-2020.02/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" AR="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-ar" AS="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-as" LD="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-ld" NM="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-nm" CC="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-gcc" GCC="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-gcc" CPP="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-cpp" CXX="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-g++" FC="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-gfortran" F77="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-gfortran" RANLIB="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-ranlib" READELF="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-readelf" STRIP="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-strip" OBJCOPY="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-objcopy" OBJDUMP="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-objdump" AR_FOR_BUILD="/usr/bin/ar" AS_FOR_BUILD="/usr/bin/as" CC_FOR_BUILD="/usr/bin/gcc" GCC_FOR_BUILD="/usr/bin/gcc" CXX_FOR_BUILD="/usr/bin/g++" LD_FOR_BUILD="/usr/bin/ld" CPPFLAGS_FOR_BUILD="-I/home/vagrant/buildroot-2020.02/output/host/include" CFLAGS_FOR_BUILD="-O2 -I/home/vagrant/buildroot-2020.02/output/host/include" CXXFLAGS_FOR_BUILD="-O2 -I/home/vagrant/buildroot-2020.02/output/host/include" LDFLAGS_FOR_BUILD="-L/home/vagrant/buildroot-2020.02/output/host/lib -Wl,-rpath,/home/vagrant/buildroot-2020.02/output/host/lib" FCFLAGS_FOR_BUILD="" DEFAULT_ASSEMBLER="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-as" DEFAULT_LINKER="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-ld" CPPFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g2 " CXXFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os -g2 " LDFLAGS="" FCFLAGS=" -Os -g2" FFLAGS=" -Os -g2" PKG_CONFIG="/home/vagrant/buildroot-2020.02/output/host/bin/pkg-config" STAGING_DIR="/home/vagrant/buildroot-2020.02/output/host/arm-buildroot-linux-gnueabi/sysroot" INTLTOOL_PERL=/usr/bin/perl /usr/bin/make -j2 -C /home/vagrant/buildroot-2020.02/output/build/uboot-v2021.01-f1c100s-4 CROSS_COMPILE="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-" ARCH=arm HOSTCC="/usr/bin/gcc -O2 -isystem /home/vagrant/buildroot-2020.02/output/host/include" HOSTLDFLAGS="-L/home/vagrant/buildroot-2020.02/output/host/lib -Wl,-rpath,/home/vagrant/buildroot-2020.02/output/host/lib"  all
scripts/kconfig/conf  --syncconfig Kconfig
  UPD     include/config.h
  GEN     include/autoconf.mk.dep
  CFG     u-boot.cfg
  CFG     spl/u-boot.cfg
  GEN     include/autoconf.mk
  GEN     spl/include/autoconf.mk
  UPD     include/generated/timestamp_autogenerated.h
  UPD     include/generated/dt.h
  UPD     include/config/uboot.release
  UPD     include/generated/version_autogenerated.h
  SHIPPED scripts/dtc/pylibfdt/libfdt.i
rm -f scripts/dtc/pylibfdt/_libfdt*.so
  PYMOD   scripts/dtc/pylibfdt/_libfdt.so
  HOSTCC  scripts/dtc/dtc.o
  HOSTCC  scripts/dtc/flattree.o
Traceback (most recent call last):
  File "scripts/dtc/pylibfdt/setup.py", line 21, in <module>
    from distutils.core import setup, Extension
ModuleNotFoundError: No module named 'distutils.core'
scripts/dtc/pylibfdt/Makefile:27: recipe for target 'scripts/dtc/pylibfdt/_libfdt.so' failed
make[5]: *** [scripts/dtc/pylibfdt/_libfdt.so] Error 1
scripts/Makefile.build:419: recipe for target 'scripts/dtc/pylibfdt' failed
make[4]: *** [scripts/dtc/pylibfdt] Error 2
make[4]: *** Waiting for unfinished jobs....
===================== WARNING ======================
This board does not use CONFIG_DM_MMC. Please update
the board to use CONFIG_DM_MMC before the v2019.04 release.
Failure to update by the deadline may result in board removal.
See doc/driver-model/migration.rst for more info.
====================================================
===================== WARNING ======================
This board does not use CONFIG_DM_USB. Please update
the board to use CONFIG_DM_USB before the v2019.07 release.
Failure to update by the deadline may result in board removal.
scripts/Makefile.build:419: recipe for target 'scripts/dtc' failed
make[3]: *** [scripts/dtc] Error 2
Makefile:577: recipe for target 'scripts' failed
make[2]: *** [scripts] Error 2
make[2]: *** Waiting for unfinished jobs....
See doc/driver-model/migration.rst for more info.
====================================================
package/pkg-generic.mk:266: recipe for target '/home/vagrant/buildroot-2020.02/output/build/uboot-v2021.01-f1c100s-4/.stamp_built' failed
make[1]: *** [/home/vagrant/buildroot-2020.02/output/build/uboot-v2021.01-f1c100s-4/.stamp_built] Error 2
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2

After investigating the log above, it turned out to be a Python script error.

Traceback (most recent call last):
  File "scripts/dtc/pylibfdt/setup.py", line 21, in <module>
    from distutils.core import setup, Extension
ModuleNotFoundError: No module named 'distutils.core'

So, I installed additional packages.

$ sudo apt install python3-distutils python3-dev

The above error disappeared after the installation, but another error occurred as below.

>>> linux v5.11-nano-3 Configuring
>>> linux v5.11-nano-3 Building
cp -f /vagrant/board/licheepi_nano/suniv-f1c100s-licheepi-nano-custom.dts /home/vagrant/buildroot-2020.02/output/build/linux-v5.11-nano-3/arch/arm/boot/dts/
PATH="/home/vagrant/buildroot-2020.02/output/host/bin:/home/vagrant/buildroot-2020.02/output/host/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin" PKG_CONFIG="/home/vagrant/buildroot-2020.02/output/host/bin/pkg-config" PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 PKG_CONFIG_LIBDIR="/home/vagrant/buildroot-2020.02/output/host/lib/pkgconfig:/home/vagrant/buildroot-2020.02/output/host/share/pkgconfig" BR_BINARIES_DIR=/home/vagrant/buildroot-2020.02/output/images KCFLAGS=-Wno-attribute-alias /usr/bin/make -j2 HOSTCC="/usr/bin/gcc -O2 -I/home/vagrant/buildroot-2020.02/output/host/include -L/home/vagrant/buildroot-2020.02/output/host/lib -Wl,-rpath,/home/vagrant/buildroot-2020.02/output/host/lib" ARCH=arm INSTALL_MOD_PATH=/home/vagrant/buildroot-2020.02/output/target CROSS_COMPILE="/home/vagrant/buildroot-2020.02/output/host/bin/arm-buildroot-linux-gnueabi-" DEPMOD=/home/vagrant/buildroot-2020.02/output/host/sbin/depmod INSTALL_MOD_STRIP=1 -C /home/vagrant/buildroot-2020.02/output/build/linux-v5.11-nano-3 all
  SYNC    include/config/auto.conf.cmd
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/confdata.o
  HOSTCC  scripts/kconfig/conf.o
  HOSTCC  scripts/kconfig/expr.o
  HOSTCC  scripts/kconfig/lexer.lex.o
  HOSTCC  scripts/kconfig/parser.tab.o
  HOSTCC  scripts/kconfig/preprocess.o
  HOSTCC  scripts/kconfig/symbol.o
  HOSTCC  scripts/kconfig/util.o
  HOSTLD  scripts/kconfig/conf
  SYSHDR  arch/arm/include/generated/uapi/asm/unistd-common.h
  WRAP    arch/arm/include/generated/uapi/asm/kvm_para.h
  WRAP    arch/arm/include/generated/uapi/asm/bitsperlong.h
  WRAP    arch/arm/include/generated/uapi/asm/bpf_perf_event.h
  SYSHDR  arch/arm/include/generated/uapi/asm/unistd-oabi.h
  WRAP    arch/arm/include/generated/uapi/asm/errno.h
  WRAP    arch/arm/include/generated/uapi/asm/ioctl.h
  WRAP    arch/arm/include/generated/uapi/asm/ipcbuf.h
  WRAP    arch/arm/include/generated/uapi/asm/msgbuf.h
  WRAP    arch/arm/include/generated/uapi/asm/param.h
  WRAP    arch/arm/include/generated/uapi/asm/poll.h
  WRAP    arch/arm/include/generated/uapi/asm/resource.h
  WRAP    arch/arm/include/generated/uapi/asm/sembuf.h
  WRAP    arch/arm/include/generated/uapi/asm/shmbuf.h
  SYSHDR  arch/arm/include/generated/uapi/asm/unistd-eabi.h
  WRAP    arch/arm/include/generated/uapi/asm/siginfo.h
  WRAP    arch/arm/include/generated/uapi/asm/socket.h
  WRAP    arch/arm/include/generated/uapi/asm/sockios.h
  WRAP    arch/arm/include/generated/uapi/asm/termbits.h
  WRAP    arch/arm/include/generated/uapi/asm/termios.h
  HOSTCC  scripts/dtc/dtc.o
  UPD     include/config/kernel.release
  WRAP    arch/arm/include/generated/asm/early_ioremap.h
  WRAP    arch/arm/include/generated/asm/extable.h
  WRAP    arch/arm/include/generated/asm/flat.h
  WRAP    arch/arm/include/generated/asm/parport.h
  WRAP    arch/arm/include/generated/asm/compat.h
  WRAP    arch/arm/include/generated/asm/current.h
  WRAP    arch/arm/include/generated/asm/emergency-restart.h
  WRAP    arch/arm/include/generated/asm/exec.h
  WRAP    arch/arm/include/generated/asm/irq_regs.h
  WRAP    arch/arm/include/generated/asm/kdebug.h
  WRAP    arch/arm/include/generated/asm/kmap_size.h
  WRAP    arch/arm/include/generated/asm/local.h
  WRAP    arch/arm/include/generated/asm/local64.h
  WRAP    arch/arm/include/generated/asm/mm-arch-hooks.h
  WRAP    arch/arm/include/generated/asm/mmiowb.h
  WRAP    arch/arm/include/generated/asm/msi.h
  WRAP    arch/arm/include/generated/asm/preempt.h
  WRAP    arch/arm/include/generated/asm/rwonce.h
  WRAP    arch/arm/include/generated/asm/serial.h
  HOSTCC  scripts/dtc/flattree.o
  WRAP    arch/arm/include/generated/asm/simd.h
  WRAP    arch/arm/include/generated/asm/trace_clock.h
  UPD     include/generated/uapi/linux/version.h
  UPD     include/generated/utsrelease.h
  HOSTCC  scripts/dtc/fstree.o
  HOSTCC  scripts/dtc/data.o
  HOSTCC  scripts/dtc/livetree.o
  HOSTCC  scripts/dtc/treesource.o
  HOSTCC  scripts/dtc/srcpos.o
  HOSTCC  scripts/dtc/checks.o
  HOSTCC  scripts/dtc/util.o
  LEX     scripts/dtc/dtc-lexer.lex.c
  YACC    scripts/dtc/dtc-parser.tab.[ch]
  HOSTCC  scripts/dtc/dtc-lexer.lex.o
  HOSTCC  scripts/dtc/dtc-parser.tab.o
  HOSTLD  scripts/dtc/dtc
  HOSTCC  scripts/kallsyms
  DTC     arch/arm/boot/dts/suniv-f1c100s-licheepi-nano.dtb
  HOSTCC  scripts/sorttable
  HOSTCC  scripts/asn1_compiler
  HOSTCC  scripts/extract-cert
scripts/extract-cert.c:21:10: fatal error: openssl/bio.h: No such file or directory
 #include <openssl/bio.h>
          ^~~~~~~~~~~~~~~
compilation terminated.
scripts/Makefile.host:95: recipe for target 'scripts/extract-cert' failed
make[3]: *** [scripts/extract-cert] Error 1
make[3]: *** Waiting for unfinished jobs....
Makefile:1185: recipe for target 'scripts' failed
make[2]: *** [scripts] Error 2
package/pkg-generic.mk:266: recipe for target '/home/vagrant/buildroot-2020.02/output/build/linux-v5.11-nano-3/.stamp_built' failed
make[1]: *** [/home/vagrant/buildroot-2020.02/output/build/linux-v5.11-nano-3/.stamp_built] Error 2
Makefile:84: recipe for target '_all' failed
make: *** [_all] Error 2

This also seemed to be due to a lack of a package, so I solved it by doing:

$ sudo apt install libssl-dev

After this, the build was perfect.

I don't know how to fix these problems permanently, so I just report them.

Enable uart1

Hi Nick,

Fantastic work on the LicheePi Nano. I was hoping to use your repo as a starting point to getting the MangoPi-R3c board working, as the vendors Buildroot repo here is too badly broken and out of date in that it builds but the resulting sd card image fails to boot, with a kernel panic error.

The MangoPi-R uses the F1C200s, a drop-in replacement for the F1C100s but with 64MB RAM. The problem is that MangoPi use uart1 for debugging via an onboard CH340 uart to USB bridge (versions prior to the R3c used a CP2104).

I can easily modify your Buildroot menuconfig to use uart1 instead of the default uart0, as described here but I still get no output on the CH340.

Could your repo be modified to enable ttyS1 if it doesn't already, since the LicheePi Nano also exposes uart1 to the pin header?

If it helps, the boot log from the vendors repo is as follows. Note that the repo for Buildroot for the original Widora Tiny 200 that MangoPi SBC forked (here) behaves EXACTLY the same, so is presumed to be identical.

U-Boot SPL 2020.07 (Jan 29 2022 - 14:44:22 +0000)
DRAM: 64 MiB
Trying to boot from MMC1

U-Boot 2020.07 (Jan 29 2022 - 14:44:22 +0000) Allwinner Technology

CPU: Allwinner F Series (SUNIV)
Model: Allwinner F1C100s Generic Device
DRAM: 64 MiB
MMC: mmc@1c0f000: 0, mmc@1c10000: 1
Setting up a 800x480 lcd console (overscan 0x0)
In: serial
Out: serial
Err: serial
Allwinner mUSB OTG (Peripheral)
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc0 is current device
Card did not respond to voltage select!
unrecognized JEDEC id bytes: ff, c8, 51
Failed to initialize SPI flash at 0:0 (error -2)
List of MTD devices:

  • spi-nand0
    • device: spi-nand@1
    • parent: spi@1c05000
    • driver: spi_nand
    • type: NAND flash
    • block size: 0x20000 bytes
    • min I/O: 0x800 bytes
    • OOB size: 128 bytes
    • OOB available: 4 bytes
    • 0x000000000000-0x000008000000 : "spi-nand0"
      =========================
      Boot Device: mmc0
      Boot Slot 0: mmc0
      Boot Slot 1: spi-nand
      =========================

Error: "splash_mmc0" not defined

Unknown command 'bmp' - try 'help'
gpio: pin 134 (gpio 134) value is 1
switch to partitions #0, OK
mmc0 is current device
Booting from MMC0...
4327000 bytes read in 703 ms (5.9 MiB/s)

Loading kernel from FIT Image at 81000000 ...

Using 'conf@0' configuration
Trying 'kernel@0' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: uncompressed
Data Start: 0x810000cc
Data Size: 4309536 Bytes = 4.1 MiB
Architecture: ARM
OS: Linux
Load Address: 0x80000000
Entry Point: 0x80000000
Hash algo: crc32
Hash value: 538d4a7d
Verifying Hash Integrity ... crc32+ OK

Loading fdt from FIT Image at 81000000 ...

Using 'conf@0' configuration
Trying 'fdt@0' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x8141c3d0
Data Size: 15666 Bytes = 15.3 KiB
Architecture: ARM
Hash algo: crc32
Hash value: 61472816
Verifying Hash Integrity ... crc32+ OK
Booting using the fdt blob at 0x8141c3d0
Loading Kernel Image
Loading Device Tree to 817f9000, end 817ffd31 ... OK

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.99 (peter@peter-powermatemlxxx) (gcc version 8.4.0 (Buildroot -gfe8d6d3)) #1 Sat Jan 29 14:46:29 GMT 2022
[ 0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=0005317f
[ 0.000000] CPU: VIVT data cache, VIVT instruction cache
[ 0.000000] OF: fdt: Machine model: Widora MangoPi R3
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] cma: Reserved 16 MiB at 0x82c00000
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 15883
[ 0.000000] Kernel command line: console=ttyS0,115200 rootwait init=/preinit root=/dev/mtdblock2 rootfstype=squashfs overlayfsdev=/dev/mtdblock3 net.ifnames=0 vt.global_cursor_default=0
[ 0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes, linear)
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 37232K/64036K available (6144K kernel code, 248K rwdata, 1676K rodata, 1024K init, 225K bss, 10420K reserved, 16384K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[ 0.000000] random: get_random_bytes called from start_kernel+0x254/0x444 with crng_init=0
[ 0.000050] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
[ 0.000145] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
[ 0.000895] Console: colour dummy device 80x30
[ 0.000999] Calibrating delay loop... 203.16 BogoMIPS (lpj=1015808)
[ 0.070272] pid_max: default: 32768 minimum: 301
[ 0.070809] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.070856] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.072807] CPU: Testing write buffer coherency: ok
[ 0.074961] Setting up static identity map for 0x80100000 - 0x80100058
[ 0.076200] devtmpfs: initialized
[ 0.088014] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.088079] futex hash table entries: 256 (order: -1, 3072 bytes, linear)
[ 0.092385] pinctrl core: initialized pinctrl subsystem
[ 0.094995] NET: Registered protocol family 16
[ 0.098722] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.101081] cpuidle: using governor menu
[ 0.141944] SCSI subsystem initialized
[ 0.142353] usbcore: registered new interface driver usbfs
[ 0.142521] usbcore: registered new interface driver hub
[ 0.142683] usbcore: registered new device driver usb
[ 0.143138] mc: Linux media interface: v0.10
[ 0.143264] videodev: Linux video capture interface: v2.00
[ 0.143376] pps_core: LinuxPPS API ver. 1 registered
[ 0.143397] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [email protected]
[ 0.143457] PTP clock support registered
[ 0.144541] ion_parse_dt_heap_common: id 4 type 4 name cma align 1000
[ 0.145494] Advanced Linux Sound Architecture Driver Initialized.
[ 0.147959] clocksource: Switched to clocksource timer
[ 0.149766] simple-framebuffer 83e89000.framebuffer: framebuffer at 0x83e89000, 0x177000 bytes, mapped to 0x(ptrval)
[ 0.149822] simple-framebuffer 83e89000.framebuffer: format=x8r8g8b8, mode=800x480x32, linelength=3200
[ 0.176647] Console: switching to colour frame buffer device 100x30
[ 0.201899] simple-framebuffer 83e89000.framebuffer: fb0: simplefb registered!
[ 0.232541] thermal_sys: Registered thermal governor 'step_wise'
[ 0.233298] NET: Registered protocol family 2
[ 0.234866] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.234954] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.235019] TCP bind hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.235071] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.235385] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.235458] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.236018] NET: Registered protocol family 1
[ 0.238921] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.240730] Initialise system trusted keyrings
[ 0.241368] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 0.263466] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.264089] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.373445] Key type asymmetric registered
[ 0.373486] Asymmetric key parser 'x509' registered
[ 0.373671] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[ 0.373699] io scheduler mq-deadline registered
[ 0.373717] io scheduler kyber registered
[ 0.389187] suniv-f1c100s-pinctrl 1c20800.pinctrl: initialized sunXi PIO driver
[ 0.412792] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled
[ 0.419091] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pa not found, using dummy regulator
[ 0.420445] printk: console [ttyS0] disabled
[ 0.440774] 1c25400.serial: ttyS0 at MMIO 0x1c25400 (irq = 26, base_baud = 6250000) is a 16550A
[ 0.908290] printk: console [ttyS0] enabled
[ 0.923403] SCSI Media Changer driver v0.25
[ 0.929424] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pc not found, using dummy regulator
[ 0.942542] spi-nand spi0.0: GigaDevice SPI NAND was found.
[ 0.948262] spi-nand spi0.0: 128 MiB, block size: 128 KiB, page size: 2048, OOB size: 128
[ 0.958166] 5 fixed-partitions partitions found on MTD device spi0.0
[ 0.964532] Creating 5 MTD partitions on "spi0.0":
[ 0.969447] 0x000000000000-0x000000100000 : "u-boot"
[ 0.980912] 0x000000100000-0x000000600000 : "kernel"
[ 0.987021] random: fast init done
[ 1.012754] 0x000000600000-0x000003000000 : "rom"
[ 1.182965] 0x000003000000-0x000004000000 : "vendor"
[ 1.253367] 0x000004000000-0x000007000000 : "overlay"
[ 1.436379] random: crng init done
[ 1.450087] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.456625] ehci-platform: EHCI generic platform driver
[ 1.462356] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 1.468681] ohci-platform: OHCI generic platform driver
[ 1.474451] usbcore: registered new interface driver usb-storage
[ 1.481572] usb_phy_generic usb_phy_generic.0.auto: usb_phy_generic.0.auto supply vcc not found, using dummy regulator
[ 1.495453] i2c /dev entries driver
[ 1.499772] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pd not found, using dummy regulator
[ 1.513660] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pe not found, using dummy regulator
[ 1.524686] sun4i-csi 1cb0000.csi: Packed (RAW) format enabled.
[ 1.532723] sunxi-wdt 1c20ca0.watchdog: Watchdog enabled (timeout=16 sec, nowayout=0)
[ 1.542736] suniv-f1c100s-pinctrl 1c20800.pinctrl: 1c20800.pinctrl supply vcc-pf not found, using dummy regulator
[ 1.581018] sunxi-mmc 1c0f000.mmc: initialized, max. request size: 16384 KB
[ 1.590483] usbcore: registered new interface driver usbhid
[ 1.596062] usbhid: USB HID core driver
[ 1.600370] sunxi-cedar 1c0e000.video-codec: sunxi cedar version 0.01alpha
[ 1.607609] sunxi-cedar 1c0e000.video-codec: cedar-ve the get irq is 19
[ 1.619918] debugfs: Directory '1c23c00.codec' with parent 'F1C100s Audio Codec' already present!
[ 1.635222] sun4i-codec 1c23c00.codec: Codec <-> 1c23c00.codec mapping ok
[ 1.651432] NET: Registered protocol family 17
[ 1.655998] Key type dns_resolver registered
[ 1.661724] Loading compiled-in X.509 certificates
[ 1.679858] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[ 1.697854] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[ 1.704711] ALSA device list:
[ 1.707702] #0: F1C100s Audio Codec
[ 1.712006] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[ 1.720732] cfg80211: failed to load regulatory.db
[ 1.729793] List of all partitions:
[ 1.733412] 1f00 1024 mtdblock0
[ 1.733422] (driver?)
[ 1.740069] 1f01 5120 mtdblock1
[ 1.740077] (driver?)
[ 1.746616] 1f02 43008 mtdblock2
[ 1.746621] (driver?)
[ 1.753217] 1f03 16384 mtdblock3
[ 1.753224] (driver?)
[ 1.759806] 1f04 49152 mtdblock4
[ 1.759814] (driver?)
[ 1.766337] No filesystem could mount root, tried:
[ 1.766343] squashfs
[ 1.771248]
[ 1.775021] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
[ 1.783357] CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.99 #1
[ 1.789085] Hardware name: Allwinner suniv Family
[ 1.793854] [] (unwind_backtrace) from [] (show_stack+0x10/0x14)
[ 1.801635] [] (show_stack) from [] (panic+0xe8/0x2e4)
[ 1.808527] [] (panic) from [] (mount_block_root+0x2bc/0x31c)
[ 1.816008] [] (mount_block_root) from [] (prepare_namespace+0x128/0x188)
[ 1.824538] [] (prepare_namespace) from [] (kernel_init+0x8/0x108)
[ 1.832453] [] (kernel_init) from [] (ret_from_fork+0x14/0x34)
[ 1.839999] Exception stack(0xc2839fb0 to 0xc2839ff8)
[ 1.845047] 9fa0: 00000000 00000000 00000000 00000000
[ 1.853214] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 1.861375] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000
[ 1.867985] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2) ]---

Hope this helps!!

Peter

Help by Build without using vagrant

Hello nice work!
But I do not understand one point in the Readme. (I have very little experience with this.)

You write:

Then, generate initial build configuration:

# if not using Vagrant VM, change "/vagrant" to be location of this repo's files
BR2_EXTERNAL=/vagrant make licheepi_nano_defconfig

What kind of file should it be? Config.in or a completely new file?

Best regards
Sebastian

Docker error Ubuntu 2022.10

Note the following error occurs about half an hour after "tar: Skipping to next header" is printed

peter@asus:~/licheepi-nano-buildroot$ sudo docker build --output type=tar,dest=- . | tar x -C dist
tar: This does not look like a tar archive
tar: Skipping to next header
The command '/bin/sh -c make' returned a non-zero code: 2
tar: Exiting with failure status due to previous errors

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.