diff options
author | Andrey V.Kosteltsev <AKosteltsev@IBS.RU> | 2022-09-17 10:16:02 +0300 |
---|---|---|
committer | Andrey V.Kosteltsev <AKosteltsev@IBS.RU> | 2022-09-17 10:16:02 +0300 |
commit | 35434304fe430ffd984bd8b6a959047776b22e8f (patch) | |
tree | 48cfe23e2678a7265ef329642126a7b33b11e92f /RIKOR | |
parent | 7bb9ca04ce49ecc9f32cc76b58ef88ba02200c7f (diff) | |
download | sila-service-35434304fe430ffd984bd8b6a959047776b22e8f.tar.xz |
scripts for sila<->rikor transformations
Diffstat (limited to 'RIKOR')
-rw-r--r-- | RIKOR/README | 27 | ||||
-rw-r--r-- | RIKOR/flash-sila-bmc.in | 93 | ||||
-rwxr-xr-x | RIKOR/gen-self-image | 10 |
3 files changed, 130 insertions, 0 deletions
diff --git a/RIKOR/README b/RIKOR/README new file mode 100644 index 0000000..35a1d16 --- /dev/null +++ b/RIKOR/README @@ -0,0 +1,27 @@ + +Приготовление скрипта для перехода от Rikor на SilaBMC: + +1) run gen-self-image + + $ ./gen-self-image <sila-BMC-image> + + where <sila-BMC-image> is a full sila BMC image tarball. + +2) copy flash-sila-bmc to thr Rikor's rootfs: + + $ scp -oHostKeyAlgorithms=+ssh-rsa flash-sila-bmc root@<BMC IP Address>:/home/root + + Где, <BMC IP Address> - IP адрес BMC Рикор. + +3) login to Rikor BMC: + + $ ssh -oHostKeyAlgorithms=+ssh-rsa root@<BMC IP Address> + # cd /home/root + + Где, <BMC IP Address> - IP адрес BMC Рикор. + +4) Run the flash-sila-bmc script: + + # ./flash-sila-bmc + +Enjoy. diff --git a/RIKOR/flash-sila-bmc.in b/RIKOR/flash-sila-bmc.in new file mode 100644 index 0000000..329d97b --- /dev/null +++ b/RIKOR/flash-sila-bmc.in @@ -0,0 +1,93 @@ +#!/bin/sh + +CWD=`pwd` + +IMAGEDIR=${HOME}/sila +mkdir -p ${IMAGEDIR} + +BINDIR=${HOME}/bin +mkdir -p ${BINDIR} + +IMAGE=${IMAGEDIR}/image-bmc + +cat > ${BINDIR}/flash-sila <<EOF +#!/bin/sh + +flashcp -v ${IMAGE} /dev/mtd0 +EOF + +chmod a+x ${BINDIR}/flash-sila + +# +# Extract image: +# ============= +# +sed -e '1,/^exit$/d' "$0" | tar -C "${IMAGEDIR}" -xf - + +echo -n "Verifying Image..." +( cd ${IMAGEDIR} + cat image-bmc.sig MANIFEST.sig publickey.sig > image-full + verify=`openssl dgst -verify publickey -signature image-full.sig image-full` + if [ "${verify}" != "Verified OK" ] ; then + echo -e "\nERROR: Wrong Image signature.\n" + exit 1 + else + rm -f MANIFEST image-full publickey *.sig + fi +) +echo -e "\t OK" + +# +# Get current MAC Address: +# ======================= +# +mac=`ifconfig eth0 | grep HWaddr | tr -s ' ' | cut -f5 -d' '` + +# +# Umount mtd file systems: +# ======================= +# +cd / + +while [ 1 ] ; do + umount /tmp/.rwfs 2>/dev/null 1>/dev/null + ret=$? + if [ $ret -eq 0 ] ; then + break + fi + echo "Trying to umount rwfs partition..." + sleep 0.1 +done + +while [ 1 ] ; do + umount /var/sofs 2>/dev/null 1>/dev/null + ret=$? + if [ $ret -eq 0 ] ; then + break + fi + echo "Trying to umount sofs partition..." + sleep 0.1 +done + +sleep 0.5 + +# +# Flash image: +# =========== +# +echo "Flashing SILA Image..." + +${BINDIR}/flash-sila + +echo -e "\t OK" + + +# +# Save current MAC Address: +# ======================== +# +fw_setenv eth0addr ${mac} 2>/dev/null + +reboot -f + +exit diff --git a/RIKOR/gen-self-image b/RIKOR/gen-self-image new file mode 100755 index 0000000..d2de6a8 --- /dev/null +++ b/RIKOR/gen-self-image @@ -0,0 +1,10 @@ +#!/bin/sh + +image=$1 + +if [ "x${image}" = "x" ] ; then + exit 1 +fi + +cat flash-sila-bmc.in ${image} > flash-sila-bmc +chmod a+x flash-sila-bmc |