[Q] Need assistance with Rom PORT - Nexus 4 Q&A, Help & Troubleshooting

I've basically decided to try porting for learning purposes. At this moment I have a flash-able zip in idle until I get my phone this Friday.
So, with all the issues and controversies surrounding the Nexus 4 -- many of which are software related -- I decided that porting Jellybean 4.1.2 would be fitting. I need advice and critique from an experienced Rom Porter before I go ahead and flash my creation. I will detail my activities below but please PM me or reply here with your requests for files that may indicate the integrity of my port (build.prop for example).
Sources:
BASE
Factory Images "occam" for Nexus 4
Android 4.2 (JOP40C)
Click to expand...
Click to collapse
https://dl.google.com/dl/android/aosp/occam-jop40c-factory-cd3dc140.tgz
PORT
Factory Images "takju" for Galaxy Nexus "maguro" (GSM/HSPA+) (with Google Wallet)
Android 4.1.2 (JZO54K)
Click to expand...
Click to collapse
https://dl.google.com/dl/android/aosp/yakju-jzo54k-factory-92ff9457.tgz
Windows 7 with cygwin and dixisda kitchen
His thread: http://forum.xda-developers.com/showthread.php?t=633246
Build log
Ran both sources through kitchen and repacked to create manageable zip versions (no tweaks or modifications; only signed)
extracted both zips in separate directories
followed porting guide step by step by Oogway13 from Nexus S (my old phone) forums
his thread: http://forum.xda-developers.com/showthread.php?t=1791006&highlight=port
Base files copied to Port:
/system/
-app
-bin
-etc
-lib
-usr
-vendor
-xbin
/META-INF/
-all files and folders
build.prop was edited with lines from Base added to Port
boot.img from Base to Port
-Init.rc one line edit from Port to Base boot.img (BOOTCLASSPATH )
zipped resulting Port files
ran through kitchen and applied:
-SuperSU
-Busybox
-init.d support
-apps/data/ support
-generated updater_script applied
-signed

Related

[Q] how to flash from AOSP builded images?

Hello!
Im currently trying to build a vannila froyo 2.2 rom from the source! How do i flash the images when im ready? Is there something like fastboot on the g1 or htc magic?
Landroid
I haven't had the time to try to build myself, but wouldn't you be better off starting with the Samsung open source for your carrier/model rather than trying to figure out all the changes you'd need to make to get AOSP to run on the Tab?
BuglessFan said:
I haven't had the time to try to build myself, but wouldn't you be better off starting with the Samsung open source for your carrier/model rather than trying to figure out all the changes you'd need to make to get AOSP to run on the Tab?
Click to expand...
Click to collapse
Erhh - Samsung open source only contains the kernel. You need the rest of Android, which is what the AOSP is for!
Regards,
Dave
Don't know about the others, but the one for the SCH-I800 on VZW is not just the kernel. All of the things like the custom notification bar/settings for white and black levels, et cetera, go well beyond vanilla android in the Tab. I haven't gone through the platform.tar, but it has notices about stuff for, TouchWiz, et cetera (now whether it can actually run as built directly from what they've made available all bets are off, I know a direct compile of the kernel code didn't work for me, but I haven't had time to do more than a simple straight attempt to build and may have screwed something simple up). It's around 85MB for the DJ11 code for Verizon.
Edit: I'd understand if you needed most of it from AOSP though for a full build, and stand corrected.
And how do i flash the created system.img and data.img? The kernel will be in the zImage format as im going to build the kernel from samsung's opensource files!
Landroid said:
And how do i flash the created system.img and data.img? The kernel will be in the zImage format as im going to build the kernel from samsung's opensource files!
Click to expand...
Click to collapse
You don't. Samsung uses different partition layout and formats.
Use the Samsung tar files to overlay over AOSP as described in their readme file.
Ah ok! Thank you
from Readme file:
How to build:
< Kernel >
1. Unzip SPH-P100_Kernel.tar.
( You can find SPH-P100_Kernel.tar in the same directory with this README.txt . )
2. Refer another "README.txt" in the tar file to build the kernel source code.
< Platform >
* NOTICE *
Galaxy Tab is launched in many countries, including Europe and North Amarica.
S/W is almost the same but there are some differences between the European version(GT-P1000) and the US Sprint version(SPH-P100).
The open source codes to be open here are only the differences.
1. Get Android open source code:
: version info - Android froyo 2.2 (android-cts-2.2_r2)
( Download site : http://source.android.com )
2. Get GT-P1000 open source code
: GT-P1000_OpenSource.zip
( Download site : http://opensource.samsung.com )
Unzip it, then you will see the file GT-P1000_Platform.tar.bz2 which includes the platform source code.
3. Overwrite GT-P1000 Platform OpenSource to the Android open source.
4. Get SPH-P100 open source code:
: SPH-P100_OpenSource.zip
( Download site : http://opensource.samsung.com , version info : DJ14 )
5. Overwrite SPH-P100_Platform_DJ14 OpenSource to the Android + GT-P1000(European) Platform open source code.
6. Overwrite the Platform source code that comes from the Sprint version(SPH-P100_Platform_DJ30).
7. Do "make"
Click to expand...
Click to collapse
Landroid said:
And how do i flash the created system.img and data.img? The kernel will be in the zImage format as im going to build the kernel from samsung's opensource files!
Click to expand...
Click to collapse
If I understand correct. (for the kernel at least) You could just take a package like monks then swap out the zImage and *.ko files for the samsung ones. resign the zip. Then flash it from the clockworkmod recovery.
I believe we need repo init -b android-cts-2.2_r2 ... and overlay the Samsung tar contents on top of it.

[GUIDE]How to port manufacturer ROM (Sense/Touchwizz...) [UPDATED For KITKAT]

How to port manufacturer ROM​​
As many people ask me how i’m porting ROMs to my Nexus S i share my method in this thread.
This method works for the Nexus but should also work on a lot of devices. The list of files that I would write in this thread is not exhaustive.
Please for all improvements, send me a MP. I’m french and it’s possible for me to misspellings
This thread is in constant progress thanks to your feedback.
Do not use this guide to port rom based on CM / AOSP roms. Please use this guide to port Sense / TouchWizz / Motoblur etc ... If you want to port based on AOSP roms there are others guide on XDA.
This method is not perfect, much work will then be necessary to fix all the bugs, and nothing says that this method is functional rather than every time ....​
I. What you need
Ubuntu and dsixda's Android Kitchen. Please refer to this link
Notepad++
Winrar
A brain =)
NB : Before you start porting a ROM you need to know several things. Over the phone you want to port the rom will have a hardware close to your, more porting will be simple and functional.
Example : Same screen resolution, processor of the same type (ARM6, ARM7, etc ....)
PORT is the ROM you want to port and BASE is the ROM developed for your device (AOSP/CM)
II. Let’s go !
1. Create new folder where you want and name it « Rom_port_for_yourdevice »
2. Download AOSP/CM developed for you device with the same android version which the rom you want to port
3. Download the rom you want to PORT
4. Extract each zip ROM in separate folder in « Rom_port_for_yourdevice »
{
"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"
}
5. Now it will appears two folders. Open both.
In PORT folder delete META-INF folder and copy/paste the META-INF folder of BASE in PORT folder.
6. Open system folder in PORT rom and delete vendor folder
7. Now in PORT folder open lib folder and delete these folders :
modules
hw
egl
8. Now go in BASE folder and select (if exists) these folders :
addon.d
bin
etc
customize
framework
lib
vendor
xbin
Now copy these in system folder of PORT but do not replace anything ! (If forgot « ETC » folder on screenshot)
 
9. Open bin folder in BASE and PORT folders. Copy and replace these files from BASE to PORT :
adb
brcm_patchram_plus
hostap
hostapd
init.vsnet
linker
logcat
logwrapper
radiooptions
rild
rmt_storage
vold
wpa_cli
wpa_supplicant
glgps
10. Now in BASE and PORT system folder open etc folder and copy and replace (if exist) these files/folders from BASE to PORT :
Bluetooth
Dhcpcd
Firmware
gps
init.d
permissions
ppp
pppd
security
ssh
terminfo
updatecmds
wifi
audio_effects.conf
audio_policy.conf
dbus.conf
gps.conf
init.*.sh
media_codecs.xml
media_profiles.xml
nfcee_access.xml
secomxregistry
vold.conf
vold.fstab
wrs_omxil_components.list
11. Now copy usr folder from BASE to PORT and replaces all files
12. Open lib folder in BASE and PORT folders. Copy and replace these files from BASE to PORT :
liblog.so
libsecril-client
libreference-ril.so
libril.so
libs3cjpeg.so
libaudioflinger.so (if port does not boot, use from PORT rom)
libaudioutils.so
libtinyalsa.so
libpn544_fw.so
libSEC_OMX_Core.so
libOMX.SEC.***.Decoder.so
For HTC devices:
libhardware_legacy.so
libhtc_ril.so
libhtc_ril_switch.so
For LGE devices:
lge-ril.so
More commonly:
Add all the lib files with "ril" in their name
13. Open framework folder in BASE and PORT folders. In both folder rename framework-res.apk to framework-res.apk.zip and open the two files with Winrar.
In both files go to /res/xml/ and replace storage_list.xml of PORT framework-res.apk with the one of BASE.
Now close Winrar and rename framework-res.apk.zip in framework-res.apk in both folders.
14. Very important: By the way, there are some proprietary binaries missing from the guide (just depending on the device, as it's impossible to include all), so what I recommend is if your device has official cm, go to github.com/themuppets, pick the repo corresponding to your manufacturer and branch corresponding to your android version and download it and copy the files in your device's folder to the ROM you are porting. Lib to lib, bin to bin, etc. You may also need to look at the Mk files in the cm device source for your device to see what is built from source that you'll need such as libs and bins. For example, if it has Product_packages += \libwifi \
You would need to copy libwifi from cm. [/QUOTE]
Source: http://forum.xda-developers.com/showpost.php?p=41294434&postcount=23
15. Now open build.prop of PORT rom and replace these lines with BASE build.prop :
Code:
ro.product.model=
ro.product.brand=
ro.product.name=
ro.product.device=
ro.product.board=
ro.product.cpu.abi=
ro.product.cpu.abi2=
ro.product.manufacturer=
ro.wifi.channels=
ro.board.platform=
ro.build.product=
ro.build.characteristics=
rild.libpath=
rild.libargs=
wifi.interface=
16. Reboot to Ubuntu.
Steps for android 4.3 and older
Open dsixda's Android Kitchen
Decompile both boot.img/kernel
Open both init.rc files
In CM/AOSP kernel replace BOOTCLASSPATH by the one from PORT boot.img ROM
Save and recompile kernel
Use CM/AOSP modified kernel in your rom.
Steps for android 4.4 and newer
Open dsixda's Android Kitchen
Decompile both boot.img/kernel
Open both init.environ.rc files
In CM/AOSP kernel replace BOOTCLASSPATH by the one from PORT boot.img ROM
In CM/AOSP kernel do these changes:
--> ro.secure=1 to ro.secure=0
--> ro.debuggable=0 to ro.debuggable=1
--> persist.sys.usb.config=mtp to persist.sys.usb.config=mtp,adb
--> ro.adb.secure=1 to ro.adb.secure=0
Save and recompile kernel
Use CM/AOSP modified kernel in your rom.
17. Now ZIP your PORT rom folder and flash it.
Please don't forget to use LOGCAT to debug the rom..... And to thanks or/and donate to me .....
Thanks !
​GalaxyUser
Here, I give you some tips and may help you to fix issues..​
Files to fix ...
You can try to replace some of these files (if exists) to fix ...
NFC
/system/app/Nfc.apk
/system/lib/libnfc*.so
/system/bin/pcscd
Radio FM
/system/bin/fmradio
Sensors
/system/bin/akmd*
/system/lib/libsensors.so
Bluetooth
/system/bin/bd_prov
/system/bin/uim*
/system/bin/hcid
/system/bin/bluetooth*
/system/bin/hciattach
/system/bin/sdptool
/system/xbin/hciconfig
Wifi
/system/bin/netcfg
/system/bin/dhcpcd
/system/bin/ifconfig
/system/bin/hostap
/system/bin/hostapd
/system/bin/hostapd_bin
/system/bin/pcscd
/system/bin/wlan*
/system/bin/wpa*
RIL
/system/bin/stmd
/system/bin/rild*
/system/etc/rril
Camera
Copy libcamera*.so from base to port rom
If rom does not boot after that, replace file one by one and see which file is the problem.
If you port on HTC Devices, try these:​Fix Network auto select
Decompile framework-res.apk
Go to this folder \framework-res\res\values
Open bools.xml
Change <bool name="skip_restoring_network_selection">true</bool>
To Change <bool name="skip_restoring_network_selection">false</bool>
Fix graphichal issues
Decompile framework.jar
Change these files with your CM base
smali\smali\android\os
Environment
SystemProperties
smali\smali\android\view
HardwareCanvas
HardwareRenderer$Gl20Renderer
HardwareRenderer$GlRenderer
HardwareRenderer
so there is hope that i can port xperia t jb rom to galaxy s3 using cm10 rom for galaxy s3
zeyadhan said:
so there is hope that i can port xperia t jb rom to galaxy s3 using cm10 rom for galaxy s3
Click to expand...
Click to collapse
Use CM10 and not CM10.1 to have the same version.
Try it i hope it will work
thank you for reply i saw your threads you ported lot of roms do you think it will boot
but sadly i use windows 7 so there is no way to decombile the kernel
zeyadhan said:
thank you for reply i saw your threads you ported lot of roms do you think it will boot
but sadly i use windows 7 so there is no way to decombile the kernel
Click to expand...
Click to collapse
I don't know if it will boot, when i do a port i never know if it will boot ^^
Read this: http://forum.xda-developers.com/showthread.php?t=633246
You could use kitchen in windows but it's not optimal i think.
i guess that the only way is install the Ubuntu and decombile kernel and make changes then combile it and copy the kernel to phone and back to windows (need a lot of time)
rom stuck at bootanimation maybe i do something wrong
zeyadhan said:
rom stuck at bootanimation maybe i do something wrong
Click to expand...
Click to collapse
Do a logcat and post pastbin link
Sent from my XT890 using xda app-developers app
Thanks for good tip!
Dear Galaxy_User,
i just port GT-I9100 rom for Nexus S, i am on Boot Animation and nothing working after that ..
http://pastebin.com/YBWDU1L4 here is the link for logcat .. kindly help me out
Regards,
Assassinoid
assassinoid said:
Dear Galaxy_User,
i just port GT-I9100 rom for Nexus S, i am on Boot Animation and nothing working after that ..
http://pastebin.com/YBWDU1L4 here is the link for logcat .. kindly help me out
Regards,
Assassinoid
Click to expand...
Click to collapse
Hi,
Your logcat is very weird
Try libaudioflinger.so to use from PORT
looks not bad
sent from my security handy talkie
talk free , no pay®
Nothing worked .. I just quit
Sent from my Nexus S using xda premium
assassinoid said:
Nothing worked .. I just quit
Sent from my Nexus S using xda premium
Click to expand...
Click to collapse
Do you have correctly edited the kernel ?
You need to use CM kernel for Nexus S and to modify it with the BOOTCLASSPATH of Galaxy S Kernel.
Send me the boot.img of Nexus S and the boot.img of Galaxy S i will check that
GalaxyUser said:
Do you have correctly edited the kernel ?
You need to use CM kernel for Nexus S and to modify it with the BOOTCLASSPATH of Galaxy S Kernel.
Send me the boot.img of Nexus S and the boot.img of Galaxy S i will check that
Click to expand...
Click to collapse
OK I'll do that
Sent from my Nexus S using xda premium
Nice, the first actual tutorial on this instead of "just replace all apps/framework and media folder" which is a load of bull****,
Good job
Will this guide work if you want to port LG Stock ROM to another LG device? Like you ported O4X to Optimus Black.. I can use this guide to port O4X stock ROM to O2X?
Also, when porting stock ROM, I will need CM10 as base ROM or I must use same android version as the ROM I am porting?
Thanks.
natalya said:
Will this guide work if you want to port LG Stock ROM to another LG device? Like you ported O4X to Optimus Black.. I can use this guide to port O4X stock ROM to O2X?
Click to expand...
Click to collapse
I did it for Optimus Black, try it for O2X
natalya said:
Also, when porting stock ROM, I will need CM10 as base ROM or I must use same android version as the ROM I am porting?
Thanks.
Click to expand...
Click to collapse
You can use any rom with the same android version
GalaxyUser said:
I did it for Optimus Black, try it for O2X
You can use any rom with the same android version
Click to expand...
Click to collapse
Okay, can you please link me to the one you used as port (the O4X ROM) and do you recommend me to use that one as port or shall I use the one you already ported for Optimus Black as port?
PS: Is it easy to change bootclasspath?

[Q] Flashing custom kernel only on my Nexus 7 (2013)

Hi,
my only goal is to use my Nexus 7 (2013 version, running kitkat) to view digital television (dvb-t).
Therefore, have I unlocked it (with complete erase grrr), then rooted it.
And finally, read about one hundred message threads on xda to know how to compile dvb modules for my kernel (3.4.0-gac9222c).
My problem, after all this work, is that it seems that Google did not compile its kernel with modules support.
After doing
# lsmod, I got the following error:
/proc/modules: No such file or directory.
This means apparently that there is no modules support for this kernel.
http://stackoverflow.com/questions/18818442/loading-kernel-modules-in-android-4-3
My 2 questions is the following:
(1) is it possible to flash a kernel image on my nexus 7 to get module support
(2) is it possible to do that without reflashing my ROM (my stock ROM is enough for my needs)
Cheers,
Louis
I am now in the process of recompiling my own kernel for my Nexus 7 2013, incorporating the DVB-T drivers that I need.
I found a very good tutorial for doing this: http://pete.akeo.ie/2013/10/compiling-and-running-your-own-android.html
The only problem is that the sources of dvb usb drivers in the Android kernel are not up-to-date.
I am searching an easy way to inject the last sources from git://linuxtv.org/media_build.git into the Android kernel?
The directory structure is different. I think i will be forced to update the Makefiles and the Kconfig files by hand, and add & replace .c and .h files manually. I someone has a better (more lazy) solution, I am interrested :victory:
Meanwhile, I play with an old Freecom usb DVB-T stick that is supported by old media sources in the Android kernel.
Wrong forum, here is the 2013 model's one: http://forum.xda-developers.com/nexus-7-2013

Recreation of CM 7 RC 4 (Allmost all Bugs Fixed)

Dear Friends / Dev / Vistors.,
I am looking for a long time for cm7 without no bug.. Finally CyanogenMod 7.2 for Galaxy Y (S5630) Has been released By bieltv.3 http://forum.xda-developers.com/member.php?u=4686683 With CM Specific Kernel :good:
But FM radio and usb tetherstill have a bug
other than
RC 4:
Fixed al 3g and Data issues on EXT4
My FIX.zip integrated on the ROM zip
IMEI is showing on EXT4 data partition
RILD is now prebuilt and updated last LibRIL.
Broken WIFI hotpost os wprking again
Icon of Wifi Hotpost is working well
ethd back again
RNDIS and USB0 are initialized in USB tether (still not working)
Added all offline charging files
Fixed offline charging using my 3.0 #7 kernel
NOTE: No format is needed, update-script has been modify to format the partition automatically
many dev have created hundreds of there rom on "CM 7 RC.2" which is most nicely theamed :good:
I Decide to use there Rom on Rc4.
LIKE PORTING ROM
Simple method
1, RC.4 Rom as base rom
2, Any rom based on cm7
3, Open base rom zip with Winrar (or other) ( pls not exctact zip file) and open system folder.
4. Delete app folder, font, framework, build.prop (" dont delete media because it consist offline battery chargering animation files")
5, Open Rom u need to Port to Rc.4 copy those folder and files (app folder, font, framework, media, build.prop)
and directly drag into base rom /system/ (If you can work with build.prop to change ver info) but i am lazy :silly:
6, on base rom open system/etc/ and delete init.d and permissions
7, copy those folders from other cm7 rom and drag into the base rom system/etc/
8, last META-INF on base rom just go into Meta-inf/com/google/andriod then delete updater-script
9. darg updater -script from port rom to base rom RC4
"the flash as per Insturction given by Mr bieltv.3"
"And please do it with your own risk"
By this method I Ported many CM7 rom..
And for MIUI, lewa some more files to be copy like media, and libs etc.... i have some doubt on that so let we decuse about that later
and this is my 1st post so Any mistakes please tel me.. thanks
My porting method is a little bit quick and faster.
aniket.lamba said:
My porting method is a little bit quick and faster.
Click to expand...
Click to collapse
can u give me your method ?:victory:
AhZhi said:
can u give me your method ?:victory:
Click to expand...
Click to collapse
See this video: https://www.youtube.com/watch?v=0MBLCPnrMww&feature=youtube_gdata_player
aniket.lamba said:
My porting method is a little bit quick and faster.
Click to expand...
Click to collapse
Both are good, i tried yours aniket and I will post the rom soon
Gonna give this a try
Sent from my GT-S5360 using Tapatalk 2

[DEV][TEMPLATE] Kerneller - Modify Ramdisk, dt, zImage, and SELinux on the fly

༼ つ ◕_◕ ༽つIn the name of our great lord Helix!༼ つ ◕_◕ ༽つ
Kerneller, a flashable Zip template for ramdisk modifications
Google what a kerneller is​
Many of you have no doubt heard of osm0sis' Anykernel2 and previously koush's Anykernel. Kerneller is an alternative designed solely around Sony's Xperia lineup, taking into account the 'recovery-inside-ramdisk' situation we've found ourselves in. However, the script should also support other devices such as Nexus. (I say should because I can only test on the Xperia devices I own -- if anyone could help test, I would be very grateful!)
And with the release of Android 5.0 Lollipop, users have been facing a dilemma: To download a permissive or enforcing version of the kernel? Kerneller fixes that issue by combining the two in a single zip using a slightly modified version of keycheck, allowing the user to choose what will be installed at the time of flashing.
Source: https://github.com/someone755/kerneller
Any questions, tips, or comments are welcome!
Credits & Thanks: All authors of the included binaries. osm0sis for AnyKernel2 and porting the binaries. koush for the original AnyKernel concept. Everyone who helped test. Myself5 for the inspiration and oshmoun for the help.
XDA:DevDB Information
Kerneller, Tool/Utility for the OEM Cross Device Development
Contributors
someone755
Version Information
Status: Stable
Created 2015-12-26
Last Updated 2015-12-31
This is something, i was expecting.
Thank you very much.
Black_Eyes said:
This is something, i was expecting.
Thank you very much.
Click to expand...
Click to collapse
I'm glad you like it but I can't say that's the reaction I was expecting lol. Please do let me know if anything bothers you though.
Just by the way, I moved the thing into its own repo and added a small script to compress and sign it. Cheers!
work for lock or un lock?thank you
xsj said:
work for lock or un lock?thank you
Click to expand...
Click to collapse
I'm sorry to say I don't understand the question. This script cannot lock or unlock anything.
It modifies the boot sector of your device. For that to be possible in the first place, you need an unlocked bootloader.
thank you,Im lockbootloader now,and that's what I want to know
Sorry for noob question,but where to download?Cant find the link.Want to try this on my m2 aqua.
mariosenta said:
Sorry for noob question,but where to download?Cant find the link.Want to try this on my m2 aqua.
Click to expand...
Click to collapse
Your best bet would be using 'git clone', though you can also just download the whole repo as a zip file (here, if you're having trouble finding it). Note though that the packing script won't work in Windows unless you have a *nix shell emulator (such as Cygwin or win-bash)!
You can still zip the thing together yourself using 7zip or WinRAR, however it will not be a signed zip (so some recoveries -- like Cyanogen Recovery -- may refuse to flash it, but you could use the bash script to figure out what you have to do in Windows to sign your new zip).
If you do eventually get it to run, I'd be very glad if you could send me the recovery.log of the flash via PM!
TouchWiz?
This tool works on touchwiz Lollipop 5.1.1 Roms or not?
Stock kernel is Enforcing and I tried various methods to make it permissive, nothing works
Pavan l said:
This tool works on touchwiz Lollipop 5.1.1 Roms or not?
Stock kernel is Enforcing and I tried various methods to make it permissive, nothing works
Click to expand...
Click to collapse
I don't know if your device's boot image is assembled using mkbootimg (like Nexus devices). If so, you may be able to.
But you'll need to pack the device tree binary and zImage into the zip (just use unpackbootimg).
So, I'm very confused, I usually build boot.imgs right out of the AOSP source code... how could I leverage this?
HaoZeke said:
So, I'm very confused, I usually build boot.imgs right out of the AOSP source code... how could I leverage this?
Click to expand...
Click to collapse
It's not really meant for people who compile ROMs, but more for kernel devs or testers who only compile the kernel.
Instead of always having to extract the ramdisk from boot images (whenever the ramdisk changes, which we kernel people can't know and check for every single kernel, nor do we care) and then using mkbootimg (meaning you have to release one boot image for every ramdisk you need to support, i.e. if you want to support ROMs with vastly different ramdisk implementations, where mixing ramdisks would cause a bootloop).
With this, you go around the problem. Compile the kernel outside of the ROM tree (which takes a few minutes vs several hours that compiling the entire ROM can take), grab the zImage-dtb (or adjust the script to use zImage + dt.img), and package the thing together. (There are options to also include kernel modules in the zip, and scripts that will compress and sign the zip for you.)
The highlight of this project used to be being able to switch Selinux status when flashing the zip, instead of adding androidboot.selinux=permissive for each boot image, and then uploading two images. Nowadays compatibility of this switch with various devices and Android versions is questionable (I can't test personally because of how limited Xperia devices have become recently -- the 3.10 kernel does not work with enforcing selinux), but the core idea of using it to avoid having to create boot images is still alive and kicking.

Categories

Resources