Munin SSH transport

This entry is part [part not set] of 1 in the series munin

Решил настроить munin сервер для опроса порядка 500 нод.
В штатном режиме сервер опрашивает ноду по дефолтному порту 4949. Это прекрасно и замечательно, когда этот порт доступен “напрямую”. В моём случае большинство серверов сидят за чужим NAT-ом и наружу проброшен только ssh, причём ещё на какой-нибудь высокий порт. Или есть второй распространённый вариант – проброшен порт от одного сервера, а остальные доступны только по внутренней сети.
Доступ по ssh открыт, так как это является нашим основным требованием к сети заказчика.
В официальной документации как-то не сильно рекламируют возможность работы через ssh, но, как оказалось, в munin 2.x она есть. О её существовании помог узнать большой брат, который вывел на ссылку http://munin-monitoring.org/wiki/Native_ssh.
В принципе всё понятно, за исключением конфигурации с нестандартным ssh портом, но об этом чуть позже.
Тестовый сервер у меня был поднят на OpenBSD и серверная часть munin запускалась с правами пользователя _munin, который по умолчанию вместо shell имеет /sbin/nologin. Продакшн настраивал на Scientific Linux, в котором munin запускается от пользователя munin. Соответственно для возможности подключения по ssh к нодам надо было в обоих случаях этому пользователю прописать рабочий шелл, например /bin/sh, создать домашнюю директорию, сгенерировать ключи при помощи ssh-keygen (ключ должен быть без passphrase) и переслать публичный ключ на ноду для той учётной записи, под которой планируется на неё заходить. Пусть учётка на ноде зовётся user. Соответственно в домашней директории пользователя user в .ssh/autorized_keys должен быть прописан публичный ключ пользователя munin с сервера.
На машине с munin-node должен быть установлен netcat (nc), который позволит обращаться к munin-node через:

nc localhost 4949
# munin node at ms13090624.domain
list
df mssversion uptime

То есть для подобного режима работы ноде достаточно слушать только на 127.0.0.1 и отвечать на запросы тоже только с локалхоста. Одним сервисом “глядящим” наружу будет меньше.
Значимые строки в munin-node.conf для подключения к ней при помощи nc с localhost:

host_name ms13090624.domain
allow ^127\.0\.0\.1$
host 127.0.0.1

Вручную ноду можно проверить запустив с сервера через ssh nc на ноде:
sudo -u munin ssh user@xxx.xxx.xxx.xxx nc localhost 4949
В ответ должны получить приглашение munin-node, как и при локальном подключении.
Кусок конфига munin.conf для опроса ноды по 22 порту (описан в документации к munin):

[ms13090624.domain]
use_node_name no
address ssh://user@xxx.xxx.xxx.xxx/usr/bin/nc localhost 4949

Про использование альтернативного порта ssh я в документации не увидел ни слова, но просмотр кода и дальейшие тесты на стенде показали, что в конфиге сервера порт указывается вот в таком формате:

[ms13090622.domain]
use_node_name no
address ssh://user@xxx.xxx.xxx.xxx:2022/usr/bin/nc localhost 4949

то есть через двоеточие сразу после IP.

Про усложнённый вариант подключения через ssh туннель в оригинальной документации впринципе ничего не говорят. Подозреваю, что это не самый распространённый вариант доступа к ноде. Но особенности топологии сетей заказчиков подтолкнули к внимательному изучению конфига и кода, этот конфиг парсящему. В результате оказалось, что всё довольно просто:

[ms13090625.domain]
use_node_name no
address ssh://user@zzz.zzz.zzz.zzz:2022/usr/bin/ssh user1@192.168.xxx.yyy /usr/bin/nc localhost 4949

ms13090625.domain – имя внутренней машины, прописанное в конфиге ноды
192.168.xxx.yyy – IP ноды, которая находится во внутренней сети
zzz.zzz.zzz.zzz:2022 ИП и порт машины к которой мы имеем доступ по ssh извне и с которй по ssh можно попасть на машину во внутренней сети, т.е. на ноду.

Итого для работы через туннель к “обычному” конфигу доступа по ssh вида
address ssh://user@zzz.zzz.zzz.zzz:2022/usr/bin/nc localhost 4949
добавилась команда для подключения с внешнего сервера на внутреннюю ноду: /usr/bin/ssh user1@192.168.xxx.yyy

Надеюсь это понятно сразу, что user на внешнем сервере должен быть обменян ssh ключом с user1 на внутреннем (ноде) для беспарольного доступа.

Share

Фоторамка из tabletpc и OpenBSD

В связи с изменениями в личной жизни у меня дома появилась фоторамка фирмы_DSCN1185, как это не противно, Sony. Обыкновенная маленькая чёрная рамка для любителей фотографий в формате 9х13.
Её основной минус – абсолютно отвратительный экран. Пиксели размером со слона при размере экрана 9х14см как-то ухудшают восприятие фото. На фоне этого все остальные характеристики можно вообще не рассматривать. _DSCN1189
Уже лет пять, если не больше, у меня пылится один гаджет – таблетка фирмы Compaq на базе Transmeta Crusoe, зачем-то купленная в своё время у друга. Как ноутбук/таблет в настоящее время её использовать бессмысленно – у неё хитромудрое перо с батарейкой (пальцем в экран тыкать бесполезно), мало памяти, дохленький проц, старый аккумулятор и заюзаный IDEшный жёсткий диск. В общем все прелести таблета десятилетней давности. Зато у неё недурственныё экран (по сравнению с фоторамкой), есть сеть, USB, кардридер…
_DSCN1191
$ dmesg
OpenBSD 5.4-current (GENERIC) #46: Mon Sep 2 13:54:44 MDT 2013
deraadt@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Transmeta(tm) Crusoe(tm) Processor TM5800 ("GenuineTMx86" 586-class) 1 GHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,CX8,SEP,CMOV,MMX
real mem = 376942592 (359MB)
avail mem = 358969344 (342MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 10/06/03, BIOS32 rev. 0 @ 0xfd6a0, SMBIOS rev. 2.3 @ 0xe7010 (20 entries)
bios0: vendor Phoenix version "4.06CJ15" date 10/06/2003
bios0: Compaq Compaq Tablet PC TC1000
acpi0 at bios0: rev 0
acpi0: sleep states S0 S1 S3 S4 S5
acpi0: tables DSDT FACP
acpi0: wakeup devices PWRB(S4) PCI0(S3) USB0(S3) USB1(S3) USB2(S3)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpiprt0 at acpi0: bus 0 (PCI0)
acpiec0 at acpi0
acpicpu0 at acpi0: C2, PSS
acpipwrres0 at acpi0: LRP0
acpipwrres1 at acpi0: LRP1
acpipwrres2 at acpi0: LRP2
acpitz0 at acpi0: critical temperature is 100 degC
acpiac0 at acpi0: AC unit online
acpibat0 at acpi0: CMB0 model "BAT1" serial 1234 type LION oem "COMPAQ"
acpibtn0 at acpi0: PWRB
acpivideo0 at acpi0: VIDO
bios0: ROM list: 0xc0000/0xe000 0xe7000/0x1000!
cpu0 at mainbus0: (uniprocessor)
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Transmeta LongRun Northbridge" rev 0x03
"Transmeta Mem1" rev 0x00 at pci0 dev 0 function 1 not configured
"Transmeta Mem2" rev 0x00 at pci0 dev 0 function 2 not configured
vga1 at pci0 dev 5 function 0 "NVIDIA GeForce2 Go" rev 0xb2
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
pcib0 at pci0 dev 7 function 0 "VIA VT82C686 ISA" rev 0x40
pciide0 at pci0 dev 7 function 1 "VIA VT82C571 IDE" rev 0x06: ATA100, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 0:
wd0: 16-sector PIO, LBA48, 76319MB, 156301488 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5
pciide0: channel 1 ignored (disabled)
viapm0 at pci0 dev 7 function 4 "VIA VT82C686 SMBus" rev 0x40: SMI
iic0 at viapm0
iic0: addr 0x2d 00=01 01=0e 02=16 07=50 08=ad 09=5d 0b=55 13=fe 14=74 15=57 16=67 17=04 1d=ff 1e=fb 1f=86 20=01 21=01 22=fe 23=ff 24=c8 25=fe 26=fe 27=7d 28=7d 2b=ff 2c=bf 2d=7b 2e=fb 2f=fd 30=ff 31=ff 32=ff 33=ff 34=bf 35=5d 36=fd 37=ff 38=f7 39=be 3a=bd 3b=ff 3c=ff 3d=7f 3e=df 3f=a2 40=01 47=50 48=ad 49=5d 4b=55 53=86 54=6b 55=57 56=e5 57=80 5d=ff 5e=fb 5f=86 60=01 61=01 62=fe 63=ff 64=c8 65=fe 66=fe 67=7d 68=7d 6b=ff 6c=bf 6d=7b 6e=fb 6f=fd 70=ff 71=ff 72=ff 73=ff 74=bf 75=5d 76=fd 77=ff 78=f7 79=be 7a=bd 7b=ff 7c=ff 7d=7f 7e=df 7f=a2 80=01 87=50 88=ad 89=5d 8b=55 93=86 94=70 95=57 96=ee 97=80 9d=ff 9e=fb 9f=86 a0=01 a1=01 a2=fe a3=ff a4=c8 a5=fe a6=fe a7=7d a8=7d ab=ff ac=bf ad=7b ae=fb af=fd b0=ff b1=ff b2=ff b3=ff b4=bf b5=5d b6=fd b7=ff b8=f7 b9=be ba=bd bb=ff bc=ff bd=7f be=df bf=a2 c0=01 c7=50 c8=ad c9=5d cb=55 d3=86 d4=6c d5=57 d6=f6 d7=80 dd=ff de=fb df=86 e0=01 e1=01 e2=fe e3=ff e4=c8 e5=fe e6=fe e7=7d e8=7d eb=ff ec=bf ed=7b ee=fb ef=fd f0=ff f1=ff f2=ff f3=ff f4=bf f5=5d f6=fd f7=ff f8=f7 f9=be fa=bd fb=ff fc=ff fd=7f fe=df ff=a2 words 00=01ff 01=00ff 02=00ff 03=00ff 04=00ff 05=00ff 06=00ff 07=50ff
spdmem0 at iic0 addr 0x50: 128MB SDRAM non-parity PC133CL3
auvia0 at pci0 dev 7 function 5 "VIA VT82C686 AC97" rev 0x50: irq 10
ac97: codec id 0x41445372 (Analog Devices AD1981A)
ac97: codec features headphone, 20 bit DAC, No 3D Stereo
audio0 at auvia0
fxp0 at pci0 dev 8 function 0 "Intel PRO/100 M" rev 0x10, i82562: irq 9, address 00:08:02:92:e2:0e
inphy0 at fxp0 phy 1: i82555 10/100 PHY, rev. 4
iwi0 at pci0 dev 10 function 0 "Intel PRO/Wireless 2200BG" rev 0x05: can't map interrupt
cbb0 at pci0 dev 11 function 0 "TI PCI1520 CardBus" rev 0x01: irq 9, CardBus support disabled
cbb1 at pci0 dev 11 function 1 "TI PCI1520 CardBus" rev 0x01: irq 11, CardBus support disabled
ohci0 at pci0 dev 12 function 0 "NEC USB" rev 0x41: irq 9, version 1.0, legacy support
ohci1 at pci0 dev 12 function 1 "NEC USB" rev 0x41: irq 11, version 1.0, legacy support
ehci0 at pci0 dev 12 function 2 "NEC USB" rev 0x02: irq 10
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "NEC EHCI root hub" rev 2.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
cardslot0 at cbb0 slot 0 flags 0
pcmcia0 at cardslot0
cardslot1 at cbb1 slot 1 flags 0
pcmcia1 at cardslot1
usb1 at ohci0: USB revision 1.0
uhub1 at usb1 "NEC OHCI root hub" rev 1.00/1.00 addr 1
usb2 at ohci1: USB revision 1.0
uhub2 at usb2 "NEC OHCI root hub" rev 1.00/1.00 addr 1
uhidev0 at uhub1 port 2 configuration 1 interface 0 "Jing-Mold USB K/B+Mouse" rev 1.10/3.20 addr 2
uhidev0: iclass 3/1
ukbd0 at uhidev0: 8 variable keys, 6 key codes
wskbd1 at ukbd0 mux 1
wskbd1: connecting to wsdisplay0
uhidev1 at uhub1 port 2 configuration 1 interface 1 "Jing-Mold USB K/B+Mouse" rev 1.10/3.20 addr 2
uhidev1: iclass 3/1, 3 report ids
ums0 at uhidev1 reportid 1: 3 buttons, Z dir
wsmouse0 at ums0 mux 0
uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
uhid1 at uhidev1 reportid 3: input=3, output=0, feature=0
vscsi0 at root
scsibus0 at vscsi0: 256 targets
softraid0 at root
scsibus1 at softraid0: 256 targets
root on wd0a (eeaba327d78804c1.a) swap on wd0b dump on wd0b

Основная задача, которую надо было решить, заключалась в автоматическом логине и запуске X. Решить её помог логин менеджер SLiM из пакета x11/slim.
Конфигурация проще некуда – в /etc/slim.conf прописать имя пользователя по умолчанию default_user yason, прописать auto_login yes и добавить SLiM в автозапуск:
$ cat /etc/rc.conf.local
ntpd_flags= # enabled during install
pkg_scripts="dbus_daemon slim"

Для показа слайд-шоу сначала думал использовать graphics/shotwell, но у него нет возможности запуска сразу в режиме слайд-шоу. Да и слишком монструозен он для такой машины и таких задач. Хотя рейтинги фото были бы полезны…
Потом я попробовал graphics/feh. Он больше отвечает моим нуждам – есть рандомайз, возможность привязки различных комманд на цифровые клавиши, но нет автоориентации фото по информации из EXIF тэгов.
В итоге остановился я на graphics/qiv. У программы практически идентичные feh возможности, но в добавок есть опция ориентации фотографий исходя из EXIF информации.
Для моих задач я запускаю qiv с таким набором флагов: qiv -lfusrmd 1 /home/yason/Pictures > ~/qiv.log 2>&1
Выдержки из мануала:
-l, --autorotate
Autorotate JPEGs according to EXIF rotation tag.
-f, --fullscreen
Use fullscreen window on start-up.
-u, --recursivedir
Change the behavior of qiv to recursively descend into the
directories given on the command line.
-s, --slide
Start slideshow immediately. This can also be used for the
desktop background (x/y/z).
-r, --random
Randomize slideshow.
-m, --maxpect
Expand image(s) to fit screen size while preserving aspect
ratio.
-d, --delay x
Set slideshow delay to x seconds.

То есть qiv запускается в режиме слайд-шоу на полный экран с резайзом фотографий до размеров экрана заглядывая в поддиректории и показывая фотографии с правильной ориентацией в пространстве, в случайном порядке по одной секунде.
Для автоматического запуска qiv надо добавить вышеописанную строку в файл .xinitrc пользователя, под которым будет автоматический вход в систему. В моём случае пользователь yason.
Теперь при запуске будет происходить автоматический запуск X, логин и запуск слайд-шоу.
В процессе эксплуатации выяснился один нюанс – сначала запускается скринсейвер X, а через некоторое время монитор переходит в спящий режим. Чтобы его от этого отучить добавил ещё две строки в .xinitrc:
xset -dpms
xset s off

Первая отключает энергосбережение, а вторая – скринсейвер.

Share

Поддержка USB модемов

This entry is part [part not set] of 2 in the series umsm

В общем мой ответ в misc@ о том как завести ZTE MF626, вылился в активную закулисную переписку о поддержке модемов вообще.
Вся сложность с этими модемаи в том, что они имеют на борту несколько устройств: cdrom, serial порт, card reader. Обычно всех интересует последовательный порт, который позволяет, посредстваом АТ команд, использовать сей девайс по назначению. А так как эти модемы предназначены в первую очередь для использования под_самой_распространённой_ос, то и все “удобства” заточены под ту самую ОС. А в этой ОС удобно следующее – воткнул модем, появился виртуальный КДПЗУ с софтом. Всё это дело автозапускается, софт ставится. Сам софт скрытно подтягивает драйвера и инициализирует устройство. Винда и так вечно ставит драйвера на одно и то же устройство, если его к разным портам подключать, а тут ещё и дополнительная иницализация. В общем суть этой софтины в том, чтобы:

  • сделать хорошо
  • предоставить интерфейс для SMS
  • позволить использовать USSD
  • предоставить большую кнопку “включить интернет”
  • И эта большая кнопка прекрасно работает, потому что софтина инициализировала модем и он стал не дефолтным устройством CDROM, а уже двумя – CDROM+modem.
    По умолчанию почти все модемы “прикидываются” накопителями. Задача userland или драйвера инициализировать режим модема.
    В винде понятно. В линуксе народ решает проблему при помощи софтины usb_modeswitch, которая, руководствуясь некоторыми правилами, отправляет ту или иную команду инициализации. Правило из себя представляет следующее:
    DefaultVendor= 0x05c6
    DefaultProduct= 0x1000

    TargetVendor= 0x0af0
    TargetProduct= 0x6901

    MessageContent="55534243123456780000000000000601000000000000000000000000000000"
    Default VendorID и ProductID – то, как устройство определяется изначально, т.е. ID накопителя. Target – то, чем устройство станет после отправки на него команды с содержанием MessageContent. На самом деле подобная свистопляска нужна не только для модемов. Есть подобные милые принтеры, Wi-Max адаптеры, мобильные телефоны.
    В OpenBSD все эти манипуляции выполняются драйверами, а не userland. В случае с модемами речь идёт о umsm(4). Драйвер отсылает команды инициализации устройству руководствуясь теми же принципами, что и usb_modeswitch в Linux. Да вот одна незадача. Ковыряясь с MF626 выяснилось, что производители пошли дальше для упрощения себе жизни. Они выпускают разные модели модемов, но с одинаковыми PID. Это пол беды. Для разных модемов с одинаковым PID нужны разные команды инициализации. А вот тут и наступает опа.
    В общем sthen@ и jsg@ задумались, как это разруливать.

    Share

    ZTE MF626 под OpenBSD

    This entry is part [part not set] of 2 in the series umsm

    В misc@ был задан вопрос о поддержке модема ZTE MF626 в OpenBSD. Так как у меня давно на столе лежит подобный агрегат от пчелайна, решил проверить, работает ли. Вставил туда давно заблокированную пчелайновску симку, купленную несколько лет назад в Киргизии и подключил к компу. Естественно ничего полезного не увидел:
    umsm0 at uhub0 port 3 configuration 1 interface 0 "ZTE, Incorporated ZTE CDMA Technologies MSM" rev 2.00/0.00 addr 2
    С “голым” umsm каши не сваришь. Попробовал по стандартному пути: подключил к винде, поставил драйвера с псевдо-КДПЗУ. Определились два последовательных порта: ZTE DIagnostic Interface и ZTE NMEA Device. Второй, через PuTTY ответил на AT комманду “OK”. Я нашёл список АТ комманд для этого модема и послал ему AT+ZCDRUN=8, получив в ответ “Close autorun state result (0:FAIL 1^:SUCCESS):1” и ОК. После этого модем пропал как накопитель из “моего компьютера”, а в OpenBSD благополучно определился как последовательный порт:
    umsm0 at uhub0 port 3 configuration 1 interface 0 "ZTE, Incorporated ZTE CDMA Technologies MSM" rev 2.00/0.00 addr 2
    umsm0: missing endpoint
    umsm1 at uhub0 port 3 configuration 1 interface 1 "ZTE, Incorporated ZTE CDMA Technologies MSM" rev 2.00/0.00 addr 2
    umsm1: missing endpoint
    umass0 at uhub0 port 3 configuration 1 interface 2 "ZTE, Incorporated ZTE CDMA Technologies MSM" rev 2.00/0.00 addr 2
    umass0: using SCSI over Bulk-Only
    scsibus5 at umass0: 2 targets, initiator 0
    sd3 at scsibus5 targ 1 lun 0: SCSI2 0/direct removable serial.19d20031567890ABCDEF
    umsm2 at uhub0 port 3 configuration 1 interface 3 "ZTE, Incorporated ZTE CDMA Technologies MSM" rev 2.00/0.00 addr 2
    ucom0 at umsm2

    Который отвечает на АТ команды:
    kirby@barton:ttyp2 % cu -l /dev/cuaU0 -s 9600
    Connected
    AT
    OK

    +ZUSIMR:2

    +ZUSIMR:2
    ~
    [EOT]
    Дальше проверить не могу, т.к. симка давно мертва, а других пчелайновских симок не имею, ибо не пользуюсь услугами данной компании :)

    P.S. для отката изменений и возвращения модема к “товарному виду” надо заслать в порт AT+ZCDRUN=9.

    P.P.S. Под OpenBSD модем прекрасно заработал с симкой от мелафона. Настройки элементарны – скопировать /etc/ppp/ppp.conf.sample в /etc/ppp/ppp.conf, отредактировать значение set device и allow user исходя из реалий. На моём ноутбуке я прописал /dev/cuaU0 и kirby соответственно.
    Подключение к интеренету командой ppp -ddial mobile.

    Share

    PowerMac G5

    Не так давно Martin Pieuchot добавил в OpenBSD поддержку процессора, который водится в моём PowerMac7,2. Весь патч в десяток строк.
    В результате на эту машину смог поставить OpenBSD для тестирования портов на платформе отличной от х86.
    Счастье было недолгим. Выяснилось, что на некотороых маках водится аж по два phy на встроенную сетёвку. Один phy, к примеру, отвечает за 10/100 MB/s, а второй – за 1000 MB/s. У меня машинка современная (2005 год розлива), так что сетёвка стоит гигабитная. OpenBSD умеет “подцеплять” только один phy. Вот она и “подцепила” гигабит. То есть без возможности использования меньших скоростей. Дома, естественно, гигабитных свитчей у меня не водится. А на 100 не заводится…
    Не беда. Есть заветная коробка с сетевыми картами. Выбор сетевки сильно ограничился тем, что в маке PCI разъёмы на 3.3 вольта, а подавляющее большинство сетёвок в коробке – на 5 вольт. Нашёл всего одну безымянную карточку на базе VIA VT6105 и кучку 3Com 905, которые имеют универсальные разъёмы 3.3+5 вольт. Типы PCI разъёмов
    Поставил карточки в мак, загрузился в OpenBSD. А в dmesg такие чудеса:
    xl0 at pci2 dev 3 function 0 "3Com 3c905C 100Base-TX" rev 0x74: irq 53,
    address 00:00:00:00:00:00
    xl0: WARNING: no media options bits set in the media options register!! xl0:
    this could be a manufacturing defect in your adapter or system xl0: attempting
    to guess media type; you should probably consult your vendor xl0: unknown
    device ID: 0 -- defaulting to 10baseT
    vr0 at pci3 dev 4 function 0 "VIA VT6105 RhineIII" rev 0x86: irq 54, address
    00:00:00:00:00:00

    И в ifconfig вместо MAC-адреса сплошные нули. Внимательное изучение вывода dmesg показало, что ни на одном из этих интерфейсов не нашлось phy.
    По совету Мартина проверил в OSX – 3Com работает, на VIA у макоси нет драйверов. Решил попробовать другие BSD и скачал FreeBSD 9.1 и NetBSD 6.0.1. Начать решил с Net. Зарезал болванку, покурил мануал по использованию Open Firmware применительно к загрузочному диску NetBSD. Не грузится – ошибку выдаёт. Ещё раз – ошибка, но другая. Зацепился за её содержание, нашёл в доках по NetBSD, что в случае этой ошибки делать то и то. Сделал, блядь, не подумав. В результате имею G5, который включается, но ничего не выводит на экран и не “звенит колокольчиками”. Finita la comedia.
    Впоследствии проанализировав содеянное понял, что не глядя урезал доступную памать для загрузчика. Причём, похоже, настолько, что подурнело даже OpenFirmware.
    Завтра узнаю, реально ли его оживить.
    [ using 500864 bytes of bsd ELF symbol table ]
    console out [NVDA,Display-B]console in [keyboard] , using USB
    using parent NVDA,Parent:: memaddr b8000000 size 8000000, : consaddr b8004000, : ioaddr b1000000, size 1000000: memtag 8000, iotag 8000: width 832 linebytes 1024 height 624 depth 8
    Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California. All rights reserved.
    Copyright (c) 1995-2013 OpenBSD. All rights reserved. http://www.OpenBSD.org

    OpenBSD 5.3-beta (GENERIC) #16: Thu Feb 7 23:38:42 MST 2013
    todd@macppc.openbsd.org:/usr/src/sys/arch/macppc/compile/GENERIC
    real mem = 536870912 (512MB)
    avail mem = 1029836800 (982MB)
    mainbus0 at root: model PowerMac7,2
    cpu0 at mainbus0: 970 (Revision 0x202): 1600 MHz
    mem0 at mainbus0
    spdmem0 at mem0: 512MB DDR SDRAM non-parity PC2700CL2.5
    spdmem1 at mem0: 512MB DDR SDRAM non-parity PC2700CL2.5
    memc0 at mainbus0: u3 rev 0x32
    kiic0 at memc0 offset 0xf8001000
    iic0 at kiic0
    "cy2213" at iic0 addr 0x65 not configured
    lmtemp0 at iic0 addr 0x4a: ds1775, fails to respond
    maxtmp0 at iic0 addr 0x4c: max6690
    maxtmp1 at iic0 addr 0x4e: max6690
    "cy28508" at iic0 addr 0x69 not configured
    fcu0 at iic0 addr 0xaf
    "pca9556" at iic0 addr 0x18 not configured
    adc0 at iic0 addr 0x2c: ad7417, config reset failed
    "24256" at iic0 addr 0x50 not configured
    "dart" at memc0 offset 0xf8033000 not configured
    "mpic" at memc0 offset 0xf8040000 not configured
    mpcpcibr0 at mainbus0 pci: u3-agp
    pci0 at mpcpcibr0 bus 0
    pchb0 at pci0 dev 11 function 0 "Apple U3 AGP" rev 0x00
    appleagp0 at pchb0
    agp0 at appleagp0: aperture at 0x0, size 0x10000000
    vgafb0 at pci0 dev 16 function 0 "NVIDIA GeForce FX 5200 Ultra" rev 0xa1, mmio
    wsdisplay0 at vgafb0 mux 1: console (std, vt100 emulation)
    ht0 at mainbus0: u3-ht, 8 devices
    pci1 at ht0 bus 0
    "Apple U3 HyperTransport" rev 0x00 at pci1 dev 0 function 0 not configured
    ppb0 at pci1 dev 1 function 0 "AMD 8131 PCIX" rev 0x12
    pci2 at ppb0 bus 6
    xl0 at pci2 dev 3 function 0 "3Com 3c905C 100Base-TX" rev 0x74: irq 53, address 00:00:00:00:00:00
    xl0: WARNING: no media options bits set in the media options register!!
    xl0: this could be a manufacturing defect in your adapter or system
    xl0: attempting to guess media type; you should probably consult your vendor
    xl0: unknown device ID: 0 -- defaulting to 10baseT
    ppb1 at pci1 dev 2 function 0 "AMD 8131 PCIX" rev 0x12
    pci3 at ppb1 bus 7
    vr0 at pci3 dev 4 function 0 "VIA VT6105 RhineIII" rev 0x86: irq 54, address 00:00:00:00:00:00
    ppb2 at pci1 dev 3 function 0 "Apple U3 PCI-PCI" rev 0x00
    pci4 at ppb2 bus 1
    macobio0 at pci4 dev 7 function 0 "Apple K2 Macio" rev 0x20
    openpic0 at macobio0 offset 0x40000: version 0x4614 feature 770302 LE
    macgpio0 at macobio0 offset 0x50
    "pmu-interrupt" at macgpio0 offset 0x9 not configured
    "programmer-switch" at macgpio0 offset 0x11 not configured
    "modem-reset" at macgpio0 offset 0x1d not configured
    "modem-power" at macgpio0 offset 0x1e not configured
    "fcu-interrupt" at macgpio0 offset 0x15 not configured
    "fcu-hw-reset" at macgpio0 offset 0x3a not configured
    "slewing-done" at macgpio0 offset 0x23 not configured
    "codec-input-data-mux" at macgpio0 offset 0xb not configured
    "line-input-detect" at macgpio0 offset 0xc not configured
    "codec-error-irq" at macgpio0 offset 0xd not configured
    "dig-hw-reset" at macgpio0 offset 0x14 not configured
    "line-output-detect" at macgpio0 offset 0x16 not configured
    "headphone-detect" at macgpio0 offset 0x17 not configured
    "codec-irq" at macgpio0 offset 0x18 not configured
    "headphone-mute" at macgpio0 offset 0x1f not configured
    "amp-mute" at macgpio0 offset 0x20 not configured
    "hw-reset" at macgpio0 offset 0x24 not configured
    "line-output-mute" at macgpio0 offset 0x25 not configured
    "codec-clock-mux" at macgpio0 offset 0x26 not configured
    "escc-legacy" at macobio0 offset 0x12000 not configured
    zsc0 at macobio0 offset 0x13000: irq 22,23
    zstty0 at zsc0 channel 0
    zstty1 at zsc0 channel 1
    kiic1 at macobio0 offset 0x18000
    iic1 at kiic1
    aoa0 at macobio0 offset 0x10000: irq 30,1,2
    i2s_set_rate: timeout
    audio0 at aoa0
    "timer" at macobio0 offset 0x15000 not configured
    adb0 at macobio0 offset 0x16000 irq 25: via-pmu, 0 targets
    apm0 at adb0: battery flags 0x9, 0% charged
    piic0 at adb0
    iic2 at piic0
    "fans" at macobio0 offset 0x4c not configured
    ohci0 at pci4 dev 8 function 0 "Apple K2 USB" rev 0x00: irq 27, version 1.0, legacy support
    ohci1 at pci4 dev 9 function 0 "Apple K2 USB" rev 0x00: irq 28, version 1.0, legacy support
    usb0 at ohci0: USB revision 1.0
    uhub0 at usb0 "Apple OHCI root hub" rev 1.00/1.00 addr 1
    usb1 at ohci1: USB revision 1.0
    uhub1 at usb1 "Apple OHCI root hub" rev 1.00/1.00 addr 1
    ppb3 at pci1 dev 4 function 0 "Apple U3 PCI-PCI" rev 0x00
    pci5 at ppb3 bus 2
    ohci2 at pci5 dev 11 function 0 "NEC USB" rev 0x43: irq 63, version 1.0
    ohci3 at pci5 dev 11 function 1 "NEC USB" rev 0x43: irq 63, version 1.0
    ehci0 at pci5 dev 11 function 2 "NEC USB" rev 0x04: irq 63
    usb2 at ehci0: USB revision 2.0
    uhub2 at usb2 "NEC EHCI root hub" rev 2.00/1.00 addr 1
    usb3 at ohci2: USB revision 1.0
    uhub3 at usb3 "NEC OHCI root hub" rev 1.00/1.00 addr 1
    usb4 at ohci3: USB revision 1.0
    uhub4 at usb4 "NEC OHCI root hub" rev 1.00/1.00 addr 1
    ppb4 at pci1 dev 5 function 0 "Apple U3 PCI-PCI" rev 0x00
    pci6 at ppb4 bus 3
    kauaiata0 at pci6 dev 13 function 0 "Apple K2 ATA" rev 0x00
    wdc0 at kauaiata0 irq 39: DMA
    atapiscsi0 at wdc0 channel 0 drive 0
    scsibus0 at atapiscsi0: 2 targets
    cd0 at scsibus0 targ 0 lun 0: ATAPI 5/cdrom removable
    cd0(wdc0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 2
    "Apple K2 Firewire" rev 0x00 at pci6 dev 14 function 0 not configured
    ppb5 at pci1 dev 6 function 0 "Apple U3 PCI-PCI" rev 0x00
    pci7 at ppb5 bus 4
    gem0 at pci7 dev 15 function 0 "Apple K2 GMAC" rev 0x00: irq 41, address 00:0a:95:8f:3d:84
    ukphy0 at gem0 phy 0: Generic IEEE 802.3u media interface, rev. 0: OUI 0x000000, model 0x0000
    ppb6 at pci1 dev 7 function 0 "Apple U3 PCI-PCI" rev 0x00
    pci8 at ppb6 bus 5
    pciide0 at pci8 dev 12 function 0 "ServerWorks K2 SATA" rev 0x00: DMA
    pciide0: using irq 0 for native-PCI interrupt
    pciide0: port 0: device present, speed: 1.5Gb/s
    wd0 at pciide0 channel 0 drive 0:
    wd0: 16-sector PIO, LBA48, 76319MB, 156301488 sectors
    wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 6
    pciide0: port 1: device present, speed: 1.5Gb/s
    wd1 at pciide0 channel 1 drive 0:
    wd1: 16-sector PIO, LBA48, 238475MB, 488397168 sectors
    wd1(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 6
    pciide0: port 2: PHY offline
    pciide0: port 3: PHY offline
    pciide1 at pci8 dev 12 function 1 "ServerWorks K2 SATA" rev 0x00
    rsu0 at uhub2 port 3 "Manufacturer Realtek ASUS EZ N Network Adapter" rev 2.00/2.00 addr 2
    rsu0: MAC/BB RTL8712 cut 3, address c8:60:00:5e:11:bb
    uhidev0 at uhub3 port 1 configuration 1 interface 0 "D-Link KVM-221" rev 1.00/0.01 addr 2
    uhidev0: iclass 3/1
    ukbd0 at uhidev0: 8 variable keys, 6 key codes
    wskbd0 at ukbd0: console keyboard, using wsdisplay0
    uhidev1 at uhub3 port 1 configuration 1 interface 1 "D-Link KVM-221" rev 1.00/0.01 addr 2
    uhidev1: iclass 3/1
    ums0 at uhidev1: 5 buttons, Z dir
    wsmouse0 at ums0 mux 0
    uhub5 at uhub4 port 2 "Mitsumi Electric Hub in Apple Extended USB Keyboard" rev 1.10/4.00 addr 2
    uhidev2 at uhub5 port 3 configuration 1 interface 0 "Mitsumi Electric Apple Extended USB Keyboard" rev 1.10/4.00 addr 3
    uhidev2: iclass 3/1
    ukbd1 at uhidev2: 8 variable keys, 6 key codes, country code 13
    wskbd1 at ukbd1 mux 1
    wskbd1: connecting to wsdisplay0
    uhidev3 at uhub5 port 3 configuration 1 interface 1 "Mitsumi Electric Apple Extended USB Keyboard" rev 1.10/4.00 addr 3
    uhidev3: iclass 3/0, 3 report ids
    uhid0 at uhidev3 reportid 2: input=1, output=0, feature=0
    uhid1 at uhidev3 reportid 3: input=3, output=0, feature=0
    vscsi0 at root
    scsibus1 at vscsi0: 256 targets
    softraid0 at root
    scsibus2 at softraid0: 256 targets
    bootpath: /ht/pci@7/k2-sata-root/k2-sata@1/disk@0:/bsd
    root device (default wd0a): wd1a
    swap device (default wd1b):
    root on wd1a swap on wd1b dump on wd1b

    Share