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.

Boot time optimization



Hi,

There is a document given on boot time optimization guidelines along with 3.0 release.  This mentions that optimization is possible to bring the boot time to down to 21 seconds.  As of now it is close to 2 minutes for us.  But the document is not very clear on the procedure for doing this. 

Few of the suggestions mentioned are as below.  Can someone pls guide on how these are to be done?

Use “strip” utility on the libraries and executables.  When I just tried to use "strip" on the executables in /opt/ipnc/bin, it failed saying invalid file format.

Building some of the modules (cmemk.ko) into kernel instead of copying from filesystem to RAM. 

Moving u-boot, kernel and filesystem from NAND to RAM.

Removing “avoidable modules and commands” for u-boot optimization.  Is there a listing of all modules and commands somewhere so we can comment out what we feel are avoidable.

Reducing kernel size by deselecting avoidable modules in “make menuconfig”.  Which is the place where we should be doing this desection?

Using “ubifs” instead of “jffs2” to reduce boot time.  However I am not able to create the ubifs using the command given (“make ubifs” or “sudo make ubifs”).  It ends up failing.  However “make jffs2” works fine.

thanks,

Chandar

  • Hi,

    If your "make ubifs" failed, you might have been runing it on 32 bit host Linux PC, but mkfs.ubifs in IPNC is for 64bit Linux.
    You can build mtd-utils for 32 bit Linux, or just replace file "/ipnc_rdk/target/mtd-utils/mkfs.ubifs"  with the one from here :
    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/p/200621/713839.aspx

    Regards.

     

  • Hi Marko, I tried this but now it fails to run the binary ubinize.  I guess this is also a 64 bit version and I need the corresponding 32 bit one.  Can you pls let me know if we have the whole mtd-utils for 32 bit Lunux available somewhere so I can replace the entire directory and try it out.

  • Hi Chandar,

    Try the one from attachment.

    But i can use my OS ubinize, just by changing main ipnc_rdk/Makefile:

    #TO:
    ubifs:  mkdir -p $(IPNC_INSTALL_DIR)/tmp
    $(MTD_UTILS)/mkfs.ubifs -r $(TARGET_FS) -F -o ./tmp/ubifs.img -m 2048 -e 126976 -c 1463 
    $(MTD_UTILS)/ubinize -o $(TFTP_HOME)/ubifs_$(SYSTEM_CFG).bin -m 2048 -p 128KiB -s 512 -O 2048 $(IPNC_INSTALL_DIR)/ubinize.cfg  
    rm -rf $(IPNC_INSTALL_DIR)/tmp

    #FROM
    #ubifs: ORIG # mkdir -p $(IPNC_INSTALL_DIR)/tmp
    # $(MTD_UTILS)/mkfs.ubifs -r $(TARGET_FS) -F -o ./tmp/ubifs.img -m 2048 -e 126976 -c 1463
    # $(MTD_UTILS)/ubinize -o $(TFTP_HOME)/ubifs_$(SYSTEM_CFG).bin -m 2048 -p 128KiB -s 512 -O 2048 $(IPNC_INSTALL_DIR)/ubinize.cfg
    # rm -rf $(IPNC_INSTALL_DIR)/tmp

    ---------------------------------------

    http://processors.wiki.ti.com/index.php/MTD_Utilities

    ---------------------------------------

    Regards.

     

    ubinize.gz
  • Sorry ,

    ... change it to:

    #TO:
    ubifs:  mkdir -p $(IPNC_INSTALL_DIR)/tmp
    $(MTD_UTILS)/mkfs.ubifs -r $(TARGET_FS) -F -o ./tmp/ubifs.img -m 2048 -e 126976 -c 1463
    ubinize -o $(TFTP_HOME)/ubifs_$(SYSTEM_CFG).bin -m 2048 -p 128KiB -s 512 -O 2048 $(IPNC_INSTALL_DIR)/ubinize.cfg
    rm -rf $(IPNC_INSTALL_DIR)/tmp