From e1d8001fb477a0d8f522a63dd7de0fef8ed53a5a Mon Sep 17 00:00:00 2001 From: Chris Kerins Date: Tue, 6 Feb 2024 12:53:45 -0500 Subject: [PATCH] Add PiShrink step to the workflow (#1) * Add PiShrink step to the workflow * Add environment variables for Raspberry Pi 64-bit builder * Update Makefile command to include debug information * Add source distribution target to Makefile * Remove unnecessary provisioner command * Add armhf architecture support * Remove armhf architecture provisioning * Refactor Makefile to remove unnecessary files * Update Makefile command in publish.yml * Update pwngrid URL in raspberrypi64.yml * Add permissions to publish workflow * Remove unnecessary permissions in publish.yml --- .github/workflows/publish.yml | 10 +++++++--- Makefile | 10 +++++++--- builder/raspberrypi64.yml | 7 +++++-- 3 files changed, 19 insertions(+), 8 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2ef78a5e..fec25bfd 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -95,9 +95,13 @@ jobs: run: make env: PWN_VERSION: ${{ steps.tag-setter.outputs.TAG }} - # - name: Create .img file - # run: | - # dd if=/dev/zero of=/home/runner/work/pwnagotchi-bookworm/pwnagotchi-bookworm/disk.img bs=1M count=1024 + + - name: PiShrink + run: | + wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh + chmod +x pishrink.sh + sudo mv pishrink.sh /usr/local/bin + find /home/runner/work/ -type f -name "*.img" -exec sudo pishrink.sh {} \; - name: Compress .img files run: | diff --git a/Makefile b/Makefile index ebf293f7..898da0ea 100644 --- a/Makefile +++ b/Makefile @@ -48,11 +48,15 @@ $(PACKER): rm $(PACKER).zip chmod +x $@ +SDIST := dist/pwnagotchi-$(PWN_VERSION).tar.gz +$(SDIST): setup.py pwnagotchi + python3 setup.py sdist + # Building the image requires packer, but don't rebuild the image just because packer updated. pwnagotchi: | $(PACKER) # If the packer or ansible files are updated, rebuild the image. -pwnagotchi: builder/pwnagotchi.json.pkr.hcl builder/raspberrypi64.yml $(shell find builder/data -type f) +pwnagotchi: $(SDIST) builder/pwnagotchi.json.pkr.hcl builder/raspberrypi64.yml $(shell find builder/data -type f) cd builder && $(PACKER) init pwnagotchi.json.pkr.hcl && sudo $(UNSHARE) $(PACKER) build -var "pwn_hostname=$(PWN_HOSTNAME)" -var "pwn_version=$(PWN_VERSION)" pwnagotchi.json.pkr.hcl @@ -60,5 +64,5 @@ pwnagotchi: builder/pwnagotchi.json.pkr.hcl builder/raspberrypi64.yml $(shell fi image: pwnagotchi clean: - - rm -rf pwnagotchi.egg-info - - rm -f $(PACKER) + - rm -rf dist pwnagotchi.egg-info + - rm -f $(PACKER) \ No newline at end of file diff --git a/builder/raspberrypi64.yml b/builder/raspberrypi64.yml index 985aacd3..12f47e74 100644 --- a/builder/raspberrypi64.yml +++ b/builder/raspberrypi64.yml @@ -44,7 +44,7 @@ ui: "https://github.com/bettercap/ui/releases/download/v1.3.0/ui.zip" pwngrid: source: "https://github.com/jayofelony/pwngrid.git" - url: "https://github.com/jayofelony/pwngrid/releases/download/v1.10.5/pwngrid-1.11.1-aarch64.zip" + url: "https://github.com/jayofelony/pwngrid/releases/download/v1.10.5/pwngrid-1.10.5-aarch64.zip" apt: downgrade: - libpcap-dev_1.9.1-4_arm64.deb @@ -174,7 +174,10 @@ - xxd - zlib1g-dev - zram-tools - + environment: + ARCHFLAGS: "-arch aarch64" + QEMU_UNAME: "{{ kernel.full }}" + tasks: # First we install packages - name: install packages