{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Developer Decorum and Conduct
1.) How is Android Licensed?
Android is open source and Google releases the code under the Apache License. This open source code and permissive licensing allows the software to be freely modified and distributed by device manufacturers, wireless carriers and enthusiast developers.
Click to expand...
Click to collapse
Full version here
Read Apache Licence here
2.) What is Open-Source?
open source refers to a program in which the source code is available to the general public for use and/or modification from its original design. Open source code is typically created as a collaborative effort in which programmers improve upon the code and share the changes within the community.
Click to expand...
Click to collapse
Read Open-Sourcing here
3.) Too many big words, what does this mean exactly?
Everytime you develop for the android-software you are bound by the GPL, Apache license and the XDA forum rules
Click to expand...
Click to collapse
See full GPL Licence here
4.) What must I do before publishing my work?
Review your work and see if it violates any of the following:
XDA Forum Rules #12
Using the Work of others
If you are developing something that is based on the work of another Member, you MUST first seek their permission, and you must give credit to the member whose work you used. If a dispute occurs about who developed / created a piece of work, first try to settle the matter by private message and NOT in open forum. If this fails then you may contact a moderator with clear evidence that the work was created by you.
Convincing evidence will result in copied work being removed. If there is no clear evidence you created the work then in the spirit of sharing all work will remain posted on the forums.
As an addition, developers have the right to hold exclusivity over their work for as long as it is deemed necessary by the dev or freely share it. However, if the work is claimed as exclusive, it must remain as such. No selective sharing will be allowed (ie allowing certain people to use it and not others). Should the dev decide to start sharing the work with others, the work automatically becomes fair game for all to use.
In regards to permissions, same rules remain for this but if permission was already given, unless there is a very valid reason, it cannot be revoked (same applies to major updates on the work). Under that same premise, permissions cannot be denied unless the work is exclusive or under severe circumstances.
In plain English: If you want to keep your work exclusive, go for it. However, if you are going to share your work, do it fairly.
These rules apply to all software posted on XDA (including but not limited to ROMs, RUUs, apps, games, kernels, themes, icons, etc) unless that software comes with a license that waives these rules.
Ask permission before using other's work, no matter how small it is (a .png file or a xml code), please secure all nessesarry permits from the original author before publishing
Click to expand...
Click to collapse
Tips
Create your own license, disclaimer and warranty notice
Protect your work by creating your own license and publishing them together with your work, remember this is your work and you have all the right to secure it at will and on your behalf, just make sure you clearly specify your license, disclaimer and warranty.
Click to expand...
Click to collapse
Open-GPL Licence Sec. 5-6
Publishing your sources, and providing notice of modification
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
After securing the permits if in case your project is a derivative or is based upon another project, you must publish and indicate it in a conspicuous and clear place within your post or work together with it's sources,
if in case of a original work, you must indicate the sources in a conspicuous and clear place within your post or work
Click to expand...
Click to collapse
XDA Forum Rules #6
Do not post warez.
If a piece of software requires you to pay to use it, then pay for it. We do not accept warez nor do we permit any member to promote or describe ways in which Warez, cracks, serial codes or other means of avoiding payment, can be obtained. This is a site of developers, i.e. the sort of people who create such software. When you cheat a software developer, you cheat us as a community
Don't Include Paid Apps versions on your work, Remember not all app developers do it for a hobby, sometimes they rely on app purchases for feed their kids, pay their bills and get their life ahead,
Click to expand...
Click to collapse
XDA Forum Rules #13
Advertising and Income Generation
Commercial advertising, advertising referral links, pay per click links and other income generating methods are forbidden. Do not use xda-developers as a means to make money.
Don't post your link to redirect a pay-per-click (e.g adfly, etc) website
Click to expand...
Click to collapse
Link to the XDA Forum Rules
Click to expand...
Click to collapse
5.) The original author declined my permission to use his work or he is not responding, What shall i do?
If in case the author has declined to provide permissions to secure usage of his work. then you are unable to publish it in XDA, you are however free to use it for your own device without sharing the source.
If in case author was unable to respond, PM the moderator to settle this issue and wait for a "GO" signal to publish your work.
Click to expand...
Click to collapse
6.) A person accused me of stealing his work, What should I do to defend myself?
PM the accusor to disscuss with him the matter at hand, however if you are unable to negotiate a concensus with the accusor, then PM a moderator to settle your disputes DON'T FIGHT WITHIN THE DEVELOPMENT THREAD, and wait for the moderators to finish their investigation and undergo a conclusion on the matter
Click to expand...
Click to collapse
7.) Does #4 apply to porting roms, apps, from another device?
YES.
Click to expand...
Click to collapse
reserved for FAQ's and appendixes
reserved for samples and others
last for legal notices and changelogs
This might get useful cause im gonna publish a rom
Cheers :beer::beer:
CodE AND CONDUCT OF DEV
Great Info = Should Be a Sticky !
This is Great Stuff and Should Be a Sticky...:highfive:
...Req from the Moderators......
Not sticky should be pinned!
Nice job!
Sent from my GT-S5360 using xda app-developers app
Stickied
Personally, I've decided to sticky this. It has a decent amount of valuable information and this thread makes it a lot more easily accessible and in one place for potential developers to be made aware of.
Great, informative thread.
Great Job @deathnotice01 :thumbsup:
I Guess Cm7 doesn't needs permissions, it's also open source, we need to provide the credits properly..
That's what I have seen so far..
kaustubh.rockstar said:
I Guess Cm7 doesn't needs permissions, it's also open source, we need to provide the credits properly..
That's what I have seen so far..
Click to expand...
Click to collapse
depends,
if it is originally compiled from source then you need to indicate the sources and publish them in pursuant to GPL sect. 5-6,
if work is a port then credits should be properly given also the permission from original dev
deathnotice01 said:
depends,
if it is originally compiled from source then you need to indicate the sources and publish them in pursuant to GPL sect. 5-6,
if work is a port then credits should be properly given also the permission from original dev
Click to expand...
Click to collapse
okay Ariel Bro!
Related
News from the Portal of XDA.
http://www.xda-developers.com/annou...addition-to-sharing-policy-on-xda-developers/
Posted August 22, 2012 at 6:00 pm by egzthunder1
We are going to deviate a bit from our regularly scheduled programming to let you know about an upcoming change in the rules in the XDA forums. As time has gone by, our site has grown by leaps and bounds from what it was a couple of years ago. With a membership base of over 4.5 million registered users and an average of 35-40 thousand people active at any given time, we need to ensure that this place can offer the best possible environment for all people, both experienced developers and people who come here looking to learn about mobile devices. Because of this reason, the rules of our site need to be amended from time to time to accommodate the needs and wants of such a large user base, but without losing our principles and forgetting what XDA was founded on in the first place.
Just a bit of background: XDA was a website founded by hackers and developers for hackers and developers. People coming here shared one common goal, which was to get more and more out of their expensive toys and they did so by reverse engineering, creating new code to expand the device’s capabilities, and doing things with hardware that most people cannot do (mainly due to lack of knowledge or technical ability). The site prospered to what it is today because these very same people knew that their collective ideas and efforts would yield more results if they collaborated by sharing what they knew with others. More often than not, this resulted in fantastic feats such as the original XDA online kitchen, the very first port of WM5 to the mythical HTC Blue Angel, and many more accomplishments that are stored in the depths of XDA’s forums.
XDA-Developers has always been a place for sharing knowledge. People spend countless hours on their projects and give back to the community in several different forms, either by releasing the complete work to the community, or by sharing its source and methods by which the work was conceived. The latter allows others to pick up the work and tweak it to improve it (think of the Linux kernel for this to make sense). XDA’s own foundation is much like that as well. However, often times, this concept of the sharing of knowledge gets confused with the concept of sharing everything. If you frequent our site, you will have undoubtedly come across a few threads were discussions about sharing are on going. Essentially, some people demand for work to be released or even think that they can take as they please without following rules already present on our site. Likewise, people sharing their work sometimes have rather bizarre ways of doing so, which has a bad tendency to develop in what we like to call “dev wars”.
We (administrators and moderators of this site) truly believe that intellectual property (IP) is a very important part of what is done on xda-developers. As such, we cannot and will not support any kind of action which forces a developer to share their work with others if the developer does not wish to do so. A developer of anything has rights over their work and as such he/she can choose to do with it as he/she pleases (give it away, share the source, burn it, give it to an orphanage, or eat it for breakfast). We support whatever decision is taken by its developer. Having said that, over the years people have found what can only be categorized as a loophole in our current sharing policy, and thus people are forced to do things in exchange for permissions to use certain pieces of work by others.
After a long deliberation with the entire moderator and administrator staff, we are implementing the following addition to our sharing rule (Rule 12) – revisions are in bold:
12. Using the work of others.
If you are developing something that is based on the work of another Member, you MUST first seek their permission, and you must give credit to the member whose work you used. If a dispute occurs about who developed / created a piece of work, first try to settle the matter by private message and NOT in open forum. If this fails then you may contact a moderator with clear evidence that the work was created by you.
Convincing evidence will result in copied work being removed. If there is no clear evidence you created the work then in the spirit of sharing all work will remain posted on the forums.
As an addition, developers have the right to hold exclusivity over their work for as long as it is deemed necessary by the dev or freely share it. However, if the work is claimed as exclusive, it must remain as such. No selective sharing will be allowed (ie allowing certain people to use it and not others). Should the dev decide to start sharing the work with others, the work automatically becomes fair game for all to use.
In regards to permissions, same rules remain for this but if permission was already given, unless there is a very valid reason, it cannot be revoked (same applies to major updates on the work). Under that same premise, permissions cannot be denied unless the work is exclusive or under severe circumstances.
In plain English: If you want to keep your work exclusive, go for it. However, if you are going to share your work, do it fairly.
These rules apply to all software posted on XDA (including but not limited to ROMs, RUUs, apps, games, kernels, themes, icons, etc) unless that software comes with a license that waives these rules.
The problem with the aforementioned permissions is that the rule never really stated anything regarding continuity or longevity of said permission. On top of that, selective sharing creates a massive problem on our site as it tends to give place to kanging (unauthorized copying and/or redistribution of work), fights between devs (so called “dev wars”), and tons of time wasted on investigations, which normally involves a large number of people from our staff. This needed to stop as it was reaching critical mass and high levels of anxiety were generated for no apparent reason on something that should be a hobby.
So, if you are a developer on this site and would like to keep your work as something exclusive, we encourage you to do it. If you would like to freely give it out so that others can use it and make it better, we encourage you to do it as well. However, we will no longer accept claims from anyone who picks and chooses who gets what. As stated in the rule, you either share or keep, but if you do share, do it fairly. Favoritism has created a great divide in our site and our community and it is only hurting development as a whole. People focus more on pointing fingers than they do on trying to create original work.
Permissions should still be sought as a matter of common courtesy, much like the original rule stipulated. However, unless a valid reason is provided, a simple “no, you cannot have it” will not suffice, especially if the work is being shared with others and permissions are denied out of spite.
Lets all work towards a new, rejuvenated XDA that is based on the core principles placed by the site’s founding fathers. Sharing of knowledge is what brought many of us together on this site and we should strive as a community to keep it that way. Please share your thoughts on this.
Thank you for reading.
Sincerely,
XDA-Developers Administration Team
You've made the decision to release your code as "open source". Ok, what does that mean, what is an open source license, and how do you pick the right one? This question comes up all the time so I thought I'd write up a simple decision tree to try to explain the choices.Many people use GPL without realizing the implications or understanding the other options. This isn't legal advice, and I'm not a lawyer, and I'm probably over-simplifying some of the points, but I hope you find it helpful.
First of all, if you write some code, it's your code and you get to decide how other people can use it. Period. Nobody but you can say how your code can be used, either by putting restrictions on it or taking them off, without your permission. That's a very important point to keep in mind while reading this article.
The second point to keep in mind is that nobody but you can even use your code unless you explicitly give them permission. Another way of saying this is that all source code is closed and proprietary and off limits until you, the author, open it.
Note: The text of all the licenses mentioned here can be found at opensource.org.
Decision 1: Do you want to relinquish any control over how your code is used and distributed?
If yes, then don't copyright it, and don't license it. Put it in the public domain, and you're done. This is a good choice for examples, templates, and other illustrative code where the whole point is that you want everybody to feel free to use what you've written. [Alert readers pointed out that "public domain" is is not a good choice because in many jurisdictions you can't give up your copyright. Use a liberal license like MIT/BSD instead. -22jun/ebb] Example: code listings in a book or article.
If no, then Copyright the code (paste copyright notices all over it) and continue with decision 2.
Hint: Just to make sure your intent is clear, either put in explicit copyright notices, or put in explicit notices that the code is in the public domain. Copyright is how you retain control. Without a copyright, there is no control. [Technically the notices might not be necessary but they don't hurt and are still recommended. -22jun/ebb]
Decision 2: Do you want to allow people to use your code in non open-source programs?
If yes, then continue to decision 3.
If no, then release your code under the GPL, a restrictive "free (libre) software" license that actively promotes user choice at the expense of direct commercial interests. For the most part, GPL'd code can only be used with other GPL'd code, and in fact if you start using [and distributing -22jun/ebb] some GPL code in a program you wrote then you either have to release your program under GPL as well or quit using that code. This is why GPL is sometimes described as "viral". Examples: Emacs, Linux kernel.
Hint: Don't take this choice unless you really mean it. Many people use GPL without realizing the implications or understanding the other options, and thus lock the code away from a whole segment of potential users, so please read the rest of the choices first.
Decision 3: If somebody uses your code in their program and sells their program for money, do you want some of that money?
If yes, then you have two choices. The first choice (3a) is not to release it as open source at all, i.e., use closed source and you're done. This would preclude anyone from using your code in free (no cost) packages. And it would only allow people to use your code in commercial programs if they came to your first and worked out a deal for a commercial license. Note that even if the source is "closed" you can give permission if you like for certain people to have access to the source and use it in limited ways. Example: Microsoft Windows, Sun Java (sort of).
The second choice (3b) is dual license. I'll talk about licenses more in a moment, but dual license just means you give permission for people to use your code under two or more licenses. You pick one license (probably GPL) for free (no cost) programs, and one for commercial ($$$) programs. This is a good choice if you're trying to make a living off licensing fees for the code itself. Examples: MySQL, JBoss, SleepyCat. Continue to decision 4.
If no, then give permission for others to use your code under one or more "commercial friendly" licenses. This is a good choice if you want your code to get into as many hands as possible and either you don't care about the money or you plan to make money in other ways, for example by selling your own programs that use the code or from consulting or support. Examples: Apache HTTPD, Eclipse, Firefox. Continue to decision 4.
Decision 4: If somebody uses [and distributes -22jun/ebb] your code and improves it (fixes bugs or adds features) do you want to make them give you the improvements back so you can use them too?
If yes, then use a "reciprocal" license. Any modifications to your code need to be made available under the same licensing terms as your original code. This is useful if you're worried somebody will take your code and go off on their own private "fork". Examples: Eclipse (EPL), Solaris (CDDL), and Firefox (MPL). Done.
If no, then use a non-reciprocal license. Often times the people using your code will send back improvements anyway, especially if you have a history of frequent releases and they get tired of having to re-merge in their changes every time. This is the most wide open type of license so it will get you the most exposure and users, but it can also relegate the original writer(s) to the sidelines. Example: FreeBSD (BSD). Done.
In a follow-up article I'll explain how the most commonly used open source licenses fall in the categories like "commercial friendly" and "reciprocal", and address any concerns raised by commenters. So whether you agree or disagree with my points above please give me some feedback in the talkback section.
Hey everyone! There is also a telegram channel where you can drop in for some help: https://t.me/joinchat/HR_8JgyDBdw_DvmndPl0kg
I really hope that you have enjoyed the series, and that it was helpful to you in your Android career!
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Praise God! Finally a video tutorial of how to build Android and modify kernels!I have created a video tutorial and guide for how to compile Android, TWRP, alternative recoveries, and MORE! From Lollipop through Marshmallow, Nougat, Oreo, and now Pie! The video series covers several different phones, from Motorola's to LG's, the emulator, kernel and rom editing, app source code editing, smartwatches and much more! Not only do we cover how to compile from source code, you get to see it in action, as well as learning how to upgrade a device from one version to another, building device trees from scratch, and using GitHub and GitLab!
Who is this video series for?
Well, this video tutorial is a step by step guide built primarily for the beginner to intermediate builder. This is written for those who already know how to flash TWRP, CWM, or the like, and who have installed a custom rom before. This is designed to help those who are ready to move up from flashing and installing other peoples custom roms to actually start making their own custom roms. I recommend that a beginner watch the entire playlists in order (the videos are marked).
That said, I believe that an intermediate developer may find a useful trick here and there, and they should just skip ahead to videos of interest. Perhaps kernel development, or something along those lines.
An advanced rom or kernel developer will probably far exceed my feeble abilities, and will not likely find much useful information here. Perhaps if you are an advanced developer, you would consider continuing the tutorial or making an advanced video series! (See further posts for recommendations on contributing videos.)
Why did you put this together?
Well, after building roms for several different devices, I started receiving requests from users who wanted to start building their own roms, but didn't know where to start. I didn't have enough time to answer everyone's questions, so I wrote a few guides and pointed others to guides that were already available, but there are some things that you just need to see to understand. Hence, the video tutorial. I just hope that someone finds it useful.
This course was written in order! While Lollipop and Marshmallow are old by todays standards, there is still good learning value in building them, and there are topics covered there that really make them worth watching.
What's in the videos?
During the series, we will be building for the emulator, as well as over 5 different phones of various brands, and over 5 different roms. I hope that this will give the viewer a good idea of how to build for your own specific phone as you see the differences and similarities across the phones and custom roms.
Code:
+ Ubuntu installation
+ Java installations
+ Using Git, GitHub, GitKraken, and the command line
+ Fastboot and ADB
+ Heimdall/Odin
+ QFIL, QPST, SALT, and other tools
+ AOSP, OmniRom, LineageOS, SlimRoms, PACrom, AOKP, AOSCP
+ Lollipop, Marshmallow, Nougat, Oreo, Pie
+ TWRP with OMNI or LineageOS
+ TWRP alternatives like Orange Fox and Red Wolf
+ Errors
+ Overclocking CPU/GPU
+ Adding Governors and I/O Schedulers
+ Sound modifications
+ Changing app colors, text, and icons
+ Adding prebuilt apps
+ Adding source code
+ Converting device from one rom to another
+ Upgrading from one version to another
+ Building device trees from scratch
+ Smart watches
+ Making apps
+ AND MORE!
**** This is an UNOFFICIAL TUTORIAL. Use at your own risk! ****
Now including more than 37 total hours in over 290 videos!
New HD videos are coming out just about every week day on YouTube, and posted to my GitLab as well! There are playlists for everything, so be sure to check them out!
Downloads!
My GitLab: https://gitlab.com/alaskalinuxuser
Youtube links:
My YouTube Channel: http://www.youtube.com/c/AlaskaLinuxUserAKLU
About the author:
I'm not a professional Android builder, nor am I considered an expert. However, I have built a lot of custom roms over the years for various Android phones. I'm really just a simple guy whose hobbies include the Bible, cell phones, Android, Linux, and electronics.
Below are a few of my previous and current Android projects.
Code:
Samsung Galaxy S4:
-AOKP 7.1.2
-SlimRoms 7.1.1
-Resurection Remix 7.1
-AOKP 6.0.1
-PacRom 6.0.1
-Resurection Remix 6.0.1
-SlimRoms 5.1.1
-AKLU kernels
for Lollipop, Marshmallow, and Nougat
Samsung Galaxy S5:
-AOKP 7.1.2
-AKLU kernel for Nougat
Samsung Galaxy Note Edge:
-AOKP 7.1.2
-SlimRoms 7.1.1
-AOKP 6.0.1
-PacRom 6.0.1
-SlimRoms 6.0.1
-DataZip for 6.0.1 bootloaders
-AKLU kernel
for Marshmallow and Nougat
LG G4:
-AOKP 7.1.2
-SlimRoms 7.1.1
-AKLU kernel for Nougat
-Assisted Suicide Squirrels with the AOSCP Oreo bringup
Open Source Apps: (All listed below are under the Apache 2.0 license)
-Critical Velocity - A side scrolling flappy bird space game.
-Kppd Control - An app to control the kppd daemon and kernels that enable it.
-S4 GPU Voltage Control - An app to adjust the voltage of the S4 GPU on the fly.
-Hourglass - A simple timer application.
-Just Notes - A simple note taking app.
-Just Craigslist - A simple Craigslist app.
-Ship Captain and Crew - A dice game.
I have also assisted with open source projects by submitting code to SatStat, Easer, SlimRoms 6.0.1 for the Samsung Galaxy J5, and others. I once even turned a Samsung Captivate Glide into a Debian Computer, as well as making numerous how-to guides for compiling ROMs and app creation on both XDA and my website.
Some of my non-Android projects include building a Bluetooth Autostart, creating several small C++ games with SFML, and working with Linux.
My Wordpress: https://thealaskalinuxuser.wordpress.com
My Website: https://thealaskalinuxuser.com
My device and kernel trees (older - GitHub) : https://github.com/alaskalinuxuser/
My device and kernel trees (newer - GitLab) : https://gitlab.com/alaskalinuxuser/
Created 2018-07-09
Last Updated 2019-03-18
Open Source License
Hey everyone, well, the video says it best, so here it is:
https://www.youtube.com/watch?v=fKSiVL7nIqM
Essentially, due to changes in my schedule and work, I'll be hanging up the gloves on the video tutorial series.
Feel free to watch through any of these videos though, as there is still a lot of material. This thread will also stay open for people to ask questions and discuss the videos, however, my involvement in answering those questions is going to come to an end.
I really hope that you have enjoyed the series, and that it was helpful to you in your Android career!
Click to expand...
Click to collapse
This project is licensed under the Creative Commons Attribution 4.0.
https://creativecommons.org/licenses/by/4.0/
I'm big into sharing! That means that this video tutorial is open source! Here's the official license if you need it:
Code:
Attribution 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are
granted the Licensed Rights in consideration of Your acceptance of
these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
d. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
g. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
i. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.
Hey everyone, well, the video says it best, so here it is:
https://www.youtube.com/watch?v=fKSiVL7nIqM
Essentially, due to changes in my schedule and work, I'll be hanging up the gloves on the video tutorial series.
Feel free to watch through any of these videos though, as there is still a lot of material. This thread will also stay open for people to ask questions and discuss the videos, however, my involvement in answering those questions is going to come to an end.
I really hope that you have enjoyed the series, and that it was helpful to you in your Android career!
Click to expand...
Click to collapse
Notes:
Recording Quality
Just a quick note about the recording quality. There are two main video threads, the HD videos, and the non-HD videos.
For the HD videos:
New videos out in HD! I'm working on ways to improve the audio/video quality, but these videos are now released in 720p or 1080p quality depending which computer I use at the time. Be sure to check out these higher quality videos, and I am slowly remaking the older non-HD videos in HD as well (time and resources permitting).
For the non-HD videos:
I apologize that it is rather low. Several of the recordings were done over Xvnc, so there is sometimes lag in the video. Also, I have really slow speed and limited data internet (internet is expensive here), so I turned down the recording quality a bit so I could record the several hours of video. That said, the original recordings were done in ogg vorbis, then converted to mp4, and those were uploaded to Youtube. So there is a little bit of loss along the way, but even the ogg vobis recordings were not the highest quality. Do keep in mind that the Youtube quality is lower than the downloaded quality.
Have suggestions or video tutorial requests?
I can't promise that I will be able to add those videos (for instance, I don't own every phone on the planet, so I can't do a video for "how to build for xx phone", but if you have a generic suggestion that would benefit everyone, please post a comment, or consider uploading a tutorial video yourself.
Considering contributing to the video series?
The GitLab links are available, and the project is licensed under Creative Commons Attribution 4.0, so you are welcome to fork the repository and add more videos, as well as use pull requests! Be sure in your video to add your name (real or xda) so I can give you credit, and others know that you created the video (it will show on GitLab as well). I do ask that you restrain any use of profanity, as that will help create a more professional video that will not be offensive to listeners.
Also, if you would like to make a translation, that would be great! Perhaps we could create another branch for each translation, or another repository or folder to hold them.
If you have more questions about contributing videos, please send me a PM on XDA, or contact me through my website or on GitLab. Thanks!
Have questions about building roms or kernels?
While I would absolutely love to help everybody, I have 3 kids under 5 years old, a job, and all of those time taking life events that come with a family and work. You are welcome to post questions here, but I can't promise that I'll have time or be able to answer all of them, But I'll do my best. Perhaps other users will be able to assist you as well. If you have a specific question, and don't hear back from me, you may want to start a thread in the Q&A section of the forums. Remember to be as detailed as possible, and include logs!
I really want to help you get started building. That said, I am not able to answer every question that possibly exists. I just am not that smart.
However, this is a great place to ask questions! Another great place to ask questions is in the Q&A section for your device, if it is device specific.
But I do have one request: Please don't PM me your questions. Please post your questions here instead, so I can answer one question for the group, rather than one on one questions. I want to help, but I don't have time to answer the volume of questions I am getting in my PM box. Please post you questions here in the thread.
Thanks.
Good Job
Enviado desde mi MI MAX 2 mediante Tapatalk
Feligres said:
Thanks.
Good Job
Enviado desde mi MI MAX 2 mediante Tapatalk
Click to expand...
Click to collapse
Thanks! I'm glad you like it!
This is really useful.....
@AlaskaLinuxUser The narration is too quiet in your videos
A huge round of applause for your hardwork
Thanks for being so kind enough to share your wealthy knowledge in Android development. Not everyone can do such a painful job for others and I really appreciate your work and dedication.
Once more thanks a lot for this wonderful guide!:good:
Wow.
Let me know if have any solution to break the restrictions of google to /proc/ in N and O to see individual process or I will need use MM.
This is amazing! Thanks for this!
Go this via xda labs! Haven't check these out, But the effort itself worth Appreciating?
Thanks a Lot!!!
Thank you for this! I am pretty much a beginer, I'd say a high level beginner, Lil. I have been through rooting 3 Samsungs , 2 HTC, and 1 LG phone. I used to think they would be the same because its Android:laugh: I am at the point where I know how to do a few tricks but want to know why and how they work. I will be watching these all this week.
Thank you again! Maybe one day I will be posting my own work. If that day were to ever came of course it would always be free.
Watching
This is awesome. Well definitely try this out...:good:
Good job .
I've been waiting for this for ages! Thanks! I actually stopped any development I was doing because I couldn't figure stuff out.
This is honestly fascinating and the way you organized the repository is even greater.
Additionally, thanks for licensing your material under CC 3.0!
thanks,make one on paranoid android as its difficult to build than others
شكرا جزيلا لك!
Thanks!
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hey everyone! There is also a telegram channel where you can drop in for some help: https://t.me/joinchat/HR_8JgyDBdw_DvmndPl0kg
I really hope that you have enjoyed the series, and that it is helpful to you in your Android career!
Click to expand...
Click to collapse
Praise God! Another video series featuring more advanced material!Previously, I had created a video tutorial and guide for how to compile Android, from Lollipop through Marshmallow, Nougat, and Oreo. If you need help learning the basics or intermediate material, please see my other video tutorial thread on XDA: https://forum.xda-developers.com/android/general/guide-how-to-build-custom-roms-kernel-t3814251
Who is this video series for?
Well, this video tutorial is a guide built primarily for the intermediate Android developer. This is written for those who already know how to compile custom roms for a phone that they own using device trees and vendor files that are already available. Things like using git, GitHub, GitLab, ADB, fastboot, and repo sync should already be something familiar to them.
That said, I believe that an intermediate developer will find this set of videos to be most helpful. The goal of this video series is to push the intermediate developer up to a rudimentary advanced level.
Advanced developer?
An advanced rom/kernel developer will probably far exceed my feeble abilities, and will not likely find much useful information here. Perhaps if you are an advanced developer, you would consider making another tutorial or adding to this advanced video series! (See further posts for recommendations on contributing videos.) Please! I'd really like to add links to your youtube channel, or your git repository full of advanced topics for developers! Help up the quality of devices and builds of Android by showing others what you know how to do best!
Why did you put this together?
Well, after releasing the previous tutorial, explaining to beginners how to use things like git, repo sync, compile roms, and do small kernel modification, it was brought to my attention that a more advanced course was needed for intermediate users who already know how to build roms, but may (like myself) struggle with more complicated tasks. I don't know how to do everything, and we all have to take the next step sometime, so why not take that next step together?
Why a separate thread?
I'd like to separate the more advanced questions from the more basic questions that may be asked in the other thread.
What's in the videos?
During the series, we will be attempting several more advanced tasks. At present, there is not a lot in the series, but below are some of the highlights from what is available.
**** This is an UNOFFICIAL TUTORIAL. Use at your own risk! ****
Now including more than 5 hours of video!
Section A: Building a device tree from scratch:
+ Research
+ Finding similar devices
+ Pulling vendor files
+ Setting up a device tree
+ Getting block device information
+ Pulling kernel information
+ Breaking down boot images
+ Build errors
+ Target Assets
+ Tombstones AND MORE!
Download links: The video quality is now HD!
MP4 Video GitLab:
https://gitlab.com/alaskalinuxuser/advanced_course_android_developer_guide_mp4
Clicking on a video in GitLab will allow you to watch it online.
MP4 Video Downloads:
https://gitlab.com/alaskalinuxuser/...course_android_developer_guide_mp4-master.zip
This download is rather large due to the multiple videos.
Youtube links: The Youtube quality is now HD!
https://www.youtube.com/watch?v=5c66tBsiVVM&list=PLRJ9-cX1yE1nnhWBrZtuVz5YC2OPfQVVp
Section B: Upgrading a device from Marshmallow to Nougat: (Work in progress)
+ Research
+ Finding similar devices
+ Comparing changes
+ Editing a device tree
+ Build errors
+ AND MORE!
Download links: The video quality is now HD!
MP4 Video GitLab:
https://gitlab.com/alaskalinuxuser/HD_Android_Compile_Upgrade_MN_Videos
Clicking on a video in GitLab will allow you to watch it online.
MP4 Video Downloads:
https://gitlab.com/alaskalinuxuser/..._Android_Compile_Upgrade_MN_Videos-master.zip
This download is rather large due to the multiple videos.
Youtube links: The Youtube quality is now HD!
https://www.youtube.com/playlist?list=PLRJ9-cX1yE1lm9qFpVkOBO1oFJVFFK-fk
Section C: Creating your very own custom rom! (Work in progress)
+ Research
+ Forking a base rom
+ Adding to the manifest
+ Editing which apps are built
+ Editing settings/files/display
+ AND MORE!
Download links: The video quality is now HD!
MP4 Video GitLab:
https://gitlab.com/alaskalinuxuser/hd_makinganewcustomrom
Clicking on a video in GitLab will allow you to watch it online.
MP4 Video Downloads:
https://gitlab.com/alaskalinuxuser/...hive/master/hd_makinganewcustomrom-master.zip
This download is rather large due to the multiple videos.
Youtube links: The Youtube quality is now HD!
https://www.youtube.com/playlist?list=PLRJ9-cX1yE1nTAc0uM17HL9KuN__GDexh
My Wordpress: https://thealaskalinuxuser.wordpress.com
My Website: https://thealaskalinuxuser.com
My device and kernel trees (older - GitHub) : https://github.com/alaskalinuxuser/
My device and kernel trees (newer - GitLab) : https://gitlab.com/alaskalinuxuser/
Created 2018-08-01
Last Updated 2018-09-28
This project is licensed under the Creative Commons Attribution 4.0.
https://creativecommons.org/licenses/by/4.0/
I'm big into sharing! That means that this video tutorial is open source! Here's the official license if you need it:
Code:
Attribution 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are
granted the Licensed Rights in consideration of Your acceptance of
these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
d. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
g. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
i. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public
licenses. Notwithstanding, Creative Commons may elect to apply one of
its public licenses to material it publishes and in those instances
will be considered the “Licensor.” The text of the Creative Commons
public licenses is dedicated to the public domain under the CC0 Public
Domain Dedication. Except for the limited purpose of indicating that
material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the
public licenses.
Creative Commons may be contacted at creativecommons.org.
Notes:
Have questions about building roms or kernels?
While I would absolutely love to help everybody, I have 3 kids under 5 years old, a job, and all of those time taking life events that come with a family and work. You are welcome to post questions here, but I can't promise that I'll have time or be able to answer all of them, But I'll do my best. But perhaps other users will be able to assist you as well. If you have a specific question, and don't hear back from me, you may want to start a thread in the Q&A section of the forums. Remember to be as detailed as possible, and include logs!
I really want to help you get started building. That said, I am not able to answer every question that possibly exists. I just am not that smart.
However, this is a great place to ask questions! Another great place to ask questions is in the Q&A section for your device, if it is device specific.
But I do have one request: Please don't PM me your questions. Please post your questions here instead, so I can answer one question for the group, rather than one on one questions. I want to help, but I don't have time to answer the volume of questions I am getting in my PM box. Please post you questions here in the thread.
Thanks a lot
OfficialNLS said:
Thanks a lot
Click to expand...
Click to collapse
You are welcome! By the way, more videos coming soon! The device booted up!
Just uploaded a few more videos. Now there is over 5 hours of video for building a device tree from scratch, and it even boots up completely! YouTube and the MP4 repository are up to date, the Ogg Vorbis videos are uploading now!
AlaskaLinuxUser said:
Just uploaded a few more videos. Now there is over 5 hours of video for building a device tree from scratch, and it even boots up completely! YouTube and the MP4 repository are up to date, the Ogg Vorbis videos are uploading now!
Click to expand...
Click to collapse
Thanks a lot sir
Running `./unpack-bootimg.pl ./boot.img` says "Found a secondary file after the ramdisk image. According to the spec (mkbootimg.h) this file can exist, but this script is not designed to deal with this scenario."
How do I fix this? I have extracted the boot.img from watching the video and tried SuperR's Kitchen [Donated] and just extracted from the ROM. Please help!
thanks
Your topic is very great and useful for us…thank you
Editing BoardConfig.mk
Hi, I followed your video steps and used tool unmkbootimg, but I found out my kernel base is larger than the kernel address. In this case what can my kernel offset be? Do I still put these values in?
unmkbootimg version 1.2 - Mikael Q Kuisma <[email protected]>
Kernel size 9018600
Kernel address 0x80008000
Ramdisk size 1771148
Ramdisk address 0x82000000
Secondary size 0
Secondary address 0x80f00000
Kernel tags address 0x81e00000
Flash page size 2048
Board name is ""
Command line "console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci"
*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0xFE208100
OFF_RAMDISK_ADDR is 0x00200100
OFF_SECOND_ADDR is 0xFF100100
Please modify mkbootimg.c using the above values to build your image.
****************
Extracting kernel to file zImage ...
Extracting root filesystem to file initramfs.cpio.gz ...
All done.
---------------
To recompile this image, use:
mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x81dfff00 --cmdline 'console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci' -o new_boot.img
Oh just what I was looking for. My phone's manufacturer warranty will run out in a couple of months. Will give me enough time to look up stuff till then.
Jiiro said:
Running `./unpack-bootimg.pl ./boot.img` says "Found a secondary file after the ramdisk image. According to the spec (mkbootimg.h) this file can exist, but this script is not designed to deal with this scenario."
How do I fix this? I have extracted the boot.img from watching the video and tried SuperR's Kitchen [Donated] and just extracted from the ROM. Please help!
Click to expand...
Click to collapse
Great question, I'll be honest, that is the first I heard of it. It seems as though it is pulling the boot image apart, it found more than one ramdisk image and doesn't know what to do with it. Did you try with the other tool, umakebootimage? http://www.mediafire.com/download/xdmd278n17gm58h/unmkbootimg and http://www.mediafire.com/download/7cmi548pzetc6c4/mkbootimg
Perhaps that will yield something fruitful. What device/model/kernel is it?
alicetaylor said:
Your topic is very great and useful for us…thank you
Click to expand...
Click to collapse
You are welcome!
JW19 said:
Hi, I followed your video steps and used tool unmkbootimg, but I found out my kernel base is larger than the kernel address. In this case what can my kernel offset be? Do I still put these values in?
unmkbootimg version 1.2 - Mikael Q Kuisma <[email protected]>
Kernel size 9018600
Kernel address 0x80008000
Ramdisk size 1771148
Ramdisk address 0x82000000
Secondary size 0
Secondary address 0x80f00000
Kernel tags address 0x81e00000
Flash page size 2048
Board name is ""
Command line "console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci"
*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0xFE208100
OFF_RAMDISK_ADDR is 0x00200100
OFF_SECOND_ADDR is 0xFF100100
Please modify mkbootimg.c using the above values to build your image.
****************
Extracting kernel to file zImage ...
Extracting root filesystem to file initramfs.cpio.gz ...
All done.
---------------
To recompile this image, use:
mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x81dfff00 --cmdline 'console=null androidboot.hardware=qcom user_debug=23 msm_rtb.filter=0x3F ehci-hcd.park=3 androidboot.bootdevice=7824900.sdhci' -o new_boot.img
Click to expand...
Click to collapse
Notice this warning:
*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0xFE208100
OFF_RAMDISK_ADDR is 0x00200100
OFF_SECOND_ADDR is 0xFF100100
Please modify mkbootimg.c using the above values to build your image.
It is saying you should get the source code for mkbootimg and modify that source code with these lines, then build the mkbootimg tool and use that to put your kernel back together. So you can't use the mkbootimg that I supply for that purpose, you have to build a special one just for your phone. This is abnormal, but does happen.
yanksrules65 said:
Oh just what I was looking for. My phone's manufacturer warranty will run out in a couple of months. Will give me enough time to look up stuff till then.
Click to expand...
Click to collapse
Great! Glad you are enjoying the videos!
@AlaskaLinuxUser Hi, I'll check those out.
Also, I have a question about using sources from GitHub, GitLab, etc.
Can you someday make a tutorial on how to make local_manifest.xml and roomservice.xml? Thanks!!! I'm really confused on how to do so.
Jiiro said:
@AlaskaLinuxUser Hi, I'll check those out.
Also, I have a question about using sources from GitHub, GitLab, etc.
Can you someday make a tutorial on how to make local_manifest.xml and roomservice.xml? Thanks!!! I'm really confused on how to do so.
Click to expand...
Click to collapse
You bet! Actually, I already did make a video for that. In the first post, there is a link to the basics video series, which has videos about doing just that. So be sure to check those out! :good:
@AlaskaLinuxUser
I'm really confused on Video Number 9, for some reason, the boot.img doesn't want to cooperate with me for extracting information. I have a Samsung Galaxy J7 (Samsung Exynos 7580). Some of the stuff you got from the kernel in the previous videos can't be retrieved.
Jiiro said:
@AlaskaLinuxUser
I'm really confused on Video Number 9, for some reason, the boot.img doesn't want to cooperate with me for extracting information. I have a Samsung Galaxy J7 (Samsung Exynos 7580). Some of the stuff you got from the kernel in the previous videos can't be retrieved.
Click to expand...
Click to collapse
You are correct, sometimes the kernel is set up in a way that hides a lot more information, it really depends on what options they used when compiling it. That is one of the hardest parts for the developer.
As for extracting the boot image, sometimes they use a custom version of mkbootimage to build the kernel which can make it difficult to extract. You might try downloading other versions of it by searching online to see if you can find one that works a little better.
Also, is your phones boot loader unlocked? Is your kernel signed?
Jiiro said:
@AlaskaLinuxUser
I'm really confused on Video Number 9, for some reason, the boot.img doesn't want to cooperate with me for extracting information. I have a Samsung Galaxy J7 (Samsung Exynos 7580). Some of the stuff you got from the kernel in the previous videos can't be retrieved.
Click to expand...
Click to collapse
Doesn't the J7 already have custom ROMs? Lineage OS, RR?
Just a quick note, I am currently working on a set of videos for upgrading your device tree for the next version of Android. For the target device, I am hoping to upgrade the BLOX2 that I used in the series for building a device tree from scratch. First up is upgrading it from Marshmallow to Nougat. Hopefully we will all learn a lot from this experience!
Another update!
I am only about 10% through the upgrade from Marshmallow to Nougat, but I've started putting up the videos. The OP has been updated with new links to GitLab and YouTube! I will probably be taking a short break from this as some changes at work will require me to do some job interviews, which take up some of my spare time, and may adjust my schedule a bit.
While these upgrade videos are not complete, I do think that they give a good general idea of what a person needs to do to upgrade their device from one version of Android to another. Keep in mind, this is a tedious and often advanced task! Not for the faint of heart!
Hi, I'm the guy who wrote in the comments of one of your video. I can't extract the kernel of my rockchip rk3126 device, so this can't let me take zImage (which I need to build cm12.1, rockchip kernel sources doesn't work, even if I'm using the same 3.10 version). I read in the rockchip wiki that they made kernel with their method (RKIMG), so while I try to extract boot.img or kernel.img with unmkbootimg it tells me that the file isn't an android boot image. Instead, while trying to extract recovery.img I got 3 files: kernel, ramdisk.cpio.gz and second_bootloader. So what can I do for extracting this?
The kernel https://github.com/rockchip-linux/kernel of branch release-3.10 (it is the same of stock ROM, just updated to a newer subversion) gave me this error while building cm12.1: https://hastebin.com/udivahidaq.rb
So, I was wondering if this would be of any help in attempting to get source for the xiaoxin pad pro 2021. I don't know enough about the specifics, but this is under settings>about tab>open source.
If this is not relevant to our kernel dilemma, feel free to delete this thread. I just saw it t on the tablet that Lenovo does everything in it's power to distance itself from, but right in the stock Zui 14 firmware this is there in black and white.
87 1:48
<Open source information
Your mobile device may include software made publicly available by Lenovo, including software licensed under the General Public License and/or the Lesser General Public License (the "opensource software").
You may obtain the corresponding machine-readable copy for any such open source software licensed under the General Public License and/or the Lesser General Public License (or any other license requiring us to make a written offer to provide corresponding source code to you) from Lenovo for a period of three years without charge except for the cost of media, shipping, and handling, upon written request to Lenovo. This offer is valid to anyone in receipt of this mobile device. You may send your request in writing to the address below accompanied by a check or money order for $5 to:
Lenovo Legal Department
Attn: Open Source Team / Source Code Requests 8001 Development Dr.
Morrisville, NC 27560
Please include "ZUI version of this mobile device as part of your request. Be sure to provide a return address.
The open source software is distributed in hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See for example the GNU General Public License and/or the Lesser General Public License for more information.
To view additional information regarding licenses, acknowledgments and required copyright notices for the open source software used in your Lenovo mobile device, go to "Open source licenses" and/or "Additional Open source licenses" within the "Settings" menu on your mobile device. This mobile device may include certain pre-installed application programs or pre-configured links for downloading application
programs published by parties other than Lenovo. Such third party application programs may include open source software made
publicly available by the respective publishers of those application programs. You may obtain the corresponding source code for
any such open source software directly from the publisher of the applicable application program, to the extent permitted under the
relevant open source software license agreement. Additional Information is provided by the publisher of each application program
within the menu structure of its application program.
Sadly, due to the nasty market and legal environment in China, some Chinese vendors consistently do not follow the GPL open source agreement.
Besides, they also have interface: TB-J716F is only for Chinese customers, It is only natural for Chinese manufactors ignore Chinese users.
I myself am Chinese and I have requested many times through internal channels, but no response of course.
That seemed to be my impression as well, but the fact they specifically call out Zui and it's a US address made me wonder.
prozack1983 said:
So, I was wondering if this would be of any help in attempting to get source for the xiaoxin pad pro 2021. I don't know enough about the specifics, but this is under settings>about tab>open source.
If this is not relevant to our kernel dilemma, feel free to delete this thread. I just saw it t on the tablet that Lenovo does everything in it's power to distance itself from, but right in the stock Zui 14 firmware this is there in black and white.
87 1:48
<Open source information
Your mobile device may include software made publicly available by Lenovo, including software licensed under the General Public License and/or the Lesser General Public License (the "opensource software").
You may obtain the corresponding machine-readable copy for any such open source software licensed under the General Public License and/or the Lesser General Public License (or any other license requiring us to make a written offer to provide corresponding source code to you) from Lenovo for a period of three years without charge except for the cost of media, shipping, and handling, upon written request to Lenovo. This offer is valid to anyone in receipt of this mobile device. You may send your request in writing to the address below accompanied by a check or money order for $5 to:
Lenovo Legal Department
Attn: Open Source Team / Source Code Requests 8001 Development Dr.
Morrisville, NC 27560
Please include "ZUI version of this mobile device as part of your request. Be sure to provide a return address.
The open source software is distributed in hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See for example the GNU General Public License and/or the Lesser General Public License for more information.
To view additional information regarding licenses, acknowledgments and required copyright notices for the open source software used in your Lenovo mobile device, go to "Open source licenses" and/or "Additional Open source licenses" within the "Settings" menu on your mobile device. This mobile device may include certain pre-installed application programs or pre-configured links for downloading application
programs published by parties other than Lenovo. Such third party application programs may include open source software made
publicly available by the respective publishers of those application programs. You may obtain the corresponding source code for
any such open source software directly from the publisher of the applicable application program, to the extent permitted under the
relevant open source software license agreement. Additional Information is provided by the publisher of each application program
within the menu structure of its application program.
Click to expand...
Click to collapse
The only way out...