Javilonas
Trovador Loco
Developer
- Registrado
- 10 Sep 2006
- Mensajes
- 25.306
- Reacciones
- 2.689
- Puntos
- 322
Bueno chavales pues igual que hice con la de enigma 1 vamos a proceder a hacer lo mismo pero
en esta ocasión para nuestras queridas 7020 800 8000 o cualquier otra basada en enigma 2
antes de nada recuerda que si vas a copiar este manual en tu foro,blog,etc.. recuerda pedir permiso y colocar los créditos como dicta nuestra licencia de Creative Commons BY-NC-SA
Empezamos por lo necesario, para esto igual que hicimos para enigma 1pero en este caso lleva algunas librerías mas,
git
git-buildpackage
zlib1g-dev
libc6-dev
gcc
g++
make
cvs
subversion
perl
python
python-dev
python-psyco
ccache
patch
m4
sed
bison
wget
bzip2
gawk
curl
sharutils
coreutils
docbook
openjade
quilt
flex
libmpfr-dev
libpcre3-dev
unzip
ssh
gettext
texinfo
texi2html
tar
ncurses-bin
libncurses5-dev
pkg-config
fakeroot
libboost-dev
automake
autoconf
libpng12-dev
Para instalarlas todas de golpe ve a un terminal y escribe en el (ojo uso ubuntu 10.10)
Con este comando tendrás instalado todo lo necesario para poder empezar a compilar imagenes de enigma 2 bajo el código fuente original de opendreambox
Create un archivo llamado toolchecker.sh con este contenido:
Luego ejecútalo colocándote por terminal en la carpeta donde lo tengas y escribes ./toolchecker.sh y pulsas enter, el te dirá si los tienes todos instalados o si te falta alguno,
ahora antes de continuar vamos a hacer unas comprobaciones para asegurarnos de que lo tenemos todo como debe de ser,
Entra este comando en el terminal :
si este te dio como resultado /bin/sh -> dash es que no vamos bien..... así que ¿como solucionarlo ahora? pues muy facil entra en el terminal esto:
asegurate de que en la pantalla que te salga seleccionas NO, es decir te dara a elegir entre si o no pues elijes que no jejeje,
ahora volvemos a hacer de nuevo
y ahora nos dara un bonito /bin/sh -> bash jejeje así que por aqui otra cosita mas resuelta,
ahora una vez corregido esto volvemos a meterle de nuevo el comando
por si necesitaramos instalar algo mas y si esta todo correcto pues empezamos con la faena.....
Pues bien una vez hecho esto nos descargamos también el monotone y el bitbake pero para que no tengamos problemas antes actualiza la librería libsqlite3 http://ftp.es.debian.org/debian/pool/main/s/sqlite3/libsqlite3-0_3.7.3-1_i386.deb
te lo descargas y lo actualizas y si no la tenias lo instalas, despues de esto descargas el monotone http://ftp.es.debian.org/debian/pool/main/m/monotone/monotone_0.48-3_i386.deb
puede que a cada persona le pida alguna librería diferente que le falte si esto es así aqui teneis todas las que este necesita: Debian -- Details of package monotone in sid
y luego instalamos el bitbake yo no se vosotros que repos teneis instalados pero yo lo instalo desde el terminal con un simple
una vez instalado todo esto empezamos a prepararnos para ejecutar el makefile,
vamos a crear la carpeta en donde va a estar todo el cogollo metio jejeje
luego entramos dentro de este directorio por terminal
Tener una cosa presente, tenemos 3 makefiles pero los que nos interesan son el estable (1.5) y el experimental (1.6)
version 1.5 (estable)
version 1.6 (nueva)
ahora descargate el makefile para Opendreambox de esta dirección: http://git.opendreambox.org/?p=obi/makefile-opendreambox.git;a=blob_plain;f=Makefile-opendreambox
para descargar la version estable es decir la 1.5 descarga este: http://git.opendreambox.org/?p=obi/....git;a=blob_plain;f=Makefile-opendreambox-1.5
Para descargarte el makefile para Opendreambox 1.6 es desde esta dirección: http://git.opendreambox.org/?p=obi/....git;a=blob_plain;f=Makefile-opendreambox-1.6
Yo recomiendo la experimental es decir la 1.6 que es la mas moderna y por ende tendrá mas características y mejor compatibilidad con el tdt usb,
le das a guardar como y así lo puedes bajar xD
una vez bajado lo metemos en la carpeta creada (dream) con nombre Makefile-opendreambox si nos descargamos el normal y Makefile-opendreambox-1.5 para el estable y Makefile-opendreambox-1.6 si nos descargamos el nuevo y lo editamos al gusto de el consumidor jejeje yo por ejemplo para la 800 en el normal le cambio esto:
OJO ESTO ES SOLO UN EJEMPLO DE EL MAKEFILE VIEJO NO ES VALIDO
Con esto ya tenéis un ejemplo jejejeje mas que aplicable, así que si ya lo teneis editado y colocado en su correspondiente directorio vamos a darle caña,
si es el normal es así:
si es el estable es así:
si es el 1.6 es así:
Tened en cuenta que hay 3 diferentes:
git.opendreambox.org Git - obi/makefile-opendreambox.git/commit
Makefile-opendreambox
Makefile-opendreambox-1.5 (estable)
Makefile-opendreambox-1.6 (versión nueva)
yo particularmente suelo usar el 1.6 aunque el ejemplo que os puse mas arriba es antiguo ya que es para el normal.
pues con esto ya solo nos queda esperar a que termine de compilarse nuestra querida imagen jejeje y esto puede tardar unas 4/5 horas depende de la makina que tengais jejeje y la potencia de esta así como la conexion de banda ancha que tengais.
Cualquier cosita por aqui me teneis, recordar que este manual está creado exclusivamente para www.lonasdigital.com y está bajo licencia de Creative Commons BY-NC-SA por tanto respetala,
Este manual puede ser modificado sin previo aviso por su autor (yo lonas) para añadir mas información o cambios a el mismo
Saludos
en esta ocasión para nuestras queridas 7020 800 8000 o cualquier otra basada en enigma 2
antes de nada recuerda que si vas a copiar este manual en tu foro,blog,etc.. recuerda pedir permiso y colocar los créditos como dicta nuestra licencia de Creative Commons BY-NC-SA
git
git-buildpackage
zlib1g-dev
libc6-dev
gcc
g++
make
cvs
subversion
perl
python
python-dev
python-psyco
ccache
patch
m4
sed
bison
wget
bzip2
gawk
curl
sharutils
coreutils
docbook
openjade
quilt
flex
libmpfr-dev
libpcre3-dev
unzip
ssh
gettext
texinfo
texi2html
tar
ncurses-bin
libncurses5-dev
pkg-config
fakeroot
libboost-dev
automake
autoconf
libpng12-dev
Para instalarlas todas de golpe ve a un terminal y escribe en el (ojo uso ubuntu 10.10)
Código:
sudo apt-get install git git-buildpackage zlib1g-dev libc6-dev gcc g++ make cvs subversion perl python python-dev python-psyco ccache patch m4 sed bison wget bzip2 gawk curl sharutils coreutils docbook openjade quilt flex libmpfr-dev libpcre3-dev unzip ssh gettext texinfo texi2html tar ncurses-bin libncurses5-dev pkg-config fakeroot libboost-dev automake autoconf libpng12-dev
Create un archivo llamado toolchecker.sh con este contenido:
Código:
#! /bin/bash
CUT=`which cut`
GREP=`which grep`
echo "# Comprobar librerias"
echo "# Sitio Oficial http://www.lonasdigital.com"
### cvs ###
CVS=`which cvs`
if ( test -e $CVS ) then
echo "cvs: "`$CVS --version | $GREP Concurrent | $CUT -f5 -d " "`
else
echo -e "\033[37;41mcvs nicht installiert\033[37;40m"
fi;
### autoconf >= 2.57a ###
AUTOCONF=`which autoconf`
if ( test -e $AUTOCONF ) then
echo "autoconf >= 2.57a: "`$AUTOCONF --version | $GREP "autoconf " | $CUT -f4 -d " "`
else
echo -e "\033[37;41mautoconf nicht installiert\033[37;40m"
fi;
### automake >= 1.7 ###
AUTOMAKE=`which automake`
if ( test -e $AUTOMAKE ) then
echo "automake >= 1.8: "`$AUTOMAKE --version | $GREP "automake " | $CUT -f4 -d " "`
else
echo -e "\033[37;41mautomake nicht installiert\033[37;40m"
fi;
### libtool >= 1.4.2 ###
LIBTOOL=`which libtool`
if ( test -e $LIBTOOL ) then
echo "libtool >= 1.4.2: "`$LIBTOOL --version | $GREP "libtool)" | $CUT -f4 -d " "`
else
echo -e "\033[37;41mlibtool nicht installiert\033[37;40m"
fi;
### gettext >= 0.12.1 ###
GETTEXT=`which gettext`
if ( test -e $GETTEXT ) then
echo "gettext >= 0.12.1: "`$GETTEXT --version | $GREP gettext | $CUT -f4 -d " "`
else
echo -e "\033[37;41mgettext nicht installiert\033[37;40m"
fi;
### make >= 3.79 ###
MAKE=`which make`
if ( test -e $MAKE ) then
echo "make >= 3.79: "`$MAKE --version | $GREP Make | $CUT -f3 -d " "`
else
echo -e "\033[37;41mmake nicht installiert\033[37;40m"
fi;
### makeinfo (texinfo) ###
MAKEINFO=`which makeinfo`
if ( test -e $MAKEINFO ) then
echo "makeinfo: "`$MAKEINFO --version | $GREP makeinfo | $CUT -f4 -d " "`
else
echo -e "\033[37;41mmakeinfo nicht installiert\033[37;40m"
fi;
### tar ###
TAR=`which tar`
if ( test -e $TAR ) then
echo "tar: "`$TAR --version | $GREP tar | $CUT -f4 -d " "`
else
echo -e "\033[37;41mtar nicht installiert\033[37;40m"
fi;
### bunzip2 (bzip2) ###
BUNZIP2=`which bunzip2`
if ( test -e $BUNZIP2 ) then
echo "bunzip2: "`bunzip2 --help 2> btmp; $GREP Version < btmp | $CUT -c 50-54; rm btmp`
else
echo -e "\033[37;41mbunzip2 nicht installiert\033[37;40m"
fi;
### gunzip (gzip) ###
GUNZIP=`which gunzip`
if ( test -e $GUNZIP ) then
echo "gunzip: "`$GUNZIP --version | $GREP gunzip | $CUT -f2 -d " "`
else
echo -e "\033[37;41mgunzip nicht installiert\033[37;40m"
fi;
### patch ###
PATCH=`which patch`
if ( test -e $PATCH ) then
echo "patch: "`$PATCH --version | $GREP "patch " | $CUT -f2 -d " "`
else
echo -e "\033[37;41mpatch nicht installiert\033[37;40m"
fi;
### infocmp (ncurses-bin / ncurses-devel) ###
INFOCMP=`which infocmp`
if ( test -e $INFOCMP ) then
echo "infocmp: "`$INFOCMP -V | $GREP ncurses | $CUT -f2 -d " "`
else
echo -e "\033[37;41minfocmp nicht installiert\033[37;40m"
fi;
### gcc 2.95 or >= 3.0 ###
GCC=`which gcc`
if ( test -e $GCC ) then
echo "gcc 2.95 or >= 3.0: "`$GCC --version | $GREP gcc | $CUT -f3 -d " "`
else
echo -e "\033[37;41mgcc nicht installiert\033[37;40m"
fi;
### g++ 2.95 or >= 3.0 ###
CCC=`which g++`
if ( test -e $CCC ) then
echo "g++ 2.95 or >= 3.0: "`$CCC --version | $GREP g++ | $CUT -f3 -d " "`
else
echo -e "\033[37;41mg++ nicht installiert\033[37;40m"
fi;
### flex ###
FLEX=`which flex`
if ( test -e $FLEX ) then
echo "flex: "`$FLEX --version | $GREP flex | $CUT -f2 -d " "`
else
echo -e "\033[37;41mflex nicht installiert\033[37;40m"
fi;
### bison ###
BISON=`which bison`
if ( test -e $BISON ) then
echo "bison: "`$BISON --version | $GREP Bison | $CUT -f4 -d " "`
else
echo -e "\033[37;41mbison nicht installiert\033[37;40m"
fi;
### pkg-config ###
PKGCONFIG=`which pkg-config`
if ( test -e $PKGCONFIG ) then
echo "pkg-config: "`$PKGCONFIG --version | $GREP .`
else
echo -e "\033[37;41mpkg-config nicht installiert\033[37;40m"
fi;
### wget ###
WGET=`which wget`
if ( test -e $WGET ) then
echo "wget: "`$WGET --version | $GREP Wget | $CUT -f3 -d " "`
else
echo -e "\033[37;41wget nicht installiert\033[37;40m"
fi;
echo ""
echo
ahora antes de continuar vamos a hacer unas comprobaciones para asegurarnos de que lo tenemos todo como debe de ser,
Entra este comando en el terminal :
Código:
[B]ls -la /bin/sh[/B]
Código:
sudo dpkg-reconfigure dash
ahora volvemos a hacer de nuevo
Código:
[B]ls -la /bin/sh[/B]
ahora una vez corregido esto volvemos a meterle de nuevo el comando
Código:
sudo apt-get install git git-buildpackage zlib1g-dev libc6-dev gcc g++ make cvs subversion perl python python-dev python-psyco ccache patch m4 sed bison wget bzip2 gawk curl sharutils coreutils docbook openjade quilt flex libmpfr-dev libpcre3-dev unzip ssh gettext texinfo texi2html tar ncurses-bin libncurses5-dev pkg-config fakeroot libboost-dev automake autoconf libpng12-dev
Pues bien una vez hecho esto nos descargamos también el monotone y el bitbake pero para que no tengamos problemas antes actualiza la librería libsqlite3 http://ftp.es.debian.org/debian/pool/main/s/sqlite3/libsqlite3-0_3.7.3-1_i386.deb
te lo descargas y lo actualizas y si no la tenias lo instalas, despues de esto descargas el monotone http://ftp.es.debian.org/debian/pool/main/m/monotone/monotone_0.48-3_i386.deb
puede que a cada persona le pida alguna librería diferente que le falte si esto es así aqui teneis todas las que este necesita: Debian -- Details of package monotone in sid
y luego instalamos el bitbake yo no se vosotros que repos teneis instalados pero yo lo instalo desde el terminal con un simple
Código:
sudo apt-get install bitbake
vamos a crear la carpeta en donde va a estar todo el cogollo metio jejeje
Código:
mkdir dream
Código:
cd dream
version 1.5 (estable)
version 1.6 (nueva)
ahora descargate el makefile para Opendreambox de esta dirección: http://git.opendreambox.org/?p=obi/makefile-opendreambox.git;a=blob_plain;f=Makefile-opendreambox
para descargar la version estable es decir la 1.5 descarga este: http://git.opendreambox.org/?p=obi/....git;a=blob_plain;f=Makefile-opendreambox-1.5
Para descargarte el makefile para Opendreambox 1.6 es desde esta dirección: http://git.opendreambox.org/?p=obi/....git;a=blob_plain;f=Makefile-opendreambox-1.6
Yo recomiendo la experimental es decir la 1.6 que es la mas moderna y por ende tendrá mas características y mejor compatibilidad con el tdt usb,
le das a guardar como y así lo puedes bajar xD
una vez bajado lo metemos en la carpeta creada (dream) con nombre Makefile-opendreambox si nos descargamos el normal y Makefile-opendreambox-1.5 para el estable y Makefile-opendreambox-1.6 si nos descargamos el nuevo y lo editamos al gusto de el consumidor jejeje yo por ejemplo para la 800 en el normal le cambio esto:
OJO ESTO ES SOLO UN EJEMPLO DE EL MAKEFILE VIEJO NO ES VALIDO
Código:
#!/usr/bin/make -f
#
# Makefile-opendreambox v0.4.7 (2010-10-11)
#
# Note: You can override all variables by storing them
# in an external file called "build.conf".
-include build.conf
# target platform: dm500hd, dm500plus, dm600pvr, dm7020, dm7025, dm800, dm8000
MACHINE ?= dm800
# for a list of some other repositories have
# a look at http://git.opendreambox.org/
GIT_URL ?= git://git.opendreambox.org/git/openembedded
# in case you want to send pull requests or generate patches
GIT_AUTHOR_NAME ?= lonas
GIT_AUTHOR_EMAIL ?= admin@lonasdigital.com
# set this to the number of CPU cores to use for parallel build
NUM_THREADS ?= 1
# Uncomment this if you want to use only one Git repository
# for all platforms.
#SINGLE_REPOSITORY ?= 1
# Uncomment this if you're upgrading an installation
# from Monotone. This changes the directory layout
# to the old version without shared directories.
#UPGRADE_FROM_MONOTONE ?= 1
# you should not need to change anything below
BB_URL ?= git://git.opendreambox.org/git/bitbake
BB_BRANCH ?= 1.8-dream
GIT = git
GIT_BRANCH = opendreambox
PWD := $(shell pwd)
ifeq ($(UPGRADE_FROM_MONOTONE),1)
OE_BASE = $(PWD)
else
OE_BASE = $(PWD)/$(MACHINE)
endif
ifeq ($(SINGLE_REPOSITORY),1)
GIT_DIR = $(PWD)/openembedded
else
GIT_DIR = $(OE_BASE)/openembedded
endif
ifeq ($(findstring $(MACHINE),dm500plus dm600pvr dm7020),$(MACHINE))
ARCH = powerpc
else
ARCH = mipsel
endif
all: initialize
@echo
@echo "Openembedded for the Dreambox environment has been initialized"
@echo "properly. Now you can either:"
@echo
@echo " - make the 'image'-target to build an image, or"
@echo " - go into $(MACHINE)/build/, source env.source and start on your own!"
@echo
bb: bb/.git
bb/.git:
@if [ -e bb/.svn ]; then \
echo "BitBake needs to be updated. Please remove the \"bb\" directory manually!"; \
exit 1; \
fi
$(GIT) clone -n $(BB_URL) bb
cd bb && ( \
if [ -n "$(GIT_AUTHOR_EMAIL)" ]; then git config user.email "$(GIT_AUTHOR_EMAIL)"; fi; \
if [ -n "$(GIT_AUTHOR_NAME)" ]; then git config user.name "$(GIT_AUTHOR_NAME)"; fi; \
$(GIT) branch --track $(BB_BRANCH) origin/$(BB_BRANCH) || true; \
$(GIT) checkout -f $(BB_BRANCH) \
)
bb-update: bb/.git
cd bb && $(GIT) pull origin $(BB_BRANCH)
.PHONY: bb-update image initialize openembedded-update openembedded-update-all
image: bb-update initialize openembedded-update
cd $(OE_BASE)/build; . ./env.source; bitbake -k dreambox-image
initialize: $(OE_BASE)/cache sources $(OE_BASE)/build $(OE_BASE)/build/conf \
$(OE_BASE)/build/tmp $(GIT_DIR) $(OE_BASE)/build/conf/local.conf \
$(OE_BASE)/build/env.source bb
openembedded-update: $(GIT_DIR)
cd $(GIT_DIR) && $(GIT) pull origin $(GIT_BRANCH)
openembedded-update-all:
@for dir in dm*/openembedded; do \
echo "running $(GIT) pull origin $(GIT_BRANCH) in $$dir"; \
cd $$dir && $(GIT) pull origin $(GIT_BRANCH) && cd -; \
done
$(OE_BASE)/build $(OE_BASE)/build/conf $(OE_BASE)/build/tmp $(OE_BASE)/cache sources:
mkdir -p $@
$(OE_BASE)/build/conf/local.conf:
echo 'DL_DIR = "$(PWD)/sources"' > $@
echo 'OE_BASE = "$(OE_BASE)"' >> $@
echo 'BBFILES = "$(GIT_DIR)/recipes/*/*.bb"' >> $@
echo 'PREFERRED_PROVIDERS += " virtual/$${TARGET_PREFIX}gcc-initial:gcc-cross-initial"' >> $@
echo 'PREFERRED_PROVIDERS += " virtual/$${TARGET_PREFIX}gcc:gcc-cross"' >> $@
echo 'PREFERRED_PROVIDERS += " virtual/$${TARGET_PREFIX}g++:gcc-cross"' >> $@
echo 'MACHINE = "$(MACHINE)"' >> $@
echo 'TARGET_OS = "linux"' >> $@
echo 'DISTRO = "opendreambox"' >> $@
echo 'CACHE = "$(OE_BASE)/cache/oe-cache.$${USER}"' >> $@
echo 'BB_NUMBER_THREADS = "$(NUM_THREADS)"' >> $@
echo 'CVS_TARBALL_STASH = "http://dreamboxupdate.com/sources-mirror/"' >> $@
echo 'TOPDIR = "$${OE_BASE}/build"' >> $@
echo 'IMAGE_KEEPROOTFS = "0"' >> $@
$(OE_BASE)/build/env.source:
echo 'OE_BASE=$(OE_BASE)' > $@
echo 'export BBPATH="$(GIT_DIR)/:$(PWD)/bb/:$${OE_BASE}/build/"' >> $@
echo 'PATH=$(PWD)/bb/bin:$${OE_BASE}/build/tmp/cross/$(ARCH)/bin:$${PATH}' >> $@
echo 'export PATH' >> $@
echo 'export LD_LIBRARY_PATH=' >> $@
echo 'export LANG=C' >> $@
cat $@
$(GIT_DIR): $(GIT_DIR)/.git
$(GIT_DIR)/.git:
@if [ -d $(GIT_DIR)/_MTN ]; then echo "Please remove your old monotone repository from $(GIT_DIR)!"; exit 1; fi
$(GIT) clone -n $(GIT_URL) $(GIT_DIR)
cd $(GIT_DIR) && ( \
if [ -n "$(GIT_AUTHOR_EMAIL)" ]; then git config user.email "$(GIT_AUTHOR_EMAIL)"; fi; \
if [ -n "$(GIT_AUTHOR_NAME)" ]; then git config user.name "$(GIT_AUTHOR_NAME)"; fi; \
$(GIT) branch --track $(GIT_BRANCH) origin/$(GIT_BRANCH) || true; \
$(GIT) checkout -f $(GIT_BRANCH) \
)
si es el normal es así:
Código:
make -f Makefile-opendreambox image
Código:
make -f Makefile-opendreambox-1.5 image
Código:
make -f Makefile-opendreambox-1.6 image
git.opendreambox.org Git - obi/makefile-opendreambox.git/commit
Makefile-opendreambox
Makefile-opendreambox-1.5 (estable)
Makefile-opendreambox-1.6 (versión nueva)
yo particularmente suelo usar el 1.6 aunque el ejemplo que os puse mas arriba es antiguo ya que es para el normal.
pues con esto ya solo nos queda esperar a que termine de compilarse nuestra querida imagen jejeje y esto puede tardar unas 4/5 horas depende de la makina que tengais jejeje y la potencia de esta así como la conexion de banda ancha que tengais.
Cualquier cosita por aqui me teneis, recordar que este manual está creado exclusivamente para www.lonasdigital.com y está bajo licencia de Creative Commons BY-NC-SA por tanto respetala,
Este manual puede ser modificado sin previo aviso por su autor (yo lonas) para añadir mas información o cambios a el mismo
Saludos