[Nexus 10 Android Development] DragonFire1024:
[ROM+Kernel][MAY 16, 2020] AOSP direct, Marshmallow 6.0 & NEW kernel, version 3.4.99

****UPDATE****

As of May 16, 2020, If you already have this ROM installed, please see this link for an updated kernel to version 3.4.99 with other various editions and Extras. If you are downloading and installing this ROM for the first time download the ROM and Flash it, and finish setting up your device before updating the kernel. You will have to flash Superuser or Magisk again (or whatever your root preference is) after installing the ROM or boot image regardless of whether you're coming from a fresh installation or updating the kernel.

The number of ROMS for the Nexus 10 has dwindled, and those that do remain, have too many bugs and not everything works. I spent a couple weeks looking for a good ROM and finally found one. I did NOT build this ROM, however I DID build the kernel from scratch.

What you get:

- Android 6.0, Marshmallow ROM built directly from the AOSP source code. (built by Dmitry.GR)

- Freshly updated kernel from 3.4.67 to 3.4.99, built by Me from source. I used the Manta kernel source (3.4.67) from Omnirom's android-6.0 branch and applied the official kernel patches 3.4.67-68 through 3.4.98-99.

SELinux in the boot image provided by the ROM is disabled. Standalone updated kernel/boot image is permissive)

. Kernel in its original form, would not allow for a permissive selinux so the only option was to disable it.

- In the updated boot image, ADB is insecure (ro.adb.secure=0 and ro.secure=0). This allows for an automatic root shell when running 'adb shell'. It also allows you to remount the filesystem RW through ADB, using the command 'adb remount'.

- No swap or zram options on the original kernel because it was not performing properly. This is fixed on the standalone upgrades to the kernel I have been doing.

What doesn't work:

- Location services may or may not work. If they don't, let me know as I do have a fix for that. For some reason, com.google.android.gms was removed from the framework-res (android system apk). Some apps won't recognize the device GPS and may tell you location is turned off when it actually isn't.

- The camera work however oh, there is an issue with the flash. Every time you use flash the camera will crash after snapping the photo. This wouldn't be a problem except the photo doesn't get saved. I don't know what's causing it and until I can figure that out you can't use the flash on your camera.I have a suspicion or two but I haven't looked into it because I don't use the camera often enough and when I realized the problem I'm never at home to look.

Installation requirements and instructions:

Required:

1. Unlocked bootloader

2. TWRP custom recovery

3. PC with either Windows or Linux

Instructions:

1. You need to wipe the device completely. Boot to recovery, select wipe, format data and type yes and confirm. When done, tap home, wipe, advanced wipe, select all and swipe to confirm. Tap home, reboot, reboot recovery.

2. Once booted back to recovery, plug your tablet into your PC. It should be recognized.

3. Download Open Gapps, ARM, 6.0, Pico and place it on the tablet's internal storage.

4. Download the TWRP flashable zip that contains the ROM and place it on internal storage.

5. Download the boot.img which contains the new Kernel, place in storage.

6. Download SuperSU zip and place in storage.

7. Once done, tap the home button then install. Select the TWRP flashable ROM zip and install it. When done tap home again, install, install image and select image-new.img and install.

8. When finished tap home and install and install Open Gapps. When finished install SuperSU then reboot system when finished.

Kernel installation and updates ONLY

1. Download and extract the zImage from the provided zip at the end of the post.

2. You need to unpack the boot image from the ROM above. You can do this on Windows Linux or your own Android device with the Android image kitchen by XDA developer [MENTION=4544860]osm0sis[/MENTION]. After unpacking the image, open the folder named 'split image' and locate boot.img-zImage. make a copy of it and put it somewhere safe, then delete it from the split image folder.

3. Now take the zImage you extracted earlier and put it into the split-image folder, and rename it to boot.img-zImage. Repack your boot image which when done, will be default named to image-new.img.

4. Reboot the device into TWRP or the bootloader and flash your new boot image and reboot.

Screen shot below. You now have an awesome Marshmallow ROM and brand new Kernel for your Nexus 10!!

****Change Log****

February 10, 2020: Updated kernel version from 3.4.69 to 3.4.71. kernel patches not fully cooperating with the disabling of SELinux so I had to re-enable it. Simply placing a small script into /system/su.d (or locate wherever your su folder is and inside will be a su.d folder) to set selinux permissive on boot works perfectly. Create a text file called permissive.sh and copy and paste text below and save it to that folder with permissions: 777. If no su.d folder exists, create one in /system with permissions 755.

#!/system/bin/sh
setenforce 0