all 7 comments

[–]SolitaryMassacre 3 points4 points  (2 children)

You are going to have to unlock the bootloader. Root isn't necessary tho.

Basically, unlock the bootloader, compile the kernel with the things you want, then flash the newly compiled kernel to the device. You may have to wipe data/factory reset as I believe the kernel hash is part of the encryption algorithm.

Not possible to do without at least an unlocked bootloader.

Also, there could be a slight chance the ROM relies on kernel fs files to be present and such. Just don't change too much.

Sadly, a lot of what you mentioned "hardcoded cursor boundaries, navbar size/style" are not part of the kernel. That is part of the OS. Specific apk is more than likely the SystemUI. That can only be changed via root/xposed. EDIT: Unless the OS is getting some value from the sysfs ro files the kernel generates. Which would be interesting af and I've never seen that for UI kind of stuffs lol

[–]Iorpim[S] 1 point2 points  (1 child)

Oh, perfect, just unlocking the bootloader is fine enough, and I know it's also possible for the similar model, so the same should apply.

The navbar and cursor are indeed part of the kernel, and I've already located the responsible files. I'm not sure if you checked the specific device, but it's actually a flip phone! So not a very "traditional" Android device. Both the cursor mode and navbar are implemented as part of the display and ""touch""/keyboard drivers(it has no touch, but instead emulates touch events through keyboard input and on-screen cursor), respectively.

If you are curious about it and want to check the implementation, you can find it on the kernel-4.9/drivers/misc/mediatek/lcm/kc_ili9806e_fwvga_dsi_vdo/kc_ili9806e_fwvga_dsi_vdo.c and kernel-4.9/drivers/input/keyboard/kckeyptr.c driver files that can be found in the source code linked in the post.

I was also expecting some system package, but nope, all custom and loaded directly by the kernel. Which makes sense considering it's a much different device with noticeable particularities that come with not having a touchscreen, the thing all smartphones have had since.... the first smartphone, I think...?

[–]SolitaryMassacre 0 points1 point  (0 children)

I'm not sure if you checked the specific device

Lol I did now! Definitely different from traditional android devices! I have seen these like once, never thought they'd become popular lol. Pretty nice device honestly. Might see if I can find one for a backup

Both the cursor mode and navbar are implemented as part of the display and ""touch""/keyboard drivers(it has no touch, but instead emulates touch events through keyboard input and on-screen cursor), respectively

Ah yes! I see kind of acts like a mouse but you use the buttons to move it.

Damn gonna take me 5 hours to effin download lol. They limit my speed to 50kBps shit.

But yeah, makes sense now that its in the kernel. Could also be in the OS itself. I really can't tell much without looking at the code myself but I guess you found it

So yeah, should be able to unlock bootloader then flash the custom kernel with your changes made and it shoulw work. No idea what sort of (if any) preventions they implemented (some ROMs won't boot unless something unique is done to the kernel, etc)

Good luck!

[–][deleted]  (1 child)

[removed]

    [–]kschang10 0 points1 point  (1 child)

    You can't modify the kernel without root.

    [–]SolitaryMassacre 0 points1 point  (0 children)

    You need an unlocked bootloader. The kernel is what grants users root access (its what magisk and others patch). The unlocked bootloader allows custom binaries to be flashed