среда, 13 октября 2010 г.

HDX BD-1. Hack. порядок загрузки.


Все это еще находится на стадии исследования и отладки!

На диаграмме показан порядок запуска скриптов при старте HDX BD-1.

Все проверки на условия запуска для простоты опущены.

Идеологически правильно будет вставлять код запуска OptWare в скрипт run_mbox непосредственно перед вызовом /flash/netapp/run_netapp.sh &. Потому как установка окружения OptWare это более низкий уровень, нежели запуск приложений.
Но жесткий диск успевает смонтироваться только к концу скрипта
Скрипт run_mbox. Добавленный код окрашен коричневым цветом.
#!/bin/bash

ulimit -s 2048
export LD_LIBRARY_PATH=/flash/lib:/flash/bdj/jvm/lib:/flash/bdj/bdj/lib:/flash/bdj:$LD_LIBRARY_PATH:/opt/lib
export PATH=/flash/bdj/jvm/bin:/flash/bin:$PATH:/opt/bin
export DFB_CONFIG_DIR=/flash/sample_config
export CDROM_DEVICE_NAME="/dev/srsata0"
export CDROM_MOUNT_POINT="/cdrom"
export APPSTOREFS="/persistfs"
export PERSISTFS="/persistfs"
export BDJ_PROVIDER_DIR="/flash/bdj"
export DCCHD_LOG_CFG="/flash/bdj/dcchdlog.cfg"
export QT_INSTALL_DIR=/flash/qt

cd /flash/bdj
source bdj.env

cd  /flash
export LLAD_PARAMS='max_dmapool_memory_size=0x800000 max_dmabuffer_log2_size=19'
source run.env
./unload_imat.bash
fw_reload_t3.bash
cd  /flash/qt
source qt.env
mkdir -p /home/iso/
#mkdir  -p /home/robin/sigma/8643/sdk371/qt_SMP86xx_src_4.5.0-1.2/
#ln -s /flash/qt  /home/robin/sigma/8643/sdk371/qt_SMP86xx_src_4.5.0-1.2/install
mkdir -p /home/robin/sigma/8643/SMP8642-BDSDK-20100430/qt_SMP86xx_src_4.5.2-1.1/
ln -s /flash/qt /home/robin/sigma/8643/SMP8642-BDSDK-20100430/qt_SMP86xx_src_4.5.2-1.1/install



ln -s /flash/qt/arora/Settings /Settings
export QTWEBKIT_PLUGIN_PATH=/flash/qt/arora/plugins

cd /flash/lib

#mkdir /dev/usb
#mknod /dev/usb/lmedev_usb c 180 201
#insmod lydev.ko
insmod zhd_hdp.ko
mknod /dev/zhd-hdp c 223 0
insmod zhdi2c_drv.ko
mknod /dev/zhd_i2c c 221 0

mknod /dev/ir c 254 0
mknod /dev/fip c 253 0
mknod /dev/fipkernel c 250 0
insmod fipkernelzhd.ko
mkdir -p /dev/mapper
mknod /dev/mapper/loop0 b 254 0

insmod zhdbus.ko
insmod dvb-core.ko 
insmod lgs8g52.ko
insmod zhdsoftdvb.ko
mkdir -p /dev/dvb/adapter0
mknod /dev/dvb/adapter0/demux0 c 212 0
mknod /dev/dvb/adapter0/dvr0 c 212 1
mknod /dev/dvb/adapter0/frontend0 c 212 3
mknod /dev/dvb/adapter0/net0 c 212 2

#/flash/bin/osdbuf_control -Ftc:32bpp -0 0 -1 255 -a 1 -cs rgb_0_255 -c1280x720 -no_disp
#insmod em8xxxfb.ko  videomemory=0x8ef72bac videomemorysize=3686400 palette=0x79000 mode=1280:720:32

mkdir /DVD_Media
mkdir -p /NETPLAY_Media/UPNP/
mkdir -p /Web_Media/My_Browser
mkdir -p /Web_Media/My_Music
mkdir -p /Web_Media/My_Movie
mkdir -p /Web_Media/My_Photo
mkdir -p /Hdtv_Media/My_Hdtv
 
cd /flash/bin
./irserver ./key_rc.conf ./fip.conf ./fip_gpio_lme.conf ./zhd_driver.conf &
export HD_PATH=/HD_Media/
export ROM_PATH=/DVD_Media/
export WEB_PATH=/Web_Media/
export USB_PATH=/USB_Media/
export NETPLAY_PATH=/NETPLAY_Media/

fsck.ext3 -p /dev/sigmablock8;mount -t ext3 -o noatime /dev/sigmablock8 /mnt/ || (mkfs.ext3 -b 2048 /dev/sigmablock8; tar xjvf /flash/sigma.bin.tar -C /tmp/; dd of=/dev/sigmablock8 if=/tmp/sigma.bin; sync; mount -t ext3 -o noatime /dev/sigmablock8 /mnt/; rm -f /tmp/sigma.bin )
fsck.ext3 -p /dev/sigmablock9;mount -t ext3 -o noatime /dev/sigmablock9 /zhddata/ || (mkfs.ext3 -b 2048 /dev/sigmablock9; sync; mount -t ext3 -o noatime /dev/sigmablock9 /zhddata/; cp /flash/setting.cfg_org /zhddata/setting.cfg; sync )
mkdir -p /persistfs
mount -o noatime /dev/sigmablock17 /persistfs
mkdir -p /persistfs/bdj/buda
mkdir -p /persistfs/bdj/ada

./httpdownload &
./frontpanel &
#./set_outports  -analog -asp 16 9 -f NTSC_M -component -f 720p59 -asp 16 9 -digital -f  HDMI_720p59  -asp 16 9 -audio_engine 0 
./av_shell.sh &


/flash/netapp/run_netapp.sh &

sleep 5
for i in $( ps | grep av_shell | grep -v grep | cut -f 1 -d 'r' );
        do /flash/bdj/mychpr -pid $i -prio 1 -sched 2;
done 


########################################################
# Setting /opt for OptWare
if [ -e /HD_Media/hda3/.opt/opt/bin/optware_start.sh ]
then
  /HD_Media/hda3/.opt/opt/bin/optware_start.sh
fi
########################################################

В терминале создать на диске структуру каталогов /opt
#!/bin/bash

# This for setup opt directory. Not needed for starting
mkdir -p /HD_Media/hda3/.opt/opt
mkdir -p /HD_Media/hda3/.opt/opt/bin
mkdir -p /HD_Media/hda3/.opt/opt/lib
В /HD_Media/hda3/.opt/opt/bin создать файл optware_start.sh с таким содержимым:
#!/bin/bash

mv /opt /opt_org
ln -s /HD_Media/hda3/.opt/opt / 
Теперь после загрузки BD-1 жесткий диск будет смонтирован в /opt и будут установлены соответствующие пути.

По результатам обновил OptWare project timeline


Полезные ссылки:

Комментариев нет:

Отправить комментарий