OS build toolkit for various Arm devices
Go to file
parazyd 2206c28d0b
Remove droid4 40-input.conf.
2020-03-21 18:30:28 +01:00
boards Fix typo in boards/pinephone.sh 2020-03-12 12:55:47 +01:00
doc add olinuxino-micro rev.j quirk 2017-10-14 16:28:12 +02:00
extra Remove droid4 40-input.conf. 2020-03-21 18:30:28 +01:00
lib Update libdevuansdk revision. 2020-03-12 12:56:01 +01:00
.gitignore Update .gitignore 2018-04-20 21:16:10 +02:00
.gitmodules Change lib/libdevuansdk submodule url. 2018-02-27 11:33:41 +01:00
CONTRIBUTORS.md Add stiltr to CONTRIBUTORS. 2019-07-24 01:13:55 +02:00
LICENSE LICENSE and README 2016-04-14 16:44:40 +02:00
README.md Update with missing dependencies for kernel builds. 2019-10-30 19:05:07 +01:00
TODO.md sunxi is finished 2017-06-26 17:33:00 +02:00
config Add support for orangepi_pc. 2018-06-25 15:10:49 +02:00
init.sh Google kernels need gcc4 2018-02-13 13:04:45 +01:00
sdk Add targets for Pinetab and Pinephone. 2020-02-10 02:07:07 +01:00

README.md

arm-sdk

arm-sdk is simple distro build system aimed at embedded ARM devices. It was first conceived as a component of the Devuan SDK, but now it aims to support multiple Linux distributions.

Requirements

arm-sdk is designed to be used interactively from a terminal, as well as from shell scripts. It requires the following packages to be installed, as well as libdevuansdk dependencies:

Devuan

curl git wget qemu-user-static build-essential rsync gcc-arm-none-eabi gcc-multilib lib32z1 u-boot-tools device-tree-compiler lzop dosfstools vboot-utils vboot-kernel-utils libftdi-dev libfdt-dev swig libpython-dev bc bison flex libssl-dev

Gentoo

net-misc/curl net-misc/wget sys-boot/vboot-utils app-emulation/qemu(static-user) net-misc/rsync sys-libs/zlib dev-embedded/u-boot-tools sys-apps/dtc app-arch/lzop sys-fs/dosfstools sys-devel/flex sys-devel/bison

sudo permissions are required for the user that is running the build.

Initial setup

By executing init.sh which is found in the base directory of arm-sdk, it will initialize all git submodules and gcc toolchains that are needed for arm-sdk to properly function.

Do it with:

; ./init.sh

Quick start

Edit the config file to match your crosscompile toolchain. init.sh will provide you with precompiled ones. Then run zsh. In case you have conflicting extensions on your zsh configuration, safest way would be to run a vanilla one, using:

; zsh -f

then step inside the sdk, "source" it:

; cd arm-sdk && source sdk

Now is the time you choose the device and OS you want to build the image for.

Currently supported distros

  • devuan

Currently supported boards

  • beagleboneblack - BeagleBone Black
  • chromeacer - Acer ARM Chromebook
  • chromeveyron - Veyron ARM Chromebook (RK3288)
  • n900 - Nokia N900
  • n950 - Nokia N950
  • n9 - Nokia N9
  • odroidxu - ODROID-XU
  • odroidxu4 - ODROID-XU4
  • ouya - OUYA gaming console
  • raspi1 - Raspberry Pi 1 and 0 (armel)
  • raspi2 - Raspberry Pi 2 and 3
  • raspi3 - Raspberry Pi 3 (64bit)
  • raspi4 - Raspberry Pi 4 (64bit)
  • rock64 - Rock64 (64bit) (EXPERIMENTAL)
  • sunxi - Allwinner-based boards
; load devuan sunxi

Once initialized, you can run the helper command:

; build_image_dist

The image will automatically be build for you. Once finished, you will be able to find it in the dist/ directory in arm-sdk's root.

For more info, see the doc/ directory.

Support readiness grid

Building and testing ASCII 2.1 point release

board name builds runs problems
raspi1 yes ??
raspi2 yes ??
raspi3 yes ??
raspi4 yes ??
sunxi no ?? ?package

Acknowledgments

Devuan's SDK was originally conceived during a period of residency at the Schumacher college in Dartington, UK. Greatly inspired by the laborious and mindful atmosphere of its wonderful premises.

The Devuan SDK is Copyright (c) 2015-2017 by the Dyne.org Foundation

Devuan SDK components were designed, and are written and maintained by:

This source code is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this source code. If not, see http://www.gnu.org/licenses/.