Changes

Jump to: navigation, search

Creating a RFS with Buildroot

2,154 bytes added, 15:16, 9 January 2013
m
Building the root file system
For more information, please refer to [http://buildroot.uclibc.org/downloads/manual/manual.html#_using_buildroot Using Buildroot Section] on the User Manual.
 
= Adding platform specific components not provided with Buildroot =
 
== Adding Naon/Maya specific components==
 
The following procedure allows adding the NELK components to the Buildroot root file system:
 
* modify the ''EZSDK_INSTALL_DIR''/Rules.make file, making the '''EXEC_DIR''' variable point to the Buildroot root file system directory
* enter the ''EZSDK_INSTALL_DIR'' and launch the <code>make all</code> command to build the components
* from the ''EZSDK_INSTALL_DIR'', launch the <code>make install</code> command
 
Unfortunately, the last command doesn't install all the components, so further operations are required. Assuming that:
 
* ''EXEC_DIR'' (Rules.make) points to the directory containg the buildroot RFS;
* $(EXEC_DIR).ori is the name of the original root file system provided with the NELK distribution;
* the busybox built with Buildroot and installed on the root file system supports the '''depmod''' command
 
you can easily add two targets to the ''EZSDK_INSTALL_DIR''/Makefile:
 
<pre>
load-firmware-buildroot-rfs_install:
cp $(EXEC_DIR).ori/etc/init.d/load-hd-firmware.sh $(EXEC_DIR)/usr/share/ti/ti-media-controller-utils/davefirm.sh
ln -s /usr/share/ti/ti-media-controller-utils/davefirm.sh $(EXEC_DIR)/etc/init.d/S70firm
cp $(EXEC_DIR).ori/usr/share/ti/ti-media-controller-utils/mm_dm81xxbm.bin $(EXEC_DIR)/usr/share/ti/ti-media-controller-utils
 
load-firmware-buildroot-rfs_clean:
rm -rf $(EXEC_DIR)/usr/share/ti/ti-media-controller-utils/davefirm.sh
rm -rf $(EXEC_DIR)/etc/init.d/S70firm
rm -rf $(EXEC_DIR)/usr/share/ti/ti-media-controller-utils/mm_dm81xxbm.bin
</pre>
 
The first target completes the installation. The following is a brief description of the commands:
 
* The first command copies the original load-hd-firmware.sh script renaming it "buildroot_rfs_firmware.sh".
* The second command creates a symbolic link to the "buildroot_rfs_firmware.sh" file, so that init can launch that script at startup
* The third command copies the mm_dm81xxbm.bin (external memory mapping) binary file, required by the "buildroot_rfs_firmware.sh" file
 
The second target restores the previous situation.

Navigation menu