Jump to content

1.6 ROM development


Guest Timmmm

Recommended Posts

Only /dev/accel causes a freeze for me. At least on startup. I suppose the others could be the cause of restarting when the sensors are accessed. Is that what you meant?

/dev/accel definitely exists. Must be the code that accesses it that crashes the phone, but it just gives up if it doesn't have permissions.

Still can't get rild to work, and I now have most of the huawei stuff running, including qmuxd and port-bridge (no idea what they do). The error seems to be something to do with the oncrpc service. I'm kind of stuck though because all the files it mentions are present and readable and I have no idea what "Unable to open router port: Permission denied" is refering to. :-\

You're right, it is only that line. Ther rest of the whole init.rc file is fine. Booted using modified init.rc file now.

EDIT: So i've put the rest of the files over ... changed the init.rc, changed build.prop in the system.img. What else do I have to do?!

Edited by xangma
Link to comment
Share on other sites

Are the extra library files being grabbed from Paul's MCR? That's where I've copied them from, although I haven't actually tried using them yet.

How do you rebuild the system.img after this? And are you guys editing the init.rc that's on the device after you flash the images, or are you using another source?

Another question: how do you get fastboot mode working when connected to a linux machine? Currently I can't connect, although adb works when the device is booted up usually (after I edited the udev rules).

Edited by jmmL
Link to comment
Share on other sites

http://www.4shared.com/file/172127872/ddd3b24c/16test.html

That should boot but it doesn't have much working. It has everything you need to get it working though (all of the extra lib files etc) and it has build.prop (system.img) and init.rc (ramdisk) edits. I don't know what to do from then on in. Anyone help? Should we be looking at kernel config files and rebuilding? If so can we get the MCK source? =]

and @jmmL ... search up unyaffs2 and mkfs.yaffs2

and no, i'm editing them before =]

Fastboot mode? Hold down the END key and VOL DOWN while turning the device on. Then run the fastboot script to do what you want =]

Edited by xangma
Link to comment
Share on other sites

and @jmmL ... search up unyaffs2 and mkfs.yaffs2

and no, i'm editing them before =]

Fastboot mode? Hold down the END key and VOL DOWN while turning the device on. Then run the fastboot script to do what you want =]

Yep, just discovered mkyaffs2image in the /bin folder of the android source tree, thanks.

Sorry, wasn't clear about the fastboot mode. I can do all the fastboot stuff fine in windows, but on linux whenever I try to execute the fastboot scripts it hangs at "<Waiting for device>". My guess is that I need to enable something else, like I had to to get adb working (which didn't work out of the box on karmic).

Link to comment
Share on other sites

Yep, just discovered mkyaffs2image in the /bin folder of the android source tree, thanks.

Sorry, wasn't clear about the fastboot mode. I can do all the fastboot stuff fine in windows, but on linux whenever I try to execute the fastboot scripts it hangs at "<Waiting for device>". My guess is that I need to enable something else, like I had to to get adb working (which didn't work out of the box on karmic).

Must be root user or sudo it.

Link to comment
Share on other sites

Must be root user or sudo it.

D'oh! That's probably it.

I'm using mkyaffs2image to make my system.img - do I need to use the 'convert' option to produce a big-endian image?

Link to comment
Share on other sites

D'oh! That's probably it.

I'm using mkyaffs2image to make my system.img - do I need to use the 'convert' option to produce a big-endian image?

No? I don't think. All I typed in was 'mkfs.yaffs2 system system.img'

Obviously, being the directory with the system folder inside it.

Link to comment
Share on other sites

No? I don't think. All I typed in was 'mkfs.yaffs2 system system.img'

Obviously, being the directory with the system folder inside it.

I can't find mkfs.yaffs2 anywhere though - all the links seem to point to openhandsetalliance.com.cn, which is down for me. mkyaffs2image is the one provided in the android source tree - but produces files that are about 89MB in size, whereas all the previous system.imgs i've seen have been about 45MB..

Link to comment
Share on other sites

I can't find mkfs.yaffs2 anywhere though - all the links seem to point to openhandsetalliance.com.cn, which is down for me. mkyaffs2image is the one provided in the android source tree - but produces files that are about 89MB in size, whereas all the previous system.imgs i've seen have been about 45MB..

Mmmm mine was too. Gotta take out the extra apps =/ I think anyways. I got mine down to about 65 I think.

Link to comment
Share on other sites

Mmmm mine was too. Gotta take out the extra apps =/ I think anyways. I got mine down to about 65 I think.

What's the limit with how big system.img can be? I've just checked my /lib folder - it must be that. I decided to chuck in all the libs from MCR, just to see what would happen..

Just checked /lib again - I had put duplicates of half the stuff - down to 58M now.

Edit:

back to the endian stuff. I don't really appreciate the significance of this. Tim mentioned earlier that ARM is big-endian, although wikipedia says that it is bi-endian and can therefore handle big- and little-endian stuff.

Edited by jmmL
Link to comment
Share on other sites

Well, I flashed my boot.img and system.img. It looked promising for a while - a new booting screen (the "ANDROID" text shimmered, kind of), but now I'm back to a black screen with a cursor thing at the top. adb still works though.

Link to comment
Share on other sites

Well, I flashed my boot.img and system.img. It looked promising for a while - a new booting screen (the "ANDROID" text shimmered, kind of), but now I'm back to a black screen with a cursor thing at the top. adb still works though.

Have you edited the init.rc? Also, can you get a bootlog (logcat)?

Link to comment
Share on other sites

Wait wait wait, sorry to be a pain ... can you post the init.rc?

Yep, attached.

Edit:

Tidbits from bugreport:

<5>Kernel command line: mem=128M console=ttyMSM2,115200n8 androidboot.hardware=qcom console=ttyUSBCONSOLE0 androidboot.console=ttyUSBCONSOLE0


<3>Unknown boot option `androidboot.hardware=qcom': ignoring


<3>Unknown boot option `androidboot.console=ttyUSBCONSOLE0': ignoring
------ EVENT LOG TAGS ------


42	answer (to life the universe etc|3)


314   pi


2718  e
12-13 20:32:47.450 W/libdbus ( 1438): Failed to start message bus: Failed to open "/etc/dbus.conf": Permission denied

init.rc.zip

Edited by jmmL
Link to comment
Share on other sites

Yep, attached.

Edit:

Tidbits from bugreport:

<5>Kernel command line: mem=128M console=ttyMSM2,115200n8 androidboot.hardware=qcom console=ttyUSBCONSOLE0 androidboot.console=ttyUSBCONSOLE0


 <3>Unknown boot option `androidboot.hardware=qcom': ignoring


 <3>Unknown boot option `androidboot.console=ttyUSBCONSOLE0': ignoring
------ EVENT LOG TAGS ------


 42	answer (to life the universe etc|3)


 314   pi


 2718  e
12-13 20:32:47.450 W/libdbus ( 1438): Failed to start message bus: Failed to open "/etc/dbus.conf": Permission denied

Haha oh dear. How are you applying these updates? fastboot? I had the same thing for a bit, erased everything and reverted back to an earlier init.rc I had then kept adding and it worked =/

Link to comment
Share on other sites

Haha oh dear. How are you applying these updates? fastboot? I had the same thing for a bit, erased everything and reverted back to an earlier init.rc I had then kept adding and it worked =/

Any chance you could post your current (or last working) init.rc?

Yep, applying via fastboot, which now works when issued with sudo. When you say "erased everything" what do you mean?

Link to comment
Share on other sites

Any chance you could post your current (or last working) init.rc?

Yep, applying via fastboot, which now works when issued with sudo. When you say "erased everything" what do you mean?

I thought that was it, in that image. I mean I was organising my builds in versions. I got up to version 17 haha. I'll give it a go in a bit =]

Link to comment
Share on other sites

Does your build.prop have these lines in it:

rild.libpath=/system/lib/libril-qc-1.so

rild.libargs=-d /dev/smd0

If not, maybe that's why the radio's not working... Don't ask me where you set those variables in the build process though - I totally agree about the lack of documentation!

I have that in my build.prop and I don't get a radio =[ It just skips it. Doesn't even say anything about it in my logcat.

@jmmL

This is my init.rc file that I can currently boot off. Do remember i've (for some reason) used the MCK kernel =]

init.rc.txt

Link to comment
Share on other sites

Are the extra library files being grabbed from Paul's MCR?

One of those stock rom things anyway. Doesn't really matter which.

Another question: how do you get fastboot mode working when connected to a linux machine? Currently I can't connect, although adb works when the device is booted up usually (after I edited the udev rules).

Run fastboot as root, or edit your udev rules. I'm pretty sure the pulse has a different device ID when running in fastboot mode.

How do you rebuild the system.img after this? And are you guys editing the init.rc that's on the device after you flash the images, or are you using another source?

More instruction/documentation time! This is from memory so excuse the mistakes...

How to modify the ROM you have built

There are two important things you get from building the android source. One is ramdisk.img and the other is the system folder, both in $ROMDIR/android-1.6-source/out/target/product/generic or something like that. Copy these to somewhere easy to get to, let's say ~/rom. Also copy your kernel (zImage) there.

Now there are two things we can do: add files to the system.img from the Huawei ROM, and edit the init.rc file in the ramdisk.

To do the former, just copy the files. Remember to set the permissions correctly with chmod +x foo for executables, and its a good idea to do chmod -R +r system on the whole tree.

To unpack the ramdisk so you can edit the init.rc, execute these commands:

 cd ~/rom

 mkdir ramdisk

 cd ramdisk

 gunzip -c ../ramdisk.img | cpio -i
Then edit init.rc. To rebuild the ramdisk.img run
 cd ~/rom/ramdisk

 find . | cpio -o -H newc | gzip > ../ramdisk.img
Then you can build the boot.img using mkbootimg as described previously. To build the system.img simply run
 cd ~/rom

 mkyaffs2image system system.img

mkyaffs2image can be found in $ROMDIR/android-1.6-source/out/host/linux-x86/bin. I suggest you add that directory to your path.

I will attach my init.rc and list of copied files this evening. xangma: Have you tried running rild manually via adb shell (note you can pass the build.prop parameters on the command line)? Do you get the same errors as me? Also, I looked in the rild source, and it definitely doesn't ignore the build.prop.

I'm at a bit of a loss as to what huawei's build has that mine doesn't which can be causing the RPC errors...

Link to comment
Share on other sites

I will attach my init.rc and list of copied files this evening. xangma: Have you tried running rild manually via adb shell (note you can pass the build.prop parameters on the command line)? Do you get the same errors as me? Also, I looked in the rild source, and it definitely doesn't ignore the build.prop.

I'm at a bit of a loss as to what huawei's build has that mine doesn't which can be causing the RPC errors...

I didn't know that. I might try it tonight. My attention span is slowly going ...... haha

Link to comment
Share on other sites

Aha, oncrpc must be this:

http://en.wikipedia.org/wiki/Open_Network_..._Procedure_Call

The page mentions a port mapper, which I guess could be 'port-bridge'? Although I do have port-bridge running and rild still doesn't work. The error message about the router port makes more sense though. I don't suppose someone could build a static arm binary of netstat, and see what ports are open on the T-Mobile rom?

Link to comment
Share on other sites

Tim and/or xangma - could you post your system.img and boot.img that you're working on at the moment?

I don't know what happened to my build, but it doesn't seem to flash correctly.

I'll give the netstat thing a go (later on today) - although this is also new territory for me. Do you have instructions or links to instructions on how to build it?

Link to comment
Share on other sites

I tried again to get donut working. Still no luck, although Tim's tip of making all of system readable helped solved a few permissions issues. I still cannot get past the flashy android loading screen. I've attached logcat and bugreport again. Here's where the boot ultimately fails as seen in logcat:

[size="1"]I/PackageManager( 1034): /system/app/ContactsProvider.apk changed; unpacking 

 W/PackageManager( 1034): Code path for pkg : com.android.providers.contacts changing form /system/app/GoogleContactsProvider_B116SP01.apk to /system/app/ContactsProvider.apk 

 W/PackageManager( 1034): Resource path for pkg : com.android.providers.contacts changing form /system/app/GoogleContactsProvider_B116SP01.apk to /system/app/ContactsProvider.apk [/size]

 E/System  ( 1034): Failure starting core service 

 E/System  ( 1034): java.lang.NullPointerException 

 E/System  ( 1034):	 at com.android.server.PackageManagerService.scanDirLI(PackageManagerService.java:1764) 

 E/System  ( 1034):	 at com.android.server.PackageManagerService.<init>(PackageManagerService.java:492) 

 E/System  ( 1034):	 at com.android.server.PackageManagerService.main(PackageManagerService.java:266) 

 E/System  ( 1034):	 at com.android.server.ServerThread.run(SystemServer.java:112) 

 E/AndroidRuntime( 1034): Crash logging skipped, no checkin service 

 I/SystemServer( 1034): Starting Status Bar Service. 

 E/SystemServer( 1034): Failure starting StatusBarService 

 E/SystemServer( 1034): java.lang.NullPointerException 

 E/SystemServer( 1034):	 at com.android.server.status.StatusBarIcon.getIcon(StatusBarIcon.java:143) 

 E/SystemServer( 1034):	 at com.android.server.status.StatusBarIcon.<init>(StatusBarIcon.java:65) 

 E/SystemServer( 1034):	 at com.android.server.status.StatusBarService.makeStatusBarView(StatusBarService.java:306) 

 E/SystemServer( 1034):	 at com.android.server.status.StatusBarService.<init>(StatusBarService.java:237) 

 E/SystemServer( 1034):	 at com.android.server.ServerThread.run(SystemServer.java:194) 

 E/AndroidRuntime( 1034): Crash logging skipped, no checkin service 

 I/SystemServer( 1034): Starting Clipboard Service. 

 I/SystemServer( 1034): Starting Input Method Service. 

 E/SystemServer( 1034): Failure starting Input Manager Service 

 E/SystemServer( 1034): java.lang.NullPointerException 

 E/SystemServer( 1034):	 at android.app.ApplicationContext.registerReceiverInternal(ApplicationContext.java:782) 

 E/SystemServer( 1034):	 at android.app.ApplicationContext.registerReceiver(ApplicationContext.java:757) 

 E/SystemServer( 1034):	 at android.app.ApplicationContext.registerReceiver(ApplicationContext.java:751) 

 E/SystemServer( 1034):	 at com.android.server.InputMethodManagerService.<init>(InputMethodManagerService.java:437) 

 E/SystemServer( 1034):	 at com.android.server.ServerThread.run(SystemServer.java:209) 

 E/AndroidRuntime( 1034): Crash logging skipped, no checkin service 

 I/SystemServer( 1034): Starting NetStat Service. 

 I/SystemServer( 1034): Starting Connectivity Service. 

 [b]W/dalvikvm( 1034): threadid=25: thread exiting with uncaught exception (group=0x4001da18) 

 E/AndroidRuntime( 1034): Uncaught handler: thread ConnectivityThread exiting due to uncaught exception 

 E/AndroidRuntime( 1034): *** EXCEPTION IN SYSTEM PROCESS.  System will crash. [/b]

 E/AndroidRuntime( 1034): java.lang.NullPointerException 

 E/AndroidRuntime( 1034):	 at android.app.ActivityThread.getProvider(ActivityThread.java:3938) 

 E/AndroidRuntime( 1034):	 at android.app.ActivityThread.acquireProvider(ActivityThread.java:3967) 

 E/AndroidRuntime( 1034):	 at android.app.ApplicationContext$ApplicationContentResolver.acquireProvider(ApplicationContext.java:1514) 

 E/AndroidRuntime( 1034):	 at android.content.ContentResolver.acquireProvider(ContentResolver.java:579) 

 E/AndroidRuntime( 1034):	 at android.content.ContentResolver.query(ContentResolver.java:147) 

 E/AndroidRuntime( 1034):	 at android.provider.Settings$NameValueCache.getString(Settings.java:472) 

 E/AndroidRuntime( 1034):	 at android.provider.Settings$Secure.getString(Settings.java:1649) 

 E/AndroidRuntime( 1034):	 at android.provider.Settings$Secure.getInt(Settings.java:1689) 

 E/AndroidRuntime( 1034):	 at com.android.server.ConnectivityService.getPersistedNetworkPreference(ConnectivityService.java:182) 

 E/AndroidRuntime( 1034):	 at com.android.server.ConnectivityService.<init>(ConnectivityService.java:123) 

 E/AndroidRuntime( 1034):	 at com.android.server.ConnectivityService.<init>(ConnectivityService.java:47) 

 E/AndroidRuntime( 1034):	 at com.android.server.ConnectivityService$ConnectivityThread.run(ConnectivityService.java:87) 

 E/AndroidRuntime( 1034): Crash logging skipped, no checkin service 

 I/Process ( 1034): Sending signal. PID: 1034 SIG: 9 

 I/ServiceManager(  992): service 'batteryinfo' died 

 I/ServiceManager(  992): service 'usagestats' died 

 I/ServiceManager(  992): service 'telephony.registry' died 

 I/ServiceManager(  992): service 'SurfaceFlinger' died 

 I/ServiceManager(  992): service 'entropy' died 

 I/ServiceManager(  992): service 'power' died 

 I/ServiceManager(  992): service 'clipboard' died 

 I/ServiceManager(  992): service 'netstat' died 

 E/installd( 1000): eof 

 E/installd( 1000): failed to read size 

 I/installd( 1000): closing connection 

 I/Zygote  (  996): Exit zygote because system server (1034) has terminated

I've bolded the exact line where the screen stops showing the android loading screen and reverts to a blank screen.

Edit: or I would have done, if bold text showed within code tags..

bug.txt

log.txt

Edited by jmmL
Link to comment
Share on other sites

We need to be replacing lib files to get a startup. I have just made a 1.6 rom with bluetooth working. It's sick I know. I'll see what else I can do.

EDIT: and sound.

Edited by xangma
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.