pine64 / blisp

ISP tool & library for Bouffalo Labs RISC-V Microcontrollers and SoCs
MIT License
149 stars 20 forks source link

Install instructions for Linux needed #4

Closed River-Mochi closed 1 year ago

River-Mochi commented 1 year ago

Someone came to Pinecil chat today wanting to install beta on Arch linux.

I gave NovaViper the packages and the command line like written in Pinecil-Dev channel but he could not get it to work. Please advise on procedure for Linux so we can help people in live chat when you are sleeping. I do not have linux to test it.

This is the command he used in Linux that failed. sudo bash ./blisp.exe write -c bl70x --reset Pinecilv2_EN.bin

The terminal says ./blisp.exe: ./blisp.exe: cannot execute binary file

he followed the instructions from Discord chat pinecil-dev but it's only for Windows and not Linux.

River-Mochi commented 1 year ago

Someone in Discord said perhaps this is needed git clone --recursive

NovaViper followed the exact instructions here under Building: https://github.com/pine64/blisp

Perhaps that needs to have a few more lines of instructions for Linux people?

image

I don't have linux presently (for long time now) so I could not assist and test with them.

Separately, he did not know how to Connect pinecil to PC/laptop. so I can Submit a PR later which will have some of those Instructions. Some people are brand new Owners of Pinecil V2, so they need basic steps information.

robertlipe commented 1 year ago

The necessary part of this was included in #1, which was ignored. https://github.com/pine64/blisp/pull/1 I don't remember having to set the other flags. Just a cmake . worked, which is pretty much how you build all code these days. (Yes, it should probably be included.)

robertlipe commented 1 year ago

Using DOS filenames on UNIX is weird. Are you sure it's not just blisp? Look at the file that was generated and I'm pretty sure it's blisp, not blisp.exe.

gamelaster commented 1 year ago

@robertlipe your #1 wasn't ignored, just didn't had time to check it out and cherry pick the stuff.

About blisp.exe, it's correct since I posted instructions for Windows build.

River-Mochi commented 1 year ago

Collected instructions that I gathered from people today for Building Linux Flasher Binery from the code in this repo. Please update/correct as needed . I don't have linux . I"m not sure if this in the best order either.

How to compile BLISP Linux flasher for updating Pinecil V2.

Note: This has been fully tested by Mr. Potato on x86-64. The build process also works on aarch64 and armv7.

(1) Get Source Code is here for Linux BLISP flasher. This is the one we are using because it's open source & gamiee wrote/supports it. This only works for V2 pinecil and not the older V1 pinecil which has a different MCU. https://github.com/pine64/blisp Click green Code button, then Download Zip.

(2) Linux set-up steps:

git clone --recursive https://github.com/pine64/blisp.git
cd blisp
mkdir build && cd build
cmake -DBLISP_BUILD_CLI=ON ..
cmake --build .

It will be in tools/blisp folder, so can be run as ./tools/blisp/blisp later (3)mkdir tools/blisp/data (4) unzip eflash_loader_32m.zip -d tools/blisp/data/bl70x/ eflash is not included in this blisp repo downloaded in step (1) and is attached below. Unzip it and put it into the bl70x folder.

(5) Get V2 beta firmware from Github IronOS Actions like this link below or a newer dated Action. Scroll to the very bottom of this linked page: https://github.com/Ralim/IronOS/actions/runs/3409043548 Get Pinecilv2.zip and unzip it. English = Pinecilv2_EN.bin file.

(6) Put the Pinecilv2_EN.bin (or other language) into tools/blisp/data/bl70x/ can delete all the rest of the Pinecilv2**.zip as it is not needed.

(7) Connect Pinecil V2 to the PC. Hold (-) button down first and Keep holding (-). Then Plug in the USB-C cable. Wait another 15-20sec before releasing the (-) button. If successful, the screen will be black/blank which means you are are in flasher mode and ready to upload firmware. If this fails, then see troubleshooting below.

(8) Execute sudo ./tools/blisp/blisp write -c bl70x --reset Pinecilv2_EN.bin or a different language Pinecilv2*.bin you extracted earlier.

(9) Done. Unplug from the PC, and restart V2. Hold down (-) button to see new firmware version number.

Troubleshooting

  1. If the Pinecil fails to connect to the PC, then try different cables (usb-C to C is recommended over Usb-A), and try different Usb ports, and then try a different PC/laptop.

  2. it is important that to hold down the (-) button before plugging in the usb-c cable, and do not release the button for another 15-20 seconds. try to hold it a longer before releasing if your computer is slow and it is not working.

  3. If all of this fails then Join one of the Community Live Chat channels linked in the Pinecil Wiki https://wiki.pine64.org/wiki/Pinecil#Community_links

  4. And/or open a an new issue ticket here https://github.com/pine64/blisp/issues

eflash_loader_32m.zip

River-Mochi commented 1 year ago

Are you sure it's not just blisp? Look at the file that was generated and I'm pretty sure it's blisp, not blisp.exe.

there was just some confusion since the blisp.exe file was for windows only and not for linux. it's all sorted now.

River-Mochi commented 1 year ago

If you like the above @gamelaster I could make a PR for the Build Instructions but where do you want it?

It is a lot of sentences so maybe not have it all on the Readme front page?

Either I put all of this under Build on the main front Readme page, or we remove Build, put it on a separate page that we link to this Build or Get Started or some other name document?

Just let me know which way or make a document name you like and I will use that.