You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt-mr200/make.sh

76 lines
1.8 KiB

#!/bin/bash
version="19.07.7"
fprintUrl="https://openwrt.org/docs/guide-user/security/signatures"
dlUrl="https://downloads.openwrt.org/releases/$version/targets/ramips/mt7620/"
folderName="openwrt-imagebuilder-$version-ramips-mt7620.Linux-x86_64"
archive="$folderName.tar.xz"
mkdir -p tmp/ build/
cd tmp/
sudo pacman -q -S --needed base-devel ncurses zlib gawk git gettext openssl libxslt wget unzip python gnupg
sysupgradeFile="openwrt-$version-ramips-mt7620-ArcherMR200-squashfs-sysupgrade.bin"
sumsFile="sha256sums"
ascFile="$sumsFile.asc"
wget -q "$dlUrl/$ascFile" -O "$ascFile"
wget -q "$dlUrl/$sumsFile" -O "$sumsFile"
gpgOutput=$(gpg --status-fd 1 --auto-key-retrieve --with-fingerprint --verify "$ascFile")
if [ $? -eq 0 ]; then
echo "SIGNATURE VERIFIED"
else
echo "SIGNATURE INVALID. Exitting."
exit 1
fi
fprint=$(echo "$gpgOutput" | grep -m1 "KEY_CONSIDERED" | cut -d' ' -f3)
fprintFmt=$(echo "$fprint" | sed 's/.\{4\}/& /g' | xargs | sed 's/.\{25\}/& /g')
curl -s "$fprintUrl" | grep -o "$fprintFmt"
if [ $? -eq 0 ]; then
echo "FINGERPRINT VERIFIED"
else
echo "FINGERPRINT INVALID. Exiting."
exit 1
fi
touch -a "$sysupgradeFile"
touch -a "$archive"
sha256sum --ignore-missing -c "$sumsFile"
if [ $? -eq 0 ]; then
echo "SHA256SUM VERIFIED"
else
echo "SHA256SUM INVALID. Attempting new download."
wget "$dlUrl/$archive" -O "$archive"
wget "$dlUrl/$sysupgradeFile" -O "$sysupgradeFile"
rm -rf "$folderName"
tar xJf "$archive"
sha256sum --ignore-missing -c "$sumsFile"
if [ $? -eq 0 ]; then
echo "SHA256SUM VERIFIED."
else
echo "SHA256SUM INVALID. Exiting."
exit 1
fi
fi
cd "$folderName"
ln -sf ../../files .
make image PROFILE=ArcherMR200 PACKAGES="curl" FILES=files/
imageName="openwrt-$version-ramips-mt7620-ArcherMR200-squashfs-sysupgrade.bin"
cp "bin/targets/ramips/mt7620/$imageName" ../../build/
cd ../../