# ![GerdaOS](icon.png) Welcome to the home page of world's first custom ROM for Nokia 8110 4G and (in the future) other KaiOS based phones that aims for users' privacy, security and freedom to control everything about their own devices. Our mission is to liberate Kai's heart, as in "The Snow Queen" Hans Christian Andersen. Hence the name. [See it in action!](https://streamable.com/zi50r) ## Key features ### Say no to ads and tracking. By default. The very decision to create GerdaOS was initially made after finding a [devastating security bug](#h1.4.1_install-the-recovery) in the KaiOS version shipped with Nokia 8110 4G (v13 and earlier HMD firmware versions). GerdaOS doesn't have any pre-installed apps that are proven to track you, including but not limited to KaiStore, FOTA updater, Gameloft games and all Google apps. Also, it has analytics disabled and "Do Not Track" header enabled by default, and the default browser search engine is set to DuckDuckGo. Moreover, it has the most comprehensive host-based advertisement blocking list to this day. So your surfing experience won't be distracted by this plague of modern web. ### Install what **you** want, not **they**. In contrast to having a poor and slowly filled app store, GerdaOS comes with a file manager and a package installer. Evolved since [the first days of 8110 jailbreaking](http://omnijb.831337.xyz), this installer, GerdaPkg, allows you to install any KaiOS-compatible application from a local ZIP package you choose in the file manager (just like .apk files in Android). All alternative store apps (like [KaiUS](https://drive.google.com/uc?export=download&id=1VS02X_b2Ys4n8mmUvUmQv0e99_lTx55X) and [JBStore](http://u.nu/jbst)) are also compatible with GerdaOS. ### Overcome the limits and multitask. Since the very first public alpha, GerdaOS provides screenshooting and app switching capabilities (to the extent allowed by underlying B2G architecture) by using intuitive controls to overcome hardware limitations of Nokia 8110 4G keypad: pressing Power button with different slide lid position performs different actions. With full-open slide, Power minimizes the app. With half-open slide, Power takes a screenshot. With closed slide, Power acts normally. ### Be the master of your own device. All GerdaOS installations include a developer menu, hidden in stock KaiOS, and root ADB access by default. Also, Gerda Recovery (a component that's crucial for installing other system parts) also has root ADB access for you to be able to repair the system in any unfortunate situation. Also, since the beginning of February 2019, GerdaOS builds include the ability of bypass TTL restrictions for carriers blocking Wi-Fi tethering, on by default. We believe that you have the right to have complete control over your own phone. ### Shape the future. Being a community ROM, GerdaOS is open to public audit. Everyone can report bugs, contribute new features or express their desires about them. We are listening. Future ports to other KaiOS-based phones beyond Nokia 8110 4G are also planned. Also, [see our FAQ page](https://gitlab.com/project-pris/system/wikis/GerdaOS-FAQ) to get answers to more of your questions. ## Get GerdaOS Download the latest images for recovery and main system (updated on 2019-02-23 - build version `702d409`): - [Recovery image (for Nokia 8110 4G)](https://cloud.disroot.org/s/3ojAfcF6J2jQrRg/download) (SHA256: `257341c6b32fa801410cfc038af773794c553c59547ecfb2a8c54dcb32e85966`) - [System installer](https://cloud.disroot.org/s/q9nbbsbfoXoYK9j/download) (SHA256: `741a8137437e99b8aa7c87b220bea229464625f0d3dfbb03de38cd568f591e9f`) See the changelog in [this forum thread](https://groups.google.com/forum/#!topic/bananahackers/vUMFipa8qVs). ## Contribute Current development stage is *alpha*. Report bugs to [Project Pris system issue tracker](https://gitlab.com/project-pris/system/issues). Repositories to contribute to: - [Main system](https://gitlab.com/project-pris/system) - [Recovery repository](https://gitlab.com/project-pris/recovery) ## Install Current support status is only 8110 4G (dual-SIM models). Ensure that the stock firmware is updated to at least v12 before proceeding. **The process will wipe your stock system and data, voiding any warranty. Stock updates will no longer be possible. Do this at your own risk and responsibility only!** ### Install the recovery Prepare the recovery image file by copying it to the SD card. First, you need to find a way to root your phone and obtain the root shell. For Nokia 8110 4G with firmware versions up to 13 inclusively, an exploit exists that allows to obtain root privilieges right from the KaiOS browser. Go to [this page](http://r.gerda.tech) from the phone's browser and check whether your phone is vulnerable to this. If so, you'll get temporary (until the next reboot) root shell accessible via ADB. On stock system, ADB debug mode can be activated by entering `*#*#33284#*#*` (`*#*#debug#*#*`) secret code. You may need to enter it before visiting that page. Once you're in a root shell, backup your existing recovery image (just in case): ``` dd if=/dev/block/bootdevice/by-name/recovery of=/sdcard/recovery-backup.img bs=2048 ``` And install the new one for your platform (assuming it's also copied to `/sdcard`): ``` dd if=/sdcard/recovery-8110.img of=/dev/block/bootdevice/by-name/recovery bs=2048 ``` You can also backup other partitions that are to be modified while in root console (highly recommended): ``` dd if=/dev/block/bootdevice/by-name/system of=/sdcard/system-backup.img bs=2048 dd if=/dev/block/bootdevice/by-name/boot of=/sdcard/boot-backup.img bs=2048 dd if=/dev/block/bootdevice/by-name/splash of=/sdcard/splash-backup.img bs=2048 dd if=/dev/block/bootdevice/by-name/fsg of=/sdcard/fsg-backup.img bs=2048 dd if=/dev/block/bootdevice/by-name/rpm of=/sdcard/rpm-backup.img bs=2048 dd if=/dev/block/bootdevice/by-name/modem of=/sdcard/modem-backup.img bs=2048 ``` ### Install the main system Once you have the recovery in place, first boot into it by powering on the phone while holding Up arrow button. Then, you have several options to install the rest - choose one: - Clone the [system repo](https://gitlab.com/project-pris/system/tree/master) and run `make` while having the phone booted into Gerda Recovery and connected to your PC. This method works for Gerda Recovery only and requires all necessary build prerequisites (Bash, Git, Python, Make, GCC, OpenJDK, FFMpeg etc). - Download the installer (see above links) and put it to your SD card. Then navigate and install it from the recovery. Alternatively, use `adb sideload` feature. This method also works on a stock v12 recovery but installing Gerda Recovery or other ADB-enabled custom recovery is highly recommended. After installation, it's mandatory to run "Wipe data/factory reset" from the recovery. Then reboot and enjoy your freshly installed GerdaOS! ## Credits Main contributors: - [Luxferre](http://831337.xyz) aka [@suborg](https://gitlab.com/suborg) - 8110 4G branch, initial research and modifications, package installer, security hardening, this page; - [@sylvainblot](https://gitlab.com/sylvainblot) - CI part, JioPhone 2 research/support branch, KaiUS unofficial store; - [@gotziem](https://gitlab.com/gotziem) - testing, JioPhone 1 research/support branch. This ROM would not be possible without all the community support. Special thanks to: - [Bananahackers group forum](https://groups.google.com/forum/#!forum/bananahackers) and its admins - Ivan Alex HC and speeduploop; - [KaiOS Reddit community](https://www.reddit.com/r/KaiOS/) and its admin MikeModder007; - XDA-Developers and 4PDA.ru forums communities; - [StevenBlack](https://github.com/StevenBlack/hosts) for a wonderful host-based adblocking solution; - and everyone who signed [our open letter](http://makenokiagreatagain.831337.xyz/) and supports our movement elsewhere. © Luxferre, GerdaTech, Bananahackers 2019 – present