linuxerwang / rkflashkit

rkflashkit is an open source toolkit for flashing Linux kernel images to rockchip rk3066/rk3188/rk3288 etc. based devices. It's programmed with python and gtk2.
214 stars 74 forks source link

./waf debian Node.py line 282 raises StopIteration #25

Open robross0606 opened 1 year ago

robross0606 commented 1 year ago
root@system:~/rkflashkit# ./waf debian
'debian' finished successfully (0.000s)
Setting top to                           : /root/rkflashkit 
Setting out to                           : /root/rkflashkit/build 
Checking for program python              : /usr/bin/python 
Checking for python version              : (3, 10, 6, 'final', 0) 
'configure' finished successfully (0.130s)
Traceback (most recent call last):
  File "/root/rkflashkit/.waf3-1.7.11-edc6ccb516c5e3f9b892efc9f53a610f/waflib/Node.py", line 282, in ant_iter
    raise StopIteration
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/root/rkflashkit/.waf3-1.7.11-edc6ccb516c5e3f9b892efc9f53a610f/waflib/Scripting.py", line 97, in waf_entry_point
    run_commands()
  File "/root/rkflashkit/.waf3-1.7.11-edc6ccb516c5e3f9b892efc9f53a610f/waflib/Scripting.py", line 153, in run_commands
    ctx=run_command(cmd_name)
  File "/root/rkflashkit/.waf3-1.7.11-edc6ccb516c5e3f9b892efc9f53a610f/waflib/Scripting.py", line 146, in run_command
    ctx.execute()
  File "/root/rkflashkit/.waf3-1.7.11-edc6ccb516c5e3f9b892efc9f53a610f/waflib/Scripting.py", line 351, in execute
    return execute_method(self)
  File "/root/rkflashkit/.waf3-1.7.11-edc6ccb516c5e3f9b892efc9f53a610f/waflib/Build.py", line 105, in execute
    self.load_envs()
  File "/root/rkflashkit/.waf3-1.7.11-edc6ccb516c5e3f9b892efc9f53a610f/waflib/Build.py", line 81, in load_envs
    lst=node.ant_glob('**/*%s'%CACHE_SUFFIX,quiet=True)
  File "/root/rkflashkit/.waf3-1.7.11-edc6ccb516c5e3f9b892efc9f53a610f/waflib/Node.py", line 331, in ant_glob
    ret=[x for x in self.ant_iter(accept=accept,pats=[to_pat(incl),to_pat(excl)],maxdepth=25,dir=dir,src=src,remove=kw.get('remove',True))]
  File "/root/rkflashkit/.waf3-1.7.11-edc6ccb516c5e3f9b892efc9f53a610f/waflib/Node.py", line 331, in <listcomp>
    ret=[x for x in self.ant_iter(accept=accept,pats=[to_pat(incl),to_pat(excl)],maxdepth=25,dir=dir,src=src,remove=kw.get('remove',True))]
RuntimeError: generator raised StopIteration
ghost commented 1 year ago

You may not have python2, but most likely only python3, as I did and still do. It runs with python3, but needs to be compiled with python2.

python --version Python 3.10.6

sudo apt install python2

git clone https://github.com/linuxerwang/rkflashkit

cd rkflashkit

python2 ./waf debian

sudo apt purge python2 // Optional

sudo apt-get install python3-gi python3-libusb1

sudo apt install ./rkflashkit_0.1.5_all.deb

sudo rkflashkit

ghost commented 1 year ago

So now it builds and installs the UI, and I can see my device with:

lsusb Bus 001 Device 022: ID 2207:0000 Fuzhou Rockchip Electronics Company rk312x

Okay, to get things going...I turned off my RockChip RK3128 based tablet, plugged it into my linux box with an otg cable, started rkflashkit, using the convenient start menu icon, then entered my root password.

You now have the UI running, but with no devices detected. You then use the procedure that would ordinarily get you into Android recovery mode, for me that's holding both vol+ and pwr buttons for some time.

All going well, you'll see you device appear in the rkflashkit UI, yet your device will have no output on it's screen (something not Android recovery mode).

You're now free to backup, restore, whatever.

I got to backup all partitions, and even got to change my tablet's awful, Chinese language, start-up splash image, with a nice RK3128 chip logo.

Awesome effort this project!