Skip to content

Latest commit

 

History

History
343 lines (253 loc) · 12.5 KB

README.md

File metadata and controls

343 lines (253 loc) · 12.5 KB

GitHub all downloads GitHub release (latest by date)

PineFlash

A GUI tool to flash IronOS to the Pinecil V1, V2 and future other pine products.

Features

  • Auto-fetch the newest stable release of IronOS firmware.
  • Allows manual installs of beta versions using a browse to file feature.
  • Selectable options: pick the iron type, pick the firmware version and download it.
  • Boot logo art upload supported for V1 (use custom & folder icon)

Supported Devices

System Linux MacOS Windows
Pinecil V1
Pinecil V2

🖥️ Install Options

  1. Easy install: use premade binaries, currently only available for Linux x86 distros and Windows x86.

  2. Build from Code: recommended if you are on MacOS, an ARM device, or doing development.

🗜️ Premade Binaries

Windows

Download the latest pineflash exe file from the releases page.

Then just double click it.

RedHat distros (Fedora, Centos, Nobara, Rocky, etc.)

Download the latest pineflash .rpm file from the releases page.

Then just run.

sudo dnf install ./pineflash-*.x86_64.rpm

Arch based distros (Arch, Artix, Manjaro, Endeavor, etc.)

Download the latest pineflash pkg.tar.zst file from the releases page.

Then simply run.

sudo pacman -U pineflash-*-x86_64.pkg.tar.zst

Debian based distros (Debian, Ubuntu, PopOs, etc.)

Download the latest pineflash .deb file from the releases page.

Then just run.

sudo apt install ./pineflash_*_amd64.deb

Other Linux x86 distro's

Download the latest pineflash .tar.xz file from the releases page.

Extract the file.

tar -xf ./pineflash-*-x86_64.tar.xz

And copy the contents into your system

doas cp -r ./usr /

NOTE: Make sure you install dfu-util manually if you have a pinecil v1 and choose this option. Window manager users should ensure they have a pokit agent installed and enabled.

MacOs

Sorry we dont have built apps for you yet, head to the build from code section and use the Unix install script.

NOTE: You will also need to start pineflash from the terminal, this is on the todo list to get fixed.

 

🏗️ Build from code

Use this build method if the premade binaries do not support your architecture or you have dev purposes.

📑 Build Dependancies

  • Install these if you do not have them (not needed if using the PKGBUILD).
  • Use the General list if you do not see your OS name.
 
General dependancy list

If your operating system has its own section, then please go there; it has package names tailored to your distro.

This list only covers linux distros which are not named below.

If you had to install more dependencies to get it to work, please open an issue to let us know the specific OS and packages you used.

cmake
rust 
git
dfu-util - for pinecil V1 support
polkit - Linux only
gcc         
MacOS
cmake
rust
git
dfu-util (for pinecil v1)
gcc  (newest one)
Dependencies for Debian
cmake
rust-all (alternatively go to https://rustup.rs/)
git
dfu-util - for pinecil V1 support
policykit-1
g++
pkg-config 
libglib2.0-dev
build-essential    
libfontconfig-dev 
fontconfig-config  
libgdk3.0-cli-dev
libatk1.0-0   
libatk1.0-dev       
libgtk-3-dev             

This line will install everything:

sudo apt install cmake rust-all git dfu-util policykit-1 g++ pkg-config libglib2.0-dev build-essential libfontconfig-dev fontconfig-config libgdk3.0-cli-dev libatk1.0-0 libatk1.0-dev libgtk-3-dev             
Dependencies for Arch
cmake
rust (If doing development i recommend the `rustup` package)
git
dfu-util - for pinecil V1 support
polkit
gcc
pkgconf
glibc 
base-devel 
fontconfig
atmm
gtk3         

This line will install everything:

sudo pacman -S --needed cmake rust git dfu-util polkit gcc pkgconf glibc base-devel fontconfig atmm gtk3
 

🧰 Build option 1, handy scripts

Handy scripts will compile and install PineFlash for you.

Build Unix from script. (Macos and Linux)

  1. To build from source code, first install build dependencies.
  2. Download the source code with the following commands.
git clone https://github.com/Spagett1/PineFlash/
cd PineFlash
  1. Run the generic_unix_install.sh file which will build and install Pineflash.

Build on Arch based distro's (Arch, Artix, Manjaro, Endeavor, Arch Arm, etc.)

  1. All dependancies will be handled by the PKGBUILD
  2. Download the source code with the following commands.
git clone https://github.com/Spagett1/PineFlash/
cd PineFlash
  1. Just run makepkg -si in the main directory to build and install it.
 

🏋️‍♂️ Build option 2, manual build

Old school style, this is recommended if you have issues with the scripts or want to help develop PineFlash.

  1. Install all the build dependancies listed above.

  2. Download the source code.

git clone https://github.com/Spagett1/PineFlash/
cd PineFlash 
  1. Download blisp which is needed for pinecil V2 support, alternatively compile it if you are not on a 64 bit computer. Instructions

In the following instructions replace platform with your operating system (linux or macos)

curl -L "https://github.com/pine64/blisp/releases/download/v0.0.3/blisp-platform64-v0.0.3.zip" -o "blisp-platform64-v0.0.3.zip"
unzip "blisp-platform-v0.0.3.zip"
sudo mv ./blisp /usr/local/bin/blisp

🎯 Important: Don't forget to add blisp to your path

  1. Then build pineflash itself
cargo build --release
  1. The resulting binary will be in target/release/pineflash, this can be moved into your path (/usr/bin/pineflash) or just run as a portable executable.

  2. Then copy the assets/Pineflash.desktop file to /usr/share/applications and copy assets/pine64logo.png to /usr/share/pixmaps for the shortcut to show up in launchers. (This does not apply to MacOs, you will have to run pineflash from the terminal for now, sorry.)

  3. Just run the program by typing it into the terminal.

pineflash

Alternatively just run it from your app launcher (unless your on macos).

 

🏃 Run

Linux: Pineflash should appear in app launcher options. Alternatively, you can run the command:

 `pineflash`

MacOS: Sorry, no launcher icon yet, youll need to run this command to run pineflash.

 `pineflash`

Windows: Just run pineflash from the start menu or desktop icon.

 

🖌️ Boot Logo Art

  • Select Custom from version drop-down, then click on the folder icon to browse to the art file you want to load.
  • Currently only V1 supports Boot logos.
  • See IronOS-Meta to get premade art or details on how to make custom art.
  • Work in progress by Ralim to get blisp to support logos for V2.
  • Presently, the only method for V2 is to make a custom version of IronOS firmware with logo art embeded in the code; this is for advanced users comfortable Github and code changes see here.

🔌 Connect Pinecil to a PC

  1. To do the firmware update, connect one end of a USB cable to the PC.
  2. Then, hold down the [-] button before plugging the usb-c cable to the back of Pinecil.
  3. Keep holding the [-] for ~10 seconds more before releasing the button. If you correctly entered flashing mode, the screen will be black/empty. If not, do it again, flip the cable, or try another cable, different port, or a different PC.
  4. See Pinecil Wiki firmware details if you get stuck.
 

🗓️ Todo

  • MacOS premade binary
  • Launcher icon for macos, easier method to install
  • Improve UI (colors, design, workflow).
  • In app instructions for connecting pinecil to pc.
  • V2 boot logo art support when blisp supports it.

🍵 Feel like supporting me?

Well you can buy me a coffee, or rather tea bags since i dont drink coffee ;)

Buy Me A Coffee

📖 References

  • Blisp - Backend for flashing Pinecil V2
  • Dfu-util - Backend for flashing Pinecil V1
  • Pinecil - The Pinecil Wiki page
  • IronOS - The firmware running on this soldering iron
  • PineSAM - A cool Bluetooth app to control Pinecil V2 from any browser
  • Egui - The awesome GUI toolkit used to make this program
  • InnoSetup - The software i use to generate windows releases
  • FPM - The tool i use to generate linux releases for all sorts of distros

💨 Stay fluxy my friends.

Source