Coder Social home page Coder Social logo

dualnine's Introduction

DualNine - Dual Booting made easy

What is this?

This ZIP allows devices to dualboot (or even multiBoot) different ROMs and different Android versions at ease.

Advantages and features

  • Works for most devices (with dynamic partitions)
  • No extra kernel / recovery requirements
  • Separated /data, including internal storage
  • No partitioning involved (less brick risk)
  • One ZIP does basically all the work
  • Uses less space for inactive partition
  • Supports dualbooting different android versions

Devices Requirements

  • Unencrypted / decrypted storage
  • Devices that has dynamic partitions (check withthis app)
    • Some devices that have retrofitted dynamic partitions (e.g. Redmi Note 8 Pro) are UNTESTED.
  • Minimum:
    • 8GB space in /data (may vary with super partition size)
  • Recommended:
    • 16GB (or more) space in /data

Tested Devices

How to build?

  • You don't have to. Just fetch the latest release from the releases tab.
  • For bleeding edge users / devs, just clone the repo and zip it.

How to use?

  • NO MATTER WHAT, DO NOT SETUP PASSWORDS ON INACTIVE SLOT.
  • Remove passwords before you swap slots!
  • Flash a ROM.
  • Decrypt the ROM. (Important!)
  • Set the ROM up (optional).
  • Reboot to recovery, flash DualNine.
  • After flashing DualNine, flash the other ROM you want to dualboot.
  • Decrypt the ROM. (Important!)
  • Reboot, and profit. You have DualNine setupped.
  • To switch slots, reboot to recovery and flash DualNine ZIP again, and reboot. You will boot back into the inactive slot (the first ROM you flashed.)
  • How to switch dualboot ROMs: soon
  • Note that erasing /data will WIPE the DualNine installation, and you'll have to reinstall again.
  • To remove dualnine, delete /data/dualnine or format data.

How it works?

  • The DualNine ZIP creates a directory in /data which stores your ROM in compressed format.
  • When you reflash the DualNine ZIP (switch slots), the system will backup your current slot and userdata, and then restore the previously stored ROM and it's userdata.
  • We are currently using pigz (Parallel GZIP) in order to save space and time.

Credits and Thanks

To-Do

  • Actually check Virtual A/B support (I don't have a virtual AB devices)
  • Switch to ZSTD / any faster compression tools with higher compression rate
  • Perform checks on /data size. Compress if necessary.
  • Write an Android app to ease use of DualNine
  • ... and more!

dualnine's People

Contributors

wileylau avatar neonzgamingyt avatar madmoudrmx2020 avatar

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.