arm-sdk

os build toolkit for various embedded devices
git clone https://git.parazyd.org/arm-sdk
Log | Files | Refs | Submodules | README | LICENSE

commit 7fd1825675cdd9bb427460cf4bc94a2ac6db3aad
parent 91ff2bdef379ff4ba44915a0bd9291fedeb8823d
Author: parazyd <parazyd@dyne.org>
Date:   Mon, 10 Oct 2016 19:57:01 +0200

deprecate old armhf toolchain; add missing dep

Diffstat:
M.gitignore | 1+
MREADME.md | 2+-
Mconfig | 22+++++++++++-----------
Mlib/helpers | 12+++++++++++-
Msdk | 10++++++++--
5 files changed, 32 insertions(+), 15 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -1 +1,2 @@ tmp +PASSING diff --git a/README.md b/README.md @@ -13,7 +13,7 @@ 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: ``` -sudo git-core zsh curl wget debootstrap cgpt xz-utils kpartx parted qemu-user-static build-essential rsync gcc-arm-none-eabi gcc-multilib lib32z1 u-boot-tools device-tree-compiler lzop +sudo git-core zsh curl wget debootstrap cgpt xz-utils kpartx parted qemu-user-static build-essential rsync gcc-arm-none-eabi gcc-multilib lib32z1 u-boot-tools device-tree-compiler lzop dosfstools ``` ## Initial setup diff --git a/config b/config @@ -21,22 +21,22 @@ ## --------------------- ## options for `make` when building kernel -MAKEOPTS="-j$(grep -c 'processor' /proc/cpuinfo)" +MAKEOPTS="-j$(expr $(grep -c 'processor' /proc/cpuinfo) + 1)" -## devuan official toolchain -compiler="arm-none-eabi-" -export PATH="$PATH:/sbin" +## devuan packaged toolchain +#compiler="arm-none-eabi-" +#export PATH="$PATH:/sbin" -## custom toolchain (armhf) - https://pub.parazyd.cf/mirror/ +## custom toolchain (armv7+armhf; gcc 4.9.3) +## https://pub.parazyd.cf/mirror/ +compiler="armv7-devuan-linux-gnueabihf-" +export PATH="$R/gcc/armv7-devuan-linux-gnueabihf/bin:$PATH:/sbin" + +## custom toolchain (DEPRECATED!) +## https://pub.parazyd.cf/mirror/ #compiler="arm-linux-gnueabihf-" #export PATH="$R/gcc/gcc-arm-linux-gnueabihf-4.7/bin:$PATH:/sbin" -## custom toolchain (armel) - https://pub.parazyd.cf/mirror/ -#compiler="arm-eabi-" -#export PATH="$R/gcc/gcc-arm-eabi-linaro-4.6.2/bin:$PATH:/sbin" - -## custom toolchain (arm64) - https://pub.parazyd.cf/mirror/ - ## static qemu arm binary qemu_bin="/usr/bin/qemu-arm-static" # Devuan #qemu_bin="/usr/bin/qemu-arm" # Gentoo diff --git a/lib/helpers b/lib/helpers @@ -82,6 +82,16 @@ clone-git() { fi } +copy-zram-init() { + fn copy-zram-init + req=(R strapdir) + ckreq || return 1 + + notice "installing zram init" + sudo cp $R/extra/zram $strapdir/etc/init.d/zram + sudo chmod +x $strapdir/etc/init.d/zram +} + copy-kernel-config() { fn copy-kernel-config req=(device_name) @@ -94,7 +104,7 @@ copy-kernel-config() { write-fstab() { fn write-fstab - cat <<EOF | sudo tee ${strapdir}/etc/fstab + cat <<EOF | sudo tee ${strapdir}/etc/fstab ${TEEVERBOSE} ## <file system> <mount point> <type> <options> <dump><pass> ## proc proc /proc proc nodev,noexec,nosuid 0 0 diff --git a/sdk b/sdk @@ -24,14 +24,20 @@ setopt pushdsilent R=${ARM_SDK:-$PWD} -## load zsh extension "Zuper" DEBUG=1 +QUIET=0 [[ $DEBUG = 1 ]] && { ## add -v to cp calls CPVERBOSE="-v" + TEEVERBOSE="" +} || [[ $DEBUG = 0 ]] && { + CPVERBOSE="" + TEEVERBOSE=">/dev/null" } + + source lib/zuper/zuper ## global vars @@ -58,7 +64,7 @@ load() { ## initialize binfmt_misc if not already, needed to run qemu if [[ -f /etc/init.d/binfmt-support ]]; then - sudo /etc/init.d/binfmt-support start + sudo /etc/init.d/binfmt-support restart else [[ -d /proc/sys/fs/binfmt_misc ]] || sudo modprobe binfmt_misc [[ -f /proc/sys/fs/binfmt_misc/register ]] || \