AIX

AIX debug boot

Fórumok

Capturing Boot Debug (IBM Technote)

A lenyeget kiragadva:


bosboot -I -ad /dev/hdiskX

Openfirmware promptbol:

AIX 5.2 -


boot -s trap

AIX 5.3 ~ 7.1 -


boot -s verbose

KDB-bol:
debug boot -


0> mw enter_debug
0> g

normal boot -


0> quit

AIX alog debug boot log: /tmp/boot.debuglog

kdb manual

lehet ugyanaz az UID két usernamehez?

Fórumok

lehet úgy usert létrehozni, hogy már létezik egy ugyanazzal az UID-al vagy csak a passwd hegesztésével? 5.3, NIS.

szerk.: itt válaszolok, az egyszerűbbnek tűnik. nem tudom miért következne szükségszerűen a kérdésből, hogy ilyet szeretnék csinálni? nem, nem szeretnék, tudom mit jelent az U az UID-ből. hanem az a helyzet, hogy valaki meg produkált egy ilyet, viszont nekem nem áll módomban mkuser-t végrehajtani, sem a NIS-en passwd-t hegeszteni, hogy leellenőrizzem mindezt.

bitlbee vs AIX 6.1

Fórumok

Kell hozza:

- GNU make
- mktemp
- '-Wall' -t kiszedni a Makefile-okbol, ha nem gcc-t hasznalsz

Jo szokasomhoz hiven ismet IBM xlC-vel forditottam, CFLAGS-be kell a linkernek a korabban emlitett 'qnolibansi -U__STR__', kulonben az 'ld: 0711-768 WARNING: blabla' uzenet, illetve egy instabil binaris lesz az eredmeny. Az elobbi flagek helyett azota mar egy C runtime APAR-ral (gyk. 'patch') is megoldhato a dolog, 6.1-en az xlC.aix61.rte.11.1.0.2 javitja...

Igy ezzel az egyetlen warninggal fordul le (hehe, mert nincs -Wall):

"irc_commands.c", line 41.36: 1506-1332 (W) A function with return type "void" may not return a value of type "void".

A nyomorult GNU installhoz vannak megirva a Makefile-ok (szerencsere ez eleg ritka), szoval hacsak nem teszunk fel coreutilst, ezzel meg a vegen szenvedni kell. Inkabb egyszer majd megirom shellben a funkcioit, es hasznalom cp, chmod, mkdir hivasaval... ha muszaj.

Post-install

group/user:

mkgroup bitlbee # vagy amit akarsz
mkuser id=1003 pgrp=bitlbee rlogin=false login=false bitlbee
mkdir /var/lib/bitlbee
chown bitlbee /var/lib/bitlbee
chmod 0700 /var/lib/bitlbee

bitlbee.conf:

Ez egyedi, nem AIX-specifikus, tehat ezt kihagyom.
En fork daemon modban hasznalom localhoston.

AIX DLPAR logok (Dynamic Logical Partitioning )

Fórumok

Az AIX es a POWER hardver kozott egy Linux alapu appliance, a HMC (Hardware Management Console) kozvetiti az eroforrasokra vonatkozo informaciokat.A topologia


AIX OS
   \ rsct daemon (IBM.DRM) <-[LAN]- HMC RSCT stack -[HMC LAN]-> FSP/hypervisor (hardver)
                                      |
                                     user

A folyamat

  • A user DLPAR muveletet kezdemenyez (pl 4GB memoria elvetele) a HMC feluleten keresztul
  • A HMC kiadja az eroforras-allokacios utasitast a hardvernek a hdwr_svr daemonon heresztul ('low level'), ezt a kerest a Linux alapu FSP (Flexible Service Processor) a management halozaton TCP/IP-n fogadja es a belso soros porton tovabbitja a firmware-nek.
  • Ha a firmware visszaszol, hogy rendben, a HMC egy masik daemonja (IBM.LparCmdRMd ?) az RMC protokollon keresztul, 'publikus' TCP/IP kapcsolaton at jelzi a valtozast az AIX OS-nek es megvarja, hogy az utasitast az operacios rendszer lekezelje, ha tudja
  • Az AIX-en futo IBM.DRM processz elinditja a drmgr-t, ami az adott utasitast vegrehajtja.
  • Ha ez is lefutott, az AIX is visszajelez a HMC-nek

Az egeszben engem az erdekel, hogy mikent lehet az egyes komponensek muveleteit nyomon kovetni, ezert irom most ezt a bejegyzest.

HMC

/var/hsc/log/evt_processor.log

Ez egy plaintext log, elvileg read-only a hscroot szamara (masik userrel fut), tehat egyedul ennek lehet bizonyito ereje. Sajnos ezt kicsit alaassa, hogy nagyon nehez az adott user sessiont felgongyoliteni, hiszen jellemzoen a hscrootot hasznalja mindenki.

Rengeteg adat van benne, egy konkret log ott, ahol keves a DLPAR muvelet:
- 4 honap: 450.000 sor, 18MB

Kell az LPAR ID meg a gep sorozatszama, ebbol lehet osszerakni az egrepnek a sort, a firePropertyChange() hivasa jelenti a tenyleges muveletek lefutasat.


# egrep "firePropertyChange.*Name=\"5\*9117-MMA\*10ABCDE.*Mem" evt_processor.log

Ebbol aztan konkretan ilyen sorok szarmaznak:


2010-07-29 15:19:57.382 [Thread-104] CVOBJPVT :: com.ibm.hmc.cv.mom.CvPartitionProvider.firePropertyChange() with id = 
com.ibm.hmc.cv.mom.CvPartition[CreationClassName="IBMHSC_Partition", Name="5*9117-MMA*10ABCDE"], 
propertyName = CurAllocMem, oldValue = 24576, newValue = 22528

Szepen latszik, hogy ez jelen esetben 2GB elvetelet jelenti az adott LPAR-tol. A logban odatekerve sokkal tobb info is van, de ezt mar felesleges lenne ide beszurni. Ugye milyen szep, hogy ez az egesz Java?

---

/var/hsc/log/cimserver.log

Brutalisan debug szinten fut, es nagyon porog (~700k sor/ora kb 50 LPAR eseten), rotalva van, a tomoritett logok a /var/hsc/log/cimLogs/ ala kerulnek. Nem is hiszem, hogy nagyon kellene.

Authentikacio es a parancsok futtatasa a cimserver.logban van... Az alabb lathato DLPAR muvelet pl benne van, sot a fentiek is, csak mivel sokkal tobb az info, ezert nehezebb benne visszakeresni (a HMC-n restricted bash van, gunzip, zgrep nincs benne... sot meg atiranyitas sincs).

Amit a belepesekrol meg lehet tudni: az ssh, illetve a webUI login is bekerul a syslogba:


# grep HMC /var/log/messages

Nov  8 20:20:01 hmc HMC: User hscroot has logged on from location 10.1.1.1 to session id 5.  The user's maximum role is "hmcsuperadmin".
Nov  8 20:20:01 hmc HMC: User hscroot of session 5 is using user interface "Tree Style".
Nov  8 20:21:37 hmc HMC: User hscroot has logged off from session id 5 for the reason:  The user logged off.

Utobbit egy HMC paranccsal is meg lehet nezni:


# lssvcevents -t console

Aztan hogy ezt hogyan lehet a HMC belso logjaira kivetiteni...

Tehat a kovetkezo infok vannak:
- syslogban: user, IP, login/logout datum, HMC session ID (pl "5")
- cimserver logban: IP, timestamp, PID (pl "Thread-96--955188"), egy ismeretlen ID (pl "7c12e656-d90f-1000-8ac5-000d600b11ea"), ILLETVE a lefuttatott muveleteknel a Java thread ID

AIX

drmgr: syslog local1 facility

/var/adm/ras/syslog

Vagy ahova be van allitva (default: nincs log!). Itt ilyeneket lehet latni egy DLPAR muvelet lefutasa soran:


Nov  7 14:05:03 hostname local1:info DRMGR:  ==== Start: MEM Removal operation ====
Nov  7 14:05:03 hostname local1:info DRMGR: Starting CHECK phase for mem Remove operation.
Nov  7 14:05:03 hostname local1:info DRMGR: Phase CHECK started for scripts,kernel extensions and applications.
Nov  7 14:05:03 hostname local1:info DRMGR: Starting CHECK phase for Scripts.
Nov  7 14:05:03 hostname local1:info DRMGR: Completed the phase for Scripts.
Nov  7 14:05:03 hostname local1:info DRMGR: Starting the phase for kernel extensions.
Nov  7 14:05:03 hostname local1:info DRMGR: Completed the phase for kernel extensions.
...
Nov  7 14:07:17 hostname local1:info DRMGR:  ~~~~ End: DR operation ~~~~

cfgmgr: alog cfglog

/var/adm/ras/cfglog

Binaris log, amiben a cfgmgr (AIX device manager), azaz a kernel es a driverek szintjen torteno muveletek nyomait latjuk, viszont sajnos a timestamp lenyegeben hasznalhatatlan. Szerencses esetben a file datuma elarulhat valamit. Az alog paraccsal olvashato.

Az elejen latszik az aktualisan lefuttatott parancs, sajnos a drmgr nem teljesen dokumentalt es user altal abszolut csak vegszukseg eseten futtathato:


CS 1716320 471056 /usr/sbin/drmgr -r -c mem -q 32 -w 5 -d 1
C4 1716320 get_sub_arg returning:0x2ff22e1b(5)
C4 1716320 get_sub_arg returning:0x2ff22e20(1)
C4 1716320 DBG level var:0xffffffe1 bp_tmp:1
CS 1716320 471056 /usr/sbin/drmgr -r -c mem -q 32 -w 5 -d 1
C4 1716320      p_specified: 0 p_arg:
C4 1716320      badargs: 0
C4 1716320      operation: 2 (1:add, 2:remove)
C4 1716320      drc-names: **
C4 1716320      timeout value (in seconds) : 300
...

A vege fele viszont van timestamp es ott az eroforras mennyisege is, itt 4GB:


C4 1716320 invoke_DR_scripts: command:3, bp_resource:mem
C4 1716320 user_time:300, current time: 0x4cd010f6, DR start time: 0x4cd010f6
C4 1716320 DR Timeout value:300, Current time: 0x4cd010f6, DR start time: 0x4cd010f6, Remaining Time:300
C4 1716320 get_remaining_time returning: 300
C4 1716320 Invoking script (/usr/lib/dr/scripts/all/wpar_drs) with command (checkrelease)
C4 1716320 invoke_one_DR_script: entry->command:3, timeout:10, script idx:2, resource name: mem
C4 1716320 set_env_vars: entry: cmd : checkrelease
C4 1716320 set_env_vars: exit: DR_FORCE=FALSE DR_MEM_SIZE_REQUEST=4096 DR_TRUE_MEM_SIZE_REQUEST=4096 DR_MEM_SIZE_COMPLETED=0 DR_TRUE_MEM_SIZE_COMPLETED=0 DR_FREE_FRAMES=0x60ea DR_PINNABLE_FRAMES=0x30d5ec DR_TOTAL_FRAMES=0x700000 DR_TRUE_TOTAL_FRAMES=0x700000

Kar, hogy a timestampekbol sok ertelmes nem jon ki (se epoch, se mmddHHMM):


# echo 4cd010f6 | tr -s [[:lower:]] [[:upper:]] | bc
53301156

Bochs 2.4.5-be települ: AIX 1.3 x86 (AIX/PS2)

Fórumok

Tiszteletem!

Ha valaki ismer jo x86 (nem-PS2) emulatort, melyben elindul ES telepitheto is az AIX/PS2, akkor kerem, hogy nevezze meg az emulatort.
Települ és elindul ubuntu 10.04 + bochs 2.4.5 alól.

kell hozzá 18 floppyimage-fájl:

$ cksum BaseOperatingSystem*img atboot*.dd.gz install.img 
4085705655 1474560 BaseOperatingSystem_10.img
1557785357 1474560 BaseOperatingSystem_11.img
1357126099 1474560 BaseOperatingSystem_12.img
2987439926 1474560 BaseOperatingSystem_13.img
2994380453 1474560 BaseOperatingSystem_14.img
2463643035 1474560 BaseOperatingSystem_15.img
1891337599 1474560 BaseOperatingSystem_1.img
256760765 1474560 BaseOperatingSystem_2.img
3690441323 1474560 BaseOperatingSystem_3.img
3435073764 1474560 BaseOperatingSystem_4.img
1655578002 1474560 BaseOperatingSystem_5.img
3806142853 1474560 BaseOperatingSystem_6.img
1725771089 1474560 BaseOperatingSystem_7.img
2135383717 1474560 BaseOperatingSystem_8.img
3450988025 1474560 BaseOperatingSystem_9.img
2623645576 369949 atboot1.dd.gz
527280460 331100 atboot2.dd.gz
211596455 1474560 install.img
$ # ne felejtsuk el gunzip -cd -zni a ket bootimage-t!

kell még hozzá egy hddimage-fájl:

$ dd if=/dev/zero of=980x10x17.chs count=$[980*10*17]
$ 

egyéb jellemzők:

$ dpkg --get-selections | grep -i 'bochs\|bios'
bochs						install
bochs-doc					install
bochs-sdl					install
bochs-wx					install
bochs-x						install
bochsbios					install
seabios						install
vgabios						install
$ uname -a
Linux szopjalle 2.6.32-26-generic #46-Ubuntu SMP Tue Oct 26 16:46:46 UTC 2010 i686 GNU/Linux
$ bochs --help
========================================================================
                       Bochs x86 Emulator 2.4.5
              Build from CVS snapshot, on April 25, 2010
========================================================================
Usage: bochs [flags] [bochsrc options]

  -n               no configuration file
  -f configfile    specify configuration file
  -q               quick start (skip configuration interface)
  -benchmark n     run bochs in benchmark mode for millions of emulated ticks
  -r path          restore the Bochs state from path
  -log filename    specify Bochs log file name
  --help           display this help and exit

For information on Bochs configuration file arguments, see the
bochsrc section in the user documentation or the man page of bochsrc.
00000000000i[CTRL ] quit_sim called with exit code 0
$ cat ./bochsrc
# configuration file generated by Bochs
plugin_ctrl: unmapped=1, biosdev=1, speaker=0, extfpuirq=1, gameport=1, pci_ide=0, acpi=0, ioapic=1
config_interface: textconfig
display_library: x
memory: host=32, guest=8
romimage: file="/usr/share/bochs/BIOS-bochs-latest"
vgaromimage: file="/usr/share/bochs/VGABIOS-lgpl-latest"
boot: floppy, disk
floppy_bootsig_check: disabled=1
floppya: type=1_44, 1_44="./atboot1.dd", status=inserted
# no floppyb
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, mode=flat, translation=auto, path="./980x10x17.chs", cylinders=980, heads=10, spt=17, biosdetect=auto, model="PS2X850"
ata1: enabled=0
ata2: enabled=0
ata3: enabled=0
parport1: enabled=1, file=""
parport2: enabled=0
com1: enabled=1, mode=null, dev=""
com2: enabled=1, mode=null, dev=""
com3: enabled=0
com4: enabled=0
usb_uhci: enabled=0
usb_ohci: enabled=0
i440fxsupport: enabled=0
vga_update_interval: 50000
vga: extension=vbe
cpu: count=1, ips=4000000, reset_on_triple_fault=1, ignore_bad_msrs=1
cpuid: cpuid_limit_winnt=0, mmx=1, sse=sse2, xapic=1, sep=1, aes=0, xsave=0, movbe=0, 1g_pages=0
print_timestamps: enabled=0
# no gdb stub
port_e9_hack: enabled=1
text_snapshot_check: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local
# no cmosimage
ne2k: enabled=1, ioaddr=0x300, irq=9, mac=fe:fd:de:ad:be:ef, ethmod=null, ethdev=xl0, script=none
pnic: enabled=0
sb16: enabled=0
# no loader
log: -
logprefix: %t%e%d
panic: action=ask
error: action=report
info: action=report
debug: action=ignore
pass: action=fatal
keyboard_type: mf
keyboard_serial_delay: 250
keyboard_paste_delay: 100000
keyboard_mapping: enabled=0, map=
user_shortcut: keys=none
mouse: enabled=0, type=ps2
$ 

Bull Escala DPX/20 G10247 AIX 5 telepítés kérdés

Fórumok

Hello Mindenki,

Olyan kérdésem lenne, hogy van egy Bull Escala DPX/20 (G10247) szerverem. Igazából ez egy IBM RS/6000-es klón. Jelenleg AIX 4.3 van rajta, de szeretném újratelepíteni AIX 5.x-el, de nem igazán sikerül a boot képernyőt elővarázsolnom. Van benne videokártya, de amikor elindítom (kulcsot szerviz módba állítom) akkor egy 10 perc után bejön egy zöld képernyő, monitor zölden világít és semmi nem történik. Ha normál módban indítom kb. 10 perc után bejön az AIX CDE és a login képernyő ahol tökéletesen betudok lépni.

Szóval a kérdés az, hogy miként lehet boot ordert állítani vagy bejutni valami konfigurációs módba és képet előcsalni a bootoláskor hogy eltudjak indítani egy telepítőt?

Van rajta soros port is természetesen, talán console módban adna valami szerviz menüt indításkor, ahhoz meg nem tudom milyen kábel kell, mert sima soros port van a gépen is!? Ha van valakinek ötlete írjon legyen szíves, klassz lenne rá varázsolni újabb verziót, mert ott már van Samba3 és stb klassz dolog.

irssi vs AIX 6.1 vs IBM XL C 11.1 - uj fordulo

Fórumok

Mindeddig kulonosebb nehezseg nelkul fordult AIX 5.3-on es 6.1-en is az irssi (0.8.12~13), de most valahogy meggyult vele a bajom. Vegul a kovetkezo lepeseken at sikerult eljutni a mukodokepes binaris eloallitasaig:

- A kod se cc_r, se c99_r formaban inditott compilerrel nem fordul, csak az xlc_r a jo.

- A printtext.h -bol a korabbiaknak megfeleloen el kell tavolitani a printformat tesztnel a C99-re vonatkozo reszt.

- Hogy utolag ne kelljen a LIBPATH-t piszkalni, CFLAGS-ben adjuk meg a 'site perl' libek utvonalat (elotte persze el kell donteni, hogy 32 vagy 64 bites Perl kell-e, illetve mi van hasznalatban, mert gyarilag ugyan 32 bites erkezik, de ott van mellette az egyetlen paranccsal atvalthato 64 bites is!):

blibpath:/usr/local/lib:/usr/lib:/usr/opt/perl5/lib/5.8.8/aix-thread-multi/CORE

- Ha a rendszeren tobb helyen es eltero verzioban talalhatok meg a kulonbozo libek (elsosorban gettext, ncurses es glib2), illetve ezek reszben gcc-vel, reszben xlc-vel lettek forditva, elofordulhat a '1506-248 (S) More than one storage class specifier typedef' uzenet. Nalam konkretan erre rajonni volt a legtobb ido. Ertelemszeruen erdemes valamelyiket leszedni. Mivel az AIX gyari rpm.rte-jehez tartozo /usr/lib/libintl.a is le lett szedve, az rpm innentol fogva nem mukodik, szoval...

- Egy xlC 11.1-hez kotheto uj feature miatt mind az ncurses, mind az irssi forditasakor a CFLAGS-t ki kell boviteni a '-qnolibansi -U__STR__' opciokkal. IBM info itt.
Kulonben az ld - warningokkal - osszeszereli ugyan a binarist, de az elinditva rogton el is dumpol.

Mindezek utan a cucc kesz, Perl, SSL es modul tamogatassal.

Compiler: IBM XL C/C++ for AIX 11.1 +AIX make, ld stb
Host: IBM AIX 6100-06-01 (64 bit)
Libek: openssl-0.9.8o, gettext-0.18, glib-2.20.5
Irssi: irssi 0.8.15

AIX 5.3 szeptemberi SP-k

Fórumok

Az IBM a 36. héten kiadta az AIX 5.3 TL9, TL10, TL11, TL12 legfrissebb SP-it.

5.3 TL9 SP8:
Az SP8 részletei

5.3 TL10 SP5:
AZ SP5 részletei

5.3 TL11 SP5:
Az SP5 részletei
Külön megjegyzés a TL11 SP5-höz, hogy a csomag tartalmazza a bos.iocp.rte 5.3.11.0 base fileset-et is, így megkímélhető a felesleges izgalom az esetleges 'failed' updatek miatt. Emellett egyből tartalmaz is egy APAR-t a bos.iocp egy hibájára.

5.3 TL12 SP2:
AZ SP2 részletei

AIX xlC 11.1 - ld: 0711-768 unrecognized instruction

Fórumok

http://www-01.ibm.com/support/docview.wss?uid=swg21443810


ld: 0711-768 WARNING: Object ../irc/core/libirc_core.a[channel-events.o], section 1, function .strcmp:
        The branch at address 0xf38 is not followed by a recognized no-op
        or TOC-reload instruction. The unrecognized instruction is 0x63C50000.

A shared library ES az azt hasznalo programok forditasanal is kell hasznalni a 2. pontban emlitett extra compiler flageket, viszont igy tenyleg mukodik. Tesztelve ncurses es irssi forditasaval, ahol a hiba elojott.

Ugy tunik (a leirasbol is), hogy ez valoban csak a 11.1-es xlC-nel jon elo.