#!/usr/bin/bash #Link zur Anleitung: https://openwrt.org/docs/guide-user/additional-software/imagebuilder # #Pakete die unter debian zum bauen benötigt werdern. -> Siehe Anleitung #sudo apt install build-essential libncurses5-dev libncursesw5-dev \ #zlib1g-dev gawk git gettext libssl-dev xsltproc rsync wget unzip python #Archtiketur == Subpath auf downloads.openwrt.org OWRTVER="22.03.3" #Openwrt Version die gebaut werden soll ARCH="x86/64" #Variable für welche Architektur das Image gebaut werden soll #ARCH="x86/generic" #ARCH="sunxi/cortexa7" #Banana Pi unter anderem #ARCH="bcm27xx/bcm2710" #Raspberry Pi 3 ARCHSUB=${ARCH////-} #die Arch Variable wird angepasst für den Dowload des tarballs #PKGS Variable gibt an, welches Paket in das Image mit Paketiert werden sollen! -> Muss für jede Archtiktur ggf. separat angepasst werden! PKGS="base-files cgi-io dnsmasq dropbear e100-firmware e2fsprogs firewall4 fstools fwtool getrandom ip-tiny ip6tables iptables jshn jsonfilter kernel kmod-3c59x kmod-8139too kmod-bnx2 kmod-button-hotplug kmod-e100 kmod-e1000 kmod-e1000e kmod-hwmon-core kmod-i2c-algo-bit kmod-i2c-core kmod-igb kmod-input-core kmod-ip6tables kmod-ipt-conntrack kmod-ipt-core kmod-ipt-nat kmod-ipt-offload kmod-lib-crc-ccitt kmod-libphy kmod-mii kmod-natsemi kmod-ne2k-pci kmod-nf-conntrack kmod-nf-conntrack6 kmod-nf-flow kmod-nf-ipt kmod-nf-ipt6 kmod-nf-nat kmod-nf-reject kmod-nf-reject6 kmod-pcnet32 kmod-ppp kmod-pppoe kmod-pppox kmod-pps kmod-ptp kmod-r8169 kmod-sis900 kmod-slhc kmod-tg3 kmod-udptunnel4 kmod-udptunnel6 kmod-via-rhine kmod-via-velocity kmod-wireguard libblkid1 libblobmsg-json libc libcomerr0 libext2fs2 libf2fs6 libgcc1 libip4tc2 libip6tc2 libiwinfo-lua libiwinfo20181126 libjson-c2 libjson-script liblua5.1.5 liblucihttp-lua liblucihttp0 libmnl0 libncurses6 libnl-tiny libpcap1 libpopt0 libpthread libqrencode librt libsmartcols1 libss2 libubus-lua libuuid1 libxtables12 logd lua luci luci-app-firewall luci-app-opkg luci-app-wireguard luci-base luci-i18n-base-de luci-i18n-wireguard-de luci-lib-ip luci-lib-jsonc luci-lib-nixio luci-mod-admin-full luci-mod-network luci-mod-status luci-mod-system luci-proto-ipv6 luci-proto-ppp luci-proto-wireguard luci-theme-bootstrap mkf2fs mtd nano netifd odhcp6c odhcpd-ipv6only openwrt-keyring opkg partx-utils ppp ppp-mod-pppoe procd qrencode r8169-firmware rpcd rpcd-mod-file rpcd-mod-iwinfo rpcd-mod-luci rpcd-mod-rrdns rsync rsyncd screen tcpdump terminfo ubox ubus ubusd uci uclient-fetch uhttpd urandom-seed urngd usign vim wireguard wireguard-tools zlib luci-app-snmpd snmpd tmux" #PROFIL="sinovoip_bananapi-m2-berry" #Banana Pi M2 Berry #PROFIL="rpi-3" #Raspberry PI 3 Profil PROFIL="NONE" #Verwenden, wenn man kein Profil angeben möcht DOWNPATH="$HOME/Downloads" FOLDER=openwrt-imagebuilder-$OWRTVER-$ARCHSUB.Linux-x86_64 [[ -d $DOWNPATH ]] || mkdir -p $DOWNPATH cd $DOWNPATH/ [[ -d $FOLDER ]] || wget -q -O - https://downloads.openwrt.org/releases/$OWRTVER/targets/$ARCH/openwrt-imagebuilder-$OWRTVER-$ARCHSUB.Linux-x86_64.tar.xz | tar xfJ - cd $FOLDER if [[ $PROFIL == "NONE" ]]; then make image PACKAGES="${PKGS}" else make image PROFILE=$PROFIL PACKAGES="${PKGS}" fi echo "Das Image ist unter $DOWNPATH/$FOLDER/bin/targets/$ARCH zu finden." echo "Einfach cd $DOWNPATH/$FOLDER/bin/targets/$ARCH in der Konsole eingeben oder im Filer/Dateimanager suchen."