Jump to content

ZTE BLADE series-Froyo kernel(2.6.32) source code


Guest agpoli

Recommended Posts

Regarding determining the Kernel config file has anyone tried the ZTE supplied blade 7227 one at https://github.com/ZTE-BLADE/ZTE-BLADE-2.6....blade_defconfig ?

I cant currently get into a build environment (Im stuck in windows @ the moment and my Ubuntu VM crashes when it needs RAM)

I'm not sure what that would give us over the 3z config, since we are running the 3z rom.

RE the source, hopefully the devs will keep everything in the shared github so any chance we can have usb host mode added from the posted ehci-msm7201_Blade.tbz for .29?

Edited by rjm2k
Link to comment
Share on other sites

Guest Salsaholic

My applause to all the efforts the devs put in here! This is advancing at incredible speed.

I seems like a dream coming true:

  • kernel sources, so hopefully issues can be fixed
  • optimised partition layout, so we can have a slim system + lots of space for apps (including updates from market)
  • all the brilliant devs working on one github repo, so we can dream of all the good stuff merged into one kernel!

While I appreciate the extremely quick release of kk's kernel and think this is a good way to show progress (and have people enjoy that B)), I see the last of those three wishes at risk. But well, it's probably too early to moan (and of course I have no right at all to complain), keep on going guys :unsure:

I would love to help, but as a linux n00b, I better stay out of the way... :angry:

Link to comment
Share on other sites

Guest Neroizm
I would love to help, but as a linux n00b, I better stay out of the way... :unsure:

Yeah im the same, i can make pretty pictures though lol.

I just wanted to give the devs a bit of encouragement also, you guys rock, thank you all very much for your time and efforts, i will continue to sit patiently and watch the epic madness unfold.

Oh and remember not to feed the trolls

Link to comment
Share on other sites

Guest Simon O
Regarding determining the Kernel config file has anyone tried the ZTE supplied blade 7227 one at https://github.com/ZTE-BLADE/ZTE-BLADE-2.6....blade_defconfig ?

I cant currently get into a build environment (Im stuck in windows @ the moment and my Ubuntu VM crashes when it needs RAM)

Use the Japanese config I provided in that zip. The address has already been changed.

You also need to change some source files:

arch/arm/mach-msm/Kconfig:#ZTE_BOOT_HUANGYANJUN_20100903_01 0x2A00000 ->0x02600000
arch/arm/mach-msm/Kconfig: default "0x02600000" if !MSM_STACKED_MEMORY
arch/arm/configs/msm7627_blade_defconfig:CONFIG_PHYS_OFFSET=0x02600000[/code] Change the values to 0x2A00000. The first one is a comment but I changed it anyway (makes no difference). To build you'll need the 2.2 or 2.2.1 toolchain. Then you can do
[code]make ARCH=arm CROSS_COMPILE=~/android/2.2.1/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- -j4
to build the kernel. I have a quad core CPU which is why I use -j4 Once built the zImage will be in /arch/arm/boot so copy this to whever you have the ramdisk For making the boot.img this works:
mkbootimg --base 0x2A00000 --kernel zImage --ramdisk ramdisk.gz -o boot.img

ramdisk.gz is a ramdisk from an existing boot.img. To extract this and learn more about boot images in general have a look at this link: http://android-dls.com/wiki/index.php?titl...king_the_images

You probably don't need to know these but I'll post them for the benefit of others :unsure:

Edited by flibblesan
Link to comment
Share on other sites

Guest Simon O
anyone else finding that vibrate doesn't work? I'm using kk's overclockable kernel

Vibrate works with the kernel I build using the Japanese config.

Link to comment
Share on other sites

Guest oh!dougal
5MP camera support:

edit the build config

Look for

#CONFIG_MACH_BLADE_CAMERA5MP is not set
and replace with
CONFIG_MACH_BLADE_CAMERA5MP=y

To be clear, that enables BOTH cameras, does it?

Link to comment
Share on other sites

5MP camera support:

edit the build config

Look for

#CONFIG_MACH_BLADE_CAMERA5MP is not set
and replace with
CONFIG_MACH_BLADE_CAMERA5MP=y

bit poor that they didn't keep that setting with the other camera drivers

Link to comment
Share on other sites

Use the Japanese config I provided in that zip. The address has already been changed.

You also need to change some source files:

arch/arm/mach-msm/Kconfig:#ZTE_BOOT_HUANGYANJUN_20100903_01 0x2A00000 ->0x02600000

arch/arm/mach-msm/Kconfig:	default "0x02600000" if !MSM_STACKED_MEMORY

arch/arm/configs/msm7627_blade_defconfig:CONFIG_PHYS_OFFSET=0x02600000
Change the values to 0x2A00000. The first one is a comment but I changed it anyway (makes no difference). To build you'll need the 2.2 or 2.2.1 toolchain. Then you can do
make ARCH=arm CROSS_COMPILE=~/android/2.2.1/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- -j4
to build the kernel. I have a quad core CPU which is why I use -j4 Once built the zImage will be in /arch/arm/boot so copy this to whever you have the ramdisk For making the boot.img this works:
mkbootimg --base 0x2A00000 --kernel zImage --ramdisk ramdisk.gz -o boot.img

ramdisk.gz is a ramdisk from an existing boot.img. To extract this and learn more about boot images in general have a look at this link: http://android-dls.com/wiki/index.php?titl...king_the_images

You probably don't need to know these but I'll post them for the benefit of others :unsure:

Thanks Fibblesan, I changed all addresses to 0x2A00000 as specified.

The JPN 5MP enabled config is now in the root of the directory as .config , I will add the info about the tool chain + building the Image to the github documentation (currently im using a full Sourcery G++ Lite installation for cross compilation.... not for everyone).

Now here is a minor dilemma, do we fork the code for the overclocking stuff or compile time flag it?

Edited by sawta
Link to comment
Share on other sites

Guest Simon O
Thanks Fibblesan, I changed all addresses to 0x2A00000 as specified.

The JPN 5MP enabled config is now in the root of the directory as .config , I will add the info about the tool chain + building the Image to the github documentation (currently im using a full Sourcery G++ Lite installation for cross compilation.... not for everyone).

Now here is a minor dilemma, do we fork the code for the overclocking stuff or compile time flag it?

Add it to the source along with compache and anything else useful then add flags to the config file so it's easy enough to build a stock kernel etc.

Link to comment
Share on other sites

Add it to the source along with compache and anything else useful then add flags to the config file so it's easy enough to build a stock kernel etc.

I Thought so.

Are the patches in an easily accessible location?

Thanks :unsure:

Link to comment
Share on other sites

Compcache: http://code.google.com/p/compcache/

Info: http://android.teknologism.org/compcache/

As for overclocking, not sure how to do it myself as yet.

I haven't looked into this particular arch but the /arch/arm/mach-msm/acpuclock* files should hold the keys to overclocking, we should just ask kallt_kaffe for his patches as his approach is tried and true :unsure: (and dont really have the time I am meant to be studying at the moment... eek!)

RE Compcache it does use extra CPU cycles and we have a CPU bound device do we need it?

Our blades carry 512mb of RAM which is quite a lot for current android handsets, would the extra CPU use of compcache be too much of an impact for device with such a large pool of working memory?

See

http://wiki.cyanogenmod.com/index.php?titl...or_Compcache.3F

EDIT:

the apuclock.c file contains the following frequency table B)

/* 7x27 normal with GSM capable modem */

static struct clkctl_acpu_speed pll0_245_pll1_960_pll2_1200[] = {

	{ 0, 19200, ACPU_PLL_TCXO, 0, 0, 19200, 0, 0, 30720 },

	{ 0, 120000, ACPU_PLL_1, 1, 7,  60000, 1, 3,  61440 },

	{ 1, 122880, ACPU_PLL_0, 4, 1,  61440, 1, 3,  61440 },

	{ 0, 200000, ACPU_PLL_2, 2, 5,  66667, 2, 4,  61440 },

	{ 1, 245760, ACPU_PLL_0, 4, 0, 122880, 1, 4,  61440 },

	{ 1, 320000, ACPU_PLL_1, 1, 2, 160000, 1, 5, 122880 },

	{ 0, 400000, ACPU_PLL_2, 2, 2, 133333, 2, 5, 122880 },

	{ 1, 480000, ACPU_PLL_1, 1, 1, 160000, 2, 6, 122880 },

	{ 1, 600000, ACPU_PLL_2, 2, 1, 200000, 2, 7, 122880 },

	{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0}, {0, 0, 0} }

};

Edited by sawta
Link to comment
Share on other sites

Guest kallt_kaffe
I Thought so.

Are the patches in an easily accessible location?

Thanks :unsure:

Here's the files I've changed for the Jellyfish RLS5 kernel.

0x02600000 -> 0x02A00000 relocation:

.config

arch/arm/mach-msm/board-zte-blade.c (Theres an 0x02500000 address here that was changed to 0x02900000)

arch/arm/mach-msm/Kconfig

arch/arm/mach-msm/Makefile.boot

Swap support, tun.ko and removed librasd module:

.config

Compcache swap notify support (also enable in compcache source before compiling compcache module):

mm/swapfile.c

include/linux/blkdev.h

Overclocking:

drivers/cpufreq/freq_table.c (Small change to make 600Mhz the default speed instead of the maximum supported)

arch/arm/mach-msm/acpuclock.c (The rest of the overclocking code. A define in the beginning controls if AHB is overclocked or not, I supposed this could be controlled i Kconfig instead)

changed_files_2.6.32.9.zip

Edited by kallt_kaffe
Link to comment
Share on other sites

Change the values to 0x2A00000. The first one is a comment but I changed it anyway (makes no difference).

Alternatively you should be able to change the base address for the boot image.

Link to comment
Share on other sites

Guest tmanutdb

I'd just like to thank all the devs here who make all of this possible. Great job guys. You have turned a decent bit of hardware into a great phone.

Link to comment
Share on other sites

Here's the files I've changed for the Jellyfish RLS5 kernel.

0x02600000 -> 0x02A00000 relocation:

.config

arch/arm/mach-msm/board-zte-blade.c (Theres an 0x02500000 address here that was changed to 0x02900000)

arch/arm/mach-msm/Kconfig

arch/arm/mach-msm/Makefile.boot

Swap support, tun.ko and removed librasd module:

.config

Compcache swap notify support (also enable in compcache source before compiling compcache module):

mm/swapfile.c

include/linux/blkdev.h

Overclocking:

drivers/cpufreq/freq_table.c (Small change to make 600Mhz the default speed instead of the maximum supported)

arch/arm/mach-msm/acpuclock.c (The rest of the overclocking code. A define in the beginning controls if AHB is overclocked or not, I supposed this could be controlled i Kconfig instead)

Thank you so much kallt_kaffe :unsure:

I have to go to work shortly but when im back I will add all of your changes to the repo B)

Do you have a github account that I can give access to?

Link to comment
Share on other sites

Guest kallt_kaffe
Alternatively you should be able to change the base address for the boot image.

Changing the base adress in the mkbootimg command does not help. In fact for a long time I put 0x03000000 in the mkbootimg command and it booted just fine. I believe the appsboot.mbn loads it to 0x02a00000 no matter what you put in the boot.im. Also compiling the the 2.1 kernel for 0x02600000 resulted in over 300 differences when I did a hex compare.

I suppose we could propably hack amss.mbn and appsboot.mbn to use 0x02500000 and 0x02600000 and free up 4Mb more memory but it's hardly worth the trouble and the risk. Changing the adresses and recompiling works fine.

Link to comment
Share on other sites

No, but I guess it's about time I create one.

Thats what I love to hear :unsure:

They also provide SVN access which may be better for people developing using windows (with cygwin/build servers etc), my experience of git on windows gave me the impression that it was an unloved child.

Link to comment
Share on other sites

Guest kallt_kaffe
5MP camera support:

edit the build config

Look for

#CONFIG_MACH_BLADE_CAMERA5MP is not set
and replace with
CONFIG_MACH_BLADE_CAMERA5MP=y

Actually unless I remeber it wrong, not even the Saunalahti stock kernel has that one enabled and 5Mpixel cameras works with the kernel I compiled and I didn't enable it. Propably some leftover config variable that is no longer used (but I guess a recursive grep could shed some light on it)

EDIT: Did an rgrep in drivers/ and arch/arm/mach-msm/ on but got no hits at all.

Edited by kallt_kaffe
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.