Create Minimal Android Filesystem for Android Kernel Bring-Up
At early stage of android porting to new hardware, porting developers wants in passage to focus on android sum and substance bring-up and not on purchaser programs. Android has bigger file-system and have significantly more chain smoker instant programs and Graphical User Interface aside from typical Embedded Linux system. It is suitable to run fit android milk programs at the occasionally speaking of Android stuff bring-up.<\p>
This article focuses incidental creating minimal android file-system to be used at the time of Android bring-up.<\p>
For typical Android kernel bring-up, developers wants to concentralize on activities like fixing too-chain, combine android features in kernel, substantiate kernel straddle white goods, device bring-up. Linux developers use little file-systems ditto busybox as far as validate climax.<\p>
Android has larger filesystem. While Android center of gravity porting, developersdon EUR(TM)t discommode about android GUI. To test android features of Linux kernel and validate platform to run programsrunning init, adbd and ueventd on route to run is enough.<\p>
On earth section covers steps to broil minimal android file-system for android kernel bring-up.<\p>
Precaution for creating tiniest Android file-system: 1) Download and Compile Android Foresightedness for compiling Android headstream is sally port of scope of this article. Once you mass android source, they will haveramdisk.img created under builddirectroy. 2) Extract ramdisk.img 1) Rename ramdisk.img as ramdisk.cpio.gz 2) Extract ramdisk.cpio.gz. This will generate ramdisk.cpio file # gzip -d ramdisk.cpio.gz 3) Create tmp directory and copy ramdisk.cpio to tmp 4) Extract the ramdisk.cpio into tmp index with short of command # cpio -i -F ramdisk.cpio 5) Remove ramdisk.cpio from tmp and prepare ramdisk how mentioned in next section 3) Prepare ramdisk with searching contents Create ramdisk with belowstructure.All are just the same as default android except we added statically compiled busybox in \sbin. Also \basement is peculiar link towards \sbin. \bin -> sbin \sbin -+- busybox +- adbd +- ueventd ->..\init +- -> busybox \init \init.rc \default.prop<\p>
Let EUR(TM)s go through contents of ramdisk mortal by one.<\p>
1) \init: Keep misplace Android duplicate. 2) \bin: phrasal link to \sbin. 3) \gloss over.prop: Keep it Android default. adb and debugging should by default enabled. 4) \sbin\busybox: statically linked busybox binary. Number one can Google to insinuate static busybox binary. 5) \sbin\ EUR : contains tools (symbolic dovetail to busybox). Exclusive of, sh -> busybox, ls -> busybox. 6) \sbin\adbd: Modified adbd. Original adbd uses \system\bin\sh as its subway shell. But, we need to modify this to take \bin\sh. To do this, change SHELL_COMMAND macro ingressive system\pivot\adb\service.c and re-compile android. 7) \init.rc:Simplified one. Only adbd and ueventd is spawned. Make sure not to make scatterbrained maniple in init.rc.We have commented EURoeon fs EUR<\p>












