[TUTORIAL] How to compile an Atrix kernel and make a new boot.img - Atrix 4G Android Development

This method should work for Android 2.2 releases. This only works for 1.2.6 and 1.5.7. It does not work with 1.8.3, and so will almost surely not work for Android 2.3 releases. They have said the week of July 8th they will release the 1.8.3 source. As an alternative, I have figured out how to load a sbf from Latin America that is also Android 2.2.2, and we have it's kernel source. I have tested compiling a custom kernel for it, and it works. I advise only people interested in playing with custom kernels use this method.
Install Ubuntu Maverick with the gnueabi.
Packages:
binutils-arm-linux-gnueabi
cpp-4.4-arm-linux-gnueabi
cpp-4.5-arm-linux-gnueabi
g++-4.4-arm-linux-gnueabi
gcc-4.4-arm-linux-gnueabi
gcc-4.4-arm-linux-gnueabi-base
gcc-4.5-arm-linux-gnueabi
gcc-4.5-arm-linux-gnueabi-base
gcc-arm-linux-gnueabi
Argentina SBF
Run sbf_flash -x against it to break it into CG files. You only need CG56(boot), CG57(system), and CG58(webtop). You might be able to stick with the 1.8.3 AT&T webtop, I haven't tested.
Use fastboot to write them to the phone. It has to be moto-fastboot.
fastboot flash system CG57.img
fastboot flash webtop CG58.img
Use split_bootimg.pl to split CG56 into the kernel and ramdisk files.
Once you have compiled your own kernel
fastboot flash:raw boot zImage CG56.img-ramdisk.gz
Compiling a custom kernel
Download /proc/config.gz from a phone running the release you want to compile a kernel for
mkdir ~/atrix-kernel
cd ~/atrix-kernel
tar zxf ~/kernel.tgz
cp -a ~/config.gz .
gunzip config.gz
cp -a config .config
Edit .config if you want
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
make oldconfig
make zImage
make modules
The resulting zImage is arch/arm/boot/zImage.
Use an existing ramdisk. Modify it if you want.
On phone:
dd if=/dev/block/mmcblk0p11 of=/tmp/boot.img
On computer, as root:
mkdir /mnt/boot
mount ~/boot.img /mnt/boot -o loop,ro
Use split_bootimg.pl to pull the ramdisk.gz out of boot.img
Read more at http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
If it mounts, you have the boot image. I can't guarntee it is mmcblk0p11 in all cases. It should also be 8mb.
fastboot flash:raw boot zImage ramdisk.gz
or
fastboot flash boot boot.img
If you want to change kernel command line arguments use mkbootimg. Run dmesg | less on your phone to copy YOUR kernel arguments.
Example:
mkbootimg --kernel zImage --ramdisk ramdisk.gz --cmdline "[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 androidboot.serialno=AGGB2I1532" -o boot.img
moto-fastboot
http://forum.xda-developers.com/showthread.php?t=1138092
fastboot 64-bit
http://forum.xda-developers.com/attachment.php?attachmentid=634867&d=1308871353
fastboot 32-bit
http://forum.xda-developers.com/attachment.php?attachmentid=635031&d=1308879588
mkbootimg 32-bit, should work for 64-bit if you have the libraries:
http://proton.cygnusx-1.org/~edgan/mkbootimg
split_bootimg.pl
http://code.lardcave.net/entries/2010/11/24/164025/split_bootimg.pl
http://zen-droid.googlecode.com/files/split_bootimg.pl
sbf_flash
http://blog.opticaldelusion.org/2010/05/sbfflash.html
1.2.6 AT&T kernel.tgz
http://sourceforge.net/projects/atrix.motorola/files/Atrix ATT/OLYFR_U4_1.2.6/kernel.tgz/download
0.50.0 Personal Argentina kernel.tgz
http://sourceforge.net/projects/atrix.motorola/files/Atrix LATAM/OLYLA_U4_0.50.0/kernel.tgz/download

Excellent work Edgan!

i've been fumbling around for a while now getting things set up, i wish i would have known this before.
thanks for the post/instructions!

this is what moto says about it:
https://sourceforge.net/projects/atrix.motorola/files/Atrix ATT/OLYFR_U4_1.2.6/
1. Create a workspace containing vanilla 'android-2.2.1_r1' release from Google.
2. Overlay Motorola-provided published repos on top of original Google versions.
3. Build user space components (see end of this document for the list of supported targets):
cd <workspace>
. build/envsetup.sh
lunch generic-user
make TARGET_BOARD_PLATFORM=tegra TARGET_ARCH_VARIANT=armv7-a \ arch_variant_cflags="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv3-d16" \ BOARD_HAVE_BLUETOOTH=true BOARD_HAVE_BLUETOOTH_BCM=true \ BOARD_GPS_LIBRARIES= WPA_SUPPLICANT_VERSION=VER_0_6_X <list-of-targets>
4. Building kernel and kernel modules.
cd <workspace>/kernel
export ARCH=arm
export CROSS_COMPILE="arm-eabi-"
make tegra_olympus_android_defconfig
make FACTORY_BUILD=false BUILD_ID=OLYFR_U4_1.2.6
cd <workspace>/vendor/bcm/wlan/osrc/open-src/src/dhd/linux
make ANDROID_BUILD_TOP=<workspace> BUILD_ID=OLYFR_U4_1.2.6
Appendix A: list of supported targets
out/target/product/generic/system/bin/bluetoothd
out/target/product/generic/system/bin/brcm_patchram_plus
out/target/product/generic/system/bin/busybox
out/target/product/generic/system/bin/dnsmasq
out/target/product/generic/system/bin/dumpe2fs
out/target/product/generic/system/bin/dund
out/target/product/generic/system/bin/e2fsck
out/target/product/generic/system/bin/hciattach
out/target/product/generic/system/bin/iptables
out/target/product/generic/system/bin/iwconfig
out/target/product/generic/system/bin/iwevent
out/target/product/generic/system/bin/iwgetid
out/target/product/generic/system/bin/iwlist
out/target/product/generic/system/bin/iwpriv
out/target/product/generic/system/bin/iwspy
out/target/product/generic/system/bin/mke2fs
out/target/product/generic/system/bin/pand
out/target/product/generic/system/bin/resize2fs
out/target/product/generic/system/bin/sdptool
out/target/product/generic/system/bin/tc
out/target/product/generic/system/bin/tune2fs
out/target/product/generic/system/framework/jcifs-krb5-1.3.12.jar
out/target/product/generic/system/lib/bluez-plugin/audio.so
out/target/product/generic/system/lib/bluez-plugin/input.so
out/target/product/generic/system/lib/liba2dp.so
out/target/product/generic/system/lib/libbluetoothd.so
out/target/product/generic/system/lib/libbluetooth.so
out/target/product/generic/system/lib/libext2_blkid.so
out/target/product/generic/system/lib/libext2_com_err.so
out/target/product/generic/system/lib/libext2_e2p.so
out/target/product/generic/system/lib/libext2fs.so
out/target/product/generic/system/lib/libext2_profile.so
out/target/product/generic/system/lib/libext2_uuid.so
out/target/product/generic/system/lib/libiprouteutil.so
out/target/product/generic/system/lib/libnetlink.so
out/target/product/generic/system/lib/libwbxmlparser.so
out/target/product/generic/system/xbin/avinfo
out/target/product/generic/system/xbin/hciconfig
out/target/product/generic/system/xbin/hcitool
out/target/product/generic/system/xbin/l2ping

i had problems compiling, but i hope tonight my luck is better. vanilla compiled fine, but not after i added the Atrix stuff to it.
i took everything and untar'd it in my working directory and created any directory structures that didn't exist, but i was a little uncertain as to what to do with a handful of them, like the kernel.tgz. you supposed to created that directory then untar it?

Should be stickified. This will be a useful resource for prospective rom builders.
Sent from my MB860 using XDA App

This is awesome! Thank you. I have been playing around with a build environment for a day or two. When I try the "make tegra_olympus_android_defconfig " it spits out an error at me...prolly missing something.

Sorry, I don't really know all that much about this, but could we use this to compile CM6? It wouldn't be ideal, but would be better than stock until someone who knows what they're doing makes a CM7 build.
Sent from my MB860 using XDA App

lunder said:
Sorry, I don't really know all that much about this, but could we use this to compile CM6? It wouldn't be ideal, but would be better than stock until someone who knows what they're doing makes a CM7 build.
Sent from my MB860 using XDA App
Click to expand...
Click to collapse
kholk said earlier he got CM7 and will release when he is home.
anyways
I got my kernel build, now how do i use it to create a custom rom, could someone point me towards the info, or atlest give me som sort of hint!

samcripp said:
kholk said earlier he got CM7 and will release when he is home.
Click to expand...
Click to collapse
Some point me in the direction of where this was stated... been away from the computer since Friday... thanks

Swiftks said:
Some point me in the direction of where this was stated... been away from the computer since Friday... thanks
Click to expand...
Click to collapse
he said this on irc

samcripp said:
he said this on irc
Click to expand...
Click to collapse
did he say he had it or he was working it... to my understanding, porting CM7 is a long task. dont get me wrong, kholk is phenomenal but its hard to belive development has started, and its released soon. would be nice though, maybe hes been working hardcore on it and the port is going smoothly

Regardless, either way it's good news. I also hear that the official CM7 dev team is getting or has already gotten a Atrix too. Hope that maybe some time in the not to distant future we can get an "official" CM7 rom, built specifically around the Atrix & its hardware.
Sent from my MB860 using XDA Premium App

Swiftks said:
Regardless, either way it's good news. I also hear that the official CM7 dev team is getting or has already gotten a Atrix too. Hope that maybe some time in the not to distant future we can get an "official" CM7 rom, built specifically around the Atrix & its hardware.
Sent from my MB860 using XDA Premium App
Click to expand...
Click to collapse
agreed bud, couldent have said it any better

how many of you could compile an oc kernel? maybe thermal throttling disabled
anybody already working on it?

Swiftks said:
Regardless, either way it's good news. I also hear that the official CM7 dev team is getting or has already gotten a Atrix too. Hope that maybe some time in the not to distant future we can get an "official" CM7 rom, built specifically around the Atrix & its hardware.
Sent from my MB860 using XDA Premium App
Click to expand...
Click to collapse
Kholk has a engineering device and not a retail ATT model.
It is completely realistic that he could have a CM7 build that he was developing the whole time on his device but waiting for the bootloader to get unlocked to release it.
We just have to wait and see what goodies kholk desides to release.
Edit: sorry this is all way off topic and I should not have added additional comments based on off-topic items.

we will be getting a 4.1.83 source release around the 7 or 8th of july.
Watch out my thread at moto's open source forum:
http://sourceforge.net/motorola/atrix/discussion/general_comments/thread/c63fc4c9/

franciscojavierleon said:
we will be getting a 4.1.83 source release around the 7 or 8th of july.
Watch out my thread at moto's open source forum:
http://sourceforge.net/motorola/atrix/discussion/general_comments/thread/c63fc4c9/
Click to expand...
Click to collapse
That is great news. We are dying on irc without those
Sent from my MB860 using XDA Premium App

That is great news That the 4.1.83 kernel source is coming out in a week or so. Since it has not released yet, we won't be getting a 2.3.4 kernel for a bit I don't think. I am a bit new to this kind of stuff.
If you have an AOSP system.img and ram disk, do you just package the ram disk with the kernel into a boot.img and run it (and maybe pray )? I don't believe its as simple as that but that is why I ask

What channel are you guys hanging out on re: IRC? I would love to chip in on the kernel dev/community rolls as I have a lot of relevant experience.

Related

BFS 316

here it is, the BFS 316 scheduler patch
first i would like to say thanks to segway for posting the first backport (313) couldn't have done it without
then i want to say thanks to Coburn for adopting me into the Tattoo's world and letting me work with him
how to use it:
1. Get toolchains from CodeSourcery (http://www.codesourcery.com/sgpp/lite/arm)
2. Get kernel source code for tattoo from http://member.america.htc.com/downlo...-656120.tar.gz
3. Deploy toolchains and uncompress kernel source in dir "kernel_msm-htc"
4. Apply the attached patch
patch -p1 < BFS-316.patch
5. make ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi- msm7225_defconfig
(this will make the .config file)
6. make ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi- menuconfig
(this will let you configure the .config in the kernel, do only touch this if you have some idea of what you are doing!)
7. make -j 4 ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi-
(this will compile the kernel)
i will try to answer any questions as good as i can
and i will welcome anything else you would like to see in the future, just post some comments folks ;D
ps new patch is up, this one is working!
reserved for the future
Great.
But, for what can this be used?
Hi ralle.gade,
Great work. But you missed the most important file kernel/sched_bfs.c, dude.
I was very impressed on bfs-patched kernel running smoothly on our Tattoo. And I will try to patch my custom kernel with your patch if 'adb shell cmd' works normally, which couldn't work with segway's 313 patch. Would you mind?
EDIT:
'adb shell cmd' runs abnormally as segway's 313 patch, just a little pity.
Seems something cool!!
But i dont know whats this and what are the benefits of this...
Please help..
the new patch is up, this time everything should work!
could i get the d-info so i can try look at the problems with "adb shell cmd"
Hello, I'm interesed if there's a possibility to update Tattoo's kernel? Is the source code for kernel modules available?
NForce25 said:
Hello, I'm interesed if there's a possibility to update Tattoo's kernel? Is the source code for kernel modules available?
Click to expand...
Click to collapse
i'm sorry bro! but the ****s at HTC can't get their ass up of the chair, meaning there's only the 2.6.29 kernel available from their site.
that doesn't mean we can't get a new version, at the time I'm working on getting 2.6.32 to work for the tattoo (but it's a pain in the ass when i don't even have a tattoo) :'(
But theoretically we could just apply HTC patches on a vanilla 2.6.33 kernel and get it working, couldn't we?
htc patches??? they don't release patches they only release the whole kernel but yes u can! that's what i'm doing right now
I didn't mean they release patches, but they add some to vanilla kernel for sure Thanks for the info, if you get success, please upload your patches so we can try to compile zen-kernel, git-kernel and so on
this is what htc added on top of the vanilla Linux 2.6.29 kernel
i made it into a patch, and by the way you can get a hard time opening it with a text editor as it is VERY BIG! cheers
Thanks. By the way, which encoding is the file? I cannot open it as utf8, and my text editor complains that it can't autodetect the encoding Anyway, i can't see any broken characters with utf8
i'm using ultraediter to open it, my normal text editer (gedit) compalins 2, but i just think it's because of the size and the amount of text! dude it's huge!
Oh, my bad, i was opening txt from zip archive. I unziped it and my KWrite opens it fast and smooth with utf8 now Going to try patching vanilla 2.6.29
good
please reply, and tell me if it works well

[DEVS] You too can build a CM-based AOSP ROM

Obviously, I am going to be cleaning up some bugs with the CM7 build...
But, for those of you who might be inclined to develop a CM-based AOSP ROM, feel free to check out my github source to see what's involved:
https://github.com/Hashcode
Or you can:
repo init -u https://[email protected]/Hashcode/cm4D3.git
repo sync
To pull the entire set of android files that I use for compiling the current build.
Please note that the Board Config is currently setup to generate Safestrap .zip files.
Great job
Thank you for everything you have done for the droid 3!
Is there a kitchen for DROID 3 roms. Running windows 7
Sent from my DROID3 using xda premium
You need to be running Linux to do this hardcore kind of stuff.
Like Ubuntu I had it set up in VB and detain. Was just wondering if there was some thing for Motorola roms out there. I have had HTC phones this my first moto with android on it.
Sent from my DROID3 using xda premium
I'm starting to tinker with building (learning, actually) ROMs. I'm running Linux Mint Debian - has there been a kitchen built for D3?
Hashcode said:
repo init https://[email protected]/Hashcode/cm4D3.git
Click to expand...
Click to collapse
That should be
Code:
repo init -u git://github.com/Hashcode/cm4D3.git -b gingerbread
or whatever URL you want to use from the access URL box at https://github.com/Hashcode/cm4D3.
And of course "gingerbread" could be "ics" if your excitement about being on the bleeding edge overrides what should be a fairly sensible fear reaction to the term "bleeding edge".
@Hashcode: You don't use your own ALSA repos? (Comparing with my own generated manifest for your project...)
Also, are you planning on pulling newer Gingerbread manifest changes into your tree? I noticed CyanogenMod have gained a u8150 device tree, and I happen to have one of those, but your manifest doesn't list it...
Ooops. I have a u8510. >_< But the question stands...
TBBle said:
That should be
Code:
repo init -u git://github.com/Hashcode/cm4D3.git -b gingerbread
or whatever URL you want to use from the access URL box at https://github.com/Hashcode/cm4D3.
And of course "gingerbread" could be "ics" if your excitement about being on the bleeding edge overrides what should be a fairly sensible fear reaction to the term "bleeding edge".
@Hashcode: You don't use your own ALSA repos? (Comparing with my own generated manifest for your project...)
Also, are you planning on pulling newer Gingerbread manifest changes into your tree? I noticed CyanogenMod have gained a u8150 device tree, and I happen to have one of those, but your manifest doesn't list it...
Ooops. I have a u8510. >_< But the question stands...
Click to expand...
Click to collapse
Thank you for pointing out that my repo init line was wrong. I fixed it for those that were having issues.
Also, for those watching my manifest for ICS, I'm getting an error when syncing:
error: revision refs/heads/master in manifests not found
I'm trying to fix that. Correction: Fixed it and double-checked with a repo sync.
Some quick answers:
- I tried to customize the alsa source to fix some of the audio issues. But it ended up being a bit more complex than just changing ALSA. Motorola added a layer into the audio system for handling HDMI audio and in call audio volume.
When you build stock AOSP Gingerbread using the alsa drivers, the libaudio.so file ends up being all of the ALSA calls. If you examine the libaudio from the D3, you'll see that it is nothing of the sort. It's the customized mixer lib for RDS voice and HDMI audio. There's another lib from the phone: libaudio_ext.so which ends up being the alsa calls.
All of which made customizing just the alsa code risky at best as the further away from the version of alsa that was used on the phone, the less likely that the custom libaudio would work.
I probably still have the unfinished hardware_alsa git out on github, but it's not active in the current build.
- I can occasionally check for updates to the CM7 manifest and add them, or if you fork the manifest and add it in there that works as well.
Side Note: I may need to pick your brain on an EGL 0x0500 erorr I'm getting in the ICS code. I'm fairly certain it's an enum value that our version of the PowerVR drivers aren't set to handle, but I'd like to confirm that for my troubleshooting. And it seems that you might have some knowledge in that area
Where/how does someone begin working on building a ROM once they've downloaded these files? I'd rather dive into code and learn Android rather than using a menu driven wizard. Is there a tutorial somewhere? What tools are needed?
Sent from my DROID3 using XDA App
Phibernaut said:
Where/how does someone begin working on building a ROM once they've downloaded these files? I'd rather dive into code and learn Android rather than using a menu driven wizard. Is there a tutorial somewhere? What tools are needed?
Sent from my DROID3 using XDA App
Click to expand...
Click to collapse
This would be the starting point that you're looking for:
http://source.android.com/
Hashcode said:
Side Note: I may need to pick your brain on an EGL 0x0500 erorr I'm getting in the ICS code. I'm fairly certain it's an enum value that our version of the PowerVR drivers aren't set to handle, but I'd like to confirm that for my troubleshooting. And it seems that you might have some knowledge in that area
Click to expand...
Click to collapse
Some, but probably not enough. I'm happy to look, but I'm actually moving internationally tomorrow so I may not have 'net access for a week or so. >_< (That's why I've been trying so hard to get backup working. ^_^)
Once I'm settled in I will probably use fdisk to repartition my device or have a poke at hacking sd-ext support into safestrap, so I can start playing with custom ROMs.
Did you see my safestrap-ME863 nandroid patch in the Safestrap thread, BTW? It's got a couple of TODOs, but seems safe and roughly correct to me. http://forum.xda-developers.com/showpost.php?p=19683372&postcount=249
It could also form the basis for detecting when /preinstall can't be used as safe-system although I didn't look to see if there's already code to do that.
Does anyone know of a site where I can peek at reference code for random things (Apps, Kernal etc.)? It'll make it easier to understand how the code works. I haven't look at any code yet so I don't even know what language apps and the os are programmed in. (Java, C, C++, Ruby)
Sent from my D3-CM7-SS using xda premium
tenchi19134 said:
Does anyone know of a site where I can peek at reference code for random things (Apps, Kernal etc.)? It'll make it easier to understand how the code works. I haven't look at any code yet so I don't even know what language apps and the os are programmed in. (Java, C, C++, Ruby)
Click to expand...
Click to collapse
Just pull down the repo as Hashcode describes in this thread - you'll have all of the Android source. To the best of my knowledge, it comprises of mostly C, C++, and Java, but there is probably a smathering of some other things like ASM, perl, BASH, etc.
And to those who are asking if there is a kitchen, there is, it's called make

Cyanogenmod 7 (Think Tank, in progress)

Hello All,
So I´m all sorts of new at developing for android, and I wanted to open up my thoughts and efforts to the community. I am trying to port CM 7, (eventually 9), and am using the CM Compiler that was developed by LithidCM. I´ve gotten everything up and running, now I just need to figure out how to set up the proper files from the Holiday itself. As I said, this is a work in progress, and any suggestions are very helpful. Right now, the stumbling block is setting up a Holiday/Raider/Vivid repo with the necessary compilation files.
Lets get cooking!
CMCompiler (All credit goes to Lithid CM) http://forum.xda-developers.com/showthread.php?t=1415661
+1 i would love to see cm7 or 9 on my vivid
That CMCompiler wont work for the Vivid
Sent from my SGH-T989 using Tapatalk
Not until there is either a CM repo for the Vivid or I can set up the correct files locally, then I can modify the script for it to look there, rather than the CM repo. Iḿ looking for ways to make it WORK, so anything to that end is appreciated. Either that or work on another method if it looks more promising. I have time, a machine, a device, some knowledge, and the desire, I just want to get together with some other people who can contribute a bit on the knowledge end to HELP get this up and running.
XAviierG said:
That CMCompiler wont work for the Vivid
Sent from my SGH-T989 using Tapatalk
Click to expand...
Click to collapse
That was very insightful.... I'm sure the OP is very thankful for all your help.
I'm already taking care of this
If you're into it, you can download my repo for CM9 here: https://github.com/thecubed/android_device_htc_holiday
I make no promises on timeline, but I do expect to have a teaser video with a few things working at least here in a day or so.
thecubed said:
I'm already taking care of this
If you're into it, you can download my repo for CM9 here: https://github.com/thecubed/android_device_htc_holiday
I make no promises on timeline, but I do expect to have a teaser video with a few things working at least here in a day or so.
Click to expand...
Click to collapse
if you guys want i got a port booting with signal for the amaze almost same device
I too would love to see both CM7 and 9 on the Vivid, however from what i gather CMCompiler is not really going to be the way at it.
I follow alot of Team Haxsung and CM people and they all believe it to be not the best way to help the CM community, rather a way to re brand and take credit.
Further, CMCompiler requires there being a branch, which means that nightlies will be compiled quickly by build bots, if build bots are down or you want to make a nightly KANG you can install the dependencies via the CM wiki and build yourself, which might actually allow you to learn how to build and modify the source rather then having an application spit it out for you
Drew
thecubed said:
I'm already taking care of this
If you're into it, you can download my repo for CM9 here: https://github.com/thecubed/android_device_htc_holiday
I make no promises on timeline, but I do expect to have a teaser video with a few things working at least here in a day or so.
Click to expand...
Click to collapse
AH! I have been using your repo as my source on CMC, but it fails each time because I´m missing some files. which files, well, that´s the step I´m at now. Im stoked your working on this. I´d like to learn how to do this on my own as well, then I´d be happy to put together a step by step from scratch for building from a fresh install of Ubuntu, I think it´s needed.
drewdatrip said:
I too would love to see both CM7 and 9 on the Vivid, however from what i gather CMCompiler is not really going to be the way at it.
I follow alot of Team Haxsung and CM people and they all believe it to be not the best way to help the CM community, rather a way to re brand and take credit.
Further, CMCompiler requires there being a branch, which means that nightlies will be compiled quickly by build bots, if build bots are down or you want to make a nightly KANG you can install the dependencies via the CM wiki and build yourself, which might actually allow you to learn how to build and modify the source rather then having an application spit it out for you
Drew
Click to expand...
Click to collapse
And if you´ve read anything I have written (and what others have added) you would see that the purpose of this post is LEARNING. I´m not a linux guy, but I´m quickly figuring it out, not much help to individuals such as yourself who choose to distract and detract rather than assist and contribute, or at least keep your finger off the ¨submit¨ button.
I posted this thread because there is no working version of CM7 for this device. Lets drop the negativity/whatever and put our efforts and keystrokes to getting this booting.
Some of the amaze builds i have you should just have to have someone make a kernel and they will work
http://dl.dropbox.com/u/40288576/full_ruby-ota-eng.xboarder56_12-24-11.zip (ics 4.0.3 amaze should be easy to port to vivid almost same phone)
http://dl.dropbox.com/u/46431819/Amaze/update-cm-7.1.0-SelfKANG1-Amaze-4g.zip
MCreane said:
And if you´ve read anything I have written (and what others have added) you would see that the purpose of this post is LEARNING. I´m not a linux guy, but I´m quickly figuring it out, not much help to individuals such as yourself who choose to distract and detract rather than assist and contribute, or at least keep your finger off the ¨submit¨ button.
I posted this thread because there is no working version of CM7 for this device. Lets drop the negativity/whatever and put our efforts and keystrokes to getting this booting.
Click to expand...
Click to collapse
Ok we're just letting you know that the CMCompiler will not help. But try this.
http://forum.xda-developers.com/showthread.php?t=667298
My comment had no attitude as you speak of, like XAviierG i was just letting you know that if your intention is LEARNING the CMcompiler does not help with the process. Its an application that runs in a terminal window and you press numbers on screen to pull from the repos, again thats not learning and it wont help get the Vivid working any sooner.
I appropriate your eagerness to learn Linux, i am still learning alot aswell, and i too was excited when i read about the CMcompling application, however after reading about it and the stance of the dev teams i realized that its not the best for me and people looking to learn
Drew
thecubed said:
I'm already taking care of this
If you're into it, you can download my repo for CM9 here: https://github.com/thecubed/android_device_htc_holiday
I make no promises on timeline, but I do expect to have a teaser video with a few things working at least here in a day or so.
Click to expand...
Click to collapse
This just made my day
Sent from my HTC PH39100 using Tapatalk
CMC got me motivated to figure out how to get this working. Yes it´s a shortcut, no it doesn´t help anyone who can´t flash through rommanager already, and thus not us, right now. However, what gets people learning is a good thing, as far as I am concerned. I know far more about Linux now than I ever would have if it had worked beautifully from the start, including building everything through other means that it looks to do through invisible scripting.
As I said, I´m done talking about this.
Back on topic.
I am working on building a fresh CM7 Kernel through
Code:
[email protected]:~/android/kernel/cm-kernel$ adb pull /proc/config.gz /home/michaelcreane/android/kernel/cm-kernel/config.gz
cat config.gz | gunzip > .config
All goes well
Code:
make ARCH=arm CROSS_COMPILE=$CCOMPILER oldconfig
make ARCH=arm CROSS_COMPILE=$CCOMPILER menuconfig
No problems.
But then
Code:
make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`
and I run into this:
Code:
[email protected]:~/android/kernel/cm-kernel$ make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`
scripts/kconfig/conf --silentoldconfig Kconfig
#
# configuration written to .config
#
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CC scripts/mod/empty.o
cc1: error: unrecognized command line option ‘-mlittle-endian’
cc1: error: unrecognized command line option ‘-mapcs’
cc1: error: unrecognized command line option ‘-mno-sched-prolog’
cc1: error: unrecognized command line option ‘-mno-thumb-interwork’
scripts/mod/empty.c:1:0: error: unknown ABI (aapcs-linux) for -mabi= switch
scripts/mod/empty.c:1:0: error: bad value (armv5t) for -march= switch
make[2]: *** [scripts/mod/empty.o] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2
make: INTERNAL: Exiting with 3 jobserver tokens available; should be 2!
I just accepted all defaults in the RCU implementation, and I´m guessing that´s where the errors are starting. I got the same error when I ran
Code:
scripts/extract-ikconfig boot.img > .config
rather than extracting the .gz file from my device. Any ideas?
@MCreane and the cubed
I'm glad you guys are working on this. Very exited to see what you guys come up with. I also think it would be great to have a guide.
Sent from my HTC PH39100 using XDA App
I was able to build the Holiday kernel successfully after pulling config.gz and doing this:
Code:
make oldconfig
export CROSS_COMPILE=<path to android source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
make ARCH=arm -j2
michealw31 said:
I was able to build the Holiday kernel successfully after pulling config.gz and doing this:
Code:
make oldconfig
export CROSS_COMPILE=<path to android source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
make ARCH=arm -j2
Click to expand...
Click to collapse
Awesome, ill give that a shot after work. Much appreciated
Sent from my HTC Raider X710e using xda premium
Tease: we have a successful booting CM9 from source
Current problem: the kernel we're using (stock from source) is missing the proper USB stack for ICS, as well as GSL changes, so we either have to fork toastcfh's kernel, or fix tiamat's kernel which currently doesn't boot.
However, we were able to get it to boot with a stock kernel built from source. Gfx are skewed, but touchscreen worked, and the colors were right-- so we're on to something at least.
Anyway, I'll be pushing what I have to my github as "holidayics" instead of "holiday" until it's ready for primetime. (@ http://github.com/thecubed )
thecubed said:
Tease: we have a successful booting CM9 from source
Current problem: the kernel we're using (stock from source) is missing the proper USB stack for ICS, as well as GSL changes, so we either have to fork toastcfh's kernel, or fix tiamat's kernel which currently doesn't boot.
However, we were able to get it to boot with a stock kernel built from source. Gfx are skewed, but touchscreen worked, and the colors were right-- so we're on to something at least.
Anyway, I'll be pushing what I have to my github as "holidayics" instead of "holiday" until it's ready for primetime. (@ http://github.com/thecubed )
Click to expand...
Click to collapse
Good to hear about your progress. I'm willing to help test if you need any help in that department.
Sent from my Transformer TF101 using Tapatalk

Team Streak

Snargledorf and I have official formed "Team Streak", furthering the Dell Streak 7
https://github.com/Team-Streak
Goals: Perfect working ICS and Perfect working Jelly Bean
ConGrats!
When you guys compile it how do you get it running? i compile it but whenever i flash or anything it fails to boot. i havent made changes yet. just compiled your unmodded device profile with my blobs and such.
Are you using CM9/10? Did you get all the proprietary files? What commands did you run?
giveen said:
Are you using CM9/10? Did you get all the proprietary files? What commands did you run?
Click to expand...
Click to collapse
i repo synced cm9 for your cm9 source.
Code:
# cd /home/connor/android/CM9
# git clone https://github.com/Team-Streak/android_device_dell_streak7.git ./device/dell/streak7
# cd ./device/dell/streak7
# ./extract-files.sh
# cd /home/connor/android/CM9
# . build/envsetup.sh
# brunch streak7-userdebug
i have the prebuilts from cyanogenmod already
and everything builds perfectly and i got a full zip like i do with other devices. but when i go to flash in either cwm6 or twrp it flashes fine but then just hanges at the dell logo.
i logcatted it and it seems to just be looping. (i forget what it wasthat was in the loop)
Lunch it
Sent from my Nexus 7 using Tapatalk 2
Source build/envsetup.sh
Lunch (choose streak. M7 option)
Make -j2
After its done........
Make otapackage -j2
Sent from my Nexus 7 using Tapatalk 2
Ok thank you very much. im downloading the nvidia tegra bull crap right now after figuring out i need it. (duh lol)
ok i am having a problem with the nvidia kernel..
im getting
Code:
make: *** No rule to make target `vendor/nvidia/build/kernel.mk'. Stop.
i know this is probably stupid but where is nvidia kernel? i found something on nv-tegra.nvidia.com git. but nothing with kernel.mk in it.. sorry for the stupidity.
Remove any vendor/nvidia stuff from references.
I have access to some stuff, but in order to make it public, I took all this stuff out.
Go to the the Team-Streak
https://github.com/Team-Streak/android_device_dell_streak7
Oh yeah, how many cores is your CPU? For example I have a Core -i7 on my server, so I put "make -j9" speeds up build time significantly.
giveen said:
Snargledorf and I have official formed "Team Streak", furthering the Dell Streak 7
https://github.com/Team-Streak
Goals: Perfect working ICS and Perfect working Jelly Bean
Click to expand...
Click to collapse
So Awesome!!!!!! Thank You!!!!
i do -j8 lol. just got the new amd processor,16 gbs of ram i <3 it.
ok ill reclone your repo and see what happens from there.

4.9 Kernel

4.9 was released and Nexus 5 it's support by mainline kernel
http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.9-ARM-Pull
Interesting. This might bring development back to the phone. Also 4.8 and 4.9 have some amazing features and speed improvements.
Will any dev merge and update our kernel? will this function with our android latest version?
santi1993 said:
Will any dev merge and update our kernel? will this function with our android latest version?
Click to expand...
Click to collapse
No, it's probably not even functional in many aspects, there will be a lot of patching/fixing needed to get it to work.
There is already been discussed about his.
Yes, it's impossible use 4.9 without patch related to panel, exc exc
So what does exactly the "Nexus 5 support" on this kernel mean if you can't run Android on it without patching? Would it potentially help running Linux distros on our devices or?
TheReduxPL said:
So what does exactly the "Nexus 5 support" on this kernel mean if you can't run Android on it without patching? Would it potentially help running Linux distros on our devices or?
Click to expand...
Click to collapse
There is support for the kernel, so yes, you could now run Arch, Debian, OpenWRT, or DD-WRT much more easily.
Android utilizes old libraries that are not compatible with new kernels (that's at least my understanding of the matter), so you would need to patch it to run a newer kernel, and that could only get you so far.
The newest kernel version that anyone had managed to boot Android with is the latest 4.4.x LTS release.
I wonder if someone could backport the necessary changes from 4.9 to the latest 4.4.x release though, that would already be something.
Thank you! I really like the concept of running *WRT on Nexus - I wonder how would functionality like network booting work like...
Could the mainline kernel also be used for other non-Android OSs like Ubuntu (Touch) or Sailfish OS?
TheReduxPL said:
Thank you! I really like the concept of running *WRT on Nexus - I wonder how would functionality like network booting work like...
Could the mainline kernel also be used for other non-Android OSs like Ubuntu (Touch) or Sailfish OS?
Click to expand...
Click to collapse
I don't think so, as they rely on Android bits to work with the bootloader and recovery.
But perhaps there is a chance with the new OS that KDE are cooking, which is supposed to be completely independent of Android.
The 4.10 kernel brings in mainline support for the Nexus 6P and the Nexus 5X.
I wish that mainline support would arrive for the Nexus 4.
moriel5 said:
The newest kernel version that anyone had managed to boot Android with is the latest 4.4.x LTS release.
Click to expand...
Click to collapse
Update: Apparently Android 6.0.x and up can now utilize kernel 4.9.x.
As there is a build of Android 7.1.x for the x86 platform (I have no idea whether it is an official build of Android-x86, nor do I know the precise Android version, though) with a 4.9.x kernel (again, I have no idea precisely which version).
My source is a newly thread opened in the Remix OS forum, in which the OP asks for the possibility of updating the kernel in Remix OS, and mentions that he/she managed to boot it (only in debug mode, though) with the aforementioned kernel.
The source: https://forum.xda-developers.com/remix/remix-os/remix-3-0-207-kernel-t3546057
anyone managed to boot a hh from any kind of 4.9 compilation?
Sent from my Nexus 5 CAF using Tapatalk
Hey folks!
I'm playing around with one of my nexus 5 devices for a while now... right now i got Maru OS installed and it's nice
But anyway this is another story.
santi1993 said:
anyone managed to boot a hh from any kind of 4.9 compilation?
Click to expand...
Click to collapse
Yeah i did!
Used this kernel (which is 4.9.27):
https://git.linaro.org/landing-team...rnel-debian-qcom-dragonboard410c-17.04.tar.gz
... and used Linaro GCC 4.8-2014.04 toolchain (had to use the 32Bit version here).
Then:
make qcom_defconfig
make
make qcom-msm8974-lge-nexus5-hammerhead.dtb
Then later on:
cat arch/arm/boot/zImage arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dtb > arch/arm/boot/zImage-dtb
Then i took twrp-3.0.3-0-hammerhead.img and extracted it with abootimg.
Changed the cmdline parameter for console to console=ttyMSM0,115200,n8
Took the new kernel and rebuild the recovery image to be my test image (just quick'n'dirty)
Then via adb:
reboot bootloader
... and afterwards injected the boot image (e.g.):
fastboot boot hammerhead-kernel4.img
See the attached file for the output.
This log was taken with a serial console cable attached to the earphone plug.
Cheers,
scholbert
scholbert said:
Hey folks!
I'm playing around with one of my nexus 5 devices for a while now... right now i got Maru OS installed and it's nice
But anyway this is another story.
Yeah i did!
Used this kernel (which is 4.9.27):
https://git.linaro.org/landing-team...rnel-debian-qcom-dragonboard410c-17.04.tar.gz
... and used Linaro GCC 4.8-2014.04 toolchain (had to use the 32Bit version here).
Then:
make qcom_defconfig
make
make qcom-msm8974-lge-nexus5-hammerhead.dtb
Then later on:
cat arch/arm/boot/zImage arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dtb > arch/arm/boot/zImage-dtb
Then i took twrp-3.0.3-0-hammerhead.img and extracted it with abootimg.
Changed the cmdline parameter for console to console=ttyMSM0,115200,n8
Took the new kernel and rebuild the recovery image to be my test image (just quick'n'dirty)
Then via adb:
reboot bootloader
... and afterwards injected the boot image (e.g.):
fastboot boot hammerhead-kernel4.img
See the attached file for the output.
This log was taken with a serial console cable attached to the earphone plug.
Cheers,
scholbert
Click to expand...
Click to collapse
Linux version 4.9.27 ([email protected])
Wow, you are one of the coolest users on there! i doubt anyone could boot it up!
You rock! hope we can get a public release to test it out!
scholbert said:
Hey folks!
I'm playing around with one of my nexus 5 devices for a while now... right now i got Maru OS installed and it's nice
But anyway this is another story.
Yeah i did!
Used this kernel (which is 4.9.27):
https://git.linaro.org/landing-team...rnel-debian-qcom-dragonboard410c-17.04.tar.gz
... and used Linaro GCC 4.8-2014.04 toolchain (had to use the 32Bit version here).
Then:
make qcom_defconfig
make
make qcom-msm8974-lge-nexus5-hammerhead.dtb
Then later on:
cat arch/arm/boot/zImage arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dtb > arch/arm/boot/zImage-dtb
Then i took twrp-3.0.3-0-hammerhead.img and extracted it with abootimg.
Changed the cmdline parameter for console to console=ttyMSM0,115200,n8
Took the new kernel and rebuild the recovery image to be my test image (just quick'n'dirty)
Then via adb:
reboot bootloader
... and afterwards injected the boot image (e.g.):
fastboot boot hammerhead-kernel4.img
See the attached file for the output.
This log was taken with a serial console cable attached to the earphone plug.
Cheers,
scholbert
Click to expand...
Click to collapse
Hey that's amazing. I've been working on this too. So where exactly did you enter the command line parameter for console? Can you list out that command?
Sent from my Nexus 5 using XDA Labs
santi1993 said:
Linux version 4.9.27 ([email protected])
Wow, you are one of the coolest users on there! i doubt anyone could boot it up!
You rock! hope we can get a public release to test it out!
Click to expand...
Click to collapse
Thanks for appreciation, but what do you expect from "public release"?
As many other already posted here, this kernel is far away from the 3.4 Images for daily use.
So this is just for fun of course :angel:
Icyphox said:
Hey that's amazing. I've been working on this too. So where exactly did you enter the command line parameter for console? Can you list out that command?
Sent from my Nexus 5 using XDA Labs
Click to expand...
Click to collapse
Have a look at the tool abootimg.
You could use a bootimg.cfg fle and change the cmdline for your boot image individually.
E.g.:
Code:
bootsize = 0xe48800
pagesize = 0x800
kerneladdr = 0x8000
ramdiskaddr = 0x2900000
secondaddr = 0xf00000
tagsaddr = 0x2700000
name =
cmdline = console=ttyMSM0,115200,n8 androidboot.hardware=hammerhead user_debug=31 maxcpus=2 msm_watchdog_v2.enable=1 androidboot.selinux=permissive
The other parameters are fixed values for hammerhead... and the bootsize value depends on the size needed for your image.
In this case it's just the default value used for TWRP.
Then use the tool like this:
abootimg --create hammerhead-kernel4.img -f bootimg.cfg -k zImage-dtb -r initrd.img
Best regards,
scholbert
scholbert said:
Thanks for appreciation, but what do you expect from "public release"?
As many other already posted here, this kernel is far away from the 3.4 Images for daily use.
So this is just for fun of course :angel:
Have a look at the tool abootimg.
You could use a bootimg.cfg fle and change the cmdline for your boot image individually.
E.g.:
The other parameters are fixed values for hammerhead... and the bootsize value depends on the size needed for your image.
In this case it's just the default value used for TWRP.
Then use the tool like this:
abootimg --create hammerhead-kernel4.img -f bootimg.cfg -k zImage-dtb -r initrd.img
Best regards,
scholbert
Click to expand...
Click to collapse
Wonderful! The heads-up I needed was the bootimg.cfg. Thanks a bunch. Also, is your ROM usable with this kernel?
Sent from my Nexus 5 using XDA Labs
Icyphox said:
Wonderful! The heads-up I needed was the bootimg.cfg. Thanks a bunch. Also, is your ROM usable with this kernel?
Sent from my Nexus 5 using XDA Labs
Click to expand...
Click to collapse
No far away from any use together with a ROM or even anything the TWRP image uses inside.
No graphics... no usb...
This is just a proof of concept, playing around with the dts files and kernel. Nothing more.
If someone would create a console based ramdisk with some tools included, you may dig a little deeper into the soc or check which parts are responsive or not.
Cheers,
scholbert
It has been quite some time.
Does anyone think that using PostMarketOS's kernel as a stepping stone may help get at least kernel 4.4 to a daily-driver ready status?
Update: Perhaps it would also be a good idea to use the Nexus 7 (2013)'s sources to try porting the newer kernel there to the Nexus 4 (as they share the same SOC).
scholbert said:
Hey folks!
I'm playing around with one of my nexus 5 devices for a while now... right now i got Maru OS installed and it's nice
But anyway this is another story.
Yeah i did!
Used this kernel (which is 4.9.27):
https://git.linaro.org/landing-team...rnel-debian-qcom-dragonboard410c-17.04.tar.gz
... and used Linaro GCC 4.8-2014.04 toolchain (had to use the 32Bit version here).
Then:
make qcom_defconfig
make
make qcom-msm8974-lge-nexus5-hammerhead.dtb
Then later on:
cat arch/arm/boot/zImage arch/arm/boot/dts/qcom-msm8974-lge-nexus5-hammerhead.dtb > arch/arm/boot/zImage-dtb
Then i took twrp-3.0.3-0-hammerhead.img and extracted it with abootimg.
Changed the cmdline parameter for console to console=ttyMSM0,115200,n8
Took the new kernel and rebuild the recovery image to be my test image (just quick'n'dirty)
Then via adb:
reboot bootloader
... and afterwards injected the boot image (e.g.):
fastboot boot hammerhead-kernel4.img
See the attached file for the output.
This log was taken with a serial console cable attached to the earphone plug.
Cheers,
scholbert
Click to expand...
Click to collapse
From the logs, it looks like the reason the boot stops is because of init.rc errors. I might be able to help with that, but my nexus 5's battery is toast.

Categories

Resources