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

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

Помечено: ,

Просмотр 8 веток ответов
  • Автор
    Сообщения
    • #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 где-то в другом месте разрешать.

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