[ROM] Kyorarom Serenity (Test Builds - CM9 Based)

Search This thread

bioniclizard

Senior Member
Sep 18, 2010
113
7
Don't try to install gapps, it will fail as the core ICS system itself take 90-95% of disk space. So gapps will not be completely installed when u try installing it. Only if we remove some core apps/files then only we can able to install it.

If you are interested then try my rom MPICS which has integrated gapps.

Oh, ok, that makes sense. I'll try it, thank you :)
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
Don't try to install gapps, it will fail as the core ICS system itself take 90-95% of disk space. So gapps will not be completely installed when u try installing it. Only if we remove some core apps/files then only we can able to install it.

If you are interested then try my rom MPICS which has integrated gapps.

Well would you be so kind as to tell me how you got it to work because since I downloaded the repo I have found myself fixing bugs non stop, and pretty obvious bugs at that. There are a million things wrong with it so I must be missing something else. When I compiled it for the SGS2 it worked flawlessly first time, but the Galaxy 3 repo is being a right pain.

Sent from my GT-I9100 using XDA
 
  • Like
Reactions: lorcatron1

moole

Senior Member
Sep 22, 2010
90
26
You should use ext2 for /system. It's the fastest and uses the least CPU time - meaning less battery. And since it's not being written on, there's no risk of corruption.
 

Spitlebug

Senior Member
Dec 1, 2011
139
8
Why is ICS so bulky? You'd think that there is some extraneous stuff in there that doesn't apply to our phone that can be removed? :confused:
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
Why is ICS so bulky? You'd think that there is some extraneous stuff in there that doesn't apply to our phone that can be removed? :confused:

Well on the SGS2, it's 236MB with GApps installed, but that's the full Google Apps with Face Unlock and all that stuff there. Without it, it's 160MB. I'm thinking there is some crap in there that shouldn't be.

EDIT: And take into account the SGS2 also has to have HDPI and No-DPI textures and PNGs in there which are HUGE.
 
Well would you be so kind as to tell me how you got it to work because since I downloaded the repo I have found myself fixing bugs non stop, and pretty obvious bugs at that. There are a million things wrong with it so I must be missing something else. When I compiled it for the SGS2 it worked flawlessly first time, but the Galaxy 3 repo is being a right pain.

Sent from my GT-I9100 using XDA

I will share the device folder with you by PM as it's not GIT. It's pleasure helping the legend. It would be great if you share me the steps to put my device folder in GIT. I am not familiar with GIT. Thanks.
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
I will share the device folder with you by PM as it's not GIT. It's pleasure helping the legend. It would be great if you share me the steps to put my device folder in GIT. I am not familiar with GIT. Thanks.

Sure thing. I have made a few tweaks which will help everyone in the long run (still trying to iron out the kinks with them) such as inline kernel building which means a matching kernel is compiled at the same time and can be released together, and various other functions which make the devs life easier.
 
  • Like
Reactions: lorcatron1 and z3c0

z3c0

Senior Member
Apr 20, 2011
64
15
I'm not getting root either. There's a new option in CM9 under Settings -> Developer Options -> Root Access that allows you to specify whether apps and/or adb get to use root.

I tried all options (also with USB debugging on/off) and rebooting but nothing seemed to make a difference.

btw, the adb shell has full device access no matter how you configure the Root Access option. I guess if Root Access was turned off for adb, you shouldn't even be able to cd into /data/data etc.

Titanium Backup says it tried to call /system/xbin/su unsuccessfully.


As for gapps, I successfully installed the most recent ICS version from here by manually extracting the system folder to my /sd-ext and then symlinking the contents of each folder into the corresponding directories in /system. You just need to cd to each of the 4 folders (tts files are already the same) and do it like this:

cd /system/app
find /sd-ext/system/app -maxdepth 1 -type f -exec ln -s {} \;

In /system/app you should also rm Gallery2.* Provision.* QuickSearchBox.*

This may not be a suitable solution for everyone because you can't assume that an sd card is present (+ the ext-partition) but it'll do until /system loses a few pounds. I see some useless 10 MB in /system/media/video for an instance and maybe some odex files can go or some apks can be loaded off to /data/app.
 

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
Got a bit more space in /system by telling it to make an update.zip (which is the format I wanted it in in the first place) with thanks to cdesai pointing out how to make a update.zip.

It's now got about 19MB free rather than 3MB. I will get more space in there by getting rid of more crap, like those video files in /system/media/video.

You may ask why an update.zip increases storage when it is not zipped on the system after installation, well the reason is most likely due to the fact that when it makes an update.zip, it zipaligns and optimises the APKs which frees up a bit more space. Sure I could deodex the ROM and save a bit more space but because this ROM is still extremely unstable and most likely will be flashed by people for like 10 minutes before they scream in terror and run back to ICSforG3s much MUCH better build, I'd rather not waste their time with waiting for the dalvik-cache to be built. Best to just let it be odexed and optimise size the old Kyorarom way: remove crap.

EDIT: I also have inline kernel building working 100% as well so every time the update.zip is generated, the latest kernel is packaged in there immediately, therefore the kernel has no name or branding, just 'G3MOD Test Version ###' (### being the build number). If you don't like G3MOD then you'll have to flash a different kernel after installing the ROM. If this inconveniences you then I apologise but G3MOD works nicely for me, the sources are right here and I can make changes to it where I see fit.

EDIT 2: Removing those video files saves another 10MB. It'll add up.
 
Last edited:

cdesai

Inactive Recognized Developer
Jan 16, 2011
2,296
4,088
IN YOUR HEAD
Got a bit more space in /system by telling it to make an update.zip (which is the format I wanted it in in the first place) with thanks to cdesai pointing out how to make a update.zip.

It's now got about 19MB free rather than 3MB. I will get more space in there by getting rid of more crap, like those video files in /system/media/video.

You may ask why an update.zip increases storage when it is not zipped on the system after installation, well the reason is most likely due to the fact that when it makes an update.zip, it zipaligns and optimises the APKs which frees up a bit more space. Sure I could deodex the ROM and save a bit more space but because this ROM is still extremely unstable and most likely will be flashed by people for like 10 minutes before they scream in terror and run back to ICSforG3s much MUCH better build, I'd rather not waste their time with waiting for the dalvik-cache to be built. Best to just let it be odexed and optimise size the old Kyorarom way: remove crap.

EDIT: I also have inline kernel building working 100% as well so every time the update.zip is generated, the latest kernel is packaged in there immediately, therefore the kernel has no name or branding, just 'G3MOD Test Version ###' (### being the build number). If you don't like G3MOD then you'll have to flash a different kernel after installing the ROM. If this inconveniences you then I apologise but G3MOD works nicely for me, the sources are right here and I can make changes to it where I see fit.

EDIT 2: Removing those video files saves another 10MB. It'll add up.
Inherit config_mini_phone.mk (in device/samsung/apollo/cm.mk) instead of full_phone.mk and you'll have about 15 mb of more free space

Plus, that hack to kernel/samsung/apollo/init/version.c is real ugly, might wanna revert that to the default and then set LOCALVERSION in defconfig :)
 
  • Like
Reactions: Spitlebug

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
Inherit config_mini_phone.mk (in device/samsung/apollo/cm.mk) instead of full_phone.mk and you'll have about 15 mb of more free space

Plus, that hack to kernel/samsung/apollo/init/version.c is real ugly, might wanna revert that to the default and then set LOCALVERSION in defconfig :)

Just changed to mini config and will see what difference it makes. As for the kernel change, it may be ugly but it works. No point changing something that works. It was something done by Dharam to make life easier for the team when a lot more people were working on G3MOD, but now that only moikop and I are doing it, it's not so much of an issue.

Also, Superuser is working for me on the latest build. Either I fixed it, or it wasn't broken for me... Weird.
 
  • Like
Reactions: lorcatron1

cdesai

Inactive Recognized Developer
Jan 16, 2011
2,296
4,088
IN YOUR HEAD
Just changed to mini config and will see what difference it makes. As for the kernel change, it may be ugly but it works. No point changing something that works. It was something done by Dharam to make life easier for the team when a lot more people were working on G3MOD, but now that only moikop and I are doing it, it's not so much of an issue.

Also, Superuser is working for me on the latest build. Either I fixed it, or it wasn't broken for me... Weird.
Yea, nothing big.


@those with the su issue, grab the latest su zip from http://androidsu.com/ , and flash it in recovery

Link : http://downloads.androidsu.com/superuser/Superuser-3.0.7-efghi-signed.zip
 

moole

Senior Member
Sep 22, 2010
90
26
Just changed to mini config and will see what difference it makes. As for the kernel change, it may be ugly but it works. No point changing something that works. It was something done by Dharam to make life easier for the team when a lot more people were working on G3MOD, but now that only moikop and I are doing it, it's not so much of an issue.

Also, Superuser is working for me on the latest build. Either I fixed it, or it wasn't broken for me... Weird.

Do you have the Phone FC problem in the latest build?

Wouldn't mind an update.zip either way, it's fun testing this. :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 48
    1679uz7.jpg


    This thread will be for my ICS builds which will slowly develop into Kyorarom Serenity (not to be confused with Eternity which will be Gingerbread based).

    Basic Features
    • JIT
    • Rooted
    • CM9 built from source code (repository updated extremely often as I use it for my S2)
    • Kyoratweaks
    • Kyoralock (coming soon)
    • Kyoraapp
    • Hybrid Data2SD and SD card swap
    • Serenity Kernel
    • Overclock to 1.2GHz
    • CWM 5 recovery
    • Multi-boot
    • Voodoo Sound v10 (need to add app - coming soon)

    What Doesn't Work
    • Bluetooth
    • Mobile AP
    • Camera previews
    • GPS
    • USB Mounting (UMS/MTP/PTP)
    • WiFi signal in the status bar
    • Still very slow (animations <- due to still immature drivers)
    • Camera.apk crashes for some
    • Sound recording
    • Live streaming of audio
    • SIM PIN lock (you MUST disable your SIM PIN code before using this ROM)

    Sources

    Screenshots
    Will come when I get time.

    Demonstration Video
    Might make one at some point.

    Kyoraapp Thread (For Guides And Help With It)

    Bugs And Questions Thread

    Performance
    Who really cares?

    Credits
    Team G3MOD for their kernel
    marcellusbe for his work on the Galaxy 3
    Kyrillos for all the scripts he's gotten working on this phone
    moikop for his assistance with G3MOD Kernel and Kyoraapp
    Shree_Jamdar for the Kyorarom Demo video
    Rudolf895 for all his guides
    RafayelG for helping and pointing me in the right direction
    apollo5801 and Arakmar for their work on ICS to date
    tom3q for his work on OpenFIMG and helping me with porting kernel 3.x

    A big thanks all the respective developers of the included apps

    And lastly thanks to Samsung for making a great phone and then screwing it up with weird software :p

    Thanks For Donations
    Check the Ascendency thread for the donations.
    28
    Planned Features/Requested Features
    • fs.convert
    • fs.options (easy peasy)
    • Do not enable Data2SD while in recovery
    • Touch recovery
    • Fix dictionary
    • /system/sd mount for Titanium (really wish that Titanium would stop being stupid and using a ridiculous location for it's SD-EXT partition...)

    Changelog
    27-06-2012
    • Updated OpenFIMG
    • CM9 RC1

    12-06-2012
    • ROM branded as Kyorarom in modversion
    • New update.zip naming convention
    • Updated CM repo
    • Loads of tweaks all over the place from CM team
    • This fix didn't happen on the G3, only big phones - Boot animation now has Cid in it, rather than Andy (if you don't understand, you'll know what I mean when you see it) (I will be giving it my own boot animation at some point. I need to make my animation though. It's in my head, I just need to get the time to create it.)
    • Took MIUI out again seeing CM9 finally fixed the media player
    • Added 'hold Menu to search' function.

    05-06-2012
    • Lock screen options easier to locate
    • Lock screen weather
    • New music player that ****ing works. (called Apollo - coincidence?)
    • Screen off CRT animation works

    28-05-2012
    • Updated CM repo
    • Changed default background

    21-05-2012
    • Data2SD
    • Hybrid Data2SD v2
    • Added MIUI Music (a lot of features aren't working right in it though, I will look at that when I care enough).
    • Updated to latest CM repo (nothing too interesting to see there)
    • init.d is now working
    • Kyoratweaks are working

    08-05-2011
    • 2-stage kernel boot
    • CWM 5.5 (non touch)
    • Force boot mode functionality (hold HOME to force normal boot, and hold MENU to force recovery boot - could be useful for people with broken volume buttons)
    • Faster boot
    • Removed G3MOD boot logo
    • Boot logs have moved to /tmp/ (stage1.txt for stage1 log, fsdetect.txt for FS Detection module, fs.current for showing current filesystem structure)
    • Updated CM to latest repo
    • Theme Chooser (see Settings -> Interface/Themes)
    • Lock screen shortcuts (see Settings -> Interface/Settings -> Lock screen)
    • DSP Manager has better support for WM8994

    04-05-2012
    • Kyoraapp
    • Kyoratweaks (not working just yet, but the script is all there)
    • Kyoralock (not automatic yet)
    • Fixed assert issue in update.zip
    • Added SamsungServiceMode application. Use *#*#0011#*#* and *#*#4636#*#*. There's probably more but those are the ones I know.
    • bmlunlock built from source (smaller)
    • Using kernels busybox when updating rather than using a packaged one (saves space in update.zip)
    • Fixed adb install/pm command
    • Added File Manager

    03-05-2012
    • Update.zip format (which will be the format for all future releases. If you cannot flash update.zips, then flash G3MOD kernel first).
    • G3MOD Inline Kernel Building (latest G3MOD on every release)
    • Fixed reboot menu (now says Download instead of Bootloader, and it reboots to download mode)
    • Fixed Superuser
    • Fixed Camera
    • Fixed Phone.apk
    • Fixed sensors
    • More free space in /system

    Test 003
    • ODIN TAR
    • Integrated G3MOD Kernel (HB Test 002)

    Test 002
    • First Build
    25
    Download Links

    Serenity 2012-06-27 (update.zip)
    Serenity 2012-06-12 (update.zip)
    Test 2012-06-05 (update.zip)
    Test 2012-05-28 (update.zip) (Dev-Host)
    Test 2012-05-28 (update.zip) (Mediafire)
    Test 2012-05-21 (update.zip)
    Test 2012-05-08 (update.zip)
    Test 2012-05-04 (update.zip)
    Test 2012-05-03 (update.zip)

    In case people are wondering where the ODIN.tars and system.imgs are, I am not going to release Serenity in those formats as they are not standards compliant, and make the file much bulkier than an update.zip. As well as that, they require more effort to produce. I am only releasing one ODIN version (the foolproof version) for in case people experience issues flashing the update.zip, and these issues should only exist first time.

    Extra Downloads

    Google Apps Mini <- small Google Apps package that gives you the basics to get running.
    ODIN Version (foolproof method) <- For if installing the update.zip doesn't work right for you. This will make sure everything is set up how it should be. This release is outdated now so I suggest downloading this and the latest update.zip and updating after flashing the ODIN version. Includes G3MOD 2.5 OC version.
    Non-OC Kernel (G3MOD 2.5)
    LatinIME.apk <- full keyboard from SGS2 with all the dictionaries and such if they aren't working for you. This can be installed like any normal APK.
    25
    Update on what I've been up to today:

    I haven't been touching Android itself as I haven't really been that concerned with it. I more wanted to get the kernel to compile nicely. I already had it compiling alright, but it wasn't how I wanted it. I wanted to build upon G3MODs foundations and at the same time take a step away from it so therefore I have gone and COMPLETELY rebuilt the initramfs for G3MOD and replaced it with a more modern and more standards friendly 2-stage init. Now this is going to get a little technical so turn away if these things annoy you or you can't be assed reading it:

    The old system was a 1 stage init and was hugely ugly to look at, especially from a programmers point of view. We had so many files sitting there, heck we had 17 files in the root alone. Sure most of those files were deleted upon boot if they weren't needed (ie Gingerbread files if you booted Froyo) but it's still there when you're developing and it's hideous as a programmer to work around that.

    This isn't anyones fault that this happened, it's just everyone piled more and more into G3MOD that it got bloated as hell and I just had to take the initiative to clean it up and 2-stage init seemed like the best method. Let me go over how both systems worked:

    • Kernel would boot
    • Kernel would extract the initramfs from the kernel image in RAM to /
    • Kernel would pass control over to whatever file is at /init
    • /init was a link to a script 'init.sh'
    • init.sh would execute /sbin/pre-init.sh
    • pre-init.sh would load core drivers for the NAND
    • pre-init would detect the filesystems and set them all up (EXT2/4/RFS/JFS etc)
    • pre-init would detect settings and all that (compcache, fs.options, Hybrid Data2SD, etc)
    • pre-init would detect the operating system (Froyo, GB, ICS)
    • pre-init would select the appropriate files for the OS and delete the unneeded files
    • pre-init would hand over control to the respective init for the OS
    • init would mount filesystems and set everything up and boot Android
    • Android would boot

    That was exhausting just typing all that... well here's the new system:

    • Kernel would boot
    • Kernel would extract the initramfs from the kernel image in RAM to /
    • Kernel would pass control over to whatever file is at /init
    • /init is a small script that would extract one of two files: ramdisk.cpio or ramdisk-recovery.cpio, and depending on the boot mode (recovery or normal)
    • /init would load core drivers for the NAND
    • /init would run a script to detect your filesystems (fsdetect.sh)
    • /init will delete itself and all the temporary files in /stage1
    • /init will execute the init process for Android
    • Android would boot

    As you can see it's a lot simpler (namely because it doesn't do Hybrid Data2SD and all that stuff yet, but implementing those functions is a lot easier, but more importantly the way to implement other OSes is WAY easier now. Instead of piling them all up in / and making a mess of things, I can make separate cpios for each (ramdisk-froyo.cpio, ramdisk-gb.cpio, ramdisk-ics.cpio) and they can all share the same ramdisk-recovery.cpio. No need to have recovery-ics,gb,froyo anymore.

    Add to that, I have been working hard to get CWM 5.5 working properly as well. I'm not sure if something has changed in CWM5 compared to old versions but I've had a right ***** of a job getting it going. Firstly, it was in the wrong resolution, so I could only see the top half of the screen, then it was in the wrong font, and then the keys were all wrong, and now cache won't mount. Everything else mounts just fine, but cache isn't mounting automatically. If I mount it from adb shell or UART it works fine, but it just won't do it from CWM which is really annoying me.

    And what's more, for some reason telling recovery to reboot will just reboot back into recovery again and again. I had to literally go into the bootloader and edit the BOOT_MODE parameter to stop it. Really annoying.

    So yeah most of these changes all work (the Android side of things works flawlessly as long as you don't don't want Data2SD or anything like that), just recovery is being a pain right now. Once I get it all sorted I shall release it. Expect slightly faster boot times, and a more reliable boot.

    Lastly I removed the G3MOD logo. Not because I don't like it, I loved it. I removed it because I am tired of people asking how to remove it because they don't like it.

    EDIT: Update: I got cache working right now in recovery. I forced it to mount upon boot and that fixed it up. As for the rebooting thing, I'm still stumped there. In the mean time I am working in an override where you can hold the home button while booting to force it into normal mode, and you can hold the menu button to force it into the recovery menu.
    18
    Guides

    Installing update.zips
    • You will need to flash a kernel that includes CWM, or install CWM on a stock ROM. There are guides on how to do this. I recommend installing G3MOD to get CWM.
    • Copy update.zip to SD Card
    • Reboot phone into CWM (turn off the phone and turn it back on while holding both volume keys and the home key)
    • Go to "install zip from sdcard"
    • Choose to install the update.zip
    • Reboot phone
    • Enjoy Kyorarom

    Adding Kyorarom support to your kernel
    • Add all the CM7/9 support functionality (basic stuff like USB and audio)
    • Make a copy of the defconfig (either .config or apollo_rev_02_defconfig) called cyanogenmod_apollo_defconfig
    • Edit the config to locate your initramfs (this will depend on where you keep your initramfs). If you use old G3 style (G3MOD, Fugumod) of storing the kernel with initramfs in a directory below the kernel you will want source/../initramfs, whereas if you use Kyorakernel style (initramfs inside kernel directory), you want source/initramfs. If you want 2-stage style, you will want source/usr/initramfs.list. Refer to my kernel to see how I did it as 2-stage is quite tricky and different to what we used to use.
    • Compile the kernel with the config (make -j2 cyanogenmod_apollo_defconfig) to test it works
    • Modify scripts/kconfig/Makefile as shown in this commit: https://github.com/dharamg3/G3MOD/commit/c8adf776285365d7fece528e20914d778e2a8d1a#diff-2
    • Clean the kernel repository (make clean) and (make mrproper)