170 lines
6.5 KiB
Text
170 lines
6.5 KiB
Text
<!-- $Id: hackers.sgml,v 1.2 1998-07-30 11:55:30 nik Exp $ -->
|
|
<!-- The FreeBSD Documentation Spanish Project -->
|
|
<sect>
|
|
<heading>Solo para hackers serios de FreeBSD<label id="hackers"></heading>
|
|
|
|
<sect1>
|
|
<heading>
|
|
Que son SNAPs y RELEASEs?
|
|
</heading>
|
|
|
|
<p>Hay actualmente tres ramas activas/semi-activas en el desarrollo de
|
|
FreeBSD y en su
|
|
<url url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVS Repository">:
|
|
|
|
<itemize>
|
|
<item><bf/RELENG_2_1_0/ AKA <bf/2.1-stable/ AKA <bf/"2.1 branch"/
|
|
<item><bf/RELENG_2_2/ AKA <bf/2.2-stable/ AKA <bf/"2.2 branch"/
|
|
<item><bf/HEAD/ AKA <bf/-current/ AKA <bf/3.0-current/
|
|
</itemize>
|
|
|
|
<p><bf/HEAD/ no es una rama actual, como las otras dos, es
|
|
simplemente una constante simbolica para <em/la version de desarrollo
|
|
actual/ a la cual nos referimos simplemente como <bf/-current/.
|
|
|
|
<p>Actualmente, <bf/-current/ es el desarrollo de la version 3.0 y
|
|
la <bf/2.2-stable/.
|
|
|
|
<sect1>
|
|
<heading>
|
|
Como puedo hacerme mi propia release personalizada?<label id="custrel">
|
|
</heading>
|
|
|
|
<p>Para hacer una release necesitas hacer tres cosas: primero,
|
|
necesitas usar un kernel con el driver <htmlurl
|
|
url="http://www.freebsd.org/cgi/man.cgi?vn" name="vn"> configurado.
|
|
Anyade esto a tu fichero de configuracion del kernel y crea un
|
|
nuevo kernel:
|
|
|
|
<verb>
|
|
pseudo-device vn #Vnode driver (turns a file into a device)
|
|
</verb>
|
|
|
|
<p>Segundo, debes tener las herramientas del CVS a mano. Para hacer
|
|
esto, puedes usar <url url="../../handbook/cvsup.html" name="CVSUP">
|
|
pero en tu supfile pon el nombre de la release a cvs y borra cualquier
|
|
tag campo de fecha:
|
|
|
|
<verb>
|
|
*default prefix=/home/ncvs
|
|
*default base=/a
|
|
*default host=cvsup.FreeBSD.org
|
|
*default release=cvs
|
|
*default delete compress use-rel-suffix
|
|
|
|
## Main Source Tree
|
|
src-all
|
|
src-eBones
|
|
src-secure
|
|
|
|
# Other stuff
|
|
ports-all
|
|
www
|
|
doc-all
|
|
</verb>
|
|
|
|
<p>A continuacion ejecuta <tt/cvsup -g supfile/ para tener todos los
|
|
bits correctos en tu ordenador.
|
|
|
|
<p>Finalmente, necesitas una buena cantidad de espacio vacio para
|
|
crear en el la release. Digamos que esta en <tt>/algun/disco/grande</tt>
|
|
y en el ejemplo anterior has dejado los ficheros del CVS en
|
|
<tt>/home/ncvs</tt>:
|
|
|
|
<verb>
|
|
setenv CVSROOT /home/ncvs # or export CVSROOT=/home/ncvs
|
|
cd /usr/src/release
|
|
make release BUILDNAME=3.0-MY-SNAP CHROOTDIR=/algun/disco/grande/release
|
|
</verb>
|
|
|
|
<p>Una release completa sera creada en <tt>/algun/disco/grande/</tt> y
|
|
tendras una instalacion completa de tipo FTP en
|
|
<tt>/algun/disco/grande/R/ftp</tt> cuando acabes. Si quieres crear
|
|
tu SNAP usando otra rama de desarrollo diferente de -current, puedes
|
|
anyadir <tt/RELEASETAG=SOMETAG/ a la linea de comando anterior
|
|
de creacion de la release. Por ejemplo, <tt/RELEASETAG=RELENG_2_2/
|
|
crearia un snapshot 2.2 GAMMA.
|
|
|
|
<sect1>
|
|
<heading>Como creo discos de instalacion personalizados?</heading>
|
|
|
|
<p>El proceso completo de creacacion de discos de instalacion y
|
|
archivos fuentes y binarios esta automatizado por varios targets en
|
|
<tt>/usr/src/release/Makefile</tt>. La informacion alli contenida
|
|
deberia ser suficiente para que puedas empezar. Falta decir que
|
|
este proceso necesita la ejecucion del comando "make world" y quizas
|
|
te use mucho tiempo y espacio en disco.
|
|
|
|
<sect1>
|
|
<heading>``make world'' destruye mis binarios instalados.</heading>
|
|
|
|
<p>Si, esta es mi idea general; como su nombre sugiere, "make world"
|
|
rehace todos los binarios del sistema, de manera que puedas estar
|
|
seguro de tener un entorno limpio y consistente al final (que es
|
|
por lo que tarda tanto).
|
|
|
|
<p>Si la variable de entorno <tt/DESTDIR/ is definida mientras se
|
|
ejecuta <tt/make world/ o <tt/make install/, los binarios creados
|
|
nuevamente seran depositados en un arbol de directorios identico al
|
|
instalado, y a partir de <tt>${DESTDIR}</tt>.
|
|
Algunas combinaciones aleatorias de modificaciones de librerias
|
|
compartidas y programas pueden causar que falle el <tt/make world/.
|
|
|
|
<sect1>
|
|
<heading>
|
|
Cuando mi sistema arraca, dice (bus speed defaulted).
|
|
</heading>
|
|
|
|
<p>Las controladoras SCSI Adaptec 1542 permiten al usuario configurar
|
|
su velocidad de acceso al bus en software. Versiones anteriores del
|
|
driver de la 1542 intentaban determinar la velocidad mas alta factible
|
|
y configurar la Adaptec a esta. Nos hemos encontrado con que esto
|
|
hace fallar el sistema de algunos usuarios, por lo que tienes que
|
|
definir la opcion de configuracion del kernel
|
|
<tt/TUNE_1542/ para que esto ocurra. En algunos sistemas puede
|
|
que puede hacer que los discos vayan mas rapidos, pero en otros
|
|
puede que los datos queden corrompidos.
|
|
|
|
|
|
<sect1>
|
|
<heading>
|
|
Puedo seguir la rama current con acceso limitado a Internet?<label id="ctm">
|
|
</heading>
|
|
|
|
<p>Si, puedes hacerlo <tt/sin/ bajarte todo el codigo fuente usando la
|
|
utilidad <url url="../../handbook/ctm.html" name="CTM.">
|
|
|
|
<sect1>
|
|
<heading>Como partis la distribucion en ficheros de 240k?</heading>
|
|
|
|
<p>Los sistemas BSD mas modernos tienen una opcion <tt/-b/ para partir
|
|
que les permite partir los ficheros en tamanyos arbitrarios.
|
|
|
|
<p>Aqui hay un ejemplo de <tt>/usr/src/Makefile</tt>.
|
|
|
|
<verb>
|
|
bin-tarball:
|
|
(cd ${DISTDIR}; \
|
|
tar cf - . \
|
|
gzip --no-name -9 -c | \
|
|
split -b 240640 - \
|
|
${RELEASEDIR}/tarballs/bindist/bin_tgz.)
|
|
</verb>
|
|
|
|
<sect1>
|
|
<heading>He escrito una extension del kernel, a quien la envio?</heading>
|
|
|
|
<p>Por favor, mira en <url url="../../handbook/contrib.html"
|
|
name="como enviar codigo.">
|
|
|
|
<p>Y gracias por pensar en nosotros!
|
|
|
|
<sect1>
|
|
<heading>Soportara FreeBSD otras arquitecturas?</heading>
|
|
|
|
<p>Diferentes grupos de trabajo nos han expresado su interes en
|
|
trabajar en el soporte multi-artquitectura para FreeNSD y algunas
|
|
personas estan actualmente trabajando en portar FreeBSD a ALPHA,
|
|
con la cooperacion de DEC. Para discusiones generales sobre
|
|
nuevas arquietecturas, usa la lista <tt><platforms@FreeBSD.ORG></tt>
|
|
|