I was working on reducing boot time of DM365 RDK.
Based on the document (Christopher Hallinan has done a presentation at the MontaVista Vision conference 2008 on the topic of reducing boot time. Slides available here) provided by Montavista, I used “make menuconfig” to remove the following unnecessary components from the kernel:
CONFIG_KALLSYMS
CONFIG_HOTPLUG
CONFIG_PRINTK
CONFIG_BUG
a new .config was generated and I did a build by doing “make uImage” from /DM368DVR_RDK/DM368_RDK/dvr/lsp/ti-davinci and a new uImage file was created in /DM368DVR_RDK/DM368_RDK/dvr/lsp/ti-davinci/arch/arm/boot.
This file was then copied to /tftpboot and renamed to uImage_DM365_DVR for performing download onto the target DVR board.
However, once the DVR comes up, it will stop at certain point while it is executing out of file system and it will not com to “login” prompt and nor will it show video input image (DVR is connected to a video camera).
In comparison, before I did all this, the DVR system will come up all the way from kernel uncompression till seeing login prompt as well as video input image.
If I tried to download the original uImage shipped with the RDK SW package (uImage_DM365_DVR), it will stop after kernel uncompression. I had to restore to the original file system, based on instruction in DM368_DVR_RDK_Install_Guide.pdf, section 1.4.8.1, page 17, by doing the following to be able to see things as usual (Kernel uncompression, login prompt and video input image):
Run following command to copy YAFFS2 filesysystem to the device
DVR: tftpboot 0x82000000 dvr_target_fs.yaffs
This will download the yaffs2 filesystem image from TFTP directory to DVR
DDR memory
Write the DVR filesystem image present in DDR memory to the NAND Flash as
follows:
DVR: nandecc sw
DVR: nand erase 0xA80000 7480000
DVR: nand write.yaffs 0x82000000 0xA80000 <file size>
DVR: nandecc hw
I thought reducing kernel size (and hence boot time) is somewhat easy by using “make menuconfig” or even manually take out unnecessary components from .config.
I have tried to remove more components and none of each try ever worked. I suppose taking out these 4 components should be less harming (stopping the system from coming up successfully).
What's preventing me from making any progress?
Any help would be greatly appreciated.