[Q] aosp initramfs/ramdisk source

Search This thread

Technecium

Senior Member
Oct 6, 2007
1,570
716
I am working on building from aosp 4.4.2. I have built it with the pre-built kernel without any problems. Then, I managed to get a custom kernel code in place and it builds. Now the only thing left to do is the initramfs/ramdisk for the custom kernel I have in place. Currenlty my build will not boot. I suspect it is using the initramfs/ramdisk from aosp.

Can someone point me to the source files or files that handle the initramfs/ramdisk? I have found bits and pieces strewn throughout the source code but cannot pinpoint the indivitual files or the script/mk file that produces the ramdisk found in the out folder after my system finishes building.

I kinow I can change the initramfs/ramdisk manually by repacking the boot.img, but I would prefer everything be completed in the updatpackage.
 

Technecium

Senior Member
Oct 6, 2007
1,570
716
what device do you have?

Anyways, just decompile the working boot.img with dsixda's kitchen, and replace the zImage, build it again and done

I have a Nexus 5. I'm trying to avoid the, "build it again."

I would like to envsetup, lunch, make clean, make updatepackage, flash and done.

So, I'm still trying to figure out, how make knows where to get all the files and create the ramdisk in the out directory.
 

nizammoidu

Member
Jan 4, 2011
29
21
Dubai
www.maxters.net
AOSP radisk

I am no expert but I think this is how ramdisk is built and it worked for me al the time. ramdisk is composed from the directory 'root' in the product build output folder. the contents are coming from different part of the build tree, mostly from the device source, vendor source. for eg:- check hammer head tree for omni https://github.com/omnirom/android_device_lge_hammerhead in the device.mk you can see PRODUCT_COPY entries to the root similar thing goes with vendor makefiles. If you are looking for executable built from source you can set
LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) so that they will end up in initrd
 

letolkki

Member
Dec 7, 2010
34
3
related to this: I can see using PRODUCT_COPY_FILES to stage files to the root directory. but where is the directory structure created? Such as /firmware ... etc? I am trying to add a directory to the root fs. When I just create a new directory such as /foo the build fails. I want the new directory to be permanent part of the build process so solutions like unpack - modify - repack is less than satisfactory. Thanks