Hi,
Right now i am learning programming, I am interested joining hero ROM development. Are there any short tutorials that I could use or something that would help me to start with.
Thank you
There's quite a lot of foundations to build before you will start to see anything above ground level
Cyanogenmod is the foundation of most ROMs. Their Wiki is a good place to start. They have a lot of tutorials on setting up. For example, look for:
Overview_of_Modding
Howto Install_the_Android_SDK
Building_from_source
Howto Install_Kernels
These pages will give you an overview.
In terms of the programming side, this requires a lot of experience. It will take some time for you to be able to make major contributions.
But having said that, once you have a decent knowledge of C and some understanding of kernel source structure, you can read the source. Look at what others have done and try to understand what is going on.
Get hold of a recent book on kernel programming, such as
Linux Kernel in a Nutshell (Greg Kroah-Hartman - O'Reilly)
Linux Kernel Development (Robert Love)
These are not beginners books, but they do get into the subject at a reasonable pace once you have enough knowledge to start. I think anyone serious about doing kernel work is going to have to learn this sort of stuff to really understand what they're tinkering with.
I don't want to discourage you. Just don't underestimate the size of the task. As a beginner, the best contribution you can make is as a tester. Learn the issue tracker system, make a name submitting clear bug reports. This is not glamorous, but essential for a ROM project.
I found this book very interesting:
Linux Device Drivers
http://lwn.net/Kernel/LDD3/
And thanks codeazure, I'll check those two out as well
codeazure said:
There's quite a lot of foundations to build before you will start to see anything above ground level
Cyanogenmod is the foundation of most ROMs. Their Wiki is a good place to start. They have a lot of tutorials on setting up. For example, look for:
Overview_of_Modding
Howto Install_the_Android_SDK
Building_from_source
Howto Install_Kernels
These pages will give you an overview.
In terms of the programming side, this requires a lot of experience. It will take some time for you to be able to make major contributions.
But having said that, once you have a decent knowledge of C and some understanding of kernel source structure, you can read the source. Look at what others have done and try to understand what is going on.
Get hold of a recent book on kernel programming, such as
Linux Kernel in a Nutshell (Greg Kroah-Hartman - O'Reilly)
Linux Kernel Development (Robert Love)
These are not beginners books, but they do get into the subject at a reasonable pace once you have enough knowledge to start. I think anyone serious about doing kernel work is going to have to learn this sort of stuff to really understand what they're tinkering with.
I don't want to discourage you. Just don't underestimate the size of the task. As a beginner, the best contribution you can make is as a tester. Learn the issue tracker system, make a name submitting clear bug reports. This is not glamorous, but essential for a ROM project.
Click to expand...
Click to collapse
Thanks for good explanation Yap I know it's hard to start since I am beginner. But because I have lot of time and Have "HTC Hero" I think I'll go for it...
Thanks again.
Hi all,
I'm looking for recommendations on reading materials. I have been rooting and modding since my Epic and am looking for books on working with AOSP. I want to learn the correct way to do things so I figured there is no better place to go but than to my fellow XDA brothers for advice. Thanks
Everyday I look thru the cyanogen GitHub commit history and study yhr code changes. I also look thru the official Google repo.
Nothing helped me learn more than setting up my own build environment, pull down the source, compile and flash to my device.
Then practice making code changes and compile and test.
Cyan is best place to start.
Fellow xda members,
I've been lurking/browsing this section of xda for quite some time now, and I made a post on together.jolla.com with the same title as this...
Anyway, I am a CS student, and I'm curious to try Sailfish, the only thing is, the only android phone I have is a very powerful and potential-filled Xperia Z3C that is not going anywhere on its current OS (Lollipop 5.0.2), and since being a previous user of BB10, I love gesture-based OS'...
With that being said, I have read the Sailfish HADK enough times that I am thinking about trying to port Sailfish to my Z3C once and for all, I just don't know exactly where/how to start. I've also been following the mer wiki, and it appears that someone successfully ported SF to an Xperia Z. I don't know if there are any hardware changes between the Xperia Z and Z3 that would warrant a brand new/different build, or if I could potentially use the image that already exists for the Xperia Z and just debug/test/update with the most current build of SF that was recently launched (I think it's 1.17 or something...) and keep that going until SF officially releases a downloadable image (which, from reading their blogs, and chatting with some people on freenode, doesn't seem like they will anytime soon).
It also appears that CyanogenMod 11 is available for the Z3C (I think?) -- and this is one of the prereqs for unlocking the bootloader etc...
I am looking for guidance/tips, and anyone that is willing to help me along the way, so I can bring this amazing OS to an awesome piece of Sony hardware, that should not be brushed under the carpet. I am new to porting/mobile dev, but I am willing to learn, so any help will be greatly appreciated!
Thanks!
apollus said:
Fellow xda members,
I've been lurking/browsing this section of xda for quite some time now, and I made a post on together.jolla.com with the same title as this...
Anyway, I am a CS student, and I'm curious to try Sailfish, the only thing is, the only android phone I have is a very powerful and potential-filled Xperia Z3C that is not going anywhere on its current OS (Lollipop 5.0.2), and since being a previous user of BB10, I love gesture-based OS'...
With that being said, I have read the Sailfish HADK enough times that I am thinking about trying to port Sailfish to my Z3C once and for all, I just don't know exactly where/how to start. I've also been following the mer wiki, and it appears that someone successfully ported SF to an Xperia Z. I don't know if there are any hardware changes between the Xperia Z and Z3 that would warrant a brand new/different build, or if I could potentially use the image that already exists for the Xperia Z and just debug/test/update with the most current build of SF that was recently launched (I think it's 1.17 or something...) and keep that going until SF officially releases a downloadable image (which, from reading their blogs, and chatting with some people on freenode, doesn't seem like they will anytime soon).
It also appears that CyanogenMod 11 is available for the Z3C (I think?) -- and this is one of the prereqs for unlocking the bootloader etc...
I am looking for guidance/tips, and anyone that is willing to help me along the way, so I can bring this amazing OS to an awesome piece of Sony hardware, that should not be brushed under the carpet. I am new to porting/mobile dev, but I am willing to learn, so any help will be greatly appreciated!
Thanks!
Click to expand...
Click to collapse
Greetings
I was curious about getting Sailfish to Xperia Z3C, but after reading HADK I realized that I do not have the knowledge nor time to actually port Sailfish for the device. Though I'm not a Linux/Android developer, here are just some things I would like to just point out:
HAIK lists in it's PREREQUISITES section that it requires CyanogenMod 10.1.x. Using CyanogenMod 11.x.x might cause some unpredictable issues
Z3C hardware is completely different from Z1 hardware, so you will be forced to create a new build. You might also noticed that Z1 is compatible with libhybris and Z1C is not. There's also a chance that libhybris won't be compatible with Z3C.
You pretty much need to have a great knowledge of Linux, without that knowledge, you will end up looking up your issue on the internet very often
When you run into an issue that you can't solve on your own, just ask for help on the Sailfish Freenode IRC channel, I'm sure that they will help you.
Only thing I could offer you is to host the compiled builds on my server.
Thundery Steak said:
Greetings
I was curious about getting Sailfish to Xperia Z3C, but after reading HADK I realized that I do not have the knowledge nor time to actually port Sailfish for the device. Though I'm not a Linux/Android developer, here are just some things I would like to just point out:
HAIK lists in it's PREREQUISITES section that it requires CyanogenMod 10.1.x. Using CyanogenMod 11.x.x might cause some unpredictable issues
Z3C hardware is completely different from Z1 hardware, so you will be forced to create a new build. You might also noticed that Z1 is compatible with libhybris and Z1C is not. There's also a chance that libhybris won't be compatible with Z3C.
You pretty much need to have a great knowledge of Linux, without that knowledge, you will end up looking up your issue on the internet very often
When you run into an issue that you can't solve on your own, just ask for help on the Sailfish Freenode IRC channel, I'm sure that they will help you.
Only thing I could offer you is to host the compiled builds on my server.
Click to expand...
Click to collapse
Thanks for the tip. The bit about hardware changes is exactly what I was worried about, as I know the newer Z series have the 800 SoC chips and other possible differences, but I did read somewhere that Sony was supposedly making their bootloader universal among Z series (correct me if I am understanding this wrong). -- As for Linux, I have no experience with Linux, and was going to do this all on my OSX machine (I believe it is doable with homebrew and some bash scripting).
I'm staying tuned to see if anyone else chimes in on this. Thanks again!
apollus said:
Thanks for the tip. The bit about hardware changes is exactly what I was worried about, as I know the newer Z series have the 800 SoC chips and other possible differences, but I did read somewhere that Sony was supposedly making their bootloader universal among Z series (correct me if I am understanding this wrong). -- As for Linux, I have no experience with Linux, and was going to do this all on my OSX machine (I believe it is doable with homebrew and some bash scripting).
I'm staying tuned to see if anyone else chimes in on this. Thanks again!
Click to expand...
Click to collapse
I would really try not to do it on OS X. You need a proper Linux distribution to use, seeing as you're going to be following HADK very closely. It's not doable on OS X system and will never be. You require a Linux system to build another Linux system. If you went through HADK multiple times, you would know this.
I see why you think that OSX and Linux are alike, but they're really not, even when they are both UNIX systems. OS X is bastardized UNIX system and doesn't contain the GNU toolchain and the only thing it shares with Linux is the UNIX core.
Thundery Steak said:
I was curious about getting Sailfish to Xperia Z3C, but after reading HADK I realized that I do not have the knowledge nor time to actually port Sailfish for the device. Though I'm not a Linux/Android developer, here are just some things I would like to just point out:
HAIK lists in it's PREREQUISITES section that it requires CyanogenMod 10.1.x. Using CyanogenMod 11.x.x might cause some unpredictable issues
Z3C hardware is completely different from Z1 hardware, so you will be forced to create a new build. You might also noticed that Z1 is compatible with libhybris and Z1C is not. There's also a chance that libhybris won't be compatible with Z3C.
When you run into an issue that you can't solve on your own, just ask for help on the Sailfish Freenode IRC channel, I'm sure that they will help you..
Click to expand...
Click to collapse
Actually CyanogenMod 11.0 is currently the preferred version to be used as a base for Sailfish porting, no new ports should be made with 10.1 unless 11.0 is not available. Missing information in the supported devices table does not really tell whether a device can have support or not, it just means that nobody has done it yet. The difficulty of porting varies a lot from device to device but for quite many of the most common problems solutions already exists and #sailfishos-porters at Freenode will help with all problems encountered during porting.
mal- said:
Actually CyanogenMod 11.0 is currently the preferred version to be used as a base for Sailfish porting, no new ports should be made with 10.1 unless 11.0 is not available. Missing information in the supported devices table does not really tell whether a device can have support or not, it just means that nobody has done it yet. The difficulty of porting varies a lot from device to device but for quite many of the most common problems solutions already exists and #sailfishos-porters at Freenode will help with all problems encountered during porting.
Click to expand...
Click to collapse
mal-, how is your port of sailfish for the xperia pro working out?
mal- said:
Actually CyanogenMod 11.0 is currently the preferred version to be used as a base for Sailfish porting, no new ports should be made with 10.1 unless 11.0 is not available. Missing information in the supported devices table does not really tell whether a device can have support or not, it just means that nobody has done it yet. The difficulty of porting varies a lot from device to device but for quite many of the most common problems solutions already exists and #sailfishos-porters at Freenode will help with all problems encountered during porting.
Click to expand...
Click to collapse
HADK still mentions 10.1.xx so there's that. Though, I don't know if I should wait for SailfishOS 2.0 and gain some Linux knowledge by reading RFS or dive right in into porting when I will have some time.
Thundery Steak said:
HADK still mentions 10.1.xx so there's that. Though, I don't know if I should wait for SailfishOS 2.0 and gain some Linux knowledge by reading RFS or dive right in into porting when I will have some time.
Click to expand...
Click to collapse
HADK does indeed still talk only about 10.1 but the 11.0 based build can done using the same HADK by replacing in chapter 5.1 the hybris-10.1 in repo init command with hybris-11.0. A new version of HADK will be published hopefully quite soon with a lot of restructuring of the content to make it simpler for users. Also there has already been work done on porting Sailfish to Z3C on #sailfishos-porters and just today there was talk about continuing that.
---------- Post added at 12:43 AM ---------- Previous post was at 12:37 AM ----------
apollus said:
mal-, how is your port of sailfish for the xperia pro working out?
Click to expand...
Click to collapse
Just a day ago I published the first image of the port but haven't yet posted about it here because I need to do a few more posts to be able to include links to my posts. The link to the image and installation instructions can be found through the adaptation status table at Mer-project wiki.
mal- said:
HADK does indeed still talk only about 10.1 but the 11.0 based build can done using the same HADK by replacing in chapter 5.1 the hybris-10.1 in repo init command with hybris-11.0. A new version of HADK will be published hopefully quite soon with a lot of restructuring of the content to make it simpler for users. Also there has already been work done on porting Sailfish to Z3C on #sailfishos-porters and just today there was talk about continuing that.
---------- Post added at 12:43 AM ---------- Previous post was at 12:37 AM ----------
Just a day ago I published the first image of the port but haven't yet posted about it here because I need to do a few more posts to be able to include links to my posts. The link to the image and installation instructions can be found through the adaptation status table at Mer-project wiki.
Click to expand...
Click to collapse
Why isn't the Z3C added to the wiki page then? at least the device, so that people (like myself) know...
I'm probably gonna end up putting fedora on this machine and start trying to learn to use linux (to port). Will be taking a UNIX/Linux intro class soon anyway, so that will come handy.
I am really sick and tired of boring old android and I think the effort to get Sailfish is well worth it... Gonna keep checking into freenode to see if people mention the Z3C.
Mal, thanks for your posts.
apollus said:
Why isn't the Z3C added to the wiki page then? at least the device, so that people (like myself) know.
Click to expand...
Click to collapse
It depends on the person doing the porting at how early stage they add the information to the wiki page. Some do it very early some wait until it's reasonably usable. Of course it would be nice to have information about all ongoing porting activity.
Hello,
does anyone know if it would be possible to port LineageOS to Asus Tinker Board.
The kernel and the device tree files should be useable for a port i think and could get out of the existing official android versions of the TB
What would be the best way to start on this project?
Thanks & Greets
I want it too but I don't think many people want Android on single board computers. nobody will port it.
It's a shame because the hardware is decent, but the board isn't really that popular and the community is nearly dead.
It exists. 14.1 and 15.1, Google it retro pie exists now as well, it's named ROTT, retropie on the tinkerboard. I joined the development team recently to help fix Dreamcast and work on Saturn emulation. among other things. I'll create a thread later today
I'm googling while compiling this post but I just lack too much knowledge about aosp so I'm asking for some eli5 or just a link to an article where there is a well organized explanation on open source android development closely related to what I want to know here. (I prefer public sharing but PM would work too)
So, @tissot-dev (who is this? Xiaomi engineers?) published open source code for Tissot. (is this only for mi a1, who named it, when and why, what is it made from, is it build on aosp, if so in how many iterations to get to "Tissot").
What did @ghpranav do to become the standard? (What from his background contributed to his knowledge on this topic if known?)
Why can't we get a stable Oreo tree? How do we get to it?
Are unofficial builds contributing in any way and how are those built to be stable enough?
Why are officials running away from mi a1? (Few of them built a stable nougat but stopped, some even ditched doing simple fixes to make it fully functional)
Edit: Where does the Android one project come to play?
I want to learn a lot more and contribute if enough of these concepts get cleared in my head, so it's a bit technical, but I made this post to help myself and hopefully others with a compiled list of errors my brain is generating and if someone is kind enough, eli5 please, or just share a link or two, I need a bit of guidance at least to help my brain generate some good kw args for googling.