SDK Download and Build
Listed below are the recommended requirements for downloading and building the SDK:
- CPU: x86_64 or better family processor
- Memory: 8GB or higher
- Disk: 10GB free hard disk space
- OS: Ubuntu 14.04 (tested) or higher
- Network: internet connection
Linux host setup
HINT: later version should also work.
$ sudo dpkg --add-architecture i386 $ sudo apt-get update $ sudo apt-get install git git-core u-boot-tools qemu qemu-user-static debootstrap lib32z1 lib32ncurses5 libc6:i386 libstdc++6:i386 gawk
- dpkg --add-architecture i386: support 32bit architecture
- apt-get update: retrieve new lists of packages
- git git-core: manage source code
- u-boot-tools: build kernel image
- qemu qemu-user-static: emulator for arm on host CPU
- debootstrap: for installing a Debian base system
- lib32z1 lib32ncurses5 libc6:i386 libstdc++6:i386: for running 32bit tools
- gawk: GNU Awk
Sudo without password
$ sudo visudo
Add this line at the end (change “james” to your username):
james ALL=(ALL) NOPASSWD: ALL
Ctrl-X to leave, save your changes, and you're done!
The SDK is available on github.
We use Repo manage Git repositories. Clone Repo from android Git repositories or other mirrors and install it.
Chinese developers can install Repo follow these steps:
$ git clone http://mirrors.ustc.edu.cn/aosp/git-repo.git ~/.bin/repo $ echo "export PATH=~/.bin/repo:$PATH" >> ~/.bashrc $ source ~/.bashrc
For Lindenis V5, download the SDK via:
$ repo init -u https://github.com/lindenis-org/manifest.git -b v5 $ repo sync
The Download time depends on your network connection speed. After finish the download, you should get below directories:
build build.sh debian device kernel tools u-boot
Start a branch for local workspace:
$ repo start v5 --all
Before building the source, you have to download a basic rootfs and toolchains.
Download the basic rootfs from FTP server with user 'ftp' (password: lindeni) and store to debian directory.
Download the toolchain from FTP server with user 'ftp' (password: lindeni) and store to tools/build/toolchain directory (create directory if not exist).
For Lindenis V5 SBC:
$ source build/envsetup.sh All available platforms: 0. eagle(Allwinner-V5,sun8iw12p1,arm) 1. petrel(Allwinner-H3,sun8iw7p1,arm) 2. cuckoo(Allwinner-V3,sun8iw8p1,arm) Choice: 0 All available OS: 0. buildroot 1. debian Choice: 1 0. allwinner-dvb 1. lindeni-v5 Choice: 1
- Build kernel and rootfs
Now you can build the OS image. You can also build component separately for debugging as follow.
- Build kernel only
- Build rootfs only (debian)
- Build U-Boot
For MicroSD Card image:
$ ./build.sh flat-fw
For eMMC image:
$ ./build.sh pack