-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added a post build step that generates a dedicated factory sdcard image. It roughly does the following steps: * burns eeprom if contents is empty * flashes firmware if to flash if empty * starts test runner on login * test runner executes certain scripts prefixed with 000- * added first couple of tests
- Loading branch information
1 parent
0582e6d
commit 21840cc
Showing
26 changed files
with
871 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# SPDX-License-Identifier: GPL-2.0+ | ||
# Copyright (C) 2024 Sven Rademakers <sven.rademakers@gmail.com> | ||
|
||
# read hardware version from EEPROM | ||
tpi_info hw_version tpi_hw_version | ||
if test -z "$tpi_crc_ok"; then | ||
echo eeprom crc failure, rewrite version ${eeprom_ver} | ||
run burn_eeprom | ||
fi | ||
|
||
install_magic=0x12341234 | ||
install_addr=0x0709010C | ||
mw ${loadaddr} ${install_magic} | ||
|
||
if cmp ${loadaddr} ${install_addr} 1; then | ||
echo post firmware install, skipping factory boot | ||
mw ${install_addr} 0x00000000 | ||
ubi part ubi | ||
env set devtype ubi | ||
env set devnum 0 | ||
run bootcmd_ubi_primary | ||
else | ||
echo booting factory image | ||
# let the boot.scr scan the rootfs partition on the | ||
# SDcard and boot it. `boot_unlocked` signals that we want to release the write | ||
# protection on the boot partition and eeprom. | ||
env set boot_unlocked 0 | ||
fi |
Empty file.
54 changes: 54 additions & 0 deletions
54
tp2bmc/board/tp2bmc/factory_overlay/upper/etc/init.d/S94bmcd
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
#!/bin/sh | ||
|
||
DAEMON="bmcd" | ||
BIN="/usr/bin/$DAEMON" | ||
PIDFILE="/var/run/$DAEMON.pid" | ||
CERTFILE="/etc/ssl/certs/bmcd_cert.pem" | ||
KEYFILE="/etc/ssl/certs/bmcd_key.pem" | ||
|
||
start() { | ||
printf 'Starting %s...\n' "$DAEMON" | ||
|
||
[ ! -f "$CERTFILE" ] || [ ! -f "$KEYFILE" ] && /etc/bmcd/generate_self_signedx509.sh | ||
|
||
start-stop-daemon --start --quiet --background --make-pidfile --pidfile "$PIDFILE" --no-close \ | ||
--exec "$BIN" -- --config "/etc/bmcd/config.yaml" > /dev/null | ||
|
||
# Note: there are a lot of init.d scripts in buildroot packages that use -b/--background flag | ||
# for programs that don't daemonize themselves. Contrary to the vast majority of them, it's | ||
# pointless to check exit code ($?) here because in that case start-stop-daemon(8) "cannot | ||
# check the exit status if the process fails to execute for any reason". Because of that, we | ||
# rely on `bmcd` itself to notify where, and if, it failed. | ||
} | ||
|
||
stop() { | ||
printf 'Stopping %s: ' "$DAEMON" | ||
|
||
start-stop-daemon --stop --quiet --pidfile "$PIDFILE" | ||
|
||
status=$? | ||
if [ "$status" -eq 0 ]; then | ||
rm -f "$PIDFILE" | ||
echo "OK" | ||
else | ||
echo "FAIL" | ||
fi | ||
|
||
return "$status" | ||
} | ||
|
||
restart() { | ||
stop | ||
sleep 1 | ||
start | ||
} | ||
|
||
case "$1" in | ||
start|stop|restart) | ||
"$1";; | ||
reload) | ||
restart;; | ||
*) | ||
echo "Usage: $0 {start|stop|restart|reload}" | ||
exit 1 | ||
esac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# /etc/inittab | ||
# | ||
# This inittab is a basic inittab sample for sysvinit, which mimics | ||
# Buildroot's default inittab for BusyBox. | ||
id:3:initdefault: | ||
|
||
si0::sysinit:/bin/mount -t proc proc /proc | ||
si1::sysinit:/bin/mount -o remount,rw / | ||
si2::sysinit:/bin/mkdir -p /dev/pts /dev/shm | ||
si3::sysinit:/bin/mount -a | ||
si4::sysinit:/bin/mkdir -p /run/lock/subsys | ||
si5::sysinit:/sbin/swapon -a | ||
si6::sysinit:/bin/ln -sf /proc/self/fd /dev/fd 2>/dev/null | ||
si7::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin 2>/dev/null | ||
si8::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout 2>/dev/null | ||
si9::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr 2>/dev/null | ||
si10::sysinit:/bin/hostname -F /etc/hostname | ||
rcS:12345:wait:/etc/init.d/rcS | ||
|
||
S0::respawn:/sbin/getty -L ttyS0 115200 vt100 # GENERIC_SERIAL | ||
|
||
# Stuff to do for the 3-finger salute | ||
#ca::ctrlaltdel:/sbin/reboot | ||
|
||
# Stuff to do before rebooting | ||
shd0:06:wait:/etc/init.d/rcK | ||
shd1:06:wait:/sbin/swapoff -a | ||
shd2:06:wait:/bin/umount -a -r | ||
|
||
# The usual halt or reboot actions | ||
hlt0:0:wait:/sbin/halt -dhp | ||
reb0:6:wait:/sbin/reboot |
30 changes: 30 additions & 0 deletions
30
tp2bmc/board/tp2bmc/factory_overlay/upper/etc/ssl/certs/bmcd_cert.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
-----BEGIN CERTIFICATE----- | ||
MIIFITCCAwmgAwIBAgIUOjStH7igh+V9d4y830Nv9DcOeeYwDQYJKoZIhvcNAQEL | ||
BQAwIDEeMBwGA1UEAwwVVHVyaW5nLVBpIHNlbGYgc2lnbmVkMB4XDTcwMDEwMTAw | ||
MDExNFoXDTcwMDEzMTAwMDExNFowIDEeMBwGA1UEAwwVVHVyaW5nLVBpIHNlbGYg | ||
c2lnbmVkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApXbjlJXyaN7L | ||
Bck+QCIuECOvKW44Va6lCYaNVFn4NGhZeIlALaoxmTk7zXYWn1PQqY3SM14DupFm | ||
+sJG4bRYoVDQXjp+G9S/h03W5tu0mhh0QE4ZEIyQ9dDAfM2auYeXxb3dvDrk2FNJ | ||
K2DG6XPQQJbIq5fZhkNnV/83/IoILQMu544BY3qgYgJ3D0s5/xEP7K0cRdFQVk7S | ||
tRjfzV2qW9f9G6DZNCXm6+Ulem6FSMzmhnbrrWNAZvZC1k6u6bwoQzE7uF/dpl9n | ||
Y1qPn2Hwqt9uZpdEMekAlQzNMTDXjmyBjXO4xLWCREoa+eopAkwykNr6NSmzA0L4 | ||
t7tIoZQ+SGf+5CFPAVjnQn4+EyjNlQvbfMOmNhMbUolnb97uNGNG14nJeK4au5R1 | ||
x94nwq4684oC4Lgjpe7vEI6dWJQu19OdGp1fgfLjVVrqllqVO6ULeDcSFzrr87gv | ||
AJUS15XsKJ1UzdVN8eNQQyVJbFcbXlXVH45ts+VYpTjYQUv4gPglHyf15D9kSOY+ | ||
DuQXRaLNqKUtLaGSNBpAvJittUSSHfACyZJ2acgvJxLveQHgCKjkY5Zq9fdxvVB1 | ||
x0KbRZCNXCSVS+ggGUYLmYoNcrRx76+JpoHW1+O9YhxqByG36eOMpaI4u5wEcGai | ||
/3zyNA/6hEVQUfQrKcJXsvztr4el8vMCAwEAAaNTMFEwHQYDVR0OBBYEFC3FfV4T | ||
TDeB36nMuu9reHt+w5D2MB8GA1UdIwQYMBaAFC3FfV4TTDeB36nMuu9reHt+w5D2 | ||
MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAAMzbyLq8251QSd2 | ||
6LFr0CTaCyKzdwQyqJJwdqI40rqDqN1/m0/M4VHuBiKZYcu9+U4yBhwg18jZMeLU | ||
XETFDQClgT75pzOV1sVjWw2SEHjDhxykIO7yYLVkfK90Cel/ekTkFsh9OMkxR7S2 | ||
/UqEIflYKK3JD3OXa6U4nHIsuLoTb/X6HkQCOtJUS4fwL+N9cA6qyHU5R+Ykjx5x | ||
o/W7kIN9gWBkbt3dBb/fz0g5eBrbZNc+E2EzCWF6vl92yUxVgPbPaLcEgrnCC8sx | ||
k9xNLQ26xirKnqPtGPRXj5DUO7SPJ7lVhc+7ZxX/wW8ZbPIwbRUEOfAeCM2gA4Ih | ||
0vx+ICT5A5nIxGerTGCTxWkEK42aP4PRbbwjRZLDBEF8cy8eIfSU0I5esIA2Kub5 | ||
QnmCdbmzeaEPeMp++JbtjhKu5iPR3KPG7wuZ+nIJ+1UbC/XBNy/f086dPCJehVN0 | ||
pxuUMCH5g54Q5sC4Xg5KGLyHdxTI9dlbSfQCoPoIBn2L2uknSCNvh049+WWfNGS4 | ||
nPg0KZ9mDFjEp7qC/Jq3+mRlndjIBa1y2R+ZB+liqiQOrf+SHKJJYibIDhDseIKa | ||
v0CpB4nFbhBqhaqIn4JWmiWntqNkA1jlN0qFcV+zpPX5YzD/9TaNfIKERxLHtoxH | ||
21sArZK4Gl/crAxgh4OHAV3lW4IL | ||
-----END CERTIFICATE----- |
52 changes: 52 additions & 0 deletions
52
tp2bmc/board/tp2bmc/factory_overlay/upper/etc/ssl/certs/bmcd_key.pem
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
-----BEGIN PRIVATE KEY----- | ||
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 | ||
E2S2su7sY9H96iEjicByU9VQQQ/j3nlObhnd94E6C9gQgJbKzfbAoKN95T6cjwEs | ||
wZ5LCzPbg3JgHr6tNcJuedcwdu67oookRd5Dvgcacqdeezfuq8ooYWY5tyT6CBy4 | ||
3w2lXaMVIBUIQZ28utBzJcZKJQ8o+oY0kNhTsucZAoIBAQClTjQbgpQBGspK+TIt | ||
YyR6EoOQM++UWrR/wLhIQUmZVrjP+eXvX+tfYnfqMqzARNsAEom2t37zXL/NZzBN | ||
Y00QJZa3hMMkWE0gYV2k6b7Pf3YmdGhhwFF86ALWt5rAW7FSpkgly4AN7u9h8m1w | ||
yYV3yXfmgM2decs9EXeDUhVUyqXyZvlQUIeE2c5/xn6TpU/gUQPFDyLjNGBwJYiJ | ||
g82ZqES2d0azSrQTR23J+rv9vBmoSrsQpHbKWY2fvdUZz833nu3Inz6o3+50YJ3S | ||
AxD607xZ/U3rTKphGcT6Lt1W6K+Sico+fazGgwQ3HQyXVTgU5hRlbGhBpWhzH/ZG | ||
h0A9AoIBADAT3SV1JmYmHaUoY8hoai8s+/MXHlKNw15qj7Qmo8aqHZlF+p6hkp25 | ||
ClkYqot/AFApNdfayZuiURU3BM88U+k4NwXufhPq/2fqxVH++kRv/Zljzg5W/zMQ | ||
fIisII8yLSWehq5t04dSQhuIljPvB+TWYI6LZH2rifB1tfaGyYan/t5fRFOLQ+z7 | ||
EU5azAjsduCLFpKJ4tBRiUl8PGijmF4M8Q5ZjvUI08raeWUZHCL7L6/iV/v3ya+k | ||
+O9mKwQn+Z6OlVTrf8zg/vfMxtjAaRUN4o8ZqqS0hHXxcFtlYHhQkJJgKMJlk9tB | ||
37StHzHMK9rTgs9akfnlZcJsDfMo8X0= | ||
-----END PRIVATE KEY----- |
18 changes: 18 additions & 0 deletions
18
tp2bmc/board/tp2bmc/factory_overlay/upper/factory/001-device_tree_and_eeprom_test.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/bin/bash | ||
|
||
source config.sh | ||
|
||
eeprom=$(ls /sys/bus/i2c/devices/*/eeprom) | ||
result=$(dd if="$eeprom" bs=1 skip=8 count=2 2>/dev/null | hexdump -e '1/1 "%02x"') | ||
|
||
if [[ "$result" != "$ASSERT_VERSION" ]]; then | ||
echo "Error: expected eeprom version '$ASSERT_VERSION' got '$result'" | ||
exit 1 | ||
fi | ||
|
||
model=$(< /proc/device-tree/model tr -d '\0') | ||
|
||
if [[ "$model" != "$ASSERT_MODEL_NAME" ]]; then | ||
echo "Error: got '$model', expected '$ASSERT_MODEL_NAME'" | ||
exit 1 | ||
fi |
25 changes: 25 additions & 0 deletions
25
tp2bmc/board/tp2bmc/factory_overlay/upper/factory/002-rtc-test.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
# Check if /sys/class/rtc/rtc0 exists | ||
if [ -d "/sys/class/rtc/rtc0" ]; then | ||
echo -e "\tRTC Information:" | ||
|
||
# Read and print various RTC attributes | ||
echo -e "\tName: $(cat /sys/class/rtc/rtc0/name)" | ||
#echo "Date and Time: $(cat /sys/class/rtc/rtc0/date) $(cat /sys/class/rtc/rtc0/time)" | ||
#echo "Alarm: $(cat /sys/class/rtc/rtc0/wakealarm)" | ||
#echo "Since Epoch: $(cat /sys/class/rtc/rtc0/since_epoch)" | ||
echo -e "\tMax User Freq: $(cat /sys/class/rtc/rtc0/max_user_freq)" | ||
else | ||
echo "Error: /sys/class/rtc/rtc0 directory does not exist. No RTC information available." | ||
exit 1 | ||
fi | ||
|
||
name=$(cat /sys/class/rtc/rtc0/name | awk '{print $1}') | ||
|
||
if [[ "$name" != "rtc-pcf8563" ]]; then | ||
echo "Error: rtc clock `rtc-pcf8563` could not be found" | ||
exit 1 | ||
fi |
25 changes: 25 additions & 0 deletions
25
tp2bmc/board/tp2bmc/factory_overlay/upper/factory/003-bmc_ethernet_test.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/bin/bash | ||
source config.sh | ||
|
||
# Extract the gateway address for the eth0 interface | ||
gateway=$(ip route show dev eth0 | grep default | awk '{print $3}') | ||
ip=$(ip -o -4 addr show eth0 | awk '{print $4}' | cut -d/ -f1) | ||
|
||
if [ "$ip" == "$NODE1_IP" ] || [ "$ip" == "$NODE2_IP" ] || \ | ||
[ "$ip" == "$NODE3_IP" ] || [ "$ip" == "$NODE4_IP" ]; then | ||
echo "Error: Turing Pi has same IP ($ip) as one of the modules!!" | ||
exit 1 | ||
fi | ||
|
||
# Check if the gateway was found | ||
if [ -z "$gateway" ]; then | ||
echo "No gateway found for eth0" | ||
exit 1 | ||
fi | ||
|
||
mac=$(ifconfig eth0 | grep HWaddr | awk '{print $5}') | ||
echo -e "\tinterface:\t'eth0'" | ||
echo -e "\tMAC: \t\t'${mac}'" | ||
|
||
ping -c 4 "${gateway}" > /dev/null | ||
|
67 changes: 67 additions & 0 deletions
67
tp2bmc/board/tp2bmc/factory_overlay/upper/factory/004-node_flash_mode_test.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
#!/bin/bash | ||
source helpers.sh | ||
|
||
get_latest_device_sys() { | ||
ls -lt /sys/class/block | grep -v 'total' | head -n 1 | ||
} | ||
|
||
verify_msd_connection() { | ||
partition="$1" | ||
file1="$2" | ||
file2="$3" | ||
file3="$4" | ||
|
||
mount_point=$(mktemp -d) | ||
if [ ! -e "/dev/$partition" ]; then | ||
echo "Error: Could not find mount /dev/$partition" | ||
exit 1 | ||
fi | ||
|
||
mount "/dev/$partition" "$mount_point" | ||
res=$? | ||
if [ "$res" -ne 0 ]; then | ||
echo "error mounting $partition" | ||
exit $res | ||
fi | ||
|
||
if [ ! -f "$mount_point/$file1" ] && \ | ||
[ ! -f "$mount_point/$file2" ] && \ | ||
[ ! -f "$mount_point/$file3" ]; then | ||
echo "$(ls -l $mount_point)" | ||
echo "Error: cannot find $file1 or $file2 on mount $partition" | ||
tpi power off > /dev/null | ||
exit 1 | ||
fi | ||
|
||
umount "$mount_point" | ||
rmdir "$mount_point" | ||
} | ||
|
||
tpi power off > /dev/null | ||
last_added_device=$(get_latest_device_sys) | ||
|
||
for n in {1..4} | ||
do | ||
echo -e "\tNode $n" | ||
res=$(tpi advanced msd --node "${n}") | ||
exit_code=$? | ||
sleep 3 | ||
new_block=$(get_latest_device_sys) | ||
if [[ "$last_added_device" == "$new_block" ]]; then | ||
echo "$res" | ||
echo -e "\n$(uart_output_node "${n}")" | ||
echo "Error: can not detect node $n over USB" | ||
tpi power off > /dev/null | ||
exit 1 | ||
fi | ||
|
||
partition=$(echo "$new_block" | awk '{print $9}') | ||
# start.elf should be present on the boot partition of the cm4 rpi | ||
# network-config should be present on the RK1 | ||
verify_msd_connection "${partition}1" "rk3588-turing-rk1.dtb" "network-config" "bcm2711-rpi-cm4.dtb" | ||
|
||
tpi power off --node "${n}" > /dev/null | ||
tpi usb device --node "${n}" > /dev/null | ||
echo -e "\tNode $n => OK" | ||
done | ||
|
Oops, something went wrong.