User:Rage/Drafts/Amazon Fire Phone (Kodiak)
Root access is needed before continuing.
There are several methods for gaining root access, but unfortunately, they all seem to require a proprietary apk to do that.
I've typically factory reset a device, attempted to gain root access via such a tool, then flash with new rom. That way, those apps do not have access to any personal data. I can also verify that any left over surprises are overwritten by the new rom.
This project seeks to remedy this.
Installing sources from custom ebuild repositories
Currently, these kernel sources are only supported by an ebuild in the rage-overlay.
[rage] location = /usr/local/portage/rage sync-type = git sync-uri = https://gitlab.com/oxr463/overlay.git auto-sync = yes
emerge --ask sys-kernel/kodiak-sources
Installing crossdev for cross compiling
emerge --ask crossdev
crossdev --stable -v -t arm-linux-gnueabihf --gcc 4.9.4
Building a Kernel
eselect python set python2.7
emerge -av sys-devel/gcc
zcat /proc/config.gz > .config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
config USB_OTG bool "OTG support" depends on PM default n help The most notable feature of USB OTG is support for a "Dual-Role" device, which can act as either a device or a host. The initial role is decided by the type of plug inserted and can be changed later when two dual role devices talk to each other. Select this only if your board has Mini-AB/Micro-AB connector.
Due to the bootloader being locked on this device,
kexec is need to execute custom kernels.
However, it will need to be built as a module and loaded dynamically.
System kernel config options
1) Enable "kexec system call" in "Processor type and features." CONFIG_KEXEC=y
- Cross-compiling - It may be useful to cross compile from a more powerful system.
- GLEP 26 - This GLEP proposes to create a more consistent handling of kernels and kernel building.
- Project:Android - Using ebuilds to track patchsets and customized sources is the Gentoo-preferred way to handle Android-specific customizations to the official Linux kernel.
- SharkBait User Guide
- SharkBait Porter's Guide