Giter Club home page Giter Club logo

gearlock's Introduction

Introduction GearLock CI Conventional Commits

GearLock is a dynamically written bash program focused in performance with the intension of making modifications in android-x86 easier.

It is also intended to replace the need for traditional custom-recovery software for android-x86 which are found in mobile phones.

GearLock was made in a different perspective unlike traditional custom-recovery software for mobile phones.

GearLock and everything within it are standalone programs and does not need to rely on the android system.

It can be used both GUI and TTY in a user-friendly manner, including advanced CLI usage.

Features

Spoiler (click here)
  • Install any custom kernel / mesa or pretty much anything. There are also tons of other extension & packages available in our RESOURCES section for you to install with a powerful package-manager.

  • Install flashable zip files. (BETA)

  • Use RECOVERY-MODE even before your android starts.

    • MidNight Commander FileManager integration in recovery mode.
    • Repair corrupted EXT partitions before booting up the OS.
  • Decompress / extend the size of your system image

  • Backup & restore your whole data

  • Mesa Version faker

  • Change CPU governor & frequency

  • Change MAC Address

  • Update google apps directly from a opengapps package

  • Install latest/custom magisk version directly from github source by patching the ramdisk. (on-device)

  • GoogleLess Mode feature

  • Unity Game Engine Crash Fix

  • Resolve the issue for magisk installation, in which magisk makes the tty unusable

  • SU-Handler for switching between SuperSU & MagiskSU

  • Introducing GearProp, which can force overwrite any system property.

  • Purge / remove extra kernel modules from your system

  • MultiLang support with UTF8. (EN, VN, {CN, ES --- yet to be done})

  • Record screen with audio without any app. (Directly from gearlock with internal audio support)

  • Very developer friendly with tons of easy to use tools

  • Disable / Enable Laptop touchpad or keyboard

  • Extensible by installing custom extensions

  • And many more! This list is probably outdated, lol.

Boot flags

You can control the behavior of GearLock early recovery screen with boot-flags. There are three kinds of flags you can use.

Spoiler (more details)
  • NORECOVERY
  • ALWAYSRECOVERY
  • FIXFS
  • NOGFX

NORECOVERY

This helps you bypass the recovery countdown screen. You can either put NORECOVERY=1 in your grub-config or make a file named norecovery in your android-x86 partition.

Grub config example:

linux /kernel quiet NORECOVERY=1

ALWAYSRECOVERY​

This lets you to auto-enter recovery mode always* without having to press ESC. Just like NORECOVERY, you can active this by grub (ALWAYSRECOVERY=1) or by making a file named alwaysrecovery in android-x86 partition.

FIXFS

This will auto-fix extFS on each boot from the option which you find in recovery mode.

In other words, it will run fsck against your root partition.

Grub-Flag> FIXFS=1

File-Flag> fixfs

NOGFX

When this flag is found, GearLock does not attempt to get the best possible visuals during RECOVERY-MODE. There are some really rare cases among some users in which when GearLock tries to ensure better visuals, kernel panic happens during boot.

Grub-Flag> NOGFX=1 File-Flag> nogfx

Flashable ZIP Compatibility

If you want my honest word then you should know that about 99% of the available flashable zips out there will likely fail since they were never made for android-x86 and GearLock has nothing to do about that. In which most of them are flashable-roms which you obviously won't be installing on android-x86. Currently I've had success with OpenGapps and a few other zips. Other than that will surely fail unless the developer itself implements android-x86 support.

Pre-baked GearLock

GearLock is being proudly integrated with the following reputed distros:

  • BlissOS-x86
  • PhoenixOS DarkMatter

If you're working on a remarkable distro and want to bring GearLock into it then you're welcome :)

Development and Contributing

Feel free to create a fork and help make this project even better.

Your commits should follow Conventional Commits specification, otherwise they will be rejected.

You can start hacking into Gearlock by simply clicking on the button below!

Open in Gitpod

If you want to build GearLock then all you gotta do is run the following command:

  • From linux distros
git clone https://github.com/axonasif/gearlock && cd gearlock && bash makeme
  • From android-x86 distros (assuming you have GearLock installed)
curl -L https://git.io/JO43W -o gearlock.zip
unzip -qq gearlock.zip && cd gearlock-main && bash makeme

Then you should find the outputs at out/installer

If you want to test bare basic functionalities of GearLock within a linux-distro for development porposes then run:

bash makeme --setup-devenv "$HOME/gdev"

For working over sources for the core files, take a look at core/ and core/_external_bin/

Also check core/_lang_/ if you want to improve the language translations and concurrent strings.

You might have noticed that there are prebuilt binaries in the repository but not their source code.

I would need to setup a complete build system for them, what I've been doing was hand-compiling them.

I will need a lot of free time to accomplish this since I'm a student, but you can surely expect this in the future.

Additional Links

Integration with Android-x86 source

Adaptation for Android-Generic Project was done by: @electrikjesus

Clone the repo into vendor/ from your aosp project root.

git clone https://github.com/AXIM0S/gearlock vendor/gearlock

Lastly, build ISO

Android-Generic (x86/PC): build-x86 android_x86_64-userdebug

BlissOS 11.x: build-x86.sh android_x86_64-userdebug

Android-x86: lunch android_x86_64-userdebug && make -j4 iso_img

Credits and thanks

Here I'm trying to list all of the remarkable work by others which has been used to enrich GearLock.

Without their open-minded years of hard work, GearLock wouldn't have been the same.

  • The great legendary GNU communtiy for their free and opensource softwares.

https://www.gnu.org/software

  • Igor Pavlov (p7zip)

http://p7zip.sourceforge.net

  • mcmilk (p7zip zstd plugin)

https://github.com/mcmilk/7-Zip-zstd

  • Jack Palevich (Terminal Emulator)

https://github.com/jackpal/Android-Terminal-Emulator

  • Roumen Petrov (Better Terminal Emulator, Termoneplus)

https://gitlab.com/termapps/termoneplus

Also thanks to

Copyright and License

This project is GPL-2.0 licensed.

    GearLock
    Copyright (C) 2021  SupremeGamers

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; version 2.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

gearlock's People

Contributors

axonasif avatar electrikjesus avatar guanzhangrtk avatar hmtheboy154 avatar huskydg avatar n-narendra avatar riadkabir45 avatar rust2 avatar sgnight avatar xtr126 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gearlock's Issues

Magisk installation fails

I tried to install Magisk through Gearlock's Extra misc functions, but I'm always ending up with Error: Failed to extract magisk.zip, don't know why, but I suspect it might be because of the APK-flashzip hybrid style of new versions of magisk (maybe an option to choose which version would be good, for some reason in the previous gearlock version I could select a local magisk.zip, but now I'm forced into downloading it). I'm using the latest Gearlock version in BlissOS 11.12 FOSS.

magisk issue

i've installed magisk via gearlock on bliss os,but then it ask for some setup
asak
,then when i click ok it says "setup failed"?

Cannot update gearlock use gearlock itself in China

While I entered to gearlock, it remained me: "New update found, do you want to perform update?"
I selected "Yes", then gearlock structed: "Checking if you are connect to internet by pinging google".
Obviously, I can't connect to Google directly in China. I tried to use some "anti-blockade" network toolkits such as v2ray and ShadowsocksR, even I edit the /system/etc/hosts, but they are still useless.

I guess, your way of checking internet connection is simliar to "ping google.com". But China blocked all connections to Google, v2ray and ShadowsocksR not work on ping. So gearlock judged "no internet connection", because of "failed to ping google".

Use pipe instead of file

in bashbox syntax check
Instead of throwing the functionized script into file and source to check for error
you can pipe the functionized script to bash to get exact same result
but u wont have to deal with /tmp or $RANDOM for this case

i have tasted and it works

How to install OpenGapps using Gearlock in AndroidTV x82 !

Hello @axonasif , I'm currently running AndroidTV x86 32bite (Android version -8.1) on my old pc. I installed your GearLock in it to change the resolution. Now, i'm thinking of installing OpeenGapps in this by using Gearlock can you tell me how I can do that, i see in your Gearlock home page, you wrote you get success in installing OpeenGapps zips. So, can you tell me how I can do that in my case. Step by step..

I'm trying some methods on my own.. like :

First- I downloaded OpenGapps from the official website, i selected x86 on the platform, and 8.1 in Android, and tvstock in variants (because i want to install it on TV).

Second - I move this file to my tv os inaternal storage. Then i go in GearLock GUI by pressing alt F1 and then select Install/uninstall (GXPM) then install from custom location and choose Opengapp zip and install and then it installed then enter..

Is that the right method? Or tell your method?

Gearlock scripts detected as Trojan.Linux.Fubas.a virus in Bliss OS 11.13

Describe the bug

Kaspersky detected a number of Gearlock components as a virus titled Trojan.Linux.Fubas.a in "Bliss-v11.13--OFFICIAL-20201113-1525_x86_64_k-k4.19.122-ax86-ga-rmi_m-20.1.0-llvm90_dgc-t3_gms_intelhd.iso"

To Reproduce
Steps to reproduce the behavior:
Use Kaspersky Total Security to scan the above mentioned iso that was downloaded from https://blissos.org/

Expected behavior

An antivirus scanner shouldn't find a viral signature within packaged and promoted software. Kaspersky appears to think of various components of Gearlock as parts of a rootkit.

Desktop (please complete the following information):

  • OS: Bliss-v11.13

GearDump logs

Not Applicable

Additional context

Routine antivirus scan detected the issue.

Screenshots

kaspersky-screenshot-bliss_os_11-3-trojan_virus_detected

Magisk Modules

Installation of magisk modules always fail. Root management via magisk is working but not modules. Is modules supported?

Installing gearlock on BlissOS 14.3 FOSS x86 causes kernel panic

Describe the bug

I'was tring to install gearlock on my z3735f tablet with a x86(not 64bit) build of BlissOS FOSS. I couldn't get any chance(Alt+F1 not working) of root in system, so I have to get into debug mode to install gearlock.

The installation process worked well but after reboot I'm getting a kernel panic says "no working init found". I guess it installed a 64 bit version of gearlock into initrd.img and that's what's causing problems.

Expected behavior
Boot normally

Desktop (please complete the following information):

  • OS: BlissOS
  • CPU: Intel Atom Z3735F
  • GPU: iGPU
  • BIOS: UEFI

Gearlock not detecting Kernel-SU as root

For Gearlock detecting kernel-su, can we have it also check if "su -c" returns a specific string?

Because all the main functions of Gearlock work that aren't checking for root first. Supercharge quits, as well as a few other functions.

New gearlock update causing loss of SU binary in Bliss OS 11.13

Describe the bug

To Reproduce
Steps to reproduce the behavior:

  1. Install Bliss OS 11.13
  2. Download and install the new gearlock file
  3. Restart the pc
  4. After restarting, the root access is lost.

Expected behavior

**Desktop

  • OS: [BlissOS 11.13]
  • CPU: [Intel i3]
  • GPU: [iGPU]
  • BIOS: [uEFi]

Additional context

Screenshots

Basically impossible to download the releases

Forced registration and on top of that you have to PRAY a admin allows it,which in the world of dynamic IPs being tainted (especially cellular) is not a good policy for downloading. Would consider changing this before someone decides to mirror your hard work instead,as bugmenot already has logins for your forums as well

RFC: Redesigned initrd image

Context & Issue

The current initrd.img implementation of android-x86 could deserve to be reworked a bit in several aspects, such as:

  • Bootloader (i.e. newer grub implementation)
  • Logic/tool optimizations in init script/code.
  • Improvements for a better user experience on early boot errors/failures.
  • Source code transparency, so it's easier to upgrade components and not have pre-compiled file-blobs committed on Git.
  • Reduce maintenance burden by reusing the standards.

This is a non-exhaustive list 👆

Please feel free to edit this message or post your own thoughts as a comment
cc @electrikjesus @hmtheboy154

Goal

To make the initrd codebase easier to maintain and collaborate on the long run with added improvements.

Decisions / Next Steps

TBD

Notes/Resources

TBD

Gearlock not installing

After i installed gearlock, it only installs fx manager, and i cant even open it from the shell (alt+f1)

Could not detect the SDK!

Describe the bug:-
He @axonasif , @electrikjesus , After installing Gearlock I am facing this problem and I tried to find some solution on the internet, but I did not find any official solution to this problem on the internet. So can you tell why this is happening or can you suggest a solution to this problem. I am facing this problem mostly with all Android OS. And this old pc of mine is running windows 10 64 bit smoothly.

Desktop (please complete the following information):

  • OS: Android-x86 A8.1, A9, A7...
  • CPU: Pentium Dual core E5500 2ghz
  • BIOS: Legacy( Mbr)

And yeah i want to say this Android x86 is running in 32gb (3.0) pendrive

PXL_20231228_021150211.jpg

Please help....

No su binary present

Freshly installed bliss os 15
Has kernelsu.
Installed gearlock. On boot it showed gearlock error no su binay present.

When i checked in apps, i couldnt see gearlock app. Can someone please help. I'm a newbie, and i searched through the forum, there were similar errors however, i didn't understand what to do

Magisk problem with Bliss on tablet

I installed bliss in a folder along with Ubuntu on the tablet, set the grub to boot Bliss 11.13 with android 9.
I've tried to install Magisk both online and offline via package from android gearlock app, I've done a test from magisk package to boot but even in this way I get errors.
Magisk 22.1
Errors:

  1. cd: /data/ghome/dependencies/mbtmp/common: No such file or directory
  2. "/gearlock/gearrot/android/gearload/ramdisk.cpio.gz" failed: No such file or directory
  3. Installing magisk app: Error: Unable to open file: magisk.apk
    At the end it says to me operation executed with success of yellow color
    I should add that the MAgisk app is already installed and opens with root permissions.
    Can it be fixed? Or could you make a program on linux to patch the file with magisk without going through android?
    Thank you and congratulations for the program

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.