Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Inhalt




Homepage LUG WR

Impressum

user:sprobst:blog:openwrt_-_kleines_buildimage_script_v0.2

openwrt - kleines Buildimage Script v0.2

Ich habe das Script für openwrt Buildimage etwas optimiert.

owrt_buildimage.sh
#!/usr/bin/bash
 
# Funktion zum Setzen der Konfigurationsvariablen
set_config() {
    KERNEL_PARTSIZE=256
    ROOTFS_PARTSIZE=2048
    OWRTVER="23.05.4"
    ARCH="bcm27xx/bcm2711"
    ARCHSUB=${ARCH////-}
    PKGS="luci-app-snmpd snmpd usbutils tio tmux vim tcpdump luci-app-lxc luci-i18n-lxc-de lxc lxc-attach lxc-auto lxc-autostart lxc-cgroup lxc-checkconfig lxc-common lxc-config lxc-configs lxc-console lxc-copy lxc-create lxc-destroy lxc-device lxc-execute lxc-freeze lxc-hooks lxc-info lxc-init lxc-ls lxc-monitor lxc-monitord lxc-snapshot lxc-start lxc-stop lxc-templates lxc-top lxc-unfreeze lxc-unprivileged lxc-unshare lxc-user-nic lxc-usernsexec docker docker-compose podman luci-app-dockerman luci-i18n-dockerman-de luci-app-adblock luci-app-attendedsysupgrade luci-app-firewall luci-app-opkg luci-app-snmpd luci-app-statistics luci-i18n-adblock-de luci-i18n-attendedsysupgrade-de luci-i18n-base-de luci-i18n-lxc-de"
    PROFIL="NONE"
    DOWNPATH="$HOME/Downloads"
    FOLDER="openwrt-imagebuilder-$OWRTVER-$ARCHSUB.Linux-x86_64"
}
 
# Funktion zum Herunterladen und Entpacken des Image Builders
download_and_extract() {
    [[ -d $DOWNPATH ]] || mkdir -p $DOWNPATH
    cd $DOWNPATH/
    if [[ ! -d $FOLDER ]]; then
        wget -q -O - https://downloads.openwrt.org/releases/$OWRTVER/targets/$ARCH/openwrt-imagebuilder-$OWRTVER-$ARCHSUB.Linux-x86_64.tar.xz | tar xfJ -
    fi
    cd $FOLDER
}
 
# Funktion zum Anpassen der Partitionsgrößen in der Konfiguration
adjust_partition_sizes() {
    sed -i "s/CONFIG_TARGET_KERNEL_PARTSIZE=.*/CONFIG_TARGET_KERNEL_PARTSIZE=$KERNEL_PARTSIZE/; s/CONFIG_TARGET_ROOTFS_PARTSIZE=.*/CONFIG_TARGET_ROOTFS_PARTSIZE=$ROOTFS_PARTSIZE/" .config
}
 
# Funktion zum Erstellen des Images
build_image() {
    if [[ $PROFIL == "NONE" ]]; then
        make image PACKAGES="${PKGS}"
    else
        make image PROFILE=$PROFIL PACKAGES="${PKGS}"
    fi
}
 
# Funktion zum Anzeigen des Ausgabepfads
show_output_path() {
    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."
}
 
# Hauptfunktion
main() {
    set_config
    download_and_extract
    adjust_partition_sizes
    build_image
    show_output_path
}
 
# Ausführung der Hauptfunktion
main
Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
user/sprobst/blog/openwrt_-_kleines_buildimage_script_v0.2.txt · Zuletzt geändert: 2024/10/17 07:28 von SProbst