Coder Social home page Coder Social logo

cbootimage-configs's Introduction

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 [email protected] *.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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.