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

голова отдельно, туловище отдельно

Как бы это курьёзно ни выглядело, но в встроенном Линуксе встречаются ситуации, когда прошивка операционной системы берётся из одного источника, а ядро — из другого. Одна из предпосылок для подобных ситуаций: коммерческий (как правило) поставщик прошивки, у которого (очень часто) встречаются недоработки, которые решаются (благодаря ОперСорсу) отдельно собранным ядром Линукс.
К чему я веду? а к тому, что задача портирования Линукса распадается на две "почти ортогональные": ядро и "userspace". И получается, что, в общем-то, можно выбирать upstream ядра и всего остального по-отдельности!
Как то: собирать ядро из Openembedded, а всё остальное брать из полюбившегося дистрибутива (а хоть бы  из того же ALT, как это уже сделал один АЛьТовец)!

вторник, 17 апреля 2012 г.

Intex: demand MORE!

Уже год, как приобрёл Intex IT-HDP252SA.
  + медиа-плеер по цене USB-SATA mobile rack.
  - китайский.

Честно говоря, это не тот случай, чтобы сказать "не гонялся бы ты, поп, за дешевизной". Поскольку, как USB-SATA он работает "на ура".
А вот как медиа-плеер — м-ну....
  + выходы: композит и VGA
  + поддержка кодеков MPEG4.
  - переключение между звуковыми дорожками только на MPEG2 (aka DVD)
  - субтитры: угадайте, в какой кодировке? Конечно же, не в кириллической!
  - через некоторое время работы (особенно, если видео "тяжёлое"), от перегрева выключается. В планах поставить радиатор.

И, наконец, по сути: разобрав устройство, выяснилось, что внутри чип ESS ES6430FAA. Пойду рыскать в инете, на что он способен. (А хорошо бы его, вообще, разогнать, чтобы не тормозил на "тяжёлом" видео).

вторник, 10 апреля 2012 г.

migrate custom GNOME3 keybindings from GConf to dconf

Quite natural need but was not implemented by GNOME team. Ok, can do it on our own!
1. Get em' from GConf:
cd `mktemp -d`
gconftool-2 --dump /desktop/gnome/keybindings | sed -n '/<key>custom/,/<key>[^c]/ p' > 1
2. Next, cut off xml garbage:
cat 1 | grep '<string' | sed 's|^.*<string>||;s|</string.*$||; s|&quot;|"|g; s|&lt;|<|g;s|&gt;|>|g' > 2
3. Now take these command/binding/name triplets into the dconf-compatible form:
i=0 ; while read v; do echo "[org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom$i]" ; echo command=\'$v\' ; read v ; echo binding=\'$v\' ; read v ; echo name=\'$v\' ; i=$(($i+1)); echo ; done < 2 > 3
4. Yau! Get it into the dconf!
dconf load / < 3
5. Now fix the custom-keybindings key in org/gnome/settings-daemon/plugins/media-keys
dconf write /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings `egrep '^\[' 3 | sed "s|\[|'/|;s|\]|/'|" | tr '\n' , | sed 's|^|[|;s|,$|]|'`
That's it!