Как сохранить консольное удалённое управление осуществляемое по Intel AMT, после перехода FreeBSD в "the boot loader code and the kernel".Имеем:
Мать с Intel AMT.
Консоль Intel AMT эмулирует Serial VT100.
FreeBSD 8.X или FreeBSD 9.X (напоминаю, что sio больше нет - есть только uart)
Обработка "the boot block code" и "the boot loader code" видна с Serial-over-LAN по Intel AMT. То есть можно наблюдать старт и меню выбора типа запуска FreeBSD, пробел нажать, выбрать другой тип или ребутнуться и т.д.
А вот как только система начинает грузиться, устройства перечислять, предлагать login – (это уже "the kernel" всё, если не ошибаюсь) - так сразу и "видео" и клавиатура отрубаются.Задача:
Хочется чтобы и ядро работало выводя "видео" и управляясь с консоли Intel AMT - ведь она, по идее, никуда не девается из системы.
Как это сделать?Найдено всего одно упоминание о таком же вопросе от 2007 года и без решения:
http://lists.freebsd.org/pipermail/freebsd-stable/2007-March...С IPMI же как-то разрулили профи консоль удалённую во FreeBSD... как с Intel AMT делать?
>[оверквотинг удален]
> Задача:
> Хочется чтобы и ядро работало выводя "видео" и управляясь с консоли Intel
> AMT - ведь она, по идее, никуда не девается из системы.
> Как это сделать?
> Найдено всего одно упоминание о таком же вопросе от 2007 года и
> без решения:
> http://lists.freebsd.org/pipermail/freebsd-stable/2007-March...
> С IPMI же как-то разрулили профи консоль удалённую во FreeBSD... как с
> Intel AMT делать?
>= 8.2для SOL via Serial/Uart port 1 (COM2)
/boot/loader.conf
# sol
boot_multicons="yes"
console="comconsole vidconsole"
comconsole_speed="57600"# man 4 uart
...
hint.uart.0.flags="0x10"With flags encoded as:
0x00010 device is potential system console
...соответственно flag потенциальной консоли by default на COM1, см ниже, если
для COM2, комментарим его для COM1 и задаем для COM2 (Serail/COM/UART - суть одно
и тоже устройство)/boot/device.hints
hint.uart.0.at="isa"
hint.uart.0.port="0x3F8"
#hint.uart.0.flags="0x10"
hint.uart.0.irq="4"
hint.uart.1.at="isa"
hint.uart.1.port="0x2F8"
hint.uart.1.irq="3"
hint.uart.1.flags="0x10"/etc/ttys
ttyu1 "/usr/libexec/getty std.57600" vt100 on secureвсе
>[оверквотинг удален]
> hint.uart.0.port="0x3F8"
> #hint.uart.0.flags="0x10"
> hint.uart.0.irq="4"
> hint.uart.1.at="isa"
> hint.uart.1.port="0x2F8"
> hint.uart.1.irq="3"
> hint.uart.1.flags="0x10"
> /etc/ttys
> ttyu1 "/usr/libexec/getty std.57600" vt100 on secure
> вседа, скорость на порту должна быть везде одинакова:
- в настройках SOL (в BIOS)
- в loader.conf
- в /etc/ttys для getty (например std.57600 из /etc/gettytab)
FreeBSD 8.2
Похоже что не всё так просто - сам "Serial over LAN" отсутствует в системе (был спутан с обычным "Serial Port", который отлично работает и с него-то всё управляется посредством провода, но задачи не те - был отключен в BIOS, после чего и обнаружилось досадное обстоятельство с эмулированным "Serial Port").none1@pci0:0:3:3: class=0x070002 card=0x10048086 chip=0x2e178086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = 'Intel PCI Serial Port (CC_0700)'
class = simple comms
subclass = UARTВот что наблюдаем.
Похоже что по-умолчанию FreeBSD не цепляет данный Serial Port.Зацепить ndisgen виндовый драйвер SOL (из MEI_AMT_ALLOS_6.1.0.1042_PV от 2009 года или из LMS_SOL_AllOS_5.4.0.1065_PV от 2007 года) не получится, потому пересобираем ядро с "device puc", как нам советуют тут: http://lists.freebsd.org/pipermail/freebsd-stable/2010-June/...
... и убеждаемся, что данный "Serial Port" не подключается и при наличие puc.Пытаемся править pucdata.c с целью добавить вендоры однопортового Serial порта от Intel, но и это не даёт эффекта.
Ставим FreeBSD 9.0 - эффекта нет.
Правда теперь устройство называется по-другому, чтобы запутать людей:
none1@pci0:0:3:3: class=0x070002 card=0x10048086 chip=0x2e178086 rev=0x03 hdr=0x00
vendor = 'Intel Corporation'
device = '4 Series Chipset Serial KT Controller'
class = simple comms
subclass = UART
Помогите зацепить данный 'Intel PCI Serial Port (CC_0700)' - очень надо! (и не только мне одному - всем полезно будет), а то виндусоводы смеются над нами, что нам Intel запретила AMT пользоваться. ;( Не хочу винду серверную ставить только из-за того, что Intel под неё драйвер SOL от AMT ещё в 2004 году сделала, а на free до сих пор нету ничего...
На FreeBSD 10.3 заработало так:1) Нужно узнать io порт у uart-a (у меня это uart2):
# dmesg | grep uart2
uart2: <4 Series Chipset Serial KT Controller> port 0x1c90-0x1c97 mem 0xfc426000
-0xfc426fff irq 17 at device 3.3 on pci02) в loader.conf явно прописать comconsole_port
/boot/loader.conf
boot_multicons="YES"
boot_serial="YES"
comconsole_speed="9600"
console="comconsole,vidconsole"
comconsole_port="0x1c90"Теперь бы ещё кто-нибудь сваял termcap entry для нормальной поддержки AMT-шного терминала. Критерий: возможность работы в vi.