Related
I have a Korean Tab 10.1 wifi (shw-m380w). It seems there is no development going on with this device on this side of the pond so I'm kind of on my own. There are no ROMs or updates at my disposal so I need to get the kernel off my device before I start flashing new ones onto it.
Here is what I've done and know ...
I've dumped the partitions mmcblk0p1-10. There's a system, cache, etc. which can be mounted via "mount -o loop PATH PATH" and obviously the kernel does not reside in any of those. The remaining partition dumps (mmcblk0p{2,3,6,7,9}) vary in size and I am guessing from past experience the kernel is between 6-8mb. These dumps do not mount as they are not "formatted" like system. cache, etc.
Can anyone suggest how to use the dumped data for getting a kernel that can used to extract initramfs and be flashed in the likely event my kernel does not work as expected? I have seen mention of using a hex editor to locate unique strings that match the kernel start and end points.
Currently the only other option is to wait for another update and extract the kernel from there, but I'd rather not wait and who knows if there will be a kernel in it.
No idea how to answer your question, but since you're Korean: there's a rumor that Korea got the android 3.2 update about 2 weeks ago. Can you confirm/deny? Here's the link:
http://blog.naver.com/PostView.nhn?...0126095295&viewDate=¤tPage=1&listtype=0
(BTW- I can't read it, so forgive me if it's totally wrong. Google translate seems to say that theres a 3.2 update, but maybe something is lost/wrong?)
I'm actually not Korean but don't fault me for that, just live here.
Yes, this model is on 3.2 and at the time I had no plans to work on a kernel, so, I didn't think to store a copy of the update. Kicking myself in the ass now for it.
View attachment 767848
Sent from my SHW-M380W using xda premium
!!! I don't know anything about it but is it possible to use Odin to put CWM on there, then flash an old ROM, then try updating again? I'm sure some of the Devs here would love a copy of the 3.2 update...
We have been discussing in another thread the possibility of getting a CM7 rom available for the NT.
Now that we have a functional recovery this should seriously help out with testing, if it goes wrong we can just restore to a working rom and start again debuging as we go.
***UPDATED 5TH Feb 2012***
I thought it was about time I updated this post with some up to date info on current state of development.
As many of you will know we got together last week and decided that we would like to build a CM7 rom for the Nook Tablet.
Goncezilla had already been making progress building firmware and a boot.img to get the thing booting up. Initially the system booted and you couldn't do a lot with it, but it prooved it could be done. Here's the vid showing the first boot:
After that it was down to work to make it useable. After a bit of investigation and a lot of man hours this is where we are at now
HARDWARE FUNCTIONS
Touchscreen FULLY WORKING
Orientation sensors FUNCTIONAL
Sound WORKING
SDCard WORKNING
WIFI Fully WORKING
Hardware video acceleration WORKING
SOFTWARE
Custom Kernel BUILT AND FUNCTIONING
Full tablet version on Cyanogen Mod WORKING
Root Access WORKING
Gapps WORKING
Sleep mode WORKING
Brightness control WORKING
BOOT FROM SD CARD SOLUTION AVAILABLE
and the one everyone seems to think is important
Angry Birds YES IT WORKS PERFECTLY lol
Another little video of current progress
Finally we have wifi working!
Sorry it's sideways, it's changing it now but it seems Google have slow computers!
So the main things we have left to fix are
1. Ermm... hmm... I'm sure we'll think of something
Thanks to Celtic for taking on the OP of this forum!
EDIT 2/5/2012Here are the source files used to create the first CM7 beta:
Internal
1. Kernel built from source - http://www.mediafire.com/?tu5lm7q8t5pbqpf
2. Nook Color CM7 Ramdisk (the one we want to modify) - http://www.mediafire.com/download.php?epv9n97evhnuaoi
3. Stock Nook Tablet Ramdisk (the one we need to borrow from) - http://www.mediafire.com/download.php?xms3aeztgupkjco
4. Buawk's Internal Boot.img 2ndboot (this gets appended to the front of a boot.img to get around the locked bootloader) - http://www.mediafire.com/download.php?9l8uxx7rhbqzund
5. Modified CM7 /system partition files (should be good to go for NT) - http://www.mediafire.com/download.php?il5ky2l51q48e8h
6. Modified Ramdisk - http://www.mediafire.com/download.php?9l8uxx7rhbqzund
7. Wifi Driver files (built from Kindle Fire source) - http://www.mediafire.com/?vogxuygrf84xsoe
8. Kernel Config File (settings used to build kernel above) - http://www.mediafire.com/?7vjvqctmlnd4enw
9. GFX Drivers (put in /system/lib/modules and insmod) - http://www.mediafire.com/?5uw4wgytb60n485
SDCard
1. SDRamdisk - http://www.mediafire.com/?4p3wq0u4p9j9mtd
All other files are same as internal.
EDIT 2/4/2012
My Plan for success:
1. Build a boot.img from CM7 NookColor Rom - Done!
3. Get a booting rom working from SDcard to verify steps 1 and 2 - Done! SDcard working great!
4. Port to internal boot partition (CWM) -Done!
5. Tweak to get everything working - Ongoing....
All other ideas welcome here!
I'll flash and test things for you all.
Sent from my Nexus S 4G using Tapatalk
LiuAnshan said:
I'll flash and test things for you all.
Sent from my Nexus S 4G using Tapatalk
Click to expand...
Click to collapse
Thanks
Just to let anybody interested know in advance, this may or may not turn into a working rom, even if it does become a fully functional rom please remember that during testing if your tablet does a nose dive and you can't recover for some obscure reason, we take no responsibility for any damage caused.
Other than that, as and when we have something testers will efinately be needed
Goncezilla said:
Reserved.
Ill post my current working files here soon. Thanks to Celtic!
My Plan for success:
1. Build a boot.img from CM7 NookColor Rom - Kernel built, working on ramdisk
2. Port /system partition -Mostly done but untested
3. Get a booting rom working from SDcard to verify steps 1 and 2
4. Port to internal boot partition (CWM) -2ndboot.img built and waiting
5. Tweak to get everything working
All other ideas welcome here!
Click to expand...
Click to collapse
So i'd thought id put in my two cents here...
First off, whom ever is testing this will want to have 2 sd cards, one of which is the update_acclaim boot disk, so they can "unbrick" their device. This device is nearly unbrickable, and whom ever ends up testing it, can make sure that they can always return it to stock.
Second off, I would HIGHLY recommend using the stock kernel, with the security keys stripped off. This would eliminate any problems that you would encounter with the kernel not causing a boot. I can get you guys a copy of the stock if you want, as it is easiest to just take the first 288 bytes off of the existing kernel, and ramdisk. I don't have an NC, but i'm not sure that the partitions are the same, I would think about building the ramdisk by combining the two ramdisks.
Lastly if someone has the inclination, they COULD eliminate the useless partitions, DO NOT TOUCH THE X-LOADER OR UBOOT PARTITIONS, MODIFYING THEM WILL BRICK YOUR DEVICE. However there is the useless BN and rom partitions that could be consolidated.
Ill be checking in from time to time, I would recommend that you join the CM7 IRC channel and make a new one so that you will not be bothered.
I've done little more than keep the port of miui updated for the Samsung infuse, but I'd be willing to help where I can. I'll probably only be useful for testing, but I'm more than willing to soft brick several times (or risk a hard brick )
Don't modify the rom partition, it forces a wipe of the device and without a proper recovery for that (stock) you're **** out of luck.
Sent from my Nexus S 4G using xda premium
Loglud said:
Second off, I would HIGHLY recommend using the stock kernel, with the security keys stripped off. This would eliminate any problems that you would encounter with the kernel not causing a boot. I can get you guys a copy of the stock if you want, as it is easiest to just take the first 288 bytes off of the existing kernel, and ramdisk. I don't have an NC, but i'm not sure that the partitions are the same, I would think about building the ramdisk by combining the two ramdisks.
Click to expand...
Click to collapse
Interesting about the first 288 bytes. Any specific reason for stripping them? Is this the kernel header or is it for the ramdisk too? The kernel Im using was built from the BN source.
The ramdisk Im putting together is a combo of the NC and NT. Im working on porting the .rc files and build.prop. There is a lot to look at and any help is appriciated. Ill post the files when I get home this weekend.
Lastly if someone has the inclination, they COULD eliminate the useless partitions, DO NOT TOUCH THE X-LOADER OR UBOOT PARTITIONS, MODIFYING THEM WILL BRICK YOUR DEVICE. However there is the useless BN and rom partitions that could be consolidated.
Click to expand...
Click to collapse
Good call here. I was thinking about mounting the 15GB B&N partition as rw and leaving it at that. If we get brave we can try and merge the partitions.
Thanks for the input.
---------- Post added at 08:32 PM ---------- Previous post was at 08:29 PM ----------
Indirect said:
Don't modify the rom partition, it forces a wipe of the device and without a proper recovery for that (stock) you're **** out of luck.
Sent from my Nexus S 4G using xda premium
Click to expand...
Click to collapse
Maybe this is the issue Im seeing. Does this mean we have to use 2ndboot to point to another partition? Is there a mdsum check being done at boot that triggers this?
EDIT: Nevermind was thinking boot partition instead of rom. Rookie mistake No plans to touch rom partition.
Guys, we won't need testers. We all have NT's. You all will get a build once it's in alpha.
Like Indirect said, as far as startup is concerned we'll be able to do the testing, we won't really need external testing until we have something semi stable.
Thanks for all your offers though. I'm sure when we get to alpha/beta stage you'll all get a shot at it
As agreed with OP i am going to move this to general. As soon as development is posted, it will be moved back to Development.
Thanks to the OP for his co-operation, He is a gentleman and exactly the type of member we want at XDA Developers!
Peace!
clock work mod
thanks to Albert I am beginning to understand the early stages of getting things like CM7 or 9 functional for the NT and his his recent video on youtube gives a good idea on the developments going on for the NT. I am trying to understand the possible uses of CWM for the nook other than it being a framework for installing custom roms. .. Thanks
Rafael863 said:
thanks to Albert I am beginning to understand the early stages of getting things like CM7 or 9 functional for the NT and his his recent video on youtube gives a good idea on the developments going on for the NT. I am trying to understand the possible uses of CWM for the nook other than it being a framework for installing custom roms. .. Thanks
Click to expand...
Click to collapse
Link to the video, per chance? Thanks in advance!
Just a quick update before I call it a night.
I've been having a lot of trouble getting a working boot.img built. When I cat the 2ndboot to my boot.img I see the flash screen on bootup but quickly get a black screen followed by a reboot of the system.
I can't even get the stock boot.img to boot after appending the 2ndboot.img file. I was, however, able to boot into CWM from the boot partition by attaching the 2ndboot.img. This tells me that the 2ndboot is working properly.
I'm continuing to deep dive on the boot.img files, but if any other devs want to play around with cat 2ndboot to a boot.img it might help.
All I've been doing to this point is taking the boot.img from a CWM recovery, adding the 2ndboot.img to the front of it, placing the modified boot.img back into a new CWM recovery folder (and rebuilding nandroid.md5), then flashing the boot back on using CWM Advance Recovery.
Well, I can report some partial success!
I was finally able to unpack a stock boot.img, modify the ramdisk (nothing major just a small tweak to test results), repack with another unsigned kernel, flash the new boot.img and get a good boot. I did this by using the kernel extracted from nemith's CWM image and not the custom kernel I've posted, so it seems like there is an issue with that kernel for now.
Anyway, I'll try and post some more files later but in the mean time I'm moving on with trying to get a CM7 ramdisk to boot.
I think this is now at a stage that it can be moved back to development.
Good work Guys!
Goncezilla said:
Well, I can report some partial success!
I was finally able to unpack a stock boot.img, modify the ramdisk (nothing major just a small tweak to test results), repack with another unsigned kernel, flash the new boot.img and get a good boot. I did this by using the kernel extracted from nemith's CWM image and not the custom kernel I've posted, so it seems like there is an issue with that kernel for now.
Anyway, I'll try and post some more files later but in the mean time I'm moving on with trying to get a CM7 ramdisk to boot.
Click to expand...
Click to collapse
Great to see you've made some decent progress. Sorry for my total lack of input, you're a good few steps ahead of me in developing. I'm still on a serious learning curve!
I'm getting there hopefully in time I catch up with you and give some decent worthwhile input!
CelticWebSolutions said:
Great to see you've made some decent progress. Sorry for my total lack of input, you're a good few steps ahead of me in developing. I'm still on a serious learning curve!
I'm getting there hopefully in time I catch up with you and give some decent worthwhile input!
Click to expand...
Click to collapse
Hey if you have any questions throw them out there. I'm learning some things as I go along but don't have all the answers either. Hoping we can start combining efforts to move forward.
---------- Post added at 10:31 PM ---------- Previous post was at 09:31 PM ----------
EDIT:More progress!
Was able to get the stock ramdisk to boot using the compiled kernel I posted. I think the issues were with my compilers. No guarantees they are fixed but we are getting close I can feel it!
I'm not sure but I think this kernel can be overclocked, so if nothing else this should allow you to overclock a rooted stock device for now. I'll do some testing and get back....
EDIT 2:
Well it looks like this kernel should be capable of overclocking, but there are a few other bugs with it (could not turn on wifi) that still need to be worked out so I am moving on for now. I will post the boot.img if anyone else wants to play around with the custom kernel on stock firmware in the meantime.
They had issue with wifi in the cm9 thread which they've now fixed. Perhaps some help from there thread will be available?[/QUOTE]
Good call, maybe we can leverage from them. I think I'm just missing a configuation setting in my kernel build but everything else seemed to be working so I'm not too worried about fixing it right away. Would rather get CM7 to boot
EDIT:
Well more progress to report this morning! I've finally got a CM7 boot screen! I'm stuck in a bootloop but we are really close now!
Turns out my permissions were all jacked up on my system partition and it was refusing to allow the kernel to load divers. I've jacked with files so trying to get a good boot that I'm not even sure what I have right now, so I'll go back to square one and hopefully see a full boot
Whenever you get a boot loop, I suggest that you get a logcat so you know what to look at.
Sent from my Nexus S 4G using xda premium
GEEWIZ MEDIA 3.4 SCH-I500 JZO54K JELLY BEAN 4.1.2 ROM/KERNEL
RETIRED -- GEEWIZ MEDIA 3.4 WAS THE FINAL RELEASE OF GEEWIZ MEDIA BASED ON ANDROID 4.1
OTHER AVAILABLE GEEWIZ MEDIA VERSIONS:
GeeWiz Media 4 - AOSP Jelly Bean 4.2: http://forum.xda-developers.com/showthread.php?t=2088139
GeeWiz Media 3.4 is a Wifi-only ROM for the Samsung Fascinate, based on AOSP Jelly Bean 4.1. The goal of GeeWiz Media is to allow the Samsung Fascinate device to continue to be used as a media player-like device after it has been disconnected from cellular service. There is no support for cellular voice/data communication present in this ROM. Like it's predecessor GeeWiz, GeeWiz Media doesn't aim to provide a lot of bells and whistles or incorporate all of the latest and greatest tweaks and enhancements developed by the community; the aim is to provide a basic, stable, functional device.
GeeWiz Media 3.4 uses a modified version of the GeeWiz 2.8 Gingerbread (Linux 2.6) kernel with a number of very specific tweaks/hacks in order to continue to support the proprietary Samsung RFS file system and other features I wanted to carry over. As a result, this ROM may not be used in conjunction with any other Kernel, and this Kernel cannot be used in conjunction with any other ROM. Please consider it a "matched set", and they will always be updated/distributed together.
Your device needs to be set up as stock or stock-like (e.g. GeeWiz 2.8) before installing this ROM/Kernel. If you are currently running with an MTD-based platform, the device must be reverted back to the original OEM volume format. Please refer to the forum/thread were you acquired your current ROM for guidance on how to revert the device as necessary.
Installing this ROM/Kernel or any other provided component(s) will void your device's warranty, and I cannot be held responsible for any damages of any kind (including data loss) that are incurred either directly or indirectly by these packages and components. What you do to your device is ultimately your problem!
FEATURES
Android Jelly Bean AOSP build JZO54K (android-4.1.2_r1)
Wifi-Only, no support for Voice/Mobile Data
Google Apps version JZO54K from the Galaxy Nexus
All devices (GPS, compass, orientation, camera, flash) are functional
Supports OEM DBDATA volume to keep performance reasonable
Supports both RFS and EXT4 formatting on all volumes
OEM USB modes (CD-ROM/Kies/MTP) replaced with standard Android Mass Storage
Advanced Battery Settings: Maximum Charge, Automatic Recharge Point
Advanced CPU Settings: Maximum/Minimum Clock Speed, Governor Selection
Backlight Notifications built into system, controlled by the OS
Supercurio Voodoo Sound 10
Fascinate Dock audio simulates a true USB audio device for seamless output path switching
Custom Dock options - Enable BLN, Stay Awake, Enable audio output, Maximize volume
Bluetooth Tethering support
CREDITS
While it would be impossible to remember/cite every possible reference that was used during development, I would like to specifically thank the following teams/individuals for making their work public so that others could learn from it and in more cases than not, shamelessly "borrow" it:
jt1134 - A primary source of knowledge for all things Samsung Fascinate
sgtkwol - Maintains a Linux 2.6 kernel for the Epic that provided a vast amount of reference material for the kernel updates
pawitp - Fixed my video driver changes to eliminate a 'microlag' issue (thank you!)
teamhacksung - Maintains a large repository for all Galaxy S devices, I can't count how many code compares I did against their material
Cyanogenmod - When all else fails, if you can figure out how they are doing it ... well, it's just gonna work right.
rxwookie - A long time friend of all things GeeWiz and always picks up my slack here on the forums. I think he probably knows more about GeeWiz than I do!
KNOWN ISSUES
USB Mass Storage / ADB may not work after device has been docked
After docking and removing the device from a Samsung Fascinate dock, USB Mass Storage and/or ADB may stop working. When this occurs, the only way to restore USB connectivity is to power off the device and power it back on. Rebooting is not sufficient and will not alleviate the problem.
FIRST-TIME INSTALLATION RECOMMENDATION
This ROM performs significantly better when the device uses the EXT4 file system. Unfortunately, using ODIN will always format the device with the RFS file system. As of GeeWiz Media 3.2, the "Full Wipe" ODIN package has been modified such that it will format the data volumes (DATA, DBDATA, CACHE) with the EXT4 file system. This is now the recommended installation method for first-time installation.
If the "Full Wipe" ODIN package is not used, please note that your data must be wiped manually if coming from another ROM to avoid problems, and I strongly recommend converting, at minimum, the data volumes of the device (DATA, DBDATA, CACHE) to the EXT4 file system.
UPGRADING FROM GEEWIZ MEDIA 3.2/3.3
GeeWiz Media 3.2.x/3.3.x Versions can be upgraded directly to GeeWiz Media 3.4 without a need to wipe the device data or revert the file system back to RFS. The EDIFY update-zip below is compatible with most, if not all, recoveries and will work regardless of if the device is formatted with RFS or EXT4.
Your Dalvik-cache will be automatically wiped, so the first reboot will take a long time
Due to problems with some Google services after a kernel change, the Google Services Framework package will have its data cleared during installation. You will be prompted to accept Google's location services again
DOWNLOADS
EDIFY Update-Zip (ClockworkMod / GeeWiz Recovery) Compatible Downloads
GeeWiz Media 3.4 ROM/Kernel (EDIFY Update-Zip)
http://www.mediafire.com/file/hqspl05qgbcfmkx/geewiz-media-3.4-syskernel-01122013.zip
MD5: 69f5fc67c0751bd8413f4f4c3319b12f
GeeWiz 2.8 Recovery (EDIFY Update-Zip)
http://www.mediafire.com/file/5fxee76vrxv28eq/geewiz-2.8-recovery-04162012.zip
MD5: 9869d3138279d99f1237a442f7573cad
ODIN Compatible Downloads
GeeWiz Media 3.4 ROM/Kernel/Modem/Recovery/Data Wipe Full Update (ODIN)
This will delete all user data from your device, replace your RECOVERY with GeeWiz Recovery as well as replace your modem with the EH03 revision. Your data volumes will be formatted with EXT4 on the first boot
http://www.mediafire.com/file/b8un78kf6gbp5jn/geewiz-media-3.4-fullwipe-01122013.tar.md5
MD5: 8fc027d5274aeb7b29035c9b67d68d78
GeeWiz Media 3.4 ROM/Kernel (ODIN)
http://www.mediafire.com/file/db2o2sytj65ur3v/geewiz-media-3.4-syskernel-01122013.tar.md5
MD5: b3e2bba3e6e06ee91766f2d0b6f75852
GeeWiz 2.8 Recovery (ODIN)
http://www.mediafire.com/file/h5gov2c1r8836tj/geewiz-2.8-recovery-04162012.tar.md5
MD5: b70d4063dffaa9cd89629f307d3beae5
SOURCE CODEThe entire baseline for GeeWiz Media is available on github: http://www.github.com/djp952.
Device repo: android-platform-device-samsung-atlas (branch android-4.1.2_r1)
Kernel repo: android-kernel-atlas (branch android-4.1.2_r1)
HOW TO BUILD THE GEEWIZ MEDIA 3 ROM AND KERNEL
A common request I've gotten is how to build the GeeWiz Media ROM and kernel from source. I think GeeWiz Media 3 is a little less intimidating as a first step for getting into AOSP builds since it doesn't stray too far from the Android baseline, and the kernel is based on Samsung's stock model for the device rather than the enhanced MTD model. Whatever the reason, I'm happy to try and describe how I build these components and generate the packages that I post for the community. Sometimes it's normal, sometimes it's a bit wonky, but as long as I don't miss anything important it should be a workable process for anyone that would like to get into building custom Android builds.
I think GeeWiz Media 3 would be a great learning tool, it works as-is but leaves enough room for additional customizations and enhancements that it may be a better place to start than jumping into something like Cyanogenmod or AOKP as your first project. It's up to date at the moment with the latest Android code as well, so that's a definite bonus as opposed to working with something like Gingerbread where tricks you learn may not apply to the next project you take on.
BUILD ENVIRONMENT
I use Ubuntu 12.04 Desktop x64 for my Android build environment, and even though Google states that this environment is "Experimental", I've not run into any issues with it. To get started, simply follow the directions Google has provided here:
http://source.android.com/source/initializing.html
If you are running on Windows x64, I can also recommend using a Virtual Machine as your build environment. I like Oracle VirtualBox the best, but the stock Fascinate code by Samsung has major USB problems with it, you won't be able to use ADB or Heimdall. For Fascinate-specific development I recommend VMWare Player since it can work with the stock USB. Note that you need an x64 OS and a CPU with Virtualization Support to host an x64 guest OS regardless of the software you choose. The best performance and compatibility will come from installing Linux natively on your system.
DOWNLOAD GEEWIZ SOURCE TREE
Once your environment is set up, you of course need some source code. I've opted to use Google's repo tool and AOSP manifests to control the source tree, so the first thing you need is the Google repo tool. Follow the first section of this document, entitled "Installing Repo":
http://source.android.com/source/downloading.html
I have two separate "builds", or in Android terms Manifests out there. One is called DEFAULT and includes just changes to AOSP necessary to support the Fascinate. The other is called CUSTOMBUILD and adds the light OS customizations I have done. Since I never use DEFAULT and I'm not sure t even builds at the moment, we're going to use CUSTOMBUILD, or as it's called here at XDA "GeeWiz".
Open a terminal window to your home directory (~/)
mkdir android
mkdir android/platform
cd android/platform
repo init -u https://github.com/djp952/android -m custombuild.xml -b android-4.1.2_r1
What we just did was initialize the repository for AOSP, but haven't downloaded anything yet. The -u argument to repo tells it where to find the manifest XML files. In this case, my github "android" repo. The -m tells it what manifest to use. The -b tells it what branch to pull. This is important because like most folks, I have multiple branches out there. I have been indicating at the very end of the first post what the current active branch is, android-4.1.2_r1 right now.
At this point, I suggest going into the ~/android/platform/.repo/manifests directory and having a look at the manifest file. (.repo is a hidden folder). Open up custombuild.xml in GEDIT and you can see that I've taken the AOSP manifest and simply replaced portions of it to point into my own github repos for things I've changed. I'll try to include details on how I manage this below so you could do something similar if you want to.
The most time-consuming part of building Android is downloading the code. Can't go much farther without it, so get yourself a cup of coffee and a good book ...
In the terminal, at the ~/android/platform directory
repo sync
The SYNC command uses the manifest to go get all the code. Most of it is going to come from Google, but all the bits I've altered will come from my github instead. It's going to take a very long time to download.
BUILD GEEWIZ MEDIA ROM
Once downloaded, we have to choose what device to build for. GeeWiz has two target devices, "atlas" and "atlas3g". Atlas is the Wifi-only target known here as "GeeWiz Media". Atlas3G adds to that changes required to include voice/data support (mostly courtesy of Cyanogenmod!). Let's assume if you're reading this, you're interested in the Wifi-only Atlas.
In the terminal, at the ~/android/platform directory
source build/envsetup.sh
lunch
The "Lunch Menu" (haha Google) will present you with a list of device builds to choose from. You can select by number, or you can type in anything not on the menu. As of this writing, the build we want is #9, full_atlas-userdebug. userdebug generates a generally release-quality build, but doesn't odex (pre-optimize) the APKs and has some additional debugging support you wouldn't ordinarily find. You could also type in full_atlas-eng for an "Engineering" build or full_atlas-user for a "Release" build. I think you'll prefer userdebug most of the time.
Select 9 - full_atlas-userdebug
make -j4 rompackage
This will kick off the build. It will take a long time the first time through. The rompackage argument is something I added to AOSP to support the Fascinate. This will build the EDIFY update-zip that I upload for everyone and use to generate the ODIN packages (more on that later). On typical Android devices, you would use otapackage (update-zip install) or updatepackage (fastboot install) instead. Fascinate is a special needs child, so it gets a special needs build process.
Once it's done, provided I didn't forget anything important here, you'll have a full ROM/Kernel package ready to be flashed via Clockworkmod or GeeWiz Recovery in the ~/android/platform/out/target/product/atlas folder. It will be named along the lines of full_atlas-rom-YYYYMMDD.HHMMSS.zip. Making a package for ODIN involves more steps, but I'll get to that. First I have to tell you how to build a modified Kernel ...
BUILDING THE GEEWIZ KERNEL
The Atlas and Atlas3G repos have a pre-compiled kernel in them that is packaged with the ROM build. This section will describe how to build and include customized versions of that kernel. First step is, of course, to get the source code. Both ROMs share a kernel but due to differences in the ramdisk (initramfs), they are built independently.
In a Terminal, at the ~/android directory
git clone https://github.com/djp952/android-kernel-atlas.git
cd android-kernel-atlas
git branch android-2.6 remotes/origin/android-2.6
git checkout android-2.6
Now the build environment needs to be set up. I use the compiler provided with AOSP to build the kernel as this is how Google does it. If you are using a different compiler, or have put your AOSP tree into a different location, you may have to modify these commands slightly.
In a Terminal, at the ~/android/android-kernel-atlas directory
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=~/android/platform/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
NOTE: From this point forward, don't close that Terminal, otherwise you will have to execute the environment export commands again.
The kernel is built in three steps. This is necessary because the Fascinate doesn't conform to Android's models and we have to include the ramdisk (initramfs) in the kernel image. The first step is to select which device you are building the kernel for, which in this case will be "atlas_defconfig". (The other configuration for the GeeWiz 3G version is called "atlas3g_defconfig").
make atlas_defconfig
This initializes the kernel build for Atlas. Since we need to build the ramdisk as part of the kernel, the next step is to generate any loadable kernel module (.ko) files that need to be part of that ramdisk
make modules
The way I have the kernel set up, it will pull the necessary files for the ramdisk by looking at the device "initramfs.list" file, in the AOSP tree. The file that describes the atlas ramdisk, for example, is in ~/android/platform/device/samsung/atlas. If you examine this file you can see that it lists where all the files should come from, relative to the kernel source root directory. This explains why I went through how to build the AOSP tree before the kernel, the kernel depends on the AOSP build. Provided everything is in the right place, it's time to build the kernel
make
This executes the main kernel build. Should any ramdisk files be missing, it will error out early on and let you know what the problem is. Assuming everything goes well, your kernel will be in the ~/android/android-kernel-atlas/arch/arm/boot directory. It's named zImage and it's the combined kernel/ramdisk required for the Fascinate.
This zImage file can now be flashed directly to the device with Heimdall, packaged up for ODIN, etc. However in order to make it part of your AOSP build and corresponding EDIFY update-zip, we have to copy it into the AOSP tree and rebuild the ROM. It's a bit tedious, and other folks have different and more streamlined ways of accomplishing this, but this method has worked for me.
cp ~/android/android-kernel-atlas/arch/arm/boot/zImage ~/android/platform/device/samsung/atlas/kernel
cd ~/android/platform
source build/envsetup.sh
lunch full_atlas-userdebug
make installclean
make -j4 rompackage
This set of commands will clean out and rebuild your ROM package with the updated kernel.
CREATING ODIN PACKAGES
While not the most popular way for people to install your ROM, no guide would be complete without describing how to generate the ODIN-based installation packages. I like to provide a "Full Wipe" ODIN package that will take care of resetting the device while flashing the new ROM/Kernel, it's an easy way for people that are comfortable with ODIN to just completely replace the contents of their phone with your stuff. For this section, I'm going to assume that you are using GeeWiz Recovery, version 2.8 or later. Other recoveries will work, but as you may expect I'm most familiar with the one I made and I know for certain it has all the necessary features in place.
The ODIN factoryfs.rfs file must be generated by formatting the SYSTEM volume with RFS and then installing your ROM:
Copy your generated EDIFY update-zip to the SDCARD
Reboot into GeeWiz Recovery
Wipe the device data by selecting Wipe Device Data and then Wipe all User Data (Factory Reset)
Press the HOME key to return to the main menu
Format the SYSTEM volume with RFS by selecting Manage Volumes / Format Volumes / Format SYSTEM / Format SYSTEM [rfs]
Press the HOME key to return to the main menu
Select Install Update Package, and choose your EDIFY update-zip to install
After the installation is complete, reboot the phone by selecting Exit from the main menu. Not rebooting the device after the flash will result in a bad ODIN file more often than not. Trust me on this one.
After the device has fully booted, reboot it back into GeeWiz Recovery. The next step will be to generate a backup of the RFS-formatted SYSTEM volume to ultimately use with ODIN. GeeWiz Recovery can create these by choosing to execute a "raw dump" of the volume:
Select Manage Volumes / Backup Volumes / Backup SYSTEM / Backup SYSTEM [raw dump]
GeeWiz Recovery tries to keep volumes unmounted after it's done working, so the SDCARD must be mounted before the contents can be accessed with ADB:
Press the HOME key to return to the main menu
Select Manage Volumes / Mount Volumes / Mount SDCARD
GeeWiz Recovery will store the backup as /sdcard/backup/volume/SYSTEM-YYYYMMDD.img.gz, so as an example, I might pull it to my home folder with this command:
adb pull /sdcard/backup/volume/SYSTEM-20121022.img.gz ~/
The .gz file will contain a compressed copy of the backup, just open it up, extract the file, and then rename it to factoryfs.rfs. This is the SYSTEM volume for ODIN. There are also a number of other files you can include in your ODIN package to perform various other flash or wipe operations (I'll tell you where to get them, too)
boot.bin - Will replace the primary bootloader. VERY DANGEROUS to include, I strongly recommend against including it.
cache.rfs - Will wipe the CACHE volume; necessary if you want the device to boot into recovery automatically and run a command
dbdata.rfs - Will wipe the DBDATA volume
factoryfs.rfs - Will replace the SYSTEM volume
modem.bin - Will replace the CDMA modem
movinand.bin - Will wipe the DATA, PREINSTALL and FOTA volumes
param.lfs - Will replace the parameter block. Semi-dangerous to include, but required to ensure an initial boot into recovery mode
recovery.bin - Will replace the RECOVERY kernel and ramdisk
Sbl.bin - Will replace the secondary bootloader. VERY DANGEROUS to include, I strongly recommend against including it.
zImage - Will replace the BOOT kernel and ramdisk
To generate an ODIN-compatible tarball, gather the files you want to include and execute the following commands from a Terminal. Replace tarfilename.tar with the name you want to give the tarball, and replace file file file file with the names of the files from the table above you want to include:
tar --format=ustar -cf tarfilename.tar file file file file
md5sum -t tarfilename.tar >> tarfilename.tar
mv tarfilename.tar tarfilename.tar.md5
NOTE: If you rename the .TAR file, it will invalidate the MD5 checksum and you will have to md5sum it again.
OK, where to get the files. You can access a "full stock" ODIN package for the Fascinate, like the EH03 version that is available here on XDA to get copies of all the stock versions of these files. Or, you can use the ones from my ODIN "Full Wipe" package if you'd like as well. My ODIN tarball has a gimmick that you may find useful. If you include my copies of cache.rfs, param.lfs and recovery.bin, the device will initially reboot into recovery and automatically format the CACHE, DATA and DBDATA volumes with the EXT4 file system. It's a relatively simple trick, but an effective one to help improve the performance of your ROM. I also like to provide a "syskernel" tarball that includes only factoryfs.rfs and zImage. The benefit of this is that it will not wipe out any of your user's data. The downside is that the user may be responsible for going into Recovery on their own and executing any steps your EDIFY update-zip would have typically taken care of, like clearing the Dalvik-cache.
reserved 2
reserved 3
Good old me, always getting something wrong on a release Not usually fixed before any replies, but I didn't expect this ROM to be useful for than a precious few users anyway
Anyhow, it's rather important to apply the following patch, should anyone be trying this ROM out. This appears to resolve the problems with suspend/resume, including the ANR issue I mentioned above. I made customizations to the video subsystem to reduce CPU usage (by quite a bit), but didn't consider the ramifications of what happens when the screen is powered down properly. I've updated my method to be more like the original code behavior but still maintains the reduction in CPU load.
GeeWiz Media 3.0.1 PATCH (EDIFY Update-Zip)
- Resolves suspend/resume screen and device responsiveness issues caused by some poor coding on my part
http://www.mediafire.com/file/56287a1g1gr8iop/geewiz-media-3.0.1-patch-20120914.zip
MD5: 0ec6266f9c9acf3076c5638ccc8d52a9
Sorry for the oversight, folks.
I'm in a hotel room with no computer, and I want to flash this. Any way to do it just from a phone, and no Odin?
Sent from my SCH-I500 using Tapatalk 2
lolreconlol said:
I'm in a hotel room with no computer, and I want to flash this. Any way to do it just from a phone, and no Odin?
Sent from my SCH-I500 using Tapatalk 2
Click to expand...
Click to collapse
What ROM are you running now? If you're fully stock or running an MTD ROM like Cyanogenmod, I'm afraid that ODIN will be necessary. If you're running one of the community's older stock-based ROMs and have a recovery like Clockworkmod installed, shouldn't be a problem to download to the sd card, wipe data, and then install from recovery. You would just need to grab the big .zip file and the patch I just published.
Just to be sure, you saw that this ROM does not support cellular service, right? I'd hate for you to install it just to find out you have no phone!
To be honest, I would hold off until you are home and aren't going to run the risk of being without your device at all, but I'm flattered that you want to try it! Besides, my track record is always the same ... big release, big bug (check!), then a couple more bugs (hasn't happened yet, but they're there somewhere, I can feel it - LOL)
I have my old fascinate that I use as an mp3 so I'd be interested in continuing to test this for you. Maybe I'll find a way to get ISO working on the hardware so my wife can stop bugging me about hers.
Sent from my Galaxy Nexus using Tapatalk 2
I wanna test but my fassy is my dd
Fascinating PA2.12 Jelly Bean Sept 15 Devil 1.4.1...
Trying to flash with Odin...how long should it take to check the md5?
Edit: oop there we go
Sent from my Galaxy Nexus using Tapatalk 2
No luck. Boots straight into recovery.
Kaptinkrunk said:
I wanna test but my fassy is my dd
Fascinating PA2.12 Jelly Bean Sept 15 Devil 1.4.1...
Click to expand...
Click to collapse
I have started a full 3G version, but it will take some time and a lot of theft from Cyanogenmod to get it working. I can't promise that a full version will ever come to pass, but honestly I would prefer that than going back to update the old Gingerbread GeeWiz
kuronosan said:
No luck. Boots straight into recovery.
Click to expand...
Click to collapse
What ROM are you coming from?
Booting into Recovery once is expected when you use the "fullwipe" ODIN as it contains a sneaky automatic "wipe my data" command , but that should only happen once and then boot normally.
If you were running something that uses the "MTD" partitioning that the community has developed to try and make the Fascinate work more like a standard Android device, that has to be un-done first. I'm guessing this is the problem, but if you can give me more information as to what you were previously running, perhaps I can take a look and give you more appropriate advice? That's my best off-the-cuff guess ... if you have nonstandard partitions all kinds of weird stuff can happen if you flash something that's expecting the OEM layout
looks like am late to the parteh !!!
awesome as ever
Thankies and more thankies
djp952 said:
What ROM are you coming from?
Booting into Recovery once is expected when you use the "fullwipe" ODIN as it contains a sneaky automatic "wipe my data" command , but that should only happen once and then boot normally.
If you were running something that uses the "MTD" partitioning that the community has developed to try and make the Fascinate work more like a standard Android device, that has to be un-done first. I'm guessing this is the problem, but if you can give me more information as to what you were previously running, perhaps I can take a look and give you more appropriate advice? That's my best off-the-cuff guess ... if you have nonstandard partitions all kinds of weird stuff can happen if you flash something that's expecting the OEM layout
Click to expand...
Click to collapse
Yea, I thought just Odining the partition with your Rom from work would work but I had to go ahead and Odin eh03 first. Everything works great so far.
Sent from my Galaxy Nexus using Tapatalk 2
Does it matter which version of CWM is used?
Is ODIN'ing the 3.0 fullwipe the best way to come from CM10?
partaker said:
Does it matter which version of CWM is used?
Is ODIN'ing the 3.0 fullwipe the best way to come from CM10?
Click to expand...
Click to collapse
No matter what your current Rom is... I would recommend ODIN'ing the stock, bloated Verizon EH03 first, get it here...
http://forum.xda-developers.com/showthread.php?p=23171859
That will reset your recovery partition and file system back to stock. Note: This is REQUIRED if you are coming from CM10 our any other AOSP Rom. Otherwise, you'll get stuck in a Recovery bootloop or worse.
From there, you can ODIN the 3.0 full wipe GeeWiz Media edition... and finally you can then ODIN any recovery you want so you can easily flash up/out (ie. CWM or DJ's own GeeWiz Recovery).
Just to repeat the warning again... this Rom has no 3g connection and has no phone AT ALL. It is basically to turn your phone into a Galaxy S Player.
Hope this helps.
Sent from my SCH-I500 using xda app-developers app
Put it on my kids (my old one) runs great. jb runs slow on those old phones I think. Lag between opening apps. Other than that prefect for wifi only/ kid/game phone
Sent from my Galaxy Nexus using xda app-developers app
cuebask said:
Put it on my kids (my old one) runs great. jb runs slow on those old phones I think. Lag between opening apps. Other than that prefect for wifi only/ kid/game phone
Sent from my Galaxy Nexus using xda app-developers app
Click to expand...
Click to collapse
Yeah, I think we have to live with some lag here and there, especially with the way I chose to implement the OS (as close to how Samsung did it as I could). I've seen some data-heavy applications really slow down on me in daily use too. The Google version of the Browser seems especially annoying, I may ultimately opt to use the AOSP one, I've been very disappointed that they haven't fixed some issues that have been around since the first Jelly Bean builds. I also have trouble occasionally with my "Sonos Controller" application ... it just gets really slow on me, and takes the rest of the device with it. At least with the Browser I can say "hey -- my Galaxy Nexus does the same thing!" lol.
But hey -- thanks for the props! I'm really glad it's coming in handy for a couple other folks out here besides myself!!
GeeWiz Media has been updated to version 3.1 and removed from "Beta" status. Version 3.1 updates the core Android platform to version JRO03R (android-4.1.1_r6), and includes a small kernel change. The updated ROM/KERNEL can be applied to an existing GeeWiz Media 3.0/3.0.1 Beta installation without the need to wipe data. I would consider this to be an "optional" update, Jelly Bean R6 didn't appear to add much that this ROM benefits from at all, and the kernel update solves a problem that may or may not be something you've even noticed.
I need to add a changelog, but here's what's new in GeeWiz Media 3.1:
- No longer considered a Beta after a week of full daily testing
- Updated kernel with patch from pawitp that addresses a "microlag" issue in my video driver
- Updated core Android OS to version JRO03R (android-4.1.1_r6)
Check the first post for the links, and THANK YOU for trying out GeeWiz Media!
PS - There have actually been more than a hundred downloads of this ROM .. wow. It's about 8% of what GeeWiz 2.8 had in it's first week (and about 2% of what GeeWiz Froyo had in it's first week!), but this is a very niche/special implementation without much mass appeal and I wasn't expecting more than 20-30 people at most. I'm very glad that the ROM has some level of usefulness even without 3G support, and I hope to steal, er... borrow, er.. implement ... the necessary stuff to make a fully enabled 3G version soon. Not sure how that will go, and this Wifi-only setup is honestly my original intention as an endgame, but we'll see! Thanks everyone! :laugh:
GEEWIZ 3.4 SCH-I500 JZO54K JELLY BEAN 4.1.2 ROM/KERNEL
RETIRED -- GEEWIZ 3.4 WAS THE FINAL RELEASE OF GEEWIZ BASED ON ANDROID 4.1
OTHER AVAILABLE GEEWIZ VERSIONS:
GeeWiz 4 - AOSP Jelly Bean 4.2: http://forum.xda-developers.com/showthread.php?t=2088224
GeeWiz 3.4 is a ROM for the Samsung Fascinate, based on AOSP Jelly Bean 4.1. Like it's predecessors of the same name, GeeWiz doesn't aim to provide a lot of bells and whistles or incorporate all of the latest and greatest tweaks and enhancements developed by the community; the aim is to provide a basic, stable, functional device.
GeeWiz 3.4 uses a modified version of the GeeWiz 2.8 Gingerbread (Linux 2.6) kernel with a number of very specific tweaks/hacks in order to continue to support the proprietary Samsung RFS file system and other features I wanted to carry over. As a result, this ROM may not be used in conjunction with any other Kernel, and this Kernel cannot be used in conjunction with any other ROM. Please consider it a "matched set", and they will always be updated/distributed together. XDA community developed enhancements to the ROM or Kernel are encouraged, and will be given prominent feature status in this post.
Your device needs to be set up as stock or stock-like (e.g. GeeWiz 2.8) before installing this ROM/Kernel. If you are currently running with an MTD-based platform, the device must be reverted back to the original OEM volume format. Please refer to the forum/thread were you acquired your current ROM for guidance on how to revert the device as necessary.
Installing this ROM/Kernel or any other provided component(s) will void your device's warranty, and I cannot be held responsible for any damages of any kind (including data loss) that are incurred either directly or indirectly by these packages and components. What you do to your device is ultimately your problem!
FEATURES
Android Jelly Bean AOSP build JZO54K (android-4.1.2_r1)
Google Apps version JZO54K from the Galaxy Nexus
All devices (GPS, compass, orientation, camera, flash) are functional
Wifi (WPA/WPA2) and Bluetooth Tethering support
Supports OEM DBDATA volume to keep performance reasonable
Supports both RFS and EXT4 formatting on all volumes
OEM USB modes (CD-ROM/Kies/MTP) replaced with standard Android Mass Storage
Advanced Battery Settings: Maximum Charge, Automatic Recharge Point
Advanced CPU Settings: Maximum/Minimum Clock Speed, Governor Selection
Advanced In-Call Volume Boost Selection
Backlight Notifications built into system, controlled by the OS
Supercurio Voodoo Sound 10
Fascinate Dock audio simulates a true USB audio device for seamless output path switching
Custom Dock options - Enable BLN, Stay Awake, Enable audio output
CREDITS
While it would be impossible to remember/cite every possible reference that was used during development, I would like to specifically thank the following teams/individuals for making their work public so that others could learn from it and in more cases than not, shamelessly "borrow" it:
jt1134 - A primary source of knowledge for all things Samsung Fascinate
sgtkwol - Maintains a Linux 2.6 kernel for the Epic that provided a vast amount of reference material for the kernel updates
pawitp - Fixed my video driver changes to eliminate a 'microlag' issue (thank you!)
Entropy512- Customizations to allow WPA/WPA2 Wifi Tethering to work on the Galaxy S
teamhacksung - Maintains a large repository for all Galaxy S devices, I can't count how many code compares I did against their material
Cyanogenmod - The fact that this ROM can make a call at all is thanks to this team. So much of this effort is based on theirs!
rxwookie - A long-time supporter of all things GeeWiz and always takes the time to help other folks out here. I think he probably knows more about GeeWiz than I do!
ACTIVATION AND PROVISIONING
While I have no reason to believe that activation/provisioning wouldn't work properly on this ROM, it is a difficult thing to test on CDMA networks. Until it's been established that activation/provisioning is indeed working properly, I suggest you do not use anything like the ODIN "EFS Clear" option that may affect it. If the phone was properly provisioned before installing this ROM, it should maintain that provisioning. I have successfully activated a Fascinate on this ROM, but have not tested the process enough to be fully confident with it.
KNOWN ISSUES
USB Mass Storage / ADB may not work after device has been docked
After docking and removing the device from a Samsung Fascinate dock, USB Mass Storage and/or ADB may stop working. When this occurs, the only way to restore USB connectivity is to power off the device and power it back on. Rebooting is not sufficient and will not alleviate the problem.
FIRST-TIME INSTALLATION RECOMMENDATION
This ROM performs significantly better when the device uses the EXT4 file system. Unfortunately, using ODIN will always format the device with the RFS file system. Unlike previous versions of GeeWiz, the new "Full Wipe" ODIN package has been modified such that it will format the data volumes (DATA, DBDATA, CACHE) with the EXT4 file system on the first boot. This is now the recommended installation method for first-time installation.
If the "Full Wipe" ODIN package is not used, please note that your data must be wiped manually if coming from another ROM to avoid problems, and I strongly recommend converting, at minimum, the data volumes of the device (DATA, DBDATA, CACHE) to the EXT4 file system.
UPGRADING FROM GEEWIZ 3.2/3.3
GeeWiz 3.2.x/3.3.x Versions can be upgraded directly to GeeWiz 3.4 without a need to wipe the device data or revert the file system back to RFS. The EDIFY update-zip below is compatible with most, if not all, recoveries and will work regardless of if the device is formatted with RFS or EXT4.
Your Dalvik-cache will be automatically wiped, so the first reboot will take a long time
Due to problems with some Google services after a kernel change, the Google Services Framework package will have its data cleared during installation. You will be prompted to accept Google's location services again
DOWNLOADS
EDIFY Update-Zip (ClockworkMod / GeeWiz Recovery) Compatible Downloads
GeeWiz 3.4 ROM/Kernel (EDIFY Update-Zip)
http://www.mediafire.com/file/ascgikdaqdg3ai5/geewiz-3.4-syskernel-01122013.zip
MD5: 6b2e280f9d51492febec43b8b9fa3bd4
GeeWiz 2.8 Recovery (EDIFY Update-Zip)
http://www.mediafire.com/file/5fxee76vrxv28eq/geewiz-2.8-recovery-04162012.zip
MD5: 9869d3138279d99f1237a442f7573cad
ODIN Compatible Downloads
GeeWiz 3.4 ROM/Kernel/Modem/Recovery/Data Wipe Full Update (ODIN)
This will delete all user data from your device, replace your RECOVERY with GeeWiz Recovery as well as replace your modem with the EH03 revision. Your data volumes will be formatted with EXT4 on the first boot
http://www.mediafire.com/file/2266vgo7uma5xmk/geewiz-3.4-fullwipe-01122013.tar.md5
MD5: 0d6c2cf955d0024c925c2d10ce046e1d
GeeWiz 3.4 ROM/Kernel (ODIN)
http://www.mediafire.com/file/jzfwybqu6ns70ay/geewiz-3.4-syskernel-01122013.tar.md5
MD5: 46e17141a8f8a8ae48001c3e4653e088
GeeWiz 2.8 Recovery (ODIN)
http://www.mediafire.com/file/h5gov2c1r8836tj/geewiz-2.8-recovery-04162012.tar.md5
MD5: b70d4063dffaa9cd89629f307d3beae5
SOURCE CODEThe entire baseline for GeeWiz is available on github: https://www.github.com/djp952.
Device repo: android-platform-device-samsung-atlas3g (branch android-4.1.2_r1)
Kernel repo: android-kernel-atlas (branch android-4.1.2_r1)
Please see post #2 of this thread for an overview of how to build the GeeWiz ROM/Kernel from source as well as how to package your modifications. I would be happy to include any XDA community developed modifications or enhancements to the baseline as featured packages, add-ons or patches for GeeWiz!
Disclaimer: djp952 reserves the right to mercilessly kang your changes and assimilate them when you fix things that he was unable to. djp952 will also give you *major* props and full credit for the fix, so it's not that bad, right?
HOW TO BUILD THE GEEWIZ 3 ROM AND KERNEL
A common request I've gotten is how to build either the GeeWiz ROM or kernel from source. I think GeeWiz 3 is a little less intimidating as a first step for getting into AOSP builds since it doesn't stray too far from the Android baseline, and the kernel is based on Samsung's stock model for the device rather than the enhanced MTD model. Whatever the reason, I'm happy to try and describe how I build these components and generate the packages that I post for the community. Sometimes it's normal, sometimes it's a bit wonky, but as long as I don't miss anything important it should be a workable process for anyone that would like to get into building custom Android builds.
I think GeeWiz 3 would be a great learning tool, it works as-is but leaves enough room for additional customizations and enhancements that it may be a better place to start than jumping into something like Cyanogenmod or AOKP as your first project. It's up to date at the moment with the latest Android code as well, so that's a definite bonus as opposed to working with something like Gingerbread where tricks you learn may not apply to the next project you take on.
BUILD ENVIRONMENT
I use Ubuntu 12.04 Desktop x64 for my Android build environment, and even though Google states that this environment is "Experimental", I've not run into any issues with it. To get started, simply follow the directions Google has provided here:
http://source.android.com/source/initializing.html
If you are running on Windows x64, I can also recommend using a Virtual Machine as your build environment. I like Oracle VirtualBox the best, but the stock Fascinate code by Samsung has major USB problems with it, you won't be able to use ADB or Heimdall. For Fascinate-specific development I recommend VMWare Player since it can work with the stock USB. Note that you need an x64 OS and a CPU with Virtualization Support to host an x64 guest OS regardless of the software you choose. The best performance and compatibility will come from installing Linux natively on your system.
DOWNLOAD GEEWIZ SOURCE TREE
Once your environment is set up, you of course need some source code. I've opted to use Google's repo tool and AOSP manifests to control the source tree, so the first thing you need is the Google repo tool. Follow the first section of this document, entitled "Installing Repo":
http://source.android.com/source/downloading.html
I have two separate "builds", or in Android terms Manifests out there. One is called DEFAULT and includes just changes to AOSP necessary to support the Fascinate. The other is called CUSTOMBUILD and adds the light OS customizations I have done. Since I never use DEFAULT and I'm not sure t even builds at the moment, we're going to use CUSTOMBUILD, or as it's called here at XDA "GeeWiz".
Open a terminal window to your home directory (~/)
mkdir android
mkdir android/platform
cd android/platform
repo init -u https://github.com/djp952/android -m custombuild.xml -b android-4.1.2_r1
What we just did was initialize the repository for AOSP, but haven't downloaded anything yet. The -u argument to repo tells it where to find the manifest XML files. In this case, my github "android" repo. The -m tells it what manifest to use. The -b tells it what branch to pull. This is important because like most folks, I have multiple branches out there. I have been indicating at the very end of the first post what the current active branch is, android-4.1.2_r1 right now.
At this point, I suggest going into the ~/android/platform/.repo/manifests directory and having a look at the manifest file. (.repo is a hidden folder). Open up custombuild.xml in GEDIT and you can see that I've taken the AOSP manifest and simply replaced portions of it to point into my own github repos for things I've changed. I'll try to include details on how I manage this below so you could do something similar if you want to.
The most time-consuming part of building Android is downloading the code. Can't go much farther without it, so get yourself a cup of coffee and a good book ...
In the terminal, at the ~/android/platform directory
repo sync
The SYNC command uses the manifest to go get all the code. Most of it is going to come from Google, but all the bits I've altered will come from my github instead. It's going to take a very long time to download.
BUILD GEEWIZ ROM
Once downloaded, we have to choose what device to build for. GeeWiz has two target devices, "atlas" and "atlas3g" (Technically, there are three as I use the same build for "toro" - VZW Galaxy Nexus). Atlas is the Wifi-only target known here as "GeeWiz Media". Atlas3G adds to that changes required to include voice/data support (mostly courtesy of Cyanogenmod!). Let's assume if you're reading this, you're interested in Atlas3G.
In the terminal, at the ~/android/platform directory
source build/envsetup.sh
lunch
The "Lunch Menu" (haha Google) will present you with a list of device builds to choose from. You can select by number, or you can type in anything not on the menu. As of this writing, the build we want is #8, full_atlas3g-userdebug. userdebug generates a generally release-quality build, but doesn't odex (pre-optimize) the APKs and has some additional debugging support you wouldn't ordinarily find. You could also type in full_atlas3g-eng for an "Engineering" build or full_atlas3g-user for a "Release" build. I think you'll prefer userdebug most of the time.
Select 8 - full_atlas3g-userdebug
make -j4 rompackage
This will kick off the build. It will take a long time the first time through. The rompackage argument is something I added to AOSP to support the Fascinate. This will build the EDIFY update-zip that I upload for everyone and use to generate the ODIN packages (more on that later). On typical Android devices, you would use otapackage (update-zip install) or updatepackage (fastboot install) instead. Fascinate is a special needs child, so it gets a special needs build process.
Once it's done, provided I didn't forget anything important here, you'll have a full ROM/Kernel package ready to be flashed via Clockworkmod or GeeWiz Recovery in the ~/android/platform/out/target/product/atlas3g folder. It will be named along the lines of full_atlas3g-rom-YYYYMMDD.HHMMSS.zip. Making a package for ODIN involves more steps, but I'll get to that. First I have to tell you how to build a modified Kernel ...
BUILDING THE GEEWIZ KERNEL
The Atlas and Atlas3G repos have a pre-compiled kernel in them that is packaged with the ROM build. This section will describe how to build and include customized versions of that kernel. First step is, of course, to get the source code. Both ROMs share a kernel but due to differences in the ramdisk (initramfs), they are built independently.
In a Terminal, at the ~/android directory
git clone https://github.com/djp952/android-kernel-atlas.git
cd android-kernel-atlas
git branch android-4.1.2_r1 remotes/origin/android-4.1.2_r1
git checkout android-4.1.2_r1
Now the build environment needs to be set up. I use the compiler provided with AOSP to build the kernel as this is how Google does it. If you are using a different compiler, or have put your AOSP tree into a different location, you may have to modify these commands slightly.
In a Terminal, at the ~/android/android-kernel-atlas directory
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=~/android/platform/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
NOTE: From this point forward, don't close that Terminal, otherwise you will have to execute the environment export commands again.
The kernel is built in three steps. This is necessary because the Fascinate doesn't conform to Android's models and we have to include the ramdisk (initramfs) in the kernel image. The first step is to select which device you are building the kernel for, which in this case will be "atlas3g_defconfig". (The other configuration for GeeWiz Media is called "atlas_defconfig").
make atlas3g_defconfig
This initializes the kernel build for Atlas3G. Since we need to build the ramdisk as part of the kernel, the next step is to generate any loadable kernel module (.ko) files that need to be part of that ramdisk
make modules
The way I have the kernel set up, it will pull the necessary files for the ramdisk by looking at the device "initramfs.list" file, in the AOSP tree. The file that describes the atlas3g ramdisk, for example, is in ~/android/platform/device/samsung/atlas3g. If you examine this file you can see that it lists where all the files should come from, relative to the kernel source root directory. This explains why I went through how to build the AOSP tree before the kernel, the kernel depends on the AOSP build. Provided everything is in the right place, it's time to build the kernel
make
This executes the main kernel build. Should any ramdisk files be missing, it will error out early on and let you know what the problem is. Assuming everything goes well, your kernel will be in the ~/android/android-kernel-atlas/arch/arm/boot directory. It's named zImage and it's the combined kernel/ramdisk required for the Fascinate.
This zImage file can now be flashed directly to the device with Heimdall, packaged up for ODIN, etc. However in order to make it part of your AOSP build and corresponding EDIFY update-zip, we have to copy it into the AOSP tree and rebuild the ROM. It's a bit tedious, and other folks have different and more streamlined ways of accomplishing this, but this method has worked for me.
cp ~/android/android-kernel-atlas/arch/arm/boot/zImage ~/android/platform/device/samsung/atlas3g/kernel
cd ~/android/platform
source build/envsetup.sh
lunch full_atlas3g-userdebug
make installclean
make -j4 rompackage
This set of commands will clean out and rebuild your ROM package with the updated kernel.
CREATING ODIN PACKAGES
While not the most popular way for people to install your ROM, no guide would be complete without describing how to generate the ODIN-based installation packages. I like to provide a "Full Wipe" ODIN package that will take care of resetting the device while flashing the new ROM/Kernel, it's an easy way for people that are comfortable with ODIN to just completely replace the contents of their phone with your stuff. For this section, I'm going to assume that you are using GeeWiz Recovery, version 2.8 or later. Other recoveries will work, but as you may expect I'm most familiar with the one I made and I know for certain it has all the necessary features in place.
The ODIN factoryfs.rfs file must be generated by formatting the SYSTEM volume with RFS and then installing your ROM:
Copy your generated EDIFY update-zip to the SDCARD
Reboot into GeeWiz Recovery
Wipe the device data by selecting Wipe Device Data and then Wipe all User Data (Factory Reset)
Press the HOME key to return to the main menu
Format the SYSTEM volume with RFS by selecting Manage Volumes / Format Volumes / Format SYSTEM / Format SYSTEM [rfs]
Press the HOME key to return to the main menu
Select Install Update Package, and choose your EDIFY update-zip to install
After the installation is complete, reboot the phone by selecting Exit from the main menu. Not rebooting the device after the flash will result in a bad ODIN file more often than not. Trust me on this one.
After the device has fully booted, reboot it back into GeeWiz Recovery. The next step will be to generate a backup of the RFS-formatted SYSTEM volume to ultimately use with ODIN. GeeWiz Recovery can create these by choosing to execute a "raw dump" of the volume:
Select Manage Volumes / Backup Volumes / Backup SYSTEM / Backup SYSTEM [raw dump]
GeeWiz Recovery tries to keep volumes unmounted after it's done working, so the SDCARD must be mounted before the contents can be accessed with ADB:
Press the HOME key to return to the main menu
Select Manage Volumes / Mount Volumes / Mount SDCARD
GeeWiz Recovery will store the backup as /sdcard/backup/volume/SYSTEM-YYYYMMDD.img.gz, so as an example, I might pull it to my home folder with this command:
adb pull /sdcard/backup/volume/SYSTEM-20121022.img.gz ~/
The .gz file will contain a compressed copy of the backup, just open it up, extract the file, and then rename it to factoryfs.rfs. This is the SYSTEM volume for ODIN. There are also a number of other files you can include in your ODIN package to perform various other flash or wipe operations (I'll tell you where to get them, too)
boot.bin - Will replace the primary bootloader. VERY DANGEROUS to include, I strongly recommend against including it.
cache.rfs - Will wipe the CACHE volume; necessary if you want the device to boot into recovery automatically and run a command
dbdata.rfs - Will wipe the DBDATA volume
factoryfs.rfs - Will replace the SYSTEM volume
modem.bin - Will replace the CDMA modem
movinand.bin - Will wipe the DATA, PREINSTALL and FOTA volumes
param.lfs - Will replace the parameter block. Semi-dangerous to include, but required to ensure an initial boot into recovery mode
recovery.bin - Will replace the RECOVERY kernel and ramdisk
Sbl.bin - Will replace the secondary bootloader. VERY DANGEROUS to include, I strongly recommend against including it.
zImage - Will replace the BOOT kernel and ramdisk
To generate an ODIN-compatible tarball, gather the files you want to include and execute the following commands from a Terminal. Replace tarfilename.tar with the name you want to give the tarball, and replace file file file file with the names of the files from the table above you want to include:
tar --format=ustar -cf tarfilename.tar file file file file
md5sum -t tarfilename.tar >> tarfilename.tar
mv tarfilename.tar tarfilename.tar.md5
NOTE: If you rename the .TAR file, it will invalidate the MD5 checksum and you will have to md5sum it again.
OK, where to get the files. You can access a "full stock" ODIN package for the Fascinate, like the EH03 version that is available here on XDA to get copies of all the stock versions of these files. Or, you can use the ones from my ODIN "Full Wipe" package if you'd like as well. My ODIN tarball has a gimmick that you may find useful. If you include my copies of cache.rfs, param.lfs and recovery.bin, the device will initially reboot into recovery and automatically format the CACHE, DATA and DBDATA volumes with the EXT4 file system. It's a relatively simple trick, but an effective one to help improve the performance of your ROM. I also like to provide a "syskernel" tarball that includes only factoryfs.rfs and zImage. The benefit of this is that it will not wipe out any of your user's data. The downside is that the user may be responsible for going into Recovery on their own and executing any steps your EDIFY update-zip would have typically taken care of, like clearing the Dalvik-cache.
==================
For now, that pretty much sums it up! I can expand on this, or perhaps more appropriately compress it (I am a tad verbose!) based on feedback and how useful this little guide ends up being for everyone. Let me know -- PM me or post here in this thread, I'll see it either way!
reserved post
reserved 3
Downloading now. Will reply with the results soon
Just have one question though. I am on a voodoo kernel ie kgb with geewiz 2.9 rom. And I will be using the edify update method to flash the 3.2 rom. Do I need to convert the file system to ext? Or can I just flash it over the existing setup.
Thanks in advance
edit...I flashed the JB rom on the above setup. The phone is stuck at the big X logo. Doesnt seem to go beyond that. So i went back to stock froyo. Then flashed GW 2.8.1. Booted properly. Everything working fine. Next i flashed geewiz recovery & converted files to ext4. rebooted. works fine too. Flashed JB rom. Phone still stuck at the X logo.
Kindly help...
Sent from my SCH-I500 using xda app-developers app
swapnilss said:
Downloading now. Will reply with the results soon
Just have one question though. I am on a voodoo kernel ie kgb with geewiz 2.9 rom. And I will be using the edify update method to flash the 3.2 rom. Do I need to convert the file system to ext? Or can I just flash it over the existing setup.
Thanks in advance
edit...I flashed the JB rom on the above setup. The phone is stuck at the big X logo. Doesnt seem to go beyond that. So i went back to stock froyo. Then flashed GW 2.8.1. Booted properly. Everything working fine. Next i flashed geewiz recovery & converted files to ext4. rebooted. works fine too. Flashed JB rom. Phone still stuck at the X logo.
Kindly help...
Sent from my SCH-I500 using xda app-developers app
Click to expand...
Click to collapse
Let me follow those exact steps and see what happens. Mandatory silly question: did you wipe data after installing the JB rom?
Just to clarify to make sure I do the same thing, you went back to stock Froyo (ED05), not stock Gingerbread (EH03)?
It will sit at the X logo for quite some time after flashing the ROM, since it has to dalvik all the apps. "Quite some time" in this case means like 3-5 minutes though. It does take much longer than Gingerbread to do this, but it's not some craziness like half an hour.
:crying:
edit: If I can't duplicate this, I can post a kernel update where debugging is ON by default so we could use ADB to see what it's hanging up on, but I will totally understand if you don't want to go through all that effort. Been there!
Odined back to stock. Loaded full wipe 3.2 and everything is golden. MMS, WiFi etc works great.
Did have to restart before WiFi would start. ROM is a little laggy at first but once it settles performance is on par with other JB Roms:thumbup:
Thanks Mr.GeeWiz: looks great for a "beta"
Edit: speakerphone works great also, sweet^o^
Sent from my SCH-I500 using xda app-developers app
I still think in overall the ROM is laggy.
WiFi requires restart each time you switch it off.
Whatsapp is not working after SMS code verification.
Thanks DJP952
i decided to give this a try. everything works great. wifi did not require a reboot for me. camera, mms, wifi all work great. a little sluggish getting started, but pretty stable nonetheless. great work DJ. thanks
djp952 said:
Let me follow those exact steps and see what happens. Mandatory silly question: did you wipe data after installing the JB rom?
Just to clarify to make sure I do the same thing, you went back to stock Froyo (ED05), not stock Gingerbread (EH03)?
It will sit at the X logo for quite some time after flashing the ROM, since it has to dalvik all the apps. "Quite some time" in this case means like 3-5 minutes though. It does take much longer than Gingerbread to do this, but it's not some craziness like half an hour.
:crying:
edit: If I can't duplicate this, I can post a kernel update where debugging is ON by default so we could use ADB to see what it's hanging up on, but I will totally understand if you don't want to go through all that effort. Been there!
Click to expand...
Click to collapse
Hi djp,
I forgot to mention that I have bought the handset from Reliance (mobile service provider in India ). And that puts a limitation on me as I am not able to wipe the data dalvik and cache whenever I flash my phone to a new rom. If I do the data wipe I lose my 1x/3g Connectivity and I cannot restore it (tried various options like data fix files, apn restore etc etc) unless I flash the stock rom from Reliance (EK10 Froyo. No official gb rom for India yet ). Hence whenever I flash roms I do not wipe data. But in spite of that I have never faced any problems. Infact now the number of user apps is close to 100 and I can still flash any touchwiz rom (geewiz 2.8, 2.9, tsm resurrection and 2.2 etc without any problems. I am in no way promoting my method of not wiping but I have no other choice.
With the given restrictions that I have, please advise me how and what I can do to successfully flash JB rom. Currently there are no user apps in my device so clearing dalvik should not be a problem.
Sent from my SCH-I500 using xda app-developers app
swapnilss said:
Hi djp,
I forgot to mention that I have bought the handset from Reliance (mobile service provider in India ). And that puts a limitation on me as I am not able to wipe the data dalvik and cache whenever I flash my phone to a new rom. If I do the data wipe I lose my 1x/3g Connectivity and I cannot restore it (tried various options like data fix files, apn restore etc etc) unless I flash the stock rom from Reliance (EK10 Froyo. No official gb rom for India yet ). Hence whenever I flash roms I do not wipe data. But in spite of that I have never faced any problems. Infact now the number of user apps is close to 100 and I can still flash any touchwiz rom (geewiz 2.8, 2.9, tsm resurrection and 2.2 etc without any problems. I am in no way promoting my method of not wiping but I have no other choice.
With the given restrictions that I have, please advise me how and what I can do to successfully flash JB rom. Currently there are no user apps in my device so clearing dalvik should not be a problem.
Sent from my SCH-I500 using xda app-developers app
Click to expand...
Click to collapse
Ah, I see your point. When you had problems with activation, were you wiping data using Recovery or using the "Factory Reset" option in the OS? The latter, at least the Samsung version of it, will indeed nuke your activation. However, using Recovery to do it *shouldn't* affect anything. The activation stuff is stored in some secret location that recovery doesn't affect. I honestly have no idea where it's even stored, I used to think it was on the "EFS" volume, but as it turns out it's not!
I've never spent any real time trying to figure out a more surgical way to wipe data other than nuking the DATA and DBDATA partitions completely. Unfortunately, I don't really have the necessary knowledge to be able to do it any other way. While I'm relatively confident that wiping data through Recovery won't hurt, of course I cannot be 100% certain of that.
I apologize that I don't know enough about the non-Verizon models to be more confident in a recommendation for you. From what I know of the SCH-I500 CDMA, wiping outside of the Samsung OS, changing the modem version, or using the evil "EFS Clear" option in ODIN has never affected activation for me.
Sorry sir. Without a wipe, this one's not going to work. Just too far removed from the stock ROMs.
I can duplicate the Wifi issue and am looking into it. For me, it just took a REALLY long time for it to turn on, like 10 minutes. I think I know what I've done that might cause this and hope to fix it Getting the logs now.
edit: I think I see what the problem is, not sure why it hasn't been an issue with the "Media" version. I have to dynamically load and unload the Wifi driver to prevent bad things from happening, this isn't the usual way it's done. The OS is set up to start the Wifi "supplicant" automatically, when it probably shouldn't be. The supplicant can't load if the wifi driver isn't up yet. Sometimes it works, sometimes it doesn't, and when it doesn't Wifi will be hosed until the OS sorts it out. I have two solutions to try, the first is to see how Android behaves if I don't allow the supplicant to be started as part of the "main" service class, the second is to figure out that aforementioned bad thing and do it more properly. I'll get it. Sorry for the bug
Thanks for trying this guys! I never expected it to be as good as the "big" ROMs, and I wish I could do something about it being so ungodly slow for a while. It seems to pick up and work properly after all the apps have been updated and it's had a chance to do all the Google backups and whatnot that it wants to do.
One problem I saw yesterday for the first time that you might need to watch out for ... The battery TANKED in a matter of 2 hours for some reason. It looks like Google Search went off the reservation. I've also seen "GPS Status and Toolbox" destroy the battery if you don't close it all the way (long-press HOME, then swipe it away).
Oh, one cool feature we have now ... "Take Bug Report". Check in Settings/Developer options to see it. What this does is collect all kinds of logs and information about the phone and make an e-mail out of it. The default sends it to your GMail account. It's about 3MB, but it will be nice to have something everybody can use to gather logs for problem resolution rather than asking folks to hack around in ADB. So, if you run into weirdness, you can click that button, wait a while and watch scary "shell has been granted superuser permissions" pop up a lot, and you'll ultimately end up in GMail with something you can send you me or post parts of here! Great that Google added that in an accessible way finally!!
For the folks having trouble with turning Wifi on and off, I have an experimental/test patch for you. This patch will replace the GeeWiz 3.2 kernel with an updated version that changes the ramdisk/initramfs such that the wifi services are not started until Android requests them to be started. It may affect Wifi and Bluetooth Tethering, but my testing of the change here for both showed no ill-effects:
GeeWiz 3.2.1 Wifi Patch [Experimental] [EDIFY update-zip]
REMOVED: Please use official patch in the DOWNLOADS section of the main post
NOTE: You will be asked to re-opt-into the Google Location service on the first boot, this is normal. I clear the "Google Services Framework" app on any kernel change now to avoid the well known Jelly Bean issues with losing connection to Google Services when you alter the kernel. This may have been fixed with JZO54K, but why risk it when all you have to do is click "Agree"
You may have to reboot once more after installing this to clear up the Wifi on/off problems so that the Android settings are synchronized with the changes. If after a second reboot this does not solve your problem, please let me know!
Rollback: This change can be rolled back by installing the EDIFY update-zip for GeeWiz 3.2 again on top of it without wiping data. I can also package/provide a more specific rollback that only undoes the changes if necessary.
Please let me know if this solves your Wifi issues or not, so that I can either post it as a primary patch for GeeWiz 3.2 (and GW Media 3.2) or take another crack at solving it Thanks!!!
djp952 said:
Ah, I see your point. When you had problems with activation, were you wiping data using Recovery or using the "Factory Reset" option in the OS? The latter, at least the Samsung version of it, will indeed nuke your activation. However, using Recovery to do it *shouldn't* affect anything. The activation stuff is stored in some secret location that recovery doesn't affect. I honestly have no idea where it's even stored, I used to think it was on the "EFS" volume, but as it turns out it's not!
I've never spent any real time trying to figure out a more surgical way to wipe data other than nuking the DATA and DBDATA partitions completely. Unfortunately, I don't really have the necessary knowledge to be able to do it any other way. While I'm relatively confident that wiping data through Recovery won't hurt, of course I cannot be 100% certain of that.
I apologize that I don't know enough about the non-Verizon models to be more confident in a recommendation for you. From what I know of the SCH-I500 CDMA, wiping outside of the Samsung OS, changing the modem version, or using the evil "EFS Clear" option in ODIN has never affected activation for me.
Sorry sir. Without a wipe, this one's not going to work. Just too far removed from the stock ROMs.
Click to expand...
Click to collapse
Hi!
Wiped data dalvik and cache & now I am on JellyBean. Thanks djp952. :good::good::good:
This Rom looks great and apart from the Wifi issue ( havent got time to update my phone with the patch for wifi issue as yet) which takes some time to start or sometimes just rebooted my phone altogether, everything seems to work fine. Had a problem verifying Whatsapp but used their "Verify by Call" method and now its working fine too. Battery life seems good to me as of now. Liked the inbuilt BLN.
Sadly, as i mentioned before, i lost my 1x/3g connectivity (nothing to do with this Rom) and thats Ok for a day or two till i try & figure out something to enable it again. By the way, i have always done the wipe through recovery only. Never used the factory reset option in settings menu. And that means the 1x/3g settings get wiped out the moment I wipe Data (note: wiping dalvik & cache does not affect it).
Anyways , looking forward for more developments on this rom from you.
edit... The stock gallery does not seem to show all the files available in that folder. I have 1400 plus pics in that DCIM folder and the stock gallery shows 1000 or sometimes 500 only.
QuickPic
swapnilss said:
The stock gallery does not seem to show all the files available in that folder. I have 1400 plus pics in that DCIM folder and the stock gallery shows 1000 or sometimes 500 only.
Click to expand...
Click to collapse
We are a little off topic, but... I too have had nothing but problems with the stock Gallery application... not loading at all, not showing pictures, generally being grumpy (okay, so I get that way too sometimes), etc.
Try Quickpic (http://market.android.com/details?id=com.alensw.PicFolder) , it's a free app that is a gallery replacement (ad-free too!). Just make it the default and you should be set. If, for some reason, you don't like it... Just uninstall and revert back.
As for the Jellybean ROM... too sweet! I love having an original Galaxy S with JB running on it! I get questioned all the time what phone I have, because it's running the latest Android build and doesn't look like any out there right now.
Sent from my SCH-I500 using xda app-developers app
I'll load up some huge amount of photos and have a look at Gallery. I could switch from using the Google Nexus version to the AOSP, if it shows any improvements. One bonus we could get there is that I enabled widescreen photos in the AOSP branch Didn't include it for various reasons, one I recall was that it would crash if you tried the "face detect" option.
I'll have a look -- maybe it can be fixed! I also have to download this "Whatsapp" that people are using ... never heard of it What does it do?
Thanks as always for the feedback guys! Glad it's going pretty well thus far
FYI for any aspiring developers, I've started making a "HOW TO" guide for building GeeWiz from scratch in Post #2:
http://forum.xda-developers.com/showpost.php?p=33011164&postcount=2
I've gotten as far as how to make the AOSP ROM and compile the kernel. At minimum, I need to add how to make the ODIN files as well, but maybe later. Depending on level of interest, I can go into as much as anyone wants there, short of how to make actual code changes (but I could try to help offline). I think describing how to get from source to the flashable files is a good first step, I'll see how it goes from there
DJ, you should link this on the home page of GeeWiz 2.9, so more folks can get this. Also, I think you should name it JellyWiz...
Can I ask what this is ?
AndroidGee209 said:
Can I ask what this is ?
Click to expand...
Click to collapse
JellyBean for the Fascinate, with GeeWiz recovery and kernel
---------- Post added at 03:53 PM ---------- Previous post was at 03:51 PM ----------
where can i find the compass?
This is a kernel module that disables write protection on the system partition while running the stock kernel.
This module was written by @far2 for the htc one M8 and Desire 816 its source code can be found on his git here: https://github.com/flar2/wp_mod
So credit goes to him.
I have just checked to see if it would be compatible and compiled it against A3UL 1.31.401.3 kernel source. It has been tested to load and work fine with all stock kernels.
This is for stock kernels only and is of no use if you are running JMZ kernel. It will allow you to keep your stock kernel (for better compatibility across regional rom versions) but same as JMZ kernel it allows you to modify the system partition and install mods and fixes that will stick through a reboot without having to do them through recovery.
Install instructions
- download latest supersu-install from here https://download.chainfire.eu/696/Su...etrieve_file=1
- download the attached "A3UL_4.4.2-wp_mod.zip"
- reboot to recovery (TWRP)
- Install Supersu-install.zip (a current supersu install is required as one of it's scripts will load the module)
- Install A3UL_4.4.2-wp_mod.zip
- Reboot
To test if the module is loaded you can open Terminal Emulator and type "lsmod" and wp_mod.ko should be in the list of loaded modules.
For a further test you can run the following in Terminal emulator.
su
mount -o remount rw /system
echo "this is a wp_mod test" > /system/wp_mod_test.txt
sync
reboot
Once rebooted check that the /system/wp_mod_test.txt file you just created has stuck through reboot.
MiniBlu
MiniBlu said:
This is a kernel module that disables write protection on the system partition while running the stock kernel.
This module was written by @far2 for the htc one M8 and Desire 816 its source code can be found on his git here: https://github.com/flar2/wp_mod
So credit goes to him.
I have just checked to see if it would be compatible and compiled it against A3UL 1.31.401.3 kernel source. It has been tested to load and work fine with all but the latest at&t kernel (as I don't have a copy of the latest at&t kernel to test it with but I think it should work for it as well).
This is for stock kernels only and is of no use if you are running JMZ kernel. It will allow you to keep your stock kernel (for better compatibility across regional rom versions) but same as JMZ kernel it allows you to modify the system partition and install mods and fixes that will stick through a reboot without having to do them through recovery.
Install instructions
- download latest supersu-install from here https://download.chainfire.eu/696/Su...etrieve_file=1
- download the attached "A3UL_4.4.2-wp_mod.zip"
- reboot to recovery (TWRP)
- Install Supersu-install.zip (a current supersu install is required as one of it's scripts will load the module)
- Install A3UL_4.4.2-wp_mod.zip
- Reboot
To test if the module is loaded you can open Terminal Emulator and type "lsmod" and wp_mod.ko should be in the list of loaded modules.
For a further test you can run the following in Terminal emulator.
su
mount -o remount rw /system
echo "this is a wp_mod test" > /system/wp_mod_test.txt
sync
reboot
Once rebooted check that the /system/wp_mod_test.txt file you just created has stuck through reboot.
MiniBlu
Click to expand...
Click to collapse
Just to be clear...this is not a kernel but a mod for the kernel? And it has not been tested with the latest rom--1.53.502.11? Thats what I'm currently running. Thanks
KLit75 said:
Just to be clear...this is not a kernel but a mod for the kernel? And it has not been tested with the latest rom--1.53.502.11? Thats what I'm currently running. Thanks
Click to expand...
Click to collapse
Thats right. This zip just adds a loadable kernel module(wp_mod.ko) to /system/lib/modules and a script(install-recovery-2.sh) to /system/etc. Once its installed the supersu script will run the script which loads the module during boot. As there has been no major kernel version jump it should work fine with your at&t kernel but I have been unable to test it. If you could test it that would be great. If it doesn't work for you it can be easily removed by just deleteing those 2 files it creates from recovery(or I can post a zip to remove it)
MiniBlu
MiniBlu said:
Thats right. This zip just adds a loadable kernel module(wp_mod.ko) to /system/lib/modules and a script(install-recovery-2.sh) to /system/etc. Once its installed the supersu script will run the script which loads the module during boot. As there has been no major kernel version jump it should work fine with your at&t kernel but I have been unable to test it. If you could test it that would be great. If it doesn't work for you it can be easily removed by just deleteing those 2 files it creates from recovery(or I can post a zip to remove it)
MiniBlu
Click to expand...
Click to collapse
I will but been waiting for a chance to flash the slimrom. Cant believe its been 11 months ive owned this and both your kernel mod and slimrom post on the same day! But most likely ill have a better chance of using yours as a daily driver. Ill probably post results in a few days. Thats usually enough time to give you an accurate bug report.
Btw--if i test slimrom 1st, should i do a full wipe, restore backup then flash kernelmod in one shot?
Still waiting on a response to my gapps question in the other thread...i haven't flashed it yet. Want an opinion on which gapps to use. Theres no link posted and its not mentioned in install instructions.
Thanks, I've had jmz kernel but had a backup of stock kernel and went back to stock because jmz doesn't support exFAT SD cards , I tested it everything is working, FYI European carrier.
Ok so no obvious fix on the headphone issue with slimrom so I'm ready to test this. I just have a few questions
1. Can I just flash it with my stock backup I made earlier today (factory reset, flash rom, flash wp_mod, reboot system)? This backup already has supersu installed, busybox, etc.)
2. I had already made some modifications flashed through recovery and also altered wifi tethering which you helped me with. Do you foresee any problems having it already setup like this or should I just start from scratch?
I guess thats it for now. Actually just asking because you made it a point to flash su even though I'd imagine most people who are here are already running a rooted stock version. Thanks again!
KLit75 said:
Ok so no obvious fix on the headphone issue with slimrom so I'm ready to test this. I just have a few questions
1. Can I just flash it with my stock backup I made earlier today (factory reset, flash rom, flash wp_mod, reboot system)? This backup already has supersu installed, busybox, etc.)
No. That should be fine.
2. I had already made some modifications flashed through recovery and also altered wifi tethering which you helped me with. Do you foresee any problems having it already setup like this or should I just start from scratch?
No. It will have no affect on things that are already installed.
I guess thats it for now. Actually just asking because you made it a point to flash su even though I'd imagine most people who are here are already running a rooted stock version. Thanks again!
Click to expand...
Click to collapse
As long as you have a fairly recently updated supersu install it should be fine. If it's not working for you then just flash the latest supersu and and check again.
MiniBlu
Flashed it just now with my backup and everything went fine. Itll take a few days to find bugs (if any). This is really cool. Thanks!
*****Update****Nice job. Its running as good as ever with no obvious flaws. I did have one random reboot but ive been messing with quite a few xposed mods. Overall, its been excellent for nearly 48 hours. Thanks again.
@MiniBlu has anyone tested your kernel mod with the new slimrom?
KLit75 said:
@MiniBlu has anyone tested your kernel mod with the new slimrom?
Click to expand...
Click to collapse
I don't know. Not that I've heard of anyway. I've been meaning to have a look at it myself but haven't had time yet. From some of what I've read I think changes to the system drive are already sticking on slimrom so I think it might be runing a kernel based on JMZ kernel. I also haven't seen any link to there slimrom device tree or kernel source which hopefully we can find as could really help to finish of the CM builds I've been struggling with.
MiniBlu
I can confirm now slimrom is able to write to system.