About Sensor

Tuesday, April 19, 2011

Android's git Repository

***
a public git repository put together with the 
various android-specific kernel patches (binder, logger, alarm drivers,
goldflish platform support, etc) soon. 
 
 
Which HW support
[Anil S <anils@mistralsolutions.com>]
> Hello Brian,
> 
>  It would be really great if you could share thoughts on the
> questions given here on Android:
> 
> I was able to add support for the keypad, touch and network in Android,
> however the interfaces like GPS, Accelerometer, vibrator, hardware 3D
> acceleration, battery etc. are not integrated with Android right now. I
> would appreciate if you could throw some light on these open issues. How
> exactly can these interfaces be integrated with Android? 

We're trying to use the standard kernel/driver interfaces when possible,
but for things that may have a good deal of variation in implementation,
we're looking to provide a very thin "hardware interface library" layer
to adapt between the bottom of the userspace stack and the drivers or
whatnot for specific hardware platforms.  

We'll continue to adopt standardized kernel solutions as they become
available -- We're now using the power supply framework in 2.6.24 for
monitoring battery/charge state (post M5 SDK -- it'll be in the next 
release), for example.
 
List:       linux-omap
Subject:    Re: Android on OMAP
From:       Dirk Behme <dirk.behme () googlemail ! com>
Date:       2008-02-26 8:46:05
Message-ID: 47C3D1CD.9060204 () googlemail ! com
[Download message RAW]

skyflame wrote:
>>> Hi
>>>
>>> I move to m5-r14 with both kernel driver and filesystem grabed from 
>>> the sdk.
>>> Now, I can enter the homescreen , and the keyboard is also working 8 )
>>>
>>> I don't do anything extra than what I am doing on the m3-r14 release.
>>
>>
>> Great! Congratulations! :)
>>
>> Do you think you can make the kernel patch (against 2.6.23-omap1?) and 
>> the filesystem available somewhere? Then we can link wiki page to it.
>>
>> Dirk
>>
>>
> 
> Hi Dirk
> 
> I was working on a 2.6.21 kernel. For I don't got a working 2.6.23 
> kernel on hand.
> The git tree kernel don't work fine with my omap2430SDP V5.0
> The PMIC seems not working in the right way, thus the LCD don't run up.
> So I can not make the diff over 2.6.23 omap1  : (

Okay. I sent my 2.6.23 omap1 Android patch yesterday (seems that it 
didn't reach the list cause of > 100k). If you didn't get it I can 
send it again in private mail. Would be quite nice if you could check 
if there are the same files in it you used.

Anything like

cat my_patch | grep +++ > file1
cat your_patch | grep +++ > file2
kdiff3 file1 file2

> The whole Filesystem is about 28MBytes in bz2 format.
> I don't know where can I upload it. I can not find some place where can 
> hold such big file for a long time.
> I am glad to upload it , if someone has the network storage resources.

As already mentioned yesterday: Same to me ;)

Anybody with ~30-40 MB permanent public storage?
   
> I'm hoping to get a public git repository put together with the 
> various android-specific kernel patches (binder, logger, alarm drivers,
> goldflish platform support, etc) soon.  This should at least make
> it easier for folks to merge various drivers 'n things into their
> working trees, rather than having to extract them from the kernel
> source tarball provided with emulator/sdk releases.

The core android kernel patches are now available from git.android.com.
Please be aware that these are *newer* than the M5 SDK, and I think
the binder driver in particular may not be compatible with M5.  When
the next SDK release happens, we should be able to point at a sha1
hash of the git change the kernel came from.

http://git.android.com/?p=kernel.git;a=shortlog;h=android
git://git.android.com/kernel.git

Please note that for legacy reasons the default branch is the
msm-2.6.24 branch -- you'll want to check out the "android"
branch if you're looking for the generic patches useful for
all platforms.

4 comments:

  1. http://www.kernel.org/
    For Kernel
    ------------------------------------------------
    How to replicate the BKO setup on your machine?

    1. You can get the code from following git repository.
    git://git.etherboot.org/scm/people/pravin/BKO.git
    You need to initiate submodules using following instructions before proceeding further

    git submodule init
    git submodule update

    Or you can download and run setup.sh which will do above for you.
    2. Edit the config to suit your needs. It can be done with any text editor

    vi BKO/configure

    Make sure that you provide proper values for atleast BASE_URL which is the http URL where BKO will be kept on your machine. Other entries are optional, you can leave them untouched. Please refer bellow for more details on the meaning of the configuration variables.
    3. Follow the following instructions

    make
    cd install_help
    ./configure_BKO.sh
    ./download_initramfs_images_http.sh

    and optionally you need to download the ISO images, or you can point to images on etherboot server or kernel.org server.

    ./download_ISO.sh

    Details about configuration parameters

    1. BASE_URL: gpxe will contact this URL for initial boot. and it must be HTTP URL and not linux path.
    2. ISO_LOCATION_LOCAL : The HTTP path where all ISOs will be kept. the script download_ISO.sh will download them in folder named ISO in the same location where setup.sh was executed. For example, if you have executed setup.sh in topmost directory (ie var/www/) then BASE_URL=http://your-ip-address/BKO/ and ISO_LOCATION_LOCAL=http://your-ip-address/ISO/

    Details about installation help scripts

    1. setup.sh : It is the first script that user will need. It clones and initiate the git repository which can be used for local deployment.
    2. configure_BKO.sh : BKO menus are presented with help from configuration files. These configuration files .conf also includes so deployment specific information like ISO_LOCATION_LOCAL. This script genenates all these configuration files with correct information.
    Note : Soon this script will be executed automatically from Makefile.
    3. deploy_BKO.sh : This script is responsible for generation of all the initramfs files, needed by all supported distributions. This script do require root privileges for initramfs generation. This script uses sudo whenever it need root privileges, so user may have to enter the password more than once. User can also execute entire script as root. In case you do not have such privilages, you can use download_initramfs_images_http.sh which will download these initramfs images from server for you.
    4. download_initramfs_images_http.sh : Downloads the modified initramfs images which supports httpfs booting. These initramfs images are downloaded from Etherboot server. The default value for this variable will be correct one, so users dont need to temper with it.
    5. download_ISO.sh : BKO depends on ISO images of various distributions for its work. This script download those ISO's on your behalf.

    ReplyDelete
  2. http://boot.kernel.org/index.html#howtouse

    How to use it?
    Floppy Image CD ISO USB Image

    * Download an image file (see above)

    Make a bootable floppy:

    * Linux: Insert a floppy disk into a drive, use something like:

    cat gpxe.dsk > /dev/fd0

    or

    dd if=gpxe.dsk of=/dev/fd0

    where fd0 is your floppy drive.
    * Windows: Insert a floppy into your drive, Use rawrite, or dd for windows
    * Mac: Mac has floppy drives?!

    Make a bootable CD:

    * Linux: Insert a blank cd into a CD/DVD drive, use something like:
    cdrecord -sao
    You can refer this howto for details.
    * Windows: You can use nero or window's inbuilt CD writer to burn the gpxe.iso on CD.
    * Mac: Just use the Finder to burn the ISO.

    Make a bootable USB:
    Warning: Backup your important data before using USB

    * Linux: Insert a USB disk, find it's device name of USB. Then use following command:

    cat gpxe.dsk > /dev/sdX

    or

    dd if=gpxe.dsk of=/dev/sdX

    where sdX is your usb drive.
    * Windows:You can use dd for windows for Creating bootable USB disks.
    * Mac: the dd command mentioned above for linux should also work for MAC.

    We recommend creating BKO enabled USB, which also allows you to store data, without wasting much space. You can refer why BKO enabled USB is better option.
    Steps to follow

    * copy it in floppy, USB or in CDROM (check download section for instructions)
    * Make sure that you know what kind of network you have (Which entries will be needed)
    * Boot from the media in which you had copied the gpxe Image
    * In case of Static networking, you need to provide information about your connection, but if you are having DHCP, it should work out of the box.
    * You will be presented with menu showing available options to boot from, select one of them.
    * Your system should boot in the sytem you select
    * Once you are done with it, reboot the system and remvoe the media, you should get back your old system
    * BKO is still under development. If you encounter any problems anywhere, please refer troubleshooting and FAQ page for explanation. If you don't find any solution to your problem, then feel free to contact us.
    * If you have any interesting experience with BKO, then shoot an email to us

    Tonight's menu on BKO
    Linux Distributions

    1. Debian : Debian live
    2. Ubuntu : 9.04
    3. Damm Small Linux : Lightweight linux distribution with GUI.
    4. Knoppix : Knoppix 5.0.1 English.
    5. Fedora 11 Live CD : Currently only single user mode is working. (Working on complete live CD)
    6.

    Tools

    1. Hard disk utilities
    2. NTFS utilities
    3. Boot Managers

    Contact US:
    You can always reach us on our mailing list.
    Also, you can directly fire email to developers at ID shindepravin AT gmail DOT com or warthog9 AT kernel DOT org.
    You can also find us (less1, warthog9) on IRC #etherboot on irc.freenode.net.

    ReplyDelete
  3. Q.
    Why should I create BKO enabled USB?
    A.

    * Creating BKO enabled USB is one-time job, once it is created, you need not worry about upgredation, as it is taken care by BKO servers. It will always let you boot with latest distributions and tools available on BKO.
    * You do not waste your USB as there is way to create BKO enabled USB which can be used as normal data storage device. As BKO takes less than 1 MB of space, you have almost entire USB for data storage.
    * BKO enabled USB can be used to boot (almost) any system as long as there is Internet connectivity.
    It is worth considering this ability against 1MB of space and few minutes for creation of BKO enabled USB.
    * You can use gpxe.lkrn which is linux kernel like module and can boot boot.kernel.org from syslinux/grub.
    * Other simple way to create BKO enabled USB is to copy gpxe.dsk image onto USB using

    dd

    command. Please note that just copying into USB will not work, it has to be placed on 0 sector. Few howtos that you can refer to for this way of creating BKO enabled USB.
    o Howto for linux
    o Howto for MAC

    ReplyDelete
  4. For git Sorce code -
    http://www.kernel.org/pub/software/scm/git/

    ReplyDelete