Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create build.sh #49

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Create build.sh #49

wants to merge 4 commits into from

Conversation

count0nz
Copy link

@count0nz count0nz commented May 5, 2024

Automaticly Builds for the FM Specified after build.sh ie 1100 etc.

Automaticly Builds for the FM Specified after build.sh ie 1100 etc.
Copy link

@DiegoRojasGonzalez DiegoRojasGonzalez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be good to indicate the version via console and list them. I also thought about doing the following to reuse everything in a variable and improve the installation for the future so that even a baby could install it :

#!/bin/bash
# Please use ./build.sh with the Firmware version ie. 900/1100 etc.

echo "Compatible FW versions:"
echo "FW 8.00 / 8.01 / 8.03"
echo "FW 8.50 / 8.52"
echo "FW 9.00"
echo "FW 9.03 / 9.04"
echo "FW 9.50 / 9.51 / 9.60"
echo "FW 10.00 / 10.01"
echo "FW 10.50 / 10.70 / 10.71"
echo "FW 11.00"

read -p "Enter a number for FW : " num

make -C stage1 FW=$num clean && make -C stage1 FW=$num
make -C stage2 FW=$num clean && make -C stage2 FW=$num

@PokersKun
Copy link
Contributor

Here's the compilation script I'm temporarily using, which reads the Makefile to generate all the supported stage1 and stage2 files:

#!/bin/bash

rm -rf out
mkdir -p out/stage1
mkdir -p out/stage2

echo "build stage1.bin for all firmware..."
fw_numbers_s1=$(cat stage1/Makefile | grep -oP '\b\d+\b')
fw_array_s1=($fw_numbers_s1)

for fw1 in "${fw_array_s1[@]}"
do
    echo "building FW=$fw1..."
    make -C stage1 FW=$fw1 clean
    mkdir -p out/stage1/$fw1
    make -C stage1 FW=$fw1
    mv stage1/stage1.bin out/stage1/$fw1
done

echo "build stage2.bin for all firmware..."
fw_numbers_s2=$(cat stage2/Makefile | grep -oP '\b\d+\b')
fw_array_s2=($fw_numbers_s2)

for fw2 in "${fw_array_s2[@]}"
do
    echo "building FW=$fw2..."
    make -C stage2 FW=$fw2 clean
    mkdir -p out/stage2/$fw2
    make -C stage2 FW=$fw2
    mv stage2/stage2.bin out/stage2/$fw2
done

@fszf
Copy link

fszf commented Jan 29, 2025

In the spirit of making this baby proof, here is a beautiful/simple/future-proof script to build and run PPPwn. This is for most linux distro/package manager. Includes checks for python install, pip install, and a virtual env install if required. I use arch, so wasn't sure about the other distro package names or manager and not sure if this works in windows (sorry!). Feel free to update/use/merge.

https://gist.github.com/fszf/4fb9787eb4e7f7f557718bd0c8da6a1a
Screenshot_2025-01-29_10-40-56
Screenshot_2025-01-29_10-42-21

@DiegoRojasGonzalez
Copy link

@fszf maybe implement a single PR with this changes , very nice job🤔👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants