Related
There were quite a few builds around I have noticed, however with Tiad gone, there only seems to be the basic FRX* and GBX0A.
Even though I never liked "Tiad's" builds, I noticed quite a few things. With little/no coding experience (as far as I can tell) he was just modifying parts of code, causing problems, etc. But still making some huge UI changes that never seemed to have issues.
I have quite a bit of coding experience but never anything for mobile devices I would like to have a look and compile some builds, teaching myself basically.
So I have two questions regarding this:
1: Do the devs use an IRC or something? I would love to sit in on development and see how they work (without interrupting them of course ).
2: Is there some kind of 'cooking' software or a suite that has been put together, like some of the stuff I have seen in the Windows section for this device? Where do I start? I have seen the Chef Central but it is a bit 'full on' and seems to be a mess. I want to be device specific, if possible. Do I use THIS?
Oh and considering I own a RHOD110 (GSM) I am up for testing pretty much anything you guys want me to.
Who knows, by the time android is working I might be up for releasing public builds, and of course NO INCLUDED PAID APPS
ryannathans said:
There were quite a few builds around I have noticed, however with Tiad gone, there only seems to be the basic FRX* and GBX0A.
Even though I never liked "Tiad's" builds, I noticed quite a few things. With little/no coding experience (as far as I can tell) he was just modifying parts of code, causing problems, etc.
I have quite a bit of coding experience but never anything for mobile devices I would like to have a look and compile some builds, teaching myself basically.
So I have two questions regarding this:
1: Do the devs use an IRC or something? I would love to sit in on development and see how they work (without interrupting them of course ).
2: Is there some kind of 'cooking' software or a suite that has been put together, like some of the stuff I have seen in the Windows section for this device? Where do I start? I have seen the Chef Central but it is a bit 'full on' and seems to be a mess. I want to be device specific, if possible. Do I use THIS?
Oh and considering I own a RHOD110 (GSM) I am up for testing pretty much anything you guys want me to.
Who knows, by the time android is working I might be up for releasing public builds, and of course NO INCLUDED PAID APPS
Click to expand...
Click to collapse
Kernel Dev: http://htc-linux.org/wiki/index.php?title=IRC
Userland Dev: http://xdandroid.com/wiki/Chat
Steps for building stuff: http://forum.ppcgeeks.com/android-t...modules-tinboot-nand-boot-more-beginners.html
You can also find steps for building userland at xdandroid.com
Specifically, for building xdandroid - http://xdandroid.com/wiki/Getting_the_Source
If you follow those instructions, you will basically be able to build your own FRX05/GBX0A equivalents.
That's how I got started on my GPS quest.
Note that in terms of IRC channels, the two links above will eventually just take you to Freenode, so you can just go over to #htc-linux and #xdandroid on freenode. Activity seems to be highest in United States evening times. It can be quite dead at other times, as occasional people who have popped in to ask questions have discovered.
In terms of what goes into the mainline xdandroid codebase - ideally I would assume the devs wish to integrate whatever they can, however, I can see the following valid reasons to diverge:
1) Replacing large parts of the user interface (Sense, heavily themed builds) - This was one of the things tiad8 did and honestly not a part of his work that I had any problems with.
2) Situations where there is a free but binary-only component that replaces one of our open source components - Not ideal but sometimes a necessary evil for the end user. However, I think the mainline devs would appreciate knowing the situations in which this is done, either for the purposes of reverse engineering the component in question, finding a source tree for the component in question (sometimes possible), or just knowing whether or not a fix can be integrated upstream. - tiad8 would often grab stuff from random places without documenting it which annoyed a lot of people
Trying to minimize the deltas between "cooked" builds and what one might call the "baseline" build is probably what is best for all of us - only diverge when there is a clear rationale for it, and when there isn't a good reason for divergence, try to get stuff mainlined.
Also to note - when running from SD it isn't exactly "ROM" development, and the nice thing about running from SD is that it's a lot easier to make tweaks to userland since the key userland files are all in a normal ext2 filesystem.
Oh yeah - HIGHLY beneficial if you've got a 64-bit Linux box like I do!
Edit: If you read my GPS testing thread, you'll see some of the lessons learned on my journey, including a few useful tips like bind-mounting specific libs that you're working on.
Entropy512 said:
Specifically, for building xdandroid - http://xdandroid.com/wiki/Getting_the_Source
If you follow those instructions, you will basically be able to build your own FRX05/GBX0A equivalents.
That's how I got started on my GPS quest.
Note that in terms of IRC channels, the two links above will eventually just take you to Freenode, so you can just go over to #htc-linux and #xdandroid on freenode. Activity seems to be highest in United States evening times. It can be quite dead at other times, as occasional people who have popped in to ask questions have discovered.
In terms of what goes into the mainline xdandroid codebase - ideally I would assume the devs wish to integrate whatever they can, however, I can see the following valid reasons to diverge:
1) Replacing large parts of the user interface (Sense, heavily themed builds) - This was one of the things tiad8 did and honestly not a part of his work that I had any problems with.
2) Situations where there is a free but binary-only component that replaces one of our open source components - Not ideal but sometimes a necessary evil for the end user. However, I think the mainline devs would appreciate knowing the situations in which this is done, either for the purposes of reverse engineering the component in question, finding a source tree for the component in question (sometimes possible), or just knowing whether or not a fix can be integrated upstream. - tiad8 would often grab stuff from random places without documenting it which annoyed a lot of people
Trying to minimize the deltas between "cooked" builds and what one might call the "baseline" build is probably what is best for all of us - only diverge when there is a clear rationale for it, and when there isn't a good reason for divergence, try to get stuff mainlined.
Also to note - when running from SD it isn't exactly "ROM" development, and the nice thing about running from SD is that it's a lot easier to make tweaks to userland since the key userland files are all in a normal ext2 filesystem.
Oh yeah - HIGHLY beneficial if you've got a 64-bit Linux box like I do!
Edit: If you read my GPS testing thread, you'll see some of the lessons learned on my journey, including a few useful tips like bind-mounting specific libs that you're working on.
Click to expand...
Click to collapse
Sweet, yeah I will definitely be having a look at all resources. I DO have a 64bit Linux box, what is so beneficial? Can I achieve the same with a 64bit Virtual PC (providing I can allocate 4gb+ RAM which shouldn't be a problem on my beast )?
When I change or include anything I definitely want to include a list of all sources and information available to make sure the use is aware of what is going on. I never really like 'closed-source' development, as some of you may have seen with the Gaming Association I founded (all our mods are open source ).
Thanks, I will post again here if I need anything.
I think some of the prebuilt tools are 64-bit binaries. It's likely possible to get it working on a 32-bit box, but all of the documentation I've seen either strongly recommends/requires 64.
A VM should work fine - I think a few people are using that approach. Memory requirements aren't too bad unless you're doing a make -j4 on a quadcore - then you might drive into swap with a 4GB machine (I have...)
Entropy512 said:
I think some of the prebuilt tools are 64-bit binaries. It's likely possible to get it working on a 32-bit box, but all of the documentation I've seen either strongly recommends/requires 64.
A VM should work fine - I think a few people are using that approach. Memory requirements aren't too bad unless you're doing a make -j4 on a quadcore - then you might drive into swap with a 4GB machine (I have...)
Click to expand...
Click to collapse
I have an i5 750 OCed to 4Ghz, it is in fact a quad. Only 4GB RAM atm but very soon i will have 8
It is running a git clone command, downloaded 40 mb already and it is only 5%, oh great... xD haha
Trying to download and getting this error.
Code:
[email protected] ~ $ sudo apt-get install git build-essential gnupg flex bison gperf libsdl-dev esound zip curl libwxgtk2.6 libc6-dev-i386 g++-multilib lib32z1-dev lib32ncurses5-dev java-common openjdk-6-jdk sun-java5-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libsdl1.2-dev' instead of 'libsdl-dev'
Note, selecting 'libwxgtk2.6-0' for regex 'libwxgtk2.6'
Note, selecting 'libwxgtk2.6-dbg' for regex 'libwxgtk2.6'
Note, selecting 'libwxgtk2.6-dev' for regex 'libwxgtk2.6'
Note, selecting 'libwxgtk2.6-0-python' for regex 'libwxgtk2.6'
E: Unable to locate package libc6-dev-i386
E: Unable to locate package lib32z1-dev
E: Unable to locate package lib32ncurses5-dev
ryannathans said:
Trying to download perquisites and getting this error.
Click to expand...
Click to collapse
Have you tried to add a repository
Code:
add-apt-repository "deb http://archive.canonical.com/ maverick partner"
?
still getting the same error, however, when updating the list of updates, quite a few 'ign' or 'fail' but still most 'hit'.
Is everyone getting this error? It is happening on all my machines..
Don't remember encountering that error when I was getting set up...
I'm on Ubuntu 10.10 - you?
Entropy512 said:
Don't remember encountering that error when I was getting set up...
I'm on Ubuntu 10.10 - you?
Click to expand...
Click to collapse
Linux Mint 10 Gnome
Derived from Ubuntu 10.10, therefore both depositories should work.
Do you know what depository it is from?
From what I remember, I only had to add special repos for Java 5.
I do remember that back when I did it, there were some libs missing from the install directions in the wiki, that caused my build to bomb. I had to do some googling to find out what they were, and I THINK they were the ones you are having a problem with... hmm. Lemme do some more poking.
Edit: Try the prerequisites setup hints at http://source.android.com/source/download.html
Entropy512 said:
From what I remember, I only had to add special repos for Java 5.
I do remember that back when I did it, there were some libs missing from the install directions in the wiki, that caused my build to bomb. I had to do some googling to find out what they were, and I THINK they were the ones you are having a problem with... hmm. Lemme do some more poking.
Edit: Try the prerequisites setup hints at http://source.android.com/source/download.html
Click to expand...
Click to collapse
First repository worked but the other failed.
Code:
[email protected] ~ $ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"
Error: 'deb-src http://archive.canonical.com/ubuntu lucid partner' invalid
I just removed -src and it accepted it, however I still get the same error with apt-get install as i did before
ill just install ubuntu instead...
and SAME error D:
Weird... I need to run out the door soon, but when I get home (going to be fairly late tonight) I'll try to look at my current repo setup.
Entropy512 said:
Weird... I need to run out the door soon, but when I get home (going to be fairly late tonight) I'll try to look at my current repo setup.
Click to expand...
Click to collapse
thanks Entropy
Uh yeah... anyway so what happened with that?
Entropy512 said:
Try the prerequisites setup hints at http://source.android.com/source/download.html
Click to expand...
Click to collapse
That's how I got the error.
I went on to...
Code:
sudo apt-get update
sudo apt-get install sun-java6-jdk
Things seem to be working fine for me.
Will post if anything changes... Ubuntu 10.10 x64
Getting errors about the update commands but repo is running fine. and javac points to where I tell it to via:
Code:
sudo update-java-alternatives -s java-1.5.0-sun
I suggest you continue to advance the installation until you run into a build problem, That will make an issue easier to resolve. Also... These issues should be posted/googled in a linux forum relevant to your distro.
Avid Droidery said:
Uh yeah... anyway so what happened with that?
Click to expand...
Click to collapse
Entropy helped me over IRC
libwxgtk2.6 could not be found via apt-get but libwxgtk2.6-0 was found and installed/works perfectly
should this be updated on the wiki?
ryannathans said:
should this be updated on the wiki?
Click to expand...
Click to collapse
I give you and Entropy my thanks and the thumbs up! As for your question, I am sure this is an installation issue specific to a certain platform. This would be relevant knowledge to any Wiki engaged in the topic.
- Keep up the great work!
I was curious if any of the dev gurus had a nice Linux setup that they could make a Android Development distro from?
I keep running into repo issues when trying to set up my system. This led me to go.....'why isn't there a precompiled dev distro??'
If there is....please point me towards it, as I have been searching, but if it exist it's in a deep dark part of the internet I'm yet to discover.
Thanks
(ps. I wanted to make a clockwork recovery for an unsupported device.)
I keep running into repo issues when trying to set up my system.
Click to expand...
Click to collapse
I think the best Idea is to set up an Ubuntu based system at the moment.
With fedora based distros (fuduntu) I allways get some issues as well.
Some month ago I ran into a site that provided some Ubuntu based virtual box images with the Android SDK installed, but as it changes alot lately I don't think it's up to date, and I can't find it anymore anyway.
Maybe the guides aren't accurate anymore??
The distro I tried was the newest Ubuntu, but with everything I attempted to install I would get permission issues and sometimes the links to repo's weren't live any longer..
Perhaps what I should ask is 'Where can I find an accurate, reliable guide to setting up my linux distro for dev use?'
eh, I'm not completely dumb to Linux, but I require a bit of assistance :/
Ya, Ubuntu is kinda mandatory considering the way the kernel in AoS forked from it. Ubuntu is a common one, should be able to do what you need off the USB bootable even.
Really depends on your hardware setup. I've been playing around with a portable Puppy lately - something I can use at work and on my ancient semi-sandbox laptop. If you like I can put a vanilla package together for you.
There is a distro from 2010 made by a beginning builder specifically for linux/android developers. I haven't used it but it may be worth a go: http://www.simply-android.com/discu...oid-developers-have-their-own-linux-distro/p1
It's time. As offered previously for the Nook Color and HP Touchpad...
A Build CM9-for-NookTablet Walkthrough
What is this?
This document provides instructions for developers to build a complete Cyanogenmod 9 update.zip for the Nook Tablet aka "acclaim" (and more theoretically the newer 512MB model, aka "elation") from source code. The instructions require a Linux computer and appropriate tools (discussed below).
It is important to emphasize that CM9 is a work in progress and if you try it you will be building/using something in mid-development. Things may break and/or not work at any time. Read below, the build instructions, and the relevant licenses for additional info and disclaimers.
Hopefully, for those developers who are interested and willing to take the risks, this can be a fun and educational experiment. And hopefully more developers will help chrmhoffman, kuzma30, mik_os, and others improve CM and the 3.0 kernel.
So does this build use the new, experimental 3.0 kernel then?
Update: At first, I mentioned that 2.6.35 was also supported, but apparently this will require additional files that aren't currently installed. So for now, yes, it uses the 3.0 kernel, which may not be compatible with the newer 512MB NTs. Although it is not confirmed one way or the other, as it has not been tested on these devices.
The configuration uses the experimental 3.0 kernel, which is built on-the-fly from the latest source code.
Unless you really want to take some risks, if you have a newer-model 8GB/512MB Nook Tablet (aka "elation"), the 3.0 kernel build is not for you...yet! It may boot, it may not. It has not been tested by any of the developers with that device, and as of this writing there are known kernel issues with the 512MB. (So actually, this is a good opportunity for developers to try it and contribute.) The 3.0 kernel development thread has more on this.
Any further discussion below assumes the 3.0 configuration, as the 2.6.35 branch isn't as up-to-date and isn't really being maintained. 3.0 is the future!
These instructions are for Linux. How do I build on Windows/Mac/etc?
If you have Mac or Windows or something else, you may consider installing a virtual machine such VirtualBox (which is free). Then run Linux, say a Ubuntu distribution, as a guest from your host computer. This allows you to "sandbox" your development environment, and gives an opportunity to learn about Linux with actual hands-on experience, all without reformatting your computer...
CM9 can also be built on Mac natively, either in Snow Leopard or Lion. Instructions for building (CM7) on a Mac can be found on the CyanogenMod wiki.
A few modifications need to be made to those instructions for CM9 & Lion, but such instructions aren't hard to find.
Will my build actually be usable?
CM9 (and the acclaim port) is in active development, and when you do a build from the latest source, you are using a bleeding-edge build of whatever happens to be in the repositories at the time. There is no guarantee it will work in any capacity. It may actually cause terrible damage. So only try at your own risk, and assume responsibility for your actions. If you find a bug, help fix it.
It is critical that you understand the risks before trying this and fully back up your system before trying any build. It is equally important to have a bootable SD standing by so that you can restore your device to a known good version if something goes terribly wrong, which may actually happen. Hopelessly staring at a non-booting device is never fun. There are other threads about recovering hosed acclaim systems, so I will leave you to finding and understanding them and preparing yourself for solving such problems. You should always assume the worst will happen, so be prepared.
Speaking personally, I don't have either model of NT and have never run CM9 on one, so can not attest to its usability per se. You should consider this a work in progress full-of-bugs until told otherwise.
Which bootloader is this using?
Cyanoboot, based on u-boot. The full github repo w/history (rather than raw files) is now available as well. Special credit to bauwks for fixing the locked bootloader design flaw.
Will this build result in a working update.zip suitable for use with ClockWorkMod recovery?
The build process has been modified to generate a fully flashable update.zip, but, as, with everything else, nothing is guaranteed.
Does this create a build for SD Card or for EMMC (internal storage)?
EMMC.
I'm stuck! I've been at it for hours. Something isn't working. Where can I get help?
If you have never built an operating system before-- this may be a good way to learn, provided you accept the risks and consequences of trying. This and other forum threads may be a good place to look for help. Also try IRC.
You are also able to leave comments in the walkthrough document itself. If you have a tip that might help others, post it there. If I get a chance, I'll take the best of them and incorporate it into the doc.
Does this build ClockworkMod recovery too?
It should. Check the $OUT directory for two files-- recovery.img and recovery.img.sdcard. The recovery.img file is (hopefully) flashable via fastboot:
fastboot flash recovery recovery.img
The recovery.img.sdcard can be renamed to recovery.img and put on your sdcard.
Can I build twrp2 instead of ClockWorkMod?
TWRP2, in case you're not familiar with it, is an alternative recovery image created by Team Win, particularly user dees_troy. It can be used for flashing update.zip files and making/restoring backups, among other things.st
The 3.0 build configuration currently contains the needed settings for a twrp build. You will just need to replace the ~/android/system/bootable/recovery repo with twrp's source code. You can do this by adding the following lines to your local_manifest.xml file:
<remove-project name="CyanogenMod/android_bootable_recovery"/>
<project name="TeamWin/Team-Win-Recovery-Project" path="bootable/recovery" remote="gh" revision="master" />
You can then repo sync (per the instructions) and then do this command to rebuild the recovery using twrp2.
mka recoveryimage
The recovery.img and recovery.img.sdcard files in $OUT should now contain the latest twrp2. (If it doesn't, try clearing out the recovery-related files in $OUT, including $OUT/obj/RECOVERY_EXECUTABLES)
Please direct twrp2-related questions and solutions to the twrp2 thread, not here.
Who do I thank?
Thanks to chrmhoffmann, mik_os, kuzma30, cyanogen, arcee, nemith, Texas Instruments, Barnes & Noble, and all the other devs, testers, and contributors, of which there are many. And special thank to bauwks, who made this all possible.
For this walkthrough in particular, big thanks to chrmhoffmann as well as eyeballer for testing. Everyone-- go find a thread by these people and thank them.
Who do I blame?
Yourself. Only yourself.
To whom do I donate?
Not to me. You can donate to any of the above if you feel like it. I do suggest considering a donation to the Electronic Frontier Foundation, who among other noble activities are fighting to keep "jailbreaking" and its Android phone and tablet equivalents legal. Your Android devices are full-fledged computers. Don't let corporate or government special interests take away the right to mess with your own possessions as you wish.
Finally, good luck. We're all counting on you. If and when you have problems, post them, and hopefully others will help find a solution.
Developers are needed. Enquire within.
-ft
(twitter)
-----
How To Build CM9 for Nook Tablet From Source
(Google Doc... or is it Google Drive now?)
And one more thing...
If I think of something to add, I'll put it here.
Good stuffs. I'll give it a try later in the week. I have everything set up. Going to be fun testing.
Im planning on doing this too. Thanks for making a guide, although I'll probably be in the IRC within 5 minutes of starting with questions
Sent from my Team A CM9 Alpha 0.03 Nook Tablet
Thank you very much for putting this together!
I am testing on an 8GB nook.
I can verify that the cwm and twrp2 recovery images boot with the 3.0 kernel, however CM9 fails to boot, it hangs on a blank screen with the backlight on and eventually just reboots. I am not able to get it to connect via usb to print logcat so I don't think it is getting very far.
Do you happen to have any instructions for tapping into the serial on these devices to see what is going on?
Also, with the new cwm it will not mount the sdcard through the menu. If I open a shell within cwm recovery I can mount it fine, except it is read-only.
In case it is useful, here is a dmesg from cwm:
http://pastebin.com/0fkyuSwe
arcon2600 said:
Also, with the new cwm it will not mount the sdcard through the menu. If I open a shell within cwm recovery I can mount it fine, except it is read-only.
In case it is useful, here is a dmesg from cwm:
http://pastebin.com/0fkyuSwe
Click to expand...
Click to collapse
Ah, this is very interesting! It's similar behavior to twrp.. a mounting issue with sdcard... wonder if this means the kernel is somehow not letting it mount, or if the problem is with recovery.fstab...
New patch, there shouldn't be a gpio_wp pin assigned to begin with...
Also, this is tested on my 8GB, I don't have a 16GB to test with.
diff --git a/arch/arm/mach-omap2/board-nooktablet.c b/arch/arm/mach-omap2/board-nooktablet.c
index de38b5c..a10dd93 100644
--- a/arch/arm/mach-omap2/board-nooktablet.c
+++ b/arch/arm/mach-omap2/board-nooktablet.c
@@ -684,7 +684,7 @@ static struct omap2_hsmmc_info mmc[] = {
.mmc = 1,
.caps = MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA | MMC_CAP_1_8V_DDR,
// .gpio_cd = -EINVAL,
- .gpio_wp = 4,
+ .gpio_wp = -EINVAL,
.nonremovable = false,
// .no_off_init = true,
#ifdef CONFIG_PM_RUNTIME
Build environment ready but cannot use repo command
HI! i would love to build a zip with the new kernel but i cannot use the repo command in the terminal in Linux Mint latest build. I have downloaded Android SDK and all the required build libraries and set up all the directories. i have the NTsparkkernel folder in the android directory. Could anyone offer some advice on how to apt-get (the REPO module) so I can build the zip. Thank you for your time. Bruce
about repo
C64assembly said:
HI! i would love to build a zip with the new kernel but i cannot use the repo command in the terminal in Linux Mint latest build. I have downloaded Android SDK and all the required build libraries and set up all the directories. i have the NTsparkkernel folder in the android directory. Could anyone offer some advice on how to apt-get (the REPO module) so I can build the zip. Thank you for your time. Bruce
Click to expand...
Click to collapse
The repo command is actually something you get from Google. It's not in the apt-get repositories.
To install the repo script:
mkdir -p ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
The repo binary will be in ~/bin and you can add this to your path if you like.
Confirmed by chrmhoffmann and committed. Thank you!
Thank you for this guide. I've compiled stuff before, but built my first Android from source last night. Although the build from that time has random reboots (the nature of the beast).
I'll be building quite a bit I think
Damn see I'm just porting right now I wanna build from source but my PC isn't Linux friendly yet I'm waiting on a tb internal so I can set up and learn this but it just looks so complicated and idk why. I feel once I learn it probably be easy as hell. Thanks Fattire
__________________________________________________
Sent from my SPH-L700-GNEX-using Tapatalk 2
Danrarbc said:
Thank you for this guide. I've compiled stuff before, but built my first Android from source last night. Although the build from that time has random reboots (the nature of the beast).
I'll be building quite a bit I think
Click to expand...
Click to collapse
Hey congrats and welcome to the club!
Cannot Make the bacon...
Hey Fattire! Thank you for your guide. I was able to finally download the source for cm9 and add the 3.0 kernel repository. I have everything in one folder. I am new to Linux and had to add a Path command to get Repo Sync to work correctly. Once I got the Repos I ran into another problem trying to issue command cd ~/android/system/vendor/cm , then enter “./get-prebuilts”. The Make Bacon and or Croot <enter> brunch acclaim does nothing either. It seems I am missing somthing here. Maybe a different distro of Linux besides Mint would work better for me... getting close to building (i hope). Thanks!
I have to issue PATH=~/bin:$PATH every time I repo sync.
C64assembly said:
Hey Fattire! Thank you for your guide. I was able to finally download the source for cm9 and add the 3.0 kernel repository. I have everything in one folder. I am new to Linux and had to add a Path command to get Repo Sync to work correctly. Once I got the Repos I ran into another problem trying to issue command cd ~/android/system/vendor/cm , then enter “./get-prebuilts”. The Make Bacon and or Croot <enter> brunch acclaim does nothing either. It seems I am missing somthing here. Maybe a different distro of Linux besides Mint would work better for me... getting close to building (i hope). Thanks!
Click to expand...
Click to collapse
I use Ubuntu here I started with 10.04 LTS since it was the the build used and supported by Googles build instructions. Yous should still be able to do it though.
Did you initialize the build environment using ". build/envsetup.sh" at android/system (it looks like is the base of your source from your post)
Yes. Thank you for your advice KeithN. I am going to start from scratch. I might just put Ubuntu 10.04 on my comp tonight if I cannot get it to build properly.
I'm going for Ubuntu 12.04 command-line. If that doesn't go well, I'll go for 10.04 as well.
I built mine on 12.04 (Xubuntu, but that doesn't matter so much).
I added a debian sqeeze apt repository to get sun-java6-jdk, then used -f install when it complained because one of it's dependencies exists in Ubuntu but not that same version #. Commented out the repository after it installed so I don't get more debian packages on accident. For everything else I think it was just following the guide as-is.
C64assembly said:
I am new to Linux and had to add a Path command to get Repo Sync to work correctly.
Click to expand...
Click to collapse
Yes, I had recommended doing that. The PATH=$PATH:~/bin command will ensure that no matter what directory you type "repo", it'll know where to find the file.
C64assembly said:
Once I got the Repos I ran into another problem trying to issue command cd ~/android/system/vendor/cm , then enter “./get-prebuilts”. The Make Bacon and or Croot <enter> brunch acclaim does nothing either. It seems I am missing somthing here. Maybe a different distro of Linux besides Mint would work better for me... getting close to building (i hope). Thanks!
I have to issue PATH=~/bin:$PATH every time I repo sync.
Click to expand...
Click to collapse
Instead of entering it every time, you can add that PATH statement so that it's automatically invoked when you open a new Terminal window.
Just add the line to an "invisible" file (it's invisible because it starts with a period (.) and won't show up in a normal listing) called .bashrc in ~/.bashrc (the ~ is a shortcut for your home directory, or /home/youraccountname/). The hidden .bashrc file will probably exist already. Just add the statement to the end.
Keithn said:
Did you initialize the build environment using ". build/envsetup.sh" at android/system (it looks like is the base of your source from your post)
Click to expand...
Click to collapse
This is right. Try this:
$ cd ~/android/system
$ . build/envsetup.sh
(the $ represents the prompt and should not be typed. For the second command, it's literally a period followed by a space followed by build/envsetup.sh)
I am using the latest 12.04 ubuntu, fwiw.
I know this is for CM9, but any help would be appreciated (trying aokp). I had issues with the packaging of the .zip it looks like. I was able to build for my fascinate so I know the source will build. Any suggestions?
Output
I am hoping we can compile a list of resources for those that would like to get involved in the Ubuntu touch development process.
QtQuick 5.0: QML Application Developer Resources
Create a currency converter phone app
Adding gesture support to your app
Phablet PPA
Ubuntu mobile tech forums
Compiling native apps (unofficial):
Linaro toolchain: http://launchpad.net/linaro-toolchain-binaries/+download
or for Ubuntu: apt-get install gcc-arm-gnueabihf
This is enough for compiling simple console apps (this works, I checked this). But for much more complex projects it's need additional library.
Also there is no official full supported sdk for Qt/Qml (just Qml), however you can manually compile Qt5 sources for ameabi hf. I'm failed with compiling Qt/Qml using precompiled Qt dynamic libraries from Ubuntu Phone OS image (compiled ok, but run failed). So we need dev Qt package for armeabi hf. But it need to keep in mind Ubuntu Phone OS uses libhybris and some other libs for interaction with Android libs and drivers (which are BIONIC). That's why we need to wait for proper SDK.
---------
Please, check cross-compiling and share minds how to compile native Qt/Qml
---------
Added link:
www$dot$googledrive$dot$com/host/0B5kDhuHYYcvwWDZpS0puZXhnZkk/ubuntu-sdk-dev-en.html (replase $dot$ with .)
Any resources for just creating Web Apps?
ojdon said:
Any resources for just creating Web Apps?
Click to expand...
Click to collapse
Nothing that I have seen yet but I would imagine web apps will be used in a similar fashion to Ubuntu desktop. If this is the case here are some resources that may get you up and running.
Unity Web API
Ask Ubuntu: How do I use Ubuntu webapps
Launchpad Page (may be helpful)
What about fogger? You can create your own webapps....
Sent from my GT-I9100 using xda premium
dim319 said:
Compiling native apps (unofficial):
Linaro toolchain: launchpad.net<slash>linaro-toolchain-binaries<slash>+download
or for Ubuntu: apt-get install gcc-arm-gnueabihf
This is enough for compiling simple console apps (this works, I checked this). But for much more complex projects it's need additional library.
Also there is no official full supported sdk for Qt/Qml (just Qml), however you can manually compile Qt5 sources for ameabi hf. I'm failed with compiling Qt/Qml using precompiled Qt dynamic libraries from Ubuntu Phone OS image (compiled ok, but run failed). So we need dev Qt package for armeabi hf. But it need to keep in mind Ubuntu Phone OS uses libhybris and some other libs for interaction with Android libs and drivers (which are BIONIC). That's why we need to wait for proper SDK.
---------
Please, check cross-compiling and share minds how to compile native Qt/Qml
Click to expand...
Click to collapse
If you are building simple console apps, you can also build them on the device itself through ssh, and using `sudo apt-get install gcc build-essentials`
BukaKing said:
If you are building simple console apps, you can also build them on the device itself through ssh, and using `sudo apt-get install gcc build-essentials`
Click to expand...
Click to collapse
Right, but I want to make Qt/Qml.
I got toolchain, grab sources of platform-api and libhybris from
launchpad.net/~phablet-team, made libs (some of them was grabbed form device), edit mkspecs for qmake, compiled app, pushed it on device, edited on device: /data/ubuntu/usr/share/qml-phone-shell/Applications/applications.js and finally it's work!. Even can be launched from Apps page (on device).
I solved problem with assertion from previous my post, but I got new problem which is GUI. Ubuntu Phone OS window manager put my GUI to the bottom layer, so I can't see GUI of my app until qml_phone_shell process will be killed!
----------------
Good news: I have solved all my problem. So bit later I post extended instruction on how I did it!
What this means? We can develop native C++ Qt/Qml apps without ssh and install them on device!
So the guide says the minimum requirements of developing Ubuntu apps is to use Ubuntu 12.10. But I'm on Ubuntu 12.04 and it's difficult to sacrifice. Would it be fine to develop Ubuntu apps using 12.04?
L0rDKadaj said:
So the guide says the minimum requirements of developing Ubuntu apps is to use Ubuntu 12.10. But I'm on Ubuntu 12.04 and it's difficult to sacrifice. Would it be fine to develop Ubuntu apps using 12.04?
Click to expand...
Click to collapse
Probably not. If I were you I would install 12.10 in a virtual machine until 13.04 is released. Than revisit the upgrade issue.
L0rDKadaj said:
So the guide says the minimum requirements of developing Ubuntu apps is to use Ubuntu 12.10. But I'm on Ubuntu 12.04 and it's difficult to sacrifice. Would it be fine to develop Ubuntu apps using 12.04?
Click to expand...
Click to collapse
Where did you read that? There is Ubuntu SDK for Precise (12.04), Quantal (12.10), and Raring (13.04) at ppa:canonical-qt5-edgers/qt5-proper repo!
I think it even possible to develop on Windows, however it takes a lot of work to recompile sources of parts)
dim319 said:
Right, but I want to make Qt/Qml.
I got toolchain, grab sources of platform-api and libhybris from
launchpad.net/~phablet-team, made libs (some of them was grabbed form device), edit mkspecs for qmake, compiled app, pushed it on device, edited on device: /data/ubuntu/usr/share/qml-phone-shell/Applications/applications.js and finally it's work!. Even can be launched from Apps page (on device).
I solved problem with assertion from previous my post, but I got new problem which is GUI. Ubuntu Phone OS window manager put my GUI to the bottom layer, so I can't see GUI of my app until qml_phone_shell process will be killed!
----------------
Good news: I have solved all my problem. So bit later I post extended instruction on how I did it!
What this means? We can develop native C++ Qt/Qml apps without ssh and install them on device!
Click to expand...
Click to collapse
I also managed to build a Qt/Qml hello world app on the phone itself.
You said that you already solved your problem, so maybe you already found this... I got my hello world program to show up on top by adding this to the command line when launching my program:
./hello --desktop_file_hint=/usr/share/applications/qmlscene.desktop
BukaKing said:
You said that you already solved your problem, so maybe you already found this... I got my hello world program to show up on top by adding this to the command line when launching my program:
./hello --desktop_file_hint=/usr/share/applications/qmlscene.desktop
Click to expand...
Click to collapse
It's useful for launching apps from bash on device.
I used another way. I didn't use ssh for compiling and deploying my app. Just PC and adb. And run app from UI shell (not from bash).
This is how I did:
www$dot$googledrive$dot$com/host/0B5kDhuHYYcvwWDZpS0puZXhnZkk/ubuntu-sdk-dev-en.html (replase $dot$ with .)
The best place to get started with apps on Ubuntu Touch is
developer.ubuntu.com/get-started/gomobile/
I've been through all the relevant threads on AskUbuntu and they are either outdated, conflicting and/or dont work.
My Nexus10 sees the atheros AR9271 device on Bus 001 USB but does not create an additional WLAN for it.(wlan0 is the normal integrated wifi) I assume I need the ath9k or ath9k_htc driver? I installed backports 4.4.2-1 and unzipped it. If I try to do a 'make' or 'make clean' I get:'your kernel headers are incomplete/not installed'. I've already got the latest version of build-essential. If I try to install 'firmware-atheros', it cannot find the package. I've been through several other things to no avail.
I've read the driver is installed with 15.x+ anyway, true? and if so how to install it? If someone could do a step-by-step wifi driver install for a U-touch or at least Ubuntu 15.x I'd be very very grateful.
I do not want to bridge the 722n, I want to use it instead of the integrated card. Not even there yet, but just in case it matters.
Thanks!
roninisc said:
I've been through all the relevant threads on AskUbuntu and they are either outdated, conflicting and/or dont work.
My Nexus10 sees the atheros AR9271 device on Bus 001 USB but does not create an additional WLAN for it.(wlan0 is the normal integrated wifi) I assume I need the ath9k or ath9k_htc driver? I installed backports 4.4.2-1 and unzipped it. If I try to do a 'make' or 'make clean' I get:'your kernel headers are incomplete/not installed'. I've already got the latest version of build-essential. If I try to install 'firmware-atheros', it cannot find the package. I've been through several other things to no avail.
I've read the driver is installed with 15.x+ anyway, true? and if so how to install it? If someone could do a step-by-step wifi driver install for a U-touch or at least Ubuntu 15.x I'd be very very grateful.
I do not want to bridge the 722n, I want to use it instead of the integrated card. Not even there yet, but just in case it matters.
Thanks!
Click to expand...
Click to collapse
anyone anyone, Beuller...
Hey, saw this was unanswered and figured I could help. First off, you will not be able to compile or install headers in the Ubuntu Touch system, as /lib/modules/<kernel version> is a bind-mount into the read-only LXC system image, one way to work around this issue on device is to mount the LXC container's system image read-write somewhere, move out the lib/modules directory to someplace else, umount, reboot and then link your moved lib/modules back into /lib/modules. You will need to do this compilation outside of your Nexus 10 in a cross-compilation environment or in an armhf chroot (imho, a chroot running the ARM build of Ubuntu works very well for this).
Once you have that, you can install the kernel package for your device (which I believe are labeled linux-headers-manta and linux-image-manta respectively) and build the driver you seek. However the kernel already comes with backports 4.4.2 in it's tree, so you may be able to apt-get source linux-image-manta and build the driver and/or the kernel itself if you wish. (I believe building the kernel builds the firmware needed for the drivers as well, but I have no way of knowing as I haven't actually rebuilt any drivers with firmware yet in my foray into linux-image-flo's source.)
One piece of advice: Make sure to join together the config.*.ubuntu files under the debian.flo and debian.master folders to get the working .config for your device. The defconfig from arch/arm/configs doesn't have all the needed options for uTouch and won't boot it.
Your 'thanks meter' improved, and big thanks for answering, but this is beyond my level. Was hoping I could run an external wifi stick on a tablet with some flavor of linux, but looks like a no go for mortal users.
roninisc said:
Your 'thanks meter' improved, and big thanks for answering, but this is beyond my level. Was hoping I could run an external wifi stick on a tablet with some flavor of linux, but looks like a no go for mortal users.
Click to expand...
Click to collapse
Sadly at this time, it definitely seems to be. The normal linux way of building drivers doesn't work on here because the modules directory (/lib/modules/3.4.0-5-flo) is read-only, also due to this kernel headers cannot be installed, this can be worked around, but it is definitely not something that the casual user can do easily. I hope this will change so I could start compiling modules and NOT need to rebuild the entire kernel for it.
Glad I could be of help and I love answering questions, I am currently using Ubuntu Touch as my main OS on my Nexus 7 as I'm trying to make it into my own portable workstation. So I'm constantly digging into the system and learning what I can, and I love to share.