Jump to content
PaulOBrien

Advent Vega kernel source code now available!

Recommended Posts

I found no easy way to integrate the squashfs postprocessing to the build...

Also, i must warn that i haven't tried to upload the resulting image to the P10AN01... Lack of time... It takes way too long to compile AOSP on my machine... Hope to solve that as soon as possible ;) ..

BTW, the reasoning behind renaming *.harmony.* to *.shuttle.* is that we are not dealing with an Harmony board... ;) ...

I also think git should host the differences required to build for our target rather than the AOSP itself... It is a very long download process otherwise... Here, where I am, to download AOSP can take between 4 - 8 hours... ;)

Edited by ejtagle

Share this post


Link to post
Share on other sites

part 3...

and also, the ICS AOSP patches to support the atheros wifi chip, but updated to the 4.0.4 framework...

Ahh nice ... cool ... just made 4.0.4 boot ... had some weird problems with the AOSP source it seems with netd, well at least it seems so, there are changes in there that are not present in 4.0.3... i need to compile again without my changes to confirm this was indeed my problem... progress at least :)

edit :- re, squashfs, i found the same when i looked before, i could not squash an image on compile, could not see a way in the framework to execute a script, ill bet there is one but not too obvious after a cursory glance .. its on the list though ;)

edit2 - diff shows the changes relating to the files are the oem_iptables_hook.cpp that we add to compile... need to look further to see why we fail ..

edit3 - yeah this new code breaks us for sure .. not sure why or what its doing ... adding the script referenced in the .cpp file gives new message in logs but no boot ...

http://pastebin.com/1Y3KTEfT

are the files affected .. maybe you can make sense if it .. too late here to read all the code deeply ..

the diff's compare with the swapped in 4.0.3 netd code i used to get a worked boot .

Cheers

Cass

Edited by Cass67

Share this post


Link to post
Share on other sites

Ahh nice ... cool ... just made 4.0.4 boot ... had some weird problems with the AOSP source it seems with netd, well at least it seems so, there are changes in there that are not present in 4.0.3... i need to compile again without my changes to confirm this was indeed my problem... progress at least :)

edit :- re, squashfs, i found the same when i looked before, i could not squash an image on compile, could not see a way in the framework to execute a script, ill bet there is one but not too obvious after a cursory glance .. its on the list though ;)

edit2 - diff shows the changes relating to the files are the oem_iptables_hook.cpp that we add to compile... need to look further to see why we fail ..

edit3 - yeah this new code breaks us for sure .. not sure why or what its doing ... adding the script referenced in the .cpp file gives new message in logs but no boot ...

http://pastebin.com/1Y3KTEfT

are the files affected .. maybe you can make sense if it .. too late here to read all the code deeply ..

the diff's compare with the swapped in 4.0.3 netd code i used to get a worked boot .

Cheers

Cass

netd compiles without trouble here with the new patches... Sometimes, you need to make a 'make clean' before recompiling... The android make system fails to determine differences and skips building changed files (ok, there are other ways to do it.. specifically deleting some .o files from the out folder can selectively force AOSP to rebuild just one component, but not all of them,,,)

Share this post


Link to post
Share on other sites

Is this the same target as the one posted a few pages ago? about to start combining mine with yours, id rather not if yours is a-ok ....

I also requested Scanno change the git slightly as this appears to pull all of AOSP too .. seems heavy handed to me ... id prefer just the vega board files in the git and not full AOSP.. could be im mistaken but it looks that way when i pulled it ... ended up killing my repo :)

@Cass @all

Perhaps the vegaics git needs some explanation... My goal is to get the vegaics to a state where you can do a repo init / repo sync and be able to make a working build for the vega.

At the moment there are two projects in the vegaics git, those are android.git and android_device_advent_vega.git. The android_device_advent_vega.git contains the device config Cass posted a while back with some modifications.

Both projects can be pulled from git individually, changed and pushed (if you have the correct permissions).

The android.git project contains the file default.xml. This XMLfile contains references to all the individual projects that together form AOSP. When you do a repo init, one of the things that is done is to download this XML file. As soon as you do a repo sync, it is downloading all the individual projects listed in the default.xml file FROM the location specified and TO the location specified. With this we can do a couple of things:

- Remove the projects we do not need from AOSP

- Add projects we need to make a working build (i.e.device config)

- Change the location form where a project is pulled (we changed the project to make it work for the vega, so we want to retrieve this one and not the one from google)

If you look at the default.xml file you see that all the AOSP projects are pulled from the google server (not from vegaics) and the android_device_advent_vega is pulled from the vegaics git and put into device/advent/vega

If you have a look at the project directories within the AOSP tree, you will see a .git directory in each project. That means that there is an individual git resource. This resource can aslo be pulled/pushed individually.

So if one does not want to do a complete download and just wants to pull/edit the device setup, you can just pull that one project from the vegaics git with the standard git statements.

I hope this answers all the questions.If there are still questions, please let me know.

Regards,

Scanno

Share this post


Link to post
Share on other sites

netd compiles without trouble here with the new patches... Sometimes, you need to make a 'make clean' before recompiling... The android make system fails to determine differences and skips building changed files (ok, there are other ways to do it.. specifically deleting some .o files from the out folder can selectively force AOSP to rebuild just one component, but not all of them,,,)

Yeah compiles ok, just does not boot... I pulled fresh aosp before I compiled.. I've not added you patchset yet ill get to that later... See if that changes anything... @scanno, thanks for the explination ...

Edited by Cass67

Share this post


Link to post
Share on other sites

@All

I have added the device setup from Eduardo to the vegaics git. I also updated the android.git to download the device setup to device/nvidia/shuttle when using repo init/sync.

Please let me know which device setup we are going to use, so i can remove the one we do not need anymore.

Regarding Eduardo's patches. As soon as i have time, i will have a go at moving to AOSP projects that have changed to the vegaics git and applying the patches and also modify the android.git so it downloads the patched projects instead of the AOSP ones (like i explained in my previous post)

@Eduardo: The patches you published are only the changed files? Or the complete projects? Also please PM your git account so i can give you access to vegaics.

Regards,

Scanno

Share this post


Link to post
Share on other sites

I found no easy way to integrate the squashfs postprocessing to the build...

Also, i must warn that i haven't tried to upload the resulting image to the P10AN01... Lack of time... It takes way too long to compile AOSP on my machine... Hope to solve that as soon as possible ;) ..

BTW, the reasoning behind renaming *.harmony.* to *.shuttle.* is that we are not dealing with an Harmony board... ;) ...

I also think git should host the differences required to build for our target rather than the AOSP itself... It is a very long download process otherwise... Here, where I am, to download AOSP can take between 4 - 8 hours... ;)

Well you can git clone the individual projects into you AOSP repo, but you have to do that manually. One thing you could try is to replace the default.xml in the .repo directory with the one from the vegaics git. But i cannot give any guarentee if that works or wether or not it will screw your repo.....

Share this post


Link to post
Share on other sites

@ALL

The patched projects by Eduardo added to vegaics git. I also updated the repo manifest (default.xml) to download the vegaics projects instead of the AOSP projects.

By patched projects i mean i have added the AOSP projects to vegaics git and applied the patches to that.

Share this post


Link to post
Share on other sites

So right now if i do a repo sync of this branch i get all the needed files to make a image for vega?

Well i will need a cross compiler i suppose...

Ah, and can you add me to this git?, my user is corvusmod...

Thanks.

Edited by the_corvus

Share this post


Link to post
Share on other sites

So right now if i do a repo sync of this branch i get all the needed files to make a image for vega?

Well i will need a cross compiler i suppose...

Ah, and can you add me to this git?, my user is corvusmod...

Thanks.

Have not checked the new bsp added yet but you may still need the proprietary Nvidia blobs .. but apart from that yeah :)

Share this post


Link to post
Share on other sites

Ok, i will write what are my steps and correct me if i'm wrong:

1) Repo init vegaics github

2) Repo sync

3) Download and configure a bsp (for cross compile) or try to use the one included in android sdk

4) Compile

Then what will we get? a bunch of img files that will upload to the tablet using nvflash?

I'm repo sync'ing now...

Now i have more experience compiling android that had when Corvus5 :P, so maybe can help a little... :D

Corvus.

PS: Maybe you can take out the sync of some device like crespo that are 280Mb...

Edited by the_corvus

Share this post


Link to post
Share on other sites

Ok, i will write what are my steps and correct me if i'm wrong:

1) Repo init vegaics github

2) Repo sync

3) Download and configure a bsp (for cross compile) or try to use the one included in android sdk

4) Compile

Then what will we get? a bunch of img files that will upload to the tablet using nvflash?

Explained in IM ...

Share this post


Link to post
Share on other sites

So right now if i do a repo sync of this branch i get all the needed files to make a image for vega?

Well i will need a cross compiler i suppose...

Ah, and can you add me to this git?, my user is corvusmod...

Thanks.

You have been added to the vegaics git.

I will comment out all the samsung devices in the manifest. Saves some time in syncing.

Share this post


Link to post
Share on other sites

@All

I have added the device setup from Eduardo to the vegaics git. I also updated the android.git to download the device setup to device/nvidia/shuttle when using repo init/sync.

Please let me know which device setup we are going to use, so i can remove the one we do not need anymore.

Regards,

Scanno

Im compiling 4.0.4 with Eduardo's target just now .. if it completes and looks ok id say get rid of mine and we will use this going forward.. ill post later on with results ....

Edit:- OK, Eduardos target compiles fine but it seems to have some outdated libs, the gralloc is looking for libpkip and its dependencies and we don't use that since Alpha 2.. when using the latest gralloc there are nv ld errors... Ill sort these out and try to update the git with the proper stuff later, there are one or 2 things i also want to add to the Boardconfig which ill do as well .. but on the whole i think yeah this one is way nicer, i would have minimal changes to make after compile to get the the build to where id like it to be ... could probably add the standard apks we use too in this target.

Edited by Cass67
  • Upvote 1

Share this post


Link to post
Share on other sites

Im compiling 4.0.4 with Eduardo's target just now .. if it completes and looks ok id say get rid of mine and we will use this going forward.. ill post later on with results ....

Edit:- OK, Eduardos target compiles fine but it seems to have some outdated libs, the gralloc is looking for libpkip and its dependencies and we don't use that since Alpha 2.. when using the latest gralloc there are nv ld errors... Ill sort these out and try to update the git with the proper stuff later, there are one or 2 things i also want to add to the Boardconfig which ill do as well .. but on the whole i think yeah this one is way nicer, i would have minimal changes to make after compile to get the the build to where id like it to be ... could probably add the standard apks we use too in this target.

Ok, then i will remove your target from git and from the manifest. We will continue with the target from Eduardo.

Share this post


Link to post
Share on other sites

Im compiling 4.0.4 with Eduardo's target just now .. if it completes and looks ok id say get rid of mine and we will use this going forward.. ill post later on with results ....

Edit:- OK, Eduardos target compiles fine but it seems to have some outdated libs, the gralloc is looking for libpkip and its dependencies and we don't use that since Alpha 2.. when using the latest gralloc there are nv ld errors... Ill sort these out and try to update the git with the proper stuff later, there are one or 2 things i also want to add to the Boardconfig which ill do as well .. but on the whole i think yeah this one is way nicer, i would have minimal changes to make after compile to get the the build to where id like it to be ... could probably add the standard apks we use too in this target.

So if I understand correctly. When you finished updating the lunch target, we can compile it and it will boot right after it is compiled? That sure would be great news :).

Areo

Share this post


Link to post
Share on other sites

So if I understand correctly. When you finished updating the lunch target, we can compile it and it will boot right after it is compiled? That sure would be great news :).

Areo

Yeah pretty much, you wont have Gapps at that point but the system.img should be good to go in a basic state ... the rest of the work required will be only to add the apps and squash the partitions if you so like ..

Spoke to Corvus about this today and he was looking at updating git with the changes we need while im at work ... guess he needs to check its all ok before this is done .. ill get to it later on if he does not get round to it beforehand..

Cheers

Cass

Share this post


Link to post
Share on other sites

Yeah pretty much, you wont have Gapps at that point but the system.img should be good to go in a basic state ... the rest of the work required will be only to add the apps and squash the partitions if you so like ..

Spoke to Corvus about this today and he was looking at updating git with the changes we need while im at work ... guess he needs to check its all ok before this is done .. ill get to it later on if he does not get round to it beforehand..

Cheers

Cass

I just finished... but i hate git and was unable to make changes to shuttle device tree in vegaics, so i create a new device tree in my github (https://github.com/c..._nvidia_shuttle), so you can fork from here or update the original one... this way i can brake this device target without brake your job :D

Corvus.

PS:In oldlibs.zio are the original libs, because some of them are not in the vegaics image and dont know if they are needed.

Edited by the_corvus

Share this post


Link to post
Share on other sites

Ok, i made some changes and push to my github so now we have a device tree that fully boots...

https://github.com/corvusmod/android_device_nvidia_shuttle

Please, copy this to vegaics...

I made some test and this is what works and not:

Works:

boots :D

sound

brightness

Dont work:

wifi

bt

rotation

camera

i dont try to fix any of them because i spend 3 days trying to get it compiling (stupid -Werror). More work when have some time...

  • Upvote 1

Share this post


Link to post
Share on other sites

Ok, i made some changes and push to my github so now we have a device tree that fully boots...

https://github.com/c..._nvidia_shuttle

Please, copy this to vegaics...

I made some test and this is what works and not:

Works:

boots :D

sound

brightness

Dont work:

wifi

bt

rotation

camera

i dont try to fix any of them because i spend 3 days trying to get it compiling (stupid -Werror). More work when have some time...

Your changes are added to the android_device_nvidia_shuttle git.

Share this post


Link to post
Share on other sites

Ok, i made some changes and push to my github so now we have a device tree that fully boots...

https://github.com/c..._nvidia_shuttle

Please, copy this to vegaics...

I made some test and this is what works and not:

Works:

boots :D

sound

brightness

Dont work:

wifi

bt

rotation

camera

i dont try to fix any of them because i spend 3 days trying to get it compiling (stupid -Werror). More work when have some time...

Thanks Corvus, i can confirm a successful boot from clean compile ;)

Wrt the problems you suffer,

The rotation is due to a problem with libsensor, it looks to be the old lib source, i need to update the modified one from the previous wingray target as its fine. There has been additional code added to that one to detect the device id thats exported from kernel.

The Camera is due to the ICS camera app, for some reason its not working.. Using the one i provide with the other builds of VegaICS works fine.

Wifi and BT will be due to not having the kernel module in the correct place or more likely could be the lack of the vega_postboot.sh script, it has stuff in there thats required for wifi/bt operation, i see thats not included in the target.

Apart from that it all looks peachy :)

Ill try and update the missing stuff to git now ... never uploaded to git before so it might be messy ...

edit, should also add there are some overlay stuff that needs added to make the launcher display properlay at 120 dpi, ill add that too ..

edit2 :- ok that was fun and surprisingly painless, libsensors and other stuff updated to git.

Cheers

Cass

Edited by Cass67

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.