ALTERPATH-ACS DEVELOPMENT KIT release 1.0.0_ons [CDK 1.0.0_ons] These are the release notes for Cyclades Development Kit. Please read these release notes carefully since they explain how to install the Linux Kernel and the Alterpath ACS application. HOW TO GET THE CDK 1.0.0_ons The CDK 1.0.0_ons can be downloaded by ftp through the Alterpath-ACS Development Kit Download Form page (http://www.cyclades.com/cdk_form). HARDWARE AND SOFTWARE REQUIREMENTS A Linux Red Hat 9.0 i386 host machine is required. It is also necessary to have the following software installed: - MontaVista Linux Pro 2.1 - autoconf213 - JDK 1.4.2_01 - gnu.regexp 1.1.4 - jdom-b8 - Make 3.79.1 or newer WHERE TO GET THE REQUIRED SOFTWARE autconf213 This package can be installed from the RedHat Linux 9 distribution; it is located in Disc 2. JDK (1.4.2_01) In order to successfully build the Java components for the ACS, the Java Development Kit (JDK) Standard Edition 1.4.2 or later is required. This JDK can be downloaded from Sun's website (http://java.sun.com/) and should be installed in /usr/java/j2sdk1.4.2_01. gnu.regexp 1.1.4 GNU regexp can be downloaded from ftp://ftp.tralfamadore.com/pub/java/gnu.regexp.1.1.4.tar.gz. The jar file, gnu-regexp-1.1.4.jar should be installed in /usr/java/j2sdk1.4.2_01/lib. JDOM B8 JDOM can be found at http://www.jdom.org/dist/binary/jdom-b8.tar.gz. The jdom-b8 directory should be copied to /usr/jdom-b8. INSTALLING THE Alterpath-ACS 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 1.0.0_ons 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. > /mnt/cdrom/bin/hhl-host-install --install [--verbose] \ --lsp embeddedplanet-linuxplanet-ppc_8xx 3.1. Cyclades CDK (rpm format). > rpm -ihv /mnt/cdrom/cyclades/hhl_acslinux-1_0_0_ons-1.i386.rpm 3.2. Cyclades CDK (tar/gzip format). > mkdir > cd > cp /mnt/cdrom/cyclades/CDK-1_0_0_ons.tar.gz . > gunzip CDK-1_0_0_ons.tar.gz > tar -xf CDK-1_0_0_ons.tar 3.3. Cyclades CDK (tat/bzip2 format) > mkdir > cd > cp /mnt/cdrom/cyclades/CDK-1_0_0_ons.tar.gz . > bunzip2 CDK-1_0_0_ons.tar.bz2 > tar -xf CDK-1_0_0_ons.tar Note: Versions 2.2.0 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 Alterpath-ACS DEVELOPMENT KIT FROM CYCLADES FTP AREA. With username "anonymous," download from the Cyclades ftp area the file "pub/cyclades/alterpath/acs/.cross_compiling/cdk_mv21.tgz" in 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 cdk_mv21.tgz > /tmp/cdk_mv21/bin/hhl-host-install --install [--verbose] \ --media /tmp/cdk_mv21 --lsp embeddedplanet-linuxplanet-ppc_8xx Using the username and password obtained with the CDK Download Form page, download the CDK 1.0.0_ons 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_acslinux-1_0_0_ons-1.i386 4.1. Cyclades CDK (rpm format). > rpm -ihv [--prefix ] hhl_acslinux-1_0_0_ons-1.i386.rpm If the parameter -prefix is given all files will be installed inside the directory "/acslinux" otherwise "/usr/devkit/acslinux". 4.2. Cyclades CDK (tar/gzip format). > mkdir > cd > gunzip /tmp/CDK-1_0_0_ons.tar.gz > tar -xf /tmp/CDK-1_0_0_ons.tar 4.3. Cyclades CDK (tat/bzip2 format) > mkdir > cd > bunzip2 /tmp/CDK-1_0_0_ons.tar.bz2 > tar -xf /tmp/CDK-1_0_0_ons.tar GENERATING THE LINUX KERNEL BINARY IMAGE The installation process will create the following tree in the directory /usr: / |-- usr | |-- devkit | | |-- acslinux | | | |-- 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 ACS web management service zlib - Source code of compression libraries To generate the zImage just issue the following commands: Cd /usr/devkit/acslinux Make [tsxk] The optional target parameter specifies the target machine. The default target is tsxk. 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/acslinux also has a help parameter: The command "make help" will display the following lines: Makefile valid targets: : Builds the image for the current target machine image : Builds the RamDisk image for the current target tsxk (*) : Builds the image for ACS's tsxk (*) : Builds the image for KVM's oem (*) : Builds the image for OEM ts1h (*) : Builds the image for TS100 Rev2 Linux 2.4.17 linux : Builds linux/vmlinux for the current target target : Builds the package clean : Cleans all packages (including linux) clean_ : Issues a cleanup for the package clean_target : Deletes the target directory's contents Where can be: busybox, tinylogin, ras, ssh, tstest, snmp, etc. After the make command finishes the /usr/devkit/acslinux/target_ppc directory tree will look like : / |-- usr | |-- devkit | | |-- acslinux | | | |-- 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 zvmppccs.bin (ACS's), zvmppckvm.bin (KVM's) or zvmppccs1h.bin (TS100). 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 [ [ ...]] 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/acslinux/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/acslinux 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.