Question How to compile and run custom kernel for Pixel 6 - Google Pixel 6

Hello!
I'm trying to compile and run a custom Android kernel on my Pixel 6. I did this multiple times in the past but with Android 12 it seems things have changed.
I'm following the usual "Building Kernels" page https://source.android.com/setup/build/building-kernels?hl=en
In more details these are the commands that I run:
mkdir android-kernel && cd android-kernel
repo init -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-5.10-android12-d1
./build/build.sh
Click to expand...
Click to collapse
However when I try to boot the boot.img using the "fastboot boot boot.img" command, I get immediately redirected back to the bootloader. I suspect this is due to a bad image file format.
I also tried to compile as follow
BUILD_BOOT_IMG=1 SKIP_VENDOR_BOOT=1 KERNEL_BINARY=Image \
GKI_RAMDISK_PREBUILT_BINARY=gki-ramdisk.lz4 \
BUILD_CONFIG=private/gs-google/build.config.gki.aarch64 \
./build/build.sh
Click to expand...
Click to collapse
where gki-ramdisk.lz4 is the ramdisk extracted from the prebuilt images found here https://developers.google.com/android/images#oriole
With this last setup I get a boot-loop, so at least the boot.img file format seems to be ok.
I think that these issues are related to the new GKI format, however I cannot find any information online on how to compile a custom GKI kernel.
Does any of you know how to build and run custom kernels for the Pixel 6?
Thanks!

barbito said:
Hello!
I'm trying to compile and run a custom Android kernel on my Pixel 6. I did this multiple times in the past but with Android 12 it seems things have changed.
I'm following the usual "Building Kernels" page https://source.android.com/setup/build/building-kernels?hl=en
In more details these are the commands that I run:
However when I try to boot the boot.img using the "fastboot boot boot.img" command, I get immediately redirected back to the bootloader. I suspect this is due to a bad image file format.
I also tried to compile as follow
where gki-ramdisk.lz4 is the ramdisk extracted from the prebuilt images found here https://developers.google.com/android/images#oriole
With this last setup I get a boot-loop, so at least the boot.img file format seems to be ok.
I think that these issues are related to the new GKI format, however I cannot find any information online on how to compile a custom GKI kernel.
Does any of you know how to build and run custom kernels for the Pixel 6?
Thanks!
Click to expand...
Click to collapse
You just need to run build_slider.sh script on the root of the repo you cloned for compile stock source

Ah thanks! build_slider works but you need to specify to compile the kernel otherwise it uses the prebuilt kernel
BUILD_KERNEL=1 ./build_slider.sh

barbito said:
Ah thanks! build_slider works but you need to specify to compile the kernel otherwise it uses the prebuilt kernel
BUILD_KERNEL=1 ./build_slider.sh
Click to expand...
Click to collapse
Hi I am trying to do the same thing, looks like there is no aosp folder anymore.

I had the same issue. I can no more compile it correctly.
They constantly change everything. I even tried to checkout to older branches where I was sure I managed to compile it but still no success. Maybe the sub cloned repository were not in sync

barbito said:
I had the same issue. I can no more compile it correctly.
They constantly change everything. I even tried to checkout to older branches where I was sure I managed to compile it but still no success. Maybe the sub cloned repository were not in sync
Click to expand...
Click to collapse
[email protected]:/mnt/code/shaoyang/aosp_kernel$ ls
build build_slider.sh prebuilts tools
build.config common-modules prebuilts-master update_symbol_list.sh
build_mixed.sh kernel private
[email protected]:/mnt/code/shaoyang/aosp_kernel$ BUILD_KERNEL=1 ./build_slider.sh
Building GKI kernel using aosp/build.config.gki.aarch64...
realpath: /mnt/code/shaoyang/aosp_kernel/aosp/build.config.gki.aarch64: No such file or directory
ERROR: Failed to compile GKI kernel: retval=1
ERROR: Failed to create mixed build: retval=1
there is no aosp folder any more, the older branches you mentioned is ?

hey,
try doing this.
Return to the ClockworkMod Recovery main menu. Choose "install zip from sdcard" and press "N." Choose "choose zip from sdcard" and press "N." Scroll through the list of ROMs, updates and kernels located on your SD card. Select the custom kernel you want to flash to the Nook.

I am trying to build AOSP 12 and kernel and unable to get it working on the Pixel 6.
my AOSP branch is android-12.1.0_r2 and my kernel branch is android-gs-raviole-5.10-android12L.
Pixel 6 works well if only flash the AOSP images I build, however, it won't boot up if I flash the boot.img build with kernel.
Here is my step:
1. mkdir android-kernel && cd android-kernel
2. repo init -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-5.10-android12L
3. repo sync
4. build/build.sh
I could see the logs below after I build successfully.
--------------------------------------------------------------------------------------------------------------------------
Files copied to /mnt/code/shaoyang/kernel/out/android-gs-pixel-5.10/dist
vendor_ramdisk-oriole.img is LZ4 compressed boot image created at boot.img
Signing the boot.img...
vendor boot image created at /mnt/code/shaoyang/kernel/out/android-gs-pixel-5.10/dist/vendor_boot.img
--------------------------------------------------------------------------------------------------------------------------
Note that the boot.img and vendor_boot.img had already been generated, then I use “fastboot flash boot boot.img” and “fastboot flash vendor_boot vendor_boot.img”to flash the boot.img and vendor_boot.img.
Unfortunately, the Pixel6 couldn’t boot up, it always stay in the fastboot mode.
I am also tried that copy all the files from out/android-gs-pixel-5.10/dist to the folder AOSP/device/google/raviole-kernel/
export TARGET_PREBUILT_KERNEL=out/android-gs-pixel-5.10/dist/Image.lz4
make bootimage
after that I flash the boot.img , Pixel 6 couldn't boot up.
I have compared the good boot.img and the bad boot.img, looks like there is no ramdisk in the bad boot.img .
I have also tried to do the below steps:
Building a Boot Image​It's possible to build a boot image using the kernel build environment. To do this you need a ramdisk binary, which you can obtain by downloading a GKI boot image and unpacking it. Any GKI boot image from the associated Android release will work.
tools/mkbootimg/unpack_bootimg.py --boot_img=boot-5.4-gz.img
mv tools/mkbootimg/out/ramdisk gki-ramdisk.lz4
The target folder is the top-level directory of the kernel tree (the current working directory).
If you're developing with AOSP master, you can instead download the ramdisk-recovery.img build artifact from an aosp_arm64 build on ci.android.com and use that as your ramdisk binary.
When you have a ramdisk binary and have copied it to gki-ramdisk.lz4 in the root directory of the kernel build, you can generate a boot image by executing:
BUILD_BOOT_IMG=1 SKIP_VENDOR_BOOT=1 KERNEL_BINARY=Image GKI_RAMDISK_PREBUILT_BINARY=gki-ramdisk.lz4 BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
That file is located in the artifact directory $KERNEL_ROOT/out/$KERNEL_VERSION/dist.
The boot image is located at out/<kernel branch>/dist/boot.img.
looks like the boot.img still don't have the ramdisk.
the pixel 6 couldn't boot up after flashed the boot.img

barbito said:
I had the same issue. I can no more compile it correctly.
They constantly change everything. I even tried to checkout to older branches where I was sure I managed to compile it but still no success. Maybe the sub cloned repository were not in sync
Click to expand...
Click to collapse
Hi , we don't need to build the whole kernel, just replace the KO file and build your vendor_boot.img and flash it. that will works for your mofiy in kernel source.

shaoyang said:
I am trying to build AOSP 12 and kernel and unable to get it working on the Pixel 6.
my AOSP branch is android-12.1.0_r2 and my kernel branch is android-gs-raviole-5.10-android12L.
Pixel 6 works well if only flash the AOSP images I build, however, it won't boot up if I flash the boot.img build with kernel.
Here is my step:
1. mkdir android-kernel && cd android-kernel
2. repo init -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-5.10-android12L
3. repo sync
4. build/build.sh
I could see the logs below after I build successfully.
--------------------------------------------------------------------------------------------------------------------------
Files copied to /mnt/code/shaoyang/kernel/out/android-gs-pixel-5.10/dist
vendor_ramdisk-oriole.img is LZ4 compressed boot image created at boot.img
Signing the boot.img...
vendor boot image created at /mnt/code/shaoyang/kernel/out/android-gs-pixel-5.10/dist/vendor_boot.img
--------------------------------------------------------------------------------------------------------------------------
Note that the boot.img and vendor_boot.img had already been generated, then I use “fastboot flash boot boot.img” and “fastboot flash vendor_boot vendor_boot.img”to flash the boot.img and vendor_boot.img.
Unfortunately, the Pixel6 couldn’t boot up, it always stay in the fastboot mode.
I am also tried that copy all the files from out/android-gs-pixel-5.10/dist to the folder AOSP/device/google/raviole-kernel/
export TARGET_PREBUILT_KERNEL=out/android-gs-pixel-5.10/dist/Image.lz4
make bootimage
after that I flash the boot.img , Pixel 6 couldn't boot up.
I have compared the good boot.img and the bad boot.img, looks like there is no ramdisk in the bad boot.img .
I have also tried to do the below steps:
Building a Boot Image​It's possible to build a boot image using the kernel build environment. To do this you need a ramdisk binary, which you can obtain by downloading a GKI boot image and unpacking it. Any GKI boot image from the associated Android release will work.
tools/mkbootimg/unpack_bootimg.py --boot_img=boot-5.4-gz.img
mv tools/mkbootimg/out/ramdisk gki-ramdisk.lz4
The target folder is the top-level directory of the kernel tree (the current working directory).
If you're developing with AOSP master, you can instead download the ramdisk-recovery.img build artifact from an aosp_arm64 build on ci.android.com and use that as your ramdisk binary.
When you have a ramdisk binary and have copied it to gki-ramdisk.lz4 in the root directory of the kernel build, you can generate a boot image by executing:
BUILD_BOOT_IMG=1 SKIP_VENDOR_BOOT=1 KERNEL_BINARY=Image GKI_RAMDISK_PREBUILT_BINARY=gki-ramdisk.lz4 BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh
That file is located in the artifact directory $KERNEL_ROOT/out/$KERNEL_VERSION/dist.
The boot image is located at out/<kernel branch>/dist/boot.img.
looks like the boot.img still don't have the ramdisk.
the pixel 6 couldn't boot up after flashed the boot.img
Click to expand...
Click to collapse
Hi,I went through the same steps as you,“the Pixel6 couldn’t boot up, it always stay in the fastboot mode.” How to solve and finally successful?
environment:Unbutu 20.04

barbito said:
Hello!
I'm trying to compile and run a custom Android kernel on my Pixel 6. I did this multiple times in the past but with Android 12 it seems things have changed.
I'm following the usual "Building Kernels" page https://source.android.com/setup/build/building-kernels?hl=en
In more details these are the commands that I run:
However when I try to boot the boot.img using the "fastboot boot boot.img" command, I get immediately redirected back to the bootloader. I suspect this is due to a bad image file format.
I also tried to compile as follow
where gki-ramdisk.lz4 is the ramdisk extracted from the prebuilt images found here https://developers.google.com/android/images#oriole
With this last setup I get a boot-loop, so at least the boot.img file format seems to be ok.
I think that these issues are related to the new GKI format, however I cannot find any information online on how to compile a custom GKI kernel.
Does any of you know how to build and run custom kernels for the Pixel 6?
Thanks!
Click to expand...
Click to collapse
Hi,I went through the same steps as you ,I had the same problem as you; How to solve and finally successful? am looking forward to your early reply

any solution for this problem? can't find any with google.... need help badly

I know it's definitely possible, but getting boot loops/crashes. There are certainly working kernels out there. So I am sure that this is possible. But can't figure it out.
acuicultor said:
You just need to run build_slider.sh script on the root of the repo you cloned for compile stock source
Click to expand...
Click to collapse
acuicultor after this, do you just copy the files under out/mixed/dist to device/google/raviole-kernel? And then run the aosp build?​

haunted2bwanted said:
I know it's definitely possible, but getting boot loops/crashes. There are certainly working kernels out there. So I am sure that this is possible. But can't figure it out.
acuicultor after this, do you just copy the files under out/mixed/dist to device/google/raviole-kernel? And then run the aosp build?​
Click to expand...
Click to collapse
I run standalone builds, no need to build aosp just for the kernel.

Hello
Is it possible to compile only the kernel from source without downloading all that AOSP bloatware simply by using the Android NDK to build it? Just like you would build any other aarch64 binary using the ndk-build command? Thank you!

acuicultor said:
I run standalone builds, no need to build aosp just for the kernel.
Click to expand...
Click to collapse
Yep. That is exactly what I am curious about. I tried the same, I can't get my device to boot unfortunately. Couple of things:
I am on a userdebug build (not sure if that matters)
I started with branch android-gs-raviole-5.10-android12L
Detailed procedure as follows:
Bash:
# download the manifest and get the repo kernel
$ repo init --depth=1 -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-5.10-android12L
$ repo sync --force-sync -c --no-clone-bundle -j$(nproc --all) --verbose
# build the kernel
$ BUILD_KERNEL=1 ./build_slider.sh
# once the build finishes, you would find the following image files
# in ./out/dist/dist/
$ ls ./out/mixed/dist/*.img -ls
19188 -rw-rw-r-- 1 user user 67108864 Jul 23 11:39 ./out/mixed/dist/boot.img
484 -rw-rw-r-- 1 user user 495134 Jul 23 11:39 ./out/mixed/dist/dtb.img
2136 -rw-rw-r-- 1 user user 2183590 Jul 23 11:29 ./out/mixed/dist/dtbo.img
12116 -rw-rw-r-- 1 user user 12405857 Jul 23 11:39 ./out/mixed/dist/initramfs.img
4 -rw-rw-r-- 1 user user 38 Jul 23 11:39 ./out/mixed/dist/vendor-bootconfig.img
31656 -rw-rw-r-- 1 user user 32415744 Jul 23 11:39 ./out/mixed/dist/vendor_boot.img
43528 -rw-rw-r-- 1 user user 44605440 Jul 23 11:39 ./out/mixed/dist/vendor_dlkm.img
# I flash the following way:
$ adb reboot bootloader
$ fastboot flash boot boot.img
$ fastboot flash dtbo dtbo.img
$ fastboot flash vendor_boot vendor_boot.img
# boot to fastbootd
$ fastboot reboot fastboot
# flash the dlkm vendor image
$ fastboot flash vendor_dlkm vendor_dlkm.img
# reboot the device
$ fastboot reboot

haunted2bwanted said:
Yep. That is exactly what I am curious about. I tried the same, I can't get my device to boot unfortunately. Couple of things:
I am on a userdebug build (not sure if that matters)
I started with branch android-gs-raviole-5.10-android12L
Detailed procedure as follows:
Bash:
# download the manifest and get the repo kernel
$ repo init --depth=1 -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-5.10-android12L
$ repo sync --force-sync -c --no-clone-bundle -j$(nproc --all) --verbose
# build the kernel
$ BUILD_KERNEL=1 ./build_slider.sh
# once the build finishes, you would find the following image files
# in ./out/dist/dist/
$ ls ./out/mixed/dist/*.img -ls
19188 -rw-rw-r-- 1 user user 67108864 Jul 23 11:39 ./out/mixed/dist/boot.img
484 -rw-rw-r-- 1 user user 495134 Jul 23 11:39 ./out/mixed/dist/dtb.img
2136 -rw-rw-r-- 1 user user 2183590 Jul 23 11:29 ./out/mixed/dist/dtbo.img
12116 -rw-rw-r-- 1 user user 12405857 Jul 23 11:39 ./out/mixed/dist/initramfs.img
4 -rw-rw-r-- 1 user user 38 Jul 23 11:39 ./out/mixed/dist/vendor-bootconfig.img
31656 -rw-rw-r-- 1 user user 32415744 Jul 23 11:39 ./out/mixed/dist/vendor_boot.img
43528 -rw-rw-r-- 1 user user 44605440 Jul 23 11:39 ./out/mixed/dist/vendor_dlkm.img
# I flash the following way:
$ adb reboot bootloader
$ fastboot flash boot boot.img
$ fastboot flash dtbo dtbo.img
$ fastboot flash vendor_boot vendor_boot.img
# boot to fastbootd
$ fastboot reboot fastboot
# flash the dlkm vendor image
$ fastboot flash vendor_dlkm vendor_dlkm.img
# reboot the device
$ fastboot reboot
Click to expand...
Click to collapse
My guess is that the vendor modules inside the vendor_boot.img may not be updated. When the kernel is built the vendor modules might need to be rebuilt along with the GKI itself. Thoughts? acuicultor

haunted2bwanted said:
Yep. That is exactly what I am curious about. I tried the same, I can't get my device to boot unfortunately. Couple of things:
I am on a userdebug build (not sure if that matters)
I started with branch android-gs-raviole-5.10-android12L
Detailed procedure as follows:
Bash:
# download the manifest and get the repo kernel
$ repo init --depth=1 -u https://android.googlesource.com/kernel/manifest -b android-gs-raviole-5.10-android12L
$ repo sync --force-sync -c --no-clone-bundle -j$(nproc --all) --verbose
# build the kernel
$ BUILD_KERNEL=1 ./build_slider.sh
# once the build finishes, you would find the following image files
# in ./out/dist/dist/
$ ls ./out/mixed/dist/*.img -ls
19188 -rw-rw-r-- 1 user user 67108864 Jul 23 11:39 ./out/mixed/dist/boot.img
484 -rw-rw-r-- 1 user user 495134 Jul 23 11:39 ./out/mixed/dist/dtb.img
2136 -rw-rw-r-- 1 user user 2183590 Jul 23 11:29 ./out/mixed/dist/dtbo.img
12116 -rw-rw-r-- 1 user user 12405857 Jul 23 11:39 ./out/mixed/dist/initramfs.img
4 -rw-rw-r-- 1 user user 38 Jul 23 11:39 ./out/mixed/dist/vendor-bootconfig.img
31656 -rw-rw-r-- 1 user user 32415744 Jul 23 11:39 ./out/mixed/dist/vendor_boot.img
43528 -rw-rw-r-- 1 user user 44605440 Jul 23 11:39 ./out/mixed/dist/vendor_dlkm.img
# I flash the following way:
$ adb reboot bootloader
$ fastboot flash boot boot.img
$ fastboot flash dtbo dtbo.img
$ fastboot flash vendor_boot vendor_boot.img
# boot to fastbootd
$ fastboot reboot fastboot
# flash the dlkm vendor image
$ fastboot flash vendor_dlkm vendor_dlkm.img
# reboot the device
$ fastboot reboot
Click to expand...
Click to collapse
This procedure seems fine to me, just for july rom build you should use android-gs-raviole-5.10-android12-qpr3 branch
haunted2bwanted said:
My guess is that the vendor modules inside the vendor_boot.img may not be updated. When the kernel is built the vendor modules might need to be rebuilt along with the GKI itself. Thoughts? acuicultor
Click to expand...
Click to collapse
Running /build_slider.sh all the necessary stuff is being built, no need to do anything more than just running the script.

acuicultor said:
This procedure seems fine to me, just for july rom build you should use android-gs-raviole-5.10-android12-qpr3 branch
Running /build_slider.sh all the necessary stuff is being built, no need to do anything more than just running the script.
Click to expand...
Click to collapse
Very strange. This does not work for me. I tried android-gs-raviole-5.10-android12-qpr3 . I see the google logo and it restarts from bootloader mode. I have no idea what I am doing wrong. I updated my aosp version to oriole-sq3a.220605.009.b1. (Link to zip)
The only change I made what changing the version string of the kernel by modifying gki_defconfig.
Bash:
$ head -n2 aosp/arch/arm64/configs/gki_defconfig
CONFIG_LOCALVERSION="-haunted2bwanted-"
CONFIG_AUDIT=y
I see the version being reflected correctly:
Bash:
$ grep -a 'Linux version' out/mixed/dist/Image
(%u)%s: Unknown advertising packet type: 0x%02xhciLinux version %s (%s)Wrong link type (%d)
�l��� ����� ������������ �����
initcallinitcall_debugLinux version 5.10.81-haunted2bwanted--android12-9-geba40aecb3b7-dirty ([email protected]) (Android (7284624, based on r416183b) clang version 12.0.5 (https://android.googlesource.com/toolchain/llvm-project c935d99d7cf2016289302412d708641d52d2f7ee), LLD 12.0.5 (/buildbot/src/android/llvm-toolchain/out/llvm-project/lld c935d99d7cf2016289302412d708641d52d2f7ee)) #1 SMP PREEMPT Tue May 3 02:46:17 UTC 2022
Could it be that I am on the wrong ROM? Which one do you recommend? @acuicultor
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

acuicultor I tried fastboot version your kernel provided here: RadioactiveKernel_RAVIOLE_v1.2.2_FASTBOOT.zip
I got identical results on my device. Reboot to bootloader.Any ideas?
I can record a video of how the device behaves if you like? In the past, the anykernel kiri kernel worked like charm. I tried it calyxos. I'll try the anykernel3 version dist of your kernel as well.

Related

[ROM] Build Your Own Dell Venue Rom > Froyo > Gingerbread > Ice Cream

I wish to open New Thread for enable focus into developing custom rom for dell venue and expecting get some suggestion, comment, help from other members of this forum :
I have wrote brief guide to prepare build environment and build kernel & rom for dell venue HERE
I do test to emulator and device all build result before posting to this thread, but need other user/member willing to test the build and post any suggestion, comment etc.
Starting by building froyo base rom, to test and ensure the buiild process is correct and exepcting to build further base i.e gingerbread and ice cream sandwich
since I'm terrible noob in android development, help, guide, suggestions are very welcome
-update-
Kernel Build
I have been succesfully "build" a kernel HERE
I splited 408-kernel to "borrow" the ramdisk (To make it easy I renamed file boot.img of 408-kernel into boot408.img.
Code:
[[email protected] venimg-1]$ split_bootimg.pl boot408.img
Page size: 2048 (0x00000800)
Kernel size: 3092536 (0x002f3038)
Ramdisk size: 168270 (0x0002914e)
Second size: 0 (0x00000000)
Board name:
Command line: androidboot.hardware=venue
Writing boot408.img-kernel ... complete.
Writing boot408.img-ramdisk.gz ... complete.
extracted ramdisk
Code:
[[email protected] ramdisk]$ gzip -dc ../boot408.img-ramdisk.gz | cpio -i
561 blocks
edited ro.secure=1 to re.secure=0
recreate cpio archive
Code:
$ mkbootfs ./ramdisk | gzip > ramdisk-408-2.gz
recreate boot image by using new build kernel named zImage-05
Code:
$ mkbootimg --cmdline 'androidboot.hardware=venue console=null' --kernel zImage-05 --ramdisk ramdisk-408-2.gz -o boot408-2.img
flash boot408-2.img > NO LUCKS > NOT BOOTING .. I'm clueless. Anybody give an idea ?
-update-
My failed to make "succesfull build kernel" to "boot" is the absent of info : BOARD_KERNEL_BASE (address) for dell venue. Someone can appoint me where I can get this info?
please test
changkho1908 said:
please test
Click to expand...
Click to collapse
this is very early stage of development build with available source. As I found HERE available ICS Chocolate Branch Manifest for msm7627. I will personally do experiment to build this ICS branch for dell venue.
I still need help from someone to understand and appoint a clue to this information at the end of build process :
Code:
.....
APK certs list: out/target/product/msm7627_surf/obj/PACKAGING/apkcerts_intermediates/msm7627_surf-apkcerts-eng.x.txt
Package target files: out/target/product/msm7627_surf/obj/PACKAGING/target_files_intermediates/msm7627_surf-target_files-eng.x.zip
Package OTA: out/target/product/msm7627_surf/update.zip
./build/tools/releasetools/ota_from_target_files:63: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
import sha
unzipping target target-files...
using device-specific extensions in device/qcom/common
[B][I][COLOR="Red"]unable to load device-specific module; assuming none[/COLOR][/I][/B]
done.
sysmtem is alive but boot (kenel) is still NON BOOTABLE ... I believed by working together we will have "something" for this device
The 40x roms are based off of the MSM8x60 branches, as they dont implicitly list 8260 they likely used 8660 as their base.
I dont know if the 8x60 is closer to the 8x50 then the 7627, but just pointing it out.
You might be better off at least getting 2.2/2.3 to boot first, you may very well need to deal with the drivers and at least 2.2/2.3 have working binary-only drivers.
TheManii said:
The 40x roms are based off of the MSM8x60 branches, as they dont implicitly list 8260 they likely used 8660 as their base.
I dont know if the 8x60 is closer to the 8x50 then the 7627, but just pointing it out.
You might be better off at least getting 2.2/2.3 to boot first, you may very well need to deal with the drivers and at least 2.2/2.3 have working binary-only drivers.
Click to expand...
Click to collapse
Dear TheManii,
I believed you are one who having well understanding on this funky smart phone. please let me know qsd8x50 : is the name of processor isnt it > qualcom snap dragon (qsd) and how about MSM8x60 <-- this is name of BOARD of Name or Processor. When coming into building kernel I need to have correct understanding. So far I know only the ARCH. Is there any wiki or site page to refer. This is example when I was on old time with gentoo linux on compiling kernel for PC > Safe Cflags. Board understanding will help in configure config file, processor understanding will help in overclocking or set best and safe for building kernel.
binary only available driver will always make head-ache in open source community. Hopefully vendor releasing the driver copy sorry for the question, I'm really new to this embedded device
Snapdragon is the device family, 8250 is the specific SOC used in the venue.
Like I stated earlier, dell used the 8x60 branch as their base as qualcomm/CAF no longer supports 8x50 devices. I dont know if it's better or worse as the group that makes the roms pretty much does a terrible job at it, the venue has only a fraction of the issues of the streak 5 (due mainly to drivers), but there's not much you can say to defend them when it takes over a year to release GB (in fact it was just days after ICS was released) for the venue.
Dell cant and wont release the drivers to any of their devices, most of them except the streak 5 arent unusual anyway. The reason ICS has a beta for the S7 is this very fact.
You can likely base it on the nexus one/passion as it's likely not terribly different from it.
I dont expect the GB drivers to simply work in ICS, and since we dont have them you'd pretty much need to rewrite/port from a similar device using the same hardware.
At least with the current drivers, you could theoretically build the rest of the system and drop in the current ones. I've never had the time to try so myself but this is pretty much how cyanogen is ported to some devices.
That's pretty much ALL the info for the venue, as I'm the closest to a dev for it (at least on xda, there's other devs but they dont speak english much/visit xda much so it doesnt really make much of a difference in the end) and that's about as much as I can offer.
I cant really offer much more as I've never attempted to build android itself. Most I've done is build the makefiles to compile CWM. The makefiles for android is a lot more complex then merely porting CWM
dear all,
can someone appoint me out to have correct GB manifest on codeaurora ? I tried
Code:
[email protected]:~/dell-venue$ gingerbread_rel -m M7630AABBQMLZA404020.xml ^C
[email protected]:~/dell-venue$ repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread_rel -m M7630AABBQMLZA404020.xml --repo-url=git://codeaurora.org/tools/repo.git
.repo/manifests/: manifest switched gingerbread_chocolate...gingerbread_rel
.repo/manifests/: discarding 70 commits removed from upstream
fatal: manifest 'M7630AABBQMLZA404020.xml' not available
fatal: cannot link manifest M7630AABBQMLZA404020.xml
I did many googling, still No lucks I agree to Guru TheManii advise to make GB kernel booting first then investigate to port ICS into dell venue.
***dell venue make me very currious (and also fustating)***
x1123 said:
dear all,
can someone appoint me out to have correct GB manifest on codeaurora ? I tried
Code:
[email protected]:~/dell-venue$ gingerbread_rel -m M7630AABBQMLZA404020.xml ^C
[email protected]:~/dell-venue$ repo init -u git://codeaurora.org/platform/manifest.git -b gingerbread_rel -m M7630AABBQMLZA404020.xml --repo-url=git://codeaurora.org/tools/repo.git
.repo/manifests/: manifest switched gingerbread_chocolate...gingerbread_rel
.repo/manifests/: discarding 70 commits removed from upstream
fatal: manifest 'M7630AABBQMLZA404020.xml' not available
fatal: cannot link manifest M7630AABBQMLZA404020.xml
I did many googling, still No lucks I agree to Guru TheManii advise to make GB kernel booting first then investigate to port ICS into dell venue.
***dell venue make me very currious (and also fustating)***
Click to expand...
Click to collapse
good luck for you, we are always support you
changkho1908 said:
good luck for you, we are always support you
Click to expand...
Click to collapse
cũng chỉ biết good luck for you àh
nguyen_vh said:
cũng chỉ biết good luck for you àh
Click to expand...
Click to collapse
đệt, chú muốn thế nào nữa
I tested to build android and using three source : codeaurora, cyanogen, aosp. To build GB on codeaurora I just can not find correct manifest. On cyanogen just wont build (for certain device) without proper propreitary binary drivers. On aosp ... well, build is easier. From TheManii advise I build GB aosp > passion and will not boot to be flashed to dell venue. I change the kernel with 408, rom is alive on device, but No wireless functionality work, either gsm or wifi. Anyone can give a clue where to get radio.img for dell venue? to build booting customs android kernel for venue still no lucks for me.
if someone want to take a look please download passion build packed with 408 kernel HERE flashable via cwm recovery. This will not brick your device.
To turn back device into normal android usage just flash TheManii StreakDroid4-250 without wipe anything. I put StreakDroid4-250 file also HERE just for make easier to download from my region (Indonesia).
split / unpack / repack boot.img
Hi Guys,
My biggest problem to determine how to pack kernel into boot image is solved. I optimistic to have booting kernel and pack into boot image. I cant determine the board kernel base address. Now I found out the base address is 0x20000000 (twenty million). I have test the coomand line and work well. This is the test procedure > download live boot.img (mean its proved bootable). I toke 408-boot image from many Streakdriod4 rom ... thanks to TheManii :
Code:
$ split_bootimage.pl 408boot.img
(I renamed boot.img to 408boot.img for easy remember)
output
Code:
Page size: 2048 (0x00000800)
Kernel size: 3092536 (0x002f3038)
Ramdisk size: 168270 (0x0002914e)
Second size: 0 (0x00000000)
Board name:
Command line: androidboot.hardware=venue
Writing 408boot.img-kernel ... complete.
Writing 408boot.img-ramdisk.gz ... complete.
...
Now I have in the folder > 3 files : 408boot.img 408boot.img-kernel 408boot.img-rakdisk.gz. We test our command line > to repack kernel and ramdisk into boot image and must be flashable to device and booting :
Code:
$ mkbootimg --kernel 408boot.img-kernel --ramdisk 408boot.img-ramdisk.gz --pagesize 2048 --cmdline "androidboot.hardware=venue" --board venue --base 0x20000000 -o new408boot.img <ENTER>
You should have new408boot.img bootable into our venue viat fastboot > test >
Code:
$sudo fastboot earse boot (to ensure existing boot is clean)
$sudo fastboot flash boot new408boot.img
$sudo fastboot reboot
...
Mu dell venue with TheManii rom booting properly.
But we need to ensure everything work well. Let us utilize second procedure well known in the world
Code:
$rm 408boot.img-kernel 408boot.img-ramdisk.gz new408boot.img [B][COLOR="Red"](to clean the folder).[/COLOR][/B]
$unpack-bootimg.pl 408boot.img [ENTER]
OUTPUT WILL BE
Code:
kernel written to 408boot.img-kernel.gz
ramdisk written to 408boot.img-ramdisk.cpio.gz
561 blocks
extracted ramdisk contents to directory 408boot.img-ramdisk/
By using UNPACK method we will have THREE file (four including 408boot.img) in folder
408boot.img 408boot.img-ramdisk 408boot-ramdisk.cpio.gz 408boot.img-kernel.gz
I choose unpack method since I wanna to test all command line available in internet is working properly. I change initlogo.rle with one I download from internet and edit default.prop file.
Code:
$nano -w 408boot.img-ramdisk/default.prop
EDIT THE text > ro.secure=1 TO ro.secure=0.
change initlogo.rle with other FILENAME.rle (You can download from internet)
Now we have ramdisk file (folder) with different default.prop file and initlogo.rle file (different image .. default is dell logo)
Create new ramdisk file to enable us create bootable image
Code:
$mkbootfs 408boot.img-ramdisk | gzip > new408-ramdisk [ENTER]
we should have file named new408-ramdisk gziped
Now repack kernel and new ramdisk >
Code:
$mkbootimg --kernel 408boot.img-kernel.gz --ramdisk new408-ramdisk --pagesize 2048 --board venue --cmdline "androidboot.hardware=venue --base 0x20000000 -o realynewboot.img [ENTER]
...
flash realynewboot.img via fastboot my boot splash changed into image attached ...
for step by step ... i put on MY BLOG
I share this to have someone try together to compile a kernel and convert into bootable image. with this kernel proble tackled ... build ROM is easier
Booting kernel
Hi Folks,
attached is booting kernel for dell venue. I tried on GB Rom (TheManii Rom) Steakdroid4-2.5.0.
Build info :
- Build from source tree : DJSteve-StreakKernel-92bf64f
- using 408config > extracted from 408boot.img
- switched off back cover awareness (I dont know what exact name) feature
- ramdisk > splitted ramdisk from 408-boot image.
- flashable via fastboot
- download atachement
- boot to fastboot
-$ sudo fastboot erase boot
-$ sudo fastboot flash boot djsteveboot.img
-$ sudo fastboot reboot
NOTE
This is development stage kernel. so please only try if you can tackle all problem. Good news flash the boot WILL NOT brick Your device
share here the result
x1123 said:
- switched off back cover awareness (I dont know what exact name) feature
Click to expand...
Click to collapse
It's redundant on the V at least, as it has no door sensor/doesnt care if the back cover is off. I do that all the time to hot swap memory cards.
Even the stock kernel will allow you to remove the door and not complain
Hi, I built a kernel too but based on Venue (4.06) sources.
http://forum.xda-developers.com/showthread.php?p=23544539#post23544539
You can check my sources here :
https://github.com/adridu59/dell-venue-kernel
The Venue codename is 'toucan'.
There are Venue-specific files and I do not know whether they are present in the Streak source you used.
I am developing a CM7 build myself. In fact, things are OK except the fact that the kernel is still stock 408 (things about setting up the working environment is here: http://forum.xda-developers.com/showthread.php?t=1687679).
After being able to build CM7 myself, I will turn back with the kernel issue for 2.3.x. Then, proceed to Android 4 ICS. God bless all of us!

[Q] View kernel messages on Transformer Prime

Is it possible to see the messages of my CM kernel while booting, either on the tablet screen, or in some other way (e.g. USB serial terminal)? I am trying to find why a kernel doesn't boot (and I suspect that it is flashed correctly but it panics for some reason), so dmesg-after-the-fact is not useful.
The /proc/cmdline of the current CM running on the tablet contains some properties that sound relevant (like 'console' and 'debug_uartport'):
Code:
$ cat /proc/cmdine
tegraid=... [email protected] vmalloc=256M androidboot.serialno=... video=tegrafb no_console_suspend=1 console=none debug_uartport=hsport usbcore.old_scheme_first=1 [email protected] [email protected] core_edp_mv=1300 audio_codec=wm8903 tegraboot=sdmmc gpt gpt_sector=60415999 androidboot.product=TF201 androidboot.carrier=wifi-only
(I have replaced some stuff with ... in the output above)
What I do:
1. Recompile the kernel from its sources, to build a zImage.
2. Get a boot.img from a nandroid backup.
3. Unpack it using the AndroidRoot BootTools.
4. Use the zImage from step 1 with the ramdisk from step 3 and a cmdline like the one at /proc/cmdline to build a boot.img.
5. Boot tablet into fastboot and fastboot -i 0x0b05 boot boot.img to test the new kernel.
But step 5 fails silently, no output is shown (except from the fastboot message "Booting downloaded image"). According to http://bootloader.wikidot.com/linux:android:kmsg, setting console=tty0 should show the messages on the screen, but it doesn't (and neither do "=tty" or "=/dev/tty0").
For step 5... the command should be fastboot -i 0x0b05 boot boot.img
Perhaps this post might help.
http://forum.xda-developers.com/showpost.php?p=27658214&postcount=157
Basically, run your kernel, then flash the file from attachment in above post, then flash a known working kernel. The /proc/last_kmsg from your kernel should be in the /sdcard.
craigacgomez said:
For step 5... the command should be fastboot -i 0x0b05 boot boot.img
Click to expand...
Click to collapse
That was a typo, fixed it in my post, thank you!

Need help analyzing a boot.img

Hi there!
Currently I am trying to extract and modify a boot.img from my car stereo (to set ro.secure=0 in default.prop - its a AV7) from MIC. ( http://www.shop.mic-deutschland.de/shop/article_W005/AV7.html?shop_param=cid=6&aid=W005& )
I did my exercises by studying the specs of a normal boot.img and learned that there should be a 2k header, followed by the gzipped kernel. I should be able to identify the kernel starting after those 2k of header and ending with some zeros finished with 1F 8B. The rest should be the ramdisk, gzipped and cpioed.
So far the theory - but apparently, I am not able to extract the kernel. I also tried some different scripts floating around - none of them ended up with an extractable kernel.
Example:
/unpackbootimg -i ../boot.img -o .
BOARD_KERNEL_CMDLINE
BOARD_KERNEL_BASE e3e0ff00
BOARD_PAGE_SIZE 1768697202
-> Kernel size 0, pretty everything ends up in the ramdisk which is NOT a gzip file.
This is the boot.img: http://ul.to/ivggomon
So you see me pretty clueless at the moment - any suggestion is highly appreciated!
Noone any idea?
unmkbootimg output:
Code:
unmkbootimg version 1.2 - Mikael Q Kuisma <[email protected]>
File ../boot.img not a plain boot image, seeking for embedded image ... not found.
boot_info (from bootimg_Toolset):
.
Code:
/boot_info ../boot.img
Android Magic not found in ../boot.img. Giving up.
The hread may be deleted. It was a uImage multi file with a gzipped cpio in it...

[HOWTO][AOSP] Build Nexus 9 volantis target from sources

Building image for Nexus 9 (volantis)
$ lunch aosp_flounder-userdebug
$ make
Building kernel:
Get sources:
$ git clone https://android.googlesource.com/kernel/tegra kernel/tegra
$ git checkout origin/android-tegra-flounder-3.10-lollipop-release
Configuring:
$ make ARCH=arm64 flounder_defconfig
Building:
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-android-
Copying to default place:
$ cp kernel/tegra/arch/arm64/boot/Image.gz-dtb device/htc/flounder-kernel/
Then build the whole image with new kernel
$ make
or build only boot.img with:
$ make bootimage
finikorg said:
Hi All,
I want to build Nexus 9 image from sources myself. Is it correct sequence:
$ lunch aosp_flounder-userdebug
$ make
I also read that there is somewhere target aosp_flounder64-userdebug. Which one is better?
Click to expand...
Click to collapse
You'll need to decide that for yourself. If you do the 64-bit version, be sure to have 64-bit gapps ready to flash.
But are those targets multiarch targets? So it shall be fine to run 32bit apps.
Nexus stops on 'Android' start-up screen after reflash my built image
Hi, I tried to build aosp code and it successes.
Now I failed in flashing all my built image into the Nexus 9.
What I did are :
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash cache cache.img
fastboot flash recovery recovery.img
fastboot reboot
Then my Nexus 9 has reboot and it stops on the screen of 'android' ......
One more question, please... how can I generate the vender.img ?
Regards,
Tonie Huang said:
Hi, I tried to build aosp code and it successes.
Now I failed in flashing all my built image into the Nexus 9.
What I did are :
fastboot flash boot boot.img
fastboot flash system system.img
fastboot flash cache cache.img
fastboot flash recovery recovery.img
fastboot reboot
Then my Nexus 9 has reboot and it stops on the screen of 'android' ......
One more question, please... how can I generate the vender.img ?
Regards,
Click to expand...
Click to collapse
I used
$ fastboot flashall -w
Hi, Thank for your reply.
But my question is if I download all source code from Google.
And build all on my side.
How can I flash all built images into Nexus 9.
Thanks.
Tonie Huang said:
Hi, Thank for your reply.
But my question is if I download all source code from Google.
And build all on my side.
How can I flash all built images into Nexus 9.
Thanks.
Click to expand...
Click to collapse
fastboot flashall should do this. vendor images you shall extract from factory images.
Hi, I did try it.
What I did were :
~$ lunch aosp_flounder-userdebug
Then ~$ make -j4
Then I copy out/target/product/flounder/
1. boot.img
2. cache.img
3. system.img
4. recovery.img
to the folder that Google released factory image : volantis-lrx22c
Then I've tried to:
1. zip those 4 files shown above and also add vender.img into my own image-my.zip
Then follow official steps to flash the system.
It stopped on 'android' logo after rebooting up.
I also tried to use 'fastboot flash boot boot.img' commands to flash each files.
It also halt on 'android' logo after flashing all files and rebooted.
Any other thing I didn't know ? please advise.
Regards,:crying:
Hi, now it works.
What I did are :
Re-created my own Image zip files (within android-info.txt, boot.img, cache.img, recovery.img, system.img and vender.img), and then using fastboot -w update MyImages.zip...
It works...
Thanks.

Packing boot image for Desire 610 A3UL

I am following this tutorial on my desire 610: http://http://whiteboard.ping.se/Android/Debian
All has gone well so far, the system works in chroot, etc etc etc, thats not the problem. My problem is that i cant seem to pack a boot image that works for the phone. I know the problem is with my boot image, because if the init script had been initalised, I had a line at the start which would start a log file, and the system would bootloop. Instead it takes me to the fastboot menu when i power on.
I have used the tool to unpack the boot image, found at http://whiteboard.ping.se/Android/Unmkbootimg , and its output was this:
Code:
unmkbootimg version 1.2 - Mikael Q Kuisma <[email protected]>
Kernel size 6004624
Kernel address 0x8000
Ramdisk size 1017204
Ramdisk address 0x2008000
Secondary size 0
Secondary address 0xf00000
Kernel tags address 0x1e00000
Flash page size 2048
Board name is ""
Command line "console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3"
*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0xFE208100
OFF_RAMDISK_ADDR is 0x00208100
OFF_SECOND_ADDR is 0xFF100100
Please modify mkbootimg.c using the above values to build your image.
****************
Extracting kernel to file zImage ...
Extracting root filesystem to file initramfs.cpio.gz ...
All done.
---------------
To recompile this image, use:
mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x1dfff00 --cmdline 'console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3' -o new_boot.img
---------------
I have tried doing as it says and compiling mkbootimg with those settings, however it still does not work. Could anyone possibly see what im doing wrong? And if not, does anyone have a copy of mkbootimg that works for the Desire 610?
Thanks in advance
falseascension said:
I am following this tutorial on my desire 610: http://http://whiteboard.ping.se/Android/Debian
All has gone well so far, the system works in chroot, etc etc etc, thats not the problem. My problem is that i cant seem to pack a boot image that works for the phone. I know the problem is with my boot image, because if the init script had been initalised, I had a line at the start which would start a log file, and the system would bootloop. Instead it takes me to the fastboot menu when i power on.
I have used the tool to unpack the boot image, found at http://whiteboard.ping.se/Android/Unmkbootimg , and its output was this:
Code:
unmkbootimg version 1.2 - Mikael Q Kuisma <[email protected]>
Kernel size 6004624
Kernel address 0x8000
Ramdisk size 1017204
Ramdisk address 0x2008000
Secondary size 0
Secondary address 0xf00000
Kernel tags address 0x1e00000
Flash page size 2048
Board name is ""
Command line "console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3"
*** WARNING ****
This image is built using NON-standard mkbootimg!
OFF_KERNEL_ADDR is 0xFE208100
OFF_RAMDISK_ADDR is 0x00208100
OFF_SECOND_ADDR is 0xFF100100
Please modify mkbootimg.c using the above values to build your image.
****************
Extracting kernel to file zImage ...
Extracting root filesystem to file initramfs.cpio.gz ...
All done.
---------------
To recompile this image, use:
mkbootimg --kernel zImage --ramdisk initramfs.cpio.gz --base 0x1dfff00 --cmdline 'console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 ehci-hcd.park=3' -o new_boot.img
---------------
I have tried doing as it says and compiling mkbootimg with those settings, however it still does not work. Could anyone possibly see what im doing wrong? And if not, does anyone have a copy of mkbootimg that works for the Desire 610?
Thanks in advance
Click to expand...
Click to collapse
I just use Blobtools and linux's standard abootimg. I'll find some links and do a quick Howto when I get home tonight.
MiniBlu
MiniBlu said:
I just use Blobtools and linux's standard abootimg. I'll find some links and do a quick Howto when I get home tonight.
MiniBlu
Click to expand...
Click to collapse
Cheers! looking forward to getting this thing actually working
Aha! Using abootimg made it work. Wish i knew about that earlier...
There's still a few errors though, need to fix that. Thanks for your help, you literally saved probably hours and hours more work if I hadnt known about this. Much appreciated

Categories

Resources