Table Of Contents
AXP User Defined Linux Environment
Setting up AXPUDL without RPM support
Troubleshooting AXPUDL without RPM Support
Additional References
Setting up AXPUDL with RPM support
Fedora Core 10 Files
AXP User Defined Linux Environment
If you choose to use an AXP User Defined Linux environment (AXPUDL), not the default AXPOS, you choose your own linux distribution.
For information on the alternative AXP Reference OS(AXPOS), refer to the "Cisco AXP Reference Operating System" section on page 123.
The following linux distributions have been tested on Cisco AXP:
•
SUSE 11
•
Debian 3.0
•
Ubuntu 8.0.4 (server version)
•
Fedora core 10
•
Fedora core 4
Two examples of setting up the AXPUDL are shown below.
When packaging your application to run in the AXPUDL, package your application using the packaging tool specifying the argument: user-defined-linux=y. In AXPUDL, make sure that the init process is available—refer to the "Setting Up the init Process" section on page 15.
This chapter consists of the following sections:
•
Setting up AXPUDL without RPM support
•
Setting up AXPUDL with RPM support
Setting up AXPUDL without RPM support
To setup a Debian-based AXPUDL follow the steps below.
The packaging directory used to hold the AXPUDL environment is typically in a staging area on another machine.
Step 1
Download the Debian 3.0 iso files from www.debian.org
Step 2
Install debian under a vmware instance
Step 3
Login to debian under vmware instance and cd to root /
Step 4
Tar the entire installation using tar zcvf /debian.tar.gz /
Step 5
Copy the tar file to the packaging directory in a staging area on another machine
Step 6
Untar the contents of debian.tar.gz into the packaging directory
Example
In this example the tar file is unpacked into the packaging directory /debian_udl
mv /debian.tar.gz /debian_udl
Show the contents of the packaging directory
bin etc lib media opt sbin sys usr
boot home lost+found mnt root srv tmp var
Step 7
Issue the packaging command
Example
pkg_build.sh --project-dir '/debian-proj' --auth-bundle '/xyz_src/auth_bundle'
--private-key '/xyz_src/private.key' --name 'Debian' --version '1.0.0' --description
`Debian UDL' --source-dir '/debian_udl' --disk-limit '10000M' --memory-limit '256M'
--cpu-limit '500' --memory-wildcard --disk-wildcard --cpu-wildcard --user-defined-linux
If there are no errors, go to step 10
Step 8
After running the packaging command, if there are errors relating to softlinks that do not link to actual files, refer to the "Troubleshooting AXPUDL without RPM Support" section
Step 9
After running the packaging command, if there are errors relating to files that have no read/write permissions, do the following:
•
take a note of the files that have no read/write permissions and also record the files (original) permissions
•
add a chmod command in the postinstall.sh script to change the permissions of these files back to their original permissions
•
change the permissions of these files using chmod 777
•
retry the packaging command. (You can refer to the example in step 7 above.)
Step 10
Install the package
Troubleshooting AXPUDL without RPM Support
Errors may appear during the "Setting up AXPUDL without RPM support" section that are due to soft links that do not link to actual files. To fix this problem:
Step 1
For each of the soft links that are causing an error, if the link not to an actual file and the link is not required:
•
remove the soft link
or
•
change the soft link to a relative link
Step 2
Retry the packaging command. (Refer to the example in step 7 above.)
Some files under /proc and /dev do not need to be installed with the AXPUDL. For example: /proc, /dev, /usr/share/doc, /usr/share/doc-base, /usr/share/locale/* You can remove these files and the directory under /proc and /dev. In addition, the man pages directory and many doc pages under /usr/share directory can be removed to save space. After installation, files suchas /proc are recreated from the kernel.
Additional References
Installing: "Installing and Upgrading Software" section on page 237.
Packaging: "Installing and Upgrading Software" section on page 237.
Setting up AXPUDL with RPM support
To setup an AXPUDL based on Fedora Core 10 perform the following steps:
Step 1
Download the Fedora core 10 iso files from http://www.redhat.com
Step 2
In the development linux machine, create a staging directory such as /opt/fedora10
Step 3
Build a list of RPMs—refer to Table 1 below
To determine the order of the RPMs you can do one of the following:
•
Look at a standard Fedora Core 10 installation: use the rpm -qa -last command in the RPM to list the RPMs installed in reverse order
OR
•
Install the RPMs in the chroot environment
During installation, if an error is seen for an RPM, the error is often caused by the RPM being dependent on another RPM that has not yet been installed
Step 4
After identifying the order of RPMs to be installed, copy the RPMs into the third_party_rpms_repository
Step 5
Create a text file rpm_priority.dat with the order of the RPMs to be installed. Refer to the "RPM Installation Sequence" section on page 216.
Step 6
Issue the packaging command
Example
pkg_build.sh --project-dir '/fc10-proj' --auth-bundle '/xyz_src/auth_bundle' --private-key
'/xyz_src/private.key' --name 'FC10' --version '1.0.0' --description `Fedora Core 10 UDL'
--source-dir '/FC10' --disk-limit '10000M' --memory-limit '256M' --cpu-limit '500'
--memory-wildcard --disk-wildcard --cpu-wildcard --user-defined-linux
Step 7
Install the package
Fedora Core 10 Files
•
Access to /tmp Directory Files
•
Required Fedora Core 10 Files
Access to /tmp Directory Files
Note
/tmp directory files cannot accessed. For example, entries in the file restore_config_file_list.txt cannot specify /tmp directory files as either the source and destination file.
Required Fedora Core 10 Files
Table 1 shows a sample set of Fedora Core 10 RPM files required for an application on AXPUDL to run and for the user to be able to login to the guest OS shell. For each of the Fedora Core 10 RPM files an equivalent CentOS 5.2 RPM file is shown, if an equivalent file exists. Where a Fedora Core 10 RPM file is listed without an equivalent CentOS 5.2 RPM file, the Fedora Core 10 RPM file is used for Java and the RPM database.
Table 99 List of RPM Files Required in AXPUDL
Serial No (of CentOS 5.2 RPM)
|
CentOS 5.2 RPM
|
Fedora Core 10 RPM
|
1
|
basesystem-8.0-5.1.1.noarch.rpm
|
basesystem-10.0-1.noarch.rpm
|
2
|
filesystem-2.4.0-1.i386.rpm
|
filesystem-2.4.19-1.fc10.i386.rpm
|
3
|
glibc-2.5-24.i386.rpm
|
glibc-2.9-2.i386.rpm
|
4
|
libgcc-4.1.2-42.i386.rpm
|
libgcc-4.3.2-7.i386.rpm
|
5
|
mktemp-1.5-23.2.2.i386.rpm
|
-
|
6
|
ncurses-5.5-24.20060715.i386.rpm
|
ncurses-5.6-20.20080927.fc10.i386.rpm
|
| |
ncurses-libs-5.6-20.20080927.fc10.i386.rpm
|
7
|
setup-2.5.58-1.noarch.rpm
|
setup-2.7.4-1.fc10.noarch.rpm
|
8
|
libtermcap-2.0.8-46.1.i386.rpm
|
-
|
9
|
bash-3.2-21.i386.rpm
|
bash-3.2-29.fc10.i386.rpm
|
10
|
audit-libs-1.6.5-9.i386.rpm
|
audit-libs-1.7.8-6.fc10.i386.rpm
|
11
|
libselinux-1.33.4-5.i386.rpm
|
libselinux-2.0.73-1.fc10.i386.rpm
|
12
|
libsepol-1.15.2-1.i386.rpm
|
libsepol-2.0.33-1.fc10.i386.rpm
|
13
|
shadow-utils-4.0.17-13.i386.rpm
|
shadow-utils-4.1.2-8.fc10.i386.rpm
|
14
|
zlib-1.2.3-3.i386.rpm
|
zlib-1.2.3-18.fc9.i386.rpm
|
15
|
info-4.8-14.i386.rpm
|
info-4.12-4.fc10.i386.rpm
|
16
|
findutils-4.2.27-4.1.i386.rpm
|
findutils-4.4.0-1.fc10.i386.rpm
|
17
|
pcre-6.6-2.7.i386.rpm
|
pcre-7.8-1.fc10.i386.rpm
|
18
|
grep-2.5.1-54.2.i386.rpm
|
grep-2.5.1a-61.fc10.i386.rpm
|
19
|
libacl-2.2.39-3.i386.rpm
|
libacl-2.2.47-3.fc10.i386.rpm
|
20
|
libattr-2.4.32-1.1.i386.rpm
|
libattr-2.4.43-1.fc10.i386.rpm
|
21
|
coreutils-5.97-14.i386.rpm
|
coreutils-6.12-17.fc10.i386.rpm
|
22
|
chkconfig-1.3.30.1-2.i386.rpm
|
chkconfig-1.3.38-1.i386.rpm
|
| |
popt-1.13-4.fc10.i386.rpm
|
23
|
initscripts-8.45.19.EL-1.1.i386.rpm
|
initscripts-8.86-1.i386.rpm
|
24
|
util-linux-2.13-0.47.i386.rpm
|
util-linux-ng-2.14.1-3.fc10.i386.rpm
|
25
|
beecrypt-4.1.2-10.1.1.i386.rpm
|
-
|
26
|
bind-libs-9.3.4-6.P1.i386.rpm
|
bind-libs-9.5.1-0.8.b2.fc10.i386.rpm
|
27
|
bind-utils-9.3.4-6.P1.i386.rpm
|
bind-utils-9.5.1-0.8.b2.fc10.i386.rpm
|
28
|
bzip2-libs-1.0.3-3.i386.rpm
|
bzip2-libs-1.0.5-3.fc10.i386.rpm
|
29
|
curl-7.15.5-2.i386.rpm
|
curl-7.18.2-7.fc10.i386.rpm
|
30
|
device-mapper-1.02.24-1.i386.rpm
|
device-mapper-1.02.27-6.fc10.i386.rpm
|
31
|
e2fsprogs-libs-1.39-15.i386.rpm
|
-
|
32
|
elfutils-libelf-0.125-3.i386.rpm
|
elfutils-0.137-3.fc10.i386.rpm
|
33
|
gawk-3.1.5-14.i386.rpm
|
gawk-3.1.5-18.fc10.i386.rpm
|
34
|
gzip-1.3.5-10.i386.rpm
|
gzip-1.3.12-7.fc10.i386.rpm
|
35
|
iputils-20020927-43.i386.rpm
|
iputils-20071127-6.fc10.i386.rpm
|
36
|
keyutils-libs-1.2-1.i386.rpm
|
-
|
37
|
krb5-libs-1.6.1-25.i386.rpm
|
krb5-libs-1.6.3-16.fc10.i386.rpm
|
38
|
less-394-5.i386.rpm
|
less-424-1.fc10.i386.rpm
|
39
|
libidn-0.6.5-1.1.i386.rpm
|
libidn-0.6.14-8.i386.rpm
|
40
|
libstdc++-4.1.2-42.i386.rpm
|
libstdc++-4.3.2-7.i386.rpm
|
41
|
net-tools-1.60-78.i386.rpm
|
net-tools-1.60-91.fc10.i386.rpm
|
42
|
openssl-0.9.8b-10.i386.rpm
|
openssl-0.9.8g-11.fc10.i386.rpm
|
43
|
popt-1.10.2-48.i386.rpm
|
-
|
44
|
procps-3.2.7-9.i386.rpm
|
procps-3.2.7-21.fc10.i386.rpm
|
45
|
readline-5.1-1.1.i386.rpm
|
readline-5.2-13.fc9.i386.rpm
|
46
|
sed-4.1.5-5.i386.rpm
|
sed-4.1.5-10.fc9.i386.rpm
|
47
|
sqlite-3.3.6-2.i386.rpm
|
sqlite-3.5.9-2.fc10.i386.rpm
|
48
|
strace-4.5.16-1.1.i386.rpm
|
strace-4.5.18-1.fc10.i386.rpm
|
49
|
sysklogd-1.4.1-44.i386.rpm
|
sysklogd-1.5-3.fc10.i386.rpm
|
| |
upstart-0.3.9-19.fc10.i386.rpm
|
50
|
SysVinit-2.86-14.i386.rpm
|
sysvinit-tools-2.86-24.i386.rpm
|
51
|
tar-1.15.1-23.0.1.i386.rpm
|
tar-1.20-3.fc10.i386.rpm
|
52
|
vim-minimal-7.0.109-3.3.i386.rpm
|
vim-minimal-7.2.025-2.fc10.i386.rpm
|
53
|
which-2.16-7.i386.rpm
|
which-2.19-3.fc9.i386.rpm
|
54
|
rpm-libs-4.4.2-48.i386.rpm
|
rpm-libs-4.6.0-0.rc1.7.i386.rpm
|
55
|
rpm-4.4.2-48.i386.rpm
|
rpm-4.6.0-0.rc1.7.i386.rpm
|
56
|
cracklib-2.8.9-3.3.i386.rpm
|
cracklib-2.8.12-2.i386.rpm
|
57
|
cracklib-dicts-2.8.9-3.3.i386.rpm
|
cracklib-dicts-2.8.12-2.i386.rpm
|
58
|
pam-0.99.6.2-3.27.i386.rpm
|
pam-1.0.2-2.fc10.i386.rpm
|
59
|
sudo-1.6.8p12-12.i386.rpm
|
sudo-1.6.9p17-2.fc10.i386.rpm
|
60
|
glib2-2.12.3-2.i386.rpm
|
glib2-2.18.2-3.fc10.i386.rpm
|
61
|
libcap-1.10-26.i386.rpm
|
libcap-2.10-2.fc10.i386.rpm
|
62
|
libuser-0.54.7-2.el5.5.i386.rpm
|
libuser-0.56.9-1.i386.rpm
|
63
|
passwd-0.73-1.i386.rpm
|
passwd-0.75-2.fc9.i386.rpm
|
| |
-
|
tzdata-java-2008h-1.fc10.noarch.rpm
|
| |
-
|
java-1.6.0-openjdk-1.6.0.0-2b12.fc10.i386.rpm
|
| |
-
|
java-1.5.0-gcj-1.5.0.0-22.fc10.i386.rpm
|
| |
-
|
java_cup-0.10k-1.i386.rpm
|
| |
-
|
java-1.6.0-openjdk-plugin-1.6.0.0-2b12.fc10.i386.rpm
|
| |
-
|
compat-db45-4.5.20-5.fc10.i386.rpm
|
| |
-
|
file-libs-4.26-3.fc10.i386.rpm
|
| |
-
|
lua-5.1.4-1.fc10.i386.rpm
|
| |
-
|
elfutils-libelf-0.137-3.fc10.i386.rpm
|
| |
-
|
nss-3.12.2.0-3.fc10.i386.rpm
|
| |
-
|
nspr-4.7.2-2.fc10.i386.rpm
|