[ROM][WIP] United ICS

Search This thread

AndyFox2011

Senior Member
Sep 20, 2011
1,633
541
I really hate swap on slow devices.

For sd-ext, how about a script that tests for the presence of a partition, and mounts it at /data/ if it exists?

Sent from my Evo V 4G using Tapatalk 2

I'm looking at getting dark tremors script working on g1, it's gonna take a few edits I think,

Yeah swap is a horrible, but for low ram devices it's really needed

Sent from my HTC Desire using xda app-developers app
 

AndyFox2011

Senior Member
Sep 20, 2011
1,633
541
I don't know what I'm doing, but I've cloned that kernel source, it has all the dream/sapphire stuff, apart from a defconfig, so I imported an edge defconfig, I just need to test compiling it, but I doubt it'll work

Sent from my HTC Desire using xda app-developers app

---------- Post added at 08:07 PM ---------- Previous post was at 07:13 PM ----------

As I thought it doesn't work, need an expert to work on it :(

Sent from my HTC Desire using xda app-developers app
 
J

jianC

Guest
I don't know what I'm doing, but I've cloned that kernel source, it has all the dream/sapphire stuff, apart from a defconfig, so I imported an edge defconfig, I just need to test compiling it, but I doubt it'll work

Sent from my HTC Desire using xda app-developers app

---------- Post added at 08:07 PM ---------- Previous post was at 07:13 PM ----------

As I thought it doesn't work, need an expert to work on it :(

Sent from my HTC Desire using xda app-developers app

haha it won't work because the trout/sapphire board files aren't there :p
 

AndyFox2011

Senior Member
Sep 20, 2011
1,633
541
Oh you're right, the trout board files are there but the sapphire files aren't aren't complete and they're outdated :p

Thats alright though I only need trout :p problem is all the files are outdated and seem to be in the wrong format, I think they need updated so I need an expert down here.... Like ezterry level expert

Sent from my HTC Desire using xda app-developers app
 

wollac11

Senior Member
Aug 25, 2010
264
213
Cambridge
www.littlegreendude.com
Hi there, I know I am bumping up an old thread, sorry about that!

I am trying to build a ROM for the G1 with a CM9 base that is fairly usable and provides a Lollipop look and feel. I don't have much experience with kernel development so ICS is going to be as modern as I can hope to have as a base right now it would seem (unless anyone else has had some progress on Jelly Bean or KitKat or something and kept it secret from the world!). I am assuming at this point that all development here has stopped however perhaps if you are unable to continue you might be able to point me in the right direction.

Naturally I want to obtain the best experience possible so I want to use the best of what we have to far for the Dream as for the base of this ROM. As I understand it, the following things do not work on any ICS+ rom for the Dream at present:
Camera / Camcorder
Bluetooth?

These things don't work or are not present in BananaSandwich but DO work with this:
Bluetooth? (OP states it turns on which is more than I've seen in BananaSandwich)
ADB
710mhz overlock
other ICS performance tweaks in kernel?

And finally these things which work only in BananaSandwich:
Hardware Acceleration

Firstly, could you please could you confirm whether my understanding here is correct (in terms of what works with each). And, if so, are there sufficient sources available such that I could compile a ROM and kernel that would allow me to have hardware acceleration, working adb and the 710mhz overclock?

And finally, I have the latest cm9 source synced and only after having done so did I notice that you have a forked repository which perhaps I should have used instead since there is no device tree for the dream with the cm9 source (breakfast dream fails to find a repository). Can I build CM9 from those sources using the device tree from your repository or am I better just start with a repo sync of yours in a new directory? My phone is currently running a self-modified version of BannaSandwich (only done using kitchen for apk replacements with mods on the systemui etc nothing major) so once I have the device specific config setup I should be able to pull the proprietary blobs from there and get going.

I will also just note that I am not trying in anyway to pretend like I have the answer to any of the major issues with the G1 or that I have the skills to make it a good daily driver or anything like that (it's an ancient phone and expectations should be limited anyway!). I just fancied digging it out for a project to see how close of a Lollipop style experience I can bring to it. I've been able to get some way with mods using Android Kitchen and APKTool etc such as a skinned systemUI, newer core apps, material design Google apps etc but I really need to start from scratch with a new source build and do this properly if I want it to be worthwhile.

Thanks for any help you may be able to give with this. As you can likely tell I have never complied a ROM for an unsupported device such as the Dream/G1 before so I am not really used to having so few resources available and could do with a nudge in the right direction to get started ;)
 
Last edited:
  • Like
Reactions: jianC

tvall

Senior Member
Oct 10, 2010
2,230
792
29
Springfield
I believe you are right about whats working and whats not. I never got to actually test bluetooth, but it does claim to turn on.

there are only a few changes in the kernel for this rom. i forget what they all are, but they are minimal.

starting from pure cm9 and manually fetching our individual repos would probably be quite a pain. you need the device files, plus other repos that we hacked up to make build. you can do a repo init in the directory you already synced cm9 to save you some downloading. use the uniteddev repo instead of my personal one as thats where the latest development happened.

i havent even used my g1 in about 8 months, but i'd be happy to dust it off and help with any questions or anything you have.

have fun!
 
  • Like
Reactions: wollac11

AndDiSa

Senior Member
Dec 2, 2009
3,704
5,076
Heidelberg
HTC Desire
Nexus 7
@wollac11 I do not want to delude you, but I tried to build and run ICS for G1 some years ago. It booted, but the G1 had too low memory to run all the processes started on ICS. Even with KSM and swap enabled the performance will be much to low for a daily driver.
Because of that I've dropped development and I built an Ice Creamed Gingerbread version.
 
  • Like
Reactions: demkantor

wollac11

Senior Member
Aug 25, 2010
264
213
Cambridge
www.littlegreendude.com
I believe you are right about whats working and whats not. I never got to actually test bluetooth, but it does claim to turn on.

there are only a few changes in the kernel for this rom. i forget what they all are, but they are minimal.

starting from pure cm9 and manually fetching our individual repos would probably be quite a pain. you need the device files, plus other repos that we hacked up to make build. you can do a repo init in the directory you already synced cm9 to save you some downloading. use the uniteddev repo instead of my personal one as thats where the latest development happened.

i havent even used my g1 in about 8 months, but i'd be happy to dust it off and help with any questions or anything you have.

have fun!

Thanks for your reply, I appreciate it. I had assumed that only the device files would be needed and was planning on just adding the device folder by adding a local manifest with the device path (on the UnitedDev repo) and then syncing. But if that alone won't work then I guess I'll just have to sync with the whole uniteddev repository.

My main concerns with this are that this particular ROM has never actually booted in my device for some reason and also that this ROM contains no hardware acceleration and so I figured that if I based on the UnitedDev repository I would have the same issues automatically with any builds made from that source. FYI: The MTD partitions are set up correctly and I was able to get it all to flash fine but it never boots. Other ICS ROMS boot fine and in the case of such as BannaSandwich also has hardware acceleration. Edit: managed to get it booting, just not using the kernel (ezterry's kernel + ics patches) provided in the OP. That kernel would not boot so I had to use a different one.

What actually breaks the hardware acceleration on this ROM? Is it just the kernel and/or proprietary blobs used or are there other things in the device or ROM configuration? For example, if I were to pull the proprietary files from my device which is running CM9 with HWA, used the source from UnitedDev repo to build the ROM including these proprietary files and then used the kernel provided with BannaSandwich, would I have working HWA?

---------- Post added at 01:11 PM ---------- Previous post was at 01:02 PM ----------

@wollac11 I do not want to delude you, but I tried to build and run ICS for G1 some years ago. It booted, but the G1 had too low memory to run all the processes started on ICS. Even with KSM and swap enabled the performance will be much to low for a daily driver.
Because of that I've dropped development and I built an Ice Creamed Gingerbread version.

Thanks! I'm very aware performance is never going to be great on this ancient phone. That said, I've had my G1 running ICS in various shapes and forms over the past year or so and am able to get it to quite a stable state. I have been using ICS exclusively on this device over this period and it is certainly "usable". I actually have been able to run many of the latest Google apps with it too (see my video here: https://www.youtube.com/watch?v=20waboZCmTo)
 
Last edited:
  • Like
Reactions: AndDiSa

Top Liked Posts

  • There are no posts matching your filters.
  • 22
    This is ice cream sandwich for the Dream/Sapphire. Yes, you read that right. Android 4.0, Ice Cream Sandwich. We currently have cm9 and AOKP mostly working. AOSP is next

    What works:
    It boots
    Touchscreen
    Wifi
    Mobile data
    Audio
    sdcard
    Bluetooth (maybe. It turns on. I don't have devices to test with)

    What doesn't:
    Camera
    Hardware acceleration
    probably everything else, tell us


    info:
    Android 4.0.4
    latest cm9 source as of 09 Aug 2013
    Latest aokp code as of 6 of June 2012


    Downloads:


    Cm9:

    Alpha3 - https://dl.dropboxusercontent.com/u/19978192/cm-9-20130802-UNOFFICIAL-dream_sapphire.zip
    Alpha2.2 - http://dl.dropbox.com/u/19978192/android/update-cm-9.0.0-RC0-dream_sapphire-alpha2.2.zip
    Alpha2 - http://db.tt/ejZqOHDX
    alpha1.1 - http://uniteddev.com/wordpress/file...0-RC0-dream_sapphire-UNOFFICIAL- alpha1.1.zip
    alpha1 - http://uniteddev.com/wordpress/file....0.0-RC0-dream_sapphire-UNOFFICIAL-alpha1.zip
    alpha0 - http://uniteddev.com/wordpress/files/update-cm-9.0.0-RC0-dream_sapphire-UNOFFICIAL-signed.zip


    Aokp:
    Alpha2 - http://db.tt/p2lQtue2
    Alpha1 - skipped
    Alpha0 - http://db.tt/jErGK56g


    kernel -
    ezterry's kernel + ics patches and some performance tweaks (enabled 710mhz overclock and other things) http://www.mediafire.com/?py8asp6ab109dyl
    ezterry's ezgb 1.5.2 http://sandbox.devnull.name/android/ezgb-kernel/ezgb-2636-v1.5.2_S.zip

    cmtd files
    http://www.mediafire.com/?amh4qn763gi339r
    http://www.mediafire.com/?vw51n1ctl8j1p4t
    http://uniteddev.com/wordpress/files/roms/cm9/mtdpartmap.txt

    Note: the rom zips are not signed. Flash with clockworkmod, or sign yourself. Once this becomes more usable, I will start signing them.


    very slim gapps http://www.mediafire.com/?o94hh30vh0q1oy7 (there are here for testing purposes. contains copyrighted google code that I am not really allowed to distribute. use at your own risk!)

    possible fix for camera:
    http://www.mediafire.com/?smfhlv2xon1e45z

    flashing instructions:
    you need to use custom mtd. I used 140 for /system and 20 for /cache (rom currently requires a /cache partitoin. will be fixed in a later update)
    1. download all needed files and place them on your sdcard. mtdpartmap.txt needs to be at the root of it
    2. flash recovery patch.
    3. wipe system, data, and cache
    4. reboot into recovery.
    5. flash rom and kernel
    6. Flash gapps if desired
    7. flash boot patch
    8. reboot into rom
    9. wait.
    10. enjoy the awesome

    To use data, you need to put in your apn settings. Google to find these.

    Thanks to:
    Google - android
    CyanogenMod team - the awesome rom
    Aokp team - aokp
    Ezterry and AndDiSa - kernel for ics
    Infinimint and the united dev team - hosting and support
    My girlfriend - for loving me even though I worked almost all day on this.
    8
    Pictures (screenshots later)
    ad11f7f7-8e52-3172.jpg

    ad11f7f7-8e8a-5eea.jpg
    ad11f7f7-8e99-82a3.jpg

    Sorry for the blurry pics. Used my other phone running cm9 with a partially working cam

    Roadmap:
    Slim down (in progress)
    Mess with hw acceleration and camera (maybe never) - this will be alpha3/beta1 if it happens
    Port AOSP

    Changelog:
    Alpha2.2: update to latest code. good cm9 release.
    Alpha2.1: not released
    Alpha2: fixed audio
    Alpha1.1: small fixes (keyboard, other stuff) cm9 only bugfix release
    Alpha1: fixed wifi, sdcard, and home button (skiped in aokp)
    Alpha0: initial public release.

    If you want to build yourself (please do, we need more people fixing stuff), the repo init command will look like this:
    Code:
    $ repo init -u https://github.com/UnitedDev/android.git -b ics

    Note: rules on using this rom for other projects
    Most of android is under the apache2 license. just don't violate that and we're good.

    more specific rules: source is on my github, do whatever you want within the terms of the licences. make your own rom, use it to port other devices, release a rom that is exactly the same with a new name and a shiny theme, I don't care as long as you are building from source.
    If you use prebuilt anything from releases of this rom, please be nice and send me a pm asking for permission. this is supposed to be an open community, but i hate seeing 20+ cm7 roms with nothing different except name and bundled apps. If you don't ask, and you havent made something different enough from this rom to be worth having its own thread, it may or may not get reported.
    5
    i now have a g1! soon I will update some of my roms. need to find some time to set up a build box again..
    5
    Source link in second post updated from my repo to the uniteddev one. New build coming as soon as I test it

    Sent from my Evo V 4G using Tapatalk 2
    4
    Interesting.
    Seems to me from reading a bunch of comments in this thread, that there is a severe limitation on this system image as a result of limited internal storage space.

    I took a quick peek at the image, and the first thing that strikes me very clearly is that this image is NOT ODEX'ed.

    There is a lot of confusion regarding the use of ODEX files in a system image. There is, in fact, no downside to their use, EXCEPT that it will prevent you from modification of contents of /system/framework/, which virtually nobody does anyway, so it is irrelevant.

    Basically, when you have a system image that has NOT been ODEX'ed, you end up effectively with multiple copies of 'classes.dex' for each application.

    In a non-ODEX'ed system image, all of the archives in /system/app/ and /system/framework/ contain a file 'classes.dex', which is basically the java code for those archives. Upon first boot, the classes.dex file is extracted, optimized, and stored in /data/dalvik-cache, so you effectively have TWO COPIES. One in the application archive, one in /data/dalvik-cache/.

    When you ODEX a system image, you perform this optimization IN ADVANCE, and store the ODEX file right beside the application archive. NOT ONLY THAT, but you also DELETE the classes.dex file from the archive, since it is then redundant.

    So the effect of ODEX'ing a system image, is that the system partition will be marginally bigger, the data partition will be DRASTICALLY smaller, and firstboot will be FAR FAR faster (since it won't be running dexopt to generate dalvik-cache).