На днях Windows, установленная на SD – карту приказала долго жить. Не вынесла жестокого обращения в виде установки на ее софта для управления сотовым телефоном. При это сама карточка осталась цела, но файловая система на ней превратилась в лапшу. Это, собственно было последней каплей.
Во-первых, страшно достала dual-boot система.
Во-вторых, держать WinXP-подобную систему на SD-карте – чистое смертоубийство – скорость более чем удручающая. Да и для флешки вредно.
На помощь пришел VirtualBox.
VirtualBox (далее VB) – бесплатная программа для работы с виртуальными машинами. То есть на одном компьютере можно установить несколько гостевых систем и пользоваться ими (в том числе и одновременно) без особой потери производительности.
Существует 2 версии VB – OpenSource и не-OpenSource, соответственно. Из «пользовательских» фич в закрытой версии есть поддержка USB устройств и сети.
Инструкция по установке есть на официальном сайте.
Некоторые особенности установки системы на Debian@EEEpc.
Первая проблема, с которой пришлось столкнуться – не собирался модуль ядра, который подгружается «на ходу». Обычно на EEE устанавливается минимальная система, и конечно же – в ней «нет места» для исходных текстов ядра и прочего. Благо, виртуалка для сборки ядра была извлечена из бэкапа и на нее была скопирована директория /usr/share/virtualbox.
После этого нужно было сделать кое-какие изменения, а именно – определить переменную KERN_DIR и запустить make в директории /usr/share/virtaulbox/src.
KERN_DIR, понятное дело, нужно «упереть» в директорию, где лежат исходники текущего на EEE-ядра. После сборки нужно выполнить обратный перенос на асус. Следующий шаг – уже на EEE – скопировать собранный модуль в его расположение – /lib/modules/ядро и выполнить depmod -ae.
Внимание! После этого из директории /etc/vbox (или virtualbox ??) нужно удалить пустой файл «not-compiled» или с каким-то похожим говорящим названием. По нему определяется, что, собственно будет происходить – загрузка модуля или его компиляция при отработке init.d.
После этого скрипт /etc/init.d/vboxdrv с параметром start должен выполниться, равно как и /etc/init.d/vboxnet.
Естественно, на крошечном SSD EEE нет никакого смысла создавать образ виртуального диска и запускать VB. Поэтому для полноценной работы нам понадобится SD-карточка. Я разбил fdisk’ом свою карту 8ГБ на 2 партиции – первая – FAT32, вторая ex2fs, которая монтируется в /vm. Имеет смысл применить опции в fstab, на подобные тем, которые используются для монтирования / для уменьшения износа.
Перед первым запуском VirtualBox лучше сразу подключить внешний монитор – интерфейс VB довольно «крупный».
Еще тонкий момент – лучше сразу запускаться из под sudo. Не будет проблем (скорее всего) с usbfs.
Итак:
sudo VirtualBox
Принимаем лицензию, регистрируемся по желанию. Далее, приступаем к конфигурации. Для начала нужно поменять расположение виртуальных машин и дисков – перенесем их на SD-карту.
После этого можно создавать «виртуалку».
Поскольку в моем EEE аж целых 2гб ОЗУ, то 1 гб можно смело подарить VirtualBox. В остальном – все очень похоже на конфигурацию виртуальных машин от VMWare и MS VirtualPC.
Отдельной строкой можно выделить настройку USB – фильтров. Суть в том, что при создании фильтра можно указать критерии, по которым свежевоткнутые устройства отдаются VB. В VMWare для Windows устройства отдаются в том случае, если окно активно. В VB такой настройки нет, но фильтры в основном решают эту проблему.
Когда настройка закончена, можно установить систему на виртуальную машину.
Как только установка завершена, не забываем установить «дополнения VirtualBox» из меню виртуальной машины.
Как только все заработало – виртуальную машину можно стартовать из консоли командой (наличие X-Window обязательно)
VBoxSDL -vm ВИРТУАЛКА -fullscreenresize
В этом случае окно занимает максимальную площадь, плюс к этому – его можно вывести в полноэкранный режим ( комбинация клавиш зависит от текщего менеджера окон).
У меня виртуальный диск занимает 3гб из 4х. Установлена Windows FLP, no swap. Общие впечатления – система здорово тормозит на этапе загрузки, но потом это с лихвой компенсируется скоростью общей работы – просто не сравнить с инсталляцией на SD через патченный дистрибутив.
Поскольку VB требуется не всегда – имеет смысл удалить модули из автозагрузки и подгружать их непосредственно перед запуском виртуальной машины, а после – выгружать.
- Итак, линукс теперь умеет работать с неподдерживаемыми USB устройствами.
- Работает IE7 – это важно, например для работы с WebMoney – мне так и не удалось подсунуть сертификат WM в IceWeasel (FireFox)
- Можно, опять таки, посмотреть баланс на билайновском модеме с остатком траффика ( можно создать отключаемый фильтр для ZTE)
- Для работы в Windows не нужно перезагружаться
Ну и наконец, чтобы не быть голословным, небольшое видео запуска и подключения GBA ELink.