Linux-c6x 2.0-alpha1 Release

From LinuxC6xWiki

Jump to: navigation,
search

This is the 2.0 Alpha1 release of Linux-c6x. This is an early access release
to demonstrate Linux on the C66 devices. This release was used for the first
production run of C6678 EVMs. Users are encouraged to update to later releases
when available. Bug fixes will be applied to subsequent releases of the 2.0
series.

Contents

1 Release
highlights

2 Building Software from the
source

2.1 Initial Linux Host
Setup

2.2 Cloning the git
repositories

2.3 Installing Code
Sourcery GCC tool chain

2.4 Building the kernel and
filesystem

2.5 Where to find the
generated files?

2.6 How to create a
bootblob?

3 Known issues

Release highlights

First release supporting C66 devices

Based on Linux kernel v2.6.34

uClibc v0.9.31-rc

busybox v1.17.1

Drivers such as i2c, ethernet, UART.

Support for peripherals such as EEPROM and NAND

MCSDK (Multicore SDK) web control panel demo

Supported device

EVMC6678 (little endian mode only)

This release uses an early-access version of gcc tool chain (4.5-109) from
Code Sourcery [[1]].

Please note that this release is not validated against the CGT based TI tool
chain.

Building Software from the source

There is a little bit of work that needs to be done before one is ready to
play with the software

Initial Linux Host Setup

Please prepare the Linux Host with the appropriate software.

For Ubuntu 10.04 Host, use the following commands:-

sudo apt-get install -y build-essential git-core
echo "no" | sudo dpkg-reconfigure -f teletype dash

For others, refer Setting
up the Linux Host

Cloning the git repositories

If you are behind a firewall, set following env variables

export http_proxy=<http proxy server>
export https_proxy=<https proxy server>

To clone all repositories, issue the following commands

mkdir ~/my-linux-c6x
cd ~/my-linux-c6x
wget http://linux-c6x.org/bootstrap
chmod +x bootstrap
./bootstrap linux-c6x-2.0-alpha1
./bootstrap linux-c6x-2.0-alpha1

Currently there is an issue with the bootstrap command and it needs to be run
twice as indicated.

After executing the bootstrap script the my-linux-c6x folder will have the
following structure

my-linux-c6x/
|-- busybox
|-- linux-c6x
|-- linux-c6x-project
|-- projects
| |--mtd-utils
| |--packages
| |--rio-utils
| |--c6x-linux-mcsdk-demo

Installing Code Sourcery GCC tool
chain

To build the software using GCC tool chain, pre-built tool chain binaries and
uclibc source are to be installed. A suggested way is install it under
my-linux-c6x folder using the gcc-install.sh script provided. So from
my-linux-c6x directory type

./linux-c6x-project/scripts/gcc-install.sh 4.5-109

After this the my-linux-c6x folder will have the following structure

my-linux-c6x/
|-- busybox
|-- gcc-c6x
|-- linux-c6x
|-- linux-c6x-project
|-- projects
| |--mtd-utils
| |--packages
| |--rio-utils
|-- gcc-c6x-uclibc

Building the kernel and
filesystem

Assuming that all the individual repositories have been cloned in the
my-linux-c6x directory, the following steps need to be followed.

1. Change directory to linux-c6x-project by giving

cd linux-c6x-project

2. Then issue the following commands

./setup

3. Then edit the "setenv" for the following and save the file.

#KERNELS_TO_BUILD represents the various kernels that will be built. Set this variable
# build evmc6678.

export KERNELS_TO_BUILD="evmc6678"

#ROOTFS variable is used to select the rootfs to be built. Set this to
# mcsdk-demo-root

export ROOTFS=mcsdk-demo-root

4. Issue the commands

./setup
source setenv

5. Finally issue the command

make product

Where to find the generated files?

Once the build is successful, the generated files can be found at
~/my-c6x-linux/product

cd ~/my-c6x-linux/product
ls -l

-rwxr-xr-x 1 a0868495 cleartnp 4632132 May 4 11:14 vmlinux-2.6.34-evmc6678.el-20110504-1
-rwxr-xr-x 1 a0868495 cleartnp 3916288 May 4 11:14 vmlinux-2.6.34-evmc6678.el-20110504-1.bin
-rwxr-xr-x 1 a0868495 cleartnp 7295 May 12 11:57 bootblob
-rw-r--r-- 1 a0868495 cleartnp 3684416 May 12 13:43 mcsdk-demo-root-c6x.cpio.gz

How to create a bootblob?

The bootblob binary under product directory can be used to generate a
bootblob that can be programmed into the nand flash.

To create a bootblob do the following

cd ~/my-c6x-linux/product
chmod +x ./bootblob

./bootblob make-image --abs-base=0x80000000 --round=0x10000 blob.bin vmlinux-2.6.34-evmc6678.el-
20110504-1.bin mcsdk-demo-root-c6x.cpio.gz "console=ttyS0,115200 initrd=0x%fsimage-start-
abs-x%,0x%fsimage-size-x% ip=dhcp rw"

The generated file, blob.bin can be used for programming the NAND flash.
Refer linux-c6x-2.0-alpha1 User Guide for details on how to program the NAND
flash

Known issues

c64x platforms are not validated in this release

C66 SPI driver timeout issue when writting to SPI NOR flash

C66 User space still compiled for soft floating point

Web control panel doesn't currently support programming the Kernel and
filesystem in the NAND

tftp boot is not functional

Retrieved from "http://linux-c6x.org/wiki/index.php/Linux-c6x_2.0-alpha1_Release"

Views

Page

Discussion

View
source

History

Personal tools

Log
in / create account

Navigation

Main Page

Community
portal

Current
events

Recent
changes

Random page

Help

Search

Toolbox

What
links here

Related
changes

Special
pages

Printable version

Permanent
link

PDF version

Create a book

Add wiki page

Books help

This page was last modified on 26 May 2011, at 20:49.

This page has been accessed 1,127 times.

Content is available under Creative Commons
Attribution-ShareAlike 3.0 US.

Privacy
policy

About
LinuxC6xWiki

Disclaimers