Реализация модуля отладки ядра для гостевой ОС Linux внутри виртуальной машины VmWare

Извините за довольно длинный пост.

Мне нужны комментарии относительно проекта, которым я собираюсь заняться.

Я пытаюсь создать приложение, которое собирает информацию об отладке ядра из гостевой ОС Linux, расположенной внутри виртуальной машины VmWare, и эффективно отправляет ее в ОС хоста.

Пока что нашел похожий проект, но написанный для Windows [1]. Автор проекта написал DLL, которая загружается в память и заменяет реализацию функций KdSendPacket и KdReceivePacket на использование механизма VmWare GuestRpc [2] вместо медленного последовательного порта. Затем данные отправляются в приложение отладки на хосте (Kd или WinDbg) через именованный канал.

Автор утверждает, что существует ускорение до 45% за счет исключения передачи через последовательный порт.

Я пытаюсь добиться чего-то подобного, но для Linux, и пытаюсь сделать процесс отладки немного быстрее, чем при использовании последовательного порта.

Мои конкретные вопросы:

  1. Существуют ли подобные приложения? Мне ничего не удалось найти.
  2. Стоит ли такое приложение того, если сравнивать его функциональность, например, с netconsole [3]?
  3. Какой метод перехвата сообщений printk вы бы предложили?
  4. Есть ли эквивалент KdSendPacket / KdReceivePacket в Linux?

[1]. http: //virtualkd.sysprogs.org / dox / operation.html

[2]. http://articles.sysprogs.org/kdvmware/guestrpc.shtml

[3]. http://www.kernel.org/doc/Documentation/networking/netconsole.txt

7
задан user852689 3 March 2012 в 20:27
поделиться