sir AEnu Hlaalu (siraenuhlaalu) wrote in yota_russia,
sir AEnu Hlaalu
siraenuhlaalu
yota_russia

Linux & Yota. (Mini-HowTo)

Я описываю процесс под ALTLinux Sisyphus, под другие дистрибутивы все должно быть аналогично.
1) Ставим Qemu
# apt-get install qemu
2) Скачиваем MS Windows Fundamentals For Legacy PCs, я, например, брал отсюда (торрент) (Поскольку у меня на ноутбуке снизу его производителем приклеена наклейка "MS Vista Basic", изза которой я заплатил аж на целых 50$ больше за ноутбук, то моя совесть чиста). Ищем в гугле серийник для корпоративной Windows XP SP2 (в гугле по запросу "windows xp corp serial" четвертая ссылка)
3) Готовим образ для жесткого диска с Windows
# dd if=/dev/zero of=WindowsXP_For_Qemu.img bs=1M count=1400
где count= - количество мегабайт, которые нужно скопировать. Для Windows XP Legacy требуется от 640 до 740 МБ, но я сделал побольше.
4) Создаем скрипт настроек сети под Linux
cat > qemu-ifup
#!/bin/bash
ip=/sbin/ip
$ip li set tap0 up
$ip ro sh |grep default>~/tmp/routes-save
$ip ro del default
$ip a add 192.168.0.2/24 dev tap0
$ip ro add default dev tap0 via 192.168.1.2
cat /etc/resolv.conf>~/tmp/resolv.conf-save
echo "
nameserver 192.168.1.1
">/etc/resolv.conf
update_chrooted conf
^d
cat > qemu-ifdown
ip ro del default
cat /tmp/resolv.conf-save>/etc/resolv.conf
update_chrooted conf
ip li set tap 0 down
ip ro add `cat ~/tmp/routes-save`
5) Ставим MS Windows
# qemu -boot d -cdrom Windows-CD.img -hda WindowsXP_For_Qemu.img -m 512 -win2k-hack -net nic,model=rtl8139 -net tap,iface=tap0,script=./qemu-ifup
На единственном сетевом интерфейсе указываем IP-адрес 192.168.0.1, маску сети 255.255.255.0
6) После последней перезагрузки, выключаем Windows и запускаем ее заново с новыми параметрами.
# qemu -boot c -hda WindowsXP_For_Qemu.img -m 256 -net nic,model=rtl8139 -net tap,iface=tap0,script=./qemu-ifup -usb -usbdevice host:04e9:6761
Ставим драйвера как обычно в Windows
7) Настраиваем NAT на интерфейсе WIMAX
Пуск->Control Panel->Network Connections->правой кнопкой долбим на Local Area Connection 2->Properties->Вкладка Advanced-> ставим галочку "Allow other network users to connect through this computer's Internet Connection." Убираем другую галочку на этой вкладке, если она стоит.->нажимаем кнопку 'OK'
8) Выключаем виртуалку с Windows, запускаем ее заново, уменьшив количество оперативной памяти
# qemu -boot c -hda WindowsXP_For_Qemu.img -m 128 -net nic,model=rtl8139 -net tap,iface=tap0,script=./qemu-ifup -usb -usbdevice host:04e9:6761; ~/qemu-ifdown
Пользуемся интернетом.

UPD0: На некоторых линуксах возникает проблема с тем, что устройство пытается подхватить драйвер usb-storage, загружаемый какой-то службой автомонтирования. Симптомы такого поведения следующие - qemu при запуске виснет, а в заголовке его окна написано "Qemu (stopped)", лечится это либо добавкой соответствующего правила к udev, либо удалением модуля usb-storage перед втыканием модема.
Вот волшебный скрипт, который удаляет устройство из под юрисдикции модуля usb-storage
#!/bin/bash
for f in /sys/bus/usb/drivers/usb-storage/* ; do
if [ -d $f ] ; then
if [ -f $f/uevent ] ; then
vendor=`cat $f/uevent|grep PRODUCT|cut -f2 -d=|cut -f1 -d"/"`
model=`cat $f/uevent|grep PRODUCT|cut -f2 -d=|cut -f2 -d"/"`
echo $model $vendor

if [ $model=='6761' -a $vendor=='04e9' ] ; then
device=`echo $f | cut -f 7 -d'/'`
echo "Device found, disabling $vendor $model"
echo -n $device > /sys/bus/usb/drivers/usb-storage/unbind
fi
echo $path
fi
fi
done

UPD1: Исправлен скрипт подключения, добавлен скрипт отключения.
UPD2: Добавлен скрипт удаления устройства от usb-storage
Tags: linux, команда yota, по, тест, техподдержка
Subscribe
  • Post a new comment

    Error

    Comments allowed for members only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 45 comments