From: Michal Sojka Date: Wed, 5 Feb 2014 15:55:13 +0000 (+0100) Subject: Add scripts to setup environment for automated tests X-Git-Tag: fix-allnoconfig~45 X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/commitdiff_plain/c3437f2bdbb60a09c19b4d4f04312195d9d683e0 Add scripts to setup environment for automated tests --- diff --git a/continuous/gw-setup/boot b/continuous/gw-setup/boot index c288986..9508474 100755 --- a/continuous/gw-setup/boot +++ b/continuous/gw-setup/boot @@ -1,5 +1,5 @@ #!/usr/bin/env novaboot # -*-sh-*- -load uImage console=ttyPSC0,115200 quiet +load uImage.tmp console=ttyPSC0,115200 quiet < cat ${LINUX_IMAGE:-uImage} load shark-ryu.dtb load rootfs2.uImage < gen_cpio --mkimage="-T ramdisk -A powerpc -O linux" buildroot/images/rootfs.cpio initramfs "ugw->/bin/" diff --git a/continuous/gw-setup/run.pl b/continuous/gw-setup/run.pl index d026b12..04433d6 100755 --- a/continuous/gw-setup/run.pl +++ b/continuous/gw-setup/run.pl @@ -34,7 +34,7 @@ my $status = system((qw(ssh -T glab), $latester)); kill('TERM', -$pid); exit($status >> 8); - +sub kill_boot() { kill('TERM', -$pid) if defined $pid; } sub run_boot() { # die("No boot command") if ($#ARGV eq -1); @@ -42,6 +42,8 @@ sub run_boot() my $bootcmd = "$FindBin::Bin/boot"; + $SIG{INT} = sub { kill_boot(); exit; }; + pipe($boot, $wh) || die("pipe: $!"); my $pid = fork() // die("fork: $!"); if ($pid == 0) { @@ -56,4 +58,4 @@ sub run_boot() return $pid; } -END { kill('TERM', -$pid) if defined $pid; } +END { kill_boot(); } diff --git a/continuous/gw-setup/shark-ryu.dtb b/continuous/gw-setup/shark-ryu.dtb index df8743b..fe5a086 120000 --- a/continuous/gw-setup/shark-ryu.dtb +++ b/continuous/gw-setup/shark-ryu.dtb @@ -1 +1 @@ -../../kernel/build/shark/3.12/arch/powerpc/boot/shark-ryu.dtb \ No newline at end of file +../steps/linux/arch/powerpc/boot/shark-ryu.dtb \ No newline at end of file diff --git a/continuous/gw-setup/uImage b/continuous/gw-setup/uImage index adfe471..225088e 120000 --- a/continuous/gw-setup/uImage +++ b/continuous/gw-setup/uImage @@ -1 +1 @@ -../../kernel/build/shark/3.12/arch/powerpc/boot/uImage \ No newline at end of file +../steps/linux/arch/powerpc/boot/uImage \ No newline at end of file diff --git a/continuous/steps/10-clone b/continuous/steps/10-clone new file mode 100755 index 0000000..6d489ee --- /dev/null +++ b/continuous/steps/10-clone @@ -0,0 +1,13 @@ +#!/bin/sh + +set -e + +REPO=${REPO:-git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git} + +if [ ! -d linux ]; then + git clone --reference ~/src/linux/master $REPO linux +fi + +cd linux +git fetch $REPO +git reset --hard FETCH_HEAD diff --git a/continuous/steps/11-patch b/continuous/steps/11-patch new file mode 100755 index 0000000..de5d663 --- /dev/null +++ b/continuous/steps/11-patch @@ -0,0 +1,6 @@ +#!/bin/sh + +set -e + +cd linux +git am < ../shark-ryu-board-patch.patch diff --git a/continuous/steps/20-config b/continuous/steps/20-config new file mode 100755 index 0000000..a4d8a6a --- /dev/null +++ b/continuous/steps/20-config @@ -0,0 +1,58 @@ +#!/bin/sh + +set -e + +cd linux + +export ARCH=powerpc +make allnoconfig + +conf() { + sed -i -n -e "/\\bCONFIG_$1\\b/!p" .config + echo CONFIG_$1=$2 >> .config +} + +conf BLK_DEV_INITRD y +conf INITRAMFS_SOURCE '""' +conf INITRAMFS_ROOT_UID 0 +conf INITRAMFS_ROOT_GID 0 +conf INITRAMFS_COMPRESSION_NONE y +conf INITRAMFS_COMPRESSION_GZIP n +conf INITRAMFS_COMPRESSION_BZIP2 n +conf INITRAMFS_COMPRESSION_LZMA n +conf INITRAMFS_COMPRESSION_XZ n +conf INITRAMFS_COMPRESSION_LZO n + +conf PPC_MPC52xx y +conf PPC_MPC5200_SIMPLE y +conf SERIAL_CORE y +conf SERIAL_CORE_CONSOLE y +conf SERIAL_MPC52xx y +conf SERIAL_MPC52xx_CONSOLE y +conf SERIAL_MPC52xx_CONSOLE_BAUD 115200 + +conf NET y +conf CAN y +conf CAN_RAW y +conf CAN_GW y +conf CAN_VCAN y +conf CAN_DEV y +conf CAN_CALC_BITTIMING y +conf CAN_MSCAN y +conf CAN_MPC5XXX y + +conf NETDEVICES y +conf ETHERNET y +conf DMADEVICES y +conf PPC_BESTCOMM y +conf NET_VENDOR_FREESCALE y +conf FEC_MPC52xx y +conf FEC_MPC52xx_MDIO y + +# To have netlink for kernel cangw +conf INET y +conf NETFILTER y + +conf PACKET y # ugw mmap + +yes n|make oldconfig diff --git a/continuous/steps/30-compile b/continuous/steps/30-compile new file mode 100755 index 0000000..e43e00f --- /dev/null +++ b/continuous/steps/30-compile @@ -0,0 +1,9 @@ +#!/bin/sh + +set -e + +cd linux + +export ARCH=powerpc +export CROSS_COMPILE=/opt/OSELAS.Toolchain-2012.12.1/powerpc-603e-linux-gnu/gcc-4.7.2-glibc-2.16.0-binutils-2.22-kernel-3.6-sanitized/bin/powerpc-603e-linux-gnu- +make -j$(ncpus) uImage shark-ryu.dtb diff --git a/continuous/steps/40-run-tests b/continuous/steps/40-run-tests new file mode 100755 index 0000000..413e89a --- /dev/null +++ b/continuous/steps/40-run-tests @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +export LINUX_IMAGE=$PWD/linux/arch/powerpc/boot/uImage + +run-parts -v ../tests diff --git a/continuous/steps/shark-ryu-board-patch.patch b/continuous/steps/shark-ryu-board-patch.patch new file mode 100644 index 0000000..e43e35d --- /dev/null +++ b/continuous/steps/shark-ryu-board-patch.patch @@ -0,0 +1,139 @@ +From 87a8e2b9406cc7f8779f02047e0cd1594c570b78 Mon Sep 17 00:00:00 2001 +From: Michal Sojka +Date: Thu, 23 Jan 2014 23:44:55 +0100 +Subject: [PATCH] Shark/ryu board patch + +This is a new version of the patch. It is not based on historical patches +from Michal Hrouda, but on mpc5200_simple. It boots, serial line and +Ethernet work. I haven't check whether flash works. +--- + arch/powerpc/boot/dts/shark-ryu.dts | 104 +++++++++++++++++++++++++++ + arch/powerpc/platforms/52xx/mpc5200_simple.c | 1 + + 2 files changed, 105 insertions(+) + create mode 100644 arch/powerpc/boot/dts/shark-ryu.dts + +diff --git a/arch/powerpc/boot/dts/shark-ryu.dts b/arch/powerpc/boot/dts/shark-ryu.dts +new file mode 100644 +index 0000000..63e48a8 +--- /dev/null ++++ b/arch/powerpc/boot/dts/shark-ryu.dts +@@ -0,0 +1,104 @@ ++/* ++ * Shark(MPC5200) board Device Tree Source ++ * ++ * Copyright 2006-2007 Secret Lab Technologies Ltd. ++ * Grant Likely ++ * ++ * This program 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 2 of the License, or (at your ++ * option) any later version. ++ */ ++ ++/include/ "mpc5200b.dtsi" ++ ++/ { ++ model = "cvut,ryu"; ++ compatible = "midam,shark"; ++ ++ memory { ++ reg = <0x00000000 0x08000000>; // 128MB ++ }; ++ ++ soc: soc5200@f0000000 { ++ psc@2000 { // PSC1 ++ compatible = "fsl,mpc5200b-psc-uart","fsl,mpc5200-psc-uart"; ++ }; ++ psc5: psc@2800 { // PSC5 ++ status = "disabled"; ++ }; ++ ++ ethernet@3000 { ++ phy-handle = <&phy0>; ++ }; ++ ++ mdio@3000 { ++ phy0: ethernet-phy@1f { ++ device_type = "ethernet-phy"; ++ reg = <0x1f>; ++ }; ++ }; ++ ++ i2c@3d40 { ++ rtc@68 { ++ compatible = "dallas,ds1307"; ++ reg = <0x68>; ++ }; ++ }; ++ }; ++ ++ localbus { ++ ranges = <0 0 0xfc000000 0x04000000>; ++ ++ flash@0,0 { ++ compatible = "cfi-flash"; ++ reg = <0 0 0x04000000>; ++ bank-width = <2>; ++ device-width = <2>; ++ #size-cells = <1>; ++ #address-cells = <1>; ++ ++ uboot@0 { ++ label = "u-boot"; ++ reg = <0 0x00100000>; ++ read-only; ++ }; ++ ++ kernel@100000 { ++ label = "kernel"; ++ reg = <0x00100000 0x00300000>; ++ read-only; ++ }; ++ ++ filesystem@400000 { ++ label = "filesystem"; ++ reg = <0x00400000 0x03c00000>; ++ }; ++ }; ++ }; ++ ++ pci: pci@f0000d00 { ++ interrupt-map-mask = <0xf800 0 0 7>; ++ interrupt-map = <0xc000 0 0 1 &mpc5200_pic 0 0 3 // 1st slot ++ 0xc000 0 0 2 &mpc5200_pic 1 1 3 ++ 0xc000 0 0 3 &mpc5200_pic 1 2 3 ++ 0xc000 0 0 4 &mpc5200_pic 1 3 3 ++ ++ 0xc800 0 0 1 &mpc5200_pic 1 1 3 // 2nd slot ++ 0xc800 0 0 2 &mpc5200_pic 1 2 3 ++ 0xc800 0 0 3 &mpc5200_pic 1 3 3 ++ 0xc800 0 0 4 &mpc5200_pic 0 0 3>; ++ ranges = <0x42000000 0 0x80000000 0x80000000 0 0x20000000 ++ 0x02000000 0 0xa0000000 0xa0000000 0 0x10000000 ++ 0x01000000 0 0x00000000 0xb0000000 0 0x01000000>; ++ }; ++ motorek@0 { ++ device_type = "motorek"; ++ pwmf = <&gpt2>; ++ pwmb = <&gpt3>; ++ irca = <&gpt5>; ++ ircb = <&gpt4>; ++ interrupts = <0 0 1>; ++ //gpios = <&gpio_a ++ }; ++}; +diff --git a/arch/powerpc/platforms/52xx/mpc5200_simple.c b/arch/powerpc/platforms/52xx/mpc5200_simple.c +index 792a301..82aaa6e 100644 +--- a/arch/powerpc/platforms/52xx/mpc5200_simple.c ++++ b/arch/powerpc/platforms/52xx/mpc5200_simple.c +@@ -62,6 +62,7 @@ static const char *board[] __initdata = { + "promess,motionpro", + "schindler,cm5200", + "tqc,tqm5200", ++ "midam,shark", + NULL + }; + +-- +1.8.5.2 +