How do you compile a ROM for a device (in this case the Tab S)?
Do Samsung provide a development kit to developers to allow you to build a ROM?
If yes, do Samsung update those kits, say with newer drivers for their hardware?
Samsung provide absolutely nothing for building roms. All that is accomplished with open source software.
Samsungs drivers are closed source.
Rom building is an involved process using different tools. Its not a simple case of just making a few clicks and there you go.
So in the process of building a newer/different kernel, how do you incorporate the Samsung drivers? Do you simply use the existing ones which Samsung has originally shipped? Something like using Windows 7 drivers in Windows 10?
Zilliman said:
So in the process of building a newer/different kernel, how do you incorporate the Samsung drivers? Do you simply use the existing ones which Samsung has originally shipped? Something like using Windows 7 drivers in Windows 10?
Click to expand...
Click to collapse
If we are talking about modules then they can built with the kernel, either built as part of the kernel or as stand alone loadable modules.
Anything proprietary will be closed source, I. E. the baseband.
I thought I had replied but I cannot see the reply. So again:
I had hoped that similar to Windows, one could download new/improved drivers for the hardware on the tablet, and update them as they come out. For example on my laptop I have been getting so many NVidia drivers it is like one new driver every few weeks.
Related
Could someone explain the difference between SDK ports and normal roms? I had never heard of a SDK port till a few days ago when ICS came out.
Thanks.
The Android SDK is the Software Development Kit.
Its what most people install to get adb drivers etc. It isnt really for that, its for software development (duh).
The development kit has an emulator so you can run your applications in an android like environment on a PC. So if you develop a gingerbread application, from the sdk you choose to test it in the gingerbread emulator on your pc. Obviously the SDK has been updated for the ICS ROM, so now people can test their apps on ICS.
Because it is an emulator it is generic (i.e not for any device) which means it has no hardware drivers, device specific... anything. Also it is optimised for the PC so it wont necessarily have touch screen. It often has a mouse pointer as most pcs are not touch screen
These early sdk ports usually wont work entirely on a device. When the source code comes out, it will be better.##
AOSP Roms are built from this source. The code is downloaded to an individuals Linux PC and compiled using specific build tools. Any additions to a rom will be done by adding the code to the (literally) thousands of source code files and compiling. This is a true rom.
We also have sense roms which are not compiled from source code. These are created from RUU's and usually extracted in the dsixda kitchen. As to how they port these to other devices, I cannot answer.
Hey all.
I recently compiled android 4.0.3 AOSP for galaxy nexus as was explained in the topic at general discussion.
after a few days of issues, all went fine and i got myself a zip ota package file.
Now, as a developer, i wish to change the rom and the kernel, and debug/emulate it.
trying to type "emulator" didn't help and it suggested i would type "vemulator"
I got and installed vemulator but it asked me for a bootable image. (which one?)
Is there any way i could do this properly?
about the kernel development, i read some info and i separately got the kernel through a git repo. its alright but then again - how can i emulate it?
I do not wishing to risk my device is such early stage.
thanks.
You could try the android sdk.
Sent from my Galaxy Nexus using xda premium
further details please?
Until now i only used android sdk on windows.. so i have no knowledge of this under ubuntu.
I dont understand what you mean by emulating the kernel. I dont think that is possible as the kernel is so tightly tied to the hardware that it has to be loaded to the phone for testing. At least thats how i tested kernels. I make code changes, compile, and flash to device. When the code didnt work i had to flash old kernel or restore nand backup, then try again with code fixes. Repeat hundreds of times. Thats how i did it.
RogerPodacter said:
I dont understand what you mean by emulating the kernel. I dont think that is possible as the kernel is so tightly tied to the hardware that it has to be loaded to the phone for testing. At least thats how i tested kernels. I make code changes, compile, and flash to device. When the code didnt work i had to flash old kernel or restore nand backup, then try again with code fixes. Repeat hundreds of times. Thats how i did it.
Click to expand...
Click to collapse
Understood, Thanks
Now, about emulating the rom.. i understand it IS possible. which steps do i have to take in order to do that after i compiled the source?
Dutchy18 said:
Understood, Thanks
Now, about emulating the rom.. i understand it IS possible. which steps do i have to take in order to do that after i compiled the source?
Click to expand...
Click to collapse
The sources are buildable for multiple devices. Once build for one device it only runs on that device. Building for Galaxy Nexus (maguro) means no emulation but only running on real hardware.
If you want to build an image for the emulator you need to build the emulator configuration (e.g. full-eng). That will only run on the emulator not on a google nexus.
See http://source.android.com/source/building.html for possible configurations and how to run the emulator.
I have built many linux boxes and have done some kernel development on the PC but I am quite new to linux on the embedded platform. I have an A100 and the built in apps that you cant remove are annoying as well as the fact their is no USB host mode even though the controller is capable and ready for it it seems Acer went out the their way to remove it so you where forced to choose the A500 for host mode.
I their any tutorials on how to build your own android distro and get it onto your device? Even if Its not for the A100 it would be a good learning experience to read through.
Are their any reasons their is not a vanilla ICS rom yet? I'm guessing its because Acer has their source locked up and we do not have compatible drivers yet?
Thanks!
uminded said:
I have built many linux boxes and have done some kernel development on the PC but I am quite new to linux on the embedded platform. I have an A100 and the built in apps that you cant remove are annoying as well as the fact their is no USB host mode even though the controller is capable and ready for it it seems Acer went out the their way to remove it so you where forced to choose the A500 for host mode.
I their any tutorials on how to build your own android distro and get it onto your device? Even if Its not for the A100 it would be a good learning experience to read through.
Are their any reasons their is not a vanilla ICS rom yet? I'm guessing its because Acer has their source locked up and we do not have compatible drivers yet?
Thanks!
Click to expand...
Click to collapse
I would suggest reading some of the links in my signature to become more familiar with the tablet itself as well as some more universal information in the Guide, the CM9 building writeup will also help you understand about building a ROM for this (or any) device. Acer released kernel source already, ezterry will be the one to talk to about kernels, as he does build kernels for the Ax00 series of devices, based on Acer source.
I believe what you are asking for is an AOSP ROM, which no, there isn't any. Closest is the CM9 builds, also available in my signature. AOSP (Android Open Source Project) is pure google android, nothing added. CM9 is generally AOSP, but there are changes. The Acer roms, aside from their added apps, is a mostly untouched android as well, it isn't themed or anything like that, just bloated with apps and low on other functionality compared to other company's ROMs.
To remove the apps you dislike, you will need to root the device. Then you can remove whatever you want and gain system r/w. A step further will be to unlock the bootloader and install a custom recovery which will allow access to more tools, and flashing custom ROMs such as CM9, or any of the Acer based ROMs, such as Green and Flex Reaper.
We don't have much development here, however the A500 has a ton of development, and may be worth your visit to gleam information as it is much more active, and your questions may already be answered, or answered more readily then here. Alot of the development we have here are by A500 owners, who don't own the A100 at all. Besides me, but I'm not a developer.
Welcome to the forum, and congratulations on the new A100! Make yourself at home and enjoy your time with your device.
pio_masaki said:
I would suggest reading some of the links in my signature to become more familiar with the tablet.
Click to expand...
Click to collapse
Wow your a one stop shop for the A100 world! My tablet is now rooted and I am looking into alternative firmwares but I do not see any with built in USB host yet. This would be a HUGE bonus to add for me as I use the tablet for work and all you can find are crappy micro bluetooth keyboards.
Thanks for the help!
uminded said:
Wow your a one stop shop for the A100 world! My tablet is now rooted and I am looking into alternative firmwares but I do not see any with built in USB host yet. This would be a HUGE bonus to add for me as I use the tablet for work and all you can find are crappy micro bluetooth keyboards.
Thanks for the help!
Click to expand...
Click to collapse
USB host is disabled hardware wise, so it will most likely never be available on the a100. Its available on the tegra2 soc but is likely just not hooked up. If it ever shows up it will be a hardware hack.
Tapatalked from my Galaxy S II - CM10
I've tried out almost every ROM I could find for the VZW Galaxy Nexus. They all have their own pros, but none of them were really perfect for me.
I already know Java, so I know that should help me a lot. But I do have some general questions.
My main questions is, do I compile from source? Or do I use something like JRO03L? What exactly is JRO03L? I noticed a lot of ROMs were based off either AOSP or JRO03L, or some other ROM.
When people say their ROM is based of AOSP, does that mean they edited the source code directly?
What about drivers and stuff? Do phones even have those? How do I get them for my phone?
What percentage of ROM editing is done through source code modifying and what percentage is through Cooking?
Sorry for all the questions, I'm just kinda confused.
jtvd78 said:
I've tried out almost every ROM I could find for the VZW Galaxy Nexus. They all have their own pros, but none of them were really perfect for me.
I already know Java, so I know that should help me a lot. But I do have some general questions.
My main questions is, do I compile from source? Or do I use something like JRO03L? What exactly is JRO03L? I noticed a lot of ROMs were based off either AOSP or JRO03L, or some other ROM.
When people say their ROM is based of AOSP, does that mean they edited the source code directly?
What about drivers and stuff? Do phones even have those? How do I get them for my phone?
What percentage of ROM editing is done through source code modifying and what percentage is through Cooking?
Sorry for all the questions, I'm just kinda confused.
Click to expand...
Click to collapse
compile from source needs linux (mac osx only builds master branch);
aosp = android open source project
JRO03L, JRO03R: release tags. they mark a certain landmark in android development, normally leads to/are (pratically) the same as ota's.
yes, aosp-based roms edit source then build. why would we cook when we can build? makes no sense on a aosp supported device like ours.
on linux, just install android-sdk (includes fastboot and adb) and add it to your $PATH, and create udev rules for android devices (most distros provide this as a package). no need for drivers on linux.
http://forum.xda-developers.com/showthread.php?t=1386615
http://source.android.com/source/initializing.html
sent from my i9250
bk201doesntexist said:
compile from source needs linux (mac osx only builds master branch);
aosp = android open source project
JRO03L, JRO03R: release tags. they mark a certain landmark in android development, normally leads to/are (pratically) the same as ota's.
yes, aosp-based roms edit source then build. why would we cook when we can build? makes no sense on a aosp supported device like ours.
on linux, just install android-sdk (includes fastboot and adb) and add it to your $PATH, and create udev rules for android devices (most distros provide this as a package). no need for drivers on linux.
http://forum.xda-developers.com/showthread.php?t=1386615
http://source.android.com/source/initializing.html
sent from my i9250
Click to expand...
Click to collapse
Thanks for the links
And when I mentioned drivers, I meant for the phone hardware. Like, does android just magically work on all phones? or do some phones need something extra to work with AOSP?
Now, after I set up Ubuntu with the guides above, are there any guides to the basics of source editing? Like what do I need to do to install busybox? root android? theme?
I googled on how android 'worked' , so i can get a better understanding on how it operates, but all the results were pretty vague.
jtvd78 said:
Thanks for the links
And when I mentioned drivers, I meant for the phone hardware. Like, does android just magically work on all phones? or do some phones need something extra to work with AOSP?
Now, after I set up Ubuntu with the guides above, are there any guides to the basics of source editing? Like what do I need to do to install busybox? root android? theme?
I googled on how android 'worked' , so i can get a better understanding on how it operates, but all the results were pretty vague.
Click to expand...
Click to collapse
you need to use the right words in google to find what you need. start here, look under getting started http://source.android.com/source/index.html
simms22 said:
you need to use the right words in google to find what you need. start here, look under getting started http://source.android.com/source/index.html
Click to expand...
Click to collapse
Part of the questions you're asking OP, can be solved with information available on that link simms22 and I posted.
jtvd78 said:
Thanks for the links
And when I mentioned drivers, I meant for the phone hardware. Like, does android just magically work on all phones? or do some phones need something extra to work with AOSP?
Click to expand...
Click to collapse
obviously not, that's why i said "aosp-supported devices". devices that aren't aosp supported, need the same things we need, except in their case there's the matter of proprietary frameworks and drivers (called binaries), which we have available almost from the start.
jtvd78 said:
Now, after I set up Ubuntu with the guides above, are there any guides to the basics of source editing? Like what do I need to do to install busybox? root android? theme?
Click to expand...
Click to collapse
sure, guides @github or at any other repo. there's no better guide than being able to read source code and how the masters do it.
jtvd78 said:
I googled on how android 'worked' , so i can get a better understanding on how it operates, but all the results were pretty vague.
Click to expand...
Click to collapse
@source.android.com.
tip: you'll need to learn how to git. there's plenty of tutorials around the web.
I got everything set up from google's directions, but when I attempt to build from the source, I dont have the option to select toro.
1. full-eng
2. full_x86-eng
3. vbox_x86-eng
4. full_grouper-userdebug
5. mini_armv7a_neon-userdebug
6. mini_armv7a-userdebug
7. full_wingray-userdebug
8. full_crespo-userdebug
9. full_maguro-userdebug
10. full_panda-userdebug
jtvd78 said:
I got everything set up from google's directions, but when I attempt to build from the source, I dont have the option to select toro.
1. full-eng
2. full_x86-eng
3. vbox_x86-eng
4. full_grouper-userdebug
5. mini_armv7a_neon-userdebug
6. mini_armv7a-userdebug
7. full_wingray-userdebug
8. full_crespo-userdebug
9. full_maguro-userdebug
10. full_panda-userdebug
Click to expand...
Click to collapse
instead, do:
Code:
. build/envsetup.sh && lunch full_toro-user && make -j4 otapackage
done.
Thanks! One more question... where exactly is the finished zip?
it tells you where it is when it finishes building..
out/target/device/samsung/toro/
sent from my i9250
So I'm back to Android after a few years, and I read that the stock ROM is now the most stable choice on most phones due to closed source proprietary drivers being used.
This sucks. Stock sucks. Are there any phones that are all open source drivers, so one can flash ROMs without immediately sacrificing stability no matter how well the ROM is designed?
http://en.wikipedia.org/wiki/List_of_open-source_mobile_phones ?
Alexandre-P said:
http://en.wikipedia.org/wiki/List_of_open-source_mobile_phones ?
Click to expand...
Click to collapse
Thanks I didn't see you had responded. It says in that article that android devices aren't included because of heavy use of proprietary drivers and applications so I'm guessing that an android phone shipping with open source drivers doesn't actually exist?
An Android phone that can only rely on open-source drivers? not that I know of. From what I've quickly read, the main obstacles to a full open-source Android phone are the radio and the graphic drivers, which are not opensorced and only available as binary blobs.
Alexandre-P said:
An Android phone that can only rely on open-source drivers? not that I know of. From what I've quickly read, the main obstacles to a full open-source Android phone are the radio and the graphic drivers, which are not opensorced and only available as binary blobs.
Click to expand...
Click to collapse
Yeah that's all I've seen too, was hoping there was a manufacturer making one somewhere that I hadn't found