Skip to content

Commit 25071c6

Browse files
committed
Signed-off-by: Robert Nelson <[email protected]>
1 parent d6cf804 commit 25071c6

File tree

3 files changed

+109
-0
lines changed

3 files changed

+109
-0
lines changed

.travis.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
dist: trusty
2+
language: c
3+
compiler: gcc
4+
cache: ccache
5+
env:
6+
- ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOCALVERSION=-git$TRAVIS_COMMIT
7+
addons:
8+
apt:
9+
packages:
10+
- gcc-arm-linux-gnueabihf
11+
- debootstrap
12+
- qemu-user-static
13+
- binfmt-support
14+
- sbuild
15+
- lzop
16+
- wget
17+
- ccache
18+
script:
19+
- bash -ex build_on_x86.sh

build_deb_in_arm_chroot.sh

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
#!/bin/bash
2+
CHROOT_DIR=/tmp/arm-chroot
3+
VERSION=jessie
4+
CHROOT_ARCH=armhf
5+
MIRROR=http://httpredir.debian.org/debian
6+
GUEST_DEPENDENCIES="build-essential git sudo lzop"
7+
DEBOOT="1.0.82"
8+
9+
function run_build {
10+
cd ${CHROOT_DIR}/${TRAVIS_BUILD_DIR}
11+
make bb.org_defconfig
12+
make -s -j4 CROSS_COMPILE=arm-linux-gnueabihf-
13+
}
14+
15+
function run_package {
16+
if [ true ] ; then
17+
make KBUILD_DEBARCH=armhf KDEB_SOURCENAME=linux KDEB_CHANGELOG_DIST=unstable
18+
else
19+
echo "Not running this time"
20+
fi
21+
}
22+
23+
function setup_arm_chroot {
24+
pushd /tmp
25+
wget https://beagleboard.org/static/arm-debian-jessie.rootfs.tgz
26+
popd
27+
28+
sudo mkdir ${CHROOT_DIR}
29+
sudo tar xzf /tmp/arm-debian-jessie.rootfs.tgz -C ${CHROOT_DIR}
30+
sudo cp -v /etc/resolv.conf ${CHROOT_DIR}/etc/resolv.conf
31+
32+
echo "export ARCH=${ARCH}" > envvars.sh
33+
echo "export TRAVIS_BUILD_DIR=${TRAVIS_BUILD_DIR}" >> envvars.sh
34+
chmod a+x envvars.sh
35+
36+
sudo chroot ${CHROOT_DIR} apt-get update
37+
sudo chroot ${CHROOT_DIR} apt-get --allow-unauthenticated install \
38+
-qq -y ${GUEST_DEPENDENCIES}
39+
sudo mkdir -p ${CHROOT_DIR}/${TRAVIS_BUILD_DIR}
40+
sudo rsync -a ${TRAVIS_BUILD_DIR}/ ${CHROOT_DIR}/${TRAVIS_BUILD_DIR}/
41+
42+
sudo touch ${CHROOT_DIR}/.chroot_is_done
43+
}
44+
45+
function setup_arm_chroot_orig {
46+
wget -c https://rcn-ee.net/mirror/debootstrap/debootstrap_${DEBOOT}_all.deb
47+
if [ -f debootstrap_${DEBOOT}_all.deb ] ; then
48+
sudo dpkg -i debootstrap_${DEBOOT}_all.deb
49+
rm -rf debootstrap_${DEBOOT}_all.deb
50+
fi
51+
sudo mkdir ${CHROOT_DIR}
52+
sudo debootstrap --foreign --no-check-gpg --include=fakeroot,build-essential \
53+
--arch=${CHROOT_ARCH} ${VERSION} ${CHROOT_DIR} ${MIRROR}
54+
sudo cp /usr/bin/qemu-arm-static ${CHROOT_DIR}/usr/bin/
55+
sudo chroot ${CHROOT_DIR} ./debootstrap/debootstrap --second-stage
56+
sudo sbuild-createchroot --arch=${CHROOT_ARCH} --foreign --setup-only \
57+
${VERSION} ${CHROOT_DIR} ${MIRROR}
58+
59+
echo "export ARCH=${ARCH}" > envvars.sh
60+
echo "export TRAVIS_BUILD_DIR=${TRAVIS_BUILD_DIR}" >> envvars.sh
61+
chmod a+x envvars.sh
62+
63+
sudo chroot ${CHROOT_DIR} apt-get update
64+
sudo chroot ${CHROOT_DIR} apt-get --allow-unauthenticated install \
65+
-qq -y ${GUEST_DEPENDENCIES}
66+
sudo mkdir -p ${CHROOT_DIR}/${TRAVIS_BUILD_DIR}
67+
sudo rsync -a ${TRAVIS_BUILD_DIR}/ ${CHROOT_DIR}/${TRAVIS_BUILD_DIR}/
68+
69+
sudo touch ${CHROOT_DIR}/.chroot_is_done
70+
}
71+
72+
if [ -e "/.chroot_is_done" ]; then
73+
. ./envvars.sh
74+
run_package
75+
else
76+
echo "Setting up chrooted ARM environment"
77+
setup_arm_chroot
78+
run_build
79+
sudo chroot ${CHROOT_DIR} bash -c "cd ${TRAVIS_BUILD_DIR} && bash -ex build_deb_in_arm_chroot.sh"
80+
fi

build_on_x86.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
3+
wget https://releases.linaro.org/components/toolchain/binaries/5.3-2016.05/arm-linux-gnueabihf/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz
4+
tar xf gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf.tar.xz
5+
export CC=`pwd`/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
6+
7+
make ARCH=arm bb.org_defconfig
8+
make ARCH=arm -j4 CROSS_COMPILE="ccache ${CC}" zImage
9+
make ARCH=arm -j4 CROSS_COMPILE="ccache ${CC}" dtbs
10+
make ARCH=arm -j4 CROSS_COMPILE="ccache ${CC}" modules

0 commit comments

Comments
 (0)