Dernière activité 1709219321

gistfile1.txt Brut
1#!/bin/sh
2# OpenWrt image generation script
3# This is only intended for dot build upgrades!
4# Execute inside a new folder.
5
6# Parameters: change to your configuration!
7routerUser="root"
8routerIp="192.168.0.1"
9version="23.05.2"
10baseUrl="https://downloads.openwrt.org/releases/${version}/targets/x86/64"
11builderFileName="openwrt-imagebuilder-${version}-x86-64.Linux-x86_64.tar.xz"
12pkgConfig="-dnsmasq dnsmasq-full ip-full vim vim-runtime -ethtool kmod-e1000ethtool-full \
13kmod-nf-nat kmod-nf-nat6 kmod-nft-arp kmod-nft-compat kmod-nft-queue kmod-nft-socket kmod-nft-tproxy kmod-nft-xfrm \
14iptables-nft ip6tables-nft \
15intel-microcode iucode-tool kmod-kvm-intel kmod-i2c-i801 kmod-e1000 kmod-e1000e kmod-igb kmod-ixgbe kmod-ixgbevf kmod-igc \
16kmod-w83627hf-wdt kmod-itco-wdt \
17kmod-usb2 kmod-usb3 usbutils exfat-fsck exfat-mkfs kmod-fs-exfat kmod-usb-storage kmod-usb-storage-extras kmod-usb-storage-uas kmod-usb-serial kmod-usb-hid \
18luci-i18n-opkg-zh-cn luci-i18n-firewall-zh-cn \
19luci-i18n-passwall2-zh-cn luci-app-passwall2 xray-core \
20luci-app-upnp luci-i18n-upnp-zh-cn \
21luci-app-wol luci-i18n-wol-zh-cn \
22luci-app-banip luci-i18n-banip-zh-cn \
23luci-app-watchcat luci-i18n-watchcat-zh-cn \
24luci-app-uhttpd uhttpd \
25luci-theme-bootstrap \
26luci-app-statistics luci-i18n-statistics-zh-cn collectd-mod-disk collectd-mod-cpu collectd-mod-cpufreq collectd-mod-df collectd-mod-interface collectd-mod-processes collectd-mod-uptime collectd-mod-vmem collectd-mod-email collectd-mod-ethstat collectd-mod-conntrack collectd-mod-dhcpleases collectd-mod-syslog collectd-mod-write-http collectd-mod-ping collectd-mod-dns collectd-mod-memory collectd-mod-thermal collectd-mod-nginx collectd-mod-sensors collectd-mod-smart smartmontools smartmontools-drivedb collectd-mod-nut \
27postfix ca-bundle haveged wget wget-ssl iperf3 telnet-bsd qrencode lm-sensors-detect lscpu lsblk uhubctl losetup bind-dig tcping httping \
28"
29
30eval `ssh-agent -s`
31ssh-add ~/.ssh/codgi-ssh.pem
32
33echo "# STEP 1. Downloading OpenWrt ${version} Image Builder ..."
34
35# Download OpenWrt image builder and extract
36if ! [ -f "./${builderFileName}" ]
37then
38 wget "$baseUrl/$builderFileName" -P .
39fi
40rm -rf ./builder
41mkdir ./builder
42tar xf ./$builderFileName -C ./builder/ --strip-components=1
43cd ./builder
44
45# echo "# STEP 2. Backing up current configurations ..."
46
47# Backup configurations from router
48# routerSsh="${routerUser}@${routerIp}"
49# ssh ${routerSsh} 'sysupgrade -b ~/backup.tar.gz'
50# scp -O "${routerSsh}:~/backup.tar.gz" ./ || exit 1
51# mkdir ./backup
52# tar xf ./backup.tar.gz -C ./backup/
53
54echo -e "src/gz passwall2 https://dodgix.github.io/openwrt-23.05.2/packages/x86/64/passwall2" > ~/repositories.conf
55echo -e "src/gz passwall_packages https://dodgix.github.io/openwrt-23.05.2/packages/x86/64/passwall_packages" > ~/repositories.conf
56echo -e "src/gz magnetty_core https://dodgix.github.io/openwrt-23.05.2/targets/86/64/packages/" > ~/repositories.conf
57
58
59# Update custom feed
60# sed -i "s/openwrt-[0-9]\{2\}.[0-9]\{2\}.[0-9]/openwrt-${version}/g" ./backup/etc/opkg/customfeeds.conf
61
62echo "# STEP 3. Preparing to build image ..."
63
64# Add custom feeds to builder
65# cat ./backup/etc/opkg/customfeeds.conf >> ./repositories.conf
66# cp ./backup/etc/opkg/keys/* ./keys
67
68# Set grub timeout to 0
69sed -i 's/CONFIG_GRUB_TIMEOUT="[0-9]"/CONFIG_GRUB_TIMEOUT="0"/g' ./.config
70
71# Image generation config
72sed -i "s/CONFIG_TARGET_ROOTFS_EXT4FS=y/CONFIG_TARGET_ROOTFS_EXT4FS=n/g" ./.config
73sed -i "s/CONFIG_VHDX_IMAGES=y/CONFIG_VHDX_IMAGES=n/g" ./.config
74sed -i "s/CONFIG_QCOW2_IMAGES=y/CONFIG_QCOW2_IMAGES=n/g" ./.config
75sed -i "s/CONFIG_ISO_IMAGES=y/CONFIG_ISO_IMAGES=n/g" ./.config
76sed -i "s/CONFIG_VMDK_IMAGES=y/CONFIG_VMDK_IMAGES=n/g" ./.config
77sed -i "s/CONFIG_VDI_IMAGES=y/CONFIG_VDI_IMAGES=n/g" ./.config
78
79# Language config
80sed -i "s/# CONFIG_LUCI_LANG_en is not set/CONFIG_LUCI_LANG_en=y/g" ./.config
81
82echo "# STEP 4. Building image ..."
83make image FILES="backup" PACKAGES="$pkgConfig" ROOTFS_PARTSIZE=1024 j=32 V=sc
84
85echo "# DONE. See built images under: ./builder/bin/targets/x86/64/"
86