Difference between revisions of "SDK Download and Build"
Csjamesdeng (talk | contribs) (→Install prerequisites) |
Csjamesdeng (talk | contribs) (→Linux host setup) |
||
Line 17: | Line 17: | ||
<pre> | <pre> | ||
− | $ sudo apt-get install git git-core u-boot-tools qemu qemu-user-static debootstrap lib32z1 lib32ncurses5 | + | $ 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 | ||
</pre> | </pre> | ||
+ | * dpkg --add-architecture i386: support 32bit architecture | ||
+ | * apt-get update: retrieve new lists of packages | ||
* git git-core: manage source code | * git git-core: manage source code | ||
* u-boot-tools: build kernel image | * u-boot-tools: build kernel image | ||
* qemu qemu-user-static: emulator for arm on host CPU | * qemu qemu-user-static: emulator for arm on host CPU | ||
* debootstrap: for installing a Debian base system | * debootstrap: for installing a Debian base system | ||
− | * lib32z1 | + | * lib32z1 lib32ncurses5 libc6:i386 libstdc++6:i386: for running 32bit tools |
+ | * gawk: GNU Awk | ||
==== Sudo without password ==== | ==== Sudo without password ==== |
Revision as of 03:40, 2 August 2018
Contents
System requirements
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
Ubuntu 14.04
HINT: later version should also work.
Install prerequisites
$ 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!
Downloading
SDK
The SDK is available on github.
We use Repo manage Git repositories. Clone Repo from android Git repositories or other mirrors and install it.
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.
Basic rootfs
Download the basic rootfs from FTP server with user 'ftp' (password: lindeni) and store to debian directory.
Toolchain
Download the toolchain from FTP server with user 'ftp' (password: lindeni) and store to tools/build/toolchain directory (create directory if not exist).
Building
Setup env
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 source
- Build kernel and rootfs
$ ./build.sh
- Build kernel only
$ ./build/mk-kernel.sh
- Build rootfs only (debian)
$ ./build/mk-debian.sh
- Build U-Boot
$ ./build/mk-u-boot.sh
Build image
For MicroSD Card image:
$ ./build.sh flat-fw