URI: 
       tbeaglebone build - arm-sdk - os build toolkit for various embedded devices
  HTML git clone https://git.parazyd.org/arm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit fab5000ac84100acff46f291eca125be5c5e394f
   DIR parent 1a5d313f9b0a9e7576d33c84d3fea18d4f5829a1
  HTML Author: parazyd <parazyd@dyne.org>
       Date:   Mon, 25 Apr 2016 17:56:15 +0200
       
       beaglebone build
       
       Diffstat:
         M README.md                           |      21 +++++++++++----------
         M arm/init-arm                        |       1 +
         M arm/profiles/common-devuan          |       6 +++---
         A arm/scripts/beaglebone-black.sh     |     140 +++++++++++++++++++++++++++++++
       
       4 files changed, 155 insertions(+), 13 deletions(-)
       ---
   DIR diff --git a/README.md b/README.md
       t@@ -16,7 +16,7 @@ from shell scripts.
        For a Debian-based OS, install the following packages:
        
        ```
       -gnupg2 debootstrap curl rsync gcc-arm-none-eabi parted kpartx qemu-user-static sudo git-core parted gcc-multilib lib32z1 u-boot-tools device-tree-compiler cgpt xz-utils
       +gnupg2 debootstrap curl rsync gcc-arm-none-eabi parted kpartx qemu-user-static sudo git-core parted gcc-multilib lib32z1 u-boot-tools device-tree-compiler cgpt xz-utils lzop
        ```
        
        On any other, find the equivalents of the aforementioned packages.
       t@@ -53,13 +53,14 @@ you can choose between these distros:
        
        and one of the following devices:
        
       -* `raspi2`
       -* `bananapi`
       -* `bananapro`
       -* `cubieboard2`
       -* `cubietruck`
       -* `chromeacer`
       -* `odroidxu`
       +* `raspi2` - Raspberry Pi 2 and 3
       +* `bananapi` - Banana Pi
       +* `bananapro` - Banana Pi Pro
       +* `cubieboard2` - Cubieboard 2
       +* `cubietruck` - Cubietruck
       +* `chromeacer` - Acer ARM Chromebook
       +* `odroidxu` - ODROID-XU
       +* `bbb`- BeagleBone Black
        
        ```
        ; init devuan raspi2
       t@@ -87,8 +88,8 @@ If you are using a custom toolchain, add it to the PATH as described.
          instead.
        
        ### Raspberry Pi 2
       -* This build script will create an image that also works on the Raspberry Pi 3.
       -  It also includes the required firmware for getting onboard Wifi/Bluetooth
       +* This build script will create an image that works on the Raspberry Pi 3 as
       +  well. It also includes the required firmware for getting onboard Wifi/Bluetooth
          working.
        
        ### Acer Chromebook
   DIR diff --git a/arm/init-arm b/arm/init-arm
       t@@ -41,6 +41,7 @@ init() {
                        "cubietruck"            "$R/arm/scripts/cubietruck.sh"
                        "chromeacer"            "$R/arm/scripts/chromebook-acer.sh"
                        "odroidxu"              "$R/arm/scripts/odroid-xu.sh"
       +                "bbb"                   "$R/arm/scripts/beaglebone-black.sh"
                )
        
                arm_build_device=${arm_map[$armdev]}
   DIR diff --git a/arm/profiles/common-devuan b/arm/profiles/common-devuan
       t@@ -242,6 +242,9 @@ ${device_name}-secondstage() {
                write-debconf
                write-third-stage
        
       +        export ARCH=arm
       +        export CROSS_COMPILE=${compiler}
       +
                notice "Finished second-stage"
                notice "Next step is: ${device_name}-thirdstage"
        }
       t@@ -411,9 +414,6 @@ copy-kernel-config() {
                cd ${strapdir}/usr/src/kernel
                cp -v ${workdir}/../kernel-configs/${device_name}.config .config
                sudo cp -v ${workdir}/../kernel-configs/${device_name}.config ../${device_name}.config
       -
       -        export ARCH=arm
       -        export CROSS_COMPILE=${compiler}
        }
        
        make-kernel-modules() {
   DIR diff --git a/arm/scripts/beaglebone-black.sh b/arm/scripts/beaglebone-black.sh
       t@@ -0,0 +1,140 @@
       +#!/usr/bin/env zsh
       +#
       +# Copyright (c) 2016 Dyne.org Foundation
       +# ARM SDK is written and maintained by parazyd <parazyd@dyne.org>
       +#
       +# This file is part of ARM SDK
       +#
       +# 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/>.
       +#
       +# ARM SDK build script for BeagleBone Black devices (armhf)
       +
       +# -- settings --
       +device_name="beagleboneblack"
       +arch="armhf"
       +size=1337
       +extra_packages=()
       +# Ones below should not need changing
       +parted_boot=(fat32 2048s 264191s)
       +parted_root=(ext4 264192s 100%)
       +inittab="T1:12345:respawn:/sbin/agetty 115200 ttyO0 vt100"
       +custmodules=()
       +# source common commands
       +workdir="$R/arm/${device_name}-build"
       +strapdir="${workdir}/${os}-${arch}"
       +source $common
       +image_name="${os}_${release}_${version}_${arch}_${device_name}"
       +# -- end settings --
       +
       +
       +${device_name}-build-kernel() {
       +        fn ${device_name}-build-kernel
       +
       +        notice "Grabbing kernel sources"
       +
       +        cd ${workdir}
       +        sudo mkdir ${strapdir}/usr/src/kernel && sudo chown $USER ${strapdir}/usr/src/kernel
       +        git clone https://github.com/beagleboard/linux -b 4.1 --depth 1 ${strapdir}/usr/src/kernel
       +
       +        notice "Compiling kernel"
       +        cd ${strapdir}/usr/src/kernel
       +        ARCH=arm make bb.org_defconfig
       +        make -j $(grep -c processor /proc/cpuinfo)
       +        sudo cp arch/arm/boot/zImage ${workdir}/bootp/zImage
       +        sudo mkdir -p ${workdir}/bootp/dtbs
       +        sudo cp arch/arm/boot/dts/*.dtb ${workdir}/bootp/dtbs/
       +        notice "Installing kernel modules"
       +        make INSTALL_MOD_PATH=${strapdir} modules_install
       +
       +        notice "Creating uEnv.txt file"
       +        cat << EOF | sudo tee ${workdir}/bootp/uEnv.txt
       +#u-boot eMMC specific overrides; Angstrom Distribution (BeagleBone Black) 2013-06-20
       +kernel_file=zImage
       +initrd_file=uInitrd
       +
       +loadzimage=load mmc \${mmcdev}:\${mmcpart} \${loadaddr} \${kernel_file}
       +loadinitrd=load mmc \${mmcdev}:\${mmcpart} 0x81000000 \${initrd_file}; setenv initrd_size \${filesize}
       +loadfdt=load mmc \${mmcdev}:\${mmcpart} \${fdtaddr} /dtbs/\${fdtfile}
       +#
       +
       +console=ttyO0,115200n8
       +mmcroot=/dev/mmcblk0p2 rw net.ifnames=0
       +mmcrootfstype=ext4 rootwait fixrtc
       +
       +##To disable HDMI/eMMC...
       +#optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G
       +
       +##3.1MP Camera Cape
       +#optargs=capemgr.disable_partno=BB-BONE-EMMC-2G
       +
       +mmcargs=setenv bootargs console=\${console} root=\${mmcroot} rootfstype=\${mmcrootfstype} \${optargs}
       +
       +#zImage:
       +uenvcmd=run loadzimage; run loadfdt; run mmcargs; bootz \${loadaddr} - \${fdtaddr}
       +
       +#zImage + uInitrd: where uInitrd has to be generated on the running system.
       +#boot_fdt=run loadzimage; run loadinitrd; run loadfdt
       +#uenvcmd=run boot_fdt; run mmcargs; bootz \${loadaddr} 0x81000000:\${initrd_size} \${fdtaddr}
       +EOF
       +
       +        notice "Writing Xorg conf for future use"
       +        cat << EOF | sudo tee ${strapdir}/root/xorg.conf
       +# For using Xorg, move this file to /etc/X11/xorg.conf
       +Section "Monitor"
       +        Identifier    "Builtin Default Monitor"
       +EndSection
       +
       +Section "Device"
       +        Identifier    "Builtin Default fbdev Device 0"
       +        Driver        "fbdev"
       +        Option        "SWCursor" "true"
       +EndSection
       +
       +Section "Screen"
       +        Identifier    "Builtin Default fbdev Screen 0"
       +        Device        "Builtin Default fbdev Device 0"
       +        Monitor       "Builtin Default Monitor"
       +        DefaultDepth  16
       +        # Comment out the above and uncomment the below if using a
       +        # bbb-view or bbb-exp
       +        #DefaultDepth  24
       +EndSection
       +
       +Section "ServerLayout"
       +        Identifier    "Builtin Default Layout"
       +        Screen        "Builtin Default fbdev Screen 0"
       +EndSection
       +EOF
       +
       +        notice "Installing firmware..."
       +        sudo rm -r ${strapdir}/lib/firmware
       +        sudo chown $USER ${strapdir}/lib
       +        get-kernel-firmware
       +        cp -ra $R/tmp/firmware ${strapdir}/lib/firmware
       +        cd ${strapdir}/usr/src/kernel
       +        make INSTALL_MOD_PATH=${strapdir} firmware_install
       +        make mrproper
       +        ARCH=arm make bb.org_defconfig
       +        make modules_prepare
       +
       +        notice "Grabbing script for using usb as an ethernet device"
       +        sudo wget -c \
       +                https://raw.github.com/RobertCNelson/tools/master/scripts/beaglebone-black-g-ether-load.sh \
       +                -O ${strapdir}/root/beaglebone-black-g-ether-load.sh
       +
       +        cd ${workdir}
       +
       +        notice "Finished building kernel"
       +        notice "Next step is: ${device_name}-finalize"
       +}