Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Odroidm1 v2017.09 - hardkernel travis build #75

Open
wants to merge 42 commits into
base: odroidm1-v2017.09
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
dc63241
ODROID-COMMON: fix to use local toolchains to build U-boot
tobetter Jun 8, 2021
430b1e3
ODROID-COMMON: mtd: spi-nor-ids: Add Macronix mx25u12832f ID
tobetter Jun 2, 2021
86031e3
ODROID-COMMON: Revert "cmd: source: update terminal value"
tobetter Jun 10, 2021
031bc40
ODROID-COMMON: cmd: fix to support 'ini' command
tobetter Jun 17, 2021
85a7789
ODROID-COMMON: add new git submodule to download 'rkbin/*'
tobetter Jun 8, 2021
6c8796f
ODROID-COMMON: cmd: Add 'bcb' command to read/modify/write BCB fields
May 23, 2019
851d03c
ODROID-COMMON: cmd: bcb: Fix duplicated handling in two case-branches
erosca Jul 19, 2019
8bc4a7b
ODROID-COMMON: cmd: bcb: Use strcmp() instead of strncmp() for string…
erosca Jul 19, 2019
1bac869
ODROID-COMMON: cmd: bcb: Apply non-functional refinements
erosca Jul 19, 2019
dde526c
ODROID-COMMON: add setbootdev command.
xiane Jul 19, 2021
eec8e78
ODROID-COMMON: renamed and replaced android_bootloader msg stuffs.
xiane Jul 20, 2021
fb6409d
ODROID-COMMON: include: android_bootloader_message.h: Minimize the di…
May 23, 2019
fde5a2b
ODROID-COMMON: Changed the dtb load method.
xiane Oct 15, 2021
e88f29a
ODROID-COMMON: cmd/bmp: fix in the function 'gunzip_bmp'
tobetter Nov 25, 2021
d444cff
ODROID-COMMON: distro_bootcmd: Removed bootable args.
xiane Oct 29, 2021
acd93cf
ODROID-COMMON: drivers/mmc: Add support eMMC H/W reset
ckkim Aug 31, 2021
6bc3b9d
ODROID-COMMON: arch/arm: fix to add missing header
tobetter Oct 14, 2021
356906e
ODROID-M1: add new board Hardkernel ODROID-M1 based on RK3568
tobetter Jun 1, 2021
518bbfe
ODROID-M1: add to load default splash image
tobetter Nov 26, 2021
f9ec44d
ODROID-COMMON: Revert "rockchip: board: implement board_fdt_chosen_bo…
JosephChen2017 Sep 8, 2021
37ebf59
ODROID-M1: fix incorrect SPI flash access
tobetter Dec 13, 2021
68e0027
ODROID-M1: improve loading splash image
tobetter Dec 14, 2021
ca5c344
ODROID-COMMON: Revert "driver: core: reject all mmc device from kernel"
tobetter Dec 30, 2021
4880a4b
ODROID-COMMON: Revert "board_r: skip mmc init when CONFIG_USING_KERNE…
tobetter Dec 30, 2021
67023fa
ODROID-M1: remove to use vendor partition feature from Rockchip
tobetter Dec 23, 2021
361a4cf
ODROID-M1: add not to apply display fixup
tobetter Jan 27, 2022
2781478
ODROID-M1: add to read 'ODROIDBIOS.BIN' when booted from SD Card
tobetter Feb 9, 2022
f158e43
ODROID-M1: reorder boot devices (eMMC -> SD -> SPI)
tobetter Mar 3, 2022
7ee2a5e
ODROID-M1: add to initiate SPI flash memory on booting
tobetter Mar 3, 2022
34751fb
ODROID-M1: add to load boot splash image from MMC
tobetter Mar 4, 2022
88b784f
ODROID-M1: fix add 'variant' env variable as 'm1'
tobetter Apr 13, 2022
09ffccc
ODROID-M1: Revert "gpt: return 1 directly when test the mbr sector"
tobetter Apr 20, 2022
0fd92ea
ODROID-M1: load environment from SPI flash at very early
tobetter Apr 22, 2022
5dcb2af
ODROID-M1: load 'panel' environment value for DSI display
tobetter Apr 19, 2022
207f688
ODROID-M1: add DSI lcd panel for 'ODROID-Vu8M'
tobetter Apr 22, 2022
d9b7946
ODROID-M1: Change configs for display subsystem
tobetter Apr 22, 2022
0677e14
ODROID-M1: disk/efi: suppress GPT error if disk is not EFI partition
tobetter Apr 8, 2022
7ff3b52
squash! ODROID-COMMON: add new git submodule to download 'rkbin/*'
tobetter May 28, 2022
f383d2d
add odroid_rk3568 travis build
mcarbonneaux Jun 13, 2022
df28b19
fix build script
mcarbonneaux Jun 13, 2022
3176e1d
Update .travis.yml
mcarbonneaux Jun 13, 2022
331ef1d
Update .travis.yml
mcarbonneaux Jun 13, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,5 @@ GTAGS
*.orig
*~
\#*#

rkbin
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule "rkbin"]
path = rkbin
url = https://github.com/hardkernel/rk3568_rkbin
branch = odroidm1-v2017.09
368 changes: 44 additions & 324 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
# Copyright Roger Meier <[email protected]>
# SPDX-License-Identifier: GPL-2.0+

# build U-Boot on Travis CI - https://travis-ci.org/
language: c

sudo: required
dist: trusty
env:
global:
- TRAVIS_SECURE_ENV_VARS=true
- ARCH=arm64
- CROSS_COMPILE=aarch64-linux-gnu-

language: c
matrix:
include:
- env:
- TARGET_BOARD=odroid_rk3568

addons:
apt:
Expand All @@ -27,328 +30,45 @@ addons:
- rpm2cpio
- wget
- device-tree-compiler
- lzop
- gcc
- libncurses5-dev

install:
# Clone uboot-test-hooks
- git clone --depth=1 git://github.com/swarren/uboot-test-hooks.git /tmp/uboot-test-hooks
- ln -s travis-ci /tmp/uboot-test-hooks/bin/`hostname`
- ln -s travis-ci /tmp/uboot-test-hooks/py/`hostname`
# prepare buildman environment
- echo -e "[toolchain]\nroot = /usr" > ~/.buildman
- echo -e "aarch64 = /tmp/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu" >> ~/.buildman
- echo -e "arm = /tmp/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf" >> ~/.buildman
- echo -e "arc = /tmp/arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install" >> ~/.buildman
- echo -e "\n[toolchain-alias]\nsh = sh4\nopenrisc = or32" >> ~/.buildman
- cat ~/.buildman
- virtualenv /tmp/venv
- . /tmp/venv/bin/activate
- pip install pytest
- grub-mkimage -o ~/grub_x86.efi -O i386-efi normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd
- mkdir ~/grub2-arm
- ( cd ~/grub2-arm; wget -O - http://download.opensuse.org/ports/armv7hl/distribution/leap/42.2/repo/oss/suse/armv7hl/grub2-arm-efi-2.02~beta2-87.1.armv7hl.rpm | rpm2cpio | cpio -di )
git:
depth: 1

env:
global:
- PATH=/tmp/qemu-install/bin:/tmp/uboot-test-hooks/bin:/usr/bin:/bin
- PYTHONPATH=/tmp/uboot-test-hooks/py/travis-ci
- BUILD_DIR=build
- HOSTCC="cc"
- HOSTCXX="c++"
before_install:
- if [ `uname -m` = x86_64 ]; then sudo apt-get install libc6-i386 lib32stdc++6 lib32z1; fi

install:

before_script:
# install toolchains based on TOOLCHAIN} variable
- if [[ "${TOOLCHAIN}" == *m68k* ]]; then ./tools/buildman/buildman --fetch-arch m68k ; fi
- if [[ "${TOOLCHAIN}" == *microblaze* ]]; then ./tools/buildman/buildman --fetch-arch microblaze ; fi
- if [[ "${TOOLCHAIN}" == *mips* ]]; then ./tools/buildman/buildman --fetch-arch mips ; fi
- if [[ "${TOOLCHAIN}" == *or32* ]]; then ./tools/buildman/buildman --fetch-arch or32 ; fi
- if [[ "${TOOLCHAIN}" == *sh4* ]]; then ./tools/buildman/buildman --fetch-arch sh4 ; fi
- if [[ "${TOOLCHAIN}" == *x86_64* ]]; then
./tools/buildman/buildman --fetch-arch x86_64;
echo -e "\n[toolchain-prefix]\nx86 = ${HOME}/.buildman-toolchains/gcc-4.9.0-nolibc/x86_64-linux/bin/x86_64-linux-" >> ~/.buildman;
fi
- if [[ "${TOOLCHAIN}" == arc ]]; then
wget https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/download/arc-2016.09-release/arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz &&
tar -C /tmp -xf arc_gnu_2016.09_prebuilt_uclibc_le_archs_linux_install.tar.gz;
fi
- if [[ "${TOOLCHAIN}" == *xtensa* ]]; then ./tools/buildman/buildman --fetch-arch xtensa ; fi
# If TOOLCHAIN is unset, we're on some flavour of ARM.
- if [[ "${TOOLCHAIN}" == "" ]]; then
wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz &&
wget http://releases.linaro.org/components/toolchain/binaries/6.3-2017.02/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz &&
tar -C /tmp -xf gcc-linaro-6.3.1-2017.02-x86_64_aarch64-linux-gnu.tar.xz &&
tar -C /tmp -xf gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz;
fi
- if [[ "${QEMU_TARGET}" != "" ]]; then
git clone git://git.qemu.org/qemu.git /tmp/qemu;
pushd /tmp/qemu;
git submodule update --init dtc &&
git checkout v2.8.0-rc3 &&
./configure --prefix=/tmp/qemu-install --target-list=${QEMU_TARGET} &&
make -j4 all install;
popd;
fi
- mkdir -p /opt/toolchains
- wget https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/aarch64-linux-gnu/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
- tar xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz -C /opt/toolchains/
- wget https://github.com/xpack-dev-tools/riscv-none-embed-gcc-xpack/releases/download/v10.2.0-1.2/xpack-riscv-none-embed-gcc-10.2.0-1.2-linux-x64.tar.gz
- tar xvf xpack-riscv-none-embed-gcc-10.2.0-1.2-linux-x64.tar.gz -C /opt/toolchains/
- export PATH=$TOPDIR/opt/toolchains/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin:/opt/toolchains/xpack-riscv-none-embed-gcc-10.2.0-1.2/bin:$PATH

script:
# Comments must be outside the command strings below, or the Travis parser
# will get confused.
#
# Exit code 129 means warnings only.
- if [[ "${BUILDMAN}" != "" ]]; then
set +e;
tools/buildman/buildman -P ${BUILDMAN};
ret=$?;
if [[ $ret -ne 0 && $ret -ne 129 ]]; then
tools/buildman/buildman -sdeP ${BUILDMAN};
exit $ret;
fi;
fi
# "not a_test_which_does_not_exist" is a dummy -k parameter which will
# never prevent any test from running. That way, we can always pass
# "-k something" even when $TEST_PY_TEST_SPEC doesnt need a custom
# value.
- export UBOOT_TRAVIS_BUILD_DIR=`cd .. && pwd`/.bm-work/${TEST_PY_BD};
cp ~/grub_x86.efi $UBOOT_TRAVIS_BUILD_DIR/;
cp ~/grub2-arm/usr/lib/grub2/arm-efi/grub.efi $UBOOT_TRAVIS_BUILD_DIR/grub_arm.efi;
if [[ "${TEST_PY_BD}" != "" ]]; then
./test/py/test.py --bd ${TEST_PY_BD} ${TEST_PY_ID}
-k "${TEST_PY_TEST_SPEC:-not a_test_which_does_not_exist}"
--build-dir "$UBOOT_TRAVIS_BUILD_DIR";
fi
- ./make.sh ${TARGET_BOARD}

matrix:
include:
# we need to build by vendor due to 50min time limit for builds
# each env setting here is a dedicated build
- env:
- BUILDMAN="arc"
TOOLCHAIN="arc"
- env:
- BUILDMAN="arm11"
- env:
- BUILDMAN="arm7"
- env:
- BUILDMAN="arm920t"
- env:
- JOB="arm926ejs"
BUILDMAN="arm926ejs -x mx,siemens,atmel"
- env:
- BUILDMAN="arm946es"
- env:
- BUILDMAN="atmel"
- env:
- BUILDMAN="aries"
- env:
- JOB="Boundary Devices"
BUILDMAN="boundary"
- env:
- JOB="engicam"
BUILDMAN="engicam"
- env:
- JOB="Freescale ARM32"
BUILDMAN="freescale -x powerpc,m68k,aarch64"
- env:
- JOB="Freescale AArch64"
BUILDMAN="freescale&aarch64"
- env:
- JOB="i.MX6 (non-Freescale)"
BUILDMAN="mx6 -x freescale,toradex,boundary,engicam"
- env:
- JOB="i.MX (non-Freescale, non-i.MX6)"
BUILDMAN="mx -x freescale,mx6,toradex"
- env:
- BUILDMAN="k2"
- env:
- BUILDMAN="samsung"
- env:
- BUILDMAN="socfpga"
- env:
- BUILDMAN="sun4i"
- env:
- BUILDMAN="sun5i"
- env:
- BUILDMAN="sun6i"
- env:
- BUILDMAN="sun7i"
- env:
- BUILDMAN="sun8i"
- env:
- BUILDMAN="sun9i"
- env:
- BUILDMAN="sun50i"
- env:
- JOB="Catch-all ARM"
BUILDMAN="arm -x arm11,arm7,arm9,aarch64,atmel,aries,freescale,kirkwood,mvebu,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap3,omap4,omap5,pxa,rockchip,toradex,socfpga,k2,xilinx"
- env:
- BUILDMAN="sandbox x86"
TOOLCHAIN="x86_64"
- env:
- BUILDMAN="toradex"
- env:
- BUILDMAN="kirkwood"
- env:
- BUILDMAN="mvebu"
- env:
- JOB="PXA"
- BUILDMAN="pxa -x toradex"
- env:
- BUILDMAN="m68k"
TOOLCHAIN="m68k"
- env:
- BUILDMAN="microblaze"
TOOLCHAIN="microblaze"
- env:
- BUILDMAN="mips"
TOOLCHAIN="mips"
- env:
- BUILDMAN="mpc83xx"
- env:
- BUILDMAN="mpc85xx -x freescale"
- env:
- BUILDMAN="mpc85xx -x t208xrdb -x t4qds -x t102* -x p1_p2_rdb_pc -x p1010rdb -x corenet_ds -x b4860qds -x sbc8548 -x bsc91*"
- env:
- BUILDMAN="t208xrdb t4qds t102*"
- env:
- BUILDMAN="p1_p2_rdb_pc"
- env:
- BUILDMAN="p1010rdb"
- env:
- BUILDMAN="corenet_ds b4860qds sbc8548 bsc91*"
- env:
- BUILDMAN="mpc86xx"
- env:
- BUILDMAN="mpc8xx"
- env:
- BUILDMAN="siemens"
- env:
- JOB="tegra"
BUILDMAN="tegra -x toradex"
- env:
- JOB="am33xx"
BUILDMAN="am33xx -x siemens"
- env:
- BUILDMAN="omap3"
- env:
- BUILDMAN="omap4"
- env:
- BUILDMAN="omap5"
- env:
- BUILDMAN="uniphier"
- env:
- JOB="aarch64"
BUILDMAN="aarch64 -x tegra,freescale,mvebu,uniphier,sunxi,samsung,rockchip"
- env:
- BUILDMAN="rockchip"
- env:
- BUILDMAN="sh4"
TOOLCHAIN="sh4"
- env:
- JOB="Xilinx (ARM)"
BUILDMAN="xilinx -x microblaze"
- env:
- BUILDMAN="xtensa"
TOOLCHAIN="xtensa"

# QA jobs for code analytics
# static code analysis with cppcheck (we can add --enable=all later)
- env:
- JOB="cppcheck"
script:
- cppcheck --force --quiet --inline-suppr .
# search for TODO within source tree
- env:
- JOB="grep TODO"
script:
- grep -r TODO .
# search for FIXME within source tree
- env:
- JOB="grep FIXME HACK"
script:
- grep -r FIXME .
# search for HACK within source tree and ignore HACKKIT board
script:
- grep -r HACK . | grep -v HACKKIT
# some statistics about the code base
- env:
- JOB="sloccount"
script:
- sloccount .

# test/py
- env:
- TEST_PY_BD="sandbox"
BUILDMAN="^sandbox$"
TOOLCHAIN="x86_64"
- env:
- TEST_PY_BD="sandbox_spl"
TEST_PY_TEST_SPEC="test_ofplatdata"
BUILDMAN="^sandbox$"
TOOLCHAIN="x86_64"
- env:
- TEST_PY_BD="sandbox_flattree"
BUILDMAN="^sandbox_flattree$"
TOOLCHAIN="x86_64"
- env:
- TEST_PY_BD="vexpress_ca15_tc2"
TEST_PY_ID="--id qemu"
QEMU_TARGET="arm-softmmu"
BUILDMAN="^vexpress_ca15_tc2$"
- env:
- TEST_PY_BD="vexpress_ca9x4"
TEST_PY_ID="--id qemu"
QEMU_TARGET="arm-softmmu"
BUILDMAN="^vexpress_ca9x4$"
- env:
- TEST_PY_BD="integratorcp_cm926ejs"
TEST_PY_TEST_SPEC="not sleep"
TEST_PY_ID="--id qemu"
QEMU_TARGET="arm-softmmu"
BUILDMAN="^integratorcp_cm926ejs$"
- env:
- TEST_PY_BD="qemu_arm"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="arm-softmmu"
BUILDMAN="^qemu_arm$"
- env:
- TEST_PY_BD="qemu_mips"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="mips-softmmu"
BUILDMAN="^qemu_mips$"
TOOLCHAIN="mips"
- env:
- TEST_PY_BD="qemu_mipsel"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="mipsel-softmmu"
BUILDMAN="^qemu_mipsel$"
TOOLCHAIN="mips"
- env:
- TEST_PY_BD="qemu_mips64"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="mips64-softmmu"
BUILDMAN="^qemu_mips64$"
TOOLCHAIN="mips"
- env:
- TEST_PY_BD="qemu_mips64el"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="mips64el-softmmu"
BUILDMAN="^qemu_mips64el$"
TOOLCHAIN="mips"
- env:
- TEST_PY_BD="qemu-ppce500"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="ppc-softmmu"
BUILDMAN="^qemu-ppce500$"
- env:
- TEST_PY_BD="qemu-x86"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="i386-softmmu"
BUILDMAN="^qemu-x86$"
TOOLCHAIN="x86_64"
BUILD_ROM="yes"
- env:
- TEST_PY_BD="zynq_zc702"
TEST_PY_TEST_SPEC="not sleep"
QEMU_TARGET="arm-softmmu"
TEST_PY_ID="--id qemu"
BUILDMAN="^zynq_zc702$"
before_deploy:
- export RELEASE_VERSION="${TARGET_BOARD}-${TRAVIS_BUILD_NUMBER}"
- tar czf u-boot-${RELEASE_VERSION}.tar.gz uboot.img
- git config --global user.name ${GIT_USER_NAME}
- git config --global user.email ${GIT_USER_EMAIL}
- export REMOTE_URL=`git config --get remote.origin.url`
- export GIT_TAG="travis/${RELEASE_VERSION}"
- git tag ${GIT_TAG} -a -m "Tagged by Travis CI"
- git push --quiet https://${PRIVATE_ACCESS_TOKEN}@${REMOTE_URL#$"https://"} ${GIT_TAG}

# TODO make it perfect ;-r
deploy:
provider: releases
api_key: ${PRIVATE_ACCESS_TOKEN}
file_glob: true
file: u-boot-${RELEASE_VERSION}.tar.gz
skip_cleanup: true
on:
tags: false
all_branches: true
Loading