Your Ad Here

IBM AIX/UNIX system storage administration ksh/perl scripting

Saturday, March 28, 2009

Getty and Login relationship in AIX

Question
Explanation of the relationship between the getty and login programs in AIX.

Answer

In AIX the programs for getty and login are really the same binary: they are
hard or symbolic links to a program called "Terminal State Manager", or tsm.

The fileset that contains the tsm binary and creates some of these links
is bos.rte.security.



The tsm binary checks to see what name it was called by (arg 0) and behaves differently depending on this.



$ ls -li /etc/getty /usr/sbin/getty /usr/bin/login /bin/login \
/usr/sbin/login /usr/sbin/tsm

4406 lrwxrwxrwx 1 root security 13 Sep 06 09:09 /bin/login -> /usr/sbin/tsm
1096 lrwxrwxrwx 1 root security 13 Oct 04 10:35 /etc/getty -> /usr/sbin/tsm
4406 lrwxrwxrwx 1 root security 13 Sep 06 09:09 /usr/bin/login -> /usr/sbin/tsm
204 -r-sr-xr-x 3 root security 59422 May 18 15:09 /usr/sbin/getty
204 -r-sr-xr-x 3 root security 59422 May 18 15:09 /usr/sbin/login
204 -r-sr-xr-x 3 root security 59422 May 18 15:09 /usr/sbin/tsm



If the symbolic or hard links are broken, logins may not work correctly.


WHERE IS /ETC/GETTY?



By default most system installs will not include /etc/getty. This file is
part of the fileset bos.compat.links. This fileset simply provides symbolic
links. For example:
 

root# lslpp -l bos.compat.links
bos.compat.links 5.3.0.30 COMMITTED AIX 3.2 to 4 Compatibility

root# lslpp -f bos.compat.links
Fileset File
-----------------------------------------------------------------
Path: /usr/lib/objrepos
bos.compat.links 5.3.0.30

/usr/ucb/fmt -> /usr/bin/fmt
/usr/bin/lsnamsv -> /usr/sbin/lsnamsv
/usr/bin/chroot -> /usr/sbin/chroot
/usr/ucb/fold -> /usr/bin/fold
... excess deleted ....


How can I move my DVD-ROM or CD-ROM drive from one LPAR to another?

Question

How can I move my DVD-ROM or CD-ROM drive from one LPAR to another?


Answer

If you don't know which LPAR owns the CD-ROM drive, use the HMC manager or WEBSM tool.
Select the managed system and open "Properties".
Select the "I/O" tab. Look for the I/O device with the description "Other Mass Storage Controller" and read the "Owner" field. This will show the LPAR currently owning that device.

ON THE SOURCE SYSTEM:

1. Find the parent adapter of the DVD or CD device:


$ lsdev -Cl cd0 -F parent
ide0

2. Find the slot containing the IDE bus:

$ lsslot -c slot
# Slot Description Device(s)
U787B.001.DNWG2AB-P1-T16 Logical I/O Slot pci1 ide0
U9133.55A.105C2EH-V7-C0 Virtual I/O Slot vsa0
U9133.55A.105C2EH-V7-C2 Virtual I/O Slot ent0
U9133.55A.105C2EH-V7-C3 Virtual I/O Slot vscsi0

so PCI1 is the slot containing the IDE adapter and CD drive.

3. Remove the slot from this host:

# rmdev -dl pci1 -R
cd0 deleted
ide0 deleted
pci1 deleted


ON THE HMC:

Select the LPAR currently owning the CD-ROM, and in the Actions menu select:
Dynamic Logical Partitioning -> Physical Adapters -> Move or Remove
Select the adapter for "Other Mass Storage Controller" and move to the desired target LPAR.
This will perform a DLPAR operation on both the source and target LPAR.


ON THE TARGET SYSTEM:

Log in as root and run
# cfgmgr

The CD-ROM device should show up now
# lsdev -C | grep cd
cd0 Available 1G-19-00 IDE DVD-ROM Drive

Hard-Luck Editing the /etc/inittab File in Maintenance Mode

Hard-Luck Editing the /etc/inittab File in Maintenance Mode



Problem(Abstract)
This technote describes a technique for creating a minimal /etc/inittab file if no other tools are available.


Cause
A bad entry in the /etc/inittab is keeping the system from booting properly.


Resolving the problem
Ordinarily if there is a problem with one or more entries in the /etc/inittab the preferred method of editing it is:

1. Boot into Maintenance Mode off AIX install CDs, mksysb, or NIM

2. Access the rootvg and start a shell with the filesystems mounted.

3. Edit /etc/inittab down to a minimum 3 lines:


init:2:initdefault:
brc::sysinit:/sbin/rc.boot 3 >/dev/console 2>&1 # Phase 3 of system boot
cons:0123456789:respawn:/usr/sbin/getty /dev/console

In cases where the rootvg filesystems cannot be mounted automatically (for example the CD media is a different Technology Level than what exists on hard disk; or the filesystems for some reason won't automatically mount), commands such as the "vi" editor won't be available to edit the inittab.

In this case a hard-luck method can be used to create a minimal inittab.

1. Boot into Maintenance Mode and choose Option 2 "Access rootvg and start a shell before mounting filesystems".

2. Once in Maintenance Mode, fsck all rootvg filesystems necessary:

# fsck /dev/hd1
# fsck /dev/hd2
# fsck /dev/hd3
# fsck /dev/hd4
# fsck /dev/hd9var

3. Mount root on a temporary mount point:

# mount /dev/hd4 /mnt

4. Copy the bad inittab to a backup:

# cd /mnt/etc
# mv inittab inittab.bad

5. Use grep to create a minimal new inittab:

# grep "init:" inittab.bad > inittab (adds both the init: and brc: entries)
# grep "^cons:" inittab.bad >> inittab (adds the cons: entry)

6. Reboot using the new inittab:
# sync; sync; sync
# cd /
# umount /mnt
power cycle the system from the front panel or HMC

Querying filesystem information used in mouting a filesystem

Question

This technote lists some methods to check information used in mounting a filesystem.


Answer

If you are encountering problems with the mount command and filesystems, make sure to check multiple sources of information about the filesystem and compare them.

For example, if encountering the mount error:


mount: 0506-324 Cannot mount /dev/lv06 on /filesystem06:
A system call received a parameter that is not valid.

This may be due to an inconsistency between the information in /etc/filesystems, the Logical Volume Control Block (LVCB), and the superblock of the filesystem.

To check the LVCB directly, use:

# /usr/sbin/getlvcb -AT

example:

# getlvcb -AT fslv00
AIX LVCB
intrapolicy = m
copies = 2
interpolicy = m
lvid = 0007b53c00004c00000001122a1ec0fd.2
lvname = fslv00
label = /myfilesystem
machine id = 7B53C4C00
number lps = 4
relocatable = y
strict = y
stripe width = 0
stripe size in exponent = 0
type = jfs2
upperbound = 32
fs = vfs=jfs2:log=/dev/loglv00:options=rw:account=false
time created = Fri May 4 08:46:00 2007
time modified = Mon May 21 15:04:24 2007

To check the superblock, use

# /usr/sbin/lsfs -q /dev/

example:

# lsfs -q /myfilesystem
Name Nodename Mount Pt VFS Size Options Auto Accounting
/dev/fslv00 -- /myfilesystem jfs2 524288 rw no no
(lv size: 524288, fs size: 524288, block size: 4096, sparse files: yes, inline log: no, inline log size: 0,

reserved: 0, reserved: 0, DMAPI: no, VIX: no)


If the filesystem is a JFS2 filesystem, the same information can be printed in a less-readable format by using:

# /usr/sbin/lsjfs2 /

example:
# lsjfs2 /myfilesystem
#MountPoint:Device:Vfs:Nodename:Type:Size:Options:AutoMount:Acct:OtherOptions:LvSize:FsSize:

BlockSize:Sparse:InlineLog:InlineLogSz:Reserved:Reserved:DMAPI:VIX:
/myfilesystem:/dev/fslv00:jfs2:::524288:rw:no:no::524288:524288:4096:yes:no:0:0:0:no:no:


Also, check the stanza within /etc/filesystems to confirm the information matches the superblock data:

# grep -p /etc/filesystems

example:

# grep -p /myfilesystem /etc/filesystems
/myfilesystem:
dev = /dev/fslv00
vfs = jfs2
log = /dev/loglv00
mount = false
options = rw
account = false


PLEASE NOTE: /usr/sbin/getlvcb and /usr/sbin/lsjfs2 are undocumented, low-level commands.

0516-008 varyonvg: LVM system call returned an unknown error code (3).

Problem:

The system was rebooted itself and they can't varyon
a volume group:
varyonvg vgss01page
0516-008 varyonvg: LVM system call returned an unknown
error code (3).

Solution:

lsvg -o -> not variedon
lspv:

hdisk2 000df0af41b969ae vgss01page
hdisk3 000df0af3ca7e15f vgss01page

lquerypv -h /dev/hdisk2 80 10
00000080 000DF0AF 41B969AE 00000000 00000000 |....A.i.........|

lquerypv -h /dev/hdisk3 80 10
00000080 000DF0AF 3CA7E15F 00000000 00000000 |....<.._........|

lqueryvg -Atp hdisk2 and hdisk3 gives the proper information except for
Physical: 000df0afc5256113 1 0 which is not part of the vg

chpv -va hdisk2 -> 0516-010 lqueryvg: Volume group must be varied on;
use varyonvg command.
0516-722 chpv: Unable to change physical volume hdisk2.

chpv -va hdisk3 -> 0516-010 lqueryvg: Volume group must be varied on;
use varyonvg command.
0516-722 chpv: Unable to change physical volume hdisk3.

exportvg vgss01page -> ok
rmdev -dl hdis2 -> ok
rmdev -dl hdisk3 -> ok

cfgmgr -> hanging for a while but completed
importvg -y vgss01page hdisk2 ->

0516-304 getlvodm: Unable to find device id 000df0afc5256113 in the
Device
Configuration Database.
PV Status: hdisk2 000df0af41b969ae PVACTIVE
hdisk3 000df0af3ca7e15f PVACTIVE
000df0afc5256113 NONAME
varyonvg: Volume group vgss01page is varied on.
0516-510 synclvodm: Physical volume not found for physical volume
identifier 000df0afc52561130000000000000000.
0516-548 synclvodm: Partially successful with updating volume
group vgss01page.
vgss01page
PV Status: hdisk2 000df0af41b969ae PVACTIVE
hdisk3 000df0af3ca7e15f PVACTIVE
000df0afc5256113 NONAME
varyonvg: Volume group vgss01page is varied on.
lsvg -l vgss01page
vgss01page:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT
POINT
paging01 paging 271 271 1 closed/syncd N/A

13:39(usehss01:/export/home/root) # uptime
01:41PM up 5:51, 5 users, load average: 0.03, 0.04, 0.05
13:41(usehss01:/export/home/root) #

sysdumpdev -L
0453-039

Device name: /dev/sysdumpnull
Major device number: 7
Minor device number: 2
Size: 0 bytes
Date/Time: Wed Dec 31 19:00:00 EST 1969
Dump status: -1
no dump device defined

# sysdumpdev -l
primary /dev/sysdumpnull
secondary /dev/sysdumpnull
copy directory /var/adm/ras
forced copy flag TRUE
always allow dump TRUE
dump compression OFF

sent customr a technote procedure to create a valid dump device

reducevg -d vgss01page 000df0afc5256113

reducevg -d vgss01page 000df0afc5256113
0516-304 putlvodm: Unable to find device id
000df0afc52561130000000000000000 in the Device
Configuration Database.
0516-896 reducevg: Warning, cannot remove physical volume
000df0afc5256113 from Device Configuration Database.

lsvg -p vgss01page
vgss01page:
PV_NAME PV STATE TOTAL PPs FREE PPs FREE
DISTRIBUTION
hdisk2 active 271 0
00..00..00..00..00
hdisk3 active 542 542
109..108..108..108..109

swapon -a to actvate the paging space

Friday, March 27, 2009

Remove IP Configuration for enX Device

The procedure is to remove IP configuration from en1 device on AIX.

  1. Use the ifconfig command to disable and remove the interface from the network. Enter:
    ifconfig en1 down detach
  2. Remove device from the system with rmdev command. Enter:
    rmdev -dl en1

Thursday, March 26, 2009

Procedure to change NIC speed

The example is to change NIC ent0 speed from 100Mb/s to 1Gb/s.

1. Work with network to have Ethernet switch port ready and lay network cable.

2. Bring down application and DB if need.

3. Swap cables

4.
chdev -l en0 -a state=detach
chdev -l ent0 -a media_speed=1000_Full_Duplex
chdev -l en0 -a state=up
mkdev -l inet0


5. Ping test.

Wednesday, March 25, 2009

Cfgmgr does not find a device

Question
Devices discovery troubleshooting with alog -t cfg

Cause
Device discovery for devices can be difficult when minimal information is available.

Answer
Device discovery on AIX.
Starting with AIX 5.2 ML05 and AIX 5.3 ML01 there is an ability to log information via the alog utility for the cfg methods. Depending on the OS version and maintenance level the amount of detail that can be logged vary.

One key thing is the verbosity level. If the level is high enough the SCSI id and LUN are reported as a discovered device. If an open is done on the device the SCIOSTART is used.


echo "Create cfglog `date`"|alog -t cfg

export CFGLOG="cmd,meth,lib,verbosity:9"

cfgmgr -l

alog -o -t cfg > /tmp/cfgmethod.log

Send /tmp/cfgmethod.log to IBM support.

To turn logging off:

unset CFGLOG

or

exit

Tuesday, March 24, 2009

lsdev: 0514-521 Cannot find information in the predefined device configuration database for the customized device iocp0.

Got an error when typing lsdev -C and lscfg command.

# lsdev -C | grep Defined
lsdev: 0514-521 Cannot find information in the predefined device
configuration database for the cu
stomized device iocp0.

# lscfg -vl hdisk0
0519-004 libodm: The specified search criteria is incorrectly formed.
Make sure the criteria contains only valid descriptor names and
the search values are correct.

hdisk0 P2/Z1-A8 16 Bit LVD SCSI Disk Drive (18200 MB)

Manufacturer................IBM
Machine Type and Model......DDYS-T18350M
FRU Number..................00P1520
ROS Level and ID............53423041
Serial Number...............9EGQ4829
EC Level....................F79924
Part Number.................07N3842
Device Specific.(Z0)........000003029F00013A
Device Specific.(Z1)........07N4924
Device Specific.(Z2)........0933
Device Specific.(Z3)........01242
Device Specific.(Z4)........0001
Device Specific.(Z5)........22
Device Specific.(Z6)........F79924

Solution:

1. Backup ODM.
tar -cvf /tmp/ODM.tar /etc/objrepos/


2. Delete the iocp0 device from CuDv
odmdelete -q "name=iocp0" -o CuDv

0518-307 odmdelete: 1 objects deleted.

3. Now it is clean

Friday, March 20, 2009

Use IP alias trick to solve hung NFS mount problem

Problem:
A NFS mount is hanging and it can not be umount even using -f option

Solution:

  • Try to use umount -f and fuser, it does not work
#unmount -f
it does not work then,
#fuser -cuxk
This does not work then use the third party application "lsof"
#lsof -N
Kill the nfs pid

If this does not work either then you have a stale mount and will need
to reboot

  • IP alias trick

On the nfs client:

In this example:
The nfs server ip address is 199.159.207.34
The nfs client ip address is 199.159.247.137

# mount | grep nfs
The nfs export is mounted over mount point /mnt.
199.159.207.34 cdrom /mnt nfs3

# ping 199.159.207.34
Ping hangs...the nfs server is no longer available.

# ps -ef
If possible kill any processes that maybe accessing the mount point.
Such as df,find or a mksysb process.

Alias
the nfs server back to the loopback interface (lo0) on the nfs client.

# ifconfig lo0 alias 199.159.207.34 netmask 255.255.255.255 up

# netstat -in
Should have an additional lo0 listed with a 199.159.207.34 ip address.

# netstat -rn
199.159.207.34 199.159.207.34 UH lo0

Need to remove the route that was added by the ifconfig command from the
routing table.

# route delete -host 199.159.207.34 199.159.207.34

# showmount -e 199.159.207.34
hangs...should be able to show the export list of the nfs client if
there's one available.

The showmount command should hang. Need to add a route using the nfs
server ip and point it back to the lo0.

# route add -host 199.159.207.34 127.0.0.1

# showmount -e
Returns the export list of the client, if the client is exporting
anything, in this case it was also an nfs server so it had an export
list.

# umount /mnt
Successful...able to unmount the hung mount.

# df -k
No longer hangs...

# mount
No nfs mount listed.

Clean up...

# route delete -host 199.159.207.34 127.0.0.1
# ifconfig lo0 -alias 199.159.207.34 netmask 255.255.255.255

HMC CLI to Turn Off Attention LED on System p Servers

Question
What is the HMC v5, v6 and v7 command line to disable attention LED on system p servers


Cause
Hardware errors that occur on a server requiring attention will cause the system attention LED to come on. Manual intervention is required to turn off the attention LED.


Answer

The system attention LED can be disabled using the graphic user interface (GUI) service utility application, but it can be more quickly done using the chled command. The managed system name is needed to run the chled command and the lssyscfg command can be used to retrieve all the managed systems names if you don't already know them.

lssyscfg -r sys -F name

Once you know the managed system name to use in the command line interface (CLI), check to see if the attention LED is active

lsled -r sa -t phys -m
<managed_system>

Should see output similar to, "state=on."

Use the chled command to turn off the system attention LED

chled -r sa -t phys -m <managed_system> -o off

To check the status of system attention LED you can use the lsled

lsled -r sa -t phys -m <managed_system>

Should see output, "state=off."

Raw vs. JFS Logical Volumes I/O

Question
Raw vs. JFS Logical Volumes I/O

Answer

NOTE: This document applies to AIX 5.3 and prior levels.

Question

Does Virtual Memory Manager (VMM) work with raw logical updates, and if so, how? If raw logical volumes do not use block I/O buffer cache, does sync update raw logical volumes or does VMM?

Answer

When an application directly accesses a raw logical volume, the VMM is not involved. The VMM is involved when accessing the Journaled File System (JFS). sync only updates JFS, so neither sync nor VMM updates raw logical volumes. All writes to raw logical volumes are synchronous, which means that the writes do not return until the data has made it to disk and therefore does not require a sync.

How can I suppress the telnet login message (hostname) information when a user telnets to an AIX server?

To modify the default telnet banner...


1) Display the message catalog and redirect to a file...






# dspcat -g /usr/lib/nls/msg/en_US/telnetd.cat > /tmp/telnetd.msg






2) Modify any message(s) you wish changed in /tmp/telnetd.msg

Remove the (%s) after the first telnet you see in this file...

Change this...
telnet (%s)\r\n"

To this...
telnet \r\n"

Save the file....

3) Generate a new message catalog /tmp/telnetd.cat using the modified file as imput...

# gencat /tmp/telnetd.cat /tmp/telnetd.msg


4) Backup the original message catalog file /usr/lib/nls/msg/en_US/telnetd.cat, and
replace it with /tmp/telnetd.cat





# cp /usr/lib/nls/msg/en_US/telnetd.cat/usr/lib/nls/msg/en_US/telnetd.cat.save
# cp /tmp/telnetd.cat /usr/lib/nls/msg/en_US/telnetd.cat




Telnet should now only display the word telnet and exclude the hostname.

Using netstat and rmsock to Identify Processes Using the Default Gateway

Question

Is there a way to use netstat to find processes that are heavily using the default gateway?

Answer

You can use netstat and rmsock in combination to help find processes that are actively using the default gateway.

If path MTU discover is not enabled then temporarily enable it so you can get more information when using netstat. These are commands to enable the path MTU discover:

no -o tcp_pmtu_discover=1
no -o udp_pmtu_discover=1

The next step involves running netstat -rn and looking for the highest use count on the cloned route entries (those with a W flag - reference example 1).

Example 1

$ netstat -rn | grep -E "Use|UGHW"
Destination Gateway Flags Refs Use If PMTU Exp
Groups
9.0.7.1 9.41.166.1 UGHW 1 7 en2 - -
9.12.136.110 9.41.166.1 UGHW 2 123 en2 - -
9.17.183.166 9.41.166.1 UGHW 1 5 en2 1500 -
9.41.167.106 9.41.166.1 UGHW 1 3 en2 - -
9.41.167.182 9.41.166.1 UGHW 1 3373 en2 1500 -

In example 1 above, the destination address 9.41.167.182 has the highest use count (3373).

Next, check for any active sockets related to IP address 9.41.167.182 using the netstat -Aan command (see example 2):

Example 2

$ netstat -Aan | grep 9.41.167.182
705b21e4 tcp4 0 0 9.41.166.74.139 9.41.167.182.1039 ESTABLISHED

Use the process control block address (705b21e4) from the netstat -Aan output in example 2 with the rmsock command to find a process ID associated with the socket.

Example 3

# rmsock 705b21e4 tcpcb
The socket 0x705b2000 is being held by proccess 9394 (smbd).

With the help of netstat and rmsock in the preceding three examples, you were able to find a specific smbd process that had the most activity relative to sending data over the default gateway.

Thursday, March 19, 2009

How to install Perl module on AIX

  • Download Perl Module source from cpan.org or ftp.cpan.org
  • In this example, we will download and install Net::Rexec
 root@AIXSERVER:/mnt/software/PerlModules# ls -l Net-Rexec-0.12.tar.gz
-rw-r----- 1 root staff 2085 Mar 19 14:36 Net-Rexec-0.12.tar.gz
root@AIXSERVER:/mnt/software/PerlModules# gzip -dc Net-Rexec-0.12.tar.gz |tar xvf -
x Net-Rexec-0.12
x Net-Rexec-0.12/Makefile.PL, 398 bytes, 1 media blocks.
x Net-Rexec-0.12/Changes, 183 bytes, 1 media blocks.
x Net-Rexec-0.12/test.pl, 663 bytes, 2 media blocks.
x Net-Rexec-0.12/Rexec.pm, 2032 bytes, 4 media blocks.
x Net-Rexec-0.12/MANIFEST.SKIP, 48 bytes, 1 media blocks.
x Net-Rexec-0.12/README, 207 bytes, 1 media blocks.
x Net-Rexec-0.12/MANIFEST, 67 bytes, 1 media blocks.
root@AIXSERVER:/mnt/software/PerlModules# cd Net-Rexec-0.12
root@AIXSERVER:/mnt/software/PerlModules/Net-Rexec-0.12# ls -l

total 16
-rw-r--r-- 1 1000 1000 183 Sep 15 1998 Changes
-rw-r--r-- 1 1000 1000 67 Sep 15 1998 MANIFEST
-rw-r--r-- 1 1000 1000 48 Sep 15 1998 MANIFEST.SKIP
-rw-r--r-- 1 1000 1000 398 Sep 15 1998 Makefile.PL
-rw-r--r-- 1 1000 1000 207 Sep 15 1998 README
-rw-r--r-- 1 1000 1000 2032 Sep 28 1998 Rexec.pm
-rw-r--r-- 1 1000 1000 663 Sep 15 1998 test.pl
root@AIXSERVER:/mnt/software/PerlModules/Net-Rexec-0.12# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Net::Rexec
root@AIXSERVER:/mnt/software/PerlModules/Net-Rexec-0.12# make
cp Rexec.pm blib/lib/Net/Rexec.pm
Manifying blib/man3/Net::Rexec.3
root@AIXSERVER:/mnt/software/PerlModules/Net-Rexec-0.12# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-Iblib/lib" "-Iblib/arch" test.pl
1..1
ok 1
Target "test" is up to date.
root@AIXSERVER:/mnt/software/PerlModules/Net-Rexec-0.12# make install
Installing /usr/opt/perl5/lib/site_perl/5.8.2/Net/Rexec.pm
Installing /usr/share/man/man3/Net::Rexec.3
Writing /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi/auto/Net/Rexec/.packlist
Appending installation info to /usr/opt/perl5/lib/5.8.2/aix-thread-multi/perllocal.pod
Target "install" is up to date.

List installed Perl modules

perl -MFile::Find=find -MFile::Spec::Functions -lw -e 'find { wanted => sub { print canonpath $_ if /\.pm\z/ }, no_chdir => 1 }, @INC'

Output:

/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Cwd.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Config.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/lib.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/re.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/XSLoader.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/DynaLoader.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/B.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/O.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/ByteLoader.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Encode.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/encoding.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Fcntl.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/IO.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/NDBM_File.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/ODBM_File.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Safe.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Opcode.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/ops.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/POSIX.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/SDBM_File.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Socket.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Storable.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/attrs.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/threads.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Errno.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Devel/DProf.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Devel/PPPort.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/Devel/Peek.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/File/Glob.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/IPC/Msg.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/IPC/Semaphore.pm
/usr/opt/perl5/lib/5.8.2/aix-thread-multi/IPC/SysV.pm
........

Wednesday, March 18, 2009

p5 System Firmware Upgrade

p5 System Firmware Upgrade



Updating p5 System Firmware

May 2006

1 Overview
1.1 p5 server hardware
1.2 System firmware fixes and upgrades
1.3 Decoding firmware names
1.3.4 Why are there multiple firmware streams?
1.4 Decoding the operator control panel
1.5 Temporary versus Permanent Firmware sides
1.6 Be Advised
2 Requirements
2.1 Software requirements
3 Upgrade firmware with HMC
3.1 Connectivity
3.2 HMC requirements
3.3 Viewing system firmware information using LIC wizard
3.4 Upgrade system firmware to a new release using HMC
3.5 Update system firmware within a release using HMC
3.6 Change License Internal Code Wizard
3.7 Reject the installed firmware using a HMC
4 Upgrade firmware without a HMC
4.1 Access ASMI via serial console
4.2 Checking the current firmware level
4.3 Power on using ASMI
4.4 Upgrade system firmware via running operating system
4.4.1 Upgrade firmware image using AIX
4.4.2 Upgrade firmware image using Linux
4.5 Upgrade firmware using diagnostics CD
5 Reject installed firmware without an HMC
5.1 Boot to the permanent side
5.2 Reject the installed firmware using an OS command
5.3 Reject the installed firmware using a diagnostic CD
6 Appendix common problems
7 References

1 Overview

The goal of this paper is to provide easy-to-read instructions to quickly update system firmware on p5 servers. It is assumed the reader has basic p5 skills. There are extensive references that should help with items not covered in this paper.

Three firmware update methods will be covered:

1. Update on an HMC managed system
2. Update on a standalone server via OS, without a HMC
3. Update on a standalone server using the Diagnostic CD, without a HMC

Please first read through the prerequisites before getting started on any of these upgrade sections. Then refer to any one section or all sections when choosing the preferred method for updating system firmware.

1.1 p5 server hardware

The hardware used in developing this paper was a p5 550Q (type-model 9133-55A). HMC (version 5.2.0 including fix MH00586) was also used when needed.

1.2 System firmware fixes and upgrades

Firmware, also known as microcode, is Licensed Internal Code that fixes problems and enables new system features as they are introduced. New features introduced are supported by new firmware release levels. In between new hardware introductions, there are fixes or updates to the supported features. These fixes are often bundled into service packs. A service pack is referred to as an update level. A new release is referred to as an upgrade level. Both levels are represented by the file name in the form of PPMMXXX_YYY_ZZZ. PP and MM are package and machine type identifiers. PP can be 01 for managed system or it can be 02 for power subsystem. The MM identifier is a SF for p5 systems and a BP for Bulk Power Controller. The firmware version file applicable to p5 machines is in the form of 01SFXXX_YYY_ZZZ.

1.3 Decoding firmware names

The file naming convention for system firmware is:

01SFXXX_YYY_ZZZ, where
XXX is the stream release level
YYY is the service pack level
ZZZ is the last disruptive service pack level

Using the above example, the system firmware 01SF235_185 would be described as release level 235, service pack 185.

Each stream release level supports new machine types and/or new features.

Firmware updates can be disruptive or concurrent. A disruptive upgrade is defined as one that requires the target system to be shutdown and powered off prior to activating the new firmware level. A new release level upgrade will always be disruptive. All other upgrades are defined as concurrent, meaning that they can be applied while the system is running. Concurrent updates require an HMC but are not guaranteed to be non-disruptive.

In general, a firmware upgrade is disruptive if

1. The release levels (XXX) are different.
Example: Currently installed release is SF230, new release is SF235

2. The service pack level (YYY) and the last disruptive service pack level (ZZZ) are equal.
Example: SF235_180_180 is disruptive, no matter what level of SF235 is currently installed on the system

3. The service pack level (YYY) currently installed on the system is lower than the last disruptive service pack level (ZZZ) of the new service pack to be installed.
Example: Currently installed service pack is SF235_180_180 and the new service pack is SF235_190_185

An installation is concurrent if:

1. The service pack level (YYY) is higher than the service pack level currently installed on your system.
Example: Currently installed service pack is SF235_180_160, new service pack is SF235_185_160.

1.3.4 Why are there multiple firmware streams?

Multiple firmware streams (eg, SF230, SF235, SF240, etc) are available for a given type-model (eg, 9117-570). IBM maintains multiple parallel firmware streams so customers can install firmware fixes while avoiding a scheduled p5 server outage. As described on the Managing and installing system firmware FAQ web page, IBM releases parallel firmware streams (release levels) which are very analogous to the AIX V5.2 and V5.3 release levels. Like AIX V5.2 and V5.3, the firmware streams perform similar functions on the same machine type-models, but SF240 (for example) may have some functions which SF235 (for example) does not. There is usually little or no reason to upgrade from one release to another (eg, SF235 to SF240), but if the upgrade is performed, it requires an outage of the entire p5 server (every LPAR at once). In contrast, for systems managed by an HMC, updating from one service pack level to another (within the same stream release level) is often not disruptive.

1.4 Decoding the operator control panel

When the system is powered on, note the operator control panel. It should appear similar to the image below.

01    N     V=F
HMC=1 T

In this example the system is currently booted from the temporary side of the firmware image as denoted in the control panel by the letter T. This indicates the firmware is running from the temporary side. N indicates the system is booted in normal mode. V=F indicates the boot speed is set to Fast. HMC=1 indicates that the server is managed by and connected to one HMC.

If it has been recently managed by an HMC and no HMC is connected then it will display HMC=0. If no HMC is available and it is desired to set the server to unmanaged it might be required to reset the service processor to factory default using ASMI.

1.5 Temporary versus Permanent Firmware sides

The Service Processor maintains two copies of firmware, the temporary and permanent side, to help manage and reduce the frequency of downtime for maintenance. The permanent side is also known as the "P" side. The temporary side is also known as the "T" side. Server firmware fixes are installed on the temporary side. Copying the temporary firmware level to the permanent side is known as committing or accepting the fix. Conversely, rejecting, or removing the current firmware level consists of copying the permanent firmware image to the temporary side.

Note: It is recommended to use a new firmware fix for a period of time before committing (or accepting) it.

If firmware fixes are applied consecutively, the first fix will, by default, be copied from the temporary to the permanent side, or accepted. Using an HMC, it is possible to simply replace the temporary image by doing an Install and Activate of the new firmware and indicating that the firmware should not be accepted.

1.6 Be Advised

During a firmware update, the flashing of the NVRAM might take anywhere from ten minutes to one hour. In general, updating to a new release level will take longer. Ensure the system is not interrupted before the flash process is completed. Interrupting this process could result in a service call.

For systems that are not managed by a HMC, the installation of system firmware is always disruptive. During the update_flash process, the console output will be displayed. Again, do not interrupt this process.

Restarting system.
FLASH: preparing saved firmware image for flash
FLASH: flash image is 35191632 bytes
FLASH: performing flash and reboot
FLASH: this will take several minutes. Do not power off!

2 Requirements

2.1 Software requirements

The table below is a summary of the minimum components required for each method covered in this paper:

Method Minimum Requirements
Update via HMC 1. A compatible version of HMC.
2. An Ethernet connection from the HMC to the p5 server (HMC1 port).
3. Desired firmware image on CD. The rpm and XML files are required.
Update via running AIX or Linux operating system 1. A running AIX or supported Linux operating system on a single LPAR environment, ie, no attached HMC.
2. Firmware image on a CD or file system. The rpm file only.
3. update_flash executable. For AIX, it is part of the diagnostic aids tool in the /usr/lpp/diagnostics/bin directory. For Linux, it is part of the Service and Productivity Tools.
4. Serial console and connection
Update via Standalone Diagnostic CD 1. Diagnostic CD
2. Firmware image (.img) file on a CD. Remember, the rpm file is not directly compatible.
3. Serial console and connection

There are two very helpful sites that will assist in gathering the components necessary to update firmware. Visiting the Microcode downloads site ( 1) is recommended before performing any updates.

http://www14.software.ibm.com/webapp/set2/firmware/gjsn


Figure 1

To download the rpm and XML files, input the server machine type and model number and select the latest firmware components based on the below requirements table (option 1 in Fig 3).

If planning to using the Diagnostic CD method, use option 4 to download the firmware image ISO image. The rpm files are not directly compatible with the Diagnostics CD. For the smallest ISO image take the following path using option 4

Obtain ISO Image -> Download P5 Microcode -> Select one -> GO

Next, go to the Power5 Code matrix site (Figure 2) to ensure the existing code levels support the downloaded firmware release. For the purposes of this paper, this applies mostly to HMC version level. If an HMC is not being used, this is for information only.

https://www14.software.ibm.com/webapp/set2/sas/f/power5cm/home.html


Figure 2

3 Upgrade firmware with HMC

3.1 Connectivity

The HMC is connected to a p5 system with a standard TCP/IP Ethernet connection. Figure 1 shows a very simple connection.


Figure 3.
p550Q server with a direct connection to a HMC.

3.2 HMC requirements

Before applying the latest level of firmware on the system using a HMC it might be required to update the build version. Please see the recommended HMC level for the target firmware level in the Power5 Code Matrix. It is always a good idea to have a suitable backup of the HMC data before updating HMC code.

In this example, per the Power5 Code Matrix for system firmware SF240_202, the recommended code level for our HMC is Version 5.2 plus service pack MH00586. This is also the most current level at the writing of this paper.

Check the HMC version build level by clicking on the HMC Code Update in the HMC navigation area (Figure 4):


Figure 4

The HMC version can also be checked as hscroot from the shell prompt as follows:

hscroot@c76v3hmc01:~> lshmc -V
"version= Version: 5
Release: 2.0
HMC Build level 20060210.1
MH00586: Required fixes for HMC V5R2.0 (02-14-2006)","base_version=V5.2.0"

3.3 Viewing system firmware information using LIC wizard

From the navigation area, select License Internal Code Updates. In the content area, click on Change Licensed Internal Code to the current release. In the Target Object Selection window, click the target system, and click OK.


Figure 5

In the Change Internal Code window, select View system information and click OK. From the main Change Internal Code task panel, select View system information and click OK. To view the installed, activated, and accepted LIC levels on the target, select "None" on the Specify LIC Repository panel and click OK.


Figure 6

3.4 Upgrade system firmware to a new release using HMC

Remember, upgrading to a new release is a disruptive upgrade.

Start by opening the Server and Partition folder in the HMC. Then, click on Server Management in that folder. If the state of the machine is Power off, Ready, or Standby, then proceed. Setting the state to Power off is recommended when performing a firmware upgrade, although it is not required. Note: only HMC managed systems can perform firmware upgrades with target system set to Power off state.


Figure 7

Next, open the Licensed Internal Code Maintenance folder on the Hardware Management Console. Then, click on Licensed Internal Code Updates in that folder. In this example, the update will be from our current firmware level 01SF235_185 to 01SF240_202, so the normal " Change Licensed Internal Code for the current release" feature will not work. Select Upgrade Licensed Internal Code to a new release.


Figure 8

Select the desired target managed system and click OK.


Figure 9

Insert the CD with the rpm and XML files into the drive. On the Specify LIC Repository panel, select DVD drive and click OK.

Next, a Select LIC level panel is shown. Click OK.


Figure 11

The next prompt will be to accept the LIC license agreement for machine code. Read the license and click OK to accept. After accepting the license agreement, confirm the disruptive upgrade action. Click OK to proceed. When the firmware is flashed, the FSP will restart and activate the new firmware level.


Figure 12

A dialog box will appear to showing the elapsed time and status of the firmware upgrade.

WARNING - During a disruptive update, the flashing of NVRAM might take from ten minutes to two hours. Do not interrupt the process before the flash process is complete.


Figure 13

Once the firmware upgrade has completed, view the system firmware information to see how the upgrade has changed what is available.

3.5 Update system firmware within a release using HMC

Firmware updates within a release are common when maintaining and managing a p5 server.

Use the Change Licensed Internal Code for the current release feature to install LIC updates on p5 servers. Updates can be applied to managed systems, bulk power controllers, and I/O adapters. This example shows updating a managed systems LIC from an installed firmware level of 01SF235_180_160 to 01SF235_185_160. Note that the release level will remain the same, but the service pack level will be updated from 180_160 to 185_160. The update is concurrent, or non-disruptive, as indicated in the service pack (185) and the last disruptive (160) levels.

3.6 Change License Internal Code Wizard

Start by opening the Server and Partition folder in the HMC. Then, click on Server Management. Verify that the target system exists in the content area.


Figure 14

From the HMC left navigation area, open the Licensed Internal Code Maintenance folder. Click on Licensed Internal Code Updates. Select the Change Licensed Internal Code for the current release feature.

Highlight the target managed system and click OK (Figure 15).


Figure 15

Click the OK button to start the Change Licensed Internal Code wizard.


Figure 16

Insert the CD into the drive and on the Specify LIC Repository panel, select DVD drive and click OK.

The following panel is displayed providing summary information about the update. Note the Advanced Options button gives the option to view and change the installation type for this update action. The current install type selection is Concurrent install and activate. Other installation types involve either a deferred or an immediate system restart to activate the new firmware level. Those installation types are grayed out since this is a concurrent update only. (See Managed System and Power Licensed Internal Code (LIC) Concurrency panel below.)

Click Next to continue with Concurrent install and activate. Please read the license agreement and click OK to accept.


Figure 16

The Advanced Option button displays the Managed System and Power Licensed Internal Code (LIC) Concurrency panel:


Figure 17

After accepting the license agreement, confirm the concurrent update action prompt. Click Finish and Close to proceed.


Figure 18

A progress window will appear to show the elapsed time and status of the firmware update. When the firmware is flashed, the FSP will restart and activate the new firmware level.


Figure 19

Once the firmware upgrade has completed, view the system firmware information to see how the upgrade has changed what is available.

3.7 Reject the installed firmware using a HMC

From the HMC left navigation area, select License Internal Code Updates.

In the content area, click Change Licensed Internal Code to the current release. In the Target Object Selection window, click the target system, and click OK.

The main panel then displays with three options start the Change Internal Code wizard, view system information, and select advanced features.


Figure 20

The Remove and activate feature is a one step process to remove the current active T-side firmware and roll back (or copy) firmware from the P-side. Essentially, undo the last firmware update and restore the T-side with the P-side firmware version.


Figure 21

4 Upgrade firmware without a HMC

4.1 Access ASMI via serial console

A system with no HMC is also known as an unmanaged system. ASMI is used to power on the system and perform other useful functions. Using a serial cable and a program like HyperTerminal on Windows, ASMI and the active console can be accessed. Other communication programs should work.


Figure 22.
Back view of p550Q server with ports for (left to right)
serial, SPCN, HMC, USB and Ethernet.

Once the serial connection to the system is established, press the key, to be presented with the following ASMI login screen.

Welcome
Machine type-model: 9133-55A
Serial number: 10B7D4G
Date: 2006-4-21
Time: 20:12:48
Service Processor: Primary
User ID: admin
Password: *****
User ID to change: admin
Current password for user ID admin: *****
New password for user: ******
New password again: ******
Operation completed successfully.

PRESS ENTER TO CONTINUE:
Number of columns [80-255, Currently: 80]:
Number of lines [24-255, Currently: 24]:

Type the User ID and password to log in to ASMI. If this is the first time logging into ASMI, it might be required to change the default password. The default password is admin

4.2 Checking the current firmware level

Upon logging into ASMI, the firmware level will be clearly displayed as shown below.

System name: Server-9133-55A-SN10B7D4G
Version: SF235_185
User: admin
Copyright © 2002-2005 IBM Corporation. All rights reserved.

1. Power/Restart Control
2. System Service Aids
3. System Information
4. System Configuration
5. Network Services
6. Performance Setup
7. On Demand Utilities
8. Concurrent Maintenance
9. Login Profile
99. Log out

The current activated firmware level is also shown in the ASMI web interface after logging in. To see the firmware level, look in the upper-right corner. Basically, to access the ASMI web interface, connect an Ethernet cable directly to the HMC1 port. For details on accessing the ASMI web interface, see reference 6.


Figure 23
The current active firmware level can also seen from the output of the Display Microcode Level selection on the Diagnostics CD. Details of how to get to the following screen are provided in 4.7


Figure 24

The current active firmware level as seen from the SMS screen:


Figure 25

Finally, if the server has a running AIX or Linux operating system with the Service and Productivity tool lsvpd installed, the lsmcode command can be used as shown below. More details are provided in section 4.4.2

linux:~ #/tmp/fwupdate # lsmcode
Version of System Firmware is SF235_185 (t) SF235_185 (p) SF235_185 (b)
Version of PFW is 17112005111681CF0681

4.3 Power on using ASMI

From the ASMI main menu select 1. Power/Restart Control to get to this screen:

Power/Restart Control

1. Power On/Off System
2. Auto Power Restart
3. Immediate Power Off
4. System Reboot
5. Wake On LAN
98. Return to previous menu
99. Log out
S1> 1

Select 1. Power On/Off System.

On the next screen select 8. Power on. Wait for a few seconds to be logged out as the system powers on. Watch boot progress codes as the system comes up.

Power On/Off System
Current system power state: Off
Current firmware boot side: Permanent
Current system server firmware state: Not running

1. System boot speed
Currently: Fast
2. Firmware boot side for the next boot
Currently: Permanent
3. System operating mode
Currently: Normal
4. AIX/Linux partition mode boot
Currently: Continue to operating system
5. Boot to system server firmware
Currently: Standby
6. System power off policy
Currently: Stay on
7. i5/OS partition mode boot
Currently: A
8. Power on
98. Return to previous menu
99. Log out
S1>8

When the system completes the boot process, note the operator control panel. Note that there should be no indication of HMC=. This indicates that the service processor does not expect to be managed by an HMC (see below).

01    N     V=F
T

4.4 Upgrade system firmware via running operating system

The rpm file for the firmware fix file stored either in the file system or on a mounted CD. For this example, the rpm file is in the /tmp directory.

Run the command below to extract the flash image file in the rpm file:

rpm -Uvh --ignoreos /tmp/01SF240_202_201.rpm

The flash image file is put into a newly created directory /tmp/fwupdate

To install the server firmware through a running OS, use the update_flash. To run this command, root authority is required. Since installing server firmware fixes through the operating system is a disruptive process, shut down any running applications and logout any non-root users.

On AIX, the update_flash command is located in the /usr/lpp/diagnostics/bin directory. If this directory does not exist, install the AIX diagnostics to run this command.

On Linux, the update_flash command is located in the /usr/sbin directory. A separate installation of Service and Productivity Tools may be required.

The command syntax is as follows (for both AIX and Linux):

update_flash [-f file_name]| [-c] | [-r]
Attention: The update_flash command reboots the entire system. Do not use this command if more than one user is logged in to the system.

Flag
Description
-f
Flash update image file source. The file_name variable specifies the fully qualified path of the flash update image file.
-c
Commit temporary image to permanent side.
-r
Reject temporary image.

4.4.1 Upgrade firmware image using AIX

Before installing check the existing firmware level. From AIX, use the command lsmcode. This command resides in the diagnostic directory. An example of the output of the lsmcode command is as follows:

DISPLAY MICROCODE LEVEL                         802811
IBM,9133-55A
The current permanent system firmware image is SF235_185
The current temporary system firmware image is SF235_185
The system is currently booted from the temporary firmware image.

Enter to continue.

Next, run the update_flash command to upgrade firmware:

[c73m5lr01][/]> ls /tmp/fwupdate
01SF240_202_201
[c73m5lr01][/]> /usr/lpp/diagnostics/bin/update_flash -f
/tmp/fwupdate/01SF240_202_201
The image is valid and would update the temporary image to
SF240_202.

The new firmware level for the permanent image would be SF235_185.
The current permanent system firmware image is SF235_185.
The current temporary system firmware image is SF235_185.

***** WARNING: Continuing will reboot the system! *****
Do you wish to continue?
Enter 1=Yes or 2=No

4.4.2 Upgrade firmware image using Linux

To use lsmcode and update_flash commands in Linux, the following minimum Service and Productivity tools have to be installed, and in this order:
librtas
ppc64-utils
lsvpd

Note: If the Service and Productivity tools are not installed, they can be downloaded from the following location. Choose the appropriate Linux distribution and release.

https://www14.software.ibm.com/webapp/set2/sas/f/lopdiags/home.html

After downloading the Linux tools into the /tmp directory, install the three packages - Platform Enablement Library (librtas), Service Aids (ppc64-utils), and Hardware Inventory (lsvpd) as follows

linux:~ # rpm Uvh librtas-1.1-17.ppc64.rpm
linux:~ # rpm Uvh ppc64-utils-2.1-0.ppc64.rpm
linux:~ # rpm Uvh lsvpd-0.12.7-1.ppc.rpm

The Hardware Inventory package contains the lsmcode command that allows us to view the current system firmware information. To populate the VPD database and enable this command, type

linux:~ # chkconfig lsvpd on
linux:~ # /sbin/update-lsvpd-db
linux:~ #/tmp/fwupdate # lsmcode
Version of System Firmware is SF235_185 (t) SF235_185 (p) SF235_185 (b)
Version of PFW is 17112005111681CF0681

Run the update_flash command to upgrade firmware:

linux:/tmp/fwupdate # /usr/sbin/update_flash -f /tmp/fwupdate/01SF240_202_201
info: Current Temporary side will be committed to
Permanent side before being replaced with the new image

Projected Flash Update Results:
Current T Image: SF235_185
Current P Image: SF235_185
New T Image: SF240_202
New P Image: SF235_185
Flash image ready...rebooting the system...

The flash process will reboot the system as part of a disruptive install of the firmware. Do Not Power off or interrupt the flash process. When the new firmware is completely installed, log back into Linux and verify the current firmware configuration.

linux:~ # lsmcode
Version of System Firmware is SF240_202 (t) SF235_185 (p) SF240_202 (b)
Version of PFW is 13552006011081CF0681

4.5 Upgrade firmware using diagnostics CD

This method is intended for systems that are not managed by a HMC.

Insert the diagnostics CD into the CD-ROM drive and connect to ASMI to power on or restart the system as described in 4.3.

Press 1 after keyboard POST to in order to get the SMS menu screen. Watch closely as this passes quickly.

Select the following SMS options and choose to boot from the CD device.

5. Select Boot Options -> 1. Select Install/Boot Device -> 7. List all devices

This will look like a normal AIX boot with Welcome to AIX scrolling across the console.

Once the Diagnostics disk has booted, on the function selection screen, select Tasks and Service Aids.


Figure 27

On the task selection screen, scroll to the bottom of the list of options, and select Update and Manage Flash.


Figure 28

Insert the CD containing the downloaded firmware img file into the media device, select Validate and Update System Firmware and Update System Firmware menu items.


Figure 29

Press F4 to select a firmware fix image file from a list of image files. Our CD contains only one version of the target firmware update file, and 01SF204_202_201.img is displayed.


Figure 30

Press F7 (commit). The server firmware level selected will be installed on the temporary side.

5 Reject installed firmware without an HMC

There are times when it may be necessary to reject a firmware update. The reject function is accomplished by basically copying the P-side firmware to the T-side and activating. The rejected T-side firmware is removed completely. Without an HMC, it is possible to reject the firmware in the T-side and roll back to the firmware in the P-side using the OS update_flash command or a Diagnostics CD.

Note: If rejecting firmware without an HMC, the server must be booted from the P-side copy of the firmware prior to performing this action.

5.1 Boot to the permanent side

Connect to ASMI as described in section 4.1. Log in to ASMI and select 1. Power/Restart Control

System name: Server-9133-55A-SN10B7D2G
Version: SF235_185
User: admin
Copyright © 2002-2006 IBM Corporation. All rights reserved.

1. Power/Restart Control
2. System Service Aids
3. System Information
4. System Configuration
5. Network Services
6. Performance Setup
7. On Demand Utilities
8. Concurrent Maintenance
9. Login Profile
99. Log out
S1> 1

Select 1. Power On/Off System

Power/Restart Control

1. Power On/Off System
2. Auto Power Restart
3. Immediate Power Off
4. System Reboot
5. Wake On LAN
98. Return to previous menu
99. Log out
S1> 1

Select 2. boot side for the next boot

Power On/Off System
Current system power state: Off
Current firmware boot side: Temporary
Current system server firmware state: Not running

1. System boot speed
Currently: Fast
2. Firmware boot side for the next boot
Currently: Temporary
3. System operating mode
Currently: Normal
4. AIX/Linux partition mode boot
Currently: Continue to operating system
5. Boot to system server firmware
Currently: Running
6. System power off policy
Currently: Automatic
7. i5/OS partition mode boot
Currently: A
8. Power on
98. Return to previous menu
99. Log out
S1> 2

Select 1. Permanent

Firmware boot side for the next boot
Currently: Temporary

1. Permanent
2. Temporary
98. Return to previous menu without saving changes
99. Log out
S1> 1

Note that the firmware boot side is now set to Permanent which is our backup copy of the firmware flash.

Select 8. Power on. Hit the key. Wait for a few seconds to be logged out as the system powers on.

Power On/Off System
Current system power state: Off
Current firmware boot side: Temporary
Current system server firmware state: Not running

1. System boot speed
Currently: Fast
2. Firmware boot side for the next boot
Currently: Permanent
3. System operating mode
Currently: Normal
4. AIX/Linux partition mode boot
Currently: Continue to operating system
5. Boot to system server firmware
Currently: Running
6. System power off policy
Currently: Automatic
7. i5/OS partition mode boot
Currently: A
8. Power on
98. Return to previous menu
99. Log out
S1> 8

The system is powering on.
PRESS ENTER TO CONTINUE:

5.2 Reject the installed firmware using an OS command

To reject firmware using AIX or Linux, use the update_flash command with the r option. The system is running on the P-side firmware as noted in the lsmcode output SF235_185 (b). (b) denotes booted.

linux:~ # lsmcode
Version of System Firmware is SF240_202 (t) SF235_185 (p) SF235_185 (b)
Version of PFW is 17112005111681CF0681

This option will reject the installed T-side firmware, SF240_202 (t), and copy SF235_185 (p) to the T-side copy of the firmware. The system will reboot.

linux:~ # update_flash -r
success: Rejected temporary firmware image

5.3 Reject the installed firmware using a diagnostic CD

Powered on from the P-side (see 5.1), boot the Diagnostics CD as described in section 4.5. Then select Update and Manage Flash selection from the diagnostics CDs Task Selection List. Note: the system is currently booted from the permanent firmware side.

UPDATE AND MANAGE FLASH                                                  

The current permanent system firmware image is SF235_185
The current temporary system firmware image is SF240_202
The system is currently booted from the permanent firmware image.

Move cursor to selection, then press 'Enter'.

Validate and Update System Firmware
Validate System Firmware
Reject the Temporary Image

Move the highlighted cursor to Reject the Temporary Image and hit key to proceed with rejecting the installed firmware on the T-side.

UPDATE AND MANAGE FLASH                                                  

The reject operation was successful.

6 Appendix common problems

1. Using HMC LIC wizard, result is error code HSCP0155 The task is unavailable. Please try again later.
Please refer to 2.3 HMC requirements and ensure the HMC build level is up-to-date. [7]

2. A message stating: "This partition does not have the authority to perform the requested function. is received.
Before doing firmware update other than using HMC LIC feature, check the Firmware Update Policy in the ASMI. For the HMC LIC method, the policy should be set to HMC. For other methods, the policy should be set to Operating System.

3. Where do I get the DIAG CD and other required components
See [14] in 7 References for download sites.

4. Why is the firmware in rpm and xml formatted files? Is rpm command in the AIX toolbox as a separate installation? Isnt rpm an alien format in AIX?
The rpm in AIX toolbox has been available on AIX and has been shipped with AIX since v5.2. AIX geninstall command uses the rpm command for installing rpm filesets.

5. Received error: Failed dependencies: messages during installation of Linux Service and Productivity Tools
Use the rpm option requires to look for the missing prerequisite rpm package. For instance, the dependency file, librtas rpm, is required by the ppc64-utils package

rpm -qp --requires ppc64-utils-2.1-0.ppc64.rpm
/bin/bash
/bin/sh
/bin/sed
/usr/bin/perl
librtas >= 1.1-12
/bin/sh
ld.so.1
libc.so.6
librtas.so.1
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)

7 References

[1] Firmware update maintenance documentation
http://publib.boulder.ibm.com/infocenter/eserver/v1r3s/topic/ipha5/fixes.htm

[2] InfoCenter documentation
http://publib.boulder.ibm.com/eserver/

[3] Hardware Management Console for p5 Operations Guide - how to use an IBM Hardware Management Console for p5 (HMC) to manage a system.
http://publib16.boulder.ibm.com/pseries/en_US/infocenter/base/hardware_docs/pdf/380590.pdf

[4] Hardware Management Console corrective service support
https://www14.software.ibm.com/webapp/set2/sas/f/hmc/home.html

[5] IBM p5 hardware documentation
http://publib16.boulder.ibm.com/pseries/en_US/infocenter/base/hardware.htm

[6] Accessing the ASMI Interface
http://publib.boulder.ibm.com/infocenter/eserver/v1r3s/topic/iphby/iphby.pdf

[7] Recommended p5 firmware levels
https://www14.software.ibm.com/webapp/set2/sas/f/power5cm/home.html

[8] Firmware downloads
http://www14.software.ibm.com/webapp/set2/firmware/

[9] Firmware for 9133-55A
http://www14.software.ibm.com/webapp/set2/firmware/gjsn?mode=1&mtm=9133-55A

[10] System Firmware SF235_185
http://www14.software.ibm.com/webapp/set2/firmware/gjsn?mode=30&page=01SF235_185_160.html

[11] System Firmware SF240_202
http://techsupport.services.ibm.com/server/mdownload2/01SF240_202_201.html

[12] Update firmware via HMC
http://publib.boulder.ibm.com/infocenter/eserver/v1r3s/topic/ipha5/getspecificfix.htm

[13] Instructions for installing firmware updates and upgrades can be found at
http://publib.boulder.ibm.com/infocenter/eserver/v1r3s/index.jsp?topic=/ipha5/fix_serv_firm_kick.htm

[14] Download standalone Diagnostics CD-ROM
https://www14.software.ibm.com/webapp/set2/sas/f/diags/home.html

[15] Booting Diagnostics CD
http://publib.boulder.ibm.com/infocenter/eserver/v1r3s/topic/ipha5/standalone_procedure_nohmc.htm

[16] Service Aids for Linux (Service toolkit)
https://www14.software.ibm.com/webapp/set2/sas/f/lopdiags/home.html

[17] Service and productivity tools for Linux
http://publib.boulder.ibm.com/infocenter/eserver/v1r3s/index.jsp?topic=/ipha5/obtain_service_tools.htm

[18] p5 Reference Codes
http://publib.boulder.ibm.com/infocenter/eserver/v1r3s/topic/ipha6/ipha6.pdf

[19] AIX Tasks and Service Aids
http://publib.boulder.ibm.com/infocenter/eserver/v1r3s/index.jsp?topic=/iphau/aixserviceaids.htm

[20] Resetting the server to a nonpartitioned configuration
http://publib.boulder.ibm.com/infocenter/eserver/v1r2s/en_US/index.htm?info/iphbl/iphblresetserver.htm

[21] Quick links for AIX fixes
http://www.ibm.com/servers/eserver/support/unixservers/aixfixes.html

[22] Support for AIX 5L and Linux servers
http://www.ibm.com/servers/eserver/support/unixservers/index.html

Labels

Blog Archive

BlogCatalog