Покуражимся ( Courage блог)

  • ---- паринг устройств ----------


    в продолжении непоняток связанных с парингом устройств....
    у меня такое ощущение что на данный момент с блютус в дебиан кде
    какая то неразбериха именно с парингом ....


    --- helper -----
    в разных источниках говорится о том как заменить в hcid.conf
    (например тут Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу. )
    pin_helper bluepin на kbluepin - однако в деб-пакете bluez-utils_3.5-1_i386.deb
    (/var/cache/apt/archives) этой хэлпер проги нет -- нет ее и среди
    программ собираемых из исходных с сайта BlueZ


    прописывание ручками строки

    Исходный код
    pin_helper /usr/lib/kdebluetooth/kbluepin;


    в hcid.conf приводит к ошибке


    Исходный код
    Oct  5 19:02:28 localhost hcid[7459]: Bluetooth HCI daemon
    Oct  5 19:02:28 localhost hcid[7459]: Unknown option 'pin_helper' line 18


    зато есть еще такие проги add-passkey и register-passkeys
    но add-passkey плюется (((

    Исходный код
    debian:/usr/lib/bluetooth# ./add-passkey --default 00:12:62:31:CF:17
    1111
    Can't register passkey agent
    Passkey agent already exists
    debian:/usr/lib/bluetooth#


    --- файл для pin-code ---
    плюс к этому не устаканен вид и место в котором прописываются pin коды для
    паринга - в разных местах видел о файле /etc/bluetooth/pin - однако
    если ставить блютус из деб-пакетов то создается директория /etc/bluetooth/passkeys
    с файлом default и в нем дефаултный пин-код 1234


    как должен выглядеть
    файл для кода для конкретного девайса - ну например для Clip-On BT GPS


    Исходный код
    debian:/etc/bluetooth/passkeys# hcitool scan
    Scanning ...
            00:12:62:31:CF:17       Nokia 6260
            00:11:A5:C0:34:18       Clip-On BT GPS
    debian:/etc/bluetooth/passkeys#


    не понятно (((


    мало того - на изменение кодов что в /etc/bluetooth/passkeys/default
    что в /etc/bluetooth/pin = нуль реакции !!!
    реагирует только на изменение в hcid.conf

    Исходный код
    # Default PIN code for incoming connections
            passkey "0000";


    кстати - перезапустить демоны можно

    Исходный код
    # /etc/init.d/bluetooth restart
    Restarting bluetooth: hcid sdpd rfcomm.


    неплохое описалово The KDE Bluetooth framework Handbook
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    и в частности Bluetooth security: Pairing devices
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    но с моей колокольни описание немного устарело ((((


    в-общем на данный момент спарить можно единственным доступным для меня способом
    - прописать ключ в passkey файла hcid.conf
    - если код был изменен - перезапустить демоны

    Исходный код
    # /etc/init.d/bluetooth restart


    - и перед парингом командовать (иначе БТ на внешнем девайсе может не обнаружитбся)

    Исходный код
    # hciconfig hci0 piscan


    - и при запросе пин кода на внешнем девайсе ввести прописанный в hcid.conf код

  • ---- Bluetooth GPRS ( ГПРС модем через блютус)


    Linux, Bluetooth and GPRS - A Practical Guide
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    начнем



    главное отсюда номер канала для DUN на уцстройстве 00:12:62:31:CF:17 Nokia 6260
    Channel: 2


    правим /etc/bluetooth/rfcomm.conf


    Исходный код
    rfcomm0 {
     device 00:12:62:31:CF:17;
     channel 2;
     comment "BT DUN Nokia 6260";
    }


    и активируем виртуальный порт от рута

    Исходный код
    # /etc/init.d/bluetooth restart
    Restarting bluetooth: hcid sdpd rfcomm.
    # rfcomm bind rfcomm0
    # rfcomm
    rfcomm0: 00:12:62:31:CF:17 channel 2 clean
    debian:/etc/bluetooth#


    а дальше .... дальше вроде надо запустить kppp - менеджер
    соединений но он не запускается ((( видимо пора с системой что то делать -
    чтож - тестинг есть тестинг ))))
    можно вроде через Network setting (gnome-nettool) это сделать
    смотри в прицепке файл
    к сожалению не знапю как прописать дополниткльную строку инициалтизации
    AT+CGDCONT=1,"IP","internet.TELE2.ru"


    а KPPP не запускается (((((


    ну в итоге - если провести половецкие пляски с бубном


    Исходный код
    # hciconfig hci0 piscan
    # rfcomm release rfcomm0
    # rfcomm bind rfcomm0
    # rfcomm
    rfcomm0: 00:12:62:31:CF:17 channel 2 clean


    и нажать в gnome-nettool кнопку activate - то дебиан устанавливает
    соединение с мобилой - спрашивает пин код - и даже поднимает ГПРС соединение - но
    не вяжется с интернет - потому что нет доп инициализации модема
    не прописана точка доступа internet.TELE2.ru


    полез вглубь создания ppp соединения - есть проги
    pppconfig для создания файлов конфигурации - скажем для соединения bt_nokia_tele2
    /etc/chatscripts/bt_nokia_tele2
    /etc/ppp/peers/bt_nokia_tele2
    к сожалению не понимаю куда все же вколотить AT+CGDCONT=1,"IP","internet.TELE2.ru"


    есть миллион ссылок в инете по поводу редактирования этих файцлов вручную
    но хоть бы одна с лбъяснениями ))))


    и дайлинг при помоши pppd

    Исходный код
    # pppd call bt_nokia_tele2


    есть еще прога GPRS Easy Connect
    This program is a free GUI for GPRS connecting for Linux distributions and FreeBSD. (It supports 704 phones and 269 providers.)
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    но не устанавливается - нужны ему модули
    Gnome2 perl module
    Gnome2::Canvas perl module
    Gnome2::VFS perl module
    GTK2::TrayIcon perl module


    первые три доставляются

    Исходный код
    # apt-get install libgnome2-perl


    и четвертая нужда

    Исходный код
    # apt-get install libgtk2-trayicon-perl


    но прога не запускается - так что пока завяжу с этим

  • маленькая победа - в итоге я вышел в инет с дебиан через мобилу с БТ (нокиа 6260)


    ======== рабочие конфиги для BT DUN через nokia 6260 и питерского оператора TELE2 =============



    /etc/bluetooth/rfcomm.conf


    Исходный код
    rfcomm0 {
     bind yes;
     device 00:12:62:31:CF:17;
     channel 2;
     comment "BT DUN Nokia 6260";
    }


    /etc/chatscripts/bt_nokia_tele2


    Исходный код
    '' AT
    TIMEOUT 240
    OK ATE0
    OK ATV1
    OK 'AT+CGDCONT=1,"IP","internet.TELE2.ru"'
    OK ATDT*99#
    TIMEOUT 30
    CONNECT ""


    /etc/ppp/peers/bt_nokia_tele2



    /etc/ppp/pap-secrets и в /etc/ppp/chap-secrets


    Исходный код
    "tele2" * "tele2"


    ================== процедура соединения =================================


    1 - проверка что БТ связь поднята и работает (UP RUNNING)

    Исходный код
    # hciconfig
    hci0:   Type: USB
            BD Address: 00:80:C8:35:46:44 ACL MTU: 192:8 SCO MTU: 64:8
            UP RUNNING PSCAN
            RX bytes:183794 acl:1098 sco:0 events:1195 errors:0
            TX bytes:74391 acl:1082 sco:0 commands:85 errors:0


    2 - подключение к внешнему БТ модему (канал 2 в rfcomm.conf) компорта rfcomm0
    проверяем - может он уже поднят

    Исходный код
    # rfcomm
    rfcomm0: 00:12:62:31:CF:17 channel 2 clean


    если не поднят то

    Исходный код
    # rfcomm bind rfcomm0


    3- коннектимся

    Исходный код
    # pppd call bt_nokia_tele2


    4 - разорвать связь можно так


    Исходный код
    hcitool 'dc' '00:12:62:31:cf:17'


    ========= фрагмент лога удачного соединения /var/log/syslog ============================



    ============== полезный линк в тему ==========
    Dialup подключение Linux PC через Bluetooth & GPRS
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    в частности оттуда взята основа для файла /etc/ppp/peers/bt_nokia_tele2


    ========== свод БТ пользяшек ================================


    ----- перезапуск демонов БТ

    Исходный код
    # /etc/init.d/bluetooth restart
    Restarting bluetooth: hcid sdpd rfcomm

    .


    --- проверка что с локальным БТ радио интерфейсом

    Исходный код
    # hciconfig


    если не видим ISCAN (нужен чтобы он мог обнаруживатся внешними БТ девайсами-
    например для посылки на него файлов ) то

    Исходный код
    # hciconfig hci0 piscan


    ------ сканирует БТ диапазон на наличие в пределах
    видимости БТ девайсов

    Исходный код
    # hcitool scan
    Scanning ...
            00:11:A5:C0:34:18       Clip-On BT GPS
            00:12:62:31:CF:17       Nokia 6260


    ------- какие на всех видимых внешних БТ девайсах есть сервисы

    Исходный код
    # sdptool browse


    ---- "пользяшка" для вывода инфо с удаленного девайса

    Исходный код
    # hcitool info 00:12:62:31:cf:17


    ----- проверка поднят ли БТ-радио сом-порт (соединенный с модемом на
    внешнем БТ девайсе

    Исходный код
    # rfcomm
    rfcomm0: 00:12:62:31:CF:17 channel 2 closed


    --- запустить БТ ком порт
    используя конфиг в rfcomm.conf

    Исходный код
    # rfcomm bind rfcomm0


    или задав ручками - 0=rfcomm0 далее адрес внешнего девайса - далее номер канала
    (определяется sdptool browse например у меня "Dialup Networking" Channel: 2 )


    Исходный код
    # rfcomm bind 0 00:12:62:31:CF:17 2


    --- освободить БТ порт

    Исходный код
    # rfcomm release rfcomm0
  • tree в одном флаконе = treeboot + zimage + initrd


    что то меня колбасит - тут вспомнил старую идею о
    загрузке дримбиан с усб-драйва --- в лоб кернел не может
    построить на дриме рут-дерево с усб-свистка -
    почему то не получается ---- и вот я тут подумал -
    а что если использовать initrd --- немного подумал и
    обнаружил что есть такая возможность - слепить кернел и
    рамдиск вообще в один файл ---- в дополнении к treeboot
    с которым имидж в дриме собран (с моей колокольни - это
    типа загрузчика встроенного прям в кернел) - можно получить полностью автономный универсальный имидж


    Welcome to embeddedTUX.org, the companion site to
    Karim Yaghmour's Building Embedded Linux Systems
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.



    linux arch ppc treeboot Makefile
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Install Debian GNU/Linux (sarge) on OpenBlockSS (2005/6/29)
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.



    Исходный код
    i'm probably going to mess up the answer, but if you want to build a 
    downloadable image that contains both a kernel and root filesystem, 
    you want to make, not zImage, but zImage.initrd, which adds an 
    initial ramdisk (compressed ext2 root filesystem) to the image.


    понимать как это сделать буду позже - а пока вот единственное что я вынес из неглубокого поиска


    make zImage.initrd

  • Извиняюсь, может не в тему.(Первый раз сюда пишу)


    Цитата

    вспомнил старую идею о
    загрузке дримбиан с усб-драйва --- в лоб кернел не может
    построить на дриме рут-дерево с усб-свистка -
    почему то не получается


    в menu.lst при запуске kernel я прописал параметр rootdelay, и теперь гружусь с USB CF.

  • Серый2
    на самом деле немного не в тему но ничего страшного - прощаю ))))))))))
    наоборот - приветствую любые предложения ....


    дело в том что дрим- это дримбокс 7000 и на нем стоит эмбеддид линукс -
    который практически весь располагается в флэш памяти и отдельгого
    загрузчика - груб или лило - в нем нет ))))) загружается же кернел сам из себя - не
    знаю как точно выразится - в начале условно говоря "кернела" располагается
    сам загрузчик который собственно и распаковывает и загружает уже собственно кернел - такой кернел именуется после сборки zimage.treeboot ..........


    так идея состоит в том чтобы в него еще воткнуть и образ рамдиска в котором уже
    и будет полностью загружаться все драйверы и фс для усб-флэшки - чтобы уже
    настоящее рут дерево строилось прям с усб драйва......
    вот такая идея .......

  • init ram disk - своими словами - своими руками
    часть 1 - инструменты создания initrd


    1. initrd = пожатый gz образ минимальной рут файловой системы
    предназначеной для загрузки модулей кернела, драйверов
    устройств и файловых систем которые по той или иной
    причине не влезли или не могут быть помещены в сам
    кернел - обычно в загрузчике прописываются путь к двум
    файлам - кернел и рам-диск - например /boot/grub/menu.lst


    Исходный код
    title           Debian GNU/Linux, kernel 2.6.15-1-686-smp Default
    root            (hd0,4)
    kernel          /boot/vmlinuz-2.6.15-1-686-smp root=/dev/hda5 ro
    initrd          /boot/initrd.img-2.6.15-1-686-smp
    savedefault
    boot


    2. initrd активно используется в дебиан при загрузке - при установке
    кернела из деб-пакета из дебиан репозитария - соответствующий initrd
    устанавливается вместе с ним
    но самое любопывтное - инитрд при этом не является "фиксированным" пакетом
    а создается при установке кернела из имеющейся файловой системы.......


    3 а вот теперь подробнее о том как он создается - для его создания
    существуют несколько инструментов ...... обнаружил следущие для дебиан этч
    mkinitrd-tools initramfs-tools yaird


    Исходный код
    courage@debian:/var/cache/apt/archives$ apt-cache search initrd
    cramfsprogs - Tools for CramFs (Compressed ROM File System)
    bootcd - run your system from cd without need for disks
    bootcd-mkinitrd - bootcd extension to create an initrd-image usable for bootcd
    cryptsetup - configures encrypted block devices
    initramfs-tools - tools for generating an initramfs
    initrd-tools - tools to create initrd image for prepackaged Linux kernel
    loadlin - a loader (running under DOS) for LINUX kernel images
    multipath-tools-initramfs - Support for booting Debian from a multipath I/O source
    yaird - Yet Another mkInitRD


    где-то читал что от использования initrd-tools отказались в пользу initramfs-tools что
    в-общем и подтвержается отсутствием данного пакета в моей системе - хотя инитрд и
    генерировался когда я устанавливал кернел из деб пакета - отсюда я делаю вывод
    - использовался initramfs-tools - и соответствующие программы из этого пакета
    в системе есть
    yaird - я установил позже ..... инструмент удобный
    yaird - замена mkinitrd, основанная на концепциях hotplug



    посмотреть какое рут-дерево он собрал можно

    Исходный код
    # yaird -o /tmp/yard1 -f directory


    для создапния сжатого файла можно так

    Исходный код
    # yaird -o /tmp/yard1 -f cpio


    или так -f cramfs

    Исходный код
    # yaird -o /tmp/yard2 -f cramfs


    но надо доустановить cramfsprogs


    тут есть небольшой подводный камень - этот пакет находится на установочном диске
    который уже куда то делся ((((

    Исходный код
    Media Change: Please insert the disc labelled
     'Debian GNU/Linux testing _Etch_ - Official Snapshot i386 Binary-1 (20060314)'
    in the drive '/cdrom/' and press enter


    в /etc/yaird нахзодятся конфиги и темплэйты для генеравции инитрамдиска
    все это хорошо - но в дебиан сарж для ppc (операционка на дримбоксе7000 для
    которой я все и затеиваюэто) выбор не такой богатый


    Исходный код
    root@dreambox:/# apt-cache search initrd
    bootcd - run your system from cd without need for disks
    bootcd-mkinitrd - bootcd extension to create an initrd-image usable for bootcd
    cramfsprogs - Tools for CramFs (Compressed ROM File System)
    cryptsetup - configures encrypted block devices
    discover1 - hardware identification system
    initrd-netboot-tools - initrd scripts for netboot support
    initrd-tools - tools to create initrd image for prepackaged Linux kernel
    kernel-image-netbootable - net-bootable kernel for use with diskless systems


    выбора в-общем то и нет - initrd-tools и все - и значит надо осваивать именно
    initrd-tools


    установим initrd-tools

    Исходный код
    root@dreambox:/# apt-get install initrd-tools
    ///////
    The following NEW packages will be installed:
      cramfsprogs dash initrd-tools


    а что такое dash ?
    dash - The Debian Almquist Shell
    хм - пока не понятно......


    в cramfsprogs входят всего 2 программулины
    cramfsck и mkcramfs
    в initrd-tools и вовсе одна
    /usr/sbin/mkinitrd
    и несколько конфигов и скриптов
    /etc/default/initrd-tools.sh
    /etc/init.d/initrd-tools.sh
    /etc/mkinitrd/mkinitrd.conf
    /etc/mkinitrd/modules
    и кое что в /usr/share/initrd-tools




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

    Исходный код
    root@dreambox:/# /usr/sbin/mkinitrd -k -o  /tmp/initrd.22
    /usr/sbin/mkinitrd: The working directory /tmp/mkinitrd.xwoR8n will be kept.
    /usr/sbin/mkinitrd: Cannot determine root device


    немного погуглил и узрел такую наводку
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

    Исходный код
    Reading the log, it seem to be that the partitioning was done
    manually, and that one forgot to generate /target/etc/fstab.
    This make mkinitrd fail, but is not really an error in the
    installation system as such


    - но почему то не продолжил- не отредактил fstab - а решил собрать
    yaird Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    в принципе дальше ничего особенного - обычная сборка и установка
    программы из исходных - и немного борьбы с наследием прошлого -
    в частности приведение fstab к нормальному виду
    и конфиг для сборки кернела в нормальное место положил - в /boot


    - закачал исходные yaird


    Исходный код
    # wget http://alioth.debian.org/download.php/1314/yaird-0.0.12.tar.gz


    распаковал - и перешел в директорию с исходными и собрал

    Исходный код
    # cd /usr/local/src/yaird-0.0.12
    # ./configure
    # make
    # make check
    # make install


    инструкции надо читать

    Исходный код
    # apt-get install libhtml-template-perl
    # apt-get install libparse-recdescent-perl


    все установилось по таким адресам


    /usr/local/sbin/yaird
    в /usr/local/lib/yaird/perl/ всякие перлы
    /usr/local/etc/yaird/Fedora.cfg
    /usr/local/etc/yaird/Debian.cfg
    /usr/local/etc/yaird/Default.cfg
    /usr/local/lib/yaird/exec
    /usr/local/lib/yaird/exec/ipconfig
    /usr/local/lib/yaird/exec/nfsmount
    /usr/local/lib/yaird/exec/run_init
    /usr/local/lib/yaird/exec/findlibs
    /usr/local/lib/yaird/exec/trynfs
    /usr/local/man/man8/yaird.8


    пробуем



    класс - уже неплохо - дальше попробуем


    Исходный код
    root@dreambox:/usr/local/src/yaird-0.0.12/perl# ./yaird --test
    yaird error: could not open /usr/local/etc/yaird/Templates.cfg (fatal)


    читать надо инструкции

    Исходный код
    $ cd $HOME/local/etc/yaird
     $ cp Debian.cfg Templates.cfg


    скопировал Debian.cfg в Templates.cfg


    Исходный код
    root@dreambox:/usr/local/src/yaird-0.0.12/perl# ./yaird --test
     yaird error: can't open kernel config file /boot/config-2.6.9 (fatal)


    скопировал конфиг по которому собирал кернел в /boot/config-2.6.9

    Исходный код
    root@dreambox:/usr/local/src/yaird-0.0.12/perl# ./yaird --test


    закончил нормально - маленькая победа )))
    идем дальше - пусть yaird соберет деревце соберет в /tmp/yard1


    Исходный код
    # /usr/local/sbin/yaird -o /tmp/yard1 -f directory
    yaird error: mount point not in fstab: . (fatal)


    опять упираюсь в fstab - надо его привести в чувство - примерно так как в
    моем большом дебиан хотя бы


    Исходный код
    proc            /proc           proc    defaults        0       0
    /dev/hda5       /               ext3    defaults,errors=remount-ro 0       1
    /dev/hda6       none            swap    sw              0       0
    /dev/hdb        /media/cdrom0   iso9660 user,noauto     0       0


    что где уже забылось уже - посмотрю


    Исходный код
    # sfdisk -l /dev/ide/host0/bus0/target0/lun0/disc
    
    
       Device Boot Start     End   #cyls    #blocks   Id  System
    /dev/ide/host0/bus0/target0/lun0/part1          0+   7648    7649-  61440561   83  Linux
    /dev/ide/host0/bus0/target0/lun0/part2       7649   12748    5100   40965750   83  Linux
    /dev/ide/host0/bus0/target0/lun0/part3      12749   12781      33     265072+  82  Linux swap / Solaris
    /dev/ide/host0/bus0/target0/lun0/part4          0       -       0          0    0  Empty


    ага - вспоминается
    - рут на part2
    - свап на part3
    - /hdd на part1
    добавим в fstab


    Исходный код
    proc            /proc           proc    defaults        0       0
    /dev/ide/host0/bus0/target0/lun0/part2	/	ext3    defaults,errors=remount-ro 0       1
    /dev/ide/host0/bus0/target0/lun0/part3	none    swap    sw                         0       0


    и снова


    Исходный код
    # /usr/local/sbin/yaird -o /tmp/yard1 -f directory
    yaird error: unrecognised device: /sys/devices/ocp
    yaird error: unrecognised device: /sys/devices/ocp/06
    #


    все ок и в /tmp/yard1 деревце инитрд выросло ))))
    после правки fstab и mkinitrd тоже заработало


    Исходный код
    root@dreambox:/usr/local/src/yaird-0.0.12/perl# /usr/sbin/mkinitrd -k -o  /tmp/initrd.22
    /usr/sbin/mkinitrd: The working directory /tmp/mkinitrd.bJuj4b will be kept.


    резюме :
    все - два инструмента в моем дримбиан для сборки initrd есть
    /usr/local/sbin/yaird
    /usr/sbin/mkinitrd
    и работают - хватит на этом пока

  • ================================================================
    итак план по созданию имиджа 3-в-1 такой - надо решить следущие задачки


    1. научиться грузить кернел дрима по сети - для безопасной проверки
    собираемого кернела ( TFTP BOOTP DHCP )


    2. научится собрирать initrd чтобы подсунуть его в исходные кернела
    arch/ppc/mbxboot - инструменты сборки вроде есть - в предыдущем посте
    запускал /usr/local/sbin/yaird /usr/sbin/mkinitrd - неплохо бы как то
    научится проверить работоспособность этого диска без перекомпиляции ядра


    3. научится редактировать инитрд под свои нужды - в частности обеспечения
    загрузки с усб-флэш-драйва
    - неплохо бы как то научится проверить работоспособность этого диска
    без перекомпиляции ядра - пока не понятно как


    4. научится прапвильно собирать кернел zImage.initrd - не исключено
    что потребуется патч - например опции CONFIG_BLK_DEV_INITRD в
    конфиге для сборки кернела у меня нет ....


    ================================================================


    линки - чтобы не забылось


    очень полезная инфо о работе с флэш памятью в эмбедид линукс
    (например в дримбоксе)
    Embedded Linux - Managing Flash Memory
    Common Questions about Embedded Linux flash drivers (MTD):
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    MTD Flash Howto ?
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    Make sure you have defined your mtd map in kernel/drivers/mtd/map


    Becoming a Dreambox open source developer
    в частности в главе Compiling the kernel описан способ загрузки кернела дрима
    с сети с tftp dhcp
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.



    мне тут все вроде понятно - только я такой сервер никогда не ставил -
    надо разобраться и попробывать загрузить кернел на дриме таким образом


    что есть TFTP = Trivial File Transfer Protocol
    A simple network protocol for file transfer; used in combination
    with BOOTP or DHCP to load boot images etc. over the network.


    The DENX U-Boot and Linux Guide (DULG)
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    DENX.PPCEmbedded. This is a web-based collaboration area for the Linux for PowerPC Embedded Systems HOWTO
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Using zImage.initrd
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    Исходный код
    Firstly, you need to select both CONFIG_BLK_DEV_RAM and CONFIG_BLK_DEV_INITRD
    to build zImage.initrd. Secondly, you need a file in arch/ppc/mbxboot called
    ramdisk.image.gz. When you build zImage.initrd, the secondary boot loader
    is re-compiled with INITRD_OFFSET and INITRD_SIZE set
  • попробую загрузить кернел дрима из сети по bootp


    поставлю в дебиан программы bootp dhcp которые для этого вроде как бы нужны


    Исходный код
    # apt-get install bootp



    посмотрим что в syslog

    Исходный код
    Oct 14 23:32:26 localhost dhcpd: No subnet declaration for vmnet1 (192.168.76.1).
    Oct 14 23:32:26 localhost dhcpd: Please write a subnet declaration in your dhcpd.conf file for the
    Oct 14 23:32:26 localhost dhcpd: network segment to which interface vmnet1 is attached.
    Oct 14 23:32:26 localhost dhcpd: exiting.


    споткнулся на ровном месте - оказалось что надо теперь как то выкрутится
    при установке wmvare эта сабнет была создана - и теперь чего то требует
    от dhcp - dhcp не стартует


    кусок лога установки wmvare (не мой - в инете нашел - и там адреса
    другие - но это не суть)



    теперь не понятно как в /etc/dhcpd.conf прописать эту сабнет
    vmnet1 (192.168.76.1) чтобы сервер стартовал бы


    ну а так это выглядит - попытка запуска


    Исходный код
    # /etc/init.d/dhcp start
    Starting DHCP server: dhcpd failed to start - check syslog for diagnostics.
  • плагин Mplayer для вдр - фронтэнд для собственно плэжйра mplayer


    собирал Mplayer из исходных mp3-0.9.15
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    без mp3 плагина (в Makefile раскомментировал

    Исходный код
    WITHOUT_MP3=1 
    WITHOUT_LIBSNDFILE=1


    сборка делается обычным образом

    Исходный код
    # make plugins


    libvdr-mplayer.so.1.4.0 скопировал в /vdr/plugins/lib


    переименовал файл примера из
    src/mp3-0.9.15/example/mp3sources.conf.example в mplayersources.conf
    исправил в нем первую строку на

    Исходный код
    /vdr/video;Local HDD;0


    у меня в /vdr/video видео файлы лежат
    и забросил файл в /vdr/plugins


    сам mplayer (из большого дебиан) закинул в /bin
    кстати - любопытно что упоминания о том что Mplayer плагину нужен
    сам mplayer нигде не видел )))))))0
    и как сам мплэйер ставить в вдр - тож не видел


    туда же в /bin и mplayer.sh (из файла примера mplayer.sh.example)
    а здесь можно найти большой "взрослый" mplayer.sh
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    добавил опцию запуска mplayer плагина в строку запуска вдр -Pmplayer


    ---------------------
    а теперь о воспроизведении двд с жеского диска - такая возможность
    в плэйере есть


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    В: Я скопировал DVD используя vobcopy. Как его проигрывать/кодировать с жесткого диска?
    О: Используйте опцию -dvd-device, чтобы указать каталог, содержащий файлы:


    mplayer dvd://1 -dvd-device /путь/к/каталогу


    за неименем места для копирования диска на винт я смонтировал двд-диск

    Исходный код
    # mount /dev/hdb /media/cdrom


    и запустил плэйер на воспроихведение какбы с диска из /media/cdrom

    Исходный код
    # mplayer dvd://1 -dvd-device /media/cdrom


    воспроизводит ))))

  • есть канал tv5monde на котором есть субтитры на русском языке - решил попробывать


    суммарный патч vdr-1.4.3-subtitles-0.4.0-and-ttxtsubs-0.0.5
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    DVB Subtitles Plugin For VDR 1.4.0+
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


    распаковал vdr-1.4.3-subtitles-0.4.0-and-ttxtsubs-0.0.5.diff.gz в /usr/local/src/vdr-1.4.0
    распаковал vdr-subtitles-0.4.0.tgz в /usr/local/src/vdr-1.4.0/PLUGINS/src
    создал символический линк subtitles на subtitles-0.4.0


    наложил патчи и собрал все

    Исходный код
    debian:/usr/local/src/vdr-1.4.0# patch -p1 < vdr-1.4.3-subtitles-0.4.0-and-ttxtsubs-0.0.5.diff  
    debian:/usr/local/src/vdr-1.4.0# make clean clean-plugins 
    debian:/usr/local/src/vdr-1.4.0# make
    debian:/usr/local/src/vdr-1.4.0# make plugins


    все собралось без ошибок --- сохранил из рабочего вдр
    ранее собранные vdr и все плагины - на всякий случай
    и скопировал вновь собранное все
    надо сказать что данный патч затронул все плагины -
    по крайней мере их размеры изменились
    не забываем про libsc-cryptoworks-2.so.1.4.0 )))


    правда склоняюсь я к тому чтобы использовать связку
    $c + c@md3
    попробывал от sc оставить только
    libvdr-sc.so.1.4.0
    libsc-cardclient-2.so.1.4.0


    все работает нормально

    Исходный код
    ** registered systems:
    ** Cardclient        (pri -15)


    и все .......


    теперь немного о том как перезапустить $c + c@md3
    для камд3 надо выполнить 2 команды - с паузой .......
    pcamd -kill
    camd3


    для перезагруза sc можно использовать скрипт reload_sc
    и тогда одновременно и то и то


    /usr/local/bin/reload.sh


    и добавить в commands.conf

    Исходный код
    RELOAD: echo "/usr/local/bin/reload.sh" | at now
  • ну чтож - по этому адресу Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    и вправду можно закачать фрагмент пожатый H264 - но ...
    это немного не то что я хотел ... может я не правильно выразился -
    но интерес был к снятому со спутника фрагменту HDTV 1920x1080i
    в контейнере MP4 .... а там имеем 1280x720 H.264 в контейнере Matroska...
    с русским звуком в формате ААС ..... уж не пережатый ли это ДВД ))))



    попробуем расшифровать что mplayer выдал на выход ...
    вот фрагмент из FAQ Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.




    и тогда статистика по воспроизведению на моей системе
    A: 46.6 V: 46.5 A-V: 0.067 ct: -0.000 1117/1117 107% 15% 5.2% 800 0
    расшифруется так
    A: V: 46.6 = длительность фрагмента 46 секунд
    A-V: 0.067 = рассинхронизация
    ct: -0.000 = коррекций сделано не было
    1117/1117 = всего фраймов было проиграно/декодировано
    107% = нагрузка на CPU со стороны видео-декодера
    15% = нагрузка на CPU со стороны модуля видео-вывода
    5.2% = нагрузка на CPU со стороны аудио-декодера

    дальше не понятно - в факе должно быть 3 параметра - у меня 2 - 800 и 0
    что это - не понятно



    но уже и так понятно что моя система (П4 1.8ГГц) слаба для воспроизведения
    даже такого видео - 1280х720 Н264 ААС = загрузка цпу 120-130 %.....
    даже для этого файла требуется увеличение скорости на треть примерно....
    что же будет если 1920х1080 ... правда
    интерлейсинговфй формат будет ... но все равно .....

  • соотношения между форматами 1920х1080р и 1280х720р
    по количеству пикселей = 2.25 что подтверждается
    и цифрами требуемого увеличения скорострельности
    моей платформы


    130-140 % для 720р
    280-350 % для 1080р


    это в-общем прогнозируемо - но самый главный вопрос так и не решен из-за
    отсутствия соответствующего сэмпла - какая всеж скорострельнасть нужна
    для 1080i h264 - то что будет вещаться со спутника именно
    а ведь количество обрабатываемых пикселей для 720р и 1080i
    вроде отличается незначительно ... для 1080i всего в 1.1 раза больше ...
    про деинтерлейсинг пока помолчим .... но даже с учетом его - прирост к моей
    платформе на 30-40% для 1080i это не 300% для 1080р.....
    в-общем нужен сэмпл 1080i н264 ....


    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.


  • cyberrat@Fighter:/fat-c/dvbdream/Record$ mplayer -vo xv -ao alsa Euro1080\ HD5\ noevent\ 20061022_160133\ #1.mpg
    MPlayer dev-SVN-r20309-3.4.6 (C) 2000-2006 MPlayer Team
    CPU: AMD Athlon(tm) XP 2600+ (Family: 6, Model: 8, Stepping: 1)
    CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
    Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE


    Playing Euro1080 HD5 noevent 20061022_160133 #1.mpg.
    MPEG-PS file format detected.
    VIDEO: MPEG2 1920x1080 (aspect 3) 25.000 fps 16000.0 kbps (2000.0 kbyte/s)
    ==========================================================================
    Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
    VDec: vo config request - 1920 x 1080 (preferred colorspace: Mpeg PES)
    Could not find matching colorspace - retrying with -vf scale...
    Opening video filter: [scale]
    The selected video_out device is incompatible with this codec.
    Try adding the scale filter, e.g. -vf spp,scale instead of -vf spp.
    VDecoder init failed :(
    Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b
    Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2))
    ==========================================================================
    ==========================================================================
    Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
    AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000)
    Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
    ==========================================================================
    AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
    Starting playback...
    VDec: vo config request - 1920 x 1080 (preferred colorspace: Planar YV12)
    VDec: using Planar YV12 as output csp (no 0)
    Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
    VO: [xv] 1920x1080 => 1920x1080 Planar YV12
    aspect: Warning: no suitable new res found!
    aspect: Warning: no suitable new res found!
    aspect: Warning: no suitable new res found!
    aspect: Warning: no suitable new res found!
    A: 7.8 V: 7.8 A-V: -0.007 ct: -0.629 175/175 45% 9% 3.3% 0 0
    Exiting... (Quit)
    Athlon 2083 Mhz процессор(реальная частота), 512 озу, радеон9600 видео - HDTV снято с сириуса 1920x1080...
    загрузка иногда до 48 процентов цпу...
    не понятно чего у вас такие цифры - 200 мгц не дадут такого падения - да и П4 не целерон....


    если нужно проведу тесты на более слабой машине - (у меня атлон 2000 разогнан до 2600), или может мне его в другой формат пересжать?...
    P.S>жалко выложить не могу - исходящий канал в интернет GPRS (входящий спутник)

  • на самом деле немного не понятно - вот тест примерно такого же
    материала
    mpeg2 1080i - запись с hd5 с евтелсат w4
    загрузка цпу 110-130 %
    возможно это извечная борьба мнежду интел и амд ))))))00
    и недаром все таки существует П-ратинг ...... у тебя он всетаки 2600+ .... да и
    разогнан он у тебя ....... и знаешь - что то не понятно - обычно mplayer
    определяет реально процессор а не разогнанные цифры - а у тебя -
    CPU: AMD Athlon(tm) XP 2600+ (Family: 6, Model: 8, Stepping: 1)
    хотя мож я и ошибаюсь ..........
    а если по П-рэйтингу - то приблизно получается 1800 vs 2600........


    это лог воспроизведения 1080i mpeg2

  • cyberrat@Fighter:/fat-c/dvbdream/Record$ mplayer -vo xv -ao alsa Euro1080\ HD5\ noevent\ 20061022_160133\ #1.mpg
    MPlayer dev-SVN-r20309-3.4.6 (C) 2000-2006 MPlayer Team
    CPU: AMD Athlon(tm) XP 2000+ (Family: 6, Model: 8, Stepping: 1)
    CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
    Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE


    Playing Euro1080 HD5 noevent 20061022_160133 #1.mpg.
    MPEG-PS file format detected.
    VIDEO: MPEG2 1920x1080 (aspect 3) 25.000 fps 16000.0 kbps (2000.0 kbyte/s)
    ==========================================================================
    Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
    VDec: vo config request - 1920 x 1080 (preferred colorspace: Mpeg PES)
    Could not find matching colorspace - retrying with -vf scale...
    Opening video filter: [scale]
    The selected video_out device is incompatible with this codec.
    Try adding the scale filter, e.g. -vf spp,scale instead of -vf spp.
    VDecoder init failed :(
    Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.4.0b
    Selected video codec: [mpeg12] vfm: libmpeg2 (MPEG-1 or 2 (libmpeg2))
    ==========================================================================
    ==========================================================================
    Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
    AUDIO: 48000 Hz, 2 ch, s16le, 256.0 kbit/16.67% (ratio: 32000->192000)
    Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
    ==========================================================================
    AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
    Starting playback...
    VDec: vo config request - 1920 x 1080 (preferred colorspace: Planar YV12)
    VDec: using Planar YV12 as output csp (no 0)
    Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
    VO: [xv] 1920x1080 => 1920x1080 Planar YV12
    aspect: Warning: no suitable new res found!
    A: 10.6 V: 10.5 A-V: 0.007 ct: -0.633 244/244 58% 10% 1.6% 1 0
    Exiting... (Quit)



    поставил процу нормальную частоту - и плюс к этому понизил шину с 166 до 133... т.е. память стала тоже помедленней...
    результат выше...


    фиг его знает... под виндой при просмотре HDTV процессор загружен на 27-35 процентов....

  • тут free-x дал наводку - Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

    Исходный код
    2006.10.22, Sunday :: MPlayer 1.0rc1 released
    .......
    more H.264 decoding speed improvements, plus support for -lavdopts fast
    .........


    собрал и проверил - результат как говорится налицо
    файл bbc_1080p.mov
    1080p 1920x1080 Quicktime H.264 AAC

    Цитата

    MPlayer 1.0-pre8
    A: 93.2 V: 93.2 A-V: 0.018 ct: 7.084 2238/2238 315% 42% 2.9% 541 0


    MPlayer 1.0rc1-4.0.3
    A: 93.2 V: 93.2 A-V: 0.018 ct: 5.470 2238/2238 204% 43% 2.7% 921 0


    файл HDTV_Matrix_720p_H264-AVC1.mpg
    720p 1280x720 Matroska H.264 AAC

    Цитата

    MPlayer 1.0-pre8
    A: 46.6 V: 46.5 A-V: 0.067 ct: -0.000 1117/1117 107% 15% 5.2% 800 0


    MPlayer 1.0rc1-4.0.3
    A: 46.6 V: 46.5 A-V: 0.067 ct: -0.000 1117/1117 83% 42% 4.5% 830 0

  • чтобы не забылось -


    TTX subtitle на 13Е
    ZDF, SF1-2, TSI1-2, TSR1-2 - расписание на стр.776 сами субтитры на 777
    ARD das Erste - расписание 398 - сами субтитры на 150


    DVB subtitle на 13Е
    TV5Monde Europe - есть и на русском - в основном фильмы -
    но рассписания когда есть субтитры - не нашел нигде (((