O2 Firmware File Tree

/  bin/ [ [[ ash busybox cat cp date</li> dmesg</li> kill</li> login</li> ls</li> mkdir</li> mknod</li> mount</li> mv</li> o2_exec</li> ps</li> rm</li> sh</li> sync</li> test</li> umount</li> </ul></li>dev/<ul> <li>adecode0-7</li> <li>aencode0-7</li> <li>ccdc</li> <li>console</li> <li>cwdvbt</li> <li>cwisdbt</li> <li>cw02</li> <li>cs02spi</li> <li>cstdmb</li> <li>davinci_spi</li> <li>dtmfdecode</li> <li>event0</li> <li>event1</li> <li>fb</li> <li>fb0</li> <li>fd/<ul> <li>0-23</li> </ul></li><li>fd0</li> <li>gadget/</li> <li>gio0-31</li> <li>hda</li> <li>hda1-4</li> <li>hdb</li> <li>hdb1-4</li> <li>hdc</li> <li>hdc1-4</li> <li>hdd</li> <li>hdd1-4</li> <li>hiddev0</li> <li>hiddev1</li> <li>i2c0-31</li> <li>icap</li> <li>icapture</li> <li>idecode</li> <li>iencode</li> <li>imanage</li> <li>imgd0</li> <li>imgenc</li> <li>irender</li> <li>itlanc</li> <li>itnav</li> <li>itnavsw</li> <li>itwdog</li> <li>mem</li> <li>memory</li> <li>mmca</li> <li>mmca1</li> <li>mmdblk0</li> <li>mmcblk1</li> <li>mmcblk2</li> <li>mtd0</li> <li>mtd0r</li> <li>mtd1</li> <li>mtd1r</li> <li>mtd2</li> <li>mtd2r</li> <li>mtd3</li> <li>mtd3r</li> <li>mtdblock0-3</li> <li>null</li> <li>o2spi</li> <li>psaux</li> <li>ptmx</li> <li>pts/</li> <li>ram0</li> <li>ram1</li> <li>sda</li> <li>sda1-4</li> <li>sdb</li> <li>sdb1-4</li> <li>spi</li> <li>spi_davinci</li> <li>stderr</li> <li>stdin</li> <li>stdout</li> <li>subtldecode</li> <li>tty</li> <li>tty0-7</li> <li>tty212</li> <li>ttyS0-3</li> <li>vcs0-9</li> <li>vdecode0-7</li> <li>vencode0-7</li> <li>watchdog</li> <li>windisp</li> <li>zero</li> </ul></li><li>etc/<ul> <li>fstab                 proc        /proc        proc    defaults    0 0                  /dev/hda1    /mnt/hdd    vfat    defaults    0 0                  /dev/mmcblk0    /mnt/mmc    vfat    defaults    0 0                  /dev/mmcblk1    /mnt/mmc    vfat    defaults    0 0 </li> <li>init.d/<ul> <li>rcS                   #!/bin/sh                    /bin/mount -t proc proc /proc                    /bin/mount -t vfat /dev/hda1 /mnt/hdd -o rw,utf8=true, noatime, nodiratime                    m_result=$?                    if [ "&m_result" = 0 ]                    then                      if test -e /mnt/hdd/.system                      then                        echo "/mnt/hdd/.system existed"                      else                        echo "make direct .system"                        mkdir /mnt/hdd/.system                        sync                      fi                      if test -e /mnt/hdd/COWON_O2_PLAYER.bin                      then                        echo ".system/o2_player remove and /mnt/hdd/COWON_O2_PLAYER.bin move to .system/o2_player"                        rm /mnt/hdd/.system/o2_player -f                        mv /mnt/hdd/COWON_O2_PLAYER.bin /mnt/hdd/.system/o2_player                        sync                      fi                      if test -e /mnt/hdd/o2_none                      then                        rm /mnt/hdd/.system/o2_exe -f                        mv /mnt/hdd/o2_none /mnt/hdd/.system/o2_exe                        sync                      fi                      if test -e /mnt/hdd/o2_full                      then                        rm /mnt/hdd/.system/o2_exe -f                        mv /mnt/hdd/o2_full /mnt/hdd/.system/o2_exe                        sync                      fi                      if test -e /mnt/hdd/o2_e2k                      then                        rm /mnt/hdd/.system/o2_exe -f                        mv /mnt/hdd/o2_e2k /mnt/hdd/.system/o2_exe                        sync                      fi                      if test -e /mnt/hdd/PowerDic                      then                        echo ".system/PowerDic remove and /mnt/hdd/PowerDic/ move to .system/PowerDic"                        rm /mnt/hdd/.system/PowerDic -rf                        mv /mnt/hdd/PowerDic /mnt/hdd/.system/PowerDic                        sync                      fi                      if test -e /mnt/hdd/PowerDic2                      then                        echo ".system/PowerDic2 remove and /mnt/hdd/PowerDic2/ move to .system/PowerDic2"                        rm /mnt/hdd/.system/PowerDic2 -rf                        mv /mnt/hdd/PowerDic2 /mnt/hdd/.system/PowerDic2                        sync                      fi                      if test -e /mnt/hdd/COWON_O2_FONT.bin                      then                        echo ".system/default.fnt remove and /mnt/hdd/COWON_O2_FONT.bin move to .system/O2_FONT"                        rm /mnt/hdd/.system/default.fnt -f                        mv /mnt/hdd/COWON_O2_FONT.bin /mnt/hdd/.system/O2_FONT                        sync                      fi                      if test -e /mnt/hdd/COWON_O2_TTF.bin                      then                        echo ".system/default.ttf remove and /mnt/hdd/COWON_O2_TTF.bin move to .system/O2_TTF"                        rm /mnt/hdd/.system/default.ttf -f                        mv /mnt/hdd/COWON_O2_TTF.bin /mnt/hdd/.system/O2_TTF                        sync                      fi                      if test -e /mnt/hdd/COWON_O2_CDIM.bin                      then                        echo ".system/ybas.dat remove and /mnt/hdd/COWON_O2_CDIM.bin"                        rm /mnt/hdd/.system/ybas.dat -f                        mv /mnt/hdd/COWON_O2_CDIM.bin /mnt/hdd/.system/ybas.dat                        sync                      fi                      if test -e /mnt/hdd/.system/o2_player                      then                        echo "execute /mnt/hdd/.system/o2_player"                        o2_exec 1                      else                        echo "no exist /mnt/hdd/.system/o2_player "                        o2_exec 0                      else                        echo "hdd mount failed ${m_result}{"                        o2_exec 0                      fi </li> <li>rcS..bak --&gt; similar to above</li> <li>rcS.bak --&gt; ditto</li> <li>inittab                    ::sysinit:/etc/init.d/rcS                    ::respawn:/sbin/getty 115200 ttyS0 vt100 -r </li> </ul></li> </ul></li> <li>lib/<ul> <li>cowon/<ul> <li>cowon_dmb/<ul> <li>cowon_dmb.ko</li> </ul></li></ul></li><li>extra/<ul> <li>diyx_subtitle.ko</li> <li>dm420_codec.ko</li> <li>iaudio.ko</li> <li>idecode.ko</li> <li>iencode.ko</li> <li>imanage.ko</li> <li>ividio.ko</li> <li>mafv2.ko</li> <li>mcbsp.ko</li> </ul></li><li>mmc/<ul> <li>davinci_mmc.ko</li> <li>mmc_block.ko</li> <li>mmc_core.ko</li> </ul></li><li>usb_device/<ul> <li>g_file_storage.ko <li>musb/<ul> <li>musb_hdrc.ko</li> </ul></li><li>no_dmb_g_file_storage.ko</li> <li>no_ext_g_file_storage.ko</li> <li>protect_g_file_storage.ko</li> </ul></li></ul></li> <li>linuxrc</li> <li>lost+found/</li> <li>minifm.log</li> <li>mnt/<ul> <li>hdd/ --&gt; contains .system + folders which the user can see</li> <li>mmc/</li> <li>usb_host</li> </ul></li><li>proc/            --&gt; typical proc filesystem</li> <li>root/<ul> <li>WMDRMPD/<ul> <li>devcerttemplate.dat</li> <li>priv.dat</li> </ul></li></ul></li> <li>sbin/<ul> <li>getty</li> <li>halt</li> <li>hdparm</li> <li>init</li> <li>insmod</li> <li>poweroff</li> <li>reboot</li> <li>rmmod</li> </ul></li><li>usr/<ul> <li>local/<ul> <li>bin/<ul> <li>cowon.sh                        #! /bin/sh                         insmod /lib/extra/imanage.ko                         insmod /lib/extra/dm420_codec.ko                         insmod /mnt/hdd/.system/ybas.dat                         insmod /lib/extra/ividio.ko                         insmod /lib/extra/mcbsp.ko                         insmod /lib/extra/iaudio.ko                         insmod /lib/extra/idecode.ko                         insmod /lib/extra/iencode.ko                         insmod /lib/extra/mafv2.ko </li> <li>ilogtool</li> </ul></li></ul></li></ul></li> </ul>