arm-sdk/arm/init-arm

54 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env zsh
#
# ARM SDK
#
# Copyright (C) 2016 Dyne.org Foundation
#
# ARM SDK is designed, written and maintained by parazyd <parazyd@dyne.org>
#
# This source code is free software; you can redistribute it and/or
# modify it under the terms of the GNU Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This source code 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. Please refer
# to the GNU Public License for more details.
#
# You should have received a copy of the GNU Public License along with
# this source code; if not, write to: Free Software Foundation, Inc.,
# 675 Mass Ave, Cambridge, MA 02139, USA.
init() {
fn init $*
os="$1"
armdev="$2"
req=(os armdev)
ckreq || {
error "Missing arguments. Please retry."
return 1
}
# Initialize binfmt_misc if not already, needed to run qemu
[[ -d /proc/sys/fs/binfmt_misc ]] || sudo modprobe binfmt_misc
[[ -f /proc/sys/fs/binfmt_misc/register ]] || sudo mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
# Build scripts are mapped to a device name here
arm_map=(
"raspi2" "$R/arm/scripts/raspberry-pi-2.sh"
"bananapi" "$R/arm/scripts/bananapi.sh"
"bananapro" "$R/arm/scripts/bananapro.sh"
"cubieboard2" "$R/arm/scripts/cubieboard2.sh"
"chromeacer" "$R/arm/scripts/chromebook-acer.sh"
)
arm_build_device=${arm_map[$armdev]}
common="$R/arm/profiles/common-${os}"
[[ -f $common ]] || { error "No valid distro specified"; return 1 }
[[ -f $arm_build_device ]] || { error "No valid device specified"; return 1 }
source ${arm_build_device}
}