Показано с 1 по 2 из 2

Тема: Ручное добавление EMU в софт от DGS

  1. #1
    Senior Member
    Регистрация
    13.12.2006
    Сообщений
    2,332

    Ручное добавление EMU в софт от DGS

    "tutorial" : Adding a sofcam to DGS images

    Hi all,

    I know there's quite some Ipbox fans out there who would like to play around more with early release images from DGS, without having to wait for the PGI, NLB, or Sifteam to come out.

    Off course, we want to be able to add a softcam or emu to these images, but we're not expert enough (yet) to build or own Images.

    As a solution, I tried to figure out a way to add mgcamd / newcs to (nearly) any image, after flashing, and using only the "var" directory (which is r/w).

    First the theory:
    Most DGS image search and call shell scripts in /var/bin/init.d at various times during the boot process. You can find those places browsing through the "sbox" boot script. The shell scripts in /var/bin/init.d are called sequentially: early on the 1.* scripts, later 2.*, still later 3.*, and last 4.* In fact, the 4.* scripts are never called at startup (maybe they get a turn at shudown).

    So, placing command in a script in /var/bin/init.d/3.emu_start will execute those just before the sbox binary (Ipbox's main program) is executed.

    But there's a snag, to execute newcs and mgcamd well, they's have to wait until some files are generated by sbox, so executing them too early will cause an infinite loop (waiting for sbox) during startup.

    The solution is to start the script in /var/bin/init.d/3.emu_start, but make the Ipbox "move on" with the execution of sbox. Simply adding an " & " after a command will make this happen (isn't linux great?).

    What I did in practice:

    1) make the directory /var/bin/init.d

    2) put a small script in /var/bin/init.d (I called it 3.emu_start), branching to the real softcam start script. I just has one line (remember the "&" at the end):

    bash /var/bin/emu_start.sh >/dev/null &

    3) make the second script in /var/bin to start the softcam (I called it emu_start.sh):

    # give some signal to the outside world
    front_ioctl --job puts "MGCAMD-NEWCS"

    # start cardserver (I like newcs 1.65)
    /var/bin/newcs-1.65 -C /var/keys/newcs.xml
    sleep 5

    # wait for sbox process
    while { ! [ -f /tmp/pmt.tmp ] ; }
    do
    sleep 1
    done

    # start mgcamd
    ln -s /tmp/pmt1.tmp /tmp/pmt1_1.tmp
    ln -s /tmp/pmt2.tmp /tmp/pmt2_1.tmp
    /var/bin/mgcamd-1.33
    sleep 1
    exit 0

    4) put the mgcamd-1.33 and newcs-1.65 binaries in /var/bin

    5) make a directory /var/keys

    6) put the config files (mg_cfg , newcs.xml , newcamd.list, etc.) in /var/keys

    7) chmod 755 the necessary files and reboot

    In this way, I get the softcam to start right after sbox has completed, so I get a picture even on coded channels without the "usual" 10 second delay.

    Off course, you can use the same method to set up a swapfile, send some parameters to your HDD (hdparm), say "hello world", or whatever you would like your Ipbox to do.

    Happy testing!
    Pajarin.
    http://www.denktenk.com/modules/newb...forumpost66501

    PS
    Чуть позже переведу.

  2. #2
    Senior Member
    Регистрация
    13.12.2006
    Сообщений
    2,332

    Re: Ручное добавление EMU в софт от DGS

    Перевод

    Много фанов, которые хотят пользоваться софтом от DGS, не ожидая выхода софта от PGI, NLB, или Sifteam.

    Конечно нам хочется узнать, как добавить softcam или emu в этот имидж, и мы не эксперты (пока), по созданию своего имиджа.

    Как вариант, я опишу способ добавлнеия mgcamd / newcs в (почти) любой имидж, после прошивки, используя только директорию "var" , которая доступна для записи.

    Сначала немного теории:
    Большинство DGS имиджей ищут и запускают скрипты в /var/bin/init.d в различные моменты в процессе загрузки. Мы можем найти эти моменты изучая "sbox" загрузочный скрипт. Запускаемые скрипты из /var/bin/init.d вызываются последовательно: сначала 1.* скрипты, позже 2.*, еще позже 3.*, и в конце 4.* Фактически скрипты 4.* никогда не запускаются при загрузке (они могут запускаться при выключении).

    Так, запись команд в скрипт /var/bin/init.d/3.emu_start будет выполнять их перед выполнением бинарника sbox (основная программа Ipbox'а).

    Но имеется трудность, правильного запуска newcs и mgcamd, им необходимо дождаться, пока некоторые файлы будут сгенерированы sbox-ом, так слишком раннее их выполнение станет причиной бесконечного цикла (ожидания для sbox) во время старта.

    Решение - запускать скрипт /var/bin/init.d/3.emu_start, но дать возможность Ipbox "закончить" с выполнением sbox. Просто добавив " & " после команды которая это вызывает.

    На практике:

    1) создайте каталог /var/bin/init.d

    2) создайте маленький скрпит в /var/bin/init.d (я назвал его 3.emu_start), запускающий реальный скрипт для старта softcam. Я просто впишу одну строку (не забудем добавить в конце "&" ):

    запишем /var/bin/emu_start.sh >/dev/null &

    3) создадим второй скрипт в /var/bin для старта softcam (я назову его emu_start.sh):

    # для отображения инфоромации о запуске
    front_ioctl --job puts "MGCAMD-NEWCS"

    # start cardserver (я возьму newcs 1.65)
    /var/bin/newcs-1.65 -C /var/keys/newcs.xml
    sleep 5


    # ожидание для sbox process
    while { ! [ -f /tmp/pmt.tmp ] ; }
    do
    sleep 1
    done


    # запуск mgcamd
    ln -s /tmp/pmt1.tmp /tmp/pmt1_1.tmp
    ln -s /tmp/pmt2.tmp /tmp/pmt2_1.tmp
    /var/bin/mgcamd-1.33
    sleep 1
    exit 0


    4) положим бинарники mgcamd-1.33 и newcs-1.65 в /var/bin

    5) создадим каталог /var/keys

    6) положим файлы конфигураций (mg_cfg , newcs.xml , newcamd.list, и др.) в /var/keys

    7) chmod 755 (выставим атрибуты в 755) для нужных файлов и перегрузимся

    Таким образом, я запрускаю softcam в нужный момент после завершения sbox , и я получу картинку на кодированных каналах, без "обычной" 10 секундной задержки.

    Конечно, вы можете таким методом установит swapfile, установить некоторые параметры для вашего HDD (hdparm), сказать "привет мир", или еще что-то чего вам захочется от Ipbox.


Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •