This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM365 RDK - Reducing Boot Time

 

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.

 

  • You may want to at least add PRINTK back to the .config so that you can see more debug level output (at least to debug).  Afterwards compare the working console output with the non-work to determine what the potential fault my be.

  • Hi,

    Can you please confirm that you were able to build the kernel that came with DVR RDK and you could use it without any problems? If yes, then we just need to focus on the exact menuconfig changes you did. I would like to see the .config file from the kernel root to see the exact configuration and compare against the working one.

    Regards,

    Anshuman

  •  I perform professional services on boot optimization and sell fast boot solutions. For details please visit http://www.makelinux.com/emb/fastboot/

  • Dear Anshuman,

      yes, we were able to do the build successfully.

      However, due to lack of clear documentation on how to install dvsdk (it is not included in DM368_DVR_RDK_Install_Guide.pdf, and somehow we do not have DM368_DVR_RDK_Package_Install_Guide), we had originally installed it under /TI_Toolchain (one level below /dvr) instead of under /dvr and it had caused us a lot of pains.  We had troubles with build process, undefined references, mismatch version (cmemk, irqk, edmak), missing linker.cmd, etc.  Later on, we reinstalled dvsdk under /dvr based on what we got from local TI FAE, and that solved everything.

     

  • Hi,

    Good to know that your problem was resolved. I will check why you did not get the Install Guide and fix any issue, if existing.

    Regards,

    Anshuman

    PS: Please mark this post as verified, if you think it has answered your question. Thanks.