Tuesday, September 10, 2013

Getting Android 2.1 Souce Code...

Today, I got the bugs worked out of the VM.  Using the repo tool to download the source, I kept seeing errors about ... gnutls_handshake() failed A TLS packet with unexpected length ...

I found several posts online that made me think I was going to have to rebuild git to use a different ssl application.  Fortunately, simply repeating repo sync -f over and over eventually resolved the problem.

I just added the following to my manifest.xml file in my Android 2.1 working directory:

 <project path="kernel/omap" name="kernel/omap" />


Now I am repeating the repeated repo sync's to get the linux kernal that I suspect B&N used.  More to follow...

Monday, September 9, 2013

Updated VM Coming Soon

Once I got past the problem with the VPN, I discovered that the version of git in the VM is too old.  I updated that yesterday.  I will be posting an update to the copy of the VM on my google drive that also includes the change to the user's .bashrc file.

Sunday, September 8, 2013

Problem Initializing Android Repo Tool

Following directions  here , I am trying to get source code for the latest version of Android 2.1. According to  this page , that is android-2.1_r2.1p2. When I get to the step where I issue the command:

repo init -u https://android.googlesource.com/platform/manifest -b android-2.1_r2.1p2

I do not get a prompt asking me for my name and email. The system returns to the prompt with no error message and nothing is downloaded.

I have posts in Google Groups:   Android Building  and  Repo and Gerrit Discussion 

I also started a discussion thread on  Stack Overflow .

Update 09/09/2013:  The problem here was that I use a VPN and it was active.  A very helpful user on the #android-dev IRC channel told me that proxies are a problem when getting the code.

Friday, September 6, 2013

Debugging Virtual Machine

I discovered a problem with the configuration of bash in my VM.  I am debugging that at the moment.  I will update the one available online ASAP.

Update 09/08/2013:  I discovered that the solution was a simple one.  I had to add the user's bin file to the path in the .bashrc file.

Wednesday, September 4, 2013

Checking For Any Modifications To The Linux Kernel

I downloaded the source for the 2.6.29 kernel from  www.kernel.org .  I am running an ascii comparison of it with the one included in the Nook source downloaded from B&N.  I will report on the results today or tomorrow as time allows.

Update 9/5/2013:  The kernal has hundreds of differences.  I am guessing they started with one from the Android tool chain.  I will follow up on that.

Tuesday, September 3, 2013

Linux Kernel Same for Android 2.1 and 2.2

 According to Wikipedia , the Linux Kernel used all Android builds before 4.0 were built using the Linux 2.6 kernel.  From Android 4 (Ice Cream Sandwich) forward, they are built on Linux 3.x.

Since the config file must work with the specific version of Linux, it should be possible to tweak the one used in the original build of Nook 1.2.1 to build Android 2.2.  The kernel running in the Nook is:  2.6.29-omap1


The file used to make the config file is:  omap3621_gossamer_evt1c_defconfig.  This is located in the \distro\kernel\arch\arm\configs directory of the source files I downloaded from B&N.  I have created a new page on the blog where I will mark it up as I go along.


At the beginning of the file it says, "Automatically generated make config".  This has me wondering what software / tool they used to generate it.

As I initially read through the file, I thought it is interesting that I don't see specific references to most of the chips / hardware on the board.  There is no info that I immediately notice about the eInk screen, but there is for the zForce touch screen for example.

Need to revisit  From Zero to Boot:  Porting Android to Your Device 

Monday, September 2, 2013

Roadblock Exploring Installed Modules

As I understand it,  I need to poke around in /sys/module and /system/lib/modules  to figure out what drivers are doing what in my device.

There is no /system/lib/modules directory on my NST.  The /sys/module directory contains the following:
  • kernel
  • printk
  • wakelock
  • userwakelock
  • earlysuspend
  • spurious
  • omap3epfb
  • keyboard
  • vt
  • bridgedriver
  • scsi_mod
  • usbcore
  • musb_hdrc
  • omap_hdq
  • w1_bq27000
  • usbhid
  • binder
  • lowmemorykiller
  • snd
  • snd_timer
  • snd_pcm
  • snd_dummy
  • oprofile
  • tcp_cubic
  • rfkill
  • pvrsrvkm
  • omaplfb
  • bc_example
  • tiwlan_drv
None of those contains any .ko files.  Using Root Explorer to search for *.ko, finds only these:
/etc/wifi/tiwlan_drv.ko
/system/bin/sgx/omaplfb.ko
/system/bin/sgx/pvrsrvkm.ko

I am trying to figure out how to get modinfo information for these.   XDA Thread    Phandroid Thread