Кто помнит AIX 4.2?


Главная Форумы POWER Systems Кто помнит AIX 4.2?

Помечено: ,

В этой теме 8 ответов, 2 участника, последнее обновление  Artyom Tarasenko 1 месяц назад.

  • Автор
    Сообщения
  • #39950

    Artyom Tarasenko
    Участник

    Разжился кое-каким старым хламом: мотороловской материнкой с Power 604 и сказёвым винтом с AIX 4.2 (гугл говорит, что более новых версий для моторолы не существует). К сожалению оно зависает на этапе

    Performing all automatic mounts

    Может быть, раньше были ещё диски, а может сеть. Хотелось бы подробнее увидеть, как происходит загрузка. Гугл говорит, что в надо в отладчике сказать «mw enter_dbg», но вот незадача, эта версия AIX такой команды не знает:

    ok  boot /scsi/disk@6 -s trap
    Trap instruction interrupt.
    > mw enter_dbg
    032-001  You entered a command «mw» that is not valid.
    > help
    alter   … (a)lter — alter memory
    back    … (b)ack — decrement the IAR
    ditto   … «» — blank repeats the last command
    break   … (br)eak — set a breakpoint
    breaks  … (breaks) — list currently set breakpoints
    buckets … (bu)ckets — display kmembucket structures
    clear   … (c)lear — clear breakpoint(s)
    display … (d)isplay — display a specified amount of memory
    dmodsw  … (dm)odsw — display Streams dmodsw table
    drivers … (dr)ivers — display device driver (devsw) table
    find    … (f)ind — find a string in memory
    float   … (fl)oat — display floating point registers
    fmodsw  … (fm)odsw — display Streams fmodsw table
    fs      … fs — display file system data structures
    go      … (g)o — start executing the program
    help    … (h)elp — display the list of valid commands
    loop    … (l)oop — execute until control returns to this point
    map     … (m)ap — display the system loadlist
    mblk    … (mb)lk — display mblk/kmemstat structures
    next    … (n)ext — increment the IAR
    origin  … (o)rigin — set the origin
    proc    … (p)roc — process table display
    quit    … (q)uit — end the debugger session
    queue   … (que)ue — display Streams queues
    reset   … (r)eset — release a user defined variable
    restore … (re)store — restore or do not restore the screen
    screen  … (s)creen — display a screen containing registers and memory
    set     … (se)t — define an/or set a variable
    sregs   … (sr)egs — display segment registers
    st      … (st) — store a full word into memory
    stack   … (sta)ck — formatted stack trace
    stc     … (stc) — store one byte into memory
    step    … (ste)p — perform an instruction single-step
    sth     … (sth) — store a half word into memory
    stream  … (str)eam — display Stream head structures
    swap    … (sw)ap — switch from the current display/keyboard to RS-232 port
    thread  … (th)read — thread table display
    trace   … (tr)ace — print traceback buffer
    trb     … (trb) — display formatted timer request block info
    tty     … (tt)y — Display tty struct
    user    … (u)ser — formatted user area
    uthread … (ut)hread — formatted uthread area
    vars    … (v)ars — display a listing of the user_defined variables
    vmm     … vmm — display virtual memory data structures
    xlate   … (x)late — display the real address of a memory location

    > a enter_dbg
    032-002  You entered a parameter «enter_dbg» that is not valid.
    >

     

    Была в 4.2 возможность включить verbose mode?

  • #39954

    Дмитрий
    Участник

    Возможно, были подмонтированы NFS.
    В любом случае, чтобы разобраться, нужно грузить с CDROM или ленты. CD-драйв в машине есть?

  • #39963

    Artyom Tarasenko
    Участник

    CD-драйва нет. Теоретически у меня есть сказёвый сидюковод, которым я не пользовался последних лет 15, но он SCSI-2, а тут UW-SCSI.

    А по сети никак нельзя с сидюка загрузиться?

    Ещё обнаружил кое что интересное. Напустил strings на загрузочный раздел, а там кроме trap:

    bootargs
    prompt
    diag
    debug
    trap
    verbose

    Попробовал -s debug — результат, на первый взгляд такой же, как -s trap. Но есть -s verbose, которого в IBMовской версии 4.2 вроде как нет. Так что мотороловская версия, видимо, может сильно отличаться.

    Правда, мне этот -s verbose ничего не дал: начальный загрузчик подробно рассказывает о найденом железе, но начиная с запуска ядра — никаких дополнительных подробностей.

     

    (капча: 5WTF — интересно, мне повезло, или тут оно часто случается?)

  • #39966

    Дмитрий
    Участник

    Почитайте наш форум, там каждая вторая капча такая 😉

    Я с моторолловским сервером работал только однажды, когда p604 был ещё актуальным, и да, смутно помню, что были отличия по загрузке. Попробую у себя поискать привод, но вот насчёт диска с ОС это вряд ли.

  • #40119

    Artyom Tarasenko
    Участник

    Поскольку другой машинки с aix у меня нет, а линукс диски c jfs1 так и не научился монтировать, приходится редактировать диск посекторно. NIS и NFS, вроде бы отключил. Следующая остановка — qdaemon. Сейчас всё вешается после:

    qdaemon: (WARNING): 0781-304 Unable to open /dev/lp0 as standard out for backend.
    qdaemon: errno = 6: There is a request to a device or address that does not exist.
    qdaemon: 0781-305 Retrying…

    Не подскажет кто, как qdaemon отключить? Нашел в двух местах на диске конструкцию похожую на /etc/inittab:

    piobe:2:wait:/usr/lib/lpd/pio/etc/pioinit >/dev/null 2>&1  # pb cleanup
    qdaemon:2:wait:/usr/bin/startsrc -sqdaemon
    writesrv:2:wait:/usr/bin/startsrc -swritesrv

    И поменял соответсвующую строчку на:

    #daemon:2:wait:/usr/bin/startsrc -sqdaemon

    (поскольку редактирую в бинарном виде, вставить символ — труднее чем заменить), но это ничего не поменяло — демон всё равно стартует. /etc/inittab  — неправильное место для отключения?

  • #40120

    Artyom Tarasenko
    Участник

    Место правильное, но похоже AIX не любит когда # — первый символ строки. Переделал, теперь не запускается. Но до логина всё равно не доходит. Кто подскажет, какой нужен минимум сервисов, чтобы загрузиться до логина на сериальной консоли. Сейчас имеется вот что:

    init:2:initdefault:
    brc::sysinit:/sbin/rc.boot 3 >/dev/console 2>&1 # Phase 3 of system boot
    powerfail::powerfail:/etc/rc.motpowerfail -t 5 2>&1 | alog -tboot > /dev/console 2>&1 # Power Failure Detection
    mkatmpvc:2:once:/usr/sbin/mkatmpvc >/dev/console 2>&1
    atmsvcd:2:once:/usr/sbin/atmsvcd >/dev/console 2>&1
    rc:2:wait:/etc/rc 2>&1 | alog -tboot > /dev/console # Multi-User checks
    fbcheck:2:wait:/usr/sbin/fbcheck 2>&1 | alog -tboot > /dev/console # run /etc/firstboot
    srcmstr:2:respawn:/usr/sbin/srcmstr # System Resource Controller
    rctcpip:2:wait:/etc/rc.tcpip > /dev/console 2>&1 # Start TCP/IP daemons
    rcnfs:2:wait:/etc/rc.nfs > /dev/console 2>&1 # Start NFS Daemons
    cron:2:respawn:/usr/sbin/cron
    nimclient:2:once:/usr/sbin/nimclient -S running
    piobe:2:wait:/usr/lib/lpd/pio/etc/pioinit >/dev/null 2>&1  # pb cleanup qdaemon:2:wait:/usr/bin/startsrc -sqdaemon
    writesrv:2:wait:/usr/bin/startsrc -swritesrv
    uprintfd:2:respawn:/usr/sbin/uprintfd
    diagd:2:once:/usr/lpp/diagnostics/bin/diagd >/dev/console 2>&1
    pmd:2:wait:/usr/bin/pmd > /dev/console 2>&1 # Start PM daemon
    acfgd:2:wait:/usr/sbin/lacfgd > /dev/console 2>&1 # Start auto-config daemon
    logsymp:2:once:/usr/lib/ras/logsymptom # for system dumps
    infod:2:once:startsrc -s infod
    lpd:2:once:/usr/bin/startsrc -s lpd
    xdm:2:wait:/etc/rc.dt
    xlogin:2:once:/usr/bin/X11/xdm
    tty0:2:off:/usr/sbin/getty /dev/tty0

    И вообще, мне тут в голову внезапно пришло — а по умолчанию-то AIX переключится на com-порт если видеокарты нет? Или тоже — руками надо getty переключить? Может, оно всё загрузилось, а я не вижу? Наверно мне нужно как минимум tty0 включить? Блин, символы вставлять надо. Благо строка с qdaemon освободилась.

     

  • #40121

    Дмитрий
    Участник

    init:2:initdefault:
    brc::sysinit:/sbin/rc.boot 3 >/dev/console 2>&1 # Phase 3 of system boot
    powerfail::powerfail:/etc/rc.motpowerfail -t 5 2>&1 | alog -tboot > /dev/console 2>&1 # Power Failure Detection
    mkatmpvc:2:once:/usr/sbin/mkatmpvc >/dev/console 2>&1
    atmsvcd:2:once:/usr/sbin/atmsvcd >/dev/console 2>&1
    rc:2:wait:/etc/rc 2>&1 | alog -tboot > /dev/console # Multi-User checks
    :fbcheck:2:wait:/usr/sbin/fbcheck 2>&1 | alog -tboot > /dev/console # run /etc/firstboot
    srcmstr:2:respawn:/usr/sbin/srcmstr # System Resource Controller
    rctcpip:2:wait:/etc/rc.tcpip > /dev/console 2>&1 # Start TCP/IP daemons
    :rcnfs:2:wait:/etc/rc.nfs > /dev/console 2>&1 # Start NFS Daemons
    cron:2:respawn:/usr/sbin/cron
    :nimclient:2:once:/usr/sbin/nimclient -S running
    :piobe:2:wait:/usr/lib/lpd/pio/etc/pioinit >/dev/null 2>&1  # pb cleanup qdaemon:2:wait:/usr/bin/startsrc -sqdaemon
    :writesrv:2:wait:/usr/bin/startsrc -swritesrv
    :uprintfd:2:respawn:/usr/sbin/uprintfd
    diagd:2:once:/usr/lpp/diagnostics/bin/diagd >/dev/console 2>&1
    :pmd:2:wait:/usr/bin/pmd > /dev/console 2>&1 # Start PM daemon
    acfgd:2:wait:/usr/sbin/lacfgd > /dev/console 2>&1 # Start auto-config daemon
    logsymp:2:once:/usr/lib/ras/logsymptom # for system dumps
    :infod:2:once:startsrc -s infod
    :lpd:2:once:/usr/bin/startsrc -s lpd
    :xdm:2:wait:/etc/rc.dt
    :xlogin:2:once:/usr/bin/X11/xdm
    tty0:2:respawn:/usr/sbin/getty /dev/tty0

  • #40122

    Дмитрий
    Участник

    В   inittab строка комментарится двоеточием (:)  в начале строки, хотя более правильным способом является замена действия с once/wait/respawn на off

    Я набросал вам пример с отключением лишних команд, в т.ч. графичесокго логина (2 предпоследние строки). Для простоты можете просто заменить первый символ строки на двоеточие, например, в предпоследней строке вместо

    :xlogin:2:once:/usr/bin/X11/xdm

    сделать

    :login:2:once:/usr/bin/X11/xdm

    это сработает.

    С последней строкой сложнее. У Вас

    tty0:2:оff:/usr/sbin/getty /dev/tty0

    т.е. строка отключена. По хорошему её надо заменить на

    tty0:2:respawn:/usr/sbin/getty /dev/tty0

    но хотя-бы на

    tty0:2:once:/usr/sbin/getty /dev/tty0
    или даже
    tty:2:once:/usr/sbin/getty /dev/tty0
    это оставит такое-же количество символов.
    Но логин-приглашение будет с once одноразовым — выйдите из сессии и всё, больше логин до перезагрузки не появится. Хотя о чём я? Нам хотя-бы раз загрузиться.
    Судя по тому, что Вы присылали лог сообщений консоли, с com-портом уже разобрались.

  • #40123

    Artyom Tarasenko
    Участник

    Не знал, про двоеточие, спасибо. Странно, что там уже «#» использовался после команд. Так или иначе, qdaemon не запускается — я тупо поменял конец предыдущей строки на пробел, и он оказался коментарием к предыдущей строке.

    А вот с tty0 — засада. Не дожидаясь ответа тут, я занялся вандализмом и вписал «tty0:2:respawn:/usr/sbin/getty /dev/tty0» вместо writesrv (т.е. по существу, Ваше предложение), а в нижнем, чтобы не мешался поменял tty0 на tty1. Включаю — не работает. Решил перепроверить — может опечался где. А оказалось, что что-то поменяло строку на «tty0:2:off:/usr/sbin/getty /dev/tty0» — так я опечататься не мог — все буквы сдвинулись. Похоже, надо getty где-то в другом месте разрешать.

Для ответа в этой теме необходимо авторизоваться.