Запуск QEMU-хоста в GNS3

Сегодня понадобилось собрать для тестирования MPLS вот такую лабу. Для работы со сложными топологиями очень удобна программа GNS3, которая является графической надстройкой над dynamips/dynagen и QEMU. В первую очередь она пригодится для подготовки к экзаменам Cisco, т.к. PacketTracer умеет далеко не все. Мне было необходимо запустить несколько экземпляров RouterOS, соединить их, настроить маршрутизацию и MPLS.

Но при создании QEMU-хоста возникла проблема. Если просто создать хост и запустить, то все хорошо, консоль работает, телнет коннектится, но стоит только добавить линки с другими узлами (а это можно делать только в выключенном состоянии, т.к. GNS3 пока не умеет hot-link), то QEMU-хост больше не стартует. Опытным путем удалось установить, что дело в qemu-kvm, который в Ubuntu собран без поддержки udp. Было принято решение собрать свой пакет с нужной фунциональностью.

На форуме GNS есть множество патчей под разные версии, но мне было лень править их под последнюю, которая есть в репозиторях Ubuntu. Поэтому я скачал патчи из репозитория Gentoo (сюрприз-сюрприз, тут все работает из коробки :) ). Из архива мне понадобился только 0029-Integrating-Dynamips-and-GNS3-UDP-tunnels-Patches.patch

mkdir qemu-kvm
cd qemu-kvm
sudo apt-get build-dep qemu-kvm
apt-get source qemu-kvm
wget -c http://dev.gentoo.org/~lu_zero/distfiles/qemu-1.0-patches.tar.xz
tar xvJf qemu-1.0-patches.tar.xz
cd qemu-kvm-1.0+noroms/
patch -p1 < ../patches/0029-Integrating-Dynamips-and-GNS3-UDP-tunnels-Patches.patch
dpkg-buildpackage -b -uc -nc -j4
sudo dpkg -i ../qemu_1.0+noroms-0ubuntu13_amd64.deb

После этих действий QEMU-хосты можно соединять и они будут нормально стартовать и работать.
P.S.: вроде как в QEMU версии 1.1 обещают включить эту фунциональность в апстрим.

О нужности HAL в Xorg

Горячая дискуссия разгорелась в мэйл-листе xorg.
Напомню, что в xorg-server-1.5.x конфигурация устройств ввода оществляется не в xorg.conf, а через HAL. Это позволяет подключать различные клавиатуры и мышки «на лету» и они будут работать без необходимости рестарта иксов.
Но эта лёгкость омрачается правкой xml-конфигов HAL’а вместо human-readable файла xorg.conf. К тому же вылезают многочисленные проблемы, связанные с поддержкой национальных раскладок. Только недавно мне удалось настроить клавиатуру через HAL, чтобы помимо us-раскладки была ещё и русская.

/etc/hal/fdi/policy/10-keymap.fdi

<?xml version="1.0" encoding="ISO-8859-1"?> 
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keymap">
      <append key="info.callouts.add" type="strlist">hal-setup-keymap</append>
    </match>

    <match key="info.capabilities" contains="input.keyboard">
      <merge key="input.xkb.rules" type="string">base</merge>
      <merge key="input.xkb.layout" type="string">us,ru</merge>
      <merge key="input.xkb.options" type="string">grp:shift_caps_toggle,grp_led:scroll,caps:internal,compose:ralt</merge>
    </match>
  </device>
</deviceinfo>

И это вместо двух строчек в xorg.conf:

Option "XkbLayout" "us,ru"
Option "XkbOptions" "grp:shift_caps_toggle,grp_led:scroll,caps:internal,compose:ralt"

Конечно же всю эту радость можно отключить при компиляции сервера и вернуться к старому доброму xorg.conf.

Опубликовано в Linux. 8 комментариев »

Shutdown dialog в KDE 3 с поддержкой suspend hybrid

Без сторонних патчей KDE 3 не поддерживает режимы suspend и hibernate. Разработчики Kubuntu постарались и сделали красивый диалог завершения.

Shutdown dialog в Kubuntu

Вот только поддержки suspend hybrid там не оказалось. Поэтому я немного дополнил патч (в основном это был обычный copy&paste :) ).

Shutdown dialog

Скачать патч можно тут (он накладывается поверх патчей из Kubuntu).

Настройки диалога берутся из файла ~/.kde/config/power-managerrc. Например у меня он выглядит так:

lockOnResume=false
#disableSuspend=true
#disableHibernate=true
#disableSuspendHybrid=true

Для пользователей Gentoo я выложил свой оверлей. После его добавления достаточно будет установить ksmserver. В будущем планирую прикрутить какую-нибудь vcs для человеческого обновления оверлея.

Опубликовано в Gentoo, KDE, Linux, Tips&Tricks. Leave a Comment »

Suspend Hybrid

Suspend Hybrid это нечто среднее между hibernate и suspend. В Mac OS X эта технология известна под названием Safe Sleep. У данного режима есть свои достоинства:

  • энергонезависимость — даже если полностью отключить питание или вытащить батарею в ноутбуке, то останется возможность восстановить состояние компьютера;
  • скорость восстановления — такая же, как и у режима suspend

И недостатки:

  • скорость «засыпания» — такая же, как и у режима hibernate
  • возможность механических повреждений жёсткого диска — особенно актуально для владельцев ноутбуков с трясущимися руками :)

Я использую ядро с патчами TuxOnIce. Проверить, поддерживает ли ваша система гибридный режим, можно с помощью HAL:
% lshal | grep power_management.can_suspend_hybrid
power_management.can_suspend_hybrid = true (bool)

В конфиге для pm-utils необходимо указать, какой модуль для засыпания необходимо использовать. В случае с Gentoo это будет /etc/pm/config.d/gentoo:

SLEEP_MODULE="tuxonice"

После этого можно попробовать отправить компьютер поспать :)

sudo pm-suspend-hybrid

Опубликовано в Gentoo, Linux. 1 Comment »

Обновление BIOS ноутбука Dell Inspiron 1525 в Gentoo Linux

Уже более полугода я являюсь счастливым обладателем ноутбука Dell Inspiron 1525. После долгой настройки под себя осталась одна маленькая деталь — обновление BIOS. На официальном сайте Dell предлагается 2 способа: с помощью Windows и с помощью досовской дискеты. Windows у меня, разумеется, не установлена, а дискетку просто физически некуда засунуть :)

Изучая сайт linux.dell.com, наткнулся на упоминание флешера под линукс — biosdisk. Оказывается, он уже есть в portage.

Обновление BIOS у меня свелось к нескольким простым шагам:

1. Устанавливаем biosdisk

# emerge biosdisk

2. Скачиваем последнее обновление BIOS с сайта Dell. В моём случае это был файл 1525_A16.EXE

3. Монтируем загрузочный раздел /boot (если он уже не примонтирован):

# mount /boot

4. Копируем memdisk, необходимый для работы флешера, в загрузочный раздел:

# cp /usr/share/syslinux/memdisk /boot

5. Устанавливаем флешер в загрузчик:

# biosdisk install 1525_A16.EXE

Данная команда автоматически добавит новую запись в menu.lst.

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

Будьте внимательны!

Опубликовано в Dell Inspiron 1525, Gentoo, Linux, Tips&Tricks. 1 Comment »

Проверка орфографии в OpenOffice.org

Буквально на днях появились ебилды для сборки OpenOffice.org из исходников. Бинарная сборка была доступна в portage почти сразу же после релиза. Но так сложилось, что я этой сборкой не пользуюсь. Поэтому приходится ждать ебилдов :)
Сразу после обновления выяснилось, что цифра 2 из названия всех исполнимых файлов офисного пакета исчезла. В результате kicker ругнулся на отсутствующий файл oowriter2, когда я попытался запустить Writer с панели.
Что самое неприятное, приходится каждый раз после установки OOO добавлять русские словари для проверки орфографии. Дело в том, что файл /usr/lib/openoffice/share/dict/ooo/dictionary.lst заменяется стандартным, в котором про русский язык ничего нет.
Оказывается, установку словарей и редактирование файла dictionary.lst можно автоматизировать и осуществить стандартными средствами Gentoo.

sudo emerge myspell-en myspell-ru
sudo eselect oodict set myspell-en myspell-ru

Собственно, всё :)

preved.png

Опубликовано в Gentoo, Linux, Tips&Tricks. 11 комментариев »

Opera segmentation fault

Обновил сегодня world, и Opera перестала работать. Оказалось, что дело в новой libX11. Opera Desktop Team operaтивно выпустили hotfix :)

Опубликовано в Linux, Opera. 2 комментария »