How does I set up teh linux?
1- you dont know anything about linux. go ubuntu. we will tweak it after that. version 10.xxx (cant remember exactly).
2- you've used linux before and feel comfortable when thinking about it. go ubuntu/fedora.
3- no worries. you can troubleshoot alone when leenucks acts funny, you su everyday. go arch linux.
bottom line, it all comes to a few package versions.
make, python2, git, jdk, maybe a few others, need old versions. even in ubuntu, if you would like to start from a more updated base image, you'll need to downgrade. arch linux allows this with more freedom, since its more modular.
i havent used fedora for a few years now. used it back when red hat quit doing desktop images, didnt stay long and switched to slack.
i prefer archlinux because it's 300mb'ish iso, allows lvm, luks from live cd, doesnt have a text-based installer but install scripts, rolling release system (prebuilt packages/packages built from src using abs/aur, testing repo), customizable/modular, cli package manager (pacman ), systemd, grub2..
basically, if you like bleeding edge and power to yourself, try archlinux. read the wiki, begginer guide, install guide. first time i did it, i used another pc to help me go through all the steps.
sent from my i9250
When you're interested in Linux you can take a easy to use Distro like Ubuntu.
Packetmanagement resolves dependencies autocratically and nearly each software is available as a precompiled Packet
Also such Distros are running 32 and 64bit Programms out of the box.
If you want to learn linux in deep (and have enough time to solve issues) i recommend a Distro like Arch or Slackware.
I use Slackware64 and learned a lot about Linux and the packet and library dependencies.
Because the Packetmanagement does not resolve dependencies.
Even GUI Tools are rare on this Distro, you have to struggle with config files.
Slackware is a pure 32 or 64bit Linux (can be build to a Multilib Linux).
For Example the Android SDK mainly uses 32bit.
Maybe you should try some Distros and use that one you feel familiar with.
Also there are good Resources out in the net which you should read (Filesystem Hierarchy Standard, File Permissions, Basic Shell Tools)
Google and en.wikibooks.org/wiki/LPI_Linux_Certification would be a good starting point.
You could also try some Live-CDs, mess with it and when all went wrong only reboot.
Good Luck
Indeed, start Ubuntu, you can even stay with it if you like. But Arch and the install guide give you a good grasp on how Linux works.
Of course, you can develop apps in Windows or OSX, and OSX and Linux are the only two that allow you to build Android from source (basically ROM development). You also need to know Java to develop Android apps, less fun than screwing around with Ubuntu lol.
Good luck!
Sent from my Galaxy Nexus using xda app-developers app
Thanks for all the replies guys! Wish me luck lol.
RoyJ said:
Thanks for all the replies guys! Wish me luck lol.
Click to expand...
Click to collapse
Just to give one final thought, I think Slack would be a better learning experiencing, since it's even more close to Unix than Arch. With Arch you learn a lot, that's a fact, but with Slack you understand even how libraries and dependencies work, kinda the hard way, since you don't have a package manager to take care of it for you.
I think both might be a steep (maybe too steep) learning curve, and Ubuntu will be easier but, Ubuntu does things more their way. It's Linux, but things are different. Eventually, you'll know what i mean.
sent from my i9250
Thanks for the input. That's something to look into for sure. I am in no rush to just jump in and try it. I'd really like to learn everything on a basic level like that first.
I'm trying to get the research down before I start messing with the development.
Related
I became interesed in using linux apps like wine so i'm looking for some basic tutorials to install linux on my defy so that i can use, both androd and linux whenever i want.
Thanks !
i dont think their will be any basic tuts on it porting a whole os is a trick business. Although you could use some kind of remote desktop perhaps
[Guide] Compiling your own nightly kernels Quark/Blechd0se & Essential Git commands
Well Hello again another day, another do it yourself guide for the people like me with ORD
Search it up to see what am on about
Today there will be two guides they are very easy I promise - One on how to compile just the kernel image(zImage) and the other on how to use some common git commands.
Kernel Guide
1. Downloading the sources & packages needed :
Before we start we need to make sure you have the necessary packages required for you to compile the kernel.
If you already have an android build environment setup then we are good to go
If not then you can either use my guide and get an android build setup going just incase you want to compile your own nightly later on or you can just download the necessary packages required for compiling the kernel.
Packages needed - git-core, gnupg, flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl, libncurses5-dev, zlib1g-dev, ia32-libs, lib32z1-dev, lib32ncurses5-dev, gcc-multilib, g++-multilib.
So for ubuntu based system it will be -
$ sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev ia32-libs lib32z1-dev lib32ncurses5-dev gcc-multilib g++-multilib
For arch linux -
$ sudo yaourt git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev ia32-libs lib32z1-dev lib32ncurses5-dev gcc-multilib g++-multilib
Most of the packages are found in the AUR repository so you need a frontend to AUR like yaourt.
Once you have the packages installed we are going to clone the kernel tree into our computer.
I feel it's best you make a new directory for which you will use to compile kernels.
Once you are in your directory of choice we can now download the kernel sources
For Quarx kernel - $ git clone https://github.com/Quarx2k/jordan-kernel
For Blechd0se kernel - $ git clone https://github.com/Blechd0se/jordan-kernel
One thing to note is after the git clone command you can name the folder in which the sources will be saved to.
For example git clone https://github.com/Blechd0se/jordan-kernel blechd0se. This will renamed the folder to Blechd0se which the kernel sources will be saved to instead of the default name of jordan-kernel.
2. Downloading the toolchain/s
If you have one of the rom sources (CM10, SB, CNA) synced up then you can just point the cross compile to that directory.
$ git clone https://github.com/Quarx2k/platform_prebuilt
Here you have a choice of two toolchains either the default google one (4.4.3) or the recently added linaro toolchain(4.5.4) by Quarx
3. Setting up configuration
Now cd into the kernel folder so for me -
$ cd ~/Kernel/Blech0se
Then run the follwing commands -
$ export ARCH=arm
$ export CROSS_COMPILE=~/<location of toolchain>
- For the linaro toolchain it will be export CROSS_COMPILE=~/Kernel/arm-eabi-4.5.4-linaro/bin/arm-eabi-
- For google's iw will be export CROSS_COMPILE=~/Kernel/arm-eabi-4.4.3/bin/arm-eabi-
make mapphone_defconfig
If you are compiling Blechd0se kernel then you can choose what process schedulers you want BFS or CFS the default is CFS.
To enable BFQ you need to do the following things
make menuconfig this will bring up a menu which you can use to customise the kernel if you know what you are doing this can also be used on Quarx's the difference is you don't have as much choice as in Blechd0se's.
Scroll down and select enable block layer then IO schedulers the scroll down to BFS and type "Y" a star will appear in the checkbox showing it will use BFS now.
Once that's done you can compile own kernel image using the make command
make -jx <maximum number of jobs>
Replace the x with the amount of jobs you want. I usually use -j8 but you can use higher but it can slow down you PC.
Read this post for more info on effectively using make -jx
You kernel will be finished into a couple of minutes to hours depending on the amount of jobs you used and how many cores you have in your processor.
Now we need to package the kernel into a zip to flash recovery.
I recommend you download one of Blechd0se's zips and modify it.
You need to delete the config folder if you don't want your overclock settings getting overwritten and also you can modify the updater script found in META-INF/com/google/android.
Then replace the zImage in the folder system/2ndboot/ with your new one.
You can find your zImage into the arch/arm/boot folder in your kernel source folder.
4. Updating and rebuilding -
To update your sources with the latest changes you can use the git pull origin command from the kernel source folder.
So for me it will be -
$ cd ~/Kernel/Blechd0se
$ git pull origin
Once it's being updated we need to first use
$ make clean
$ export ARCH=arm
$ export CROSS_COMPILE=~/<location of toolchain>
$ make mapphone_defconfig
$ make -j8
Credits & Thanks-
To XDA as always for being an awesome resource and playground
To Google for all they awesomeness
To Blechd0se for being an awesome kernel dev
To Quarx for his amazing work on the kernel so far
To thewadegeek for his guide which I have adapted this from Thank him here
Git Commands
The following git commands are the essential ones are feel that are needed to be able to use git effectively allowing you to help contribute back to the community...... With these commands you can help with things such as rom translation, bug fixes etc......
Commands -
1. git clone
This is used to clone a remote repository like here onto your local drive allowing you to edit/add files.
e.g
$ git clone https://github.com/Quarx2k/android_device_moto_jordan-common
This will clone the repository android_device_moto_jordan-common into a new folder called android_device_moto_jordan-common but if you want the folder to be called something else just add the name after the url like so....
$ git clone https://github.com/Quarx2k/android_device_moto_jordan-common Defy-common
Additionally, you can also specify downloading one branch by using the -b command you can also still has a custom name for the folder by putting the name at the end of the branch name. E.g
$ git clone https://github.com/Quarx2k/android_device_moto_jordan-common -b jb_2ndboot Defy-common
2. git
HAHA again
Last one for a party
I just finished syncing CM10 sources, I'll do this one too now
Thanks, you rock!
mark,thanks
Sent from my MB526 using xda premium
Thank you Kayant for this nice guide Hope to see some additional dev's soon
Maybe you can add how to push a commit
And if you only want to rebuild modified modules you can simply run the "mmm" command, safes time
Btw: BFQ and CFQ are I/O-Scheulders, CFS and BFS are process schedulers
When I used to have defy (good old days) this was something I want to share with everyone but I couldn't because I lost my defy when I have doing some progress in custom kernel. Then I lost track of this great community and stop to make things for defy. It's great to see this kind of tutorials for help other users as well. As always, very thanks kayant!!!
Enviado desde mi MT27i usando Tapatalk 2
Thought I might add. on that make -jx command, x should be your max threads + 1 -- eg, I have a quad core w\o hyper threading so I use 5.
use the "nproc" command to find out how many threads you have
the make jx is different than sync jx, where sync jx is how many files you'll concurrently download. I figure most of us know that, but I figured I'd make the distinction.
number of cores + 1 is recommended on a lot of faqs; your results may vary, but using j5 (my recommend setting) versus not setting it (j4 by default, i think -- needs fact checking) speeds up compile time by 20-30 minutes (Quarx CM 10). using too many threads will slow you down and using too little is inefficient and thus slower.
Thank you very much for your informative guides Kayant always learn something from it and really appreciate it:thumbup:
Sent from my MB526 using xda premium
skeevy420 said:
Thought I might add. on that make -jx command, x should be your max threads + 1 -- eg, I have a quad core w\o hyper threading so I use 5.
use the "nproc" command to find out how many threads you have
the make jx is different than sync jx, where sync jx is how many files you'll concurrently download. I figure most of us know that, but I figured I'd make the distinction.
number of cores + 1 is recommended on a lot of faqs; your results may vary, but using j5 (my recommend setting) versus not setting it (j4 by default, i think -- needs fact checking) speeds up compile time by 20-30 minutes (Quarx CM 10). using too many threads will slow you down and using too little is inefficient and thus slower.
Click to expand...
Click to collapse
Thanks for the infromative post as always
In this situation I feel it doesn't matter too much since it takes minutes to compile just the kernel even on my core 2 duo but I will add your hint your post to the OP. Thanks again ^_^
Kayant said:
Thanks for the infromative post as always
In this situation I feel it doesn't matter too much since it takes minutes to compile just the kernel even on my core 2 duo but I will add your hint your post to the OP. Thanks again ^_^
Click to expand...
Click to collapse
You're completely right about the kernel and time -- but for full rom builds and a Funtoo "emerge -uDNav world" it helps. I just saw that j8 and thought "My dual core Athlon 64 would hate me if I did that".
Great guide as always
That does it.
I'm studying Linux in earnest. Enough of this dabbling around the edges... :cyclops:
renoob said:
That does it.
I'm studying Linux in earnest. Enough of this dabbling around the edges... :cyclops:
Click to expand...
Click to collapse
That's the best thing I ever did. I hated XP, wish it was more like Win2k -- I'd gladly pay for Win8 if it had a 2kPro interface. Win2k was awesome, and the only Windows OS I'll give praise to.
I recommend starting out with Ubuntu or Mint (Mint based on Ubuntu, not Debian). There's better support for Ubuntu and distros based on Ubuntu. After about 4-6 months, once you start learning apt, the command line (bash), and some Linux basics; switch to Pure Debian or Mint Debian -- much better than Ubuntu, but not as user friendly (or AptoSid\Sidux -- they're based on Debian Unstable (Sid) -- which is actually pretty stable, ya just gotta be able to fix it if it breaks). I've found that the easiest way to learn it is to just do it. Reading up on it only goes so far without putting it to practice.
After a year or so, try out Gentoo\Funtoo and you'll learn a lot about Linux -- but those distros are not for the faint hearted and require time and dedication to get a GOOD working environment. Once you have it how you like it, it WILL be the fastest desktop you can use with the fastest compile time -- well, WILL should be shall or can. I'm about to turn my old compile PC into a generic x64 Funtoo box (one of my 64's is AMD, the other Intel). A generic build will allow me to use the same base system on both PC's and allow me to rebuild them to they're specific architecture after its all set up. It took me 3 tries to get a good Gentoo box running -- miss one step in that install guide and you can be up that creek.
11 years on Linux now, 9 years with only maybe 25 boots into Windows -- past 10-15 were to flash an sbf and to reboot back to Linux -- so glad I stumbled across the sbf_flash Linux tool. Last time I booted Windows was after installing Win7 and its drivers....seriously, all I've done is installed it and the drivers and haven't booted it up since. I've used Red Had, Fedora, Ubuntu, Arch, Mint, Debian, Suse, Mandrake, Gentoo, Funtoo, Sabiyon, Aptosid, Sidux -- after using all of them, I find that I prefer Debian\based systems (not Ubuntu\based systems -- I actually don't like Ubuntu, well, since 0910 -- it was a good distro up until then imho). And I like Funtoo for the source based distros -- I've messed around with other source based ones (Sorcerer, Arch) and like Futnoo over Gentoo and the rest in the end.
//You might already know enough Linux, I'm just posting what I think is the easiest way to start using and, therefore, leaning Linux.
///I'm also surprised that there isn't an XDA based Linux distro -- designed by XDA members to make it easier to get into Linux\rom hacking
rom compiling with all the tools we all need an apt-get away.
EDIT
I've been meaning to ask, Do any of you programmers have any good books to recommend? I'm finding myself of the border of power user and programmer and need to start learning some code skills to cross over. I'd like to learn something C, Python3, and Java; but there are a ton of books on them and I'd like a recommendation from someone HERE who knows a bit of programming and what they'd use to learn nowadays. I'm sure I'm not the only one with that question either. Something C and Java for Android, Python3 for Linux (maybe Android if that project has gained some ground). Thanks.
/Bolded that so it sticks out.
@skeevy
I use Arch Linux ATM and a love it but yh I have read about gentoo and how you can build it to your system.... Once I get a new PC in the near future hopefully very soon am going to try that and freebsd... Thanks for the advice
Let's Go ^_^
Kayant said:
@skeevy
I use Arch Linux ATM and a love it but yh I have read about gentoo and how you can build it to your system.... Once I get a new PC in the near future hopefully very soon am going to try that and freebsd... Thanks for the advice
Let's Go ^_^
Click to expand...
Click to collapse
Never tried BSD. Arch was OK, but I started on Debian, jumped around different ones for a few years, stuck with Ubuntu 7.10 for 6 months, hated their update, and been on Debian or Mint Debian ever since; testing or Sid usually -- I transcode my DVD's and stable has older codecs . Arch was a year ago for a month -- if I gave it more of a chance I'd probably like it as much as I do Debian. I've used almost all major distros, desktop environments, window managers, etc; but I always find myself back with Debian\XFCE -- it just works for me.
If you didn't know, Debian has a freeBSD based distro as well. That'll make it easy to try out BSD in an Debian style environment.
Hoped I could say the same. School is a real Linux killer.
Even for software that has a linux port, they only give us the installer/license for the Windows version. :/
PLC and robotics software tend to only run on Windows anyhow. As 3D drawing.
Always have the need to change my partition setup Linux-Windows after installing such an application on my laptop.
I am now using Ubuntu for 3 years. I like the look and don't want to spend time on my PC installation so it's good for me . I can imagine that it's different if you really want to get to know Linux or Unix.
What I hear most for learning to program (me not so much) is just try to do what you plan to do with it(an android application, ...) and searching how to get there. Don't know many that read books. Except for guidelines for memory management and security for example later on.
I've been programming for nearly 20 years. Only had a few classes in the basics. The rest has been trial by fire. Use Google a lot to figure out how to do stuff, but I can't really TALK about code as I don't know what to call some of the things I do. I highly recommend taking formal classes and reading books.
Sent from my SPH-L900 using xda premium
I compiled my own kernels on my phone and it's running
ps:My english is not so good:crying:
labsin said:
Hoped I could say the same. School is a real Linux killer.
Even for software that has a linux port, they only give us the installer/license for the Windows version. :/
PLC and robotics software tend to only run on Windows anyhow. As 3D drawing.
Always have the need to change my partition setup Linux-Windows after installing such an application on my laptop.
I am now using Ubuntu for 3 years. I like the look and don't want to spend time on my PC installation so it's good for me . I can imagine that it's different if you really want to get to know Linux or Unix.
What I hear most for learning to program (me not so much) is just try to do what you plan to do with it(an android application, ...) and searching how to get there. Don't know many that read books. Except for guidelines for memory management and security for example later on.
Click to expand...
Click to collapse
That's what I've been doing up until now, but Google only helps so much -- I can do a search on learning Java and come up with 1000's of faqs, guides, ect -- weather its worth reading or full of it is unknown too me since. A good book can be worth its weight in gold. With a bad internet faq, ya might as well change the faq's a to a u and bend over, cause that's what you're doing to yourself by learning from bad sources.
While I don't know what apps you're using, I know that some apps have a license isn't limited to the platform -- the Win License works on Linux\Mac\Unix as well. Or just use the Lin version and not feel guilty since you have the Win license .
Ubuntu was great until it started getting too bloated for my tastes -- and they're XFCE editions usually use much more resources than doing the same thing with Pure Debian installed from the command line up. On compile\dev boxes you want as little running as possible for obvious reasons. Not to mention the UI can greatly change from release to release with Ubuntu. Buntu was my 2nd Linux to run; Debian first -- Learned more on Ubuntu then went back to Debian. Pure Debian can be daunting if its your first distro.
Malcont3nt said:
I've been programming for nearly 20 years. Only had a few classes in the basics. The rest has been trial by fire. Use Google a lot to figure out how to do stuff, but I can't really TALK about code as I don't know what to call some of the things I do. I highly recommend taking formal classes and reading books.
Sent from my SPH-L900 using xda premium
Click to expand...
Click to collapse
Thanks. I'd be taking classes if I could. I don't qualify for any grants and I don't want to go for a loan because of the uncertainty of being able to pay it off.
Something I'm seriously thinking about doing is this -- free online classes from MIT. That has to be good information.
@All
I'm thinking of starting a generic x64 Funtoo box and get it to where XFCE is working, Nvidia graphics (all I buy is Nvidia Cards ), Android SDK is up and running, and all the required scripts, apps, udev rules, etc are already installed set up (repo, sbf_flash, apktool, etc). Then upload that as a zip so all you'd have to do is extract the zip to a blank partition, edit its fstab, update grub, set the build environment variables to your own, reboot, set users\passwords, and recompile the system.
I'm already going to do all of that except for the upload as a zip part -- I have 2 64 bit pc's -- one amd, one intel -- so I have to build it as a generic 64 in order to use the same system on both boxes. I was just wondering if anyone else would be interested in something like that once its all done.
---------- Post added at 09:22 AM ---------- Previous post was at 08:25 AM ----------
I normally don't post my PM's, but the last half on this one I sent out might be useful to some of you looking for the essential git commands
I have a couple of good sites I use for github reference. Here & here
Typing "man git" in the command line has helped me a lot as well. I've learned most of my Linux knowledge by typing "man name_of_program" and Googling what it said that I didn't fully understand -- especially with video encoding, ffmpeg and mplayer are some long reads, so is git. Git also has a "git help name_of_git_command" program that's helpful as well.
There's also a few threads on the Defy forums dedicated to helping out people trying to do exactly what you're wanting to do. The nightly builds link is a really good place to start with -- contains pretty much all you need to know to be able to compile roms. Kayant's an awesome dude and really helpful. His threads are great for users wanting to learn and\or contribute back.
[Guide] Compile your own nightly builds - AOKP, CM10, CM9, CNA, Slim Bean, P.A.C
[Guide] Compiling your own nightly kernels Quark/Blechd0se & Essential Git commands
I learned git from forums like the ones above, those reference sites and man pages\help program. Took about a week of trial and error before I got the hang of it. I still have a hard time remembering to start a branch before editing crap after the initial sync .
Honestly, the hardest thing to do, in regards to PA, is adding in FM. Almost everything else Defy\Bravo related just cherry picks right in with no\ very little and easy to fix conflicts. The FM commits are old and those files have changed a lot from when Quarx & Maniac did the patches -- especially between Quarx's and PA's current.
Cherry picking is pretty easy, navigate to the base directory -- like frameworks/base -- then its "git cherry-pick a_ton_of_hex" and it'll either pick right in or you have conflicts. If I get conflicts, I use the app "git-cola" ran from command line in the /frameworks/base directory; and its a gui app that'll list what files have conflicts (and a lot more) -- I then open up the conflicting file with tkdiff (or whatever diff you like) and fix the conflicts, "git commit -a" (saves changes), and push to github. If you don't get conflicts, just commit and push. Btw, the ton of hex is all the hex code next to the commit on github.com, review.cyanogen-mod.com.
Making changes on your own is done simply be navigaitng to the base directory -- frameworks/base for the android_frameworks_base repo, device/moto/mb520 for the Bravo repo -- and opening a terminal, starting or pointing to a branch (git checkout -b name_of_new_branch is a good command to run before you do anything -- checkout -b n_o_b creates a new branch and places you on it), then do what ever changes you need to do, then do "git commit -a", enter a description, and push. Once you have different brances going, you can use "git checkout name_of_branch" to switch between them. Read up on branching, cause theres a lot to it.
There's a lot of different ways to do git, and my way might not work for you.
Good luck and have fun reading -- you'll be doing a lot of it :silly:
Hi,
Just wanted to wish everyone here a Happy New Year and also I want to introduce you my toolkit/method for rooting Android devices using any Linux distro. The toolkit is called Ro0tb33r-T00ls and it is 100% Linux native... The official webpage is this one:
ro0tb33r.xenodesystems.com
And well... The toolkit was born out of the necessity of rooting my android device without using a Windows Machine. It supports a wide variety of Devices, Compilations/Versions and I'm going to mantain it as long as I can. It is based of parts of other famous tools such as SuperOneClick with the zergRush/Psneuter Xploits (But it works a bit different and integrates additional tools) and because of that, I want to say thank you to everyone involved in the development of those other projects.
In the future I will automate the process with my own script but for now, take a look to the project, try it out and give some feedback.
C'ya!
First of all let me start off by admitting that I am crazy and a noob programmer so maybe I don't understand the problem and am asking a rediculus question.
I was wondering if there was any way of converting C/C++ source into python that could be run on Android. Mostly command line stuff that would be done over adb or maybe even the terminal. I have got the python interpreter google provides running on the command line, I can access it from adb, terminal IDE, Terminal emulator, it seems everywhere, I moved the files into my /system directorys and add PYTHONHOME and ""PATH to my bashrc and mkshrc files located in the "/system/etc" section and now I can call them from those shells. For instance I can call "bash" and get bash, or/and I can call "python" to get python2.6 ( I have no idea how to implement the "Alternative" method of linking executables like in debian on android so it just has to be thought out, i tested with 2.6)
So with that all being said, if the C/C++ bindins for python ( I don't really even know how those work) were ported to android would we be able to use that to port C source?
And a second question. Does the python interpreter googlecode offers run on top of the Delvik VM?
Sounds pretty complicated and interesting, seen a lot of crazy things happen here over the years so I wouldn't say anything is impossible lol I recommend you ask this in the Q&A section though. Or maybe the Android Development and Hacking section, there's a lot of talented programmers over there as well.
Sent from my SPH-L710 using Tapatalk 4 Beta
To answer the question you asked: no, that's not a reasonable endeavor.
To answer the one you didn't: it's actually not hard to build most console programs from source to run on Android. You should be able to grab yourself a cross-compiler toolchain, and build the programs yourself. If you're running Linux on your computer, most distros have a tool to build such toolchains, or you can use e.g. MinGW and a Windows toolchain (Linaro might have one) to compile. In general './configure --host arm-linux-androideabi' should set everything up for you.
Obviously, there is a learning curve to building like this, but it's certainly not impossible to do.
Sent from my SPH-L710 using xda app-developers app
decimalman said:
To answer the question you asked: no, that's not a reasonable endeavor.
To answer the one you didn't: it's actually not hard to build most console programs from source to run on Android. You should be able to grab yourself a cross-compiler toolchain, and build the programs yourself. If you're running Linux on your computer, most distros have a tool to build such toolchains, or you can use e.g. MinGW and a Windows toolchain (Linaro might have one) to compile. In general './configure --host arm-linux-androideabi' should set everything up for you.
Obviously, there is a learning curve to building like this, but it's certainly not impossible to do.
Sent from my SPH-L710 using xda app-developers app
Click to expand...
Click to collapse
Right on, I just started reading the Linux From Scratch book and it has helped me understand the process behind it all a bit, I still need to finish reading the book and build my own Linux system for the my laptop first as that is what they are talking about.
I actually just got msfconsole or Metasploit running on Android, I ran started it up from ADB. I posted another thread about it with more detail.
I am just mounting the filesystems from the kali.img file that I made a few days ago, I basically just did a reverse chroot and brought those directories into Android's "/" directory and then exported the path variables that you normaly would but since I didn't change root and all the apropriate directories where in their proper place it ran.
My next step is to obtain a method for building the Kali Linux for arm system on a ROM, probably a blend of Cyanogenmod and Kali Linux core or rather just the command line programs. I am assuming that once the tools are available to the Android system folks could build gui's that call those programs and return their values and then bundle it in an apk for installation across devices running the modified ROM.
My end goal is basically a version of the Kali Linux distro that runs Android as its "desktop" instead of kde gnome pxe or some of the others. Then hopefully, maybe, if its deemed worthy, a specialized repository can be maintained for this version of the distro that wouldn't include any of the original gui programs for normal Linux Desktops, but only specialized apk's (instead of .deb or .rpm) that install gui's for android.
Thats what I would like to see, a Super Droid.
Please read forum rules before posting
Questions and Help issues go in Q&A and Help section
Thread moved'
Thanks
FNM
Mod edit: The following thread contains posts that were made in Odds, Ends, Tests - Update-July 10 2014.
I have asked stamatis - moderator, to relocate portions of the original odds,end,tests thread
as to cleanup/relocate entries more appropriately with respect to context.
the information here i hope will provide a better one stop shop experience as per stamatis'
counsel, for like minded individuals to find information/steps to follow for establishing
build enviornment to promote independent developement for the gt-p52xx.
please pm me to notify of broken links and i will correct asap.
thank you for your patience and understanding.
m
I've been fairly bottlenecked lately by final exams but I'm working on a few things as well. Been trying to work on the cm11 build but my knowledge in that area is limited so I've been learning as I go in that aspect. At minimum I'm gonna try building 4.4.3 based on @Angel_666 's source tree so we've at least got the newest code base to look at.
As far as stock-base, I'm trying to create a custom kernel similar to KT747 on the S3, also the idea was given to me by another user to **** around with swap-space to maybe push the ram a bit further. I'm also looking into potentially having KSM but I wouldn't bet on it for a stock-base
When I can manage to update Pimpdroid it's gonna be on the newest base, I'm also looking into potentially unifying the builds so I don't have to constantly create blind builds and get bombarted with "bla bla bla is not working". Slight problem though in that I've heard reports the LTE variant has an extra gig of ram. (If anyone can verify, that'd be great) as for new Pimpdroid features I'm keeping almost everything not pertaining to the kernel secret for now
But yeah. On a comment from another thread, if anyone cares to form a team to finally get a decently stable aosp build going, I'm willing. I can walk you through what I know if need-be, and to one who may be more experienced than me, I'm a quick learner.
Cheers
Restl3ss,
thank you for replying to this thread.
i failed to mention my inability to build/compile etc. which may or may not be remedied by an answer
to the following question.
Do I need a 64bit PC to begin building/compiling/ndk/sdk/git-hub stuff etc.
If yes then I'm screwed but I can still test, even risky/dangerous stuff.
If no then it will take me a little to get set/started but i can still test, even risky/dangerous stuff.
My own interest is specifically the kernel, being hands-tied by the issue mentioned above is, well.....
any thoughts you have would be appreciated.
as for things like zram/swap I had thought because of the massive amount of rewriting that that was
inevitably an internal card/chip/storage slayer?
You sir are clearly the more experienced of the two of us, though i do hope to change that or at least
catch up.
m
moonbutt74 said:
Restl3ss,
thank you for replying to this thread.
i failed to mention my inability to build/compile etc. which may or may not be remedied by an answer
to the following question.
Do I need a 64bit PC to begin building/compiling/ndk/sdk/git-hub stuff etc.
If yes then I'm screwed but I can still test, even risky/dangerous stuff.
If no then it will take me a little to get set/started but i can still test, even risky/dangerous stuff.
My own interest is specifically the kernel, being hands-tied by the issue mentioned above is, well.....
any thoughts you have would be appreciated.
as for things like zram/swap I had thought because of the massive amount of rewriting that that was
inevitably an internal card/chip/storage slayer?
You sir are clearly the more experienced of the two of us, though i do hope to change that or at least
catch up.
m
Click to expand...
Click to collapse
To build anything newer than 2.3 gingerbread you do need to be running a 64 bit OS. However, that being said, even the Intel atom chipset supports 64 bit so it may just be a matter of your OS, and since you need to have Linux anyway to build, I highly recommend dual-booting your computer with 64-bit Kali Linux (I highly recommend Kali as opposed to Ubuntu for building. Any time I've tried to build on Ubuntu it freezes a minute into the build and I have to restart the machine. With Kali it ran flawlessly the first time, though it was a little bit harder to set up the initial build environment)
You're right about swap space being an sdcard slayer, so really it's up to the individual whether the shortened life span is worth the performance increase. Ideally you could set it up with extSD so at least if the card dies you're not left with an expensive slab.
I'm more than happy to teach you how to build from source if you want. I'm not an expert at it myself but I know enough to get by. Running my own unofficial cm11 on my S3 with a few cherry-picked things
Cheers
hmmm
hey hey,
so i'm boned pc wise for now. However on the atom chipset being 64bit capable brings my next question, is it possible
to setup a build environment on this tab at the very least for kernel?
my kali install on the laptop i have [2nd hand 32bit] is boned so i'm dl ubuntu right now.
Concerning the build environment question; that is the nature of my experiments right now.
what i'm trying to do is structure the ramdrive into something approximating Linux.
I collect genuinely static binaries wherever i can find them [x86]. I read that the virtual terminal is disabled in android
kernel,[trying to get verbose boot, somethings i need to see], but i don't know if that's entirely true as with some
tinkering i've been able to display kill/sigterm/shutdown output. I am currently attempting to set root/daemon
into ramdrive as well as relocate /system/etc&bin to /bin&/etc proper. I'm picking up some basic sh,.rc scripting.
And i am attempting to get foremost functioning [forensic tool]. I am working on getting a capable laptop but it's iffy.
m
moonbutt74 said:
hey hey,
so i'm boned pc wise for now. However on the atom chipset being 64bit capable brings my next question, is it possible
to setup a build environment on this tab at the very least for kernel?
my kali install on the laptop i have [2nd hand 32bit] is boned so i'm dl ubuntu right now.
Concerning the build environment question; that is the nature of my experiments right now.
what i'm trying to do is structure the ramdrive into something approximating Linux.
I collect genuinely static binaries wherever i can find them [x86]. I read that the virtual terminal is disabled in android
kernel,[trying to get verbose boot, somethings i need to see], but i don't know if that's entirely true as with some
tinkering i've been able to display kill/sigterm/shutdown output. I am currently attempting to set root/daemon
into ramdrive as well as relocate /system/etc&bin to /bin&/etc proper. I'm picking up some basic sh,.rc scripting.
And i am attempting to get foremost functioning [forensic tool]. I am working on getting a capable laptop but it's iffy.
m
Click to expand...
Click to collapse
I seriously don't recommend ubuntu for building, if kali isn't working for you you could try another debian distro possibly? that being said though, just because ubuntu freezes during build for me doesn't mean it will for you, different hardware and what not (though I do build from a virtual machine running on top of my mac mini) As for setting up a build environment on the tab itself, it theoretically is possible with a LOT of tinkering, but the major problem there is that the android terminal is seriously neutered compared to a standard linux box, we don't even have apt / dpkg, which if you look at a build guide, is absolutely necessary to get the tools necessary to build. However, if you could get a full fledged linux environment running on this tab such as debian or ubuntu, I don't see why it wouldn't be possible, however slow.
your experiments intrigue me, though you'd be looking at a very long road to turn android into a full fledged linux environment, I would very much like at minimum to have apt / dpkg capabilities
---------- Post added at 09:29 PM ---------- Previous post was at 08:37 PM ----------
@moonbutt74
by the way, how exactly is your kali installation screwed up? Because I just remembered that when I was setting up my build environment I somehow ended up breaking GNOME and had to install KDE via command line to get a GUI running again
sorted
moonbutt74 said:
okay so,
kali will not accept any password, i only use root so there's no /home
i did the init=/bin/bash ==> #passwd root ===> toor
but no dice, at the moment i'm dependency hunting for apt, this is going to be fun or it's really going to suck.
:good:
m
Click to expand...
Click to collapse
dependency hunting almost always sucks haha.
for kali, are you using the live CD or are you doing a native installation?
if you're doing live, root/toor should work. if you do an actual dual-boot you set your own root password
kali is a distribution meant to be run as root, the root account is enabled by default and has its' own home directory
past midnight
sorted
moonbutt74 said:
well, my install is boned, i'll re-kali tomorrow [32bit ...sigh]
i did discover there is a kali mini wondering what's in the ramdisk.....
d-hunting suckage verified
eyes falling out of head
catch you on the flipside
m
Click to expand...
Click to collapse
kali mini you say? hmm
considering the original distro is 2.7 gb
hmmmm
by the way, can you post your laptop hardware specs? maybe I can find a 64-bit linux distro that's lightweight enough for you to run it smoothly
Restl3ss,
GOOD MORNING !
my pc is 32bit, my understanding is 64bit pretty much is about longer file names?
have kali 32bit going, try for kernel at any rate, would you help me with;
1- kernel source?
2-toolchain?
don't get me wrong, i am reading my ass off [just fell off....true story :silly:], but WOW....
if i'm doing this right so far i grabbed angel_666's stuff and trevd's stuff tho trevd's cm10.2.
i first just want to compile kernel w/no changes to get the hang of things.
OH yeah kali-mini ramdrives up and leads you to doing a network install, there must be some
useful toys in that. if i find/do anything neat, i'll post
m
Back before the Linux discussion, you asked whether the p5200 (LTE) had 2gb of ram. Yes it does. It amazed me that in no place does Samsung mention this, not even in the publicity on their website. But the task manager shows total ram of 1.89mb. I suppose that is why my machine is so blazing fast and I never have the complaints that I read about.
Samsung Galaxy Note 2
Dr. Ketan v7 4.4.2 ND3
Kernel: stock
Apex Launcher
moonbutt74 said:
Restl3ss,
GOOD MORNING !
my pc is 32bit, my understanding is 64bit pretty much is about longer file names?
have kali 32bit going, try for kernel at any rate, would you help me with;
1- kernel source?
2-toolchain?
don't get me wrong, i am reading my ass off [just fell off....true story :silly:], but WOW....
if i'm doing this right so far i grabbed angel_666's stuff and trevd's stuff tho trevd's cm10.2.
i first just want to compile kernel w/no changes to get the hang of things.
OH yeah kali-mini ramdrives up and leads you to doing a network install, there must be some
useful toys in that. if i find/do anything neat, i'll post
m
Click to expand...
Click to collapse
64 bit is more than just file names, there's also a lot to do with memory management. There's also 64-bit only applications
the kernel source and toolchain you should be able to find at the tab 3 development by learning developers thread, for toolchain though you can pretty much just use the same things you would for a standard cm11 compilation
so if you're on a 32 bit system,
Code:
apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-6-jdk openjdk-6-jre phablet-tools pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev
and if you're on a 64 bit system it's the same as above + a few extras, so
Code:
apt-get install bison build-essential curl flex git gnupg gperf libesd0-dev libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-6-jdk openjdk-6-jre phablet-tools pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev
if you're running a debian distro (such as kali) you're gonna want to add a couple repos to sources.list.
Code:
gedit /etc/apt/sources.list
and add the following lines (one might already be there, if so just skip adding that one. duplicate lines cause problems)
Code:
deb http://ftp.de.debian.org/debian sid main
deb http://ftp.ca.debian.org/debian/ wheezy main
take note that if you're running a debian distro the package phablet-tools listed above won't be installable through apt-get. so install every other package listed above with apt-get install, then for phablet tools you're gonna have to grab the .deb + its dependancies and install it manually. once phablet tools is installed along with the rest of the above run apt-get install on all of them just to make sure they all say the newest version is already installed. If done correctly you now have your toolchain. do a reboot via the terminal.
Take note that installing these packages on a debian installation WILL break your GUI (i've tested this in 3 different distros, always happens) so when you boot up after installing the above tools you'll just have a command line. Dont worry. Log in as root and type
Code:
apt-get -o=APT::Force-LoopBreak install kde-full
let that run its course then once it's finished reboot from the console. when you boot up again you should have your GUI back (though maybe not the one you had initially. This will function just as well though)
if after the reboot you find yourself back into the console, log in and type "startx". if that doesnt work, type "startkde". KDE should boot automatically but occasionally it goes back to console, one of those two is guarinteed to boot your GUI.
If for some reason when trying to log into KDE it just boots back into the login screen, hit the button in the lower left pannel of the login window next to power and switch it to "failsafe". Login like normal, you'll get a terminal window. (xserver is running but the gui is not fully) type "startx" or "startkde" in this window. Try them in that order. One of them will boot KDE like normal.
If all went well, bam, you're in your desktop and you've got your toolchain.
(I seriously recommend debian for building. Significantly more difficult to set up but ubuntu has a platoon of problems with the brunch command)
I know that was fairly long winded haha, but that should give you everything you need. If you get gedit isnt installed at any point just grab it with
apt-get install gedit
also, I highly recommend building from source for a device or two that already has CM available before you try to build based on angel_666's thread. it's best you're comfortable with the process, as working a port is a lot more intensive. Adding some unmerged gerrit code and rebuilding will also make you more comfortable with the source file structure.
also, keep me updated on kali mini if you don't mind, I'm intrigued
hey hey
Restl3ss,
thanks much, specifically for the repo info. on the toolchain, i had most from search around was missing 4 of the things from the list
you provided, thank you again. On gui break, this breaks gnome period, or this breaks gnome? i prefer open/black-box as my resources
like my finances are limted, lxde for comfort, i tend to avoid kde like the plague, thank you just the same for the heads up,will manage.
got source-update 2 from opensource-samsung [GT-P5210_JB_Opensource_Update2]. if you think a different source is better please
let me know and why as i was unsure. On phablet tools, is this square -
[edit]add-apt-repository ppahablet-team/tools ? [404]
more hunting =D
found some pointers toward enabling vt in kernel BUT, going to start by building stock about 4 or 5 times to learn the process.
question in device kernel version = 3.4.34; on kernel.org latest stable = 3.15.1, is this something i should be concerned with from go?
thank you for your help.
m
moonbutt74 said:
---------------------------
This is a transparented Modification of MultiWindowSidebar_v1.3_060614.apk from Thread by @zst123
Note- this modded apk must be dropped into /system/app perm-644
Thread http://forum.xda-developers.com/showthread.php?t=2729450
Link to modded apk DevHost - http://d-h.st/users/moonbutt74/?fld_id=37382#files
m
Click to expand...
Click to collapse
Well, what's the importance of such SideBar if it ain't working with xMultiWindow, xHalo Floating Windows and my midified native MW ?
Anyway, thanks for your work :good:
moonbutt74 said:
Restl3ss,
thanks much, specifically for the repo info. on the toolchain, i had most from search around was missing 4 of the things from the list
you provided, thank you again. On gui break, this breaks gnome period, or this breaks gnome? i prefer open/black-box as my resources
like my finances are limted, lxde for comfort, i tend to avoid kde like the plague, thank you just the same for the heads up,will manage.
got source-update 2 from opensource-samsung [GT-P5210_JB_Opensource_Update2]. if you think a different source is better please
let me know and why as i was unsure. On phablet tools, is this square -
[edit]add-apt-repository ppahablet-team/tools ? [404]
more hunting =D
found some pointers toward enabling vt in kernel BUT, going to start by building stock about 4 or 5 times to learn the process.
question in device kernel version = 3.4.34; on kernel.org latest stable = 3.15.1, is this something i should be concerned with from go?
thank you for your help.
m
Click to expand...
Click to collapse
You shouldn't be concerned too much with the kernel number difference, modern android is built on 3.4.xx where as the latest desktop kernel is 3.15.xx.
Setting up a build environment on Debian doesn't necessarily break gnome persé, it breaks whatever GUI you had initially. So really, if you wanted gnome for example, install Debian with the stock DDE at first, break it with the installs, then install gnome via command line
Your source should be fine, keep me posted
Restl3ss said:
But yeah. On a comment from another thread, if anyone cares to form a team to finally get a decently stable aosp build going, I'm willing. I can walk you through what I know if need-be, and to one who may be more experienced than me, I'm a quick learner.
Cheers
Click to expand...
Click to collapse
I am very happy to hear the talk of a team again. and i would love to be a part of it! I can do small development stuff (for now, still learning) and i can do any sort of testing. I have helped testing before, and most developers love my reports. If we seriously want to get a team together then PM me and we can get started. Thanks!
Zachisimo said:
I am very happy to hear the talk of a team again. and i would love to be a part of it! I can do small development stuff (for now, still learning) and i can do any sort of testing. I have helped testing before, and most developers love my reports. If we seriously want to get a team together then PM me and we can get started. Thanks!
Click to expand...
Click to collapse
I can help test!
let's make a team. we should open a new thread with signup sheet!
Sent from my GT-P5210 using Tapatalk
my current situation
Restl3ss,
kernel source = GT-P5210_JB_Opensource_Update2
toolchain = i686-linux-android-4.6
on = make -j (2,4,?)
error on make android_santos10_open_r00_eng_defconfig = arch/x86/Kconfig:496:warning: defaults for choice values not supported
in kernel root dir kconfig starting at line 493:
config BOARD_CTP
bool "Clovertrail board type"
depends on X86_MDFLD
default n <========[line 496, ?]
---help---
Clovertrail board type is special.
We use Medfield Soc file for Clovertrail but define a new
board file for Clovertrail. That's because Clovertrail Soc
shares all the codes with Medfield except the board file(i.e.
only platform devices and platform device data are different)
endchoice
okay so, i will go through anyway, to clarify i need processor numbers, chip model and to know if there
is supposed to be
export ARCH=x86
----AND----
export SUBARCH=arm
-----or just------
export ARCH=x86
found option to enable virtio [virtual terminal,fbcon]
curious about file system support ,iso in particular, back to kali-mini thoughts =p
and slaying/disabling FUSE.
any thoughts would be appreciated. will update
m
edit---locked up at CC drivers/base/cpu.o
edit 2 ----went through with make -j2 [no changes/patches just to get this sorted]
errors as follows
[email protected]:/media/root/a0f05268-aa8b-4020-bf91-c6dfc5cb94e7/kernel/k5210# make -j2
scripts/kconfig/conf --silentoldconfig Kconfig
arch/x86/Kconfig:496:warning: defaults for choice values not supported
make[1]: Nothing to be done for 'all'.
make[1]: Nothing to be done for 'relocs'.
---------------------------------------------
arch/x86/kernel/reboot_32.S: Assembler messages:
arch/x86/kernel/reboot_32.S:134: Warning: shift count out of range (32 is not between 0 and 31)
arch/x86/kernel/reboot_32.S:134: Warning: shift count out of range (40 is not between 0 and 31)
arch/x86/kernel/reboot_32.S:134: Warning: shift count out of range (32 is not between 0 and 31)
-------------------------------------------
arch/x86/kernel/head_32.S: Assembler messages:
arch/x86/kernel/head_32.S:64: Warning: shift count out of range (32 is not between 0 and 31)
------------------------------------------
arch/x86/platform/intel-mid/.mfld-hsu.o.cmd:2: *** mixed implicit and normal rules. Stop.
scripts/Makefile.build:454: recipe for target 'arch/x86/platform/intel-mid' failed
make[2]: *** [arch/x86/platform/intel-mid] Error 2
scripts/Makefile.build:454: recipe for target 'arch/x86/platform' failed
make[1]: *** [arch/x86/platform] Error 2
Makefile:948: recipe for target 'arch/x86' failed
make: *** [arch/x86] Error 2
make: *** Waiting for unfinished jobs....
on top of this, i can't seem to locate my output ?
[wonderful, isn't it?]
These guys are so busy they WON'T EVEN REPLY to anyone else ;-;
Good luck anyway
---------- Post added at 10:34 PM ---------- Previous post was at 10:17 PM ----------
Restl3ss said:
But yeah. On a comment from another thread, if anyone cares to form a team to finally get a decently stable aosp build going, I'm willing. I can walk you through what I know if need-be, and to one who may be more experienced than me, I'm a quick learner.
Cheers
Click to expand...
Click to collapse
Hope I can join your Team since many Teams here on XDA always reject ME
quijote1 said:
Back before the Linux discussion, you asked whether the p5200 (LTE) had 2gb of ram. Yes it does. It amazed me that in no place does Samsung mention this, not even in the publicity on their website. But the task manager shows total ram of 1.89mb. I suppose that is why my machine is so blazing fast and I never have the complaints that I read about.
Click to expand...
Click to collapse
Post a screenshot please, or else no one will believe (at least me I won't).