[Q] Hp slate 21 Kernel Compilation - General Questions and Answers

Hi, I am looking to compile the hp slate 21 kernel
I Have the source code which I took from Hp Open Source at this link:
https://h20392.www2.hp.com/opensource/product.jsp?cat=100&e=true&fam=Desktop+PCs&prd=E2P18AA
The problem is that i don't know 3 things because the readmeFile inside the kernel is the Linux one and is not specific for the hp kernel:
1: The specific Toolchain required to build this kernel
2: The Configuration file for the HP slate 21 ( I took the one from /proc/config.gz config ) from the tablet
3: Which ARCH to choose arm,x86,ia64 etc...
ANY information like samsung kernel gives would be great
I know how to build Samsung kernels because in the readmefile that looks like this, there is enough information to know what to do:
HOW TO BUILD KERNEL FOR GT-P5113_XAR
1. How to Build
- get Toolchain
download and install arm-eabi-4.4.3 toolchain for ARM EABI.
Extract kernel source and move into the top directory.
$ export CROSS_COMPILE=/opt/toolchains/arm-2010q1/bin/arm-none-linux-gnueabi-
$ make android_espresso10_omap4430_r02_user_defconfig
$ make
2. Output files
- Kernel : Kernel/arch/arm/boot/zImage
- module : Kernel/drivers/*/*.ko
3. How to Clean
$ make clean
4. How to make .tar binary for downloading into target.
- change current directory to Kernel/arch/arm/boot
- type following command
$ tar cvf GT-P5113_XAR.tar zImage

Related

compiling Linux kernel for Samsung Galaxy 5 : compiled zImage doesn't work

I am trying to compile Linux kernel for my Samsung Galaxy 5 with full Netfilter support:
The phone specifications are:
Code:
Model number : GT-I5503
Firmware version : 2.1-update1
Baseband version : I5503DDJG5
Kernel version : 2.6.29-perf [email protected] #5
Build number : ERE27
I downloaded **GT-I5500_OpenSource.zip** and **GT-I5503T_OpenSource.zip** from opensource.samsung.com as they contain the required kernel trees for the samsung phone, and did the following steps:
I modified the .config file for enabling full netfilter support and then for **GT-I5500_OpenSource.zip**
Code:
[email protected]:~/GT-I5500_OpenSource_Kernel/kernel# ./make_kernel.sh
[email protected]:~/GT-I5500_OpenSource_Kernel/kernel# ARCH=arm CROSS_COMPILE=~/myandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi- make
Here i chose the toolchain from android source.
Now i got the required output, i.e.
Code:
CHK include/linux/compile.h
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
Building modules, stage 2.
MODPOST 30 modules
[email protected]:~/GT-I5500_OpenSource_Kernel/kernel#
I copied this zImage in the phones sdcard, and tried to flash the kernel using **SGS Kernel Flasher**. The phone rebooted, but i could still see the old kernel version in the settings... And there is no netfilter(iptables) functionality.
I followed the same steps with **GT-I5503T_OpenSource.zip**
Code:
[email protected]:~/GT-I5503T_OpenSource_Kernel/kernel$ ./make_kernel.sh
[email protected]:~/GT-I5503T_OpenSource_Kernel/kernel# find . -type f -name ‘*’ -exec dos2unix {} \;
[email protected]:~/GT-I5503T_OpenSource_Kernel/kernel# make ARCH=arm CROSS_COMPILE=~/myandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
and finally
Code:
CHK include/linux/compile.h
Kernel: arch/arm/boot/Image is ready
Kernel: arch/arm/boot/zImage is ready
Building modules, stage 2.
MODPOST 30 modules
[email protected]:~/GT-I5503T_OpenSource_Kernel/kernel#
But this kernel also doesn't work in the real device(Samsung Galaxy 5).
The third time, I copied the .config file from GT-I5503T_OpenSource.zip into the common folder, here the common folder has the kernel from
Code:
$git clone git://android.git.kernel.org/kernel/common
and did the same steps, I got zImage but it failed to work in the phone.
Please someone tell, what exactly am i doing wrong or do i need to go for kernel tree from some other sources. I did kernel compilation process for almost 5-7 times, but failed.
I tried to flash kernel from windows with fastboot, but that also didn't work...
please someone help... Thank you!!!

[Q] envsetup.sh device profile

As I'm sure many will know Telechips do not release their SDK or linux BSP to people without buying and expensive development board and commitment to buying vast amounts of chips.
I have a cx-01 and the device is crippled on kernel features and force loading of kernel modules is disabled by default.
cnxsoft had some information regarding the kernel source release, but without framework recompile it won't boot.
Android source will give me the envsetup.sh, but misses the telechips profile out.
I wondered if anyone has the telechips 8923 folder in WORKING_DIRECTORY/device -if so where did you get it and can I have a copy.
Failing that I have a decompiled system image for the cx-01 and a copy of telechips 8902 profile-I wondered if it is possible to create a working tcc8923 with these?
I notice back in January nobody had a working custom kernel for this processor- am I barking up the wrong tree?
To build Android from source for a new device, you need to set up a board config and its makefiles. This is generally a long and tedious process. Luckily, if you are only building recovery, it is a lot easier. From the root of your Android source directory (assuming you've run envsetup.sh), run the following (substituting names appropriately): ( I gues envsetup.sh means running: 1: . build/envsetup.sh
2: lunch 3: 1 (my choice) 4: make m805_892x my tablet type)
build/tools/device/mkvendor.sh device_manufacturer_name device_name /your/path/to/the/boot.img
For my Tom-Tec 7 excellent, the command will go as follows :
Code:
build/tools/device/mkvendor.sh YG m805_892x ~/boot.img
> ore: build/tools/device/mkvendor.sh YG m805_892x ~/recovery.img
the later needed kernel is in recovery.img it seems.
Please note that m805_892x is the device name..... Only use "~/boot.img" if you have the boot image in your home directory. Or else please specify the correct path.
You will receive the confirmation "Done!" if everything worked. The mkvendor.sh script will also have created the following directory in your Android source tree:
manufacturer_name/device_name
YG/m805_892x
Sow get youŕe recovery.img and use that to get WORKING_DIRECTORY/device/YG/m805_892x
Device name is in build.prop
Try this link to see what it makes from the board config and its makefiles http://builder.clockworkmod.com
Personally i´m still stuck making a cwm recovery thats works 100% on my tablet.
I build from CWM source.
some links:
>> Porting CWM to other devices Part 2 (OS X): http://www.acsyndicate.net/how-to-porting-cwm-to-other-devices-os-x-part2/
wiki: http://forum.xda-developers.com/wiki/ClockworkMod_Recovery
http://forum.xda-developers.com/showthread.php?t=1337786
http://www.twobitcoder.com/?p=158
tcc TCC8902/TCC8803 tablets http://forum.xda-developers.com/showthread.php?t=1101094
> http://forum.xda-developers.com/showthread.php?t=1866545
http://forum.xda-developers.com/showthread.php?t=1026853
make recovery: http://www.koushikdutta.com/2010/10/porting-clockwork-recovery-to-new.html

[Q] opensource galaxy ace plus gt-s7500W

Hello guys,
I have a samsung galaxy ace plus gt-s7500W and i read about:
[GUIDE][REL][YOU MUST KNOW][DL] Galaxy Ace Plus Frameworks And Kinds in the forum.
I went to the opensourse site of samsung and i downloaded the opensource rom but i don't know how to build and make it ready for flashing.
The file name is: GT-S7500W_GB_Opensource.zip
It contains two files:
GT-S7500W_EUR_Kernel.tar.gz and GT-S7500W_EUR_Platform.tar.gz
and also two text files:
GT-S7500W_EUR_Kernel.txt which contains this text:
Code:
HOW TO BUILD KERNEL 2.6.38 FOR GT-S7500
1. How to Build
- get Toolchain
Visit http://www.codesourcery.com/, download and install Sourcery G++ Lite 2009q3-68 toolchain for ARM EABI.
Extract kernel source and move into the top directory.
$ toolchain\arm-eabi-4.4.3
$ cd kernel/
$ ./make_kernel_GT-S7500.sh
2. Output files
- Kernel : kernel/arch/arm/boot/zImage
3. How to make .tar binary for downloading into target.
- change current directory to kernel/arch/arm/boot
- type following command
$ tar cvf GT-S7500_Kernel_Gingerbread.tar zImage
and another file GT-S7500W_EUR_Platform.txt containing following text:
Code:
How to build
1. Get android open source.
: version info - Android gingerbread 2.3.6
( Download site : http://source.android.com )
2. Overwrite modules that you want to build.
3. external/bluetooth : Delete this source tree at Android gingerbread and then copy.
external/iproute2 : Delete this source tree at Android gingerbread and then copy.
4. Add the following lines at the end of build/target/board/generic/BoardConfig.mk
BOARD_HAVE_BLUETOOTH := true
BOARD_HAVE_BLUETOOTH_BCM := true
5. Write the following lines into build/core/user_tags.mk so that add these modules.
gatttool \
qcm_dut \
ip \
6. make
- ./build.sh user
How can i do that? :angel:
help me please

[Completed] help build android source for my device

hello , i have a samsung tablet GT-P1000 "A3LGTP1000",found that its not original,it is a korean copy,anyway I have already downloaded "android-4.1.2_r2.1" and i had a successfuly build for samsung crespo just for testing the build.
Now i have downloaded the kernel of the tablet from "opensource samsung site" and had successfuly build it,now i have a "zimage" file at "GT-P1000/GT-P1000_Kernel/Kernel/arch/arm/boot/".
The question is i need to build the android source for this device.
how to add it to the lunch menu and build it?
Thank you in advance,this is my first post on Xda,hope i can get help from you all,best regards.
joek85 said:
hello , i have a samsung tablet GT-P1000 "A3LGTP1000",found that its not original,it is a korean copy,anyway I have already downloaded "android-4.1.2_r2.1" and i had a successfuly build for samsung crespo just for testing the build.
Now i have downloaded the kernel of the tablet from "opensource samsung site" and had successfuly build it,now i have a "zimage" file at "GT-P1000/GT-P1000_Kernel/Kernel/arch/arm/boot/".
The question is i need to build the android source for this device.
how to add it to the lunch menu and build it?
Thank you in advance,this is my first post on Xda,hope i can get help from you all,best regards.
Click to expand...
Click to collapse
Anybody?
now i have the binaries "lib,framworks,vendor,build.prop......."
now what?
help please.
joek85 said:
hello , i have a samsung tablet GT-P1000 "A3LGTP1000",found that its not original,it is a korean copy,anyway I have already downloaded "android-4.1.2_r2.1" and i had a successfuly build for samsung crespo just for testing the build.
Now i have downloaded the kernel of the tablet from "opensource samsung site" and had successfuly build it,now i have a "zimage" file at "GT-P1000/GT-P1000_Kernel/Kernel/arch/arm/boot/".
The question is i need to build the android source for this device.
how to add it to the lunch menu and build it?
Thank you in advance,this is my first post on Xda,hope i can get help from you all,best regards.
Click to expand...
Click to collapse
Hi and thank you for using XDA Assist
Try to head over here
It contains all the necessary things you should need to know.
Good luck!
nilac said:
Hi and thank you for using XDA Assist
Try to head over here
It contains all the necessary things you should need to know.
Good luck!
Click to expand...
Click to collapse
Thank you sir.Great guide really and very helpful,but this guide is for CM,i am downloading cm-12.1 nut you know it takes long time since my connection is pretty slow.In the meanwhile i am trying to build my existing AOSP wish i've already downloaded.
let's forget about this tablet.
I also downloaded the GT-I9300 files from opensource samsung site "GT-I9300_JB_Opensource.zip" and here is what it includes :
2 folders : Kernel , Platform.
2 files : README_Kernel.txt , README_Platform.txt.
The Platform folder contains :build,external,framework,vendor and build.sh.
Inside README_Kernel there is :
1. How to Build
- get Toolchain
From android git server , codesourcery and etc ..
- arm-eabi-4.4.3
- edit Makefile
edit "CROSS_COMPILE" to right toolchain path(You downloaded).
EX) CROSS_COMPILE= $(android platform directory you download)/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
Ex) CROSS_COMPILE=/usr/local/toolchain/arm-eabi-4.4.3/bin/arm-eabi- // check the location of toolchain
$ make arch=arm m0_00_defconfig
$ make
2. Output files
- Kernel : arch/arm/boot/zImage
- module : drivers/*/*.ko
3. How to Clean
$ make clean
################################################################################
Inside README_Platform :
How to build Mobule for Platform
- It is only for modules are needed to using Android build system.
- Please check its own install information under its folder for other module.
[Step to build]
1. Get android open source.
: version info - Android 4.3
( Download site : http://source.android.com )
2. Copy module that you want to build - to original android open source
If same module exist in android open source, you should replace it. (no overwrite)
# It is possible to build all modules at once.
3. You should add module name to 'PRODUCT_PACKAGES' in 'build\target\product\core.mk' as following case.
case 1) e2fsprog : should add 'e2fsck' to PRODUCT_PACKAGES
case 2) libexifa : should add 'libexifa' to PRODUCT_PACKAGES
case 3) libjpega : should add 'libjpega' to PRODUCT_PACKAGES
case 4) KeyUtils : should add 'libkeyutils' to PRODUCT_PACKAGES
ex.) [build\target\product\core.mk] - add all module name for case 1 ~ 4 at once
PRODUCT_PACKAGES += \
e2fsck \
libexifa \
libjpega \
libkeyutils
4. excute build command
./build.sh user
Inside build.sh :
#!/bin/bash
################################################################################
#
# Build Script
#
# Copyright Samsung Electronics(C), 2010
#
################################################################################
################################################################################
# Useage
# : ./build.sh [mod]
#
# Example
# : ./build.sh eng
################################################################################
if [ "" = "$1" ]
then
echo --------------------------------------------------------------------------------
echo - Useage
echo - : ./build.sh [mod]
echo -
echo - Example
echo - : ./build.sh eng
echo --------------------------------------------------------------------------------
exit
fi
export CPU_NUMBER=16
export TARGET_BUILD_VARIANT=$1
################################################################################
# Common Path
################################################################################
TOP_DIR=$PWD
# set root path
export PLATFORMPATH="$TOP_DIR"
cd $PLATFORMPATH
make update-api
make -j$CPU_NUMBER PRODUCT-generic-$TARGET_BUILD_VARIANT
So i ignored build.sh and cd my jellybean source and did make -j8 PRODUCT-generic-eng.
it built sucessfully , now i have inside out/target/product/generic/ system.img and ramdisk.img and userdata.img.
But here is the question : Why Samsung does build it this way?why does not do it the normal way like CM does?
As i know that the generic build is for emulator right? so why samsung build a generic build?
Now after i have those imgs and the kernel Zimage , am i ready to go?am i on the right track?
If so ,how to flash the device?
I am sorry for bothering , thank you for your help.

[HOW TO GUIDE] Build custom kernel for Android

1) requirements:
good brain (recommanded)
laptop/phone (must be 64bit)
kernel source (optionnal)
2) basics:
familiar with linux cmds such as git/make
in case building C is not important
know the right clang/gcc to use
3) before compiling:
in casd your kernel is old 2017- and your kernel version is 3.x or 2.x then 98% you should use gcc else use clang
use the right clang version you can check it from kernel string (settings>about phone>kernel version)
for gcc use linux x86 gcc for android like lineage/linaro/eva gcc and for android use arm64 gcc
4) compiling
first you need a config file you can use make ARCH=arm64 CROSS_COMPILE="path where you cloned the gcc/clang /bin/aarch64-linux-android-" ....defconfig it will load the gcc i.e:
make ARCH=arm64 CROSS_COMPILE=/root/gcc/bin/aarch64-linux-android- exynos7870-m10lte_defconfig
=> the defconfig file is stored on arch/arm64/configs so use your own
then compile make ARCH=arm64 CROSS_COMPILE=/root/gcc/bin/aarch64-linux-android-
the kernel will be stored on arch/arm64/boot

Categories

Resources