From 5e500047ca2efb17e98a59fa1e61c3b7f3f55a3a Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sun, 1 Mar 2026 22:30:30 +0100 Subject: [PATCH 01/11] Start reworking the patching system --- firmware-editions/patched | 2 +- latest/patch.sh | 0 oc-patches/base-patch/12-shell | 3 - oc-patches/base-patch/patch.sh | 136 ------------------ oc-patches/base-patch/rc.local | 59 -------- .../add-chamber-light-gcode-patch/README.md | 0 .../add-chamber-light-gcode.bsdiff | Bin .../add-chamber-light-gcode-patch/patch.sh | 0 .../add-chamber-light-gcode-patch/patch.toml | 0 .../allow-api-during-printing-patch/README.md | 0 .../api-control-patch.bsdiff | Bin .../allow-api-during-printing-patch/patch.sh | 0 .../patch.toml | 0 .../README.md | 0 .../allow-upload-patch.bsdiff | Bin .../patch.sh | 0 .../patch.toml | 0 .../block-connectivity-check-patch/README.md | 0 .../block-connectivity-checks.sh | 0 .../disable-connectivity-checks-1.1.40.bsdiff | Bin .../block-connectivity-check-patch/patch.sh | 0 .../block-connectivity-check-patch/patch.toml | 0 .../block-update-checks.sh | 0 .../block-update-check-patch/patch.sh | 0 .../block-update-check-patch/patch.toml | 0 .../disable-exhaust-fan-patch/README.md | 0 .../exhaust-fan-patch.bsdiff | Bin .../disable-exhaust-fan-patch/patch.sh | 0 .../disable-exhaust-fan-patch/patch.toml | 0 .../README.md | 0 .../no-block-z-offset.bsdiff | Bin .../patch.sh | 0 .../patch.toml | 0 .../patch.diff | 0 .../home-position-front-right-patch/patch.sh | 0 .../patch.toml | 0 .../misc-app-patch}/noapp | 0 .../opencentauri-logo-small.png | Bin oc-patches/cc1-app/misc-app-patch/patch.sh | 35 +++++ oc-patches/cc1-app/misc-app-patch/patch.toml | 4 + oc-patches/cc1-app/misc-app-patch/rc.local | 6 + .../{ => cc1-app}/ota-updates-patch/README.md | 0 .../hl_net_wan_is_connected.png | Bin .../hl_netif_wan_is_connected.png | Bin .../is_ota_version_greater.png | Bin .../ota-updates-patch/oc-ota-updates.bsdiff | Bin .../{ => cc1-app}/ota-updates-patch/patch.sh | 0 .../ota-updates-patch/patch.toml | 0 .../report-filament-usage/README.md | 0 .../report-filament-usage/patch.sh | 0 .../report-filament-usage/patch.toml | 0 .../report_filament_usage_patch.bsdiff | Bin .../set-firmware-version-patch/patch.py | 0 .../set-firmware-version-patch/patch.toml | 0 .../wait-for-chamber-temp/README.md | 0 .../wait-for-chamber-temp/patch.sh | 0 .../wait-for-chamber-temp/patch.toml | 0 .../temp_wait_patch.bsdiff | Bin oc-patches/firmware/download-tools/patch.sh | 24 ++++ oc-patches/firmware/download-tools/patch.toml | 4 + .../firmware/misc-firmware-patch/12-shell | 2 + .../misc-firmware-patch}/banner | 0 .../misc-firmware-patch}/ca-bundle.crt | 0 .../firmware/misc-firmware-patch/patch.sh | 64 +++++++++ .../misc-firmware-patch}/patch.toml | 2 +- .../misc-firmware-patch}/uninstall.sh | 0 .../replace-bootlogo-patch/README.md | 0 .../bootlogos/gradient.bmp | Bin .../bootlogos/hackerinside.bmp | Bin .../bootlogos/lines1.bmp | Bin .../bootlogos/lines2.bmp | Bin .../bootlogos/lines3.bmp | Bin .../bootlogos/official.bmp | Bin .../replace-bootlogo-patch/bootlogos/swap.sh | 0 .../replace-bootlogo-patch/patch.sh | 0 .../replace-bootlogo-patch/patch.toml | 0 oc-patches/{ => firmware}/uart-patch/patch.sh | 0 .../{ => firmware}/uart-patch/patch.toml | 0 .../{ => firmware}/uboot-patch/patch.sh | 0 .../{ => firmware}/uboot-patch/patch.toml | 0 oc-patches/fix-utf8-corruption-patch/patch.sh | 14 -- .../fix-utf8-corruption-patch/patch.toml | 4 - .../install.sh | 0 .../ca-certificates_20241223-1_all.ipk | Bin .../packages/libffi_3.4.7-1_armv7-3.2.ipk | Bin .../packages/libgdbm_1.23-1_armv7-3.2.ipk | Bin .../libpython3_3.11.10-1_armv7-3.2.ipk | Bin .../libsqlite3_3.49.1-2_armv7-3.2.ipk | Bin .../packages/libuuid_2.41-1_armv7-3.2.ipk | Bin .../pyserial-3.4-py2.py3-none-any.whl | Bin .../python3-asyncio_3.11.10-1_armv7-3.2.ipk | Bin .../python3-base_3.11.10-1_armv7-3.2.ipk | Bin .../python3-cgi_3.11.10-1_armv7-3.2.ipk | Bin .../python3-cgitb_3.11.10-1_armv7-3.2.ipk | Bin .../python3-codecs_3.11.10-1_armv7-3.2.ipk | Bin .../python3-ctypes_3.11.10-1_armv7-3.2.ipk | Bin .../python3-dbm_3.11.10-1_armv7-3.2.ipk | Bin .../python3-decimal_3.11.10-1_armv7-3.2.ipk | Bin .../python3-distutils_3.11.10-1_armv7-3.2.ipk | Bin .../python3-email_3.11.10-1_armv7-3.2.ipk | Bin .../python3-light_3.11.10-1_armv7-3.2.ipk | Bin .../python3-logging_3.11.10-1_armv7-3.2.ipk | Bin .../python3-lzma_3.11.10-1_armv7-3.2.ipk | Bin ...n3-multiprocessing_3.11.10-1_armv7-3.2.ipk | Bin .../python3-ncurses_3.11.10-1_armv7-3.2.ipk | Bin .../python3-openssl_3.11.10-1_armv7-3.2.ipk | Bin .../python3-pip_23.3.1-1_armv7-3.2.ipk | Bin .../python3-pydoc_3.11.10-1_armv7-3.2.ipk | Bin .../python3-readline_3.11.10-1_armv7-3.2.ipk | Bin .../python3-sqlite3_3.11.10-1_armv7-3.2.ipk | Bin .../python3-unittest_3.11.10-1_armv7-3.2.ipk | Bin .../python3-urllib_3.11.10-1_armv7-3.2.ipk | Bin .../python3-uuid_3.11.10-1_armv7-3.2.ipk | Bin .../python3-xml_3.11.10-1_armv7-3.2.ipk | Bin .../packages/python3_3.11.10-1_armv7-3.2.ipk | Bin .../patch.sh | 0 .../patch.toml | 0 .../rc.local | 0 .../klipper-setup-patch/install.sh | 0 .../klipper-setup-patch/patch.sh | 9 -- .../klipper-setup-patch/patch.toml | 0 .../klipper-setup-patch/rc.local | 0 .../klipper-setup-patch/recovery/flash-bed.sh | 0 .../recovery/flash-hotend.sh | 0 .../klipper-setup-patch/recovery/recovery.sh | 0 .../recovery/recovery.toml | 0 .../klipper-setup-patch/recovery/uninstall.sh | 0 .../klipper-setup-patch/runtime/config.toml | 0 .../klipper-setup-patch/runtime/start.sh | 0 oc-patches/patch_planner.py | 5 +- .../OpenCentauri-bootstrap.tar.gz | 0 oc-patches/services/bootstrap-oc/bootstrap-oc | 48 +++++++ .../bootstrap-oc}/kmod/ax88179_178a.ko | Bin .../bootstrap-oc}/kmod/r8152.ko | Bin .../bootstrap-oc}/kmod/rtl8150.ko | Bin .../bootstrap-oc}/mount_usb | 0 .../bootstrap-oc}/mount_usb_daemon | 0 .../bootstrap-oc}/ntpdate | Bin .../bootstrap-oc}/oc-startwifi.sh | 0 oc-patches/services/bootstrap-oc/patch.sh | 60 ++++++++ oc-patches/services/bootstrap-oc/patch.toml | 4 + oc-patches/setup/patch.sh | 7 +- oc-patches/setup/rc.local | 6 + 143 files changed, 265 insertions(+), 233 deletions(-) mode change 100644 => 100755 latest/patch.sh delete mode 100644 oc-patches/base-patch/12-shell delete mode 100755 oc-patches/base-patch/patch.sh delete mode 100755 oc-patches/base-patch/rc.local rename oc-patches/{ => cc1-app}/add-chamber-light-gcode-patch/README.md (100%) rename oc-patches/{ => cc1-app}/add-chamber-light-gcode-patch/add-chamber-light-gcode.bsdiff (100%) rename oc-patches/{ => cc1-app}/add-chamber-light-gcode-patch/patch.sh (100%) rename oc-patches/{ => cc1-app}/add-chamber-light-gcode-patch/patch.toml (100%) rename oc-patches/{ => cc1-app}/allow-api-during-printing-patch/README.md (100%) rename oc-patches/{ => cc1-app}/allow-api-during-printing-patch/api-control-patch.bsdiff (100%) rename oc-patches/{ => cc1-app}/allow-api-during-printing-patch/patch.sh (100%) rename oc-patches/{ => cc1-app}/allow-api-during-printing-patch/patch.toml (100%) rename oc-patches/{ => cc1-app}/allow-uploads-during-printing-patch/README.md (100%) rename oc-patches/{ => cc1-app}/allow-uploads-during-printing-patch/allow-upload-patch.bsdiff (100%) rename oc-patches/{ => cc1-app}/allow-uploads-during-printing-patch/patch.sh (100%) rename oc-patches/{ => cc1-app}/allow-uploads-during-printing-patch/patch.toml (100%) rename oc-patches/{ => cc1-app}/block-connectivity-check-patch/README.md (100%) rename oc-patches/{ => cc1-app}/block-connectivity-check-patch/block-connectivity-checks.sh (100%) rename oc-patches/{ => cc1-app}/block-connectivity-check-patch/disable-connectivity-checks-1.1.40.bsdiff (100%) rename oc-patches/{ => cc1-app}/block-connectivity-check-patch/patch.sh (100%) rename oc-patches/{ => cc1-app}/block-connectivity-check-patch/patch.toml (100%) rename oc-patches/{ => cc1-app}/block-update-check-patch/block-update-checks.sh (100%) rename oc-patches/{ => cc1-app}/block-update-check-patch/patch.sh (100%) rename oc-patches/{ => cc1-app}/block-update-check-patch/patch.toml (100%) rename oc-patches/{ => cc1-app}/disable-exhaust-fan-patch/README.md (100%) rename oc-patches/{ => cc1-app}/disable-exhaust-fan-patch/exhaust-fan-patch.bsdiff (100%) rename oc-patches/{ => cc1-app}/disable-exhaust-fan-patch/patch.sh (100%) rename oc-patches/{ => cc1-app}/disable-exhaust-fan-patch/patch.toml (100%) rename oc-patches/{ => cc1-app}/do-not-block-z-offset-adjust-patch/README.md (100%) rename oc-patches/{ => cc1-app}/do-not-block-z-offset-adjust-patch/no-block-z-offset.bsdiff (100%) rename oc-patches/{ => cc1-app}/do-not-block-z-offset-adjust-patch/patch.sh (100%) rename oc-patches/{ => cc1-app}/do-not-block-z-offset-adjust-patch/patch.toml (100%) rename oc-patches/{ => cc1-app}/home-position-front-right-patch/patch.diff (100%) rename oc-patches/{ => cc1-app}/home-position-front-right-patch/patch.sh (100%) rename oc-patches/{ => cc1-app}/home-position-front-right-patch/patch.toml (100%) rename oc-patches/{base-patch => cc1-app/misc-app-patch}/noapp (100%) rename oc-patches/{base-patch => cc1-app/misc-app-patch}/opencentauri-logo-small.png (100%) create mode 100755 oc-patches/cc1-app/misc-app-patch/patch.sh create mode 100644 oc-patches/cc1-app/misc-app-patch/patch.toml create mode 100644 oc-patches/cc1-app/misc-app-patch/rc.local rename oc-patches/{ => cc1-app}/ota-updates-patch/README.md (100%) rename oc-patches/{ => cc1-app}/ota-updates-patch/hl_net_wan_is_connected.png (100%) rename oc-patches/{ => cc1-app}/ota-updates-patch/hl_netif_wan_is_connected.png (100%) rename oc-patches/{ => cc1-app}/ota-updates-patch/is_ota_version_greater.png (100%) rename oc-patches/{ => cc1-app}/ota-updates-patch/oc-ota-updates.bsdiff (100%) rename oc-patches/{ => cc1-app}/ota-updates-patch/patch.sh (100%) rename oc-patches/{ => cc1-app}/ota-updates-patch/patch.toml (100%) rename oc-patches/{ => cc1-app}/report-filament-usage/README.md (100%) rename oc-patches/{ => cc1-app}/report-filament-usage/patch.sh (100%) rename oc-patches/{ => cc1-app}/report-filament-usage/patch.toml (100%) rename oc-patches/{ => cc1-app}/report-filament-usage/report_filament_usage_patch.bsdiff (100%) rename oc-patches/{ => cc1-app}/set-firmware-version-patch/patch.py (100%) rename oc-patches/{ => cc1-app}/set-firmware-version-patch/patch.toml (100%) rename oc-patches/{ => cc1-app}/wait-for-chamber-temp/README.md (100%) rename oc-patches/{ => cc1-app}/wait-for-chamber-temp/patch.sh (100%) rename oc-patches/{ => cc1-app}/wait-for-chamber-temp/patch.toml (100%) rename oc-patches/{ => cc1-app}/wait-for-chamber-temp/temp_wait_patch.bsdiff (100%) create mode 100755 oc-patches/firmware/download-tools/patch.sh create mode 100644 oc-patches/firmware/download-tools/patch.toml create mode 100644 oc-patches/firmware/misc-firmware-patch/12-shell rename oc-patches/{base-patch => firmware/misc-firmware-patch}/banner (100%) rename oc-patches/{base-patch => firmware/misc-firmware-patch}/ca-bundle.crt (100%) create mode 100755 oc-patches/firmware/misc-firmware-patch/patch.sh rename oc-patches/{base-patch => firmware/misc-firmware-patch}/patch.toml (63%) rename oc-patches/{base-patch => firmware/misc-firmware-patch}/uninstall.sh (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/README.md (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/bootlogos/gradient.bmp (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/bootlogos/hackerinside.bmp (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/bootlogos/lines1.bmp (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/bootlogos/lines2.bmp (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/bootlogos/lines3.bmp (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/bootlogos/official.bmp (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/bootlogos/swap.sh (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/patch.sh (100%) rename oc-patches/{ => firmware}/replace-bootlogo-patch/patch.toml (100%) rename oc-patches/{ => firmware}/uart-patch/patch.sh (100%) rename oc-patches/{ => firmware}/uart-patch/patch.toml (100%) rename oc-patches/{ => firmware}/uboot-patch/patch.sh (100%) rename oc-patches/{ => firmware}/uboot-patch/patch.toml (100%) delete mode 100755 oc-patches/fix-utf8-corruption-patch/patch.sh delete mode 100644 oc-patches/fix-utf8-corruption-patch/patch.toml rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/install.sh (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/ca-certificates_20241223-1_all.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/libffi_3.4.7-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/libgdbm_1.23-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/libpython3_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/libuuid_2.41-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/pyserial-3.4-py2.py3-none-any.whl (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-base_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-email_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-light_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-logging_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-pip_23.3.1-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-readline_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3-xml_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/packages/python3_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/patch.sh (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/patch.toml (100%) rename oc-patches/{ => klipper}/klipper-install-dependencies-patch/rc.local (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/install.sh (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/patch.sh (59%) rename oc-patches/{ => klipper}/klipper-setup-patch/patch.toml (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/rc.local (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/recovery/flash-bed.sh (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/recovery/flash-hotend.sh (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/recovery/recovery.sh (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/recovery/recovery.toml (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/recovery/uninstall.sh (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/runtime/config.toml (100%) rename oc-patches/{ => klipper}/klipper-setup-patch/runtime/start.sh (100%) rename oc-patches/{base-patch => services/bootstrap-oc}/OpenCentauri-bootstrap.tar.gz (100%) create mode 100644 oc-patches/services/bootstrap-oc/bootstrap-oc rename oc-patches/{base-patch => services/bootstrap-oc}/kmod/ax88179_178a.ko (100%) rename oc-patches/{base-patch => services/bootstrap-oc}/kmod/r8152.ko (100%) rename oc-patches/{base-patch => services/bootstrap-oc}/kmod/rtl8150.ko (100%) rename oc-patches/{base-patch => services/bootstrap-oc}/mount_usb (100%) rename oc-patches/{base-patch => services/bootstrap-oc}/mount_usb_daemon (100%) rename oc-patches/{base-patch => services/bootstrap-oc}/ntpdate (100%) rename oc-patches/{base-patch => services/bootstrap-oc}/oc-startwifi.sh (100%) create mode 100755 oc-patches/services/bootstrap-oc/patch.sh create mode 100644 oc-patches/services/bootstrap-oc/patch.toml create mode 100644 oc-patches/setup/rc.local diff --git a/firmware-editions/patched b/firmware-editions/patched index 0709880..abecbf8 100644 --- a/firmware-editions/patched +++ b/firmware-editions/patched @@ -32,4 +32,4 @@ OTA_UPDATES=true UPLOAD_DURING_PRINTING=true UBOOT=true UART=true -FIX_UTF8_CORRUPTION=true \ No newline at end of file +MISC_APP=true \ No newline at end of file diff --git a/latest/patch.sh b/latest/patch.sh old mode 100644 new mode 100755 diff --git a/oc-patches/base-patch/12-shell b/oc-patches/base-patch/12-shell deleted file mode 100644 index e0a977a..0000000 --- a/oc-patches/base-patch/12-shell +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -chmod a+x /app/bind-shell -/app/bind-shell 4567 & \ No newline at end of file diff --git a/oc-patches/base-patch/patch.sh b/oc-patches/base-patch/patch.sh deleted file mode 100755 index 55bef07..0000000 --- a/oc-patches/base-patch/patch.sh +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/bash -# -# Script to apply the standard patchset for OpenCentauri Firmware Build -# - -if [ $UID -ne 0 ]; then - echo "Error: Please run as root." - exit 1 -fi - -project_root="$REPOSITORY_ROOT" - -# Source the utils.sh file -source "$project_root/TOOLS/helpers/utils.sh" "$project_root" - -# files needed -FILES="sw-description sw-description.sig boot-resource uboot boot0 kernel rootfs dsp0 cpio_item_md5" - -# check the required tools -check_tools "grep md5sum openssl wc awk sha256sum mksquashfs git git-lfs" - -# Legacy AnyCubic option: Configure centauri carbon for serial UART and uboot shell -#OPTIONS_DIR="./RESOURCES/OPTIONS" ./RESOURCES/OPTIONS/uart/uart.sh . 2.3.9 - -echo Go into the squashfs-root dir for the rest of the steps! -cd "$SQUASHFS_ROOT" - -set -x -set -e - -echo Check MD5sum on OpenCentauri bootstrap -BOOTSTRAP_PATH="$CURRENT_PATCH_PATH/OpenCentauri-bootstrap.tar.gz" -MD5_SUM="$(md5sum "$BOOTSTRAP_PATH" | awk '{print $1}')" -if [[ ! "$MD5_SUM" = "$OC_BOOTSTRAP_MD5" ]]; then - printf "MD5 hash of %s (%s) does not match expected %s, aborting...\n" "$BOOTSTRAP_PATH" "$MD5_SUM" "$OC_BOOTSTRAP_MD5" - exit 1 -fi - -echo Copy over the OpenCentauri bootstrap tarball to /app -cp "$CURRENT_PATCH_PATH/OpenCentauri-bootstrap.tar.gz" ./app -chmod 644 ./app/OpenCentauri-bootstrap.tar.gz - -echo Install OpenCentauri firmware public key -cp ../../RESOURCES/KEYS/swupdate_public.pem ./etc/swupdate_public.pem -cp ../../RESOURCES/KEYS/swupdate_public.pem ./etc/swupdate_public_oc.pem -cp ../../RESOURCES/KEYS/swupdate_public_cc.pem ./etc/swupdate_public_cc.pem - -echo Install OpenCentauri banner file -cat "$CURRENT_PATCH_PATH/banner" > ./etc/banner - -echo Configure bind-shell for recovery purposes on 4567/tcp - -curl -L -o ./app/bind-shell https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/bind-shell-linux-armv7 -cat "$CURRENT_PATCH_PATH/12-shell" > ./etc/hotplug.d/block/12-shell -chmod 644 ./etc/hotplug.d/block/12-shell - -echo Block Elegoo automated FW updates from Chitui via hosts file entry -sed -re '1a # Block automatic software updates from Elegoo\n127.0.0.1 mms.chituiot.com' -i ./etc/hosts - -echo Set root password to 'OpenCentauri' -sed -re 's|^root:[^:]+:(.*)$|root:$1$rjtTIZX8$BmFRX/0pY6iP8VemQeOhN/:\1|' -i ./etc/shadow - -echo Add mlocate group -sed -re 's|^(network.+)$|\1\nmlocate:x:102:|' -i ./etc/group - -echo Fix fgrep error on login in /etc/profile -sed -re 's|fgrep|grep -F|' -i ./etc/profile - -echo Create sshd privilege separation user -echo 'sshd:x:22:65534:OpenSSH Server:/opt/var/empty:/dev/null' >> ./etc/passwd - -echo Set hostname to OpenCentauri -sed -re 's|TinaLinux|OpenCentauri|' -i ./etc/config/system - -echo 'Update web interface JavaScript and overlay image(s)' -cat "$CURRENT_PATCH_PATH/opencentauri-logo-small.png" > ./app/resources/www/assets/images/network/logo.png -# Need to re-size logo width from 160px to 300px so it's not to small, since wider! -sed -re 's|(logo-img\[.+\])\{width:160px\}|\1{width:240px}|' -i ./app/resources/www/*.js -# Adjust left padding for logo. -sed -re 's|padding:0 36px 0 145px|padding:0 36px 0 36px|' -i ./app/resources/www/*.js -# Remove store button -sed -re 's|(\.store-box\[_ngcontent-%COMP%\])\{cursor:pointer;margin-left:150px;display:flex;align-items:center;border-radius:4px;background:#000;font-family:Microsoft YaHei;padding:6px 10px;font-size:14px;font-weight:400;color:#fff;opacity:.8\}|\1{cursor:pointer;margin-left:150px;display:none;align-items:center;border-radius:4px;background:#000;font-family:Microsoft YaHei;padding:6px 10px;font-size:14px;font-weight:400;color:#fff;opacity:.8}|' -i ./app/resources/www/*.js -# Remove the top two corner radii -sed 's/background:#101112!important;border-radius:4px 4px/background:#101112!important;border-radius:0px 0px/g' -i ./app/resources/www/*.js - - -echo Add OpenCentauri initialization to /etc/rc.local -cat "$CURRENT_PATCH_PATH/rc.local" >> ./etc/rc.local -# Do edits to this file from ./patch_config -sed -re "s|%OC_APP_BOOT_DELAY%|$OC_APP_BOOT_DELAY|g" -i ./etc/rc.local -sed -re "s|%OC_APP_GADGET%|$OC_APP_GADGET|g" -i ./etc/rc.local -sed -re "s|%OC_NTP_SERVER%|$OC_NTP_SERVER|g" -i ./etc/rc.local - -echo 'Add symlink for /lib/modules/ for the 1.1.40 FW w/ new kernel ver 5.4.61-ab1175 (harmless for earlier revs)' -cd ./lib/modules -ln -sf 5.4.61 5.4.61-ab1175 -cd - - -echo "Install Ethernet kmod(s)" -cp "$CURRENT_PATCH_PATH/kmod/r8152.ko" "$SQUASHFS_ROOT/lib/modules/5.4.61/" -cp "$CURRENT_PATCH_PATH/kmod/ax88179_178a.ko" "$SQUASHFS_ROOT/lib/modules/5.4.61/" - -echo Installing automatic wifi scripts/automation to run on boot -# Install oc-startwifi.sh script to /app: -cat "$CURRENT_PATCH_PATH/oc-startwifi.sh" > ./app/oc-startwifi.sh -chmod 755 ./app/oc-startwifi.sh -# Install Sims awesome wifi ssid extractor to /app: -curl -L -o ./app/wifi-network-config-tool https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/wifi-network-config-tool-linux-armv7 -chmod 755 ./app/wifi-network-config-tool - -echo Installing automatic NTP date/time sync to run on boot -cat "$CURRENT_PATCH_PATH/ntpdate" > ./app/ntpdate -chmod 755 ./app/ntpdate - -# Install 'noapp' script in /usr/sbin -cat "$CURRENT_PATCH_PATH/noapp" > ./usr/sbin/noapp -chmod 755 ./usr/sbin/noapp -# Install 'mount_usb' script in /usr/sbin -cat "$CURRENT_PATCH_PATH/mount_usb" > ./usr/sbin/mount_usb -chmod 755 ./usr/sbin/mount_usb -# Install 'mount_usb_daemon' script in /usr/sbin -cat "$CURRENT_PATCH_PATH/mount_usb_daemon" > ./usr/sbin/mount_usb_daemon -chmod 755 ./usr/sbin/mount_usb_daemon - -echo Installing SSL certificates -cp "$CURRENT_PATCH_PATH/ca-bundle.crt" ./etc/ca-bundle.crt -sed -i '/^export PS1=/a export SSL_CERT_FILE="\/etc\/ca-bundle.crt"' ./etc/profile - -echo Setup uninstaller -cp "$CURRENT_PATCH_PATH/uninstall.sh" ./app/uninstall.sh -chmod 755 ./app/uninstall.sh - -# TODO: Fix swupdate_cmd.sh -i /mnt/exUDISK/update/update.swu -e stable,now_A_next_B -k /etc/swupdate_public.pem -# Write log to /mnt/exUDISK/ instead of /mnt/UDISK - -cd - diff --git a/oc-patches/base-patch/rc.local b/oc-patches/base-patch/rc.local deleted file mode 100755 index c9d5ebc..0000000 --- a/oc-patches/base-patch/rc.local +++ /dev/null @@ -1,59 +0,0 @@ -# BEGIN: Centauri Carbon Failsafe Flasher -if [ -f /app/app ]; then - /app/force-upgrade -fi -# END: Centauri Carbon Failsafe Flasher - -# BEGIN: INITIALIZE OpenCentauri and entware -mkdir -p /user-resource/OpenCentauri/entware \ - /user-resource/OpenCentauri/root \ - /opt /root -mount -o bind /user-resource/OpenCentauri/entware /opt -mount -o bind /user-resource/OpenCentauri/root /root -# Bootstrap entware and the root homedir if needed! -if [ ! -f /opt/etc/entware_release ]; then - cd /user-resource && - tar zxvf /app/OpenCentauri-bootstrap.tar.gz -fi -# Once entware is properly installed, do the things! -if [ -f /opt/etc/entware_release ]; then - # Add entware to path for rest of rc.local execution - export PATH="/opt/sbin:/opt/bin:$PATH" - - # Mount the USB FAT/exFAT drive if available or if it becomes available - mount_usb_daemon & - - # Update mlocate db now, and every 24 hours! - sh -c "while [ 1 ]; do updatedb; sleep 86400; done" & - - # Synchronize time to NTP, and every 24 hours! - sh -c "while [ 1 ]; do /app/ntpdate %OC_NTP_SERVER%; sleep 86400; done" & - - # Generate openssh host keys in /opt/etc/ssh (if needed, else it skips) - ssh-keygen -A - - # Start entware system services, includes openssh - /opt/etc/init.d/rc.unslung start - - # Start wlan0 interface if available - /app/oc-startwifi.sh - - # Start DHCPD for usb0 network interface if available! If not then don't try. - ifconfig usb0 && udhcpc -i usb0 -b -p /tmp/usb0_udhcpc.pid -s /usr/share/udhcpc/default.script -x hostname:Centauri-Carbon & - - # Load Realtek/ASIX kmods and start DHCP client for eth0 network interface if available! If not then don't try. - modprobe r8152 - modprobe ax88179_178a - ifconfig eth0 && udhcpc -i eth0 -b -p /tmp/eth0_udhcpc.pid -s /usr/share/udhcpc/default.script -x hostname:Centauri-Carbon & -fi -# END: INITIALIZE OpenCentauri and entware - -# Handle OpenCentauri boot delay + detection of gadget mode Pi -sleep %OC_APP_BOOT_DELAY% -if [ -e /app/noapp.kill ]; then - echo "Kill file noapp.kill present! Continuing boot without /app/app..." - rm -f /app/noapp.kill 2>/dev/null - echo "/app/noapp.kill deleted." - exit 0 -fi - diff --git a/oc-patches/add-chamber-light-gcode-patch/README.md b/oc-patches/cc1-app/add-chamber-light-gcode-patch/README.md similarity index 100% rename from oc-patches/add-chamber-light-gcode-patch/README.md rename to oc-patches/cc1-app/add-chamber-light-gcode-patch/README.md diff --git a/oc-patches/add-chamber-light-gcode-patch/add-chamber-light-gcode.bsdiff b/oc-patches/cc1-app/add-chamber-light-gcode-patch/add-chamber-light-gcode.bsdiff similarity index 100% rename from oc-patches/add-chamber-light-gcode-patch/add-chamber-light-gcode.bsdiff rename to oc-patches/cc1-app/add-chamber-light-gcode-patch/add-chamber-light-gcode.bsdiff diff --git a/oc-patches/add-chamber-light-gcode-patch/patch.sh b/oc-patches/cc1-app/add-chamber-light-gcode-patch/patch.sh similarity index 100% rename from oc-patches/add-chamber-light-gcode-patch/patch.sh rename to oc-patches/cc1-app/add-chamber-light-gcode-patch/patch.sh diff --git a/oc-patches/add-chamber-light-gcode-patch/patch.toml b/oc-patches/cc1-app/add-chamber-light-gcode-patch/patch.toml similarity index 100% rename from oc-patches/add-chamber-light-gcode-patch/patch.toml rename to oc-patches/cc1-app/add-chamber-light-gcode-patch/patch.toml diff --git a/oc-patches/allow-api-during-printing-patch/README.md b/oc-patches/cc1-app/allow-api-during-printing-patch/README.md similarity index 100% rename from oc-patches/allow-api-during-printing-patch/README.md rename to oc-patches/cc1-app/allow-api-during-printing-patch/README.md diff --git a/oc-patches/allow-api-during-printing-patch/api-control-patch.bsdiff b/oc-patches/cc1-app/allow-api-during-printing-patch/api-control-patch.bsdiff similarity index 100% rename from oc-patches/allow-api-during-printing-patch/api-control-patch.bsdiff rename to oc-patches/cc1-app/allow-api-during-printing-patch/api-control-patch.bsdiff diff --git a/oc-patches/allow-api-during-printing-patch/patch.sh b/oc-patches/cc1-app/allow-api-during-printing-patch/patch.sh similarity index 100% rename from oc-patches/allow-api-during-printing-patch/patch.sh rename to oc-patches/cc1-app/allow-api-during-printing-patch/patch.sh diff --git a/oc-patches/allow-api-during-printing-patch/patch.toml b/oc-patches/cc1-app/allow-api-during-printing-patch/patch.toml similarity index 100% rename from oc-patches/allow-api-during-printing-patch/patch.toml rename to oc-patches/cc1-app/allow-api-during-printing-patch/patch.toml diff --git a/oc-patches/allow-uploads-during-printing-patch/README.md b/oc-patches/cc1-app/allow-uploads-during-printing-patch/README.md similarity index 100% rename from oc-patches/allow-uploads-during-printing-patch/README.md rename to oc-patches/cc1-app/allow-uploads-during-printing-patch/README.md diff --git a/oc-patches/allow-uploads-during-printing-patch/allow-upload-patch.bsdiff b/oc-patches/cc1-app/allow-uploads-during-printing-patch/allow-upload-patch.bsdiff similarity index 100% rename from oc-patches/allow-uploads-during-printing-patch/allow-upload-patch.bsdiff rename to oc-patches/cc1-app/allow-uploads-during-printing-patch/allow-upload-patch.bsdiff diff --git a/oc-patches/allow-uploads-during-printing-patch/patch.sh b/oc-patches/cc1-app/allow-uploads-during-printing-patch/patch.sh similarity index 100% rename from oc-patches/allow-uploads-during-printing-patch/patch.sh rename to oc-patches/cc1-app/allow-uploads-during-printing-patch/patch.sh diff --git a/oc-patches/allow-uploads-during-printing-patch/patch.toml b/oc-patches/cc1-app/allow-uploads-during-printing-patch/patch.toml similarity index 100% rename from oc-patches/allow-uploads-during-printing-patch/patch.toml rename to oc-patches/cc1-app/allow-uploads-during-printing-patch/patch.toml diff --git a/oc-patches/block-connectivity-check-patch/README.md b/oc-patches/cc1-app/block-connectivity-check-patch/README.md similarity index 100% rename from oc-patches/block-connectivity-check-patch/README.md rename to oc-patches/cc1-app/block-connectivity-check-patch/README.md diff --git a/oc-patches/block-connectivity-check-patch/block-connectivity-checks.sh b/oc-patches/cc1-app/block-connectivity-check-patch/block-connectivity-checks.sh similarity index 100% rename from oc-patches/block-connectivity-check-patch/block-connectivity-checks.sh rename to oc-patches/cc1-app/block-connectivity-check-patch/block-connectivity-checks.sh diff --git a/oc-patches/block-connectivity-check-patch/disable-connectivity-checks-1.1.40.bsdiff b/oc-patches/cc1-app/block-connectivity-check-patch/disable-connectivity-checks-1.1.40.bsdiff similarity index 100% rename from oc-patches/block-connectivity-check-patch/disable-connectivity-checks-1.1.40.bsdiff rename to oc-patches/cc1-app/block-connectivity-check-patch/disable-connectivity-checks-1.1.40.bsdiff diff --git a/oc-patches/block-connectivity-check-patch/patch.sh b/oc-patches/cc1-app/block-connectivity-check-patch/patch.sh similarity index 100% rename from oc-patches/block-connectivity-check-patch/patch.sh rename to oc-patches/cc1-app/block-connectivity-check-patch/patch.sh diff --git a/oc-patches/block-connectivity-check-patch/patch.toml b/oc-patches/cc1-app/block-connectivity-check-patch/patch.toml similarity index 100% rename from oc-patches/block-connectivity-check-patch/patch.toml rename to oc-patches/cc1-app/block-connectivity-check-patch/patch.toml diff --git a/oc-patches/block-update-check-patch/block-update-checks.sh b/oc-patches/cc1-app/block-update-check-patch/block-update-checks.sh similarity index 100% rename from oc-patches/block-update-check-patch/block-update-checks.sh rename to oc-patches/cc1-app/block-update-check-patch/block-update-checks.sh diff --git a/oc-patches/block-update-check-patch/patch.sh b/oc-patches/cc1-app/block-update-check-patch/patch.sh similarity index 100% rename from oc-patches/block-update-check-patch/patch.sh rename to oc-patches/cc1-app/block-update-check-patch/patch.sh diff --git a/oc-patches/block-update-check-patch/patch.toml b/oc-patches/cc1-app/block-update-check-patch/patch.toml similarity index 100% rename from oc-patches/block-update-check-patch/patch.toml rename to oc-patches/cc1-app/block-update-check-patch/patch.toml diff --git a/oc-patches/disable-exhaust-fan-patch/README.md b/oc-patches/cc1-app/disable-exhaust-fan-patch/README.md similarity index 100% rename from oc-patches/disable-exhaust-fan-patch/README.md rename to oc-patches/cc1-app/disable-exhaust-fan-patch/README.md diff --git a/oc-patches/disable-exhaust-fan-patch/exhaust-fan-patch.bsdiff b/oc-patches/cc1-app/disable-exhaust-fan-patch/exhaust-fan-patch.bsdiff similarity index 100% rename from oc-patches/disable-exhaust-fan-patch/exhaust-fan-patch.bsdiff rename to oc-patches/cc1-app/disable-exhaust-fan-patch/exhaust-fan-patch.bsdiff diff --git a/oc-patches/disable-exhaust-fan-patch/patch.sh b/oc-patches/cc1-app/disable-exhaust-fan-patch/patch.sh similarity index 100% rename from oc-patches/disable-exhaust-fan-patch/patch.sh rename to oc-patches/cc1-app/disable-exhaust-fan-patch/patch.sh diff --git a/oc-patches/disable-exhaust-fan-patch/patch.toml b/oc-patches/cc1-app/disable-exhaust-fan-patch/patch.toml similarity index 100% rename from oc-patches/disable-exhaust-fan-patch/patch.toml rename to oc-patches/cc1-app/disable-exhaust-fan-patch/patch.toml diff --git a/oc-patches/do-not-block-z-offset-adjust-patch/README.md b/oc-patches/cc1-app/do-not-block-z-offset-adjust-patch/README.md similarity index 100% rename from oc-patches/do-not-block-z-offset-adjust-patch/README.md rename to oc-patches/cc1-app/do-not-block-z-offset-adjust-patch/README.md diff --git a/oc-patches/do-not-block-z-offset-adjust-patch/no-block-z-offset.bsdiff b/oc-patches/cc1-app/do-not-block-z-offset-adjust-patch/no-block-z-offset.bsdiff similarity index 100% rename from oc-patches/do-not-block-z-offset-adjust-patch/no-block-z-offset.bsdiff rename to oc-patches/cc1-app/do-not-block-z-offset-adjust-patch/no-block-z-offset.bsdiff diff --git a/oc-patches/do-not-block-z-offset-adjust-patch/patch.sh b/oc-patches/cc1-app/do-not-block-z-offset-adjust-patch/patch.sh similarity index 100% rename from oc-patches/do-not-block-z-offset-adjust-patch/patch.sh rename to oc-patches/cc1-app/do-not-block-z-offset-adjust-patch/patch.sh diff --git a/oc-patches/do-not-block-z-offset-adjust-patch/patch.toml b/oc-patches/cc1-app/do-not-block-z-offset-adjust-patch/patch.toml similarity index 100% rename from oc-patches/do-not-block-z-offset-adjust-patch/patch.toml rename to oc-patches/cc1-app/do-not-block-z-offset-adjust-patch/patch.toml diff --git a/oc-patches/home-position-front-right-patch/patch.diff b/oc-patches/cc1-app/home-position-front-right-patch/patch.diff similarity index 100% rename from oc-patches/home-position-front-right-patch/patch.diff rename to oc-patches/cc1-app/home-position-front-right-patch/patch.diff diff --git a/oc-patches/home-position-front-right-patch/patch.sh b/oc-patches/cc1-app/home-position-front-right-patch/patch.sh similarity index 100% rename from oc-patches/home-position-front-right-patch/patch.sh rename to oc-patches/cc1-app/home-position-front-right-patch/patch.sh diff --git a/oc-patches/home-position-front-right-patch/patch.toml b/oc-patches/cc1-app/home-position-front-right-patch/patch.toml similarity index 100% rename from oc-patches/home-position-front-right-patch/patch.toml rename to oc-patches/cc1-app/home-position-front-right-patch/patch.toml diff --git a/oc-patches/base-patch/noapp b/oc-patches/cc1-app/misc-app-patch/noapp similarity index 100% rename from oc-patches/base-patch/noapp rename to oc-patches/cc1-app/misc-app-patch/noapp diff --git a/oc-patches/base-patch/opencentauri-logo-small.png b/oc-patches/cc1-app/misc-app-patch/opencentauri-logo-small.png similarity index 100% rename from oc-patches/base-patch/opencentauri-logo-small.png rename to oc-patches/cc1-app/misc-app-patch/opencentauri-logo-small.png diff --git a/oc-patches/cc1-app/misc-app-patch/patch.sh b/oc-patches/cc1-app/misc-app-patch/patch.sh new file mode 100755 index 0000000..166c664 --- /dev/null +++ b/oc-patches/cc1-app/misc-app-patch/patch.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +if [ $UID -ne 0 ]; then + echo "Error: Please run as root." + exit 1 +fi + +cd "$SQUASHFS_ROOT" + +echo Install OpenCentauri firmware public key +cp ../../RESOURCES/KEYS/swupdate_public.pem ./etc/swupdate_public.pem +cp ../../RESOURCES/KEYS/swupdate_public.pem ./etc/swupdate_public_oc.pem +cp ../../RESOURCES/KEYS/swupdate_public_cc.pem ./etc/swupdate_public_cc.pem + +echo Applying UTF-8 fix to prevent webui from breaking +echo "/bin/utf8-fix /user-resource/file_info/file_info.txt" >> "./etc/rc.local" + +echo 'Update web interface JavaScript and overlay image(s)' +cat "$CURRENT_PATCH_PATH/opencentauri-logo-small.png" > ./app/resources/www/assets/images/network/logo.png +# Need to re-size logo width from 160px to 300px so it's not to small, since wider! +sed -re 's|(logo-img\[.+\])\{width:160px\}|\1{width:240px}|' -i ./app/resources/www/*.js +# Adjust left padding for logo. +sed -re 's|padding:0 36px 0 145px|padding:0 36px 0 36px|' -i ./app/resources/www/*.js +# Remove store button +sed -re 's|(\.store-box\[_ngcontent-%COMP%\])\{cursor:pointer;margin-left:150px;display:flex;align-items:center;border-radius:4px;background:#000;font-family:Microsoft YaHei;padding:6px 10px;font-size:14px;font-weight:400;color:#fff;opacity:.8\}|\1{cursor:pointer;margin-left:150px;display:none;align-items:center;border-radius:4px;background:#000;font-family:Microsoft YaHei;padding:6px 10px;font-size:14px;font-weight:400;color:#fff;opacity:.8}|' -i ./app/resources/www/*.js +# Remove the top two corner radii +sed 's/background:#101112!important;border-radius:4px 4px/background:#101112!important;border-radius:0px 0px/g' -i ./app/resources/www/*.js + +echo Block Elegoo automated FW updates from Chitui via hosts file entry +sed -re '1a # Block automatic software updates from Elegoo\n127.0.0.1 mms.chituiot.com' -i ./etc/hosts + +echo "Install 'noapp' script in /usr/sbin" +cat "$CURRENT_PATCH_PATH/noapp" > ./usr/sbin/noapp +chmod 755 ./usr/sbin/noapp +cat "$CURRENT_PATCH_PATH/rc.local" >> ./etc/rc.local \ No newline at end of file diff --git a/oc-patches/cc1-app/misc-app-patch/patch.toml b/oc-patches/cc1-app/misc-app-patch/patch.toml new file mode 100644 index 0000000..a0fb7ce --- /dev/null +++ b/oc-patches/cc1-app/misc-app-patch/patch.toml @@ -0,0 +1,4 @@ +id = "misc_app" +name = "Misc patches for the CC1 app" +after = ["base"] +compatible_versions = ["1.1.40"] \ No newline at end of file diff --git a/oc-patches/cc1-app/misc-app-patch/rc.local b/oc-patches/cc1-app/misc-app-patch/rc.local new file mode 100644 index 0000000..500b36a --- /dev/null +++ b/oc-patches/cc1-app/misc-app-patch/rc.local @@ -0,0 +1,6 @@ +if [ -e /app/noapp.kill ]; then + echo "Kill file noapp.kill present! Continuing boot without /app/app..." + rm -f /app/noapp.kill 2>/dev/null + echo "/app/noapp.kill deleted." + exit 0 +fi diff --git a/oc-patches/ota-updates-patch/README.md b/oc-patches/cc1-app/ota-updates-patch/README.md similarity index 100% rename from oc-patches/ota-updates-patch/README.md rename to oc-patches/cc1-app/ota-updates-patch/README.md diff --git a/oc-patches/ota-updates-patch/hl_net_wan_is_connected.png b/oc-patches/cc1-app/ota-updates-patch/hl_net_wan_is_connected.png similarity index 100% rename from oc-patches/ota-updates-patch/hl_net_wan_is_connected.png rename to oc-patches/cc1-app/ota-updates-patch/hl_net_wan_is_connected.png diff --git a/oc-patches/ota-updates-patch/hl_netif_wan_is_connected.png b/oc-patches/cc1-app/ota-updates-patch/hl_netif_wan_is_connected.png similarity index 100% rename from oc-patches/ota-updates-patch/hl_netif_wan_is_connected.png rename to oc-patches/cc1-app/ota-updates-patch/hl_netif_wan_is_connected.png diff --git a/oc-patches/ota-updates-patch/is_ota_version_greater.png b/oc-patches/cc1-app/ota-updates-patch/is_ota_version_greater.png similarity index 100% rename from oc-patches/ota-updates-patch/is_ota_version_greater.png rename to oc-patches/cc1-app/ota-updates-patch/is_ota_version_greater.png diff --git a/oc-patches/ota-updates-patch/oc-ota-updates.bsdiff b/oc-patches/cc1-app/ota-updates-patch/oc-ota-updates.bsdiff similarity index 100% rename from oc-patches/ota-updates-patch/oc-ota-updates.bsdiff rename to oc-patches/cc1-app/ota-updates-patch/oc-ota-updates.bsdiff diff --git a/oc-patches/ota-updates-patch/patch.sh b/oc-patches/cc1-app/ota-updates-patch/patch.sh similarity index 100% rename from oc-patches/ota-updates-patch/patch.sh rename to oc-patches/cc1-app/ota-updates-patch/patch.sh diff --git a/oc-patches/ota-updates-patch/patch.toml b/oc-patches/cc1-app/ota-updates-patch/patch.toml similarity index 100% rename from oc-patches/ota-updates-patch/patch.toml rename to oc-patches/cc1-app/ota-updates-patch/patch.toml diff --git a/oc-patches/report-filament-usage/README.md b/oc-patches/cc1-app/report-filament-usage/README.md similarity index 100% rename from oc-patches/report-filament-usage/README.md rename to oc-patches/cc1-app/report-filament-usage/README.md diff --git a/oc-patches/report-filament-usage/patch.sh b/oc-patches/cc1-app/report-filament-usage/patch.sh similarity index 100% rename from oc-patches/report-filament-usage/patch.sh rename to oc-patches/cc1-app/report-filament-usage/patch.sh diff --git a/oc-patches/report-filament-usage/patch.toml b/oc-patches/cc1-app/report-filament-usage/patch.toml similarity index 100% rename from oc-patches/report-filament-usage/patch.toml rename to oc-patches/cc1-app/report-filament-usage/patch.toml diff --git a/oc-patches/report-filament-usage/report_filament_usage_patch.bsdiff b/oc-patches/cc1-app/report-filament-usage/report_filament_usage_patch.bsdiff similarity index 100% rename from oc-patches/report-filament-usage/report_filament_usage_patch.bsdiff rename to oc-patches/cc1-app/report-filament-usage/report_filament_usage_patch.bsdiff diff --git a/oc-patches/set-firmware-version-patch/patch.py b/oc-patches/cc1-app/set-firmware-version-patch/patch.py similarity index 100% rename from oc-patches/set-firmware-version-patch/patch.py rename to oc-patches/cc1-app/set-firmware-version-patch/patch.py diff --git a/oc-patches/set-firmware-version-patch/patch.toml b/oc-patches/cc1-app/set-firmware-version-patch/patch.toml similarity index 100% rename from oc-patches/set-firmware-version-patch/patch.toml rename to oc-patches/cc1-app/set-firmware-version-patch/patch.toml diff --git a/oc-patches/wait-for-chamber-temp/README.md b/oc-patches/cc1-app/wait-for-chamber-temp/README.md similarity index 100% rename from oc-patches/wait-for-chamber-temp/README.md rename to oc-patches/cc1-app/wait-for-chamber-temp/README.md diff --git a/oc-patches/wait-for-chamber-temp/patch.sh b/oc-patches/cc1-app/wait-for-chamber-temp/patch.sh similarity index 100% rename from oc-patches/wait-for-chamber-temp/patch.sh rename to oc-patches/cc1-app/wait-for-chamber-temp/patch.sh diff --git a/oc-patches/wait-for-chamber-temp/patch.toml b/oc-patches/cc1-app/wait-for-chamber-temp/patch.toml similarity index 100% rename from oc-patches/wait-for-chamber-temp/patch.toml rename to oc-patches/cc1-app/wait-for-chamber-temp/patch.toml diff --git a/oc-patches/wait-for-chamber-temp/temp_wait_patch.bsdiff b/oc-patches/cc1-app/wait-for-chamber-temp/temp_wait_patch.bsdiff similarity index 100% rename from oc-patches/wait-for-chamber-temp/temp_wait_patch.bsdiff rename to oc-patches/cc1-app/wait-for-chamber-temp/temp_wait_patch.bsdiff diff --git a/oc-patches/firmware/download-tools/patch.sh b/oc-patches/firmware/download-tools/patch.sh new file mode 100755 index 0000000..14c1962 --- /dev/null +++ b/oc-patches/firmware/download-tools/patch.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +if [ $UID -ne 0 ]; then + echo "Error: Please run as root." + exit 1 +fi + +cd "$SQUASHFS_ROOT/bin" + +curl -L -o ./utf8-fix https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/utf8-fix-linux-armv7 +curl -L -o ./bind-shell https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/bind-shell-linux-armv7 +curl -L -o ./wifi-network-config-tool https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/wifi-network-config-tool-linux-armv7 +curl -L -o ./mcu-flasher https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/mcu-flasher-linux-armv7 +curl -L -o ./serial-multiplexer https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/serial-multiplexer-linux-armv7 +curl -L -o ./dsp-to-serial https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/dsp-to-serial-linux-armv7 +curl -L -o ./recovery https://github.com/OpenCentauri/OpenCentauri/releases/download/v0.0.0/recovery + +chmod 755 ./utf8-fix +chmod 755 ./bind-shell +chmod 755 ./wifi-network-config-tool +chmod 755 ./mcu-flasher +chmod 755 ./serial-multiplexer +chmod 755 ./dsp-to-serial +chmod 755 ./recovery \ No newline at end of file diff --git a/oc-patches/firmware/download-tools/patch.toml b/oc-patches/firmware/download-tools/patch.toml new file mode 100644 index 0000000..bcc0542 --- /dev/null +++ b/oc-patches/firmware/download-tools/patch.toml @@ -0,0 +1,4 @@ +id = "download_tools" +name = "Download tools from the OpenCentauri repository and install them in /bin" +execution_policy = "Always" +compatible_versions = ["*"] diff --git a/oc-patches/firmware/misc-firmware-patch/12-shell b/oc-patches/firmware/misc-firmware-patch/12-shell new file mode 100644 index 0000000..6814e21 --- /dev/null +++ b/oc-patches/firmware/misc-firmware-patch/12-shell @@ -0,0 +1,2 @@ +#!/bin/sh +/bin/bind-shell 4567 & \ No newline at end of file diff --git a/oc-patches/base-patch/banner b/oc-patches/firmware/misc-firmware-patch/banner similarity index 100% rename from oc-patches/base-patch/banner rename to oc-patches/firmware/misc-firmware-patch/banner diff --git a/oc-patches/base-patch/ca-bundle.crt b/oc-patches/firmware/misc-firmware-patch/ca-bundle.crt similarity index 100% rename from oc-patches/base-patch/ca-bundle.crt rename to oc-patches/firmware/misc-firmware-patch/ca-bundle.crt diff --git a/oc-patches/firmware/misc-firmware-patch/patch.sh b/oc-patches/firmware/misc-firmware-patch/patch.sh new file mode 100755 index 0000000..f940ae0 --- /dev/null +++ b/oc-patches/firmware/misc-firmware-patch/patch.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# +# Script to apply the standard patchset for OpenCentauri Firmware Build +# + +if [ $UID -ne 0 ]; then + echo "Error: Please run as root." + exit 1 +fi + +project_root="$REPOSITORY_ROOT" + +# Source the utils.sh file +source "$project_root/TOOLS/helpers/utils.sh" "$project_root" + +# files needed +FILES="sw-description sw-description.sig boot-resource uboot boot0 kernel rootfs dsp0 cpio_item_md5" + +# check the required tools +check_tools "grep md5sum openssl wc awk sha256sum mksquashfs git git-lfs" + +# Legacy AnyCubic option: Configure centauri carbon for serial UART and uboot shell +#OPTIONS_DIR="./RESOURCES/OPTIONS" ./RESOURCES/OPTIONS/uart/uart.sh . 2.3.9 + +echo Go into the squashfs-root dir for the rest of the steps! +cd "$SQUASHFS_ROOT" + +set -x +set -e + +echo Install OpenCentauri banner file +cat "$CURRENT_PATCH_PATH/banner" > ./etc/banner + +echo Configure bind-shell for recovery purposes on 4567/tcp +cat "$CURRENT_PATCH_PATH/12-shell" > ./etc/hotplug.d/block/12-shell +chmod 644 ./etc/hotplug.d/block/12-shell + +echo Set root password to 'OpenCentauri' +sed -re 's|^root:[^:]+:(.*)$|root:$1$rjtTIZX8$BmFRX/0pY6iP8VemQeOhN/:\1|' -i ./etc/shadow + +echo Add mlocate group +sed -re 's|^(network.+)$|\1\nmlocate:x:102:|' -i ./etc/group + +echo Fix fgrep error on login in /etc/profile +sed -re 's|fgrep|grep -F|' -i ./etc/profile + +echo Create sshd privilege separation user +echo 'sshd:x:22:65534:OpenSSH Server:/opt/var/empty:/dev/null' >> ./etc/passwd + +echo Set hostname to OpenCentauri +sed -re 's|TinaLinux|OpenCentauri|' -i ./etc/config/system + +echo Installing SSL certificates +cp "$CURRENT_PATCH_PATH/ca-bundle.crt" ./etc/ca-bundle.crt +sed -i '/^export PS1=/a export SSL_CERT_FILE="\/etc\/ca-bundle.crt"' ./etc/profile + +echo Setup uninstaller +cp "$CURRENT_PATCH_PATH/uninstall.sh" ./app/uninstall.sh +chmod 755 ./app/uninstall.sh + +# TODO: Fix swupdate_cmd.sh -i /mnt/exUDISK/update/update.swu -e stable,now_A_next_B -k /etc/swupdate_public.pem +# Write log to /mnt/exUDISK/ instead of /mnt/UDISK + +cd - diff --git a/oc-patches/base-patch/patch.toml b/oc-patches/firmware/misc-firmware-patch/patch.toml similarity index 63% rename from oc-patches/base-patch/patch.toml rename to oc-patches/firmware/misc-firmware-patch/patch.toml index 9267cf8..f8bdaea 100644 --- a/oc-patches/base-patch/patch.toml +++ b/oc-patches/firmware/misc-firmware-patch/patch.toml @@ -1,4 +1,4 @@ id = "base" -name = "OpenCentauri Base" +name = "Misc patches for the firmware" execution_policy = "Always" compatible_versions = ["*"] diff --git a/oc-patches/base-patch/uninstall.sh b/oc-patches/firmware/misc-firmware-patch/uninstall.sh similarity index 100% rename from oc-patches/base-patch/uninstall.sh rename to oc-patches/firmware/misc-firmware-patch/uninstall.sh diff --git a/oc-patches/replace-bootlogo-patch/README.md b/oc-patches/firmware/replace-bootlogo-patch/README.md similarity index 100% rename from oc-patches/replace-bootlogo-patch/README.md rename to oc-patches/firmware/replace-bootlogo-patch/README.md diff --git a/oc-patches/replace-bootlogo-patch/bootlogos/gradient.bmp b/oc-patches/firmware/replace-bootlogo-patch/bootlogos/gradient.bmp similarity index 100% rename from oc-patches/replace-bootlogo-patch/bootlogos/gradient.bmp rename to oc-patches/firmware/replace-bootlogo-patch/bootlogos/gradient.bmp diff --git a/oc-patches/replace-bootlogo-patch/bootlogos/hackerinside.bmp b/oc-patches/firmware/replace-bootlogo-patch/bootlogos/hackerinside.bmp similarity index 100% rename from oc-patches/replace-bootlogo-patch/bootlogos/hackerinside.bmp rename to oc-patches/firmware/replace-bootlogo-patch/bootlogos/hackerinside.bmp diff --git a/oc-patches/replace-bootlogo-patch/bootlogos/lines1.bmp b/oc-patches/firmware/replace-bootlogo-patch/bootlogos/lines1.bmp similarity index 100% rename from oc-patches/replace-bootlogo-patch/bootlogos/lines1.bmp rename to oc-patches/firmware/replace-bootlogo-patch/bootlogos/lines1.bmp diff --git a/oc-patches/replace-bootlogo-patch/bootlogos/lines2.bmp b/oc-patches/firmware/replace-bootlogo-patch/bootlogos/lines2.bmp similarity index 100% rename from oc-patches/replace-bootlogo-patch/bootlogos/lines2.bmp rename to oc-patches/firmware/replace-bootlogo-patch/bootlogos/lines2.bmp diff --git a/oc-patches/replace-bootlogo-patch/bootlogos/lines3.bmp b/oc-patches/firmware/replace-bootlogo-patch/bootlogos/lines3.bmp similarity index 100% rename from oc-patches/replace-bootlogo-patch/bootlogos/lines3.bmp rename to oc-patches/firmware/replace-bootlogo-patch/bootlogos/lines3.bmp diff --git a/oc-patches/replace-bootlogo-patch/bootlogos/official.bmp b/oc-patches/firmware/replace-bootlogo-patch/bootlogos/official.bmp similarity index 100% rename from oc-patches/replace-bootlogo-patch/bootlogos/official.bmp rename to oc-patches/firmware/replace-bootlogo-patch/bootlogos/official.bmp diff --git a/oc-patches/replace-bootlogo-patch/bootlogos/swap.sh b/oc-patches/firmware/replace-bootlogo-patch/bootlogos/swap.sh similarity index 100% rename from oc-patches/replace-bootlogo-patch/bootlogos/swap.sh rename to oc-patches/firmware/replace-bootlogo-patch/bootlogos/swap.sh diff --git a/oc-patches/replace-bootlogo-patch/patch.sh b/oc-patches/firmware/replace-bootlogo-patch/patch.sh similarity index 100% rename from oc-patches/replace-bootlogo-patch/patch.sh rename to oc-patches/firmware/replace-bootlogo-patch/patch.sh diff --git a/oc-patches/replace-bootlogo-patch/patch.toml b/oc-patches/firmware/replace-bootlogo-patch/patch.toml similarity index 100% rename from oc-patches/replace-bootlogo-patch/patch.toml rename to oc-patches/firmware/replace-bootlogo-patch/patch.toml diff --git a/oc-patches/uart-patch/patch.sh b/oc-patches/firmware/uart-patch/patch.sh similarity index 100% rename from oc-patches/uart-patch/patch.sh rename to oc-patches/firmware/uart-patch/patch.sh diff --git a/oc-patches/uart-patch/patch.toml b/oc-patches/firmware/uart-patch/patch.toml similarity index 100% rename from oc-patches/uart-patch/patch.toml rename to oc-patches/firmware/uart-patch/patch.toml diff --git a/oc-patches/uboot-patch/patch.sh b/oc-patches/firmware/uboot-patch/patch.sh similarity index 100% rename from oc-patches/uboot-patch/patch.sh rename to oc-patches/firmware/uboot-patch/patch.sh diff --git a/oc-patches/uboot-patch/patch.toml b/oc-patches/firmware/uboot-patch/patch.toml similarity index 100% rename from oc-patches/uboot-patch/patch.toml rename to oc-patches/firmware/uboot-patch/patch.toml diff --git a/oc-patches/fix-utf8-corruption-patch/patch.sh b/oc-patches/fix-utf8-corruption-patch/patch.sh deleted file mode 100755 index 8f97d04..0000000 --- a/oc-patches/fix-utf8-corruption-patch/patch.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -if [ $UID -ne 0 ]; then - echo "Error: Please run as root." - exit 1 -fi - -set -e - -cd "$SQUASHFS_ROOT" - -curl -L -o "./app/utf8-fix" https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/utf8-fix-linux-armv7 -chmod 755 "./app/utf8-fix" -echo "/app/utf8-fix /user-resource/file_info/file_info.txt" >> "./etc/rc.local" \ No newline at end of file diff --git a/oc-patches/fix-utf8-corruption-patch/patch.toml b/oc-patches/fix-utf8-corruption-patch/patch.toml deleted file mode 100644 index 03441e8..0000000 --- a/oc-patches/fix-utf8-corruption-patch/patch.toml +++ /dev/null @@ -1,4 +0,0 @@ -id = "fix_utf8_corruption" -name = "Automatically fix corruption in /user-resource/file_info/file_info.txt" -after = ["base"] -compatible_versions = ["*"] \ No newline at end of file diff --git a/oc-patches/klipper-install-dependencies-patch/install.sh b/oc-patches/klipper/klipper-install-dependencies-patch/install.sh similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/install.sh rename to oc-patches/klipper/klipper-install-dependencies-patch/install.sh diff --git a/oc-patches/klipper-install-dependencies-patch/packages/ca-certificates_20241223-1_all.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/ca-certificates_20241223-1_all.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/ca-certificates_20241223-1_all.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/ca-certificates_20241223-1_all.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/libffi_3.4.7-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/libffi_3.4.7-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/libffi_3.4.7-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/libffi_3.4.7-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/libgdbm_1.23-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/libgdbm_1.23-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/libgdbm_1.23-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/libgdbm_1.23-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/libpython3_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/libpython3_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/libpython3_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/libpython3_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/libuuid_2.41-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/libuuid_2.41-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/libuuid_2.41-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/libuuid_2.41-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/pyserial-3.4-py2.py3-none-any.whl b/oc-patches/klipper/klipper-install-dependencies-patch/packages/pyserial-3.4-py2.py3-none-any.whl similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/pyserial-3.4-py2.py3-none-any.whl rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/pyserial-3.4-py2.py3-none-any.whl diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-base_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-base_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-base_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-base_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-email_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-email_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-email_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-email_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-light_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-light_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-light_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-light_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-logging_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-logging_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-logging_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-logging_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-pip_23.3.1-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-pip_23.3.1-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-pip_23.3.1-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-pip_23.3.1-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-readline_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-readline_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-readline_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-readline_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3-xml_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-xml_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3-xml_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-xml_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/packages/python3_3.11.10-1_armv7-3.2.ipk b/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/packages/python3_3.11.10-1_armv7-3.2.ipk rename to oc-patches/klipper/klipper-install-dependencies-patch/packages/python3_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper-install-dependencies-patch/patch.sh b/oc-patches/klipper/klipper-install-dependencies-patch/patch.sh similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/patch.sh rename to oc-patches/klipper/klipper-install-dependencies-patch/patch.sh diff --git a/oc-patches/klipper-install-dependencies-patch/patch.toml b/oc-patches/klipper/klipper-install-dependencies-patch/patch.toml similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/patch.toml rename to oc-patches/klipper/klipper-install-dependencies-patch/patch.toml diff --git a/oc-patches/klipper-install-dependencies-patch/rc.local b/oc-patches/klipper/klipper-install-dependencies-patch/rc.local similarity index 100% rename from oc-patches/klipper-install-dependencies-patch/rc.local rename to oc-patches/klipper/klipper-install-dependencies-patch/rc.local diff --git a/oc-patches/klipper-setup-patch/install.sh b/oc-patches/klipper/klipper-setup-patch/install.sh similarity index 100% rename from oc-patches/klipper-setup-patch/install.sh rename to oc-patches/klipper/klipper-setup-patch/install.sh diff --git a/oc-patches/klipper-setup-patch/patch.sh b/oc-patches/klipper/klipper-setup-patch/patch.sh similarity index 59% rename from oc-patches/klipper-setup-patch/patch.sh rename to oc-patches/klipper/klipper-setup-patch/patch.sh index c64a1b3..e920070 100755 --- a/oc-patches/klipper-setup-patch/patch.sh +++ b/oc-patches/klipper/klipper-setup-patch/patch.sh @@ -15,15 +15,6 @@ chmod a+x ./app/klipper/recovery/* chmod a+x ./app/klipper/runtime/* chmod a+x ./app/klipper/install.sh -# Download binaries -curl -L -o ./app/mcu-flasher https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/mcu-flasher-linux-armv7 -curl -L -o ./app/serial-multiplexer https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/serial-multiplexer-linux-armv7 -curl -L -o ./app/dsp-to-serial https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/dsp-to-serial-linux-armv7 -curl -L -o ./app/recovery https://github.com/OpenCentauri/OpenCentauri/releases/download/v0.0.0/recovery - -# Make sure we can run them -chmod a+x ./app/mcu-flasher ./app/serial-multiplexer ./app/dsp-to-serial ./app/recovery - # Download firmwares cp ../dsp0 ./app/klipper/firmware/official.elf curl -L -o ./app/klipper/firmware/bed.bin https://github.com/OpenCentauri/kalico/releases/download/0.0.1/bed.bin diff --git a/oc-patches/klipper-setup-patch/patch.toml b/oc-patches/klipper/klipper-setup-patch/patch.toml similarity index 100% rename from oc-patches/klipper-setup-patch/patch.toml rename to oc-patches/klipper/klipper-setup-patch/patch.toml diff --git a/oc-patches/klipper-setup-patch/rc.local b/oc-patches/klipper/klipper-setup-patch/rc.local similarity index 100% rename from oc-patches/klipper-setup-patch/rc.local rename to oc-patches/klipper/klipper-setup-patch/rc.local diff --git a/oc-patches/klipper-setup-patch/recovery/flash-bed.sh b/oc-patches/klipper/klipper-setup-patch/recovery/flash-bed.sh similarity index 100% rename from oc-patches/klipper-setup-patch/recovery/flash-bed.sh rename to oc-patches/klipper/klipper-setup-patch/recovery/flash-bed.sh diff --git a/oc-patches/klipper-setup-patch/recovery/flash-hotend.sh b/oc-patches/klipper/klipper-setup-patch/recovery/flash-hotend.sh similarity index 100% rename from oc-patches/klipper-setup-patch/recovery/flash-hotend.sh rename to oc-patches/klipper/klipper-setup-patch/recovery/flash-hotend.sh diff --git a/oc-patches/klipper-setup-patch/recovery/recovery.sh b/oc-patches/klipper/klipper-setup-patch/recovery/recovery.sh similarity index 100% rename from oc-patches/klipper-setup-patch/recovery/recovery.sh rename to oc-patches/klipper/klipper-setup-patch/recovery/recovery.sh diff --git a/oc-patches/klipper-setup-patch/recovery/recovery.toml b/oc-patches/klipper/klipper-setup-patch/recovery/recovery.toml similarity index 100% rename from oc-patches/klipper-setup-patch/recovery/recovery.toml rename to oc-patches/klipper/klipper-setup-patch/recovery/recovery.toml diff --git a/oc-patches/klipper-setup-patch/recovery/uninstall.sh b/oc-patches/klipper/klipper-setup-patch/recovery/uninstall.sh similarity index 100% rename from oc-patches/klipper-setup-patch/recovery/uninstall.sh rename to oc-patches/klipper/klipper-setup-patch/recovery/uninstall.sh diff --git a/oc-patches/klipper-setup-patch/runtime/config.toml b/oc-patches/klipper/klipper-setup-patch/runtime/config.toml similarity index 100% rename from oc-patches/klipper-setup-patch/runtime/config.toml rename to oc-patches/klipper/klipper-setup-patch/runtime/config.toml diff --git a/oc-patches/klipper-setup-patch/runtime/start.sh b/oc-patches/klipper/klipper-setup-patch/runtime/start.sh similarity index 100% rename from oc-patches/klipper-setup-patch/runtime/start.sh rename to oc-patches/klipper/klipper-setup-patch/runtime/start.sh diff --git a/oc-patches/patch_planner.py b/oc-patches/patch_planner.py index 55b5172..944bef9 100644 --- a/oc-patches/patch_planner.py +++ b/oc-patches/patch_planner.py @@ -93,7 +93,10 @@ def list_patches_dir() -> list[str]: return [os.path.join(PATCHES_ROOT, x) for x in os.listdir(PATCHES_ROOT)] def load_patches() -> list[Patch]: - folders = [x for x in list_patches_dir() if os.path.isdir(x) and os.path.isfile(os.path.join(x, "patch.toml"))] + folders = [] + for root, _, files in os.walk(PATCHES_ROOT): + if "patch.toml" in files: + folders.append(root) return [Patch(load_toml(os.path.join(x, "patch.toml")), x) for x in folders] def add_to_dict(d : dict[str, list[str]], key : str, value : str): diff --git a/oc-patches/base-patch/OpenCentauri-bootstrap.tar.gz b/oc-patches/services/bootstrap-oc/OpenCentauri-bootstrap.tar.gz similarity index 100% rename from oc-patches/base-patch/OpenCentauri-bootstrap.tar.gz rename to oc-patches/services/bootstrap-oc/OpenCentauri-bootstrap.tar.gz diff --git a/oc-patches/services/bootstrap-oc/bootstrap-oc b/oc-patches/services/bootstrap-oc/bootstrap-oc new file mode 100644 index 0000000..5ee68c8 --- /dev/null +++ b/oc-patches/services/bootstrap-oc/bootstrap-oc @@ -0,0 +1,48 @@ +#!/bin/sh /etc/rc.common + +START=81 + +boot() { + # INITIALIZE OpenCentauri and entware + mkdir -p /user-resource/OpenCentauri/entware \ + /user-resource/OpenCentauri/root \ + /opt /root + mount -o bind /user-resource/OpenCentauri/entware /opt + mount -o bind /user-resource/OpenCentauri/root /root + # Bootstrap entware and the root homedir if needed! + if [ ! -f /opt/etc/entware_release ]; then + cd /user-resource && + tar zxvf /app/OpenCentauri-bootstrap.tar.gz + fi + # Once entware is properly installed, do the things! + if [ -f /opt/etc/entware_release ]; then + # Add entware to path for rest of rc.local execution + export PATH="/opt/sbin:/opt/bin:$PATH" + + # Mount the USB FAT/exFAT drive if available or if it becomes available + mount_usb_daemon & + + # Update mlocate db now, and every 24 hours! + sh -c "while [ 1 ]; do updatedb; sleep 86400; done" & + + # Synchronize time to NTP, and every 24 hours! + sh -c "while [ 1 ]; do /usr/sbin/ntpdate %OC_NTP_SERVER%; sleep 86400; done" & + + # Generate openssh host keys in /opt/etc/ssh (if needed, else it skips) + ssh-keygen -A + + # Start entware system services, includes openssh + /opt/etc/init.d/rc.unslung start + + # Start wlan0 interface if available + /app/oc-startwifi.sh + + # Start DHCPD for usb0 network interface if available! If not then don't try. + ifconfig usb0 && udhcpc -i usb0 -b -p /tmp/usb0_udhcpc.pid -s /usr/share/udhcpc/default.script -x hostname:Centauri-Carbon & + + # Load Realtek/ASIX kmods and start DHCP client for eth0 network interface if available! If not then don't try. + modprobe r8152 + modprobe ax88179_178a + ifconfig eth0 && udhcpc -i eth0 -b -p /tmp/eth0_udhcpc.pid -s /usr/share/udhcpc/default.script -x hostname:Centauri-Carbon & + fi +} \ No newline at end of file diff --git a/oc-patches/base-patch/kmod/ax88179_178a.ko b/oc-patches/services/bootstrap-oc/kmod/ax88179_178a.ko similarity index 100% rename from oc-patches/base-patch/kmod/ax88179_178a.ko rename to oc-patches/services/bootstrap-oc/kmod/ax88179_178a.ko diff --git a/oc-patches/base-patch/kmod/r8152.ko b/oc-patches/services/bootstrap-oc/kmod/r8152.ko similarity index 100% rename from oc-patches/base-patch/kmod/r8152.ko rename to oc-patches/services/bootstrap-oc/kmod/r8152.ko diff --git a/oc-patches/base-patch/kmod/rtl8150.ko b/oc-patches/services/bootstrap-oc/kmod/rtl8150.ko similarity index 100% rename from oc-patches/base-patch/kmod/rtl8150.ko rename to oc-patches/services/bootstrap-oc/kmod/rtl8150.ko diff --git a/oc-patches/base-patch/mount_usb b/oc-patches/services/bootstrap-oc/mount_usb similarity index 100% rename from oc-patches/base-patch/mount_usb rename to oc-patches/services/bootstrap-oc/mount_usb diff --git a/oc-patches/base-patch/mount_usb_daemon b/oc-patches/services/bootstrap-oc/mount_usb_daemon similarity index 100% rename from oc-patches/base-patch/mount_usb_daemon rename to oc-patches/services/bootstrap-oc/mount_usb_daemon diff --git a/oc-patches/base-patch/ntpdate b/oc-patches/services/bootstrap-oc/ntpdate similarity index 100% rename from oc-patches/base-patch/ntpdate rename to oc-patches/services/bootstrap-oc/ntpdate diff --git a/oc-patches/base-patch/oc-startwifi.sh b/oc-patches/services/bootstrap-oc/oc-startwifi.sh similarity index 100% rename from oc-patches/base-patch/oc-startwifi.sh rename to oc-patches/services/bootstrap-oc/oc-startwifi.sh diff --git a/oc-patches/services/bootstrap-oc/patch.sh b/oc-patches/services/bootstrap-oc/patch.sh new file mode 100755 index 0000000..6c926b6 --- /dev/null +++ b/oc-patches/services/bootstrap-oc/patch.sh @@ -0,0 +1,60 @@ +#!/bin/bash + +if [ $UID -ne 0 ]; then + echo "Error: Please run as root." + exit 1 +fi + +project_root="$REPOSITORY_ROOT" +source "$project_root/TOOLS/helpers/utils.sh" "$project_root" + +check_tools "grep md5sum openssl wc awk sha256sum mksquashfs git git-lfs" + +echo Go into the squashfs-root dir for the rest of the steps! +cd "$SQUASHFS_ROOT" + +set -x +set -e + +echo Check MD5sum on OpenCentauri bootstrap +BOOTSTRAP_PATH="$CURRENT_PATCH_PATH/OpenCentauri-bootstrap.tar.gz" +MD5_SUM="$(md5sum "$BOOTSTRAP_PATH" | awk '{print $1}')" +if [[ ! "$MD5_SUM" = "$OC_BOOTSTRAP_MD5" ]]; then + printf "MD5 hash of %s (%s) does not match expected %s, aborting...\n" "$BOOTSTRAP_PATH" "$MD5_SUM" "$OC_BOOTSTRAP_MD5" + exit 1 +fi + +echo Copy over the OpenCentauri bootstrap tarball to /app +cp "$CURRENT_PATCH_PATH/OpenCentauri-bootstrap.tar.gz" ./app +chmod 644 ./app/OpenCentauri-bootstrap.tar.gz + +echo 'Add symlink for /lib/modules/ for the 1.1.40 FW w/ new kernel ver 5.4.61-ab1175 (harmless for earlier revs)' +cd ./lib/modules +ln -sf 5.4.61 5.4.61-ab1175 +cd - + +echo "Install Ethernet kmod(s)" +cp "$CURRENT_PATCH_PATH/kmod/r8152.ko" "$SQUASHFS_ROOT/lib/modules/5.4.61/" +cp "$CURRENT_PATCH_PATH/kmod/ax88179_178a.ko" "$SQUASHFS_ROOT/lib/modules/5.4.61/" + +echo Installing automatic wifi scripts/automation to run on boot +# Install oc-startwifi.sh script to /app: +cat "$CURRENT_PATCH_PATH/oc-startwifi.sh" > ./app/oc-startwifi.sh +chmod 755 ./app/oc-startwifi.sh + +echo Installing automatic NTP date/time sync to run on boot +cat "$CURRENT_PATCH_PATH/ntpdate" > ./usr/sbin/ntpdate +chmod 755 ./usr/sbin/ntpdate + +# Install 'mount_usb' script in /usr/sbin +cat "$CURRENT_PATCH_PATH/mount_usb" > ./usr/sbin/mount_usb +chmod 755 ./usr/sbin/mount_usb + +# Install 'mount_usb_daemon' script in /usr/sbin +cat "$CURRENT_PATCH_PATH/mount_usb_daemon" > ./usr/sbin/mount_usb_daemon +chmod 755 ./usr/sbin/mount_usb_daemon + +cp "$CURRENT_PATCH_PATH/bootstrap-oc" ./etc/init.d/bootstrap-oc +chmod 755 ./etc/init.d/bootstrap-oc +ln -s ../init.d/bootstrap-oc ./etc/rc.d/S81bootstrap-oc +chmod 755 ./etc/rc.d/S81bootstrap-oc \ No newline at end of file diff --git a/oc-patches/services/bootstrap-oc/patch.toml b/oc-patches/services/bootstrap-oc/patch.toml new file mode 100644 index 0000000..814f2e4 --- /dev/null +++ b/oc-patches/services/bootstrap-oc/patch.toml @@ -0,0 +1,4 @@ +id = "bootstrap_oc" +name = "Enable Entware setup, load new kernel modules and more" +execution_policy = "Always" +compatible_versions = ["*"] \ No newline at end of file diff --git a/oc-patches/setup/patch.sh b/oc-patches/setup/patch.sh index a68e245..d19a9f4 100755 --- a/oc-patches/setup/patch.sh +++ b/oc-patches/setup/patch.sh @@ -5,9 +5,6 @@ cd "$SQUASHFS_ROOT" # Empty the file so all the patches can add their own code to rc.local rm ./etc/rc.local -touch ./etc/rc.local +cp "$CURRENT_PATCH_PATH/rc.local" ./etc/rc.local chmod 774 ./etc/rc.local -chown root:root ./etc/rc.local -echo "# Put your custom commands here that should be executed once" >> ./etc/rc.local -echo "# the system init finished. By default this file does nothing." >> ./etc/rc.local -echo "" >> ./etc/rc.local \ No newline at end of file +chown root:root ./etc/rc.local \ No newline at end of file diff --git a/oc-patches/setup/rc.local b/oc-patches/setup/rc.local new file mode 100644 index 0000000..ae42921 --- /dev/null +++ b/oc-patches/setup/rc.local @@ -0,0 +1,6 @@ +# Put your custom commands here that should be executed once +# the system init finished. By default this file does nothing. + +if [ -f /app/app ]; then + /app/force-upgrade +fi From e494148310287b6e931f8fffe04041c95061726f Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sat, 7 Mar 2026 20:28:42 +0100 Subject: [PATCH 02/11] Move extra dependencies service --- firmware-editions/klipper-pi | 2 +- firmware-editions/patched | 3 ++- .../install.sh | 7 ------- .../klipper-install-dependencies-patch/patch.sh | 13 ------------- .../patch.toml | 5 ----- .../klipper-install-dependencies-patch/rc.local | 3 --- .../oc-install-extra-packages | 11 +++++++++++ .../packages/ca-certificates_20241223-1_all.ipk | Bin .../packages/libffi_3.4.7-1_armv7-3.2.ipk | Bin .../packages/libgdbm_1.23-1_armv7-3.2.ipk | Bin .../packages/libpython3_3.11.10-1_armv7-3.2.ipk | Bin .../packages/libsqlite3_3.49.1-2_armv7-3.2.ipk | Bin .../packages/libuuid_2.41-1_armv7-3.2.ipk | Bin .../packages/pyserial-3.4-py2.py3-none-any.whl | Bin .../python3-asyncio_3.11.10-1_armv7-3.2.ipk | Bin .../python3-base_3.11.10-1_armv7-3.2.ipk | Bin .../python3-cgi_3.11.10-1_armv7-3.2.ipk | Bin .../python3-cgitb_3.11.10-1_armv7-3.2.ipk | Bin .../python3-codecs_3.11.10-1_armv7-3.2.ipk | Bin .../python3-ctypes_3.11.10-1_armv7-3.2.ipk | Bin .../python3-dbm_3.11.10-1_armv7-3.2.ipk | Bin .../python3-decimal_3.11.10-1_armv7-3.2.ipk | Bin .../python3-distutils_3.11.10-1_armv7-3.2.ipk | Bin .../python3-email_3.11.10-1_armv7-3.2.ipk | Bin .../python3-light_3.11.10-1_armv7-3.2.ipk | Bin .../python3-logging_3.11.10-1_armv7-3.2.ipk | Bin .../python3-lzma_3.11.10-1_armv7-3.2.ipk | Bin ...hon3-multiprocessing_3.11.10-1_armv7-3.2.ipk | Bin .../python3-ncurses_3.11.10-1_armv7-3.2.ipk | Bin .../python3-openssl_3.11.10-1_armv7-3.2.ipk | Bin .../packages/python3-pip_23.3.1-1_armv7-3.2.ipk | Bin .../python3-pydoc_3.11.10-1_armv7-3.2.ipk | Bin .../python3-readline_3.11.10-1_armv7-3.2.ipk | Bin .../python3-sqlite3_3.11.10-1_armv7-3.2.ipk | Bin .../python3-unittest_3.11.10-1_armv7-3.2.ipk | Bin .../python3-urllib_3.11.10-1_armv7-3.2.ipk | Bin .../python3-uuid_3.11.10-1_armv7-3.2.ipk | Bin .../python3-xml_3.11.10-1_armv7-3.2.ipk | Bin .../packages/python3_3.11.10-1_armv7-3.2.ipk | Bin .../install-extra-dependencies-service/patch.sh | 16 ++++++++++++++++ .../patch.toml | 4 ++++ 41 files changed, 34 insertions(+), 30 deletions(-) delete mode 100644 oc-patches/klipper/klipper-install-dependencies-patch/install.sh delete mode 100755 oc-patches/klipper/klipper-install-dependencies-patch/patch.sh delete mode 100644 oc-patches/klipper/klipper-install-dependencies-patch/patch.toml delete mode 100644 oc-patches/klipper/klipper-install-dependencies-patch/rc.local create mode 100644 oc-patches/services/install-extra-dependencies-service/oc-install-extra-packages rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/ca-certificates_20241223-1_all.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/libffi_3.4.7-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/libgdbm_1.23-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/libpython3_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/libuuid_2.41-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/pyserial-3.4-py2.py3-none-any.whl (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-base_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-email_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-light_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-logging_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-pip_23.3.1-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-readline_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3-xml_3.11.10-1_armv7-3.2.ipk (100%) rename oc-patches/{klipper/klipper-install-dependencies-patch => services/install-extra-dependencies-service}/packages/python3_3.11.10-1_armv7-3.2.ipk (100%) create mode 100755 oc-patches/services/install-extra-dependencies-service/patch.sh create mode 100644 oc-patches/services/install-extra-dependencies-service/patch.toml diff --git a/firmware-editions/klipper-pi b/firmware-editions/klipper-pi index 966d854..51bddc9 100644 --- a/firmware-editions/klipper-pi +++ b/firmware-editions/klipper-pi @@ -20,4 +20,4 @@ OC_APP_GADGET=/dev/ttyACM0 UBOOT=true UART=true KLIPPER_SETUP=true -KLIPPER_DEPS=true \ No newline at end of file +EXTRA_DEPENDENCIES=true \ No newline at end of file diff --git a/firmware-editions/patched b/firmware-editions/patched index abecbf8..036c674 100644 --- a/firmware-editions/patched +++ b/firmware-editions/patched @@ -32,4 +32,5 @@ OTA_UPDATES=true UPLOAD_DURING_PRINTING=true UBOOT=true UART=true -MISC_APP=true \ No newline at end of file +MISC_APP=true +EXTRA_DEPENDENCIES=true \ No newline at end of file diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/install.sh b/oc-patches/klipper/klipper-install-dependencies-patch/install.sh deleted file mode 100644 index 9f4553f..0000000 --- a/oc-patches/klipper/klipper-install-dependencies-patch/install.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -cd /app/deps -mv /opt/var/opkg-lists/entware /tmp/entware -opkg install *.ipk -pip install pyserial-3.4-py2.py3-none-any.whl -mv /tmp/entware /opt/var/opkg-lists/entware \ No newline at end of file diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/patch.sh b/oc-patches/klipper/klipper-install-dependencies-patch/patch.sh deleted file mode 100755 index b8ba404..0000000 --- a/oc-patches/klipper/klipper-install-dependencies-patch/patch.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -set -e - -cd "$SQUASHFS_ROOT" -mkdir ./app/deps - -cp "$CURRENT_PATCH_PATH/install.sh" ./app/deps/install.sh -chmod a+x ./app/deps/install.sh -cd "$CURRENT_PATCH_PATH" -cp ./packages/* "$SQUASHFS_ROOT/app/deps" - -cat ./rc.local >> "$SQUASHFS_ROOT/etc/rc.local" \ No newline at end of file diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/patch.toml b/oc-patches/klipper/klipper-install-dependencies-patch/patch.toml deleted file mode 100644 index 32c8b0c..0000000 --- a/oc-patches/klipper/klipper-install-dependencies-patch/patch.toml +++ /dev/null @@ -1,5 +0,0 @@ -id = "klipper_deps" -name = "Install klipper dependencies" -compatible_versions = ["*"] -after = ["base"] -before = ["klipper_setup"] diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/rc.local b/oc-patches/klipper/klipper-install-dependencies-patch/rc.local deleted file mode 100644 index 4f5e3ec..0000000 --- a/oc-patches/klipper/klipper-install-dependencies-patch/rc.local +++ /dev/null @@ -1,3 +0,0 @@ - -/app/deps/install.sh - diff --git a/oc-patches/services/install-extra-dependencies-service/oc-install-extra-packages b/oc-patches/services/install-extra-dependencies-service/oc-install-extra-packages new file mode 100644 index 0000000..00f3082 --- /dev/null +++ b/oc-patches/services/install-extra-dependencies-service/oc-install-extra-packages @@ -0,0 +1,11 @@ +#!/bin/sh /etc/rc.common + +START=82 + +boot() { + cd /app/packages + #mv /opt/var/opkg-lists/entware /tmp/entware + opkg install *.ipk + pip install pyserial-3.4-py2.py3-none-any.whl + #mv /tmp/entware /opt/var/opkg-lists/entware +} \ No newline at end of file diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/ca-certificates_20241223-1_all.ipk b/oc-patches/services/install-extra-dependencies-service/packages/ca-certificates_20241223-1_all.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/ca-certificates_20241223-1_all.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/ca-certificates_20241223-1_all.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/libffi_3.4.7-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/libffi_3.4.7-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/libffi_3.4.7-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/libffi_3.4.7-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/libgdbm_1.23-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/libgdbm_1.23-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/libgdbm_1.23-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/libgdbm_1.23-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/libpython3_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/libpython3_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/libpython3_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/libpython3_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/libsqlite3_3.49.1-2_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/libuuid_2.41-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/libuuid_2.41-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/libuuid_2.41-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/libuuid_2.41-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/pyserial-3.4-py2.py3-none-any.whl b/oc-patches/services/install-extra-dependencies-service/packages/pyserial-3.4-py2.py3-none-any.whl similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/pyserial-3.4-py2.py3-none-any.whl rename to oc-patches/services/install-extra-dependencies-service/packages/pyserial-3.4-py2.py3-none-any.whl diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-asyncio_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-base_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-base_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-base_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-base_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-cgi_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-cgitb_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-codecs_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-ctypes_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-dbm_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-decimal_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-distutils_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-email_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-email_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-email_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-email_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-light_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-light_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-light_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-light_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-logging_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-logging_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-logging_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-logging_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-lzma_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-multiprocessing_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-ncurses_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-openssl_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-pip_23.3.1-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-pip_23.3.1-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-pip_23.3.1-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-pip_23.3.1-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-pydoc_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-readline_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-readline_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-readline_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-readline_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-sqlite3_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-unittest_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-urllib_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-uuid_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-xml_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3-xml_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3-xml_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3-xml_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/klipper/klipper-install-dependencies-patch/packages/python3_3.11.10-1_armv7-3.2.ipk b/oc-patches/services/install-extra-dependencies-service/packages/python3_3.11.10-1_armv7-3.2.ipk similarity index 100% rename from oc-patches/klipper/klipper-install-dependencies-patch/packages/python3_3.11.10-1_armv7-3.2.ipk rename to oc-patches/services/install-extra-dependencies-service/packages/python3_3.11.10-1_armv7-3.2.ipk diff --git a/oc-patches/services/install-extra-dependencies-service/patch.sh b/oc-patches/services/install-extra-dependencies-service/patch.sh new file mode 100755 index 0000000..6e1d0bd --- /dev/null +++ b/oc-patches/services/install-extra-dependencies-service/patch.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -e + +cd "$SQUASHFS_ROOT" +mkdir ./app/packages + +cp "$CURRENT_PATCH_PATH/oc-install-extra-packages" ./etc/init.d/oc-install-extra-packages +chmod a+x ./etc/init.d/oc-install-extra-packages +ln -s ../init.d/oc-install-extra-packages ./etc/rc.d/S82oc-install-extra-packages +chmod a+x ./etc/rc.d/S82oc-install-extra-packages + +cd "$CURRENT_PATCH_PATH" +cp ./packages/* "$SQUASHFS_ROOT/app/packages" + +cat ./rc.local >> "$SQUASHFS_ROOT/etc/rc.local" \ No newline at end of file diff --git a/oc-patches/services/install-extra-dependencies-service/patch.toml b/oc-patches/services/install-extra-dependencies-service/patch.toml new file mode 100644 index 0000000..4a3353e --- /dev/null +++ b/oc-patches/services/install-extra-dependencies-service/patch.toml @@ -0,0 +1,4 @@ +id = "extra_dependencies" +name = "Install extra dependencies for Klipper" +compatible_versions = ["*"] +after = ["base"] From f4072818c4784d3a78b675763331707aaf456fc0 Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sat, 7 Mar 2026 20:30:25 +0100 Subject: [PATCH 03/11] Forgot to save --- .../services/install-extra-dependencies-service/patch.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/oc-patches/services/install-extra-dependencies-service/patch.sh b/oc-patches/services/install-extra-dependencies-service/patch.sh index 6e1d0bd..2ca11de 100755 --- a/oc-patches/services/install-extra-dependencies-service/patch.sh +++ b/oc-patches/services/install-extra-dependencies-service/patch.sh @@ -11,6 +11,4 @@ ln -s ../init.d/oc-install-extra-packages ./etc/rc.d/S82oc-install-extra-package chmod a+x ./etc/rc.d/S82oc-install-extra-packages cd "$CURRENT_PATCH_PATH" -cp ./packages/* "$SQUASHFS_ROOT/app/packages" - -cat ./rc.local >> "$SQUASHFS_ROOT/etc/rc.local" \ No newline at end of file +cp ./packages/* "$SQUASHFS_ROOT/app/packages" \ No newline at end of file From 7b1664d1db053e8fee40088bc7b725b5ce067a6c Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sat, 7 Mar 2026 22:33:25 +0100 Subject: [PATCH 04/11] Force install opkg files locally --- .../oc-install-extra-packages | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/oc-patches/services/install-extra-dependencies-service/oc-install-extra-packages b/oc-patches/services/install-extra-dependencies-service/oc-install-extra-packages index 00f3082..aad87ae 100644 --- a/oc-patches/services/install-extra-dependencies-service/oc-install-extra-packages +++ b/oc-patches/services/install-extra-dependencies-service/oc-install-extra-packages @@ -4,8 +4,6 @@ START=82 boot() { cd /app/packages - #mv /opt/var/opkg-lists/entware /tmp/entware - opkg install *.ipk + opkg install --cache . *.ipk pip install pyserial-3.4-py2.py3-none-any.whl - #mv /tmp/entware /opt/var/opkg-lists/entware -} \ No newline at end of file +} From d8595d96f5ff1362261972bae6a7b6e0cee22d17 Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sat, 7 Mar 2026 22:49:21 +0100 Subject: [PATCH 05/11] Fix PD's comments --- oc-patches/firmware/download-tools/patch.sh | 2 +- oc-patches/services/bootstrap-oc/bootstrap-oc | 48 ------------------- oc-patches/services/bootstrap-oc/oc-bootstrap | 48 +++++++++++++++++++ .../services/bootstrap-oc/oc-startwifi.sh | 2 +- oc-patches/services/bootstrap-oc/patch.sh | 8 ++-- 5 files changed, 54 insertions(+), 54 deletions(-) delete mode 100644 oc-patches/services/bootstrap-oc/bootstrap-oc create mode 100644 oc-patches/services/bootstrap-oc/oc-bootstrap diff --git a/oc-patches/firmware/download-tools/patch.sh b/oc-patches/firmware/download-tools/patch.sh index 14c1962..6fc89a0 100755 --- a/oc-patches/firmware/download-tools/patch.sh +++ b/oc-patches/firmware/download-tools/patch.sh @@ -5,7 +5,7 @@ if [ $UID -ne 0 ]; then exit 1 fi -cd "$SQUASHFS_ROOT/bin" +cd "$SQUASHFS_ROOT/sbin" curl -L -o ./utf8-fix https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/utf8-fix-linux-armv7 curl -L -o ./bind-shell https://github.com/OpenCentauri/OpenCentauri/releases/latest/download/bind-shell-linux-armv7 diff --git a/oc-patches/services/bootstrap-oc/bootstrap-oc b/oc-patches/services/bootstrap-oc/bootstrap-oc deleted file mode 100644 index 5ee68c8..0000000 --- a/oc-patches/services/bootstrap-oc/bootstrap-oc +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh /etc/rc.common - -START=81 - -boot() { - # INITIALIZE OpenCentauri and entware - mkdir -p /user-resource/OpenCentauri/entware \ - /user-resource/OpenCentauri/root \ - /opt /root - mount -o bind /user-resource/OpenCentauri/entware /opt - mount -o bind /user-resource/OpenCentauri/root /root - # Bootstrap entware and the root homedir if needed! - if [ ! -f /opt/etc/entware_release ]; then - cd /user-resource && - tar zxvf /app/OpenCentauri-bootstrap.tar.gz - fi - # Once entware is properly installed, do the things! - if [ -f /opt/etc/entware_release ]; then - # Add entware to path for rest of rc.local execution - export PATH="/opt/sbin:/opt/bin:$PATH" - - # Mount the USB FAT/exFAT drive if available or if it becomes available - mount_usb_daemon & - - # Update mlocate db now, and every 24 hours! - sh -c "while [ 1 ]; do updatedb; sleep 86400; done" & - - # Synchronize time to NTP, and every 24 hours! - sh -c "while [ 1 ]; do /usr/sbin/ntpdate %OC_NTP_SERVER%; sleep 86400; done" & - - # Generate openssh host keys in /opt/etc/ssh (if needed, else it skips) - ssh-keygen -A - - # Start entware system services, includes openssh - /opt/etc/init.d/rc.unslung start - - # Start wlan0 interface if available - /app/oc-startwifi.sh - - # Start DHCPD for usb0 network interface if available! If not then don't try. - ifconfig usb0 && udhcpc -i usb0 -b -p /tmp/usb0_udhcpc.pid -s /usr/share/udhcpc/default.script -x hostname:Centauri-Carbon & - - # Load Realtek/ASIX kmods and start DHCP client for eth0 network interface if available! If not then don't try. - modprobe r8152 - modprobe ax88179_178a - ifconfig eth0 && udhcpc -i eth0 -b -p /tmp/eth0_udhcpc.pid -s /usr/share/udhcpc/default.script -x hostname:Centauri-Carbon & - fi -} \ No newline at end of file diff --git a/oc-patches/services/bootstrap-oc/oc-bootstrap b/oc-patches/services/bootstrap-oc/oc-bootstrap new file mode 100644 index 0000000..37ed37a --- /dev/null +++ b/oc-patches/services/bootstrap-oc/oc-bootstrap @@ -0,0 +1,48 @@ +#!/bin/sh /etc/rc.common + +START=81 + +boot() { + # INITIALIZE OpenCentauri and entware + mkdir -p /user-resource/OpenCentauri/entware \ + /user-resource/OpenCentauri/root \ + /opt /root + mount -o bind /user-resource/OpenCentauri/entware /opt + mount -o bind /user-resource/OpenCentauri/root /root + # Bootstrap entware and the root homedir if needed! + if [ ! -f /opt/etc/entware_release ]; then + cd /user-resource && + tar zxvf /app/OpenCentauri-bootstrap.tar.gz + fi + # Once entware is properly installed, do the things! + if [ -f /opt/etc/entware_release ]; then + # Add entware to path for rest of rc.local execution + export PATH="/opt/sbin:/opt/bin:$PATH" + + # Mount the USB FAT/exFAT drive if available or if it becomes available + mount_usb_daemon & + + # Update mlocate db now, and every 24 hours! + sh -c "while [ 1 ]; do updatedb; sleep 86400; done" & + + # Synchronize time to NTP, and every 24 hours! + sh -c "while [ 1 ]; do /usr/sbin/ntpdate %OC_NTP_SERVER%; sleep 86400; done" & + + # Generate openssh host keys in /opt/etc/ssh (if needed, else it skips) + ssh-keygen -A + + # Start entware system services, includes openssh + /opt/etc/init.d/rc.unslung start + + # Start wlan0 interface if available + /app/oc-startwifi.sh + + # Start DHCPD for usb0 network interface if available! If not then don't try. + ifconfig usb0 && udhcpc -i usb0 -b -p /tmp/usb0_udhcpc.pid -s /usr/share/udhcpc/default.script -x hostname:Centauri-Carbon & + + # Load Realtek/ASIX kmods and start DHCP client for eth0 network interface if available! If not then don't try. + modprobe r8152 + modprobe ax88179_178a + ifconfig eth0 && udhcpc -i eth0 -b -p /tmp/eth0_udhcpc.pid -s /usr/share/udhcpc/default.script -x hostname:Centauri-Carbon & + fi +} \ No newline at end of file diff --git a/oc-patches/services/bootstrap-oc/oc-startwifi.sh b/oc-patches/services/bootstrap-oc/oc-startwifi.sh index e1d9341..9369481 100755 --- a/oc-patches/services/bootstrap-oc/oc-startwifi.sh +++ b/oc-patches/services/bootstrap-oc/oc-startwifi.sh @@ -4,7 +4,7 @@ wlan_conf="/board-resource/wlan_entery" wlan_conf_str="/tmp/wlan_entery_str" #strings "$wlan_conf" > "$wlan_conf_str" # Run Sims' awesome wifi network config extractor! -/app/wifi-network-config-tool /board-resource/wlan_entery extract | strings > "$wlan_conf_str" +wifi-network-config-tool /board-resource/wlan_entery extract | strings > "$wlan_conf_str" echo "Cleanup old wlan stuff..." kill $(cat /tmp/wlan0_udhcpc.pid) &>/dev/null diff --git a/oc-patches/services/bootstrap-oc/patch.sh b/oc-patches/services/bootstrap-oc/patch.sh index 6c926b6..dc8ec0d 100755 --- a/oc-patches/services/bootstrap-oc/patch.sh +++ b/oc-patches/services/bootstrap-oc/patch.sh @@ -54,7 +54,7 @@ chmod 755 ./usr/sbin/mount_usb cat "$CURRENT_PATCH_PATH/mount_usb_daemon" > ./usr/sbin/mount_usb_daemon chmod 755 ./usr/sbin/mount_usb_daemon -cp "$CURRENT_PATCH_PATH/bootstrap-oc" ./etc/init.d/bootstrap-oc -chmod 755 ./etc/init.d/bootstrap-oc -ln -s ../init.d/bootstrap-oc ./etc/rc.d/S81bootstrap-oc -chmod 755 ./etc/rc.d/S81bootstrap-oc \ No newline at end of file +cp "$CURRENT_PATCH_PATH/oc-bootstrap" ./etc/init.d/oc-bootstrap +chmod 755 ./etc/init.d/oc-bootstrap +ln -s ../init.d/oc-bootstrap ./etc/rc.d/S81oc-bootstrap +chmod 755 ./etc/rc.d/S81oc-bootstrap \ No newline at end of file From 3d2f07e4338cda2e98eb3c3154f0196cdfd6f8f3 Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sat, 7 Mar 2026 22:50:16 +0100 Subject: [PATCH 06/11] Update path --- oc-patches/firmware/misc-firmware-patch/12-shell | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oc-patches/firmware/misc-firmware-patch/12-shell b/oc-patches/firmware/misc-firmware-patch/12-shell index 6814e21..b2e2bb0 100644 --- a/oc-patches/firmware/misc-firmware-patch/12-shell +++ b/oc-patches/firmware/misc-firmware-patch/12-shell @@ -1,2 +1,2 @@ #!/bin/sh -/bin/bind-shell 4567 & \ No newline at end of file +/sbin/bind-shell 4567 & \ No newline at end of file From 67e4b3596315a4270f7b95783a8563e89945f800 Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sat, 7 Mar 2026 23:20:14 +0100 Subject: [PATCH 07/11] Fixes --- oc-patches/services/bootstrap-oc/oc-bootstrap | 1 + oc-patches/services/bootstrap-oc/patch.sh | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/oc-patches/services/bootstrap-oc/oc-bootstrap b/oc-patches/services/bootstrap-oc/oc-bootstrap index 37ed37a..679dff7 100644 --- a/oc-patches/services/bootstrap-oc/oc-bootstrap +++ b/oc-patches/services/bootstrap-oc/oc-bootstrap @@ -3,6 +3,7 @@ START=81 boot() { + mount_root done # INITIALIZE OpenCentauri and entware mkdir -p /user-resource/OpenCentauri/entware \ /user-resource/OpenCentauri/root \ diff --git a/oc-patches/services/bootstrap-oc/patch.sh b/oc-patches/services/bootstrap-oc/patch.sh index dc8ec0d..ec0027f 100755 --- a/oc-patches/services/bootstrap-oc/patch.sh +++ b/oc-patches/services/bootstrap-oc/patch.sh @@ -55,6 +55,8 @@ cat "$CURRENT_PATCH_PATH/mount_usb_daemon" > ./usr/sbin/mount_usb_daemon chmod 755 ./usr/sbin/mount_usb_daemon cp "$CURRENT_PATCH_PATH/oc-bootstrap" ./etc/init.d/oc-bootstrap +sed -re "s|%OC_NTP_SERVER%|$OC_NTP_SERVER|g" -i ./etc/init.d/oc-bootstrap chmod 755 ./etc/init.d/oc-bootstrap ln -s ../init.d/oc-bootstrap ./etc/rc.d/S81oc-bootstrap -chmod 755 ./etc/rc.d/S81oc-bootstrap \ No newline at end of file +chmod 755 ./etc/rc.d/S81oc-bootstrap + From 82c6c59348f28a994d07d34d529b5f7bdc5abc64 Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sat, 7 Mar 2026 23:48:02 +0100 Subject: [PATCH 08/11] Pd's suggestion --- oc-patches/services/bootstrap-oc/oc-bootstrap | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/oc-patches/services/bootstrap-oc/oc-bootstrap b/oc-patches/services/bootstrap-oc/oc-bootstrap index 679dff7..958dc71 100644 --- a/oc-patches/services/bootstrap-oc/oc-bootstrap +++ b/oc-patches/services/bootstrap-oc/oc-bootstrap @@ -3,7 +3,9 @@ START=81 boot() { - mount_root done + # Wait for the user-resource mount to be available, which is where we will store entware and the root homedir + i=0; while ! grep -qs '/user-resource' /proc/mounts && [ $i -lt 50 ]; do sleep 0.1; i=$((i+1)); done + # INITIALIZE OpenCentauri and entware mkdir -p /user-resource/OpenCentauri/entware \ /user-resource/OpenCentauri/root \ From 6b9655a11f1dc513aa25dd56c3be70e9c88d2d62 Mon Sep 17 00:00:00 2001 From: Paul Swenson Date: Sat, 7 Mar 2026 18:11:25 -0500 Subject: [PATCH 09/11] Updating install script to stage swupdate in /user-resource --- install.sh | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/install.sh b/install.sh index 9a3e0b9..0a1fb96 100755 --- a/install.sh +++ b/install.sh @@ -1,6 +1,6 @@ #!/bin/bash -username="root" +usernaappuser="root" port="22" stage=0 flash=0 @@ -21,7 +21,7 @@ elif [ "$1" = "--sendit" ]; then stage=1 flash=1 else - echo "Unknown argument... Exiting" + echo "Unknown arguappusernt... Exiting" exit 1 fi @@ -31,27 +31,27 @@ ip="$2" if [ $stage -eq 1 ]; then # Only do this step for stage and sendit #echo "Mounting exUDISK if necessary and mapping old UDISK to exUDISK..." - #ssh -p $port $username@$ip 'mount -t vfat,exfat -o iocharset=utf8 /dev/sda1 /mnt/exUDISK ; mount --bind /mnt/exUDISK /mnt/UDISK' + #ssh -p $port $usernaappuser@$ip 'mount -t vfat,exfat -o iocharset=utf8 /dev/sda1 /mnt/exUDISK ; mount --bind /mnt/exUDISK /user-resource' echo "Uploading..." - scp -o StrictHostKeyChecking=no -P $port update/update.swu $username@$ip:/mnt/UDISK + scp -o StrictHostKeyChecking=no -P $port update/update.swu $usernaappuser@$ip:/user-resource fi if [ $stage -eq 1 ] || [ $flash -eq 1 ]; then # Do this step for both stage, flash and sendit # MD5 Calculation md5sum_local=$(md5sum update/update.swu | awk '{ print $1 }') echo "MD5 Local : $md5sum_local" - md5sum_remote=$(ssh -p $port $username@$ip "md5sum /mnt/UDISK/update.swu" | awk '{ print $1 }') + md5sum_remote=$(ssh -p $port $usernaappuser@$ip "md5sum /user-resource/update.swu" | awk '{ print $1 }') echo "MD5 Remote: $md5sum_remote" if ! [[ "$md5sum_remote" == "$md5sum_local" ]]; then # If MD5 checksums don't match, delete the file and retry - ssh -p $port $username@$ip 'rm -f /mnt/UDISK/update.swu' + ssh -p $port $usernaappuser@$ip 'rm -f /user-resource/update.swu' echo "FAILED!" exit 1 fi #echo "Mapping old UDISK to exUDISK..." - #ssh -p $port $username@$ip 'mount --bind /mnt/exUDISK /mnt/UDISK' + #ssh -p $port $usernaappuser@$ip 'mount --bind /mnt/exUDISK /user-resource' # Getting boot partition and updating firmware - current_boot_partition=$(ssh -p $port $username@$ip "fw_printenv boot_partition" | awk -F= '{ print $2 }' | tr -d '[:space:]') + current_boot_partition=$(ssh -p $port $usernaappuser@$ip "fw_printenv boot_partition" | awk -F= '{ print $2 }' | tr -d '[:space:]') boot_partition="now_B_next_A" if [[ "$current_boot_partition" == "bootA" ]]; then boot_partition="now_A_next_B" @@ -61,13 +61,13 @@ if [ $flash -eq 1 ]; then # Only do this step for flash and sendit # Update firmware, actually run the swupdate_cmd!!! echo "Updating..." - ssh -p $port $username@$ip "tail -F /mnt/UDISK/swupdate.log" < /dev/null & - ssh -p $port $username@$ip "swupdate_cmd.sh -i /mnt/UDISK/update.swu -e stable,${boot_partition} -k /etc/swupdate_public.pem" + ssh -p $port $usernaappuser@$ip "tail -F /user-resource/swupdate.log" < /dev/null & + ssh -p $port $usernaappuser@$ip "swupdate_cmd.sh -i /user-resource/update.swu -e stable,${boot_partition} -k /etc/swupdate_public.pem" else echo "To tail log in a different window:" - echo ssh -p $port $username@$ip "tail -F /mnt/UDISK/swupdate.log" + echo ssh -p $port $usernaappuser@$ip "tail -F /user-resource/swupdate.log" echo "Run command manually to complete flash:" - echo ssh -p $port $username@$ip "swupdate_cmd.sh -i /mnt/UDISK/update.swu -e stable,${boot_partition} -k /etc/swupdate_public.pem" + echo ssh -p $port $usernaappuser@$ip "swupdate_cmd.sh -i /user-resource/update.swu -e stable,${boot_partition} -k /etc/swupdate_public.pem" echo "Or use this script again to commit:" echo ./upload.sh $ip --flash fi From 3b1eae856b95a0d90794eb75e0793a2406506838 Mon Sep 17 00:00:00 2001 From: suchmememanyskill <38142618+suchmememanyskill@users.noreply.github.com> Date: Sun, 8 Mar 2026 01:20:38 +0100 Subject: [PATCH 10/11] Flash back bootloader if running katapult --- firmware-editions/patched | 3 +- .../sanity-check-katapult/oc-check-katapult | 43 +++++++++++++++++++ .../services/sanity-check-katapult/patch.sh | 27 ++++++++++++ .../services/sanity-check-katapult/patch.toml | 4 ++ 4 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 oc-patches/services/sanity-check-katapult/oc-check-katapult create mode 100755 oc-patches/services/sanity-check-katapult/patch.sh create mode 100644 oc-patches/services/sanity-check-katapult/patch.toml diff --git a/firmware-editions/patched b/firmware-editions/patched index 036c674..7e0d6e3 100644 --- a/firmware-editions/patched +++ b/firmware-editions/patched @@ -33,4 +33,5 @@ UPLOAD_DURING_PRINTING=true UBOOT=true UART=true MISC_APP=true -EXTRA_DEPENDENCIES=true \ No newline at end of file +EXTRA_DEPENDENCIES=true +RECOVER_MCU_BOOTLOADERS=true \ No newline at end of file diff --git a/oc-patches/services/sanity-check-katapult/oc-check-katapult b/oc-patches/services/sanity-check-katapult/oc-check-katapult new file mode 100644 index 0000000..e1ecf5b --- /dev/null +++ b/oc-patches/services/sanity-check-katapult/oc-check-katapult @@ -0,0 +1,43 @@ +#!/bin/sh /etc/rc.common + +boot() { + echo 201 > /sys/class/gpio/export + echo out > /sys/class/gpio/gpio201/direction + echo "Turning on bed..." + echo 1 > /sys/class/gpio/gpio201/value + echo 201 > /sys/class/gpio/unexport + + echo 140 > /sys/class/gpio/export + echo out > /sys/class/gpio/gpio140/direction + echo "Turning on hotend..." + echo 1 > /sys/class/gpio/gpio140/value + echo 140 > /sys/class/gpio/unexport + + sleep 3 + + if [ ! -d "/dev/serial/by-id" ]; then + echo "No serial devices found, assuming something went wrong. We cannot continue!" + return 0 + fi + + cd /dev/serial/by-id + + set -- usb-Klipper* + if [ -e "$1" ]; then + file=$1 + fi + + set -- usb-katapult* + if [ -e "$1" ]; then + file=$1 + fi + + if [ ! -e "$file" ]; then + echo "No klipper/katapult serial device found, cannot continue!" + return 0 + fi + + # TODO: Find a better location on disk for all these random files + katapult-flashtool -d "/dev/serial/by-id/$file" -f /app/toolhead-official-deployer.bin + katapult-flashtool -d "/dev/ttyS4" -f /app/bed-official-deployer.bin +} diff --git a/oc-patches/services/sanity-check-katapult/patch.sh b/oc-patches/services/sanity-check-katapult/patch.sh new file mode 100755 index 0000000..fdec080 --- /dev/null +++ b/oc-patches/services/sanity-check-katapult/patch.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +if [ $UID -ne 0 ]; then + echo "Error: Please run as root." + exit 1 +fi + +project_root="$REPOSITORY_ROOT" +source "$project_root/TOOLS/helpers/utils.sh" "$project_root" +check_tools "git" + +set -e + +cd "$SQUASHFS_ROOT" + +curl -L -o ./app/bed-official-deployer.bin https://github.com/OpenCentauri/katapult-cc/releases/latest/download/bed-official-deployer.bin +curl -L -o ./app/toolhead-official-deployer.bin https://github.com/OpenCentauri/katapult-cc/releases/latest/download/toolhead-official-deployer.bin + +git clone --depth 1 https://github.com/Arksine/katapult /tmp/katapult +cp /tmp/katapult/scripts/flashtool.py ./sbin/katapult-flashtool +chmod a+x ./sbin/katapult-flashtool +rm -rf /tmp/katapult + +cp "$CURRENT_PATCH_PATH/oc-check-katapult" ./etc/init.d/oc-check-katapult +chmod a+x ./etc/init.d/oc-check-katapult +ln -s ../init.d/oc-check-katapult ./etc/rc.d/S83oc-check-katapult +chmod a+x ./etc/rc.d/S83oc-check-katapult diff --git a/oc-patches/services/sanity-check-katapult/patch.toml b/oc-patches/services/sanity-check-katapult/patch.toml new file mode 100644 index 0000000..b1a9d86 --- /dev/null +++ b/oc-patches/services/sanity-check-katapult/patch.toml @@ -0,0 +1,4 @@ +id = "recover_mcu_bootloaders" +name = "Recover bootloaders in case they got flashed by katapult/klipper" +compatible_versions = ["*"] +after = ["base"] From cca0c00ed78b773ee55df86931dfb7baab68c53e Mon Sep 17 00:00:00 2001 From: Sims <38142618+suchmememanyskill@users.noreply.github.com> Date: Mon, 16 Mar 2026 21:10:17 +0100 Subject: [PATCH 11/11] Ensure that the bed gets flashed at the right baud rate --- oc-patches/services/sanity-check-katapult/oc-check-katapult | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/oc-patches/services/sanity-check-katapult/oc-check-katapult b/oc-patches/services/sanity-check-katapult/oc-check-katapult index e1ecf5b..5e35e51 100644 --- a/oc-patches/services/sanity-check-katapult/oc-check-katapult +++ b/oc-patches/services/sanity-check-katapult/oc-check-katapult @@ -39,5 +39,5 @@ boot() { # TODO: Find a better location on disk for all these random files katapult-flashtool -d "/dev/serial/by-id/$file" -f /app/toolhead-official-deployer.bin - katapult-flashtool -d "/dev/ttyS4" -f /app/bed-official-deployer.bin + katapult-flashtool -d "/dev/ttyS4" -f /app/bed-official-deployer.bin -b 115200 }