forked from bartsidee/boxee
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README.ce4100
192 lines (144 loc) · 6.51 KB
/
README.ce4100
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
=====================================================================
How to prepare your host machine to build boxee and CE4100 SDK
=====================================================================
Install Ubuntu Desktop.
# sudo apt-get install wget patch flex bison gettext libtool autoconf cmake nasm gperf g++ gawk doxygen swig libsdl-image1.2-dev liblzo2-dev php5-cli
If you are using Ubuntu 9.10 or earlier:
# sudo apt-get install python2.4-minimal
If you are using Ubuntu 10.04 32 bit or newer:
# cd /tmp
# wget http://mirrors.kernel.org/ubuntu/pool/main/p/python2.4/python2.4-minimal_2.4.6-1ubuntu3.2.9.10.1_i386.deb
# sudo dpkg --install python2.4*deb
If you are using Ubuntu 10.04 64 bit or newer:
# cd /tmp
# wget http://mirrors.kernel.org/ubuntu/pool/main/p/python2.4/python2.4-minimal_2.4.6-1ubuntu3.2.9.10.1_amd64.deb
# sudo dpkg --install python2.4*deb
=====================================================================
How to build the CE4100 SDK
=====================================================================
# sudo mkdir /mnt/iso
Go to intel's site, under Intel Media Processor 3100
Download the tar.gz and extract it. This will create a bunch of ISO files.
For each file (start with BASE):
# sudo mount -t iso9660 -o loop,ro <filename>.iso /mnt/iso
# cd /mnt/iso
# bash installer
# cd ..
# sudo umount /mnt/iso
This extracted everything to $HOME/IntelCE-<version>
# cd $HOME/IntelCE-<version>
# make menuconfig
# sudo make
Wait a few hours...
Then, setup NFS, DHCP, TFTP, etc according to the Intel docs
=====================================================================
Setup CE4100 box
=====================================================================
1. During boot hit CTRL-C to enter RedBoot console
2. Type: fconfig and hit enter
load -v -r -m tftp -h 10.5.0.1 -b 0x200000 bzImage.pr13.11
exec -b 0x200000 -l 0x300000 -c "console=ttyS0,115200 root=/dev/nfs nfsroot=10.5.0.1:/home/yuvalt/IntelCE-13.94515/project_build_i686/IntelCE/root,nolock rw mem=exactmap memmap=1M@0 memmap=639M@1M ip=dhcp"
Hit enter until the end. Last question answer "y".
=====================================================================
Boxee specific environment
=====================================================================
# sudo mkdir /opt/canmore
# sudo ln -s $HOME/IntelCE-<version>/build_i686/staging_dir /opt/canmore/IntelCE
# sudo ln -s $HOME/IntelCE-<version>/build_i686/staging_dir/bin /opt/canmore/toolchains
# sudo ln -s $HOME/IntelCE-<version>/project_build_i686/IntelCE/root /opt/canmore/targetfs
# sudo ln -s $HOME/IntelCE-<version> /opt/canmore/sdk
# cd /opt/canmore
# sudo tar xvfJ $(SRC)/canmore/local.tar.xz
Add /opt/canmore/toolcahin to PATH in ~/.bash_profile Try to run i686-cm-linux-gcc.
Remote the config.h from Intel SDK as it's causing Boxee build problems:
# cd /opt/canmore/IntelCE/include
# mv config.h config.h.orig
Add "DisableHWTextureUpload=1" in /etc/powervr.ini .
edit /etc/platform_config/ce4100/platform_config.hcfg:
media_base_address = 0x28000000 //640M
=====================================================================
Building debug/non-optimized version
=====================================================================
./bootstrap
autoconf
# for debug build do the following:
./canmore/configure.sh -d
# for optimized build do the following:
./canmore/configure.sh
make Boxee
for 32-bit: make -C tools/TexturePacker -f Makefile.host
for 64-bit: make -C tools/TexturePacker -f Makefile.host64
make -C skin/boxee/media nocompress
=====================================================================
Installation
=====================================================================
Copy the 3rd party libraries to the target filesystem. This needs to be
done once whenever the targetfs-addons.tar.xz changes:
# mkdir /opt/canmore/targetfs/opt/local
# cd /opt/canmore/targetfs/opt/local
# tar xvfj $(SRC)/canmore/targetfs-local.tar.xz
The following copies all the required files to /opt/canmore/targetfs/opt/boxee:
# ./canmore/install_full.sh
=====================================================================
Run Boxee
=====================================================================
From the CE4100 console:
/opt/boxee/run_boxee.sh
Getting to a console if your box launches straight into boxee:
Get the IP of the box from network status. telnet into that IP.
Kill the run_boxee and Boxee processes (in that order) and the console
should now be 'live'.
Stopping boxee from launching automatically at boot:
After doing the above, remove the /etc/rc3.d boxee script. This will
boot you to console instead of to boxee.
Running boxee from your developer working copy:
The easy method is to get to the console on your boxee box, mount the
working directory you use via nfs, and launch boxee from there.
On the boxee console:
mkdir /mnt/work
mount -t nfs <dev_machine_ip>:/opt/canmore/targetfs/opt/boxee /mnt/work -o nolock
=====================================================================
3rd Parties
=====================================================================
Libraries:
zlib (http://www.zlib.net/)
zzip (http://zziplib.sourceforge.net/)
bzip2 (http://bzip.org/)
c-ares (http://c-ares.haxx.se/)
expat (http://expat.sourceforge.net/)
fribidi (http://www.fribidi.org/)
gdbm (http://www.gnu.org/software/gdbm/)
libvpx (http://www.webmproject.org/)
libxml2 (http://xmlsoft.org/)
lzo2 (http://www.oberhumer.com/opensource/lzo/)
pcre (ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/)
libpng (http://www.libpng.org/pub/png/libpng.html)
libsamplerate (http://www.mega-nerd.com/SRC/)
sdl (http://www.libsdl.org/)
openssl (http://www.openssl.org/)
libcurl (http://curl.haxx.se/)
glib (http://www.gtk.org/)
libmms (http://sourceforge.net/projects/libmms/)
jasper (http://www.ece.uvic.ca/~mdadams/jasper/)
jsoncpp (http://jsoncpp.sourceforge.net/)
tiff (http://www.libtiff.org/)
sqlite (http://www.sqlite.org/)
libmad (http://www.underbit.com/products/mad/)a
libogg (http://www.xiph.org/ogg/)
libvorbis (http://www.xiph.org/ogg/)
freetype (http://www.freetype.org/)
faad2 (http://www.audiocoding.com/faad2.html)
flac (http://flac.sourceforge.net/)
libsmbclient (http://www.samba.org/)
python 2.4 (http://www.python.org/)
libdaemon
regex
System Tools / Processes:
dbus (http://www.freedesktop.org/wiki/Software/dbus)
avahi (http://avahi.org)
compcache (http://code.google.com/p/compcache/)
lirc (http://www.lirc.org/)
fuse (http://fuse.sourceforge.net/)
ntfs-3g (http://www.tuxera.com/community/ntfs-3g-download/)
xmlstarlet (http://xmlstar.sourceforge.net/)
tzdata (http://www.twinsun.com/tz/tz-link.htm)