Transcript Slide 1

Running Third Party Applications on
OpenServer 6
Richard Harry
Director, UNIX® Engineering
John Wolfe
Senior Software Engineer
Agenda
 In this session we will cover:







Benefits of Migration to OpenServer 6
Hardware System Requirements
ISL issues and debugging
Migrating Third Party Apps to OpenServer 6
Debugging Post-ISL
Examples of Customer Application Migration
How to Get Some Assistance
Reasons to Deploy OpenServer 6
Benefits
 Better performance than on OpenServer 5 on
identical hardware.
 Better OS support for current available
commodity hardware.
 High(er) Mean Time Between Failure (MTBF)
OpenServer 6 Technical Overview
 Features new to OpenServer 6 [1]:
 New SVR5 Kernel that delivers [1]:
 Advanced fine grained locking to scale up to 16 CPUs
(OSR507=4)
 Support for up to 16GB General Purpose Memory (OSR5=4GB)
 Support via PSE for up to 64GB using shm/dshm
 Large File Support up to 1Tb (OSR507 = 2GB)
 Improved Disk I/O Performance
 Improved Network Stack Performance
 Improved SMP and Load Balancing
 Kernel Threads
 Dynamically Loadable Modules
 Hyperthreading and Dual-Core
OpenServer 6 Technical Overview
 Features new to OpenServer 6 [2]:
 New SVR5 Kernel that delivers [2]:











Dynamic Add Memory Support
Hot Plug CPU
Hot Plug PCIx
Hot Plug of Disk, Tape and CD/DVD Devices
Veritas Journalling Filesystem
Encrypted Filesystem support
IPsec and VPN
MPIO
NIC Failover
Automatic Tuning at boot time
SAN Support (MSA500, MSA1000, MSA1500)
OpenServer 6 Technical Overview
 Features new to OpenServer 6 [3]:
 New SVR5 Kernel that delivers [3]:
 Serial ATA HBA Support (ahci driver)
 Serial Attached SCSI HBA Support (hpsas, adp94xx driver)
- LSI coming
 Fiberchannel HBA Support (Qlogic qlc2300 HBA)
 Prism II Wireless Nic Support (pcpms driver)
 Centrino™ Wireless Nic Support
 Improved AIO (not compatible with OpenServer 5 AIO)
 AC97 support for i845 chipset for applications that do not
expect opensound driver.
OpenServer 6 Technical Overview
 Features new to OpenServer 6 [4]:





Media Less Boot and Network Install (PXE boot)
Emergency Recovery CD
KDE Desktop Release 3.3
Ericom PowerTermTM WebConnect Server
X.org X11R6 X Server with
 Greater device support, Improved performance and Multi-head
support
 DocView support the Print Book Option in Postscript
and PDF format
 DocView content changed from Book to Topic
format
OpenServer 6 Technical Overview
 Features new to OpenServer 6 [5]:









Single Certification of Applications
SCOAdmin FTP Manager
SCOAdmin Hot Plug Manager
SCOAdmin Printer Manager can invoke CUPS Admin
Heimdal Kerberos 0.6.2Ib
tcpdump
Extended Shells (bash, zsh and tcsh)
foomatic, ghostscript and hpijs
vim and xpdf
Hardware System Requirements
System Requirements
Hardware
Minimum Recommended
Maximum
CPU
Pentium
Pentium P4
32 CPUs
Memory
64Mb
256Mb
16GB/64GB
Disk Space
1GB
4GB
HBA
IDE
SCSI or SATA
HBA
Dependent
32
System Requirements – cont.
 CPU can be an:
 Intel® Celeron®, Pentium®, Pentium II, Pentium II Xeon™,
Pentium III, Pentium III Xeon, Pentium 4, or Intel Xeon
microprocessor, or a microprocessor that is 100% compatible
(e.g., AMD Athlon™, Athlon 64, Duron™, Sempron™, or
Opteron™ processor)





Bootable CDROM, PXE NIC or Floppy
Video Capable of SVGA
PS/2, Serial, Bus or USB Mouse
USB or PS/2 keyboard
PCI, ISA, PCcard or Wireless Network Card
ISL – Issues and Debugging
ISL - Overview
 Understand the hardware specs of the system
you are trying to deploy:
 Has this system been certified by the OEM on
OSR6?
 Check http://www.sco.com/chwp






Will I need an HBA diskette/CD during install?
Is my network card supported?
Does X.org support my graphics chipset?
How much disk space do I need?
How do I want to layout my partitions and slices?
What software do I want installed?
ISL – Debugging
 During ISL you can use the console to debug issues:





Press “Alt-SysReq-H” or “Alt-Cntrl-H” to enter the console
Press “Alt-SysReq-F1” or “Alt-Cntrl-F1” to proceed with ISL
Access to the resmgr
Access to ISL scripts in /isl/ui_modules
Record any console messages when reporting a problem
 IVAR_DEBUG_ALL=1
 Enables ISL logging
 Log files are dumped in /tmp/log
 Transfer logs to a floppy disk using cpio:
 “find /tmp/log/* | cpio –oc –O /dev/dsk/f03ht”
 “cpio –ic –I /dev/dsk/f03ht”
ISL – Common Pitfalls
 Root HBA not found after the DCU runs





Do you need a third-party diskette?
Are you using software based RAID?
Do you have valid media?
Did your USB floppy get recognized properly?
If you have very new hardware, try using the DCU
to bind the driver to the HBA instance manually




Press “F8” to run the DCU
Go into “Hardware Device Configuration”
Press “F2” under “Device Name” and select appropriate driver
NOTE: If hardware is not supported, could result in panic!
ISL – Common Pitfalls
 My NIC is not auto-detected
 Is there a driver available on the OEM website for
SCO?
 (e.g. Marvell Yukon)
 If the NIC is a newer version of an existing chipset,
it could be a board id issue?
 “resmgr | grep 0002”
 If you need a third-party driver, defer network
install, install third-party driver package after ISL
completes, and use SCOadmin Network to
configure card
ISL – Common Pitfalls
 PANIC: vfs_mountroot() failure
 This panic occurs when the kernel loads but the
root disk is not detected
 Check to see you installed to the right disk!
 During ISL you can “Select alternate root disk” during the
“Setting up your hard disks” screen.
 Make sure the BIOS boot order is setup properly
 Make sure the BIOS enumerated the disk properly
ISL – Common Pitfalls
 Screen goes blank after ISL kernel initially
loads
 Does your graphics chipset support VESA mode?
 USE_VESA_BIOS=Y
 Tells the kernel to use standard VESA BIOS calls instead of
relying on the ECM tables on the card
 Cards that use system memory for the framebuffer
can cause issues (e.g. Intel Extreme Graphics
chipsets)
 Most modern graphic chipsets are supported by ISL
Common Hardware Issues
 Commands timing out or hang right after
copyright displayed
 Interrupt Routing
 PnP OS set to NO in the BIOS
 PANIC very early during ISL
 MPS table issue
 PSM=atup or ACPI=y
 Default PSM in OSR 6 is MPS
 MPS tables are broken on some newer hardware
Common Hardware Issues
 What about multi-core CPUs?
 Multi-core CPUs require ACPI which is not in the
mini-kernel during ISL
 ISL using atup, add latest maintenance pack, rebuild, reboot.
OSR6 will see multi-core CPUs (NOTE: Intel dual-core is in MP1)
 PSM=atup
 ENABLE_JT=Y (to turn on logical processors)
 MULTICORE=N (to turn off physical processors MP1)
 psradm/psrinfo (to get status and turn on individual processors)
Common Hardware Issues
 Root filesystem is left dirty on a soft reboot
 BIOS Power Management settings
 Turn off aggressive power management in BIOS
 OSR6 has the Intel ACPI-CA but does not use it for power management
yet
 Check battery on RAID adapter
 Check firmware revision




OEMs typically broadcast firmware revisions on their website
Flashing firmware
Check driver version – IHVVERSION field
http://www.sco.com/support/download.html
 Check target
 Look for CHECK CONDITIONS and other messages in osmlog
Common Hardware Issues
 Useful BOOT PARAMETERS:








ATAPI_DMA_DISABLE
ACPI
ENABLE_JT
PSM
IVAR_DEBUG_ALL
MULTICORE (MP1)
SHOW
BOOTPROG
Third Party Application Issues & Configuration
General Issues – Third Party Applications
 Install, start-up or runtime checks for
OpenServer 5 release or version
 Uses OSR 5 native Development System
 /usr/include, /usr/lib, and /usr/ccs/bin is the SVR5
ABI compilation system
 /osr5/usr/include, /osr5/usr/lib, /osr5/usr/ccs/bin
provide OSR5 ABI compilation system
 Uses the kernel compilation tools - /bin/id??
 Idtools have changed and are SVR5 ABI compatible
General Issues – cont.
 Application depends on “scoansi” console
terminal setting.
 “scoansi” does not seem to be supported on
OpenServer 6?
 Data / File migration
 What is the “preferred” method to move files from
OpenServer 5 to OpenServer 6?
 OpenServer 5 kernel drivers will not work on
OpenServer 6
Changes – Large File Support
 Only supported on the VxFS filesystem
 Enabled by default
 Commands that are Large File Aware:







cat(1), du(1), pathchk(1), chgrp(1), ff(1M)
pax(1), chmod(1), find(1), pwd(1), chown(1)
fsck(1M), cksum(1), fsdb(1M), rm(1)
cmp(1), ln(1), rmdir(1), compress(1), ls(C), sum(1)
cp(1), mkdir(1), rcp(1), touch(1), cpio(1), mkfs(1M), ulimit(1)
dd(1M), mv(1), uncompress(1), df(1M), ncheck(1M), zcat(1)
cpio(C)
 All except cpio(C) and ls(C) are found in /u95/bin
 shell support for LFS only in bash, zsh etc.. not sh, ksh
Changes – Commands
 OSR6 distributes basic system commands into three
main directories:
/bin
commands inherited from OSR5
/u95/bin
commands that conform to the UNIX95
standard, including LFS support
/udk/bin
commands inherited from UW7
 For different behaviors, set your PATH as follows:
/bin
Traditional OSR5 user
/u95/bin:bin
OSR5 user who wants LFS support
/udk/bin:/u95/bin:/bin User running UW7 apps
SCOMPAT
 SCOMPAT environment variable
 Alters /bin/uname command –r, -v and -s output
 Effects current process and children
SCOMPAT=<release>:<version>:<system>
export SCOMPAT
 Add to start-up script if needed to start or during
running
 SCOMPAT=3.2:5.0.7:SCO_SV
chsysinfo
/usr/sbin/chsysinfo [osr5 | osr6 | uw7 | ou8 | default]
 Only as root
 More pervasive than SCOMPAT
 Changes system name, version and release in
kernel – uname(), sysinfo() and confstr()
 Effect is system-wide – all applications running or
subsequently started.
 Lasts until reboot or reset
 Use “chsysinfo -default ” to restore the default
settings
Running XENIX Binaries
 XEMUL_OSR5=1; export XEMUL_OSR5
 Enables OpenServer 5.0.x XENIX emulation
behavior, including:
 Allow minor buffer overruns.
 Allows occasional accidental reuse of freed memory.
 TERM=ansi; export TERM
Changes – Console
 Console termtype has changed from scoansi to
ansi (MP2)
 Applications with “hard wired” scoansi escape
sequences will not work directly on the OSR6
console (but will work in a scoterm or remote
login from an OSR5 system)
 Applications that use terminfo/termcap will
work just fine
Data File Migration – Third Party Apps
 BACKUP all relevant data files !!!!
 Use you favorite file transfer method:
 cpio, tar, NFS, commercial backup solution.
 Move to journaling vxfs filesystem (default) of OSR 6
 Move your OpenServer 5 data disks to the
OpenServer 6 system.
Migrating User Data – Mount OSR5 disk
 To mount an existing OSR5 disk (5.0.6 or 5.0.7
only), you must first install the wd Supplement
on the OSR5 system
 Connect the drive to the OSR6 system
 After booting, login as root and run the
command getlclfsdev to determine the
/dev/dsk device nodes for the filesystems on
the disk
 Use the Filesystem Manager to mount the
filesystems
Debugging Third Party Applications
Collecting enough information so that SCO
engineers can provide some assistance
TRUSS – trace system calls & signals
 OpenServer 6 system call trace
 SVR5 based
 Similar to, but better than OpenServer 5 “trace”
 Works on stripped binaries
 Displays I/O buffer contents – default 32 bytes
 Selective include or exclude system calls, signals or machine
faults.
 Options
 -f
follow all children of this process
 -o <outfile>
directs truss output to <outfile>
truss -f -o truss.out <my_app_or_script>
Problems Running a XENIX Application
 Collect XENIX Emulation Trace information.
 XEMUL_TRACE=1; export XEMUL_TRACE
 Run the application
 Collect trace file – xtrace.<pid>
 Collect trace of system calls and signals
 truss -f -o truss.out <application>
 Compress and email to [email protected] with
specific details
Core files
 COREFILE_PIDS – kernel tuneable
 =0
 Produces a single “core” file in a directory
 Existing “core” file suppresses subsequent core dumps in that
directory
 =1
 Produces core files with name of “core.<pid>”
 SCORLIM & HCORLIM
 Soft and hard core size limits - kernel tuneables
 Value are in number of bytes
 User control
 Ulimit –c <value expressed 500K byte blocks>
Tunables
 SVR5 auto tunes many tunables
 Do not blindly import OSR5 tuning
 e.g. buffer cache on SVR5 is used for meta data
only. There should be no need to tune NBUF,
NHBUF, NMPBUF. In SVR5 all GP memory can act as
a cache for file pages. Increasing the buffer cache
actually reduces memory available for file pages.
 http://osr600doc.sco.com/en/SM_perform/osr507ke
rntuns.html for further information
 Large files need process limits raised
Examples
FoxPro 2.6 for UNIX on OpenServer 6.0.0
 Essentially, it just runs.
 Copy application programs, scripts and data
files to OSR 6.
 cpio, tar, …
 Add XEMUL_OSR5=1 environment variable to
the “fox” or “foxbase” script
 Frank Quirk – AccountiX, Inc.
[email protected]
Informix SE 7.23 & Informix 4GL 7.20
 Database portion just works.
 4GL needs OSR5 ABI runtime and DevSys
 Prefix you PATH setting with /OSR5/bin
 PATH=/osr5/bin:$PATH; export PATH
 $INFORMIXDIR/bin/c4gl script checks for
networking runtime – changed.
 OSR5 based runtime in /osr5/usr/lib
 Networking library only available as shared object.
Informix SE 7.23 & Informix 4GL 7.20 – cont.
 Modify the c4gl script:
 Change line
from: TLILIB=/usr/lib/libnsl_s.a
to:
TLILIB=/osr5/usr/lib/libnsl.so
 Modify link command option
from: -lnsl_s
to:
-lnsl
 Convert object files and archives from COFF to
ELF
 cof2elf command
Oracle 7.1.6 on OpenServer 6.0.0
 XENIX ODT 3.2 release
 Oracle patch for installing on OSR 5
 OSR 5 C runtime as special static archives
 Modified makefiles & scripts
 Used kernel build tools
 Link against “special” OSR5 runtime
 cdlink - create disk image of product CD
 Patches overlayed onto disk image
 Installation done from the disk image
Oracle 7.1.6 on OpenServer 6.0.0 – cont.
 Revised patch for installing on OSR 6
 New cdlink binary
 Revised Patch file
 Makefiles & scripts updated to:
Use OSR5 ABI compiler and linker.
Convert existing COFF object files & archives to ELF at time of
first usage.
 Updated Oracle C runtime
 Added new string function used by OSR6 network libraries.
 Create /bin/idar
 ln –s /bin/ar /bin/idar
 Publicly available TA - soon
Oracle 7.3.x on OpenServer 6.0.0
 Required native OSR5 development system.
 Prototyped OSR 6 set of patches
 Makefiles & scripts modified to:
 Use OSR5 ABI compilation system
 OSR5 ANSI Std C++ available
 All installed COFF object files and archives are converted to
ELF
 Verified by customer with copied $ORACLE_HOME
 OSR5 post_wait driver - /dev/sleeper prototype for OSR 6
 Developing “patched” install
 cdlink – create disk image of product CD
 Modified wgstart – patch image, install, run cof2elf conversion
 Expect as publicly available TA
Available Support Resources
OpenServer 6 Support Resources
 Porting Guide:
 http://www.sco.com/support/docs/openserver/600/
porting/osr6portingTOC.html
 Upgrade Guide:
 http://www.sco.com/support/docs/openserver/600/
upgrade/index.html
 Knowledge base:
 http://wdb1.sco.com/kb/search
 Online Documentation and Late News
 http://www.sco.com/support/docs/openserver/
OpenServer 6 Support Resources
 Support Download Page for OpenServer 6:
 http://www.sco.com/support/update/download/pro
duct.php?pfid=12&prid=20
 SCO “Legend” Mailing List:
Public
 [email protected]
 Porting/Migration Alias:
 [email protected]
 Certified and Compatible Hardware
 http://www.sco.com/chwp
Questions and Answers