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.
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:
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
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.
Edit the config
file to match your crosscompile toolchains. 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.
devuan
beagleboneblack
- BeagleBone Blackchromeacer
- Acer ARM Chromebookchromeveyron
- Veyron ARM Chromebook (RK3288)n900
- Nokia N900n950
- Nokia N950n9
- Nokia N9droid
- Motorola Droid 4bionic
- Motorola Droid Bionicodroidxu
- ODROID-XUodroidxu4
- ODROID-XU4ouya
- OUYA gaming consoleraspi1
- Raspberry Pi 1 and 0 (armel)raspi2
- Raspberry Pi 2 and 3raspi3
- Raspberry Pi 3 (64bit)raspi4
- Raspberry Pi 4 (64bit)rock64
- Rock64 (64bit) (EXPERIMENTAL)pinephone-dontbeevil
- Pinephone Dontbeevil devkitpinephone
- Pine64 Pinephonepinetab
- Pine64 Pinetabsunxi
- Allwinner-based boardsturbox-twister
- TurboX Twister tablet
; 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.