понедельник, 19 мая 2008 г.

Мой кот предпочитает чежское :)

Вообще-то он пьёт любое пиво, главное чтобы с него газы вышли, он их не любит :)


А потом нажравшись отправляется спать:


А это он после дня рожденья:


Вот такой у меня кот :)

Создаём программы для WinMobile на Linux'e

Если вы хотите писать/написать какую/ие-то программы для своего PDA удобно располагаясь при этом в любимой ОС(линуксе конечно), то для этого можно воспользоватся компилятором CeGCC. Вот как я устанавливал этот замечательный кросс-компилятор на свой Debian:

Сначала переходим в свой домашний каталог:
$cd ~

Часть 1:
----------------------------------
Качаем cegcc с сайта http://sourceforge.net/projects/cegcc. Я качал версию 4.3.0:
~$wget -c http://switch.dl.sourceforge.net/sourceforge/cegcc/cegcc-gcc430.tar.gz

Но имеется проблемка, у меня система amd64, а скомпилированную cegcc можно загрузить только версию для i386. Поэтому если вы не счастливый обладатель amd64 то можете не читать строки ниже, а смело переходите к части 2.
Устанавливаем ia32-libs:
$sudo apt-get install ia32-libs

Загружаем необходимый пакет libgmp3:
$wget http://ftp.de.debian.org/debian/pool/main/g/gmp/libgmp3c2_4.2.2+dfsg-3_i386.deb

Создаём каталог /usr/linux32:
$sudo mkdir /usr/linux32

Распаковываем туда наш deb-пакет:
sudo dpkg -x 'libgmp3c2_4.2.2+dfsg-3_i386.deb' /usr/linux32

Чтобы эту библиотеку система могла найти создадим файл /etc/ld.so.conf.d/linux32.conf с таким содержимым:
/usr/linux32/usr/lib
/usr/linux32/lib

и выполним ldconfig:
$sudo /sbin/ldconfig

Часть 2:
----------------------------------
Переходим в корневой каталог:
$cd /

Распаковываем архив с CeGCC:
$sudo tar --gzip -xvf ~/cegcc-gcc430.tar.gz

В результате, в /opt должны распаковаться 2 папки - cegcc и mingw32ce, создадим для них отдельную папку и переместим туда:
$sudo mkdir /opt/wince
$cd /opt/wince
$sudo mv ../cegcc .
$sudo mv ../mingw32ce .

Теперь, для удобства вызова можно создать ссылки на компилятор cegcc в /usr/bin:
$sudo ln -s /opt/wince/mingw32ce/bin/arm-mingw32ce-gcc /usr/bin

Проверяем работоспособность компилятора. Для этого создадим файл test.c с таким содержанием:
#include
int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nCmdShow)
{
MessageBoxW(0, L"HELLO WORLD!", L"HELLO!", 0);
}

Попытаемся скомпилировать:
$ arm-mingw32ce-gcc -o test.exe test.c

Должен получится целевой файл test.exe. При использовании на своём девайсе не забудьте в папку с программой положить /opt/wince/cegcc/arm-cegcc/lib/cegcc.dll
Пользуемся!

Часть 3:
----------------------------------
Не так давно trolltech создала версию своей кросплатформенной библиотеки Qt для Windows CE платформы. В связи с таким событием появилось желание создавать qt-программы на линукс для целевой платформы Windows Mobile. Но есть проблема: в состав пакета программ cegcc не входит компилятор "arm-mingw32ce-g++". Основываясь на информации из списка рассылки http://www.mail-archive.com/cegcc-devel@lists.sourceforge.net/msg01155.html работа над компилятором g++ ещё не закончена. Так что придется пока подождать....

среда, 5 декабря 2007 г.

Glofiish M700

Вот приобрёл недавно этот супер-комбайн. Покупкой остался доволен. Но нашёл несколько глюков, но здесь уже недоработки дяди Билла. Хреново то что подавляющее число программ для Pocket PC платные, и честно говоря как и большинство других программ для Windows, написаны через одно место разными быдлокодерами. Я даже будильник бесплатный еле нашёл на просторах инета ;) В связи с этой сложной технической обстановкой, есть два варианта выхода из кризиса - начать самому писать программы для PocketPC, либо поставить туда линукс :) Хотя последнее, может и удастся, но толку не будет. Все равно не один на данный момент из мобильных дистрибутивов Линукс не поддерживает сей девайс.




понедельник, 3 декабря 2007 г.

А всё таки, в винде что-то есть!

Ну а как ещё можно сказать? Благодаря ей между прочим, я сегодня не потерял свою безценную информацию с проектом СЭД хранившуюся на флэшке. Линукс писал так:
$dmesg
...
usb 2-5: new high speed USB device using ehci_hcd and address 4
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
usb 2-5: new high speed USB device using ehci_hcd and address 5
hub 2-0:1.0: Cannot enable port 5. Maybe the USB cable is bad?
usb 2-5: new high speed USB device using ehci_hcd and address 6
CSLIP: code copyright 1989 Regents of the University of California
PPP generic driver version 2.4.2
NET: Registered protocol family 24
usb 2-5: device not accepting address 6, error -71
usb 2-5: new high speed USB device using ehci_hcd and address 7
usb 2-5: device not accepting address 7, error -71

Биос вообще не хотел грузиться до загрузчика с воткнутой флэшкой. А вот вставил я её в Висте и она бах и открылась как нивчём не бывало. Невероятно но факт!

Слава дяде Биллу!

суббота, 17 ноября 2007 г.

Стилизация Linux под Vista

Тут сегодня батьке решил создать аккаунт на своём линукс разделе, чтобы приобщить так сказать к этой системе. А чтобы совсем страшно не казалось, решил сделать стилизацию под Висту. Особо конечно не заморачивался, но вот что в итоге получилось:





И всё это установлено на моём домашнем Debian Lenny (amd64)

понедельник, 12 ноября 2007 г.

Спутниковый интернет через GRE-туннель

Тут недавно маленькое счастье произошло. Мой пров спутникового инета (Raduga: http://d-v.ru) вдруг решил изменить тип фильтрации подписки на фильтрацию по MAC адресу. И теперь стало возможным использовать GRE-туннель вместо предыдущего типа подключения - OpenVPN. Для использования GRE подключения необходимо иметь "реальный" IP адрес наземного канала. Так что если наземный IP не попадает в диапазоны 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255 то он и есть реальный. Для такого подключения не нужны электронные ключи которые выдаёт провайдер для подключения по OpenVPN. Логин и пароль тоже не нужны как в случае с VPN, да и вообще GRE-подключение намного проще и соединение устанавливается быстрее. Ну и вообщем, для автоматизации процесса соединения, мною собственноручно был состряпан bash скрипт.

Таким образом, для подключения делаем:
$sudo /usr/sbin/upgre start
Попытка залочить сигнал со спутника...успешно
Установка подключения по наземному каналу...успешно
Реальный IP: 90.188.250.164
Адрес шлюза: 195.46.116.198
Поднятие GRE-туннеля...успешно
Проверка работоспособности интерфейса...успешно


А для отключения:
$sudo /usr/sbin/upgre stop

Как установить:
$mkdir ~/.upgre
$cd ~/.upgre
$wget http://anterior1.narod.ru/upgre.tar.gz
$tar --gzip -xf upgre.tar.gz
$sudo mv upgre /usr/sbin


Далее редактируем ~/.upgre/channels.conf, за правилами синтаксиса этого файла обращаемся к документации по szap. Редактируем файл ~/.upgre/config в соответствии с теми параметрами которые выдал вам провайдер.

Создаём новую группу, члены которой будут иметь возможность пользоваться этой командой:
#sudo /usr/sbin/groupadd sat
Добавляем себя в эту группу:
#sudo /usr/sbin/usermod -a -G sat ИМЯ_ПОЛЬЗОВАТЕЛЯ

Добавляем в файл /etc/sudoers строчки:
Defaults !always_set_home
%sat ALL=NOPASSWD : \
/usr/sbin/upgre


Готово! Теперь можно пользоваться скриптом. Выполняем подключение командой:
$sudo /usr/sbin/upgre start
Вторым параметром можно указать путь к файлу конфигурации. Если не указано, то будет использоваться ~/.upgre/config

понедельник, 5 ноября 2007 г.

Моя старая новая клава!


Недавно моей клаве исполнилось 10 лет. Вспомнив об этом знаменательном дне, я решил впервые за 10 лет её постирать. И конечно же, такой чистой я её никогда не видел. Она как новая, красавица :)