Nook Touch kernel hacking - Nook Touch Android Development

So i have downloaded the nook touch kernel source and have gotten it to build using the gossamer defconfig. (as described somewhere by jesusfreke)
then as a test i enabled ext4 support and recompiled
then converted my system partition to ext4 while booted into noogie on the sdcard.
i also edited the init.rc to mount /system as ext4 and enable adb over usb support
and it seems like it works as shown in the code below.
Code:
[email protected]: nook_touch$ adb shell cat /proc/version
Linux version 2.6.29-omap1 ([email protected]) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #3 PREEMPT Tue Oct 4 14:37:59 CDT 2011
[email protected]: nook_touch$ adb shell cat /proc/mounts
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
/dev/block/mmcblk0p2 /rom vfat rw,sync,noatime,nodiratime,uid=1000,gid=1000,fmask=0117,dmask=0007,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,errors=remount-ro 0 0
/dev/block/mmcblk0p5 /system ext4 ro,barrier=1,data=writeback 0 0
/dev/block/mmcblk0p8 /data ext3 rw,nosuid,nodev,noatime,nodiratime,errors=continue,data=ordered 0 0
/dev/block/mmcblk0p7 /cache ext3 rw,nosuid,nodev,noatime,nodiratime,errors=continue,data=ordered 0 0
so where do i go from here? how do i start forward porting the kernel to .32 or .35 or do i even need to do that? in general what needs to change to get a cyanogenmod compatible kernel?
also how can we get a serial or UART output from the nook touch. I have been testing some cm builds from the nook color but it doesnt boot far enough for abd to give any output. ive looked at the back of the board but there doesnt seem to be any blatantly obvious serial port connections on it like the nook color has.
ps. uImage and uRamdisk are attached for reference. i try them if you want. but backup yours first!

Help this guy and include a Bitcoin address and I'll send you a coin

This the config you used?
--*removed*--
Edit: nvm, figured it out, and ty!
I ended up in a serious bootloop trying my compiled kernel and I got to test my recovery image in a new setting, it worked

ros87 said:
This the config you used?
omap3621_gossamer_defconfig
Click to expand...
Click to collapse
omap3621_gossamer_evt1c_defconfig

texasice said:
also how can we get a serial or UART output from the nook touch. I have been testing some cm builds from the nook color but it doesnt boot far enough for abd to give any output. ive looked at the back of the board but there doesnt seem to be any blatantly obvious serial port connections on it like the nook color has.
Click to expand...
Click to collapse
Can't find the link but someone thought there was serial pins under/near the sd card. Here is back of NT http://www.zdnet.com/photos/crackin...6244759?seq=32&tag=photo-frame;get-photo-roto
GL with this. I need to get GPS signals into my NT so subscribed

BTW, the memory is sadly only 256MB, not 512 as written in that article,
the K4X2G323PC-8G part number is mentioned here www .samsung .com /global/business/semiconductor/support/brochures/downloads/memory/SamsungPSG_july2010_final.pdf on page 10 as
2Gb MDDR 64Mx32 K4X2G323PC-8G(1) 90-FBGA 1.8V
That explains why the device reports MemTotal: 233024 kB in /proc/meminfo :-(

texasice said:
so where do i go from here? how do i start forward porting the kernel to .32 or .35 or do i even need to do that? in general what needs to change to get a cyanogenmod compatible kernel?
Click to expand...
Click to collapse
Hi,
nice to see that someone tries to get CM to the N2E.
I'm not really familiar with the process of porting CM, but I think the next step would be trying to build a working kernel from the Nook Color CM kernel sources.
It looks like most are in the /arch/arm/configs directory where a lot of definitions for the gossamer-board are missing.
Whats also missing is the touchscreen-driver drivers/input/touchscreen/zforce.c (and the according headers/configs), and the GPU/Epaper-driver (i think it is in drivers/video/omap3ep/, headers and configs have to be added too).
A good way to see what differences between the two kernels exist, is to get the version 1.1 original source for the nookcolor (Kernel version 2.6.29, same as the N2E kernel) and make a diff. http://images.barnesandnoble.com/PResources/download/Nook/source-code/nookcolor_1.1.tgz
At least thats what I will try, as soon as I find some time and get my nook.

CM should be possible. As the nook color and nook touch shares the similar hardware (at least same CPU board).
But at least we need some developer to build ClockworkMod for Nook Touch so we can copy the CM build to the device.
The bad side of the CM build is... we can't use the default Nook application anymore (unless we are going to modify the CM framework).
I guess Nook Touch is just a Android device running the "Nook" launcher, which the device should only run default book software. I wonder if it's possible to put a Nook Touch default reading software shortcut to "Go Launcher"?
mali100 said:
Hi,
nice to see that someone tries to get CM to the N2E.
I'm not really familiar with the process of porting CM, but I think the next step would be trying to build a working kernel from the Nook Color CM kernel sources.
It looks like most are in the /arch/arm/configs directory where a lot of definitions for the gossamer-board are missing.
Whats also missing is the touchscreen-driver drivers/input/touchscreen/zforce.c (and the according headers/configs), and the GPU/Epaper-driver (i think it is in drivers/video/omap3ep/, headers and configs have to be added too).
A good way to see what differences between the two kernels exist, is to get the version 1.1 original source for the nookcolor (Kernel version 2.6.29, same as the N2E kernel) and make a diff. http://images.barnesandnoble.com/PResources/download/Nook/source-code/nookcolor_1.1.tgz
At least thats what I will try, as soon as I find some time and get my nook.
Click to expand...
Click to collapse

winstonma said:
CM should be possible. As the nook color and nook touch shares the similar hardware (at least same CPU board).
Click to expand...
Click to collapse
I described in my last post what hardware is different, and what has to be changed in the kernel. But now I think we could also try the standard Nook-Touch kernel, but we have to put all the userland files in place.
But at least we need some developer to build ClockworkMod for Nook Touch so we can copy the CM build to the device.
Click to expand...
Click to collapse
CWM-Recovery would be nice, but isn't necessary for CM. We could start with a bootable SD like it was done with CM for the Nook Color.
I guess Nook Touch is just a Android device running the "Nook" launcher, which the device should only run default book software. I wonder if it's possible to put a Nook Touch default reading software shortcut to "Go Launcher"?
Click to expand...
Click to collapse
Take a look at XorZones work http://forum.xda-developers.com/showthread.php?t=1289894

As we have the full source of Nook Touch, is it possible to get Nook Touch as Official CM port?
I have the gut feeling to follow the Nook Color: Full Update Guide and install CM. So I believe it's nice to have ClockworkMod Recovery on Nook Touch.
By the way this is the Nook Touch 1.1 Source from B&N.
I am still waiting for my Nook Touch. It'll arrive 2 weeks later.
To be honest I don't need the B&N service. I just treat this device as e-ink Android Tablet. So I really enthusiastic to make CM port as official.
Is it possible to join as a team and work together?

Is it only me thinking that undervolting this overpowered ebook, would make us get that extra inch in battery life we all (I) want?
I'll look into making this kernel overclockable when I have a bit of free time.
If someone looks into it before I do better

Now, before we go on about kernel hacking, can someone actually provide a fully working kernel compiled from sources?
I spent a few hours on it (1.1.0 sources) tonight and this is how far I got:
dmesg:
http://pastebin.com/VUv74LFV
logcat:
http://pastebin.com/cGpkAz3n
Basically it's running and I can access it, but I have some trouble with the SGX (no graphics)
This is omap3621_gossamer_evt1_defconfig btw.

Wikipedia tells me NST uses an OMAP3611, there's very little diference between the two (OMAP3621) but something must screw up the output.
http://en.wikipedia.org/wiki/Texas_Instruments_OMAP#OMAP_3
---------- Post added at 01:25 AM ---------- Previous post was at 01:19 AM ----------
Allthough our NST works at 800mhz, so maybe wiki is wrong.
Here it's reported as an OMAP3621 so forget what I said.
http://forum.xda-developers.com/showthread.php?t=1251209

eded333 said:
Wikipedia tells me NST uses an OMAP3611, there's very little diference between the two (OMAP3621) but something must screw up the output.
Click to expand...
Click to collapse
NST uses Omap3621 as I can tell you from my opened NST laying in front of me
If you need more proof:
http://www.techrepublic.com/photos/...34&tag=thumbnail-view-selector;get-photo-roto
Most likely the gossamer evt1 config is the wrong one, but the edp1 (epson digital paper) config doesn't compile at all..
Weekend and GF-time is coming up so I won't be continuing this until Sunday evening.
---------- Post added at 01:36 AM ---------- Previous post was at 01:32 AM ----------
Anyway, it's close as everything is running, including Dalvik
Will figure it out next week

f*****g wiki, they must allways have something wrong.
Good work! It'll be done when it's done but didn't expect to see so much progress in so little time

ros87 said:
Now, before we go on about kernel hacking, can someone actually provide a fully working kernel compiled from sources?
I spent a few hours on it (1.1.0 sources) tonight and this is how far I got:
dmesg:
http://pastebin.com/VUv74LFV
logcat:
http://pastebin.com/cGpkAz3n
Basically it's running and I can access it, but I have some trouble with the SGX (no graphics)
This is omap3621_gossamer_evt1_defconfig btw.
Click to expand...
Click to collapse
Hi,
building from the 1.1 source with the omap3621_gossamer_evt1_defconfig configuration works great for me. The kernel runs perfectly, no problems with the display, touchscreen or wifi. Can't notice a difference between the stock and self-built-kernel.
I used arm-eabi-4.4.0 to build it.

Great! Which means we can build CM and get official build-bot.
But back to the point. But it'll be great if we can load the new Android ROM into our device.
So back to the basic question. Should we build recovery like CWM?
Sent from my Liquid using Tapatalk

winstonma said:
Great! Which means we can build CM and get official build-bot.
Click to expand...
Click to collapse
No it doesn't! Thats just the kernel. Getting CM running is a much harder task.
So back to the basic question. Should we build recovery like CWM?
Click to expand...
Click to collapse
If you can build CWM for the N2E than please do it. I tried, but had no success.

mali100 said:
No it doesn't! Thats just the kernel. Getting CM running is a much harder task.
Click to expand...
Click to collapse
I agree that CM would be tougher than building a kernel. But there are guides. Teaching us how to grab a built CM, swap the kernel, and it boots. So we can try that. But still, we need the recovery to "install" our build.
If you can build CWM for the N2E than please do it. I tried, but had no success.
Click to expand...
Click to collapse
I know it's not easy. But we have no choice but to get this step done if we need full access (like installing custom ROM). I will start trying once I grab my N2E.

mali100 said:
Hi,
building from the 1.1 source with the omap3621_gossamer_evt1_defconfig configuration works great for me. The kernel runs perfectly, no problems with the display, touchscreen or wifi. Can't notice a difference between the stock and self-built-kernel.
I used arm-eabi-4.4.0 to build it.
Click to expand...
Click to collapse
Hi
That post got outdated quite quickly as I managed to figure it out the day after posting it.
There was no problem with my build, but there's something really important missing in the Kernel sources, kernel modules for the PowerVR graphics.
So yes, you can build that config and push the kernel to a working NST and it will work as expected, but as we don't have the source code for the modules there's a limit to what we can actually do.
From my experience there only so much you can change in the Kernel before having to recompile the modules..
To be continued..

Related

[DEV] [BOTH] ubuntu on Galaxy Tab (natively)

I have been working on getting ubuntu running natively with the netbook gui (unity) on the galaxy tab (7" touch display at this resolution is ideal). Kernel and filesystem are almost complete, but I need one last piece of the puzzle, if anyone has the galaxy tab hardware keyboard and know how to flash a kernel with heimdall could they join irc.droid-life.com/#modadroid-galaxy-tablet and catch my attention (lilstevie there too)
Here is a screenshot of netbook-launcher-efl running on the tab
Ubuntu Desktop 2D
LXDE
e17 Illume-home (phone/tablet)
EDIT1: Ubuntu is now booting into a shell more coming soon
EDIT2: screen shot
EDIT3: added 2 extra screenshots
EDIT4: updated name to follow new rules.
Coming soon is a CDMA kernel and Images
Kernel Image 0.1 POC - 2.6.32.9 (non update1 international kernel):
this should work for all GSM devices:
Internal SD (mmcblk0p3) install:
mmcblk0p3
Wow..Surely looking forward to this one..Keep us updated and good luck
This will complete the Tab
Great News!
Sent from my GT-I9000 using Tapatalk
wow....marked
is it possible to dual boot?
Anyway to get the netbook edition of Ubuntu instead of the full desktop version? Seems like it would be better with the smaller screen.
From the Tab.
www.twitter.com/ayman07
that's what he's doing (unity)
Sent from my Legend using XDA App
Great news mate! Hope there will be dualboot optinion for Android and Ubuntu
lilstevie said:
I have been working on getting ubuntu running natively with the netbook gui (unity) on the galaxy tab (7" touch display at this resolution is ideal). Kernel and filesystem are almost complete, but I need one last piece of the puzzle, if anyone has the galaxy tab hardware keyboard and know how to flash a kernel with heimdall could they join irc.droid-life.com/#modadroid-galaxy-tablet and catch my attention (lilstevie there too)
EDIT1: Ubuntu is now booting into a shell more coming soon
Click to expand...
Click to collapse
Anything any of us can do? I know my way around linux, I can code a bit. I can host anything, too
TheGrammarFreak said:
that's what he's doing (unity)
Sent from my Legend using XDA App
Click to expand...
Click to collapse
completely missed that line lol.
@OP
video of it working please!....when theres actually a GUI
edzilla said:
Anything any of us can do? I know my way around linux, I can code a bit. I can host anything, too
Click to expand...
Click to collapse
well at the moment I am trying to sort out some kind of interactivity (shouldnt be too much work, just playing around with the back and forth with fs images, 2GB takes a while to push to the device
ayman07 said:
completely missed that line lol.
@OP
video of it working please!....when theres actually a GUI
Click to expand...
Click to collapse
video of it working will arrive once i have interactivity
MartanCJ said:
Great news mate! Hope there will be dualboot optinion for Android and Ubuntu
Click to expand...
Click to collapse
Dualbooting isn't much of an option at the moment, unless with some bootloader hacks we can separate boot modes to boot the boot partition with no keypress or recovery position with keypress, as at the moment it just triggers a different init script in the initramfs, ubuntu has some differences at a kernel level
lilstevie said:
I have been working on getting ubuntu running natively with the netbook gui (unity) on the galaxy tab (7" touch display at this resolution is ideal). Kernel and filesystem are almost complete, but I need one last piece of the puzzle, if anyone has the galaxy tab hardware keyboard and know how to flash a kernel with heimdall could they join irc.droid-life.com/#modadroid-galaxy-tablet and catch my attention (lilstevie there too)
EDIT1: Ubuntu is now booting into a shell more coming soon
Click to expand...
Click to collapse
Great job !!!!!
Dual boot . . . What a dream
Sent from my GT-P1000 using Tapatalk
lilstevie said:
Dualbooting isn't much of an option at the moment, unless with some bootloader hacks we can separate boot modes to boot the boot partition with no keypress or recovery position with keypress, as at the moment it just triggers a different init script in the initramfs, ubuntu has some differences at a kernel level
Click to expand...
Click to collapse
I'm going to have a look at this today for my Meego install, the Android init isn't passed anything by the kernel so it must look at some /dev or /sys entry to work out whether a recovery boot was requested.
I've certainly had no real problems replacing the Android init with an init script and exec'ing the renamed Android init from that to get a normal boot, the question is now how to make it useful by reading the bootstate.
As an aside, I see you were asking about the keyboard, I'm also interested in this as I have the same issue as you - i get a login prompt but can't login. I was thinking that getting a usb keyboard to work would be nice, but otherwise I'll have to make sure I bring the network up and either start adb or insmod an ethernet gadget driver (assuming such a thing will work with the Samsung patches).
Anyway keep up the good work
lardman said:
I'm going to have a look at this today for my Meego install, the Android init isn't passed anything by the kernel so it must look at some /dev or /sys entry to work out whether a recovery boot was requested.
I've certainly had no real problems replacing the Android init with an init script and exec'ing the renamed Android init from that to get a normal boot, the question is now how to make it useful by reading the bootstate.
As an aside, I see you were asking about the keyboard, I'm also interested in this as I have the same issue as you - i get a login prompt but can't login. I was thinking that getting a usb keyboard to work would be nice, but otherwise I'll have to make sure I bring the network up and either start adb or insmod an ethernet gadget driver (assuming such a thing will work with the Samsung patches).
Anyway keep up the good work
Click to expand...
Click to collapse
sounds like you are stuck in a similar position to me, any driver that is not the samsung android eth gadget does not want to compile for me, the path that i am taking is trying to get the wlan module loaded and using a script to associate it to my wifi network.
On another note started working on fbdev black screen, but something none the less
any progress on this?
Bump
From the Tab.
www.twitter.com/ayman07
wow
not at all bothered about dual boot on this project..
im absolutely excited about ubuntu working as a native os though, that would be amazing, if its anything like 'Dcordes' ( '@htc_linux' ) build for the HD2 this will be a real winner for the Tab, all the phone functions need to work too like texts and gsm, i guess if HD2 can do it then Tab can too..
looking forward to the projects future

NST-Kernel v0.1 USB-Host and Multitouch enabled (for software versions 1.1 and 1.1.2)

Hi,
after the great work from verygreen, wheilitjohnny and arkusuma I decided to build a kernel with both of their improvements included.
Features:
based on the BN kernel for the software versions 1.1 and 1.1.2
USB-Host by verygreen http://forum.xda-developers.com/showthread.php?t=1457971
Multitouch by wheilitjohnny and improved by arkusuma http://forum.xda-developers.com/showthread.php?t=1563645
Additional USB related drivers (usb-storage, usb-serial ...)
This is just the kernel, you still need to perform additional steps to get this features working, please look into the corresponding threads.
Howto install the kernel:
Download the file with the kernel and extract it, you should get a file called UImage
Use Noogie or adb to replace the uImage on the /boot partition
Reboot
DISCLAMER and WARNING:
I'm not responsible for bricked devices, dead SD cards, lost data, fried USB-Devices. Make a backup before you try anything described here!
USB-Host support is still WIP (work in progress), the battery drain is noticeable higher. If you don't plan on using the USB-devices you should use a kernel without USB-Host support.
Downloads:
NST-Kenel_v0.1_uImage.zip
github repository for the sourcecode
Thanks to:
verygreen for the USB-Host support
wheilitjohnny for the initial Multitouch support
arkusuma for the improvements to the multitouch support
Renate NST for testing
Great work! Thanks mali100!
by the way, this is the kernel for 1.1, right?
just better state that avoid asking XD
P.S.: I didn't look at the kernel for previous versions, is the kernel actually changed?
wheilitjohnny said:
Great work! Thanks mali100!
by the way, this is the kernel for 1.1, right?
just better state that avoid asking XD
Click to expand...
Click to collapse
Thanks, totally forgot to mention this. It is for 1.1 and 1.1.2
P.S.: I didn't look at the kernel for previous versions, is the kernel actually changed?
Click to expand...
Click to collapse
The kernel changed from 1.0 to 1.0.1 and also with the update to 1.1. But no changes for the last update from 1.1 to 1.1.2
mali100 said:
Hi,
after the great work from verygreen, wheilitjohnny and arkusuma I decided to build a kernel with both of their improvements included.
Features:
[*]Additional USB related drivers (usb-storage, usb-serial ...)
[/LIST]
Click to expand...
Click to collapse
Very nice! I haven't been able to make proper use of usb-serial converters yet because the permission of the created device (eg /dev/ttyUSB0) is always set to 0600 when the device is connected. From what I've read, usually an entry in ueventd.rc solves this. Unfortunately ueventd seems to be omitted from the B&N image..
How are you trying to open the device? It worked fine when I tried directly from the terminal or with this app https://play.google.com/store/apps/details?id=android_serialport_api.sample
My USB keyboard does not work with this kernel. Multi Touch works so I uploaded the file right (Noogie). It worked before with the original "USB-Host" kernel.
Just to be clear, what's the difference between:
usb-host-mt-pack_0.1.zip
&
NST-kernel_0.1_uImage.zip
?
The mt-pack update should go over the uImage or can it be applied direct?
The mt-pack includes this kernel, and all the other stuff mentioned there. It's not necessary to use both. If you want an automated way of installing multitouch and usb-host support, just use the mt-pack, if you want to do everything manually take the uImage and figure out what else you have to change.
Hi
Have anybody such kernel for nook with Glow 1.1.5?
up
pasha4ur said:
Hi
Have anybody such kernel for nook with Glow 1.1.5?
Click to expand...
Click to collapse
Hi, I'm also wondering if somebody with a Glow has already tested this?
Thanks in advance!
OK, so I'm an idiot - I've searched high-and-low, and I can't find a solid method for easily moving this kernel over to my touch. I'm building a survey tablet for a non-profit, and the e-ink screen would be awesome for them - having a multitouch keyboard even better.
Any pointers? I tried CWM SD card, and can't mount /boot, ADB doesn't show /boot.
Is it as simple as connect via adb and:
mkdir /boot
mount <some point> /boot <some flags>?
profit!
?
Code:
mount -o rw,remount rootfs /
mkdir /boot
mount -t vfat /dev/block/mmcblk0p1 /boot
Renate NST said:
Code:
mount -o rw,remount rootfs /
mkdir /boot
mount -t vfat /dev/block/mmcblk0p1 /boot
Click to expand...
Click to collapse
Thanks, that did it. 2 years of .Net and my Linux has just about evaporated!
Hi,
I already have multitouch enabled for a long time using another tutorial.
Does yours fix the problem with the screen sometimes locking up (where you have to slide with two finger to release it again)?
Or does this version also have that problem? Thanks!
rhhd said:
Hi,
I already have multitouch enabled for a long time using another tutorial.
Does yours fix the problem with the screen sometimes locking up (where you have to slide with two finger to release it again)?
Or does this version also have that problem? Thanks!
Click to expand...
Click to collapse
It's based on the other kernel and has the same problems.

[HOWTO] Build CM10 For The I957

First things first: THANK YOU to all those involved in the coding of this, especially the msm8660-common kernel that so many folks have put so much effort into, and Mr. Cyanogen for the device tree, etc etc. NONE of this would be possible without your efforts. I stand on the shoulders of giants in providing these instructions, the code is NOT mine, I'm just documenting this so you all can help contribute. Kindest regards to everyone who has contributed to make this possible. Your work has enabled the community to beat the vendor to the punch, yet again!
DISCLAIMER: This contains information on working with very early code as well as hacking together a completely unsupported Frankenstein build with some proprietary samsung binaries from another device (ATT Note) and I will warn you: If you aren't willing to risk bricking your device, don't even think about this. Also, I'm not so much a coder as I am a QA engineer, so I know enough to be dangerous, but I couldn't code C++ get myself out of a virtual crashing airplane if I had to. I also might not be able to help you out of a sticky situation, so... have fun at your own risk! But do have fun
Looking for binaries? See post #2
That said, it's honestly not likely any of this will brick your tab, if you know what you're doing, but... early software always carries danger, and using binaries from a similar yet different device can do who knows what.
Also of note: you should probably back up your EFS partition if you're going to hose with the radios to get cellular data working... hasn't been an issue for me, but... corrupt EFS partition = no more cellular data for you. ever.
Cyanogen has added initial support for the i957 to the CM10 repository, and it's looking good so far! But, there are no nightly builds yet, probably because Cyanogen would like to do some more work on it before handing out binary packages... Or maybe he hasn't figured out how to get things quite functional yet. I considered releasing a binary package for you to toy with, but then realized that would defeat the purpose of helping along the development of an official Cyanogen i957 (p5att) release, and lock you into something I already built from "pre-alpha" code. It's best to check out the latest source tree and do your own build, then you can easily test and contribute your modifications, should you find any.
So with that, here's some instructions on how to build CM10 for your SGH-I957 ("p5att") device from source code. This will also ensure time is spent doing development work, not hand-holding the faint of heart (sorry, sue me!)
These instructions assume you've successfully built Cyanogenmod for a supported device and understand the basics of getting things going. If not, start with that first, then come back to this. I'm also assuming you've got the android tools that you get from any build of cyanogen (like mkbootimg) in your path for some of the "optional" steps, which is of course elementary...
I'm also going to assume you know what to do with the resulting zip... You know... backup, factory reset, wipe system, flashy the zippy...
I really recommend doing the boot image modifications after the build, without ADB on boot, if something goes wrong, you'll have no way of knowing whats going on. If you get the boot image modified properly as detailed below, you will be able to ADB to the device as soon as the second boot logo disappears. Also, there's probably a cleaner way (like changing something somewhere to invoke one of the other case statements in init.qcom.usb.rc), but I didn't have any luck with that. Feel free to school me! :laugh:
EDIT: If you don't feel like hacking the boot image, just flash the one attached (ps: none of the zips below are TWRP/CWM flashable, just zipped up files.. dd if=bootimagefilename of=/dev/block/mmcblk0p8 from a root shell to flash the boot partition on the i957)
I've attached the initlogo.rle file to this post so you don't have to fish it out of the ramdisk embedded in the stock boot image. Adding initlogo.rle to the ramdisk gives you confirmation the kernel is bootstrapping, and it's disappearance indicates ADB is now available. Also, use a linux box for ADB! silly wabbit, windoze is for kids.
According to comments in system.prop, the cyanogenmod boot animation is disabled because the framebuffer is "weird". Strangely, it sometimes displays for me, one in 10 boots maybe. Weird!
Here goes.
----
Initialize Repo:
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
Sync Repo:
repo sync -j6
... Coffee Break!
Breakfast for p5att:
. build/envsetup.sh && breakfast cm_p5att-userdebug
Modify device/samsung/p5att/BoardConfig.mk to clean up a few things:
Comment out:
#BOARD_SDCARD_DEVICE_PRIMARY := /dev/block/mmcblk1p1
#BOARD_SDCARD_DEVICE_SECONDARY := /dev/block/mmcblk0p28
#BOARD_SDEXT_DEVICE := /dev/block/mmcblk1p2
Add above these lines:
BOARD_HAS_SDCARD_INTERNAL := true
Modify device/samsung/p5att/device-proprietary-files.txt:
Comment out all the entries, because they aren't really needed and probably dont work with jellybean. Worry about this later, blah blah.
Modify device/samsung/msm8660-common/common-proprietary-files.txt:
Comment out all the WiFi stuff, that is, like:
# Wi-Fi
# etc/wifi/bcm4330_apsta.bin
#etc/wifi/wl
#etc/wifi/nvram_net.txt
#etc/wifi/wpa_supplicant.conf
#etc/wifi/bcm4330_p2p.bin
#etc/wifi/bcm4330_sta.bin
#etc/wifi/bcm4330_mfg.bin
#etc/wifi/nvram_mfg.txt
To get WiFi working later, you need /system/etc/wifi/* from your honeycomb image. Go save them to /sdcard/wifi or something like that now, so you can just copy them over after CM10 boots
Edit: attached the files
Extract proprietary files from i717 Note CM10 image, since I have no idea where else to get these files, and they work:
from device/samsung/p5att, run ./extract-files.sh <path to an extracted CM10 i717 nightly .zip>
... The path you provide should contain the "system" folder.. IE the root of the extracted nightly zipfile.
I had used the 0831 nightly with luck here.
Get prebuilts:
run vendor/cm/get-prebuilts
Do the build:
from the system directory of your CM10 source tree run:
. build/envsetup.sh && brunch p5att
Go find something or someone to do, this is going to take a while...
You'll end up with a .zip file to flash.
After you flash, you'll need to, manually:
1) Copy back the /system/etc/wifi/* files (wifi firmware/tools, the note ones dont seem to work).
2) Install a Skyrocket ICS AT&T radio if you want cellular data, the honeycomb radio doesn't seem to work with CM10. UCLF6 works for me, although it's slower to acquire LTE than the official samsung HC image... but it works great once it finds a cell, and HSPA comes up pretty fast.
3) Consider doing the stuff below to enable early ADB and add back the second samsung logo, for debugging purposes, if you care...
----
Things you might want to do after the build, start by unzipping the resulting .zip pacakge...
Edit: I attached a the resulting boot.img to this post so you don't have to do all this if you so desire. Bonus: working i957 JB kernel binary for whatever else you might want to do with it..
Remove the assert for platform type if your TWRP recovery, like mine, thinks it's a i717 Note:
Edit META-INF/com/google/android/updater-script, remove the assert lines (first two lines of that file)
Do some handy ramdisk hacks:
First, unpack the boot image. From the root of what you unzipped:
mkdir boot
unpackbootimg -i boot.img -o boot
cd boot
Then Unpack the initial ramdisk:
mkdir rd
cd rd
zcat ../boot.img-ramdisk.gz | cpio -id
Edit init.qcom.usb.rc to enable early adb:
Search for "on property:sys.usb.config=mtp", you'll find: (line 340, for me)
on property:sys.usb.config=mtp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_acm/acm_transports tty
write /sys/class/android_usb/android0/functions mtp,acm
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state $sys.usb.config
Make this section like:
on property:sys.usb.config=mtp
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04E8
write /sys/class/android_usb/android0/idProduct 6860
write /sys/class/android_usb/android0/f_acm/acm_transports tty
write /sys/class/android_usb/android0/functions mtp,acm,adb
write /sys/class/android_usb/android0/enable 1
start adbd
setprop sys.usb.state $sys.usb.config
Add the glowing samsung initlogo:
Copy initlogo.rle from the root of a stock ramdisk to the root of this ramdisk
... So you'll get the second samsung logo, so you know the kernel is bootstrapping... if you care.
Turn off ro.secure:
Edit default.prop in the root of the ramdisk and change:
ro.secure=1
to
ro.secure=0
Repack the ramdisk:
find . | cpio -o -H newc | gzip > ../boot.img-ramdisk.gz
(you may want to save the original, if you care)
Make the new boot.img:
cd .. (ie get back to the directory with the files listed in the next line)
rm ../boot.img
mkbootimg --kernel boot.img-zImage --ramdisk boot.img-ramdisk.gz --cmdline "console=ttyHSL0,115200,n8 androidboot.hardware=qcom" --base 48000000 --ramdiskaddr 49400000 --pagesize 2048 -o ../boot.img
Repack the flashable zip:
cd .. (ie get back to where you unzipped the original flashable .zip)
rm -rf boot (remove the extracted boot.img and ramdisk under it, save it somewhere if you care)
(also remove the original .zip from here if you extracted it in the cwd)
zip -r ../somezipname.zip .
Then flash somezipname.zip or whatever you called it..
(Remember you'll need to put the Honeycomb files from /system/etc/wifi into /system/etc/wifi of the running image after you boot if you want wifi
(And flash a Skyrocket ATT radio if you want cellular data!)
WARNING: FOR SAMSUNG SGH-I957 NORTH AMERICAN DEVICES ONLY
GT-SERIES (IE: GT-7320, etc) ARE NOT SUITABLE FOR THIS RELEASE
UPDATE ZIP DOES _NOT_ CHECK YOUR PRODUCT CODE, WILL HAPPILY EAT OTHER DEVICES
THIS IS A TEST RELEASE FOR EXPERIENCED ANDROID HACKERS
SOME FEATURES MAY NOT BE USABLE OR WORK AS INTENDED
BOOTLOOP ISSUE? USE TWRP 2.1.4: https://www.dropbox.com/s/u07zrx808a5ae2z/i957_twrp_recovery.img.tar
Latest Flashable .ZIP, update 7: http://droid.arm.ee/957/cm10_p5att_nrvate_testrelease7.zip
Use TWRP, factory reset and wipe /system if you are coming from another ROM. Don't forget to install google apps http://wiki.cyanogenmod.com/index.php?title=Latest_Version/Google_Apps
Update 2
* h264 hardware decode fixes for youtube HQ and other hardware-decode enabled apps (vidc/yamato firmware update)
* camera fixes from kunals.shah -- thanks!! (camera library in system/lib/hw)
* wifi address fix - get MAC from EFS, no more random address (insert proper path to .nvmac.info in dhd.ko kernel module)
* move /mnt/secure to internal sdcard to fix asec apps (asec folder linked to /sdcard/.asec)
* disable adb on early boot -- fix mtp maybe? (change to init scripts in ramdisk)
* remove a couple of (probably) harmless references to sdcard1 in init scripts
* update vold.fstab with the correct partition for the sdcard (26), not sure if anything even uses that, but...
Update 3
* Kernel Lovins ->
--- Picked up slew of bugfixes from msm8660-common cyanogenmod jellybean kernel tree -- up to and including 09/13/2012 commits.
--- Enabled CONFIG_USB_ANDROID_SAMSUNG_MTP and CONFIG_SPI_QUP kernel options to match SHV-140 ICS samsung kernel config
--- Disabled CONFIG_XVMALLOC and CONFIG_ZRAM kernel options, also to match up to SHV-140 ICS samsung kernel config
--- Now compiled with newest Sourcery cross-compiler
--- Modified dhd.ko (Broadcom WiFi kernel module) -- you can now create file /data/.ranmac if you want your MAC address randomized on each reboot (ignores MAC on EFS partition, random generation expanded to 5 bytes)
* symlink for light sensor (/dev/i2c11 -> /dev/i2c-11) -- Doesn't fix auto brightness, but at least things that access the light sensor via the standard API will get values back now, FWTW.
* RIL stuff from SHV-140S (korean Tab 8.9 LTE) -- An attempt to resolve SIM_NOT_READY error -> Files replaced:
/system/lib/libril-qcril-hook-oem.so
/system/lib/libsecril-client.so
/system/lib/libreference-ril.so
/system/lib/libril.so
/system/lib/libril-qc-qmi-1.so
/system/bin/qmuxd
/system/bin/qmiproxy
/system/bin/netmgrd
* Update /system/etc/wifi stuff -- newer broadcom firmware images, wpa_supplicant.conf with p2p parameters
* Reenable early ADB since it appears MTP issues likely related to lack of CONFIG_USB_ANDROID_SAMSUNG_MTP kernel option -- Maybe someone who uses MTP can tell me whats up now?
Update 4
* Fix A2DP bitrate (48000 -> 44100 in /system/etc/audio_policy.conf)
* More invasive ASEC fix that might actually fix this jellybean nonsense (modified vold to use /data/secure locations, create /data/secure directory tree in init.emmc.rc)
* Revert SHV-140 RIL change, back to Note CM10 RIL libraries
Update 5
* Android 4.1.2 - Complete rebuild from CM10 tree retrieved on October 12th. Includes ASEC hack as in update4.
* SGH-i957 Radio Information Libraries (RIL) from official Telus ICS image - Thanks Dan!
Update 6
* Rebuilt from CM10 source code retrieved Nov 10 2012. ASEC hack applied.
* Update to latest msm8660-common kernel. Kernel unmodified (ie: no overclocking).
Update 7
* Rebuilt from CM10 source code retrieved Dec 20 2012. ASEC hack applied.
* Update to latest msm8660-common kernel. Kernel unmodified (ie: no overclocking).
Fantastic!
Are you saying everything seems to work pretty well except the 4G radio? (No guarantees, at my own risk, etc. etc. I know, I won't blame you)
If so, I'm going to try this right away. I don't have a data plan for my SIM, and haven't used the 4G yet. (Got a free upgrade from the wifi version after some shipping trouble with the vendor.)
The Galaxy Tab has been kind of a letdown when I have JB on my Galaxy Nexus and Kindle Fire both, and the "upgrade" is a bit disappointing since I checked on custom ROMs *before* I ordered, but the AT&T version is further behind.
Thanks for your hard work! I'll let you know what happens.
YellowRex said:
Fantastic!
Are you saying everything seems to work pretty well except the 4G radio? (No guarantees, at my own risk, etc. etc. I know, I won't blame you)
Thanks for your hard work! I'll let you know what happens.
Click to expand...
Click to collapse
I haven't had time to try "everything", but the stuff that I use on a regular basis is mostly functional. There's quirks, but... It's usable!
For example, one thing I just found out.. the Adreno (qualcomm MSM graphics) drivers aren't production-build.. There's no such thing available -- The current drivers available from qualcomm are "early sample" binaries for jellybean bringup testing, which is what this is... So, I've seen the random screen flicker, etc. Remember there are only a few devices with tested jellybean images, and most of them are google devices... And the i957 will probably never see an official JB release.
https://developer.qualcomm.com/mobi...phics-optimization-adreno/tools-and-resources
This release contains an early sample of the user-mode driver binaries for Qualcomm's Adreno 2xx GPU on Google Android 4.1 Jelly Bean. It has been tested with the CAF release M8960AAAAANLGD105210.1 and supports any Adreno 2xx GPU on Android 4.1 Jelly Bean. This release is intended only for developers that work on Jelly Bean bring-up work. It is an early release sample which will be replaced by a new driver binary in the future.
Click to expand...
Click to collapse
I'm sure there's plenty of little quirks you can find if you "twiddle all the knobs and flip all the switches" -- But it's certainly testable, and way closer to the "usable" end of the spectrum than the "barely functions" end.
Cheers!
PRE-ALFA CM10 Build
You did a great job nrvate !!. you inspired me to get ICS/JB on my SGH-i957. I did try your method and seems everything (3G, SMS, GPS, Bluetooth, Camera etc..) works except wifi. I am surprised that Voice calling is also working in this build !!! I will update you once I fix wifi issue. and also provide CWM/TWRP/ODIN flashable build if time permits.
Cheers !!
-KS
Its so exciting to see some real pregress.
Sent from my SAMSUNG-SGH-I957 using xda app-developers app
Ditto. This is really good news. Thanks.
Cheers, y'all!
Only thing I had to do to get wifi working was stuff the original stuff (from honeycomb) in /system/etc/wifi.
first thing I'd do is make sure the dhd module is getting loaded.. dmesg will print your kernel log that'll show problems with loading that module.. also, try rmmod dhd and insmod dhd, see what happens.
If the DHD module doesn't report symbol errors or some nasty like that, make sure it's loading the firmware -- That'll probably leave an error in dmesg also if it's broke.
also check logcat for wifi-related nastiness
If you can find a specific problem post it and I'll try to help reproduce/solve.
Also working on hacking together a build of ICS based on what's been done with JB, but no idea how that's going to turn out yet. It'd be nice to have as a daily until qualcomm releases production-grade adreno graphics drivers (and, the CM9 ICS tree is now "final", might as well build it!)
update: due to needing the "late model" msm8660-common kernel for proper i957 device support, the later qualcomm (JB) graphics drivers are required too.. drat! however, looks like I'll still be able to hack together a build of CM9 based on the current "final" ics branch using the JB kernel and beta qualcomm graphics. got 'er booted, working out the kinks now. I'll start another thread for that when it's done
i wish i knew half as much as you do, keep up the good work!
orlandoxpolice said:
i wish i knew half as much as you do, keep up the good work!
Click to expand...
Click to collapse
Thanks! Learning as I go with half this.. It's just bits, try one way, get dirt.. try another way, get bacon!
Some of this is so touchy.. ie kernel versions vs adreno drivers, blah blah.. seeing what the SHV-140 kernel does.. it boots CM9, now to see if it'll play nice with video decoders. might forget CM9, i <3 jelly beans anyways!
nrvate said:
Thanks! Learning as I go with half this.. It's just bits, try one way, get dirt.. try another way, get bacon!
Some of this is so touchy.. ie kernel versions vs adreno drivers, blah blah.. seeing what the SHV-140 kernel does.. it boots CM9, now to see if it'll play nice with video decoders. might forget CM9, i <3 jelly beans anyways!
Click to expand...
Click to collapse
Solid work/mashery my friend. This indeed great news. I am currently waiting for my zip file to spit out, do a few mods and then give it a flash when I complete those things.
As far as the adreno drivers have you checked the site for them? I recall reading about them on another msm8660 device and perhaps may pertain to this project as well. The screen flicker has a few work arounds based on other devices that may relate to this device as well. Either to get rid of the flicker entirely or at least minimize them. Worth trying (here are a few I have seen work on some devices.. dev options, disable HW overlay, another is adjusting the debug.mdpcomp.maxlayer value in build.prop from 3 to 2, another is to set the min CPU freq to 486mhz).. last but not least, this was posted on cyanogenmod review, and can be cherry picked if not merged already: http://review.cyanogenmod.com/#/c/22782/ and may work. As far as getting LTE to light up in a more prompt manner, it may be worth exploring different modems (I see you are using UCLF6 from the i717 note), there are many others from the i717 leaks (ie. UCLF5, UCLE2/3, etc etc) and also of course any other Skyrocket ICS+ modems, as well as i717m (canadian, rogers modems such as XLA2 (gingerbread but worked on the i717 note in the US) and various others. If you cannot located them I will post links when I have more time. This is a great start, and I will help out when I have time to contribute to this project (I have a few on my plate plus a full time job so sometimes having the time is a difficult venture). In any case, great start and I can see this will progress very well in due time. Congrats and thanks for your contribution to the base of this, as this progresses and we work to manage these small issues, we will have something even solid
Regards,
th3g1z
th3g1z said:
Solid work/mashery my friend. This indeed great news. I am currently waiting for my zip file to spit out, do a few mods and then give it a flash when I complete those things.
As far as the adreno drivers have you checked the site for them? I recall reading about them on another msm8660 device and perhaps may pertain to this project as well. The screen flicker has a few work arounds based on other devices that may relate to this device as well. Either to get rid of the flicker entirely or at least minimize them. Worth trying (here are a few I have seen work on some devices.. dev options, disable HW overlay, another is adjusting the debug.mdpcomp.maxlayer value in build.prop from 3 to 2, another is to set the min CPU freq to 486mhz).. last but not least, this was posted on cyanogenmod review, and can be cherry picked if not merged already: http://review.cyanogenmod.com/#/c/22782/ and may work. As far as getting LTE to light up in a more prompt manner, it may be worth exploring different modems (I see you are using UCLF6 from the i717 note), there are many others from the i717 leaks (ie. UCLF5, UCLE2/3, etc etc) and also of course any other Skyrocket ICS+ modems, as well as i717m (canadian, rogers modems such as XLA2 (gingerbread but worked on the i717 note in the US) and various others. If you cannot located them I will post links when I have more time. This is a great start, and I will help out when I have time to contribute to this project (I have a few on my plate plus a full time job so sometimes having the time is a difficult venture). In any case, great start and I can see this will progress very well in due time. Congrats and thanks for your contribution to the base of this, as this progresses and we work to manage these small issues, we will have something even solid
Regards,
th3g1z
Click to expand...
Click to collapse
Thanks for the input! The flicker, as is, is really minor. It only really seems to happen, for me atleast, in the main launcher window and sometimes when scrolling in maps. It's intermittent, actually. I will have a look at that change you linked, nice catch!
Qualcomm's dev site is linked in post #4, hopefully they will post the final drivers soon. Do they have another site that would receive them faster, or with incremental builds? I really wish OEMs would share engineering builds more openly with the community, but I guess I'm just used to being on an engineering team, lol. I've been spoiled with working for a few of the larger OEMs and getting all the cool toys first...hehe.
I tried a few of the note ICS radios, got nothing at all from them besides errors in logcat -b radio, wouldn't bring up the SIM.
All the skyrocket radios seem to work to varying degrees.
Also, it may be more of the RIL -- The UCLF6 skyrocket modem works very nicely on the stock honeycomb image, insta-LTE and everything.
I have not tried any of the non-ATT radios... wasn't sure how that'd work out. I'll give some of the non-ATT radios a go, why not! Besides Skyrocket or Note, any other similar devices? Only thing I can think of is the SGS II LTE HD (SGH-i757) but not much is available for that device as AT&T punted it for the S III (747) and it never got popular.. If you want the HD screen, you get a S-III, which came out about a month later, which is just why ATT punted it all together.
I hear you on the job. I've got an interview lined up for a better one, too! Man, I'm hoping that works out!
nrvate said:
Thanks for the input! The flicker, as is, is really minor. It only really seems to happen, for me atleast, in the main launcher window and sometimes when scrolling in maps. It's intermittent, actually. I will have a look at that change you linked, nice catch!
Qualcomm's dev site is linked in post #4, hopefully they will post the final drivers soon. Do they have another site that would receive them faster, or with incremental builds? I really wish OEMs would share engineering builds more openly with the community, but I guess I'm just used to being on an engineering team, lol. I've been spoiled with working for a few of the larger OEMs and getting all the cool toys first...hehe.
I tried a few of the note ICS radios, got nothing at all from them besides errors in logcat -b radio, wouldn't bring up the SIM.
All the skyrocket radios seem to work to varying degrees.
Also, it may be more of the RIL -- The UCLF6 skyrocket modem works very nicely on the stock honeycomb image, insta-LTE and everything.
I have not tried any of the non-ATT radios... wasn't sure how that'd work out. I'll give some of the non-ATT radios a go, why not! Besides Skyrocket or Note, any other similar devices? Only thing I can think of is the SGS II LTE HD (SGH-i757) but not much is available for that device as AT&T punted it for the S III (747) and it never got popular.. If you want the HD screen, you get a S-III, which came out about a month later, which is just why ATT punted it all together.
I hear you on the job. I've got an interview lined up for a better one, too! Man, I'm hoping that works out!
Click to expand...
Click to collapse
I hear you on OEM not releasing the drivers in a timely fashion, and it is frustrating when you have sources for it as "leaks" .. pertaining to your question I did see a link to update drivers but in my 5 min search (short on time atm, work early in the morning), I didn't find it yet, but I will look a bit deeper and hopefully can find it. I recall it related to CM10 and addressing said drivers for a particular device or devices. I will see what I can find tomorrow, and hope that it pertains.
No harm in trying a few other modems, I would look at the i717/i717m (m is the canadian model, same device though and the modems from rogers work with the i717 as well as the skyrocket).. and obviously the skyrocket various modems which it seems you have tried at least a few of. They vary so much and your location has a lot to do with it. Some work better in certain areas, and others in other areas as I'm sure you know already. Worst case, even after trying a few you can always go back to UCLF6. I found it a bit odd that the rogers modems worked with ATT but hey I'm not complaining about that one I believe you are correct, however, pertaining to the RIL as being the issue, not so much the modem's themselves. (no telling though without trial/error)
I'm not sure the i747 modems would work or not, but, it will not hurt to try, as you can return to UCLF6 if it is a dead end. the i757 I have yet to even see, so I can't comment on that in particular.
I'd like to chat a bit more when we both have some time, not sure if you get on IRC (freenode network) at all but if you do look me up, same handle as here on XDA. It would be easier to chat that way.
I have more to say but having to be away in about 4 hours, I will have to get back to you. Good luck w/ the interview bud.
Take care, we'll catch up soon.
~th3g1z
th3g1z said:
I hear you on OEM not releasing the drivers in a timely fashion, and it is frustrating when you have sources for it as "leaks" .. pertaining to your question I did see a link to update drivers but in my 5 min search (short on time atm, work early in the morning), I didn't find it yet, but I will look a bit deeper and hopefully can find it. I recall it related to CM10 and addressing said drivers for a particular device or devices. I will see what I can find tomorrow, and hope that it pertains.
No harm in trying a few other modems, I would look at the i717/i717m (m is the canadian model, same device though and the modems from rogers work with the i717 as well as the skyrocket).. and obviously the skyrocket various modems which it seems you have tried at least a few of. They vary so much and your location has a lot to do with it. Some work better in certain areas, and others in other areas as I'm sure you know already. Worst case, even after trying a few you can always go back to UCLF6. I found it a bit odd that the rogers modems worked with ATT but hey I'm not complaining about that one I believe you are correct, however, pertaining to the RIL as being the issue, not so much the modem's themselves. (no telling though without trial/error)
I'm not sure the i747 modems would work or not, but, it will not hurt to try, as you can return to UCLF6 if it is a dead end. the i757 I have yet to even see, so I can't comment on that in particular.
I'd like to chat a bit more when we both have some time, not sure if you get on IRC (freenode network) at all but if you do look me up, same handle as here on XDA. It would be easier to chat that way.
I have more to say but having to be away in about 4 hours, I will have to get back to you. Good luck w/ the interview bud.
Take care, we'll catch up soon.
~th3g1z
Click to expand...
Click to collapse
I'll hit you up on IRC at some point for sure
So I sort of figured it out... Found how to get the radio to play nice, still don't know why... The kernel! Went back to the 3.0.8 kernel as provided by samsung for the SHV-140 (replaced zImage in boot.img, reflashed mmcblk0p8) and BAM. Nice quick 4G. Nothing in /system changed (so a bunch of other stuff broke) but the radio sure got happy.
Not sure what the difference is, quite yet... Should be an interesting needle in the hackstack for sure.
Is the package manager a problem with this the same as cm9?
Sent from my SGH-I727 using xda premium
orlandoxpolice said:
Is the package manager a problem with this the same as cm9?
Click to expand...
Click to collapse
yes, the issue actually originated with jellybean -- since there's no device tree in the cm9 repo for the p5att, i jammed the cm10 p5att device tree into cm9 source to make it happen. the device tree includes the init scripts, so the problem actually originated from cm10, lol.
same fix works.. mount tmpfs on /mnt/secure (in addition to /tmp/asec) and use wide-open (777) permissions.
nrvate said:
same fix works.. mount tmpfs on /mnt/secure (in addition to /tmp/asec) and use wide-open (777) permissions.
Click to expand...
Click to collapse
Heh! Is it just me or does that feel a little less than 'secure'? :silly:
i feel like a english lit major walking into an advanced calculus class with this jargon
This is how the sausage gets made.
Speaking of making sausage, I'm starting to think this is stable enough to share a binary build...
1) Camera is borked. I'm at a bit of a loss to figure it out, maybe I'll try again next week -- Suggestions very welcome, I'd like to get this working for video chat ala skype / gtalk.
2) MTP is borked. Again, at a bit of a loss, I suppose I'd care if I used it... Silly MTP.
3) New kernel fixes radio issues (mostly) - I've had it completely refuse to come up, showing no signal, fixed by rebooting the tablet. Goes right to LTE, but defaults to HSPA only. Change to LTE / GSM / WCDMA in mobile network settings -> network mode.
4) /mnt/asec / /mnt/secure issue (play store install problems) resolved.
5) FC in Settings -> Storage resolved by removing sdcard1 (which will never exist) from the build config
6) Boot animation is disabled due to framebuffer problems (supposedly) -- i know the spinny thing is cool, but you'll have to live with a black screen. Strangely, it comes up on some boots. lol.
7) Qualcomm graphics drivers are still the pre-release version. They seem to work pretty nice though. Haven't seen any of the flickering since some mdp changes in the kernel.
8) Video codecs aren't as screwed up as they are in the ICS build I did -- IE youtube works for all the videos I tried and bsplayer for android nicely plays my favorite x264 720P tv shows (win! gotta keep myself entertained at work some how...)
9) overclocked kernel HACK WARNING for you purists -- Modifed the kernel slightly, it now recognizes all MSM8660's as having the higher binned speed (1.66 vs 1.50 ghz) -- I didn't touch the frequency tables or anything, since it made more sense to just recognize the parts as 1.66ghz parts. Also, removed the logic that limited single-core mode to 1.2ghz (why?!). Gabe put out a OC kernel and most people reported stability at 1.7+ ghz, so... 1.66 seemed good. Hasn't borked for me. If you want stock speeds bad enough or run into problems.. http://d-h.st/8mB
Usual procedure, TWRP.. factory reset, wipe system, flash zip, receive bacon.
Bacon: http://d-h.st/Klu
I've been using this as my daily the past few days, and unless it starts behaving badly for some reason, it's probably going to be my daily for the foreseeable future. Really want to get the cams working, though!
Please share other issues. There has to be something else horribly broken I haven't noticed.
Usual "may make zombies run out of your tablet" warning applies to this test software.
Enjoy!

[ROM][WIP][kexec] Ubuntu with Freedreno!

I've been working on getting Ubuntu running on my Sprint Galaxy S3 using the same method I used on my Epic 4G - kexec from recovery loading the root filesystem off a partition on an SD card.
What I've done so far:
* Found a kexec loader to boot into a custom kernel, which is required for booting off an SD card, among other things;
* Compiled a custom kernel with KGSL DRM support enabled for Freedreno;
* Built a minimal Ubuntu 13.10 armhf rootfs and compiled the Freedreno DRM/DDX/Mesa Gallium driver with changes to support the Adreno 225 and stub occlusion query (possibility of full dekstop OpenGL 2.1 support!);
* Got X11 working with USB keyboard, touchscreen, and fbdev. Still working on getting the Freedreno DDX to load.
I still get a kernel oops with the camera driver (http://pastebin.com/egZbxsED), but it apparently doesn't affect stability or cause reboots anymore.
Working so far:
* USB Host - only tested with a keyboard, but other input/storage/audio/video devices should also work.
* Framebuffer console - thanks castrwilliam!
* Touchscreen works with X.org fbdev driver and the following added to /usr/share/X11/xorg.conf.d/11-evdev-quirks.conf:
Code:
Section InputClass
Identifier "Touchscreen"
Driver "evdev"
MatchProduct "sec_touchscreen"
EndSection
* Power and volume buttons
Untested:
* Bluetooth - might need firmware
* Sensors - should work just fine
* Home, menu and back buttons should work but probably need mapping
Unlikely to work due to proprietary Android-only blobs:
* Camera
Kernel config changes:
# IMPORTANT: remove the line that says "depends on !MSM_KGSL_DRM" from drivers/gpu/msm/Kconfig:70
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_VT_CONSOLE=y
CONFIG_DRM=y
CONFIG_MSM_KGSL_DRM=y
I may eventually post a pre-built kernel, but if you don't know how to compile a kernel from source, this guide is not for you.
Likewise, if you don't know how to prepare an armhf Ubuntu root filesystem, this guide won't help much.
After building the kernel, copy arch/arm/boot/zImage to your SD card along with the attached zImage.zip (CWM-flashable kexec loader).
It might need modifications (META-INF/com/google/android/updater-script) depending on how you have your card set up.
UPDATE: Unfortunately, this phone hasn't been a good fit for me. I never got very far booting Ubuntu or Freedreno, so I decided to sell it.
For anyone still interested in this project, I believe castrwilliam has the required patches.
When I get my next Snapdragon device (either the new Nexus 7, a Nexus 4, a Galaxy S4, or another phone with Adreno 320 graphics), I will post the Mesa patches for occlusion query support. Sorry I wasn't more helpful with this device.
Added to favourites, I'll see what I can do with it over the weekend
Sent from my SPH-L710 using Tapatalk 4 Beta
Great work. Good luck debugging.
Sent from my SPH-L710 using xda app-developers app
Maybe taking a look at how Motorola worked Ubuntu, in a way, with Webtop that came on the Photon. The Photon has the integrated Ubuntu-based 'Webtop' application from Motorola. The Webtop application is launched when the phone is connnected to the external display through Laptop dock or HD multimedia dock. In Webtop mode, offering similar user interface of typical Ubuntu desktop, the phone can run several applications on external display such as Firefox web browser, SNS clients and 'mobile view' application enabling total access of the Photon and its screen. In September 2011, Motorola released the source code of Webtop application at SourceForge.
I know it's not an app you're trying to use but it may help in finding how to work some of the kinks you have. I hope that helps
Hi, I'm the person maintaining Ubuntu currently for HP Touchpad (http://forum.xda-developers.com/showthread.php?t=2225462) (which also uses an MSM SOC.) It's starting to show its age... I'm trying to get this to where you have it currently on a Verizon S3 / d2vzw (obviously, kexec'ing into a Verizon kernel instead.) Maybe we could collaborate?
Currently I have the KT747 kernel (kexec host support as well as guest) (compiled as a zImage. If you can provide me with access to the patches you have for freedreno and hopefully also an initramfs image (I'm going to mod the HPTP rootfs, so no need there)... I'd love it.
My only modifications to the kernel so far are the ones I mentioned in the OP and three of Rob Clark's Freedreno commits from the mako-kernel branch of kernel-msm on his GitHub - namely, "kgsl: drm: remove checking on 'active'", "video/msm: add true ARGB", and "kgsl: fix null ptr on cache flush".
At one point I had X11 working with freedreno displaying the GNOME background, but the screen blanked after 10 seconds and I couldn't recover from that. Unfortunately, after experimenting with different kernel config options, I lost that semi-working configuration and the GPU started to page fault, sometimes displaying a corrupted screen and sometimes rebooting before displaying anything.
Believe me, I've been working on this for weeks, and it's very frustrating that it doesn't even sort of work. My minimal modifications to Mesa to get it to recognize the Adreno 225 are highly unlikely to be the cause of the problems, and I highly doubt the differences between the 220 and 225 are to blame since it was working at one point. It's a one liner, figured out from from freedreno/mesa issue #2.
Castrwilliam, the initramfs is the least of your worries. I don't use one, since its only function is to display the Plymouth splash, which doesn't work anyway.
gTan64 said:
...
Castrwilliam, the initramfs is the least of your worries. I don't use one, since its only function is to display the Plymouth splash, which doesn't work anyway.
Click to expand...
Click to collapse
Yeah, I realized how you were doing this after looking at the kexec script. I was trying to boot from Android, not recovery, and was under the impression you had put a disk image on external SD, and then made the initramfs loop-mount that and boot from it... but now I see you partitioned it.
It's a shame you don't have your original config, I'll try to get it booting again on my end. I remember doing something like this a while back, where I made like 10 differently configured kernels at once, and tested them each in turn. I imagine the ramconsole would help a good bit so that I could look a how far we're getting. (The touchpad has its own version of that, which you can read directly from the bootloader (bootie.) Then again, it also has LVM volumes for storage instead of actual partitions (except for boot) - which makes it uber easy to boot lots of OSes.)
Currently I'm not doing too well. I remember that kexec did work at one point on d2vzw hardware but I'm assuming that it still does now (new bootloaders, 3.4 kernels, ...) I do kexec -e, the reboot happens, I see the Samsung bootloader screen, then the screen blanks for like 5 seconds and it reboots again - back into android.
castrwilliam said:
I imagine the ramconsole would help a good bit so that I could look a how far we're getting...
the screen blanks for like 5 seconds and it reboots again - back into android.
Click to expand...
Click to collapse
The RAM console should be enabled by default, so check /proc/last_kmsg once Android boots back up.
It could be something simple like the root filesystem not mounting, either due to how you partitioned the card or not having time to settle, hence rootwait. Or it could be something else. I haven't gotten any useful output in /proc/last_kmsg with the framebuffer console enabled, so make sure that's disabled unless you want a headache and a psychiatrist visit.
Unfortunately, I've spent way too much energy trying to debug the GPU page fault, and I probably won't have much time to work on it after next month. I want this bug dead and forgotten, so more eyes would be great!
X11 works (shows something on screen) with the X.org "fbdev" driver. I can't reproduce anything with "freedreno" (or "modesetting", which I accidentally loaded at one point...)
The touch screen doesn't respond, but the power key works and brings up a shutdown dialog.
Screenshot attached. I used the 13.04 Touchpad rootfs with some modifications...
Okay, you can get the fbcon working by either loading it as a module during boot OR changing its "module_init" macro in drivers/video/console/fbcon.c to "late_initcall".
Picture attached. Sorry for blurriness, I don't have an actual digital camera, only what's on my sig. This should make debugging a bit easier.
Nice to see some more freedreno development on android phones
I'm using freedreno with a slightly different approach, starting it directly from android on a chrooted shell, which is a lot more easier to debug.
The kernel needs some fixes from the mako branch and the following configs:
Code:
CONFIG_DEVTMPFS=y
CONFIG_VT=y
CONFIG_DRM=y
CONFIG_MSM_KGSL_2D=y
CONFIG_MSM_KGSL_DRM=y
Rob Clark (the maintainer of freedreno) has been working on his own kernel driver for adreno gpu:
https://github.com/freedreno/kernel-msm/commits/ifc6410-drm
This would be a nice addition/replacement for the current qualcomm gpu driver.
Wootever said:
Nice to see some more freedreno development on android phones
I'm using freedreno with a slightly different approach, starting it directly from android on a chrooted shell, which is a lot more easier to debug.
The kernel needs some fixes from the mako branch and the following configs:
Code:
CONFIG_DEVTMPFS=y
CONFIG_VT=y
CONFIG_DRM=y
CONFIG_MSM_KGSL_2D=y
CONFIG_MSM_KGSL_DRM=y
Rob Clark (the maintainer of freedreno) has been working on his own kernel driver for adreno gpu:
https://github.com/freedreno/kernel-msm/commits/ifc6410-drm
This would be a nice addition/replacement for the current qualcomm gpu driver.
Click to expand...
Click to collapse
How do you stop the SurfaceFlinger (I think that's proper terminology) from hogging the framebuffer?
Semi Working Freedreno/X11
castrwilliam said:
How do you stop the SurfaceFlinger (I think that's proper terminology) from hogging the framebuffer?
Click to expand...
Click to collapse
HEY, look what I did?!
(There are a lot of patches req'd to get this far. Even at this point, there's a weird bug where the cursor loops across the edge of the screen and windows overlap themselves. If you want to know, I'll elaborate in a further post, otherwise, let's get that touchscreen working for release!)
Thanks to Rob Clark (again, the author of freedreno) who helped me get this far on his IRC channel at Freenode.
castrwilliam said:
HEY, look what I did?!
(There are a lot of patches req'd to get this far. Even at this point, there's a weird bug where the cursor loops across the edge of the screen and windows overlap themselves. If you want to know, I'll elaborate in a further post, otherwise, let's get that touchscreen working for release!)
Thanks to Rob Clark (again, the author of freedreno) who helped me get this far on his IRC channel at Freenode.
Click to expand...
Click to collapse
Are we keeping track of all the necessary patches? I'm on https://github.com/CyanogenMod/android_kernel_samsung_d2, branch cm-10.2_kgsl, with the per-process pagetable hack, the "active" kgsl_drm fix, Adreno 225 case in Mesa (freedreno_screen.c), and my stub occlusion query hack. I wasn't on #freedreno when Rob Clark pointed out the libdrm bug I heard about from the Wiki - did you fix that? I'm still getting the assert crashes.
I'll be on #freedreno at some point tomorrow.
gTan64 said:
Are we keeping track of all the necessary patches? I'm on https://github.com/CyanogenMod/android_kernel_samsung_d2, branch cm-10.2_kgsl, with the per-process pagetable hack, the "active" kgsl_drm fix, Adreno 225 case in Mesa (freedreno_screen.c), and my stub occlusion query hack. I wasn't on #freedreno when Rob Clark pointed out the libdrm bug I heard about from the Wiki - did you fix that? I'm still getting the assert crashes.
I'll be on #freedreno at some point tomorrow.
Click to expand...
Click to collapse
I got this to work by using a fairly old libdrm, but a new DDX (xf86-video-freedreno). I haven't fixed the assert bug on the newer ones.
You need to patch the DDX's msm-device.c to set the width to 736 (has to be a multiple of 32), and then disable/comment out/delete where it calls the mode-set function (there's a comment about making xrandr happy in the right place.) I can make a patch soon, but I have a feeling that this is what made the other bug happen with the looping cursor.
edit -- I fixed the looping cursor. A patch is attached...
Youtube video of it working: http://www.youtube.com/watch?v=rh9wmmYuKxY
Tips:
Set the firnware path for the dhd (wi-fi) driver to /system/etc/wifi/bcmdhd_sta.bin (WITHOUT the _b2 buffix, it will be added by the module). Set the nvram file to /system/etc/wifi/nvram_net.txt. Then, add the Android partitions to the /etc/fstab (mmcblk0p14 is system.)
apt-get install xserver-xorg-input-multitouch and then add a config file under /usr/share/X11/xorg.conf.d/ to get the touchscreen working. It will act like a laptop trackpad. You MUST use the multitouch driver. "evdev" will segfault the server on any touch. Note that you can match the TS in an InputClass with its udev name, "sec_touchscreen".
The date that I compiled the working Freedreno libdrm was the date that Ubuntu 13.04 was released. I'm working on narrowing it down to a Git SHA1 revision. I used Rob Clark's repository, not the freedesktop one.
Use the master branch of the DDX, sorry for the earlier confusion.
For battery savings, you might want to cherry pick the DPMS commit from the a3xx branch of the DDX.
castrwilliam said:
How do you stop the SurfaceFlinger (I think that's proper terminology) from hogging the framebuffer?
Click to expand...
Click to collapse
There are two binaries you can execute with adb shell stop/start that kills and restart the android proccesses, allowing access to the framebuffer.
Okay, so 2-D does work with my mods, but I just tried 3-D last night (ran es2gears with the Adreno 225 mod in place on mesa) and the pagefaults returned.
I did notice something about your pagefault reboots, though: they shouldn't necessarily be happening, it's a NULL pointer dereference that can be fixed in the handler by doing this in drivers/gpu/msm/kgsl_iommu.c (function is kgsl_iommu_fault_handler):
Change
Code:
curr_context->pagefault = 1;
curr_context->pagefault_ts = curr_global_ts;
To:
Code:
if (curr_context) {
curr_context->pagefault = 1;
curr_context->pagefault_ts = curr_global_ts;
}
So anyone got any updates for this if not i will start building upon what is there if it is ok
Sent from my SCH-S960L using xda premium
allenjthomsen said:
So anyone got any updates for this if not i will start building upon what is there if it is ok
Sent from my SCH-S960L using xda premium
Click to expand...
Click to collapse
I guess it is OK. Hopefully you can make a dent in this development. Keeping my eye on this thread.
No longer developing for this phone
Unfortunately, this phone hasn't been a good fit for me. I never got very far booting Ubuntu or Freedreno, so I decided to sell it.
For anyone still interested in this project, I believe castrwilliam has the required patches.
When I get my next Snapdragon device (either the new Nexus 7, a Nexus 4, a Galaxy S4, or another phone with Adreno 320 graphics), I will post the Mesa patches for occlusion query support.

[Q] [R&D] NST future CM11 &TWRP

Anyone with UART or USB access to u-boot willing to help with a dev project?
Devs only ATM, too many serious bugs
And there is the possibility of screen damage
If it hardlocks with papyrus ic on
test build #1 pulled due to poweroff/screen burnin bug
Test build #1: http://forum.xda-developers.com/showpost.php?p=60336716&postcount=14
Test build #2: http://forum.xda-developers.com/showpost.php?p=60453540&postcount=74
Test build #3: http://forum.xda-developers.com/showpost.php?p=60677266&postcount=136
Kernel Tree: https://github.com/kfazz/android_kernel_bn_zoom2/tree/nook_nst_3.0
zoom2 device tree: https://github.com/kfazz/android_device_bn_zoom2
vendor tree: https://github.com/kfazz/propietary_vendor_bn.git
Local manifest:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="CyanogenMod/android_build" />
<remove-project name="CyanogenMod/android_frameworks_base" />
<remove-project name="CyanogenMod/android_frameworks_native" />
<remove-project name="CyanogenMod/android_bootable_recovery" />
<project path="frameworks/base" name="kfazz/android_frameworks_base" revision="nook"/>
<project path="frameworks/native" name="kfazz/android_frameworks_native" revision="nook"/>
<project path="bootable/recovery" name="TeamWin/Team-Win-Recovery-Project" revision="android-5.1"/>
<project path="build" name="kfazz/android_build" revision="nook"/>
<project path="device/bn/zoom2" name="kfazz/android_device_bn_zoom2" revision="master"/>
<project path="kernel/bn/zoom2" name="kfazz/android_kernel_bn_zoom2" revision="nook_nst_3.0"/>
<project path="vendor/bn" name="kfazz/propietary_vendor_bn" revision="master"/>
</manifest>
Done:
Kernel 3.0.8 boots
Zoom2 devicetree
Cm11 boots
Twrp boots and installs ROM
Wip:
Ghosting
Ram usage
Suspend
To do:
WiFi sleep of death,
USB(works, but kinda slow) fixed adb gets ~4mb sec mtp gets ~2.8
Integrate epdcontroller in framework (partially done)
Pngcrush grayscale all images done, by adding back custom squisher to android/build
Fastmode,
multitouch, done, using 1.3.1 zforce driver + changes based on http://lwn.net/Articles/572311/
USB host not sure what the limit is but a 100mA usb mouse works without a powered hub, and a 200mA usb stick doesn't
Themeing
Gapps don't work (but too much lowram lag to be practical)
kfazz said:
Anyone with UART or USB access to u-boot willing to help with a dev project?
Devs only ATM, too many serious bugs
And there is the possibility of screen damage
If it hardlocks with papyrus ic on
Done:
Kernel 3.0.8 boots
Zoom2 devicetree
Cm11 boots
Twrp boots and installs ROM
Wip:
Ghosting
Ram usage
Suspend
To do:
WiFi sleep of death, USB, fastmode
Integrate epdcontroller in framework
Pngcrush grayscale all images
Fastmode, multitouch, USB host, etc
Themeing
Gapps don't work
Click to expand...
Click to collapse
Woah, this looks sick! I'd be glad to help you in any way I can. I've got a Nook Touch Glow running a customized version of the 1337 ROM, a modded framework-res.apk, and a modded Settings.apk (see my sig for full specifications). Let me know how I can assist!
By the way, I'm inviting you to my Nook Touch Devs group now, so we can talk in there.
ИΘΘK¡€ said:
Woah, this looks sick! I'd be glad to help you in any way I can. I've got a Nook Touch Glow running a customized version of the 1337 ROM, a modded framework-res.apk, and a modded Settings.apk (see my sig for full specifications). Let me know how I can assist!
By the way, I'm inviting you to my Nook Touch Devs group now, so we can talk in there.
Click to expand...
Click to collapse
if you'd be willing to try compiling it, javifo has a u-boot tree that looks like it supports ttyUSB.
https://github.com/javifo/NST/tree/master/u-boot
I'm not sure if my kernel supports usb because my usb port is broken, but if you can get u-boot access over usb
i'll try to build a kernel and bootscript that will be debuggable over usb.
My current setup is completely self contained on the sdcard and doesn't touch stock partitions except reading device specific data from /rom
kfazz said:
if you'd be willing to try compiling it, javifo has a u-boot tree that looks like it supports ttyUSB.
https://github.com/javifo/NST/tree/master/u-boot
I'm not sure if my kernel supports usb because my usb port is broken, but if you can get u-boot access over usb
i'll try to build a kernel and bootscript that will be debuggable over usb.
My current setup is completely self contained on the sdcard and doesn't touch stock partitions except reading device specific data from /rom
Click to expand...
Click to collapse
I'll give it a go on the weekend when I have some free time.
rendering from userspace
omap3pfb drawing modes:
pageflip mode: (non deferred)
turned on by writing a 1 to
/sys/devices/platform/omap3epfb.0/graphics/fb0/pgflip_refresh
apps that are unaware of bn's eink setup work fine.
this is how stock recovery uses the display, and also bootanimation on stock rom (i think).
Downside: ghosting, no control over waveform used to draw ( that i know of )
'command' mode.
display update is controlled by various private ioctl commands to the /dev/graphics/fb0 file.
ioctl -> * -> EpdService function -> EpdController function
OMAP3EPFB_IO_SET_REGION <- * <- configureRegion <- setRegion
OMAP3EPFB_IO_GET_REGION -> * -> UNUSED
OMAP3EPFB_IO_RESET_REGION <- * <- resetRegion <- resetRegion
OMAP3EPFB_IO_FILL_REGION < * <- fillRegion <- fillRegion
* is jni function calls in libandroidruntime.so
EpdController.epdRefresh writes to /sys/devices/platform/omap3epfb.0/graphics/fb0/epd_refresh
1 = Gray Clear
0 = update
epdDisable writes to /sys/class/graphics/fb0/epd_disable
value is timeout period in milliseconds
by themselves these writes and ioctls do nothing. the magic is in libui.so
stock rom calls OMAP3EPFB_IO_REQ_AREA_UPDATE in FramebufferNativeWindow::queueBuffer()
to update the display. No idea what logic the is used to decide when or whether to update.
Deferred Rendering:
this is turned off in kernel config for stock rom, and theres a typo in one of the ifdefed clauses which
leads me to believe this code path was abandoned early in development of the driver
i got it to work, but it doesn't seem to have many advantages over regular pageflip mode, and it's slow.
more info on deferred io: http://elinux.org/images/2/25/E_paper_Displays.pdf
anyone see any errors or have any insights as to how to implement this on Kitkat's graphics stack?
Oh Wow !!!
is that really a cm11(KITKAT) lock screen on a NST G ???
thanks for trying @kfazz following this thread, look forward to what will materialize out of this GREAT effort. kitkat is known to support low ram devices, hopefully it will accommodate our Nook Simple Touch activity which is only static read centric operations.
thanks for attempting
Any chance of a video? I'm scared that this is just a late April fool's joke! Been waiting for this for so long!
coolius said:
Any chance of a video? I'm scared that this is just a late April fool's joke! Been waiting for this for so long!
Click to expand...
Click to collapse
I to can't believe it. but this is cool. I hope it will be usefull since I thought the cm7 would have the highest version of cyanogenmod to work well on our devices.
coolius said:
Any chance of a video? I'm scared that this is just a late April fool's joke! Been waiting for this for so long!
Click to expand...
Click to collapse
dorfd1 said:
I to can't believe it. but this is cool. I hope it will be usefull since I thought the cm7 would have the highest version of cyanogenmod to work well on our devices.
Click to expand...
Click to collapse
I mean, the source to compile is right there, and he last updated it about an hour ago... Id compile a version to test for myself, but my server that I've used in the past for compiling android has yet to be set up again(new install )
Im honestly amazing that kfazz got it working, major props to him and hopefully this would allow more funtionality to come out of my old nook(s)
Edit: Oh, and this would also open up a wider range of usb devices to plug into the nook, as well as better compatibility for any new apps
---------- Post added at 10:54 PM ---------- Previous post was at 10:46 PM ----------
Also, to kfazz, Ive got an extra nook that doesnt matter if the screen gets damages(a new one is fairly cheap anyways), Id love to help you test out this project. I can also get access to the uart if needed, ill just have to pop open the case and solder on a few points(right? I last read about the access to the uart on the nook many months/year ago and I may be mistaken)
Yes, yes, and yes. UART access isn't strictly necessary, but there are a few issues I want to resolve before release. Mainly the circle animation android draws on loading screens, and auto partitioning sdcard. PS delete system/core/ uncrypt/android.mk and it should build. (Twrp conflict)
Wow, unbelievable we have WIP and moreover kitkat of all, Can't wait to try it out.
switching off all possible animation is best don't want to lose out on valuable battery time.
thanks Guys.
aiamuzz said:
Wow, unbelievable we have WIP and moreover kitkat of all, Can't wait to try it out.
switching off all possible animation is best don't want to lose out on valuable battery time.
thanks Guys.
Click to expand...
Click to collapse
I think the boot animation would have to be disabled.
Trying to be optimistic ...
A LG optimus Pro C660 with 256 RAM and less than 200MB internal storage for apps.
Came across this Lollipop
I believe Kitkat was also attemtpted for this device. but the ROM file is purged and no longer available.
If this device can operate as a full fledged phone, Will our device hold any promise for static reading purposes only ?
super buggy test build #1
super buggy test build #1:
update: pulled due to serious bugs. poweroff may fail with the screen on, buring in an image.
First up, to the best of my knowledge this rom won't melt your eink screen, wipe your sd, or cause your nook to spontaneously combust, but NO WARRANTIES.
With that out of the way, here is a test build. I'm not publishing it because it's done, but rather to encourage others to sync the source and try bulding it.
backup contents of sdcard first
write sd.img to a sdcard in the usual way. (sd_img.zip is attached to this post)
nook_nst_3.0 kernel: (this still has wifi sleep of death bug)
Same thing built with encore_merge kernelno wifi sleep bug, may have other problems, probably usb)
copy rom zip and md5 to nook's media partition
boot from sdcard, mount media
install rom (make sure signature verification is on)
reboot
if it doesn't boot hard reboot by pressing power and home for 9 seconds
"Where's the source?"
See the first post.,
Specifically the kernel in this rom was built from commit 7c944768270ec14736c7977b876a107e0a30b87f (current tip of nook_nst_3.0 branch)
except arch/arm/mach-omap2/board-3621-gossamer.c which was checked out from commit fbd1b8ccbebcb483eed158c5b6d51a4f44bbd2c4 (current tip of encore_merge branch)
"How can I help?"
sync my code and send me patches
sync my code and build it yourself
make a cm11 theme and test it
patch apps to use EpdController
What isn't helpful:
it's buggy. it's slow.
feature x is broken / app x doesn't work.
it's ugly. etc.
"Where're the gapps? I really want gapps, even though i know they will run all the time stealing my precious ram"
try the pico ones, or pico(uni). you probably won't be able to run browser after they're installed
http://www.androidrootz.com/2015/03/download-android-44x-kitkat-pa-gapps.html
Alternative: https://f-droid.org/ has a market app for free/foss software, and lost of reading apps
I'm very excited to see where this is going. I have an app that requires 2.3+ and would love to get it working. I can put up with no Gapps, slow system, etc. Just wondering about a few things:
Ghosting: Does the e-ink screen not properly refresh?
Wifi Sleep of Death: What does this mean?
Cheers!
Kralik said:
I'm very excited to see where this is going. I have an app that requires 2.3+ and would love to get it working. I can put up with no Gapps, slow system, etc. Just wondering about a few things:
Ghosting: Does the e-ink screen not properly refresh?
Wifi Sleep of Death: What does this mean?
Cheers!
Click to expand...
Click to collapse
For Ghosting, its basically the same as the regular OS, theres issues after a while of use, but I havent seen much from a few hours of trying out the build.
And also to kfazz, this build is awesome! Ive been trying to compile the OS, but have been having issues compiling(last time I compiled an android zip was like 2 years ago for my Nook Color), Although I am not done trying yet
Also: I found a small bug(no idea where to go to fix it, but I remember it being like a bug a while back for the CM10 or 11 development build for the Nook Color) where if you you try to go into landscape(by an app forcing it), the x and y values for the touchscreen are flipped, it shouldnt be too hard to change.
kfazz said:
super buggy test build #1:
First up, to the best of my knowledge this rom won't melt your eink screen, wipe your sd, or cause your nook to spontaneously combust, but NO WARRANTIES.
With that out of the way, here is a test build. I'm not publishing it because it's done, but rather to encourage others to sync the source and try bulding it.
backup contents of sdcard first
;
;
;
Click to expand...
Click to collapse
Hey this is really great !!!
but too early for me to try ... not a techie who understands all this stuff.
We have CWM recovery installed and using yattaro&nookie's ROM
Can't this be flashed from CWM ?
Twrp Recovery a must ?
dombeef said:
For Ghosting, its basically the same as the regular OS, theres issues after a while of use, but I havent seen much from a few hours of trying out the build.
And also to kfazz, this build is awesome! Ive been trying to compile the OS, but have been having issues compiling(last time I compiled an android zip was like 2 years ago for my Nook Color), Although I am not done trying yet
Also: I found a small bug(no idea where to go to fix it, but I remember it being like a bug a while back for the CM10 or 11 development build for the Nook Color) where if you you try to go into landscape(by an app forcing it), the x and y values for the touchscreen are flipped, it shouldnt be too hard to change.
Click to expand...
Click to collapse
Hey dombeef, great to hear you complied it and have flashed it on your device.
Looking forward to your feedback on its performance.
Excited !!!
Just remembered -- I have the Glowlight model. Is turning the light on/off and adjusting the level supported? Is it possible to customize the left/right side buttons?
Kralik said:
Just remembered -- I have the Glowlight model. Is turning the light on/off and adjusting the level supported? Is it possible to customize the left/right side buttons?
Click to expand...
Click to collapse
Well @Kralik as you can see its a little too early for that ... i believe this is not even a beta build !!!
am i right @kfazz ?
dombeef said:
...
Also: I found a small bug(no idea where to go to fix it, but I remember it being like a bug a while back for the CM10 or 11 development build for the Nook Color) where if you you try to go into landscape(by an app forcing it), the x and y values for the touchscreen are flipped, it shouldnt be too hard to change.
Click to expand...
Click to collapse
change touch.orientationAware = 0 to touch.orientationAware = 1 in /system/usr/idc/zForce_Touchscreen.idc (device/bn/zoom2/prebuilt/usr/idc/zforce_ts.idc)
Fix tested and pushed
Kralik said:
I'm very excited to see where this is going. I have an app that requires 2.3+ and would love to get it working. I can put up with no Gapps, slow system, etc. Just wondering about a few things:
Ghosting: Does the e-ink screen not properly refresh?
Wifi Sleep of Death: What does this mean?
Cheers!
Click to expand...
Click to collapse
Ghosting: Screen updates in GU mode most of the time, so previous contents of screen are faintly visible.
Wifi Sleep of Death: sometimes after the nook is in suspend for a while, the wifi chip doesn't power back on and toggling wifi from the android settings will cause the nook to lockup in a bad state.

Categories

Resources