Introduction ============ The cbootimage-configs project contains cbootimage configuration files for many Tegra boards, both those designed by NVIDIA, and various third-parties. The directory hierarchy is first by chip/SoC, then by vendor, then by board name. For example, tegra20/nvidia/harmony. If you wish to use cbootimage with a board that is not yet supported by this project, you might try contacting the vendor of the board to see if they'd be willing to contribute configuration files to this project. Adding Board Support ==================== If that doesn't work out, you may create the required configuration files using the following process: 1) Extract the BCT from the existing device. Various methods exist to do this: 1a) Recent versions of tegrarcm now have the capability to read the BCT from the device without requiring any HW-specific binaries, nor code already installed on the device: tegrarcm --bct board.bct readbct 1b) If you have access to Linux running on the device already, then you can use dump the memory device directly: For devices which boot from eMMC: dd if=/dev/mmcblk0boot0 of=bct.bin bs=65536 count=1 For devices which boot from SPI: dd if=/dev/mtd0ro of=bct.bin bs=65536 count=1 1c) If you have a working nvflash for your device, then this can also extract the BCT: nvflash --bl fastboot.bin --getbct --bct board.bct If that doesn't work, you could try reading the content of the BCT partition or the start of the raw device, then extracting the BCT: nvflash --bl fastboot.bin --read 2 board.bct or: nvflash --bl fastboot.bin --rawdeviceread 0 128 board.bct Note that some of the above commands extract many more bytes of data that is strictly required. However, this avoids updating these instructions for each new chip; Tegra20's BCT is just under 4KiB, Tegra30's around 6KiB, etc. 2) Convert the BCT to a cbootimage configuration file: bct_dump board.bct > board.bct.cfg This will de-compile the extracted BCT binary into a text configuration file suitable for later use by cbootimage. To follow the same structure as the rest of the configuration files in this project, it's then best to split up board.bct.cfg into separate board.bct.cfg (DevType, DeviceParam, and SDRAM lines), and board.img.cfg (all other header parameters). Use the existing configuration files as a guide. Once you have performed these steps, you will have configuration files suitable for your personal use. We don't accept contributions to this project that were derived in this fashion. We encourage you to contact the vendor and request them to submit their own configuration files. Submitting Changes ================== To submit patches to this project, please use the following commands: * git format-patch --subject-prefix="cbootimage-configs PATCH" Creates a patch file from your git commit. * git send-email --to linux-tegra@vger.kernel.org *.patch Sends the patch by email to the Tegra mailing list. Even though the primary upstream repository for this project is hosted on github, contributions aren't accepted via github pull requests. Github pull requests would bypass public code review on the project mailing list. Patches should be signed off (include a signed-off-by line) to indicate your acceptance of the code's license (see COPYING and the license header in each file). See http://developercertificate.org/ for details of what signed-off-by implies.