Blog: free-x

  • Index:
    1. Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    2. Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    3. Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • 1. Пререквзиты
    gcc, make, libncurses-dev,module-init-tools
    2. Сырцы ядра

    Исходный код
    cd /usr/src
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.7.tar.bz2
    tar xjf linux-2.6.15.7.tar.bz2
    cd linux-2.6.15.7
    cp /boot/config-2.6.15.7 .config
    make oldconfig
    make


    3. Сырцы hg-dvb
    3.1 Система управления кодом "hg-mercurial"
    В /etc/apt/sources.list добавляем

    Исходный код
    deb http://www.backports.org/debian sarge-backports main contrib non-free


    и как ж нормальных домах Лондона и Парижа принято

    Исходный код
    apt-get update
    apt-get install mercurial


    И теперь можно делать первый checkout

    Исходный код
    cd /usr/src
    hg clone http://linuxtv.org/hg/v4l-dvb
    cd v4l-dvb


    3.2 Снэпшот репозитория через www

    Исходный код
    cd /usr/src
    wget "http://linuxtv.org/hg/v4l-dvb?ca=tip;type=bz2"
    tar xjf v4l-dvb\?ca\=tip\;type\=bz2
    cd v4l-dvb-xxxxxxxxxx


    4. Собсно подготовка и сама сборка

    Исходный код
    make release VER=2.6.15.7
    make 
    make install
  • Исходный код
    wget "http://linuxtv.org/hg/v4l-dvb?ca=tip;type=bz2"


    не отрабатывает команда. в браузере под виндой

    Исходный код
    http://linuxtv.org/hg/v4l-dvb?ca=tip;type=bz2


    спабатывает и получается нормальный файл, а в линухе битый все время...


    не пойму, если hg прикручен, зачем нужен 3,2 пункт?

  • Попробовал, всё нормально собралось и работает :) Посмотрим будут ли улучшения(если я их замечу) :)

  • Медленно настает пора нового релиза Debian. И естественно надо быть как пионер всегда готовым ;)
    Машин с Etch у меня уже навалом, но их портить не хочется, а собирать где то надо
    Поехали
    1. Создаем chroot окружение методом debootstrap

    Исходный код
    debootstrap etch /data/newdev-etch


    2. Переходим в него

    Исходный код
    chroot /data/newdev-etch


    3. Немного правим лист используемых репозиториев. Приблизительно так

    Исходный код
    deb http://source.rfc822.org/debian etch main contrib non-free
    deb http://security.debian.org/ etch/updates main contrib non-free


    4. Закидываем в окружение список требуемых пакетов для сборки и устанавливаем их

    Исходный код
    apt-get update
    cat pkglst.txt | dpkg --set-selections
    apt-get dselect-upgrade


    5. Ну и теперь собственно берем старые сырцы и пересобираем все в новой "квартире"

    Исходный код
    ./compile.sh

    Файлы

    • pkglst.txt

      (6.05 kB, скачали 77 раз, последнее скачивание: )
  • А как тебе такое ? ;)

    Сообщение было отредактировано 2 раз, последнее редактирование пользователем Grischenkow ().


  • Вуаля!

  • Исходный код
    root@privoz:/usr/src#apt-get install mercurial subversion cvs autoconf libtool automake pkg-config gettext
    root@privoz:/usr/src#svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
    root@privoz:/usr/src#cd ffmpeg
    root@privoz:/usr/src/ffmpeg#apt-get install liba52-0.7.4-dev liblame-dev libvorbis-dev zlib1g-dev libpng12-dev libx11-dev libxv-dev libasound2-dev
    root@privoz:/usr/src/ffmpeg#./configure --enable-shared --enable-gpl --enable-pp --enable-liba52 --enable-libmp3lame --enable-libvorbis --enable-pthreads


    тут теперь маленькое лирическое отступление.
    А как дела с multiprocessing. Вначале обычная сборка.

    Исходный код
    time make
    real    2m43.062s
    user    2m34.794s
    sys     0m7.932s


    а теперь так как процессоров 2, то можно распаралелить на 3 джоба

    Исходный код
    time make -j3
    real    1m21.134s
    user    2m33.670s
    sys     0m7.848s


    ну и вновь к нашим баранам

    Исходный код
    root@privoz:/usr/src/ffmpeg# make install
  • едем дальше.

    Исходный код
    root@privoz:/usr/src# wget http://home.vrweb.de/~rnissl/xine-lib-cvs-20080101171600.tar.bz2
    root@privoz:/usr/src# tar xjf xine-lib-cvs-20080101171600.tar.bz2
    root@privoz:/usr/src# cd xine-lib
    root@privoz:/usr/src/xine-lib# ./autogen.sh --with-external-ffmpeg --disable-dxr3 
    root@privoz:/usr/src/xine-lib# make
    root@privoz:/usr/src/xine-lib# make install


    переходим к UI

    Исходный код
    root@privoz:/usr/src# wget http://home.vrweb.de/~rnissl/xine-ui-cvs-20080101171600.tar.bz2
    root@privoz:/usr/src# tar xjf xine-ui-cvs-20080101171600.tar.bz2
    root@privoz:/usr/src# apt-get install libxt-dev
    root@privoz:/usr/src# cd xine-ui
    root@privoz:/usr/src/xine-ui# ./autogen.sh --enable-vdr-keys
    root@privoz:/usr/src/xine-ui# make
    root@privoz:/usr/src/xine-ui# make install


    и маленькая проверочка

    Исходный код
    root@privoz:/usr/src/xine-ui# which xine
    /usr/local/bin/xine


    еще один барьер взят

  • вот и настал собсно тот момент из за чего весь этот сыр бор

    Исходный код
    root@privoz:/usr/src# wget ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.5.12.tar.bz2
    root@privoz:/usr/src# tar xjf vdr-1.5.12.tar.bz2
    root@privoz:/usr/src# ln -s vdr-1.5.12 VDR
    root@privoz:/usr/src# cd VDR/PLUGINS/src/
    root@privoz:/usr/src/VDR/PLUGINS/src# wget http://home.vrweb.de/~rnissl/vdr-xine-0.8.1.tgz
    root@privoz:/usr/src/VDR/PLUGINS/src# tar xzf vdr-xine-0.8.1.tgz
    root@privoz:/usr/src/VDR/PLUGINS/src# ln -s xine-0.8.1 xine


    заходим в xine/patches ... обана....xine-lib.patch ... ну что ж ... наша песня хороша, начинай сначала


    Back to the roots. Еще не надоело? :rolleyes:

    Исходный код
    root@privoz:/usr/src/xine-ui# cd ../VDR
    root@privoz:/usr/src/VDR# mkdir patches
    root@privoz:/usr/src/VDR# cd patches/
    root@privoz:/usr/src/VDR/patches# wget http://www.linuxtv.org/pipermail/vdr/attachments/20080101/7986947c/attachment-0002.bin
    root@privoz:/usr/src/VDR/patches# mv attachment-0002.bin vdr-1.5.12-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff.bz2
    root@privoz:/usr/src/VDR/patches# bunzip2 vdr-1.5.12-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff.bz2
    root@privoz:/usr/src/VDR/patches# cd ../
    root@privoz:/usr/src/VDR# cat patches/vdr-1.5.12-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff | patch -p1


    теперь правим Makefile

    Исходный код
    -INCLUDES = -I/usr/include/freetype2
    +INCLUDES = -I/usr/include/freetype2 -I/usr/src/multiproto/linux/include


    кладем compiler.h в нужное место

    Исходный код
    root@privoz:/usr/src/VDR# cp /usr/src/linux-headers-2.6.22-14/include/linux/compiler.h /usr/src/multiproto/linux/include/linux/


    доставляем кое какие библиотеки и собираем

    Исходный код
    root@privoz:/usr/src/VDR# apt-get install libfreetype6-dev libfontconfig1-dev libjpeg62-dev libcap-dev libncurses5-dev libncursesw5-dev
    root@privoz:/usr/src/VDR# make
    root@privoz:/usr/src/VDR# make plugins


    проверяем


    8)

  • создаем директорию в которой будут лежать конфиги, копируем конфиг и даем соотв. права.

    Исходный код
    mkdir -p /etc/vdr/plugins/xine
    cp /usr/src/VDR/*.conf /etc/vdr
    cp /usr/src/VDR/PLUGINS/src/xine/data/* /etc/vdr/plugins/xine/
    chmod 2775 /etc/vdr
    chmod 2775 /etc/vdr/plugins
    chmod 2775 /etc/vdr/plugins/xine
    find /etc/vdr -type f | xargs grep 664
    chgrp -R video /etc/vdr


    проверяем в /etc/group, принадлежит ли пользователь под которым будет бегать vdr процесс к группе video.
    Подготавливаем место куда сбрасывать записи будем

    Исходный код
    mkdir /video
    chmod 2775 /video
    chgrp video /video
  • теперь осталось только стартовать....
    открываем 2 консоли
    в первой можно так вразвалочку набрать

    Исходный код
    cd /usr/src/VDR
    ./vdr -c /etc/vdr -P"xine -r"


    ну а во второй очень очень быстро, т.к. есть только 10 секунд на попадание в обучающий режим ...

    Исходный код
    xine


    и быренько в кнопку VDR тыцнуть... кто не успел, тренируйтесь. Кто обломается тому минимальный remote.conf


    ах да...тыркать клавиши надо в окно с vdr сессией а не там где картинка идет. Успехов и удачных просмотров.


  • а в чем смысл делать make menuconfig ?

  • при компиляции xine-ui вылазит ошибка:


    ставил на Etch, все headers, develop есть, multiproto, ffmpeg, xine-lib установились нормально. в X11/Intrinsic.h нету, и как это исправить?