nolirium / aroc

Android root on Chrome OS
GNU General Public License v3.0
129 stars 51 forks source link

Potential sleep duration issue in combined script #25

Open Venryx opened 5 years ago

Venryx commented 5 years ago

As continuation of comment here: https://github.com/nolirium/aroc/issues/23#issuecomment-486888568

After resolving the issue in the thread above, I actually hit multiple errors when trying to run the script, and I ended up doing multiple things to try to resolve them. Enough that I don't know for sure if the problems I hit were derivative problems coming from the issue above (and my not properly cleaning the environment before trying again), or if I did indeed hit a genuine problem and found a genuine solution.

Anyway, the basic problem I hit (after the SuperSU issue above), is that this line in the combined script was failing:

cd $arc_system/priv-app

Here is the actual output:

Mounting system.raw.expanded.img
SELinux successfully set to 'Permissive' temporarily
Copying Android system files
Creating symlink to /usr/local/Android_Images/system.raw.expanded.img at original Android rootfs image file path
Now placing SuperSU files. Locations as indicated by the SuperSU update-binary script.

Creating SuperSU directory in system/priv-app, copying SuperSU apk, and setting its permissions and contexts
sh: 957: cd: can't cd to /usr/local/Android_Images/Mounted/system/priv-app
Copying su to system/xbin/su,daemonsu,sugote, and setting permissions and contexts
sh: 325: cd: can't cd to /usr/local/Android_Images/Mounted/system/xbin
cp: cannot create regular file '/usr/local/Android_Images/Mounted/system/xbin/su': No such file or directory
cp: cannot create regular file '/usr/local/Android_Images/Mounted/system/xbin/daemonsu': No such file or directory
cp: cannot create regular file '/usr/local/Android_Images/Mounted/system/xbin/sugote': No such file or directory
chmod: cannot access '/usr/local/Android_Images/Mounted/system/xbin/su': No such file or directory
chmod: cannot access '/usr/local/Android_Images/Mounted/system/xbin/daemonsu': No such file or directory
chmod: cannot access '/usr/local/Android_Images/Mounted/system/xbin/sugote': No such file or directory
chown: cannot access '/usr/local/Android_Images/Mounted/system/xbin/su': No such file or directory
chown: cannot access '/usr/local/Android_Images/Mounted/system/xbin/daemonsu': No such file or directory
chown: cannot access '/usr/local/Android_Images/Mounted/system/xbin/sugote': No such file or directory
chgrp: cannot access '/usr/local/Android_Images/Mounted/system/xbin/su': No such file or directory
chgrp: cannot access '/usr/local/Android_Images/Mounted/system/xbin/daemonsu': No such file or directory
chgrp: cannot access '/usr/local/Android_Images/Mounted/system/xbin/sugote': No such file or directory
chcon: cannot access '/usr/local/Android_Images/Mounted/system/xbin/su': No such file or directory
chcon: cannot access '/usr/local/Android_Images/Mounted/system/xbin/daemonsu': No such file or directory
chcon: cannot access '/usr/local/Android_Images/Mounted/system/xbin/sugote': No such file or directory
Creating directory system/bin/.ext/.su
sh: 351: cd: can't cd to /usr/local/Android_Images/Mounted/system/bin
Copying su to system/bin/.ext/.su and setting permissions and contexts
Copying supolicy to system/xbin, libsupol to system/lib and setting permissions and contexts
sh: 988: cd: can't cd to /usr/local/Android_Images/Mounted/system/xbin
cp: cannot create regular file '/usr/local/Android_Images/Mounted/system/xbin/supolicy': No such file or directory
chmod: cannot access '/usr/local/Android_Images/Mounted/system/xbin/supolicy': No such file or directory
chown: cannot access '/usr/local/Android_Images/Mounted/system/xbin/supolicy': No such file or directory
chgrp: cannot access '/usr/local/Android_Images/Mounted/system/xbin/supolicy': No such file or directory
chcon: cannot access '/usr/local/Android_Images/Mounted/system/xbin/supolicy': No such file or directory
sh: 997: cd: can't cd to /usr/local/Android_Images/Mounted/system/lib
cp: cannot create regular file '/usr/local/Android_Images/Mounted/system/lib/libsupol.so': No such file or directory
chmod: cannot access '/usr/local/Android_Images/Mounted/system/lib/libsupol.so': No such file or directory
chown: cannot access '/usr/local/Android_Images/Mounted/system/lib/libsupol.so': No such file or directory
chgrp: cannot access '/usr/local/Android_Images/Mounted/system/lib/libsupol.so': No such file or directory

I hit the same error like 3 or 4 times as I kept trying to run the combined script. (including after a [restore-backup]+restart cycle, I believe)

This was odd because when I ran the cd command manually in the shell, it succeeded every time. I eventually figured it must be a timing issue -- an earlier command changed the mounting or something so the script has to wait longer before being able to execute the cd command.

So to resolve it, I did the following: 1) Download combined aroc script from Github, naming it "RootScript_Fixed.sh" 2) Modify script, adding a "sleep 10" line after the line containing: echo "Creating SuperSU directory in system/priv-app [...] 3) Run script as root, so: sudo bash /home/user/[your user id here]/Downloads/RootScript_Fixed.sh

Anyway, this time, finally, the script succeeded and root became functional.

(Well technically, it got to the last step of calling the sepolicy_patch but failed because Android wasn't active since I hadn't [restore-backup]+restarted since last botched attempt; so I had to restart then run the regular 02SEPatch.sh script, which then succeeded. But others shouldn't have this problem if they start from a fresh slate or run the [restore-backup]+restart cycle immediately before the steps above.)

Anyway, it took quite a while, and I'm not actually sure if the steps above (of adding the longer sleep) are the reason it ended up working, but I thought I'd mention what may have fixed it for me, so at least other people hitting the issue have a potential fix available.

wordyallen commented 5 years ago

Did it fix it? I've looked through all the issues. I download sr5 and added the sleep and changed it from $arc_system to $system. No errors. But my play store will not load. I'm working with a freshly recovered pixelbook version 75.