It'd be nice if we could get one of these kernels running with underclock below 300 and overclock above 600. Just an idea though.
Positive side effect of all of this is that now I've quite rich kernel with :
- CFQ iosched
- reiserfs/ext4/ntfs enabled
- DroidWall support (iptables match target)
- Group process scheduling
- UTF8 enabled (can't switch to it entirely cause B&N stuff uses non utf all around the place)
- half of kernel debugging off
- PM debug off
- fastfpe works quite fine
- ondemand cpu governor
If anybody was interested in config or binaries then give me a shout please. I really need somebody to give me a hand with SGX and WLAN sources in order to push it forward.
darkguy@cave:~/dev/nst/src/fullImg$ adb devices
List of devices attached
XXXXXXXXXXXXXXXX device
darkguy@cave:~/dev/nst/src/fullImg$ adb logcat
- exec '/system/bin/sh' failed: No such file or directory (2) -
init.rc is in the uRamdisk not the uImage and uRamdisk doesn't get generated when you compile the kernel, but when your make build a complete android system. So the easiest way is to unpack the uRamdisk, make your changes and repack it.EDIT 2: Okay, compiled very well, woo-hoo!
I need to find out how to put it in though. I'm making a SD card now to give my compiled images a try, however, I have a question:
The only way to modify init.rc is to unpack the already-built uImage? isn't there a way to edit it before compiling? how are those files generated anyways, if they don't exist in the filesystem?
I never tried it this way. The easiest solution is to create a noogie sd-card and replace the uImage on the /boot-partition. If I remember correctly it should also be possible to put your kernel and a uRamdisk from the nook (not the one included in noogie) on the sd-card, this way the uRamdisk and the uImage from the sdcard are used, the rest of the system gets booted from the internal memory.---
EDIT 3:
I also followed the instructions here: http://xdaforums.com/showpost.php?p=21192057&postcount=44 to build a bootable SD card. It seems to boot, but it doesn't mount /system correctly.
ADB seems to work, but it doesn't output anything:
Code:darkguy@cave:~/dev/nst/src/fullImg$ adb devices List of devices attached XXXXXXXXXXXXXXXX device darkguy@cave:~/dev/nst/src/fullImg$ adb logcat - exec '/system/bin/sh' failed: No such file or directory (2) -
Any ideas?
Oh okay, that explains a lot. It seems I was unpacking the wrong files which were so hard to unpack I couldn't unpack them. I guess the uImage is a binary kernel not able to be unpacked? I tried lots of cpio/gunzip commands and scripts online to unpack u-boot files but they didn't work .init.rc is in the uRamdisk not the uImage and uRamdisk doesn't get generated when you compile the kernel, but when your make build a complete android system. So the easiest way is to unpack the uRamdisk, make your changes and repack it.
Hm, but that would still run /system from the nook. My idea was to make a SD that would boot -and- use the files from itself instead of touching the NST's files. That way, I could happily work on a custom android version without having to mess with my NST's filesystem and risk messing it up and having to restore it again with dd.I never tried it this way. The easiest solution is to create a noogie sd-card and replace the uImage on the /boot-partition. If I remember correctly it should also be possible to put your kernel and a uRamdisk from the nook (not the one included in noogie) on the sd-card, this way the uRamdisk and the uImage from the sdcard are used, the rest of the system gets booted from the internal memory.
Correct, the kernel is a compiled binary and not packed, so no way to unpack it.It seems I was unpacking the wrong files which were so hard to unpack I couldn't unpack them. I guess the uImage is a binary kernel not able to be unpacked? I tried lots of cpio/gunzip commands and scripts online to unpack u-boot files but they didn't work .
I also think hhe sourcecode released by BN isn't enough to build android, and there is no configuration that you could use, so you have to start from scratch.I have a question now though: In order to get the uRamdisk, I need to build an android system. The thing is... B&N didn't give sources for an android version, it seems. They only gave sources for a kernel, which is okay but it isn't enough (I think??) to build an android filesystem from the ground zero, right?
I'm wondering, if I want to build Eclair (for example, which is the current working version in the NST), which config should I use? I've seen I could use something like "encore" or "zoom2" (as the same build.prop in the NST states, "zoom2") to build /system and mix it with B&N's kernel? or am I wrong?
It should be possible, but I never tried it:my objective is to build, aside from a kernel, a pure android ROM too.Hm, but that would still run /system from the nook. My idea was to make a SD that would boot -and- use the files from itself instead of touching the NST's files. That way, I could happily work on a custom android version without having to mess with my NST's filesystem and risk messing it up and having to restore it again with dd.
WOW ! i need to get contacts and calendar running. could you send me link to tutorial/thread how to get it running?Gapps already works (more or less, just ignore the giant SD card )
WOW ! i need to get contacts and calendar running. could you send me link to tutorial/thread how to get it running?
It should just work by default unless you manually rooted. Anyway, look through this index for how to manually enable Gapps and some other cool things.
Yes, you're absolutely right.I'll get a chance to fiddle with the kernel this weekend but through reading this thread it doesn't sound like they've provided much. From what I gather from the discussion, all B&N has provided us with is the source code for the kernel, but with a select few integral modules missing (GPU, WLAN). They didn't give us the source for their little proprietary parts either, like sourcecode for the Nook Homescreen app and stuff like that.
If we want to build a new userland for the device it then looks like we have two options:
1) Somehow extract the drivers from the stock kernel and then try to integrate them into a newer kernel
2) Find the drivers and integrate them into a newer kernel as you would usually.
The first is hackish and very likely flat impossible, depending on if the modules support versioning and stuff like that. The second is far, far more likely although probably harder.
Beyond this drivers bottleneck, (admittedly, it's quite a bottleneck) it doesn't look like porting future Android versions would be too difficult. Contrary to what others have been saying, I believe the device has enough resources to run newer OSes like ICS; lack of processing power should be the least of our worries, at least for the next while.
Are all these inferences correct?
Thanks!
drew@master: nook_touch$ adb shell cat /proc/version
Linux version 2.6.29-omap1 (drew@master) (gcc version 4.4.1 (Sourcery G++ Lite 2009q3-67) ) #3 PREEMPT Tue Oct 4 14:37:59 CDT 2011
drew@master: 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
Correct, the kernel is a compiled binary and not packed, so no way to unpack it.It seems I was unpacking the wrong files which were so hard to unpack I couldn't unpack them. I guess the uImage is a binary kernel not able to be unpacked? I tried lots of cpio/gunzip commands and scripts online to unpack u-boot files but they didn't work .
I also think hhe sourcecode released by BN isn't enough to build android, and there is no configuration that you could use, so you have to start from scratch.I have a question now though: In order to get the uRamdisk, I need to build an android system. The thing is... B&N didn't give sources for an android version, it seems. They only gave sources for a kernel, which is okay but it isn't enough (I think??) to build an android filesystem from the ground zero, right?
I'm wondering, if I want to build Eclair (for example, which is the current working version in the NST), which config should I use? I've seen I could use something like "encore" or "zoom2" (as the same build.prop in the NST states, "zoom2") to build /system and mix it with B&N's kernel? or am I wrong?
It should be possible, but I never tried it:my objective is to build, aside from a kernel, a pure android ROM too.Hm, but that would still run /system from the nook. My idea was to make a SD that would boot -and- use the files from itself instead of touching the NST's files. That way, I could happily work on a custom android version without having to mess with my NST's filesystem and risk messing it up and having to restore it again with dd.
A lot of information about the sgx kernel-modules can be found on http://omapedia.org/wiki/Graphics
Omappedia is a really great source for us. There is also a git repo for the dsp-bridge.