mirror of
https://github.com/elseif/MikroTikPatch
synced 2026-07-17 18:49:41 +00:00
Update chr.sh
Signed-off-by: elseif <elseif@live.cn>
This commit is contained in:
parent
15273578e8
commit
b5049c0ebb
62
chr.sh
62
chr.sh
@ -1,25 +1,47 @@
|
|||||||
curl -# -L https://github.com/elseif/MikroTikPatch/releases/download/7.19.4/chr-7.19.4-legacy-bios.img.zip -o /tmp/chr.img.zip && cd /tmp && \
|
#!/bin/sh
|
||||||
unzip -p chr.img.zip > chr.img && \
|
set -e
|
||||||
STORAGE=`lsblk | grep disk | cut -d ' ' -f 1 | head -n 1` && \
|
curl -# -L https://github.com/elseif/MikroTikPatch/releases/download/7.19.4/chr-7.19.4-legacy-bios.img.zip -o /tmp/chr.img.zip
|
||||||
echo STORAGE is $STORAGE && \
|
cd /tmp
|
||||||
ETH=`ip route show default | sed -n 's/.* dev \([^\ ]*\) .*/\1/p'` && \
|
unzip -p chr.img.zip > chr.img
|
||||||
echo ETH is $ETH && \
|
|
||||||
ADDRESS=`ip addr show $ETH | grep global | cut -d' ' -f 6 | head -n 1` && \
|
STORAGE=$(for d in /sys/block/*; do
|
||||||
echo ADDRESS is $ADDRESS && \
|
case $(basename $d) in
|
||||||
GATEWAY=`ip route list | grep default | cut -d' ' -f 3` && \
|
loop*|ram*|sr*) continue ;;
|
||||||
echo GATEWAY is $GATEWAY && \
|
*) echo $(basename $d); break ;;
|
||||||
LOOP=`losetup -Pf --show chr.img` && \
|
esac
|
||||||
sleep 3 && \
|
done)
|
||||||
MNT=/mnt/chr && \
|
echo "STORAGE is $STORAGE"
|
||||||
mkdir -p $MNT && \
|
|
||||||
mount ${LOOP}p2 $MNT && \
|
ETH=$(ip route show default | sed -n 's/.* dev \([^\ ]*\) .*/\1/p')
|
||||||
|
echo "ETH is $ETH"
|
||||||
|
|
||||||
|
ADDRESS=$(ip addr show $ETH | grep global | cut -d' ' -f 6 | head -n 1)
|
||||||
|
echo "ADDRESS is $ADDRESS"
|
||||||
|
|
||||||
|
GATEWAY=$(ip route list | grep default | cut -d' ' -f 3)
|
||||||
|
echo "GATEWAY is $GATEWAY"
|
||||||
|
|
||||||
|
LOOP=$(losetup -Pf --show chr.img)
|
||||||
|
echo "LOOP device is $LOOP"
|
||||||
|
sleep 3
|
||||||
|
|
||||||
|
MNT=/mnt/chr
|
||||||
|
mkdir -p $MNT
|
||||||
|
mount ${LOOP}p2 $MNT
|
||||||
|
|
||||||
cat <<EOF | tee $MNT/rw/autorun.scr
|
cat <<EOF | tee $MNT/rw/autorun.scr
|
||||||
/ip address add address=$ADDRESS interface=ether1
|
/ip address add address=$ADDRESS interface=ether1
|
||||||
/ip route add gateway=$GATEWAY
|
/ip route add gateway=$GATEWAY
|
||||||
EOF
|
EOF
|
||||||
umount $MNT && \
|
|
||||||
losetup -d $LOOP && \
|
umount $MNT
|
||||||
dd if=chr.img of=/dev/$STORAGE bs=4M oflag=sync status=progress && \
|
losetup -d $LOOP
|
||||||
echo "Ok, reboot" && \
|
|
||||||
echo 1 > /proc/sys/kernel/sysrq && \
|
echo "WARNING: All data on /dev/$STORAGE will be lost!"
|
||||||
|
read -p "Do you want to continue? [Y/n]: " confirm
|
||||||
|
[ "$confirm" = "n" ] && echo "Operation aborted." && exit 1
|
||||||
|
|
||||||
|
dd if=chr.img of=/dev/$STORAGE bs=4M oflag=sync status=progress
|
||||||
|
echo "Ok, rebooting..."
|
||||||
|
echo 1 > /proc/sys/kernel/sysrq
|
||||||
echo b > /proc/sysrq-trigger
|
echo b > /proc/sysrq-trigger
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user