[Q] self-build stock-kernel not booting - Galaxy S I9000 Q&A, Help & Troubleshooting

Hi all,
I am having hard time since a couple of days building correct samsung kernel stock forked from here https://github.com/project-voodoo/linux_gt-i9000
I followed build README, modified makefile to point to correct codesourcery cross compiler, followed supercurio notes for localversion...
When I change the original zimage of XWJVB from samfirmware.com with the one I get from the build and I falsh it, the kernel doesn't boot. Am I missing something?
Do I need to include the intiramfs? or Do I need to change the bootloader (I ignore if any cryptographic calculation are made by the original bootloader before loading the kernel)
Thanks

Initramfs are not included in stock kernel sources...that's why it doesn't boot, try with Voodoo initramfs that are surely the best ones!
PS: if u need some help just contact me! i am also a kernel dev since a couple of months
Sent from my GT-I9000 using Tapatalk

Hi Simone201,
Thanks for the hint.
I made a progress but phone still not booting.
I edited .config to point to the intiramfs folder
CONFIG_INITRAMFS_SOURCE="~/samsung_initramfs/gingerbread-i9000xwjvb"
CONFIG_INITRAMFS_COMPRESSION_GZIP=y
ONFIG_INITRAMFS_ROOT_UID=0
CONFIG_INITRAMFS_ROOT_GID=0
Click to expand...
Click to collapse
and I was asked to either compress the intiramfs or not. I have tried both options.
once
CONFIG_INITRAMFS_COMPRESSION_NONE=y
# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
Click to expand...
Click to collapse
and other trail with
CONFIG_INITRAMFS_COMPRESSION_NONE is not set
# CONFIG_INITRAMFS_COMPRESSION_GZIP=y
Click to expand...
Click to collapse
now with the intiramfs, the zimage size increase from 3.3 mb to 5.4 mb but still doesn't match the stock size 5.5 mb
What shall I do?
thanks for your help

Made some progress but still fighting to get it work!
I am already studying scripts of supercurio from github.
I figured out that I have to delete the .igit and .gitignore from the intiramfs (I am using XWJVB from supercurio repository too).
As I understand, it is optional to copy the .ko generated module from my compilation to my /lib/module in my intiramfs. Correct? Anyway, I will make it.
I thought I have to use Sourcery G++ Lite 2009q3-68 toolchain for ARM EABI as cross-compiler (arm-none-eabi-), but start doubting it as some scripts are using Sourcery G++ Lite 2009q3-67 (arm-none -linux-gnueabi-) (for kernel compilation!)
I flashed my phone with all XWJVB module from samfirmaware.com (boot, sbl, data, phone, pda ...) with reformat enabled. it is working. And now I am trying to only flash the pda partition with the zimage I obtain out of compilation.
I am really disappointed that there is no detailed compilation guide.
Anyway, thanks for your help guys!

Related

Kernel compilation for Samsung Galaxy S I9000

Hi all,
we are trying to build our own kernel for a Samsung Galaxy S (I9000XWJVB).
What we did so far:
- Download the correct sources from "opensource.samsung.com"
- Studied the README
- Installed cross-compiler toolchain
- Created ".config" as described in README
- Kernel compiled
Compilation worked fine -> zImage was available (but with only 2mb very)
OK, looks like initramfs is missing.
The first question is now, where to get / how to create a correct initramfs?
We copied the initramfs from Leshak and we extracted an ".cpio" from a working zImage.
Then we tried to use them in the ".config" (CONFIG_INITRAMFS_SOURCE) for kernel compilation.
Resultant zImage was larger (around 6mb) so it looks like something changed.
But once we installed the tared zImage on the phone (using Odin), the phone freezes during reboot.
Any advice how to progress here?
Is it possible to use Leshaks initramfs for all Galaxy S phones? Or is this only for a specific version? The CONFIG_INITRAMFS_SOURCE should point to the "initrd.arm.initramfs_list", correct? And not to the initramfs-folder?
And: Is there a way to get any type of kernel boot debugging message from the booting phone back to the PC (or the phone screen)?
Many thanks in advance!
I don't know much about kernels. But i will try to help. Have you tried other itiramfs or reconfig them?
There are not many people that will know answer so ask some kernel developers like hardcore, supercurio...
Sent from my GT-I9000 using XDA Premium App
Just saw 2nd question. I think that it should point to intiramfs folder. You can zip all kernel files and upload it so i can take a look at them
Sent from my GT-I9000 using XDA Premium App
Hi,
themate1987 said:
I don't know much about kernels. But i will try to help. Have you tried other itiramfs or reconfig them?
There are not many people that will know answer so ask some kernel developers like hardcore, supercurio...
Click to expand...
Click to collapse
we tried four different initramfs now, but ended up always with a freezing phone.
I would like to ask the kernel experts directly, but I'm new to this forum and not allowed to post in the developers forums. I hope that one of the gurus will reply to this thread.
themate1987 said:
Just saw 2nd question. I think that it should point to intiramfs folder.
Click to expand...
Click to collapse
My understanding is that the .list file will describe the structure of the initramfs folder and if this file is present, it should by used in the .config. Otherwise the .config should point to the folder.
Please correct me if I'm wrong.
But anyway, we tried both versions, none worked.
Regards!
PM some kernel developers
Sent from my GT-I9000 using XDA Premium App
Use speedmod kernel patches with the readme file he has given..
or else you can go through supercurio threads also ...
they explained the kernel compilation methods....
thanks
Did you get this to work finally? I too am trying to compile and flash a custom kernel ( For SGS4G) I point my INIIRAMFS_SOURCE to an extracted initram dir, but the resulting boot zImage does not proceed past the initial boot screen(s) Please let me know if you succeeded, and if yes, how.
Thanks!
What I got the problem was about initramfs.cpio.
At that moment , the most important point you know is you should make the file in Linux..
When my friend made me a file is initramfs.cpio , it worked well.
But what I made in window made always troubles for compile.
So if you made a initramfs.cpio with hexeditor in window, try it in Linux again..
Thx!

[TOOL] guestekrnL doItYourself STOCK KERNEL BUILDER for dummies - MAKE UR OWN KERNEL!

Ohai, everypwny!​Wanna impress your girlfriend without spending any money? Show her your love through compiling her your own O2X stock kernel! ​
Requirements: A PC capable of running a virtual Linux machine -- if your PC isn't much older than 5-6 years there shouldn't be a problem. Just make sure you have enough RAM (at least 1,5 - 2 GB recommended) -- no programming - or special linux knowledge required!
## Info: The VMWare image has been created by Jonas Hendrickx for XDA (I just altered/modified it for my needs).
5 simple steps to success: -- EVERYONE can do that!
Download and install Vmware Player (Freeware): http://www.vmware.com/go/get-player (VirtualBox will work too if you like this app better)
Download the file "guestekrnL_doItYourself_developer.rar" (http://guendhoer.com:9000/guestekrnL_doItYourself_developer.rar or https://docs.google.com/open?id=0B5HJ_FpcC9ymM3ZCS0l5RFJtZnc , 1.5GB) and unpack it (using WinRar or 7Zip or...) to any folder of your choice, and afterwards double-click the file "Android Developer.vmx" -- or alternatively open VMware Player first and then import the virtual machine located in the unpacked .rar contents
Click "I copied it" and wait until virtual machine starts up, login with password "root"
Open folder "kernel_source" (on Desktop), double-click file "buildkernel" and click "run in terminal"
Wait until terminal window closes, and start using your new kernel located in folder Desktop/kernel_source/guestekrnL_BUILDS
After this an exact copy of current guestekrnL "SR99R100.1PI.1337-GoodBye" has been built and packaged to a flashable CWM-Zip.
Possible things you can easily change yourself for making your own different/improved kernel versions:
Use a different compilation toolchain
(p.ex. http://releases.linaro.org/<choose a release version>/components/android/toolchain/<choose a gcc version>/)
download the file "android-toolchain-eabi-linaro-..." and replace the folder "android-toolchain-eabi" on Desktop of virtual machine with the unpacked content of the downloaded file
There are many different builds of linaro toolchains available, resulting in different smoothness, battery life and stability of the built kernel. Important:
[*]After toolchain change you have to edit the file "buildkernel" (rightclick -> open with gedit) and change the gcc version number to the one of your new toolchain (you find it here: Desktop/android-toolchain-eabi/lib/gcc/arm-eabi/<gcc version number>), save the file afterwards
Attention: if you switch to a toolchain newer than september 2011, you MUST change
# CONFIG_ALLOW_CPU_ALIGNMENT is not set
Click to expand...
Click to collapse
to
CONFIG_ALLOW_CPU_ALIGNMENT=y
Click to expand...
Click to collapse
in file Desktop/kernel_source/arch/arm/configs/gueste_defconfig -- otherwise kernel won't boot!
Only use toolchains with a number up to "4.6" in name, the newer ones ("4.7") are for ICS and not Gingerbread!
NOT every new toolchain will work with O2X stock kernels -> p.ex. 4.6.4 might not work while 4.6.2 works. Every toolchain older or equal to september 2011 should work BUT maybe you will have to remove some of the build flags not recognized by the older chain.
Always check Desktop/kernel_source/guestekrnL_BUILDS/build.log for errors after you made a new kernel build, especially at the bottom of the file. (Warnings don't matter.)
Use a different version-name for the built kernel
right-click file "buildkernel" in kernel_source folder -> open with gedit -> change kernelVersion there
Use a different general name for the built kernel (other than "guestekrnL")
double-click file "Makefile" in kernel_source folder -> click "Display" -> change kernel name there (change ".9-guestekrnL" to ".9-<yourKernelName>")
Attention: the Android app GuesteOC won't work if it doesn't find the String "guestekrnL" in kernel name! You then have to use the function-reduced version of the OC app by TrymHansen available for all kernels!
Use different build optimization flags
double-click file "Makefile" in kernel_source folder -> click "Display" -> search "CFLAGS_GUESTE" -> edit the build flags there
you find a good overview + explainations of available build flags here http://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/Optimize-Options.html
and an interesting article on which flags the toolchain guys use here: http://www.linaro.org/linaro-blog/2...aro-android-2011-10-and-future-optimizations/
it is completely up to YOU which flags to use and not to use!
Stock standard would be:
CFLAGS_GUESTE = -O2
Click to expand...
Click to collapse
while the flags of current guestekrnL are:
CFLAGS_GUESTE = -O3 -ffast-math \
-mtune=cortex-a9 -march=armv7-a \
-mfloat-abi=softfp -mfpu=vfpv3-d16 \
-fsingle-precision-constant -fgraphite-identity \
-ftree-loop-distribution -ftree-loop-linear \
-floop-interchange -floop-strip-mine -floop-block \
-fmodulo-sched -fmodulo-sched-allow-regmoves \
-fno-inline-functions
Click to expand...
Click to collapse
if you have many flags like above, make line-breaks using slashes like above and only put 2-3 flags in one line!
Use different basic kernel configuration values
open folder "kernel_source", click the search-icon, search for "gueste"
edit the 2 files "guestekrnl.c" and "guestekrnl.h" of the result set according to your needs
guestekrnl.c and guestekrnl.h contain many default voltage/speed/... values, you can change them easily there
if you change MAX_OVERCLOCK to a higher value, you might need to change MAX_VOLTAGE as well and have to alter the whole cpu voltage and frequency table (see next point)
Help & explainations here: http://forum.xda-developers.com/showpost.php?p=26696158&postcount=25
Change CPU scaling voltages and speed steps
Edit the file Desktop/kernel_source/arch/arm/mach-tegra/nvrm/core/common/nvrm_clocks_limits.c and alter the two arrays "FakeShmooVoltages[]" and "FakepScaledCpuLimits"
the difference from one voltage step to another one needs to be lower or equal than 100mV;; too low voltages for a step results in freezes !!
the values for MAX_VOLTAGE and MAX_OVERCLOCK are located in file guestekrnL.h!
Help & explainations here: http://forum.xda-developers.com/showpost.php?p=26696158&postcount=25
Example of creating a kernel overclockable to 1.5 GHz: http://forum.xda-developers.com/showpost.php?p=26759653&postcount=58
Enable/Disable kernel features you want to use or don't want to use
open folder "kernel_source", click the search-icon, search for "gueste", edit the file "gueste_defconfig" according to your needs
"<featureName>=y" means the feature is enabled
"#<featureName> is not set" means the feature is disabled
Google for more information about what the different kernel features do, just past the kernel feature name in Google and you will find a description for most of them
Change the text shown to user on CWM installation of kernel
Edit the file Desktop/kernel_source/zipstructure/META-INF/com/google/android/updater-script according to your needs
If you are completely bad-ass you can also compile the compilation toolchain from the official sources yourself instead of using a prebuilt one (even if the prebuilt ones tend to be much more stable than the self-compiled ones)
Useful & important additional tipps/hints: Check this out
Info: If you ever stop the compilation progress before finishing, you have to edit the file "Makefile" in kernel folder and remove the version number from the version string (so only .9-guestekrnL should remain), otherwise you will have double version number in next kernel build.
Start being a kernel developer for XDA right now, today!
Advantages:
- U can impress many users by presenting them your hard work
- You will be acknowledged
- You will be able to easily express your creativity to the world wide web
- And much much more ,,, Sign up today! Oh, wait, no signup needed
If you think you have created an extremely good version of guestekrnL or maybe a completely new kernel, think about posting it here in the thread (I will link the posted kernels here in first posting) or open your own thread for your new kernel, it is up to you
As always I'm not responsible for any harm you might do to your system
Wanna build other stock sources than the ones of guestekrnL? Check this out
Awesome, Stefan!
Downloading...
Yeehhaawwwww!!! This is what im searching for.. thank you very very very much..
Edit: You need to edit your post.. looks unorganized.. quite difficult to read..
Sent from my LG-P990 using XDA
ghadap said:
Yeehhaawwwww!!! This is what im searching for.. thank you very very very much..
Edit: You need to edit your post.. looks unorganized.. quite difficult to read..
Sent from my LG-P990 using XDA
Click to expand...
Click to collapse
Thx I restructured a bit
Great work!
sent from my wii remote
You are great, thx!!!
Hy Stefan,
thx a lot
Herzlichen Dank
Craxx
Direct download Link from my own FTP server coming soon, because some users might have problems with download of the 1.5GB .rar from current mirror
Stefan Gündhör said:
Ohai, everypwny!​Wanna impress your girlfriend without spending money? Show her your love through compiling her your own O2X stock kernel! ​
Click to expand...
Click to collapse
LOL..! I can't think of any more evil scheme that this . Great work, Stefan..!
OH, on afterthoughts, a better thing that serves the purpose would be "How to build a theme..."
Yes Stefan, i have tried 3 times and download stops after around 300 MB, so i wait for direct download link
This is so awesome! Thanks alot!
Sent from my LG-P990 using Tapatalk
Great initiative Stefan. Download stops at ~300MB for me as well, looking forward to trying it.
Are the guestekrnl-scripts included in the finished kernel installer? (Just wondering if GuesteOC will work out of the box.)
TrymHansen said:
Great initiative Stefan. Download stops at ~300MB for me as well, looking forward to trying it.
Are the guestekrnl-scripts included in the finished kernel installer? (Just wondering if GuesteOC will work out of the box.)
Click to expand...
Click to collapse
Yeah I'm just uploading to a new FTP mirror, will take about 2 more hours I guess!
And yeah, the exact zipstructure of current guestekrnL release will be built automatically, including GuesteOC v2.1.5 + Myrt UV GUI, all working out of the box!
(In fact the most actual guestekrnL release was built exactly the way I describe it in first posting: I ran the virtual machine and double-clicked/ran the buildkernel-script. That's it.)
great tutorial Stefan...made it look very simple....NOTHING IS IMPOSSIBLE IN THIS WORLD..I am going to try doing it myself Stefan...as they say...the modern world is a place where a butcher can become a goldsmith, a carpenter can be a captain of the ship and a cleaner can be a pilot....
Thanks for the make urself tool kit mate.I am sure that we will find a lot of Kernels floating in this forum....
just a matter how many are good like urs or temaseks or vadonkas or so many others....time will tell that...have to wait to see that.
I appreciate the hard work put by you to make it so simple for starters and noobs morons like me to understand.
THANKS THANKS THANKS a million.I really mean it truthfully my friend
Stefan, will your tutorial works with original source (eg, V20q) and others (eg, spica HP)? and which file/folder to make our kernel support ext4?
My idea was using stock kernel but add ext4..
Downloading with FF stopped at 500MB, but with Free Download Manager, I could download it without problems.
The sources are very cool. Playing a bit around with them...
ghadap said:
Stefan, will your tutorial works with original source (eg, V20q) and others (eg, spica HP)? and which file/folder to make our kernel support ext4?
My idea was using stock kernel but add ext4..
Click to expand...
Click to collapse
Example of building unchanged stock kernel and only add ext4 compatibility:
start the kernelBuilder,
delete all folders located in Desktop/kernel_source except the folders "guestekrnl_BUILDS" and "zipstructure"
delete all files located in Desktop/kernel_source except the file "buildkernel"
edit the file "buildkernel" (rightClick-> open with gEdit) and change line
make ARCH=arm gueste${1}_defconfig;
Click to expand...
Click to collapse
to
make ARCH=arm star_ifx${1}_defconfig;
Click to expand...
Click to collapse
if you use v20 sources or to
make ARCH=arm star_rev_f_android${1}_defconfig;
Click to expand...
Click to collapse
if you use v10 sources
Download the official kernel sources you want from http://www.lg.com/global/support/opensource/opensource-detail.jsp?detailCustomerModelCode=LGP990
Extract the sources until you get a folder kalled "kernel"
copy the contents from inside "kernel" folder to Desktop/kernel_source
edit file Desktop/kernel_source/drivers/net/wireless/bcm4329/Makefile -> change line
-Wall -Wstrict-prototypes -Werror \
Click to expand...
Click to collapse
to
-Wall -Wstrict-prototypes \
Click to expand...
Click to collapse
edit file Desktop/kernel_source/arch/arm/configs/star_ifx_defconfig (or star_rev_f_android_defconfig): enable ext4 through replacing ext4 config (search for it in the file) with following:
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
Click to expand...
Click to collapse
run the buildkernel script, kernel will be built
Attention: don't use linaro/gcc toolchain newer than september 2011, otherwise kernel won't boot without additional modifications (the included default toolchain will work fine)
For every other stock kernel sources (in order to compile & zip-package them using kernelBuilder) the procedure should work similar!
Spica horsepower kernel however won't work that way, because spica does not upload his defconfig to his sources @GitHub (thus making rebuilding more difficult).
And default defconfig of stock kernel won't work with spica kernel. (Without the right defconfig the kernel does not boot.)
Older spica kernels (older than SR3) completely won't work and can't be rebuilt because spica never offered full sources @GitHub until SR3.
So in order to get a current spica kernel source working, you have to additionally
install the kernel you want to rebuild first on your phone and then
copy the file /proc/config.gz first to your internal SD and then to your PC,
unpack it and then rename the file you get to "spica_defconfig" and
place it in Desktop/kernel_source/arch/arm/configs/
finally edit the buildkernel file again so you have
make ARCH=arm spica${1}_defconfig;
Click to expand...
Click to collapse
in there!
In order to see the differences of guestekrnL compared to stock kernel, Download Meld Diff Viewer in App Store of virtual linux machine and make a folder-comparison of folder Desktop/kernel_source and a folder where you keep unchanged v10E kernel sources!
New direct download mirrors online! (Thx to cojo & myself ) Please report if the .rar files are error-free thx!
Additional tipps/hints:
change your keyboard layout to the one of your language/country (right-click top right most left icon and choose "change keyboard layout")
use versioning! :
double-click "Terminal" on desktop
enter "sudo apt-get install git-core git-gui" (internet connection is required)
enter the password ("root") , confirm installation, after install exit the window
enter "cd Desktop/kernel_source"
enter "git init"
enter "git add ./"
enter "git commit -a" then enter "first commit" & save & exit (the keyboard combinations for this are shown)
enter "git gui" and in first menu click "visualize master's history" -> you will see all commits and changes you made in each commit there
everytime you have made a few changes to the kernel, run "git commit -a" again (and if you add new file git add ./), so a new commit will be added to the commit history and you can see all changes there
use a diff viewer (Meld Diff Viewer of virtual machine linux software repository) for comparing guestekrnL sources with unchanged v10E stock kernel sources, so you can understand custom kernel making better! -- you can find orig sources here http://www.lg.com/global/support/opensource/opensource-detail.jsp?detailCustomerModelCode=LGP990 , download the v10E archive and unpack until you get a folder called "kernel", make a folder-comparison with Meld Diff Viewer afterwards!
Just take your time, begin with only compiling the kernel without changes (and try if it boots) and then slowly change more and more stuff, don't change too many things at once, always compile&try the kernel between more changes.
Learn by viewing the commits other developers make for their kernels, but pay attention that some commits might not be complete or incompatible with your kernel! Some commits of CM7 kernels can be useful, but not all will be compatible. When I started I learned much by just reading the commits of ironkrnL, from this commit page upwards: https://github.com/SetiroN/lge-kernel-star/commits/v2?page=5 (only the things "SetIron" directly commited) -- Please note that my own git repo is a mess, as I don't split up changes to single commits, I just make a commit for all changes a new kernel version has, so my repo won't help u much in learning
Always check Desktop/kernel_source/guestekrnL_BUILDS/build.log for errors after you made a new kernel build, especially at the bottom of the file. (Warnings don't matter.)
Stefan Gündhör said:
New direct download mirrors online! (Thx to cojo & myself ) Please report if the .rar files are error-free thx!
Click to expand...
Click to collapse
Downloaded from Google Docs and unpacked without incident. Now compiling under VirtualBox, which also worked without any modification.
...and as I was writing this it finished. Whole compilation job took less than 2 mins on a 4-core VM. ;-)

How to get the address of sys_call_table of ics with kernel 3.0.16

I upgraded my HTC sensation XL to ICS with kernel 3.0.16, I am trying to hook sys_call_table. How can I get the address od sys_call_table?
scottwen said:
I upgraded my HTC sensation XL to ICS with kernel 3.0.16, I am trying to hook sys_call_table. How can I get the address od sys_call_table?
Click to expand...
Click to collapse
hey, what makes the sys call table..? and for what you need...maybe you must compile a kernel with a patch of this (github commits)..also some things can be changed with an init.d script
with kind regards..Alex
Alex-V said:
hey, what makes the sys call table..? and for what you need...maybe you must compile a kernel with a patch of this (github commits)..also some things can be changed with an init.d script
with kind regards..Alex
Click to expand...
Click to collapse
I am trying to develop a loadable kernel module to protect my private data from accessing by unauthorized apps. I have downloaded the source codes of the kernel 3.0.16 from htcdev.com. I can find the file System.map which keeps the address of sys_call_table in kernel 2.6.35, but System.map no longer exists in kernel 3.0.16. Do you know in which file I can find the address of sys_call_table? Is it "init.d"?
Best regareds,
Scott
scottwen said:
I am trying to develop a loadable kernel module to protect my private data from accessing by unauthorized apps. I have downloaded the source codes of the kernel 3.0.16 from htcdev.com. I can find the file System.map which keeps the address of sys_call_table in kernel 2.6.35, but System.map no longer exists in kernel 3.0.16. Do you know in which file I can find the address of sys_call_table? Is it "init.d"?
Best regareds,
Scott
Click to expand...
Click to collapse
not sure if i could help...heared of this the first time...just did a quick google search
https://www.google.de/#q=sys_call_t....,cf.osb&fp=3feb6ca7e010caf6&biw=1366&bih=646
http://code.google.com/p/bricked/source/browse/arch/avr32/kernel/syscall_table.S
http://faculty.kfupm.edu.sa/ics/salah/091/ics531/slides/Understanding The Linux Kernel.pdf
PS: init.d (if its activated in kernel ramdisk) is a folder in system/etc/init.d in this you can put scriptes...eg to handle ram or undervolt on the fly..or zipallaign on each boot...
with kind regards

[HOWTO] Increase available RAM in ROMs based on "That kernel" and "Those libs"

[HOWTO] Increase available RAM in ROMs based on "That kernel" and "Those libs"
Most Atrix users using ROMs with "That kernel" and "Those libs" are stuck with 778MB or 784MB of available RAM (even after applying the ramfix for international Atrix users), but a few users are reporting getting around 855MB of RAM available on their phones. After a quick comparison of the /proc/cmdline on these phones (and since having more RAM can't hurt), here's a guide how to increase your available RAM on these ROMs. This guide is intended for people who have 778-784MB available on their phone when using ROMs based on "That kernel" and "Those libs" with the original ramfix. DO NOT USE ON OTHER ROMS!
WARNING: STOP NOW AND DO NOT FLASH IF YOU DON'T KNOW WHAT YOU'RE DOING!!!
PLEASE READ AND UNDERSTAND EVERYTHING BEFORE YOU DO ANYTHING!
I have personally tested this with Somebody's CM10 and AtrICS v2.
It should theoretically work with other ROMs based on "That kernel" and "Those libs", but use it at your own risk!
Now, on to the good part:
1. Get your current /proc/cmdline.
You can do this by using terminal emulator and typing:
su
cat /proc/cmdline
Click to expand...
Click to collapse
or by using a root browser and copy your /proc/cmdline to your sdcard.
A note from NFHimself:
NFHimself said:
Hi,
Please emphasize that the script needs YOUR complete /proc.cmdline in there, from a working phone adb session, not recovery adb session as the recovery has it's own possible /proc/cmdline via a different kernel, etc. You are not just editing the mem=?? stuff.
What would be best is to first create a zip that is plain jane what your /proc/cmdline is or one that uses setcmdline with a blank argument or "". That way you can reset to default in case of errors. Or you can just fastboot flash your boot partition, no need for an sbf.
Cheers!
Click to expand...
Click to collapse
2. Download attached file.
3. Edit the updater-script file in the zip.
Extract the zip and find META-INF\com\google\android\updater-script
Windows users: Edit the file using Notepad. DO NOT USE WORDPAD. WordPad changes the Unix-style CR to Windows style CR-LF, which may cause problems.
Once you open the file, find this in the file:
run_program("/tmp/setcmdline", "[email protected] [email protected] [email protected] vmalloc=256M video=tegrafb console=null usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=mbr:d00:100:800,kpanic:2100:400:800 security=tomoyo mot_prod=1 androidboot.serialno=XXXXX00000");
Click to expand...
Click to collapse
Change the red part with your own cmdline, which you got in step 1. Take care especially on the tegrapart and androidboot.serialno parameters. DO NOT USE A TEGRAPART AND/OR SERIAL NUMBER FROM ANOTHER PHONE!
If your original cmdline that you got in step one was:
[email protected] [email protected] [email protected] vmalloc=320M video=tegrafb console=null usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=mbr:1100:100:800,kpanic:2500:400:800 security=tomoyo mot_prod=1 androidboot.serialno=12345ABCDE
Click to expand...
Click to collapse
then you should modify the part of the updater-script mentioned above to look like this:
run_program("/tmp/setcmdline", "[email protected] [email protected] [email protected] vmalloc=256M video=tegrafb console=null usbcore.old_scheme_first=1 tegraboot=sdmmc tegrapart=mbr:1100:100:800,kpanic:2500:400:800 security=tomoyo mot_prod=1 androidboot.serialno=12345ABCDE"
Click to expand...
Click to collapse
Only the change the red part in the script with the red part in your original cmdline. DO NOT MODIFY ANYTHING ELSE!
4. Save the file, and repack the zip.
5. Flash zip.
6. You should now have 855MB of RAM available. Enjoy your extra 70+MB of RAM.
WARNING: DO NOT FLASH IF YOU DON'T KNOW WHAT YOU'RE DOING!!!
I AM NOT RESPONSIBLE FOR ANYTHING THAT GOES WRONG BECAUSE OF YOU BORKING YOUR CMDLINE!!!
Thanks to: NFHimself for creating the ramfix binary and Ilkinansr92 for his cmdline.
Thanks!!! I will givi it a try.
Edit: Working just fine....thanks again!
from the (m)ATRIX...
Thanks!
Now i have 855mb of RAM available
I have 815mb of ram available and i am using Nottachtrix Rom, i am going to try this method in 2 mins and i will give feedback..
Edit:
it gives me error which number 6 (my rom is working, no problem). i know nottachtirx is not based on that kernel but i had wanted to try it whether work or not.
ramanujan20 said:
I have 815mb of ram available and i am using Nottachtrix Rom, i am going to try this method in 2 mins and i will give feedback..
Edit:
it gives me error which number 6 (my rom is working, no problem). i know nottachtirx is not based on that kernel but i had wanted to try it whether work or not.
Click to expand...
Click to collapse
I got that error too....on JB...but that was because I was doing something wrong.
But I think this is for JB...
Cocolopes said:
I got that error too....on JB...but that was because I was doing something wrong.
But I think this is for JB...
Click to expand...
Click to collapse
are you using something related to "that rom"? (kernel, libs, rom)
jhonnyx said:
are you using something related to "that rom"? (kernel, libs, rom)
Click to expand...
Click to collapse
No...someones Cm10 here...but now is working...I just replace the update script in the zip...and work perfect
from the (m)ATRIX...
successful
oh yeah~
now i have 855mb ram now!
i found that you can copy the file /proc/cmdline to computer,and select the words you need
in this way,you can do it more simple and more safe!
Well. 855 MB RAM. I am using CM10 with that libs.
Thank a lot.
Cocolopes said:
No...someones Cm10 here...but now is working...I just replace the update script in the zip...and work perfect
from the (m)ATRIX...
Click to expand...
Click to collapse
Well, "Somebody's" CM10 IS using the kernel & libs from "That ROM", so I'd say it's very much related.
Can anybody help me i don't even have 500 mb in manage apps - running apps section
International user and using MRom
Sent from Otterbox Atrix 4G Rockz
ranjithkumar1201 said:
Can anybody help me i don't even have 500 mb in manage apps - running apps section
International user and using MRom
Sent from Otterbox Atrix 4G Rockz
Click to expand...
Click to collapse
Have you applied the ramfix? If not download this and apply it and it will fix that problem:
http://forum.xda-developers.com/attachment.php?attachmentid=710806&d=1315237274
Perfect. Thanks !
I hope the OP doesn't mind...
Here's my take on this. I took the source of the cmdline utility and improved it greatly, now it's almost a full-featured kernel cmdline editor. Then I used this new utility in the update script to dynamically edit the system cmdline.
Bottom line: this ZIP should work on all systems without any modifications.
WARNING: not fully tested, use at your own risk!
(If anything goes wrong, it should be easily revertable simply by reflashing the kernel, either from recovery or via fastboot.)
EDIT: added a couple more options, recompiled the cmdline binary and repackaged the ZIP.
ravilov said:
I hope the OP doesn't mind...
Here's my take on this. I took the source of the cmdline utility and improved it greatly, now it's almost a full-featured kernel cmdline editor. Then I used this new utility in the update script to dynamically edit the system cmdline.
Bottom line: this ZIP should work on all systems without any modifications.
WARNING: not fully tested, use at your own risk!
(If anything goes wrong, it should be easily revertable simply by reflashing the kernel, either from recovery or via fastboot.)
EDIT: added a couple more options, recompiled the cmdline binary and repackaged the ZIP.
Click to expand...
Click to collapse
Works beautifully on someone's cm10! Big thanks.
Sent from my MB860
ravilov said:
I hope the OP doesn't mind...
Here's my take on this. I took the source of the cmdline utility and improved it greatly, now it's almost a full-featured kernel cmdline editor. Then I used this new utility in the update script to dynamically edit the system cmdline.
Bottom line: this ZIP should work on all systems without any modifications.
WARNING: not fully tested, use at your own risk!
(If anything goes wrong, it should be easily revertable simply by reflashing the kernel, either from recovery or via fastboot.)
EDIT: added a couple more options, recompiled the cmdline binary and repackaged the ZIP.
Click to expand...
Click to collapse
sorry for ask but i don't get it this is a script to modify the cmdline or is an auto modify tool for the cmdline?
Maibol said:
sorry for ask but i don't get it this is a script to modify the cmdline or is an auto modify tool for the cmdline?
Click to expand...
Click to collapse
Both actually.
It includes a tool that can modify the cmdline, and a script that does modify the cmdline automatically, by utilizing the tool.
ravilov said:
Both actually.
It includes a tool that can modify the cmdline, and a script that does modify the cmdline automatically, by utilizing the tool.
Click to expand...
Click to collapse
thanks nice tool i gon give it a try
Why so some Atrixes have 815 MB RAM and some others 879 MB ?
And ravilov, does your script work on gingerbread ROMs, too?
Sent from my CM7 powered Atrix using TapaTalk \o/
the.cybot said:
And ravilov, does your script work on gingerbread ROMs, too?
Click to expand...
Click to collapse
Actually, I'm not sure. It doesn't seem to work for me. The boot image gets updated correctly but for some reason the new cmdline is not used when the kernel boots. I'm using MROM, latest release. Maybe it works different on another ROM. Maybe this whole cmdline business is specific to stock kernels only. Needs more research.

[Q] [WIP] Cyanogenmod 11 [help]pls

please can annyone help me or teach me how to finish up this cm11 source from surdu petru to get this working or can annyone start this project with cm12.1
i think this device need cm because it is a great device and emui gives not enough settings to use your device like you would do it with cm...
here is his data; github.com/surdupetru/cm11-p7
sry but icant post links yet
@surdu_petru
:crying::crying::crying:
Here's the official Huawei source for the kernel: http://emui.huawei.com/en/plugin.php?id=hwdownload&mod=detail&mid=71
I'd love to help, but I only have a ****ty laptop, so building CM would take a week or so...
Best bet is to try and base it on CM11 for P6: https://github.com/surdupetru/cm11-p6
tinyXperia said:
Here's the official Huawei source for the kernel: http://emui.huawei.com/en/plugin.php?id=hwdownload&mod=detail&mid=71
I'd love to help, but I only have a ****ty laptop, so building CM would take a week or so...
Best bet is to try and base it on CM11 for P6: https://github.com/surdupetru/cm11-p6
Click to expand...
Click to collapse
I took a look to Surdu's files but I decided to make the files based on my own device (P7L10). I've been trying for almost 1 week to build the source but without success on Mac's environment (also downloading the source some couples of time). Now I'm using a virtual machine based on the latest version of Ubuntu and it seems like it's compiling. Now I have to investigate how I'd use the original kernel (downloaded from Huawei's website) to put it on the build.
My repo's: https://github.com/nirodg/HuaweiAscendP7L10
Simply use prebuilt kernel. Extract zImage from boot.img
Kostyan_nsk said:
Simply use prebuilt kernel. Extract zImage from boot.img
Click to expand...
Click to collapse
is this because of the poor quality of the released kernel sources ?
l.capriotti said:
is this because of the poor quality of the released kernel sources ?
Click to expand...
Click to collapse
You'll waste a time to fix all compilation errors and as result you'll get the same stock zImage as prebiult one. So what's the point?
maybe some advanced features can be implemented with the kernel sources, but if the stock kernel is ok for proper CM, that's the easiest path
... and your Ascend P6S / P7 K-Tuned Kernel is exactly what I was referring to
Finally after some hard days trying to compile it finally I did it buut I don't know why the .zip file it's not created. Is strange because I didn't have any error the last time I tried to compile it.
l.capriotti said:
... and your Ascend P6S / P7 K-Tuned Kernel is exactly what I was referring to
Click to expand...
Click to collapse
Looks interesting, I'm gonna take a look.
edit: I have the zip file, but when I try to flash the phone TWRP says me that for some reason can not be flashed, without any kind of error code. I leave the recovery.log under
Installing '/sdcard/Android/cm-11-20150613-UNOFFICIAL-hwp7.zip'...
Checking for MD5 file...
MD5 matched
I:Zip contains SELinux file_contexts file in its root. Extracting to /file_contexts
I:Legacy property environment initialized.
I:Legacy property environment disabled.
E:Error executing updater binary in zip '/sdcard/Android/cm-11-20150613-UNOFFICIAL-hwp7.zip'
Error flashing zip '/sdcard/Android/cm-11-20150613-UNOFFICIAL-hwp7.zip'
Updating partition details...
Iata backup size is 1453MB,
Click to expand...
Click to collapse

Categories

Resources