воскресенье, 7 июня 2015 г.

Galaxy SIII Android 5.1.1


Много инфы, перепробовал почти все комбинации и везде что-то не работало - то видео полосками, то камера вылетает. 

Для тех, кто разочаровался в попытках найти нормальную прошивку спешу поделиться вот этим тредом:
Все другие в сравнении выглядят сырым поделием, взять ту же камеру:






















Для установки мне потребовалось:

Без проблем прошил с помощью app-mobilephone/heimdall (для перевода в Download mode - при включении телефона, до появления заставки samsung зажать одновременно клавиши "громкость -" + HOME + включение).


root # heimdall flash --RECOVERY /tmp/recovery.img

архивы для TWRP:

Порядок действий:

вход в меню TWRP: При включении зажать "громкость +" + HOME + включение. 

- Reset/Wipe Data
- Format System
- Format Dalvik Cache
- Install -> zip: CYANOGEN+OS+12.1S+SNAPSHOT+M2+SIII.zip
- Install -> zip: gapps-5.1.x-20150404-minimal-edition-signed.zip
- Install -> zip: boeffla-kernel-4.0-alpha6-CM12.1-NG-i9300.recovery.zip
- Reboot


фикс долгой зарядки из faq Boeffla Config App
Вкладка разное ->  v Игнорировать нестабильное питание. 
Отдельный su не ставил хватило стандартных 7 ударов по "номеру сборки" из меню "о телефоне" после чего Открывается меню "для разработчиков" -> режим суперпользователя.

вторник, 14 апреля 2015 г.

ati-drivers-15.3 linux kernel 4.

Два офигенных релиза и такие же новости при установке.




  MODPOST 1 modules 

FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'cpu_tlbstate' 
scripts/Makefile.modpost:90: recipe for target '__modpost' failed
Простой путь пирата - обход gpl путем  epatch-user:

Quasar linux # mkdir -p /etc/portage/patches/sys-kernel/gentoo-sources/

вставляем patch:

Quasar linux # cat /etc/portage/patches/sys-kernel/gentoo-sources/gentoo-sources-4.0-no-GPL.patch  


--- arch/x86/mm/init.c  2015-04-13 01:12:50.000000000 +0300 
+++ arch/x86/mm/init.c  2015-04-14 18:01:22.963651359 +0300 @@ -744,7 +744,7 @@
#endif
       .cr4 = ~0UL,    /* fail hard if we screw up cr4 shadow initialization */
};
-EXPORT_SYMBOL_GPL(cpu_tlbstate);
+EXPORT_SYMBOL(cpu_tlbstate);

void update_cache_mode_entry(unsigned entry, enum page_cache_mode cache)
{

Устанавливаем ядро смотрим сроку с патчем:

Quasar linux # emerge sys-kernel/gentoo-sources --ignore-default-opts --jobs=1 --quiet-build=n


...
* Applying user patches from /etc/portage/patches/sys-kernel/gentoo-sources ... 
*   gentoo-sources-4.0-no-GPL.patch ...    


Пересобираем ядро:
Quasar linux # 
make oldconfig && make && make modules_install

теперь можно устанавливать сам frglx
2  патча [1 2]  для измененных имен функций и ебилд с внесенными патчами.
Quasar linux # emerge x11-drivers/ati-drivers  --ignore-default-opts --jobs=1 --quiet-build=n

...
* Applying ati-drivers-15.1-kernel-4.0.patch ...                                                                                                                     [ ok ] 
* Applying ati-drivers-15.1-kernel-4.0.2.patch ...                                                                                                                   ok ]


>>> Installing (1 of 1x11-drivers/ati-drivers-15.1-r1::aweal







UPD1:

на 30.06.15 рабочий патч: https://bugs.gentoo.org/show_bug.cgi?id=548118





понедельник, 13 апреля 2015 г.

Дрова от модема скачай с сайта производителя.


root # emerge -vat dev-util/cmake

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!


[nomerge       ] dev-util/cmake-3.2.1::gentoo  USE="ncurses qt5 -doc -emacs -qt4 {-test}" 
[ebuild  N     ]  dev-libs/jsoncpp-0.10.1::gentoo  USE="-doc {-test}" 0 KiB
[ebuild  N     ]   dev-util/cmake-3.2.1::gentoo  USE="ncurses qt5 -doc -emacs -qt4 {-test}" 0 KiB

Total: 2 packages (2 new), Size of downloads: 0 KiB

 * Error: circular dependencies:

(dev-util/cmake-3.2.1:0/0::gentoo, ebuild scheduled for merge) depends on
 (dev-libs/jsoncpp-0.10.1:0/0::gentoo, ebuild scheduled for merge) (buildtime)
  (dev-util/cmake-3.2.1:0/0::gentoo, ebuild scheduled for merge) (buildtime)

  * Note that circular dependencies can often be avoided by temporarily
  * disabling USE flags that trigger optional dependencies.

и jsoncpp без cmake не установить.


в ебилде убираем зависимость от jsoncpp и 
        >=dev-libs/jsoncpp-0.6.0_rc2

втравляем  в src_configure() {

-DCMAKE_USE_SYSTEM_LIBRARY_JSONCPP=OFF


сам ебилд


root # emerge cmake jsoncpp




среда, 11 марта 2015 г.

x11-drivers/ati-drivers 14.12 VS kernel 3.19

для тех кто не установил ati-drivers на ядро 3.19

по мотивам гентуорг дописал ебилд

Про установку:

root # grep PORTDIR_OVERLAY /etc/portage/make.conf
PORTDIR_OVERLAY=/usr/local/portage
если не прописана - прописываем!
далее по списку

root # mkdir /usr/local/portage/x11-drivers/ati-drivers/files -p
root # wget https://raw.githubusercontent.com/aweal/overlay/master/x11-drivers/ati-drivers/ati-drivers-14.12-r4.ebuild -O /usr/local/portage/x11-drivers/ati-drivers/ati-drivers-14.12-r4.ebuild
root # wget https://raw.githubusercontent.com/manjaro/packages-extra/f90e5661042399d0ff218aec71fe75b2e4a2200d/linux319-extramodules/catalyst/manjaro_fglrx_319.patch -O  /usr/local/portage/x11-drivers/ati-drivers/files/manjaro_fglrx_319.patch
root # cp /usr/portage/x11-drivers/ati-drivers/files/* /usr/local/portage/x11-drivers/ati-drivers/files/
root # chown -R portage:portage /usr/local/portage
root # repoman manifest
root # emerge ati-drivers --ignore-default-opts --jobs=1 --quiet-build=n

понедельник, 23 февраля 2015 г.

Чуть больше про яфотки.

форкнул яфотки и добавил скобки после print, теперь и с python3


из зависимостей:

emerge dev-python/anyjson
emerge dev-python/requests

pyexiv2 -> https://github.com/aweal/overlay/tree/master/dev-python/pyexiv2
собирается, пока еще.

если сдохнет вика


Overlay/Local overlay

Someone handed you an ebuild, and you don't know what to do with it? Fear not, for here be instructions!

Creating a local overlay

You can create a local overlay with a few easy steps.
root # mkdir -p /usr/local/portage/{metadata,profiles}
root # echo 'NameOfYourOverlay' > /usr/local/portage/profiles/repo_name
root # echo 'masters = gentoo' > /usr/local/portage/metadata/layout.conf
root # chown -R portage:portage /usr/local/portage
Next, tell portage about the overlay.
root #echo 'PORTDIR_OVERLAY="/usr/local/portage ${PORTDIR_OVERLAY}"' >> /etc/portage/make.conf

Adding an ebuild to the overlay

Now that the basic layout is in order, you can add an ebuild to the overlay. In this example, app-dicts/artha-1.0.2 (available at [1]). We will assume the ebuild is in the homedir of the user myuser, and named artha-1.0.2.ebuild.
root # mkdir -p /usr/local/portage/app-dicts/artha
root # cp ~myuser/artha-1.0.2.ebuild /usr/local/portage/app-dicts/artha/artha-1.0.2.ebuild
root # chown -R portage:portage /usr/local/portage
root # pushd /usr/local/portage/app-dicts/artha
root # repoman manifest
root # popd
You should now be able to install the package from your overlay with emerge.
root #emerge -av1 app-dicts/artha

суббота, 21 февраля 2015 г.

Загрузка на яфотки из консоли конвеером.

Раз уж ярушечка накрылась, то перенесу сюда о фотках из архива
Ссылку с сохранными файлами ребята тоже упрятали т.е. webdav-ом не найти.
















Сама идея загрузки python2

из README порядок действия такой:

1. Загрузка самого python скрипта.

cd /tmp &&  git clone https://github.com/svetlyak40wt/yafotkiuploader
cd /tmp/yafotkiuploader/

2. установка зависимостей велосипедом (с python3 не взлетит). 

python2 virtualenv.py env && env/bin/pip install -r requirements.txt && . env/bin/activate

3. Логин

./yaploader auth --username=USER_NAME

выбор куда грузить

4. список альбомов (номер альбома используется при загрузке -a #омер_альбома).

./yaploader albums

5. Сама загрузка...

./yaploader upload -a 55 /tmp/some_file.jpg


Хотелось бы загрузку из папки всех файлов ./yaploader upload -a 55 /tmp/*.jpg но с докачкой.

Скажем закаченные файлы будут перемещены в другую директорию, но! не внутрь с исходными (цикличная загрузка).


for FILENAME in `find "ПУТЬ_ДО_ФОТОК" -type f` ; do ./yaploader upload -a 75 "$FILENAME" && mv -v "$FILENAME" "ПУТЬ_К_ЗАГРУЖЕННЫМ" ; done

Ну идея проста как паровоз - что загрузилось перекладываем в другую директорию. При ошибках загрузки, не будет путаницы что загрузилось а что нет - все что загрузилось уже перемещено.


чтобы не вбивать каждый раз написал скриптину



да там еще .msg - сообщения приведены к виду emegre - можно заменить на echo.

#!/bin/bash
cols=`tput cols`
cols=`expr $cols - 7`
esc=`echo -en "\033"`
function start_msg    () { echo -en " ${esc}[1;32m*${esc}[0m $*"; }
function substart_msg () { echo -en "  ${esc}[1;32m>${esc}[0m $*"; }
function warnimg_msg  () { echo -e " ${esc}[1;33m*${esc}[0m WARNING: $*"; }
function info_msg     () { echo -e " ${esc}[1;32m*${esc}[0m >>> $* ...";  }
function result_ok    () { echo -en "${esc}[${cols}\` ${esc}[1;34m[${esc}[1;32m ok ${esc}[1;34m]${esc}[0m\n";}
function result_fail  () { echo -en "${esc}[${cols}\` ${esc}[1;34m[${esc}[1;31m !! ${esc}[1;34m]${esc}[0m\n"; }
function msg_ok       () { start_msg $* && result_ok; }
function msg_fail     () { echo -en " ${esc}[1;31m*${esc}[0m ERROR: $1" && result_fail; }
#TODO : msg_info
fn_print_example(){
warnimg_msg "раскоментированны примеры функций"
substart_msg "закоментить?\n"
info_msg "поехали!"
start_msg "начало сообщения без ошибки"
ls=`cat /var/log/messages`
case "$?" in   0) result_ok     ; msg_ok "багов все еще нед;)" ;;
  *) result_fail   ;;
esac

start_msg "начало сообщения с ошибкой "
ls=`cat /var/log/messagess`
case "$?" in   0) result_ok     ;;
  *) result_fail ; msg_fail "сама ерорина"   ;;
esac
}

export -f start_msg
export -f substart_msg
export -f warnimg_msg
export -f info_msg
export -f result_ok
export -f result_fail
export -f msg_ok
export -f msg_fail

case "$1" in
    h|-h|--help)
   echo "OK"
fn_print_example
      ;;
esac







P.S. надеюсь яфотки не закроют )

воскресенье, 16 ноября 2014 г.

Вся жизнь переходит в облака.

Идиоты не учатся даже на своих ошибках...

Не наступайте на грабли других придурков!


Захотелось сервер L4D2 заиметь. Взял готовый тут http://www.myarena.ru/
Сделано удобно, все админки / конфиги / etc etc - великолепно, только мелкие придирки. Одно только но! Сервак крашится через каждые 30 минут при игре versus, на что супорт открыто намекает на мою криворукость.

Сообщение от специалиста технической поддержки Антона в 17.10.2014 21:17
Вообще то, я зашел в панель управления, когда сервер упал, при Вас и при мне, и не заметил, чтобы он был установлен. Устанавливал я его после сообщения, чтобы Вы не трогали.
Я не вижу проблем со стороны хостинга. Сервер работает исправно, если им нормально пользоваться.
Просто сперва все настройте.
Сам человек пробыл на серваке без единого плагина до типичного краша, после чего разнылся что удален сурмод при запущенной игре (удален до запуска сервера, раз 5 разными доступными формулировками пытался объяснить - пятница вечер, все понимаю), на этом тикет закрыт, пару попыток переустановок сервака тот же результат (coop тянет, версус 4х4 полчаса игры от силы).

Дедик!

гораздо приятнее настраивать на родном linux с sftp / консольками / apt-get -ми.
выбор пал на этот ТП
выбор по понятным причинам пал на этот тарифный план с виртуализацией KVM за 200 р/мес.


после оплаты получаешь ssh доступ к телу
Linux vm88852.local 3.10-0.bpo.3-amd64 #1 SMP Debian 3.10.52-1~bpo1 (2014-08-11) x86_64 GNU/Linux
uname  -a#1 SMP Debian 3.2.63-2 x86_64 GNU/Linux

$ ssh-keygen -t rsa
$ ssh-copy-id -i ~/.ssh/id_rsa.pub steam@serverip

Установка сервака:


# adduser steam
# su - steam
$ mkdir ~/steamcmd
$ mkdir ~/l4d2
$ cd ~/steamcmd
$ wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz 
$ tar -xvzf steamcmd_linux.tar.gz 
 немного магии


$ mkdir /home/steam/.steam 
$ ln -s /home/steam/steamcmd/linux32/ /home/steam/.steam/sdk32

при запуске  получаем сообщение что нет 32 либ (это же сообщение остановило на древнем виртуалхосте bsd, и на всех двух 7 дебианах):

доустанавливаем 
# dpkg --add-architecture i386
# apt-get update
# apt-get install ia32-libs 
После чего запустился steamcmd

$ ~/steamcmd$ ./steamcmd.sh 
...
Loading Steam API...OK.


далее по ману:
Steam>login anonymous
Steam>force_install_dir /home/steam/l4d2/
Steam>app_update 222860 validate

спустя 8Гб
 Update state (0x81) committing, progress: 93.00 (7574073846 / 8144478033)Success! App '222860' fully installed.

установка sourcemod/metamod

$ cd /l4d2/left4dead2/
$ wget http://sourcemod.otstrel.ru/sourcemod-1.6.2-linux.tar.gz
$ wget  http://mirror.pointysoftware.net/alliedmodders/mmsource-1.10.3-linux.tar.gz
$ tar xvzf mmsource-1.10.3-linux.tar.gz
$ tar xvzf sourcemod-1.6.2-linux.tar.gz


раньше нужно было вбивать вручную тут
http://www.metamodsource.net/?go=vdf

Game:  
Game Folder:  


сейчас в версии он идет в комплекте
/home/steam/l4d2/left4dead2/addons/metamod.vdf
со следующим содержимым.
"Plugin"
{
"file" "addons/metamod/bin/server"
}

пара трюков


  • имеет смысл запускать сервер в сеансе screen (сервер не вырубится в случае дисконнекта /краха ssh etc). Вторая команда добавляет нормальную прокрутку.

# apt-get install screen
прокрутка в скрине эпичная: ^a Esc стрелки или PageUp\Down
  • тестовый запуск:

/home/steam/l4d2/srcds_run -console -game left4dead2  +hostport 27015 +exec server.cfg +map c1m1_hotel
  • проверка метамод/сорсмод:

>meta list
Listing 2 plugins:
  [01] SourceMod (1.6.2) by AlliedModders LLC
  [02] SDK Tools (1.6.2) by AlliedModders LLC
>sm plugins list
[SM] Listing 18 plugins:
  • прописываем админа в

echo '"STEAM_0:1:33282568" "99:z"' >> /home/steam/l4d2/left4dead2/addons/sourcemod/configs/admins_simple.ini


steam id можно узнать тут 
Aweal
Joined Steam:2010-06-21
Steam Level:5
Friendship:Sign in to check
Online Status:Online
Profile Privacy:Public
Trade Ban:None
VAC Ban:None
Community Ban:None





не забыть обновить список админов:
sm_reloadadmins
Раз уж есть сервак, то можно и пригласительное сообщение оставить.
Весь прикол в том, что на голом debian нет web-сервера.
Устанавливаем, минимальные настройки на выдачу статических файлов:

# mkdir /data/www/l4d2_servermessage/ -p
# chown www:www -Rfv  /data/
# apt-get install nginx-light

в /etc/nginx/nginx.conf в секцию http добавим

        server{


location / {
       root /data/www;
}
        location /data/www/l4d2_servermessage/ {
root /data/www/;
                        }
        }

автозапуск nginx
# update-rc.d -f nginx defaults


в моем случае вышло такое что можно прописать в motd.txt
если не отображается  - проверить переменную motd_enabled "1" в server.cfg

server.cfg
группа стим:
sv_steamgroup "6999149"

безопасность:

https://wiki.debian.org/iptables


 #####
 # Steam Ports
 #####
 # Game Client Traffic + Matchmaking and HLTV
 -A INPUT -p udp -m udp --dport 27000:27030 -j ACCEPT
 # Steam Downloads
 -A INPUT -p tcp -m tcp --dport 27014:27050 -j ACCEPT
 # Other ports for Steam
 -A INPUT -p udp -m udp --dport 4380 -j ACCEPT
 -A INPUT -p udp -m udp --dport 3478 -j ACCEPT
 -A INPUT -p udp -m udp --dport 4379 -j ACCEPT
 -A INPUT -p udp -m udp --dport 4380 -j ACCEPT

Дополнения


все плагины сваливаем
~$STEAM_HOME/addons/sourcemod/plugins/
или переапускаем сервер или

sm plugins load plugin_name.smx 

если компилить плагины (после небольших изменений), то необходимо сначала перейти в папку scripting и уже потом компилировать
сумарно так:
$ cd /home/steam/l4d2/left4dead2/addons/sourcemod/scripting/
./compile.sh plugin_name.sp
$ cp compiled/plugin_name.smx ../plugins/

!lerps
https://bitbucket.org/ProdigySim/misc-sourcemod-plugins/src/e14a8be7d647e485478d926ca4ea256ea0c97337/lerptrack/?at=default

Крики стоны etc
http://www.gamemaps.com/details/3568

Смена карты после игры
https://forums.alliedmods.net/showthread.php?p=1463891

!boss !tank !witch
https://github.com/CanadaRox/sourcemod-plugins/tree/master/l4d_boss_percent

анонсы задротов:
https://github.com/Tabbernaut/L4D2-Plugins/tree/master/skill_detect

sm_skill_report_enable 1
sm_skill_report_flags 1048575

!afk !s:
https://forums.alliedmods.net/showthread.php?p=1130434

reservedslots: https://github.com/alliedmodders/sourcemod/blob/master/plugins/reservedslots.sp

l4d2_tickrate_enabler
скомпилить не реально, проще проапргредить libc:

echo "deb http://http.debian.net/debian/ jessie main contrib non-free" >> /etc/apt/sources.list
aptitude update
apt-get -t jessie install libc6-amd64 libc6-dev libc6-dbg libc6-i386

и даже после этого не заработает ;)
замени на вот эту дрянь

    sv_maxupdaterate 100
    sv_maxcmdrate 100
    fps_max 150 // higher than 100 recommended, as ticks calculated seems to dip otherwise.
 sv_maxrate 0 // 0 = unlimited, but you can also set this manually. Default is 30k for 30tick, use math.
 // Setting higher sv_minrate can be used to force users to use higher data rates.
 
 Note that fps_max and sv_maxrate are hidden variables on most scenarios.

и в строке запуска добавляется -tickrate 100


$ /home/steam/l4d2/srcds_run -console -game left4dead2  +hostport 27015 +exec server.cfg +map c1m1_hotel -tickrate 100 -maxplayers 12



ссылки:
https://developer.valvesoftware.com/wiki/SteamCMD
http://tj-s.ru/tod/mouse-parallax.html
http://ramer.livejournal.com/94790.html

http://www.l4dnation.com/l4d2-discussion/l4d2-server-guide
http://steamcommunity.com/sharedfiles/filedetails/?id=276173458

настройка ssmod
http://beskuda.com/forum/16-19-1


Net / Rates
понятия: http://www.counterstrike.ru/pagestop-138-page-1.htmhttps://bitbucket.org/ProdigySim/l4d2_tickrate_enablerl
Изнутри:
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking

клиент с его сс*ными лерпами:
http://steamcommunity.com/groups/xbrs/discussions/0/540731691228870837/