
                 CYCLADES-TS DEVELOPMENT KIT release 3.0.0 [CDK 3.0.0]

These are the release notes for Cyclades Development Kit. Please, read them
carefully, since they will tell you what this is all about, explain how to
install the Linux Kernel and the Cyclades-TS application.


HOW TO GET THE CDK 3.0.0

The CDK 3.0.0 can be downloaded by ftp through the Cyclades-TS
Development Kit Download Form page (http://www.cyclades.com/cdk_form).


HARDWARE AND SOFTWARE REQUIREMENTS

Linux Red Hat 6.2/7.x I386 host machine (installed as server).
The "Hard Hat Linux Embedded linuxs Cross Development PowerPC Targets"
works in other platforms but this will not be covered by this document.

Also, the following packets are rquired:

1) GNU Make version 3.79.1 or newer.
2) Autoconf 2.53


INSTALLING THE CYCLADES DEVELOPMENT KIT FROM CDROM

Note: The following instructions assume that you have root access on your host
      machine.  Please contact your system administrator if you do not have
      these permissions.

1. Insert the CDK 3.0.0 CD into your host machine's CD-ROM drive.

2. Mount the CD-ROM.  Use the command:  "mount /mnt/cdrom"

Note: If this command fails to mount the CD-ROM, you must specify all of the
      parameters to the mount command. See your system administrator if you
      need assistance.

3. To install the CDK use the following commands.

> cd /mnt/cdrom/install/linuxplanet/
> rpm -ihv *.noarch.rpm *.i386.rpm
> cd /mnt/cdrom/common
> rpm -ihv hhl-kernel-2.2.14-1.2.2-1.noarch.rpm

3.1. Cyclades CDK (rmp format).

> cd /mnt/cdrom/cyclades
> rpm -ihv [--prefix <my_path>] hhl_tslinux-3_0_0-1.i386.rpm

3.2. Cyclades CDK (tar/gzip format).

> mkdir <prefix>
> cd <prefix>
> cp /mnt/cdrom/CDK-3_0_0.tar.gz .
> gunzip CDK-3_0_0.tar.gz
> tar -xf CDK-3_0_0.tar

3.3. Cyclades CDK (tar/bzip2 format).

> mkdir <prefix>
> cd <prefix>
> cp /mnt/cdrom/CDK-3_0_0.tar.bz2 .
> bunzip2 CDK-3_0_0.tar.bz2
> tar -xf CDK-3_0_0.tar

Note: Versions 1.3.12 or newer will not have the Cyclades CDK in rpm format
      anymore. The Cyclades CDK will be provide only in compressed formats:
      tar/gzip and tar/bzip2.


4. INSTALLING THE CYCLADES DEVELOPMENT KIT FROM CYCLADES FTP AREA.

 With username "anonymous," download from the Cyclades ftp area the file
 "pub/cyclades/cyclades-ts/.cross_compiling/cross_comp.tgz" into the directory
 "/tmp". It's a hidden file. It can not be seen via "ls".
 Decompress and install the PPC compiler tools using the following commands:

> cd /tmp
> tar xvf cross_comp.tgz
> rpm -ihv *.noarch.rpm *.i386.rpm
> rpm -ihv hhl-kernel-2.2.14-1.2.2-1.noarch.rpm

 Using the username and password obtained with the "cdk_form" page,
 download the CDK 3.0.0 from http://www.cyclades.com/cdk_download/index.php
 into the directory "/tmp".
 Decompress and install the CDK using the following commands:

> cd /tmp
> tar xvf *hhl_tslinux-3_0_0-1.i386

4.1. Cyclades CDK (rpm format)

> rpm -ihv [--prefix <my_path>] hhl_tslinux-3_0_0-1.i386.rpm

If the parameter -prefix is given all files will be installed inside the
directory "<my_path>/tslinux" otherwise "/usr/devkit/tslinux".

4.2 Cyclades CDK (tar/gzip format)

> mkdir <prefix>
> cd <prefix>
> gunzip /tmp/CDK-3_0_0.tar.gz
> tar -xf /tmp/CDK-3_0_0.tar

4.3 Cyclades CDK (tar/bzip2 format)

> mkdir <prefix>
> cd <prefix>
> bunzip2 /tmp/CDK-3_0_0.tar.bz2
> tar -xf /tmp/CDK-3_0_0.tar


GENERATING THE LINUX KERNEL BINARY IMAGE

The installation process will create the following tree in the directory /usr:

/
|-- usr
|   |-- devkit
|   |   |-- tslinux
|   |   |   |-- busybox-0.60.2
|   |   |   |-- crclinux
|   |   |   |-- cyclades
|   |   |   |-- dhcpcd-1.3.20-pl0
|   |   |   |-- inetd
|   |   |   |-- linux
|   |   |   |-- ntpclient
|   |   |   |-- openssh-3.4p1
|   |   |   |-- openssl-0.96g
|   |   |   |-- ras2000-12-25
|   |   |   |-- ucd-snmp-4.2.4.pre1
|   |   |   |-- target_ppc
|   |   |   |-- tinylogin-0.80
|   |   |   |-- tstest
|   |   |   |-- vixie-cron-3.0.1
|   |   |   |-- webs
|   |   |   `-- zlib-1.1.4

Their contents are:

busybox    - source code of some linux commands like ar, cat, grep,
crclinux   - source code of the Cyclades Header generator
cyclades   - Scripts and configuration files
linux      - Linux Kernel source code
ras        - Remote Access Server application source code
snmp       - SNMP source code utilities.
ssh        - SSH client and SSH server source code.
tinylogin  - source code of some linux commands like login, adduser, passwd, etc
tstest     - Hardware test source code application.
target_ppc - Linux RamDisk image tree. All files belonging to Linux FS should be
             placed here  before generating the RamDisk image. 
ntpclient  - Source code of network timer client
dhcpcd     - Source code of dhcp client
inetd      - Source code of changed inetd daemon
vixie      - Source code of cron and crontab utilities
webs       - Source code of TS web management service
zlib       - Source code of compression libraries

To generate the zImage just issue the following commands:

Cd /usr/devkit/tslinux
Make [tsxk | pr3k | ts1h]

The optional target parameter specifies the target machine. The default
target is tsxk.

Tsxk stands for TS400, TS800, TS1000, TS2000, or TS3000.
Pr3k stands for PR3000
Ts1h stands for TS100

Note: The image generator process uses commands like mke2fs and losetup that
      need you have root access on your host machine. Please contact your
      system administrator if you do not have these permissions.

The Makefile into the directory /usr/devkit/tslinux  also has a help parameter:

The command "make help" will display the following lines:

 Makefile valid targets:

 <default>       : Builds the image for the default target machine
 image           : Builds the RamDisk image
 tsxk            : Builds the image for tsxk
 pr3k            : Builds the image for pr3k
 linux           : Builds linux/vmlinux for the default target machine
 <package>       : Builds the <package> package
 clean           : Cleans all packages (including linux)
 clean_<package> : Issues a cleanup for the <package> package
 clean_target    : Deletes the target directory's contents

\Where <package> can be:

 busybox tinylogin ras ssh tstest snmp ntpclient cron inetd webs dhcpcd


After the make command finishes the /usr/devkit/tslinux/target_ppc directory
tree will look like :
 
/
|-- usr
|   |-- devkit
|   |   |-- tslinux
|   |   |   |-- target_ppc
|   |   |   |   |-- bin
|   |   |   |   |-- dev
|   |   |   |   |-- etc
|   |   |   |   |-- home
|   |   |   |   |-- lib
|   |   |   |   |-- libexec
|   |   |   |   |-- mnt
|   |   |   |   |-- opt
|   |   |   |   |-- proc
|   |   |   |   |-- root
|   |   |   |   |-- sbin
|   |   |   |   |-- tmp
|   |   |   |   |-- usr
|   |   |   |   `-- var

The make command will place the binary file zImage into the directory /tftpboot,
if the directory doesn't exist the make command will create it, and name it as
zvmppcts.bin (for tsxk), zvmppc1h.bin (for ts1h), or zvmppc3k.bin (for pr3k).

 

CHANGING PACKAGES AND LINUX KERNEL

After any changes into the directory "linux"  the command "make linux" should
be issued.

After changes in any packages the command
"make [<package1> [<package2> ...]] image" should be issued.

If changes in both packages and linux kernel are done the target "linux"
is not required.

The target "image" has an implicit target "linux" in it. 

NOTE: If the host is a powerful machine (the wasted time is not a big issue)
      just execute a command "make" without any target  parameters.



CHANGING THE RAMDISK IMAGE SIZE.

Just one file should be changed to accomplish the RamDisk size changing: 

/usr/devkit/tslinux/Makefile

#
# Kernel & Ramdisk variables
#

TARG_RD_SIZE = 7680

After seting the above variable with the new RamDisk image size execute
the comands:

Cd /usr/devkit/tslinux
Make image


ZIMAGE FILE STRUCTURE


The zImage file has four logical sections:

1) Cyclades header created by crclinux. This data is used by the boot code
   to check if the zImage being loaded is not corrupted and is compatible with
   the machine. 

2) Linux boot (like lilo): everything in the directory mbxboot. This is the
   only executable code in the zImage file (not compressed).

3) Linux kernel: everything inside the directory linux but mbxboot.

4) Ramdisk image: everything inside the directory target_ppc.
 

