Instalar y actualizar NetBSD-current

Autor: Julio Merino (aka Slink)
Fecha: 11 de enero de 2002



Website templates are pre-designed websites all you need to do is add your own personal content and you're ready to jump start your own website. Website templates by Vooweb

NetBSD es un muy buen sistema operativo que no sólo destaca por ser el sistema más portable de todos. Aún así, hay mucha gente que no lo conoce debido a que solo se "promociona" éste hecho. Sus virtudes, a mi modo de ver, són su buena estructuración (y organización del código fuente), su buen diseño y el desarrollo de nuevas ideas (véase el estilo de arranque mejorado, IPv6, etc.). De todos modos, cuando la gente prueba NetBSD en su versión estable, la 1.5.2, se decepcionan, y en parte tienen motivos para ello. Y es que ésta ya es un tanto antigua.

En este documento voy a explicaros cómo instalar NetBSD-current, la rama de desarrollo, en la que podréis comprobar y aprovechar las mejoras y cambios que se están realizando en el sistema respecto a la rama estable. Además también os explicaré cómo actualizar el sistema a través de los fuentes. Me voy a centrar en la arquitectura i386, pero si deseáis instalar NetBSD en alguna de las otras soportadas sólo necesitaréis adaptar las órdenes a la nueva arquitectura.

¿Por que NetBSD-current?

Talvez os preguntéis porque no os explico cómo instalar una versión estable. Bien, como he comentado más arriba, éstas ya son algo antiguas, entre otras cosas. Simplemente mirar la siguiente lista:

  • Ventajas
    • Más velocidad de ejecución en todo el sistema.
    • Más soporte hardware.
    • Más opciones y archivos de configuración para que dejéis el sistema a vuestro gusto.
    • Posibilidad de ver y usar los nuevos programas que se están creando.
  • Inconvenientes
    • Puede ser que algún dia falle el sistema o que no compile. Pero bueno, hay que sufrir pequeños riesgos.

Eso sí, si queréis instalar una máquina de "producción", no os recomiendo que pongáis NetBSD-current por lo que pudiese pasar. Pero para un PC de "escritorio" no hay ningún problema.

Requisitos para la instalación

Antes de nada, necesitaréis lo siguiente:

  • Tiempo. La compilación de NetBSD y su configuración pueden llevaros bastante (mucho) tiempo si no estáis acostumbrados.
  • Paciencia. Si algo sale mal, no os decepcionéis y volverlo a intentar. Talvez os asuste un poco el proceso pero en cuanto lo entendáis todo veréis que fácil es. Así es como se aprende.

Conseguir un snapshot

El primer paso para instalar NetBSD-current es conseguir un snapshot, esto es, una compilación reciente de dicha rama lista para instalar como si de una distribución estable se tratase. Dirigiros a ftp://ftp.netbsd.org/pub/NetBSD/arch/i386/snapshot para conseguir un snapshot para la arquitectura i386. Escojer el que deseéis (el ZA es el que yo instalé sin ningún problema) y proceder a su descarga completa.

Una vez lo tengáis todo, situaros en el directorio binary/sets y copiar el archivo kern-GENERIC.tgz a kern.tgz. Esto os salvará de un pequeño bug que no os dejaría instalar el sistema. Talvez esté corregido en los últimos snapshots, pero en el que yo usé, fallaba.

Instalar el snapshot

Nos situamos en installation/floppy y creamos los dos disquetes necesários para la instalació,n. Procedemos así:

# dd if=boot1.fs of=/dev/fd0 bs=512
(cambiamos el disquete)
# dd if=boot2.fs of=/dev/fd0 bs=512

Adaptar los nombres del dispositivo a vuestro sistema. Los que aquí os muestro funcionarán sin problemas en FreeBSD y Linux.

Opcionalmente podéis crear un CD-ROM autoarrancable, cosa que os recomiendo, usando la imágen boot-big.fs para El-Torito. La ventaja de usar un CD-ROM es que el proceso de instalación de los archivos en el sistema es bastante más simple, y os ahorraréis problemas con las particiones.

Una vez tengamos el sistema de arranque, iniciamos la instalación y seguimos las instrucciones que se nos dan en pantalla. Si tenéis dudas, deberéis dirigiros al manual de instalación, ya que no es finalidad de este artículo describir en detalle como instalar NetBSD.

Os recomiendo crear, al menos, particiones para /, swap, /tmp, /var y /usr. El /home podréis compartirlo con el que ya tengáis (¡deberíais tener uno!). Eso sí, hacer el /usr de un tamaño razonable ya que los fuentes requieres mucho espacio, y la compilación aún más. Con 2,5GB para esta partición (que es lo que yo tengo) tendréis de sobra.

Por otro lado, instalar todas las series (a excepción de las X-Window si no las queréis). Serán necesárias para la compilación posterior del sistema.

Arrancando NetBSD-current

Una vez tengáis el snapshot correctamente instalado, arrancarlo y configurar todo lo que podáis necesitar en un primer momento, como vuestro /etc/wscons.conf, el /etc/rc.conf, vuestra red (que ya habéis tenido oportunidad de configurar durante la instalación), añadir un usuario, etc. Os recomiendo que activéis también las soft-dependancies en todos los sistemas de archivos, ya que de lo contrario veréis que todo va innecesariamente lento.

Obtener los fuentes actualizados

Ahora necesitaremos obtener una copia de los últimos fuentes disponibles para recompilar NetBSD-current y así actualizarlo a la última versión de desarrollo. Vamos a usar cvs. Configurar vuestro entorno con lo siguiente (suponiendo que estéis usando un shell sh):

# export CVSROOT=anoncvs:/pub/NetBSD-CVS
# export CVS_RSH=ssh

Podéis añadir estas dos órdenes a vuestro /root/.shrc para evitar tener que configurarlas cada vez. Con respecto al servidor de CVS podéis encontrar varios mirrors aquí. Y ahora sí, obtenemos la copia de los fuentes, y de paso, de pkgsrc:

# cd /usr
# cvs -z6 checkout -P src
# cvs -z6 checkout -P pkgsrc

Compilación de toolchain

NetBSD-current incluye un nuevo proceso de compilación e instalación que permite recompilar el sistema desde una arquitectura diferente a la nuestra, o incluso desde otro sistema operativo. Aunque no sea nuestro caso, deberemos usar dichas herramientas para conseguir que las compilaciones funcionen.

Antes de proceder a la compilación hemos de configurar algunas variables referentes a directorios para que las herramientas se compilen correctamente. Editaremos el archivo /etc/mk.conf y añadiremos lo siguiente (consultar mk.conf(5)):

# --- Importante ---
TOOLDIR=/usr/obj.tools
USE_NEW_TOOLCHAIN=yes
OBJMACHINE=yes
MKOBJDIRS=yes

# --- Configurarlo a vuestro gusto ---
COPTS+=-O2 -pipe -march=pentiumpro
MKPROFILE=no

# --- Para pkgsrc ---
WRKOBJDIR=/usr/obj.pkgsrc
DISTDIR=/home/netbsd/distfiles
PACKAGES=/home/netbsd/packages
PKG_DBDIR=/var/db/pkg

Y a continuación, compilamos las herramientas toolchain (es importante crear los directorios):

# mkdir /usr/obj
# mkdir /usr/obj.tools
# mkdir /usr/obj.pkgsrc
# cd /usr/src
# ./build.sh -t

Este proceso sólo deberemos hacerlo una vez. Es posible que cuando cambie el número de versión de desarrollo haya que recompilarlas, pero no es algo que tengamos que hacer en cada actualización. Eso sí, es necesario que estén siempre disponibles.

Compilación de un nuevo kernel

Antes de instalar cualquier utilidad del sistema es necesários compilar e instalar un nuevo kernel. Eso sí, es posible que debáis instalar una versión más moderna del programa config para que todo funcione. Si fuese el caso, hacer lo siguiente:

# cd /usr/src/usr.sbin/config
# make all install clean

Vamos ahora con el kernel en sí; los que uséisSD veréis que el proceso es casi idéntico. Para los usuarios de FreeBSD deciros que algunos archivos cambian de lugar, y la sintáxis del archivo de configuración es algo diferente. Si necesitáis información sobre algún aspecto, consultar la página del manual correspondiente al nombre del dispositivo u opción de la cual dudéis.

Haremos lo siguiente:

# cd /sys/arch/i386/conf
# cat std.i386 GENERIC > MYKERNEL
# vi MYKERNEL

Es importante que quitéis la línea del include que aparecerá al inicio del archivo, ya que el proceso que ésta hace lo hemos realizado manualmente. Ahora os toca configurar el kernel a vuestro gusto quitando todo lo que no os sea necesario (no os paséis ya que talvez luego no arranque, como ya me ha pasado varias veces ;-). Cuando acabéis, ya podéis compilarlo e instalarlo:

# config MYKERNEL
# cd ../compile/MYKERNEL
# make depend && make && make install

Si todo ha ido bien, reiniciar el sistema con vuestro nuevo kernel. Si algo fallase, deberéis usar el kernel viejo para rearrancar (/onetbsd) y recompilar vuestro kernel modificando su configuración.

Compilación del sistema

Ya estamos listos para compilar nuestro sistema NetBSD-current. El proceso es bien sencillo:

# cd /usr/src
# ./build.sh

A parte de recompilar todo el sistema, ésto también instalará los resultados en su sitio adecuado, por lo que se recomienda que no estéis usando la máquina en exceso (por si acaso), aunque mucha gente asegura que no ocurre nada.

De todos modos, aprovechar el tiempo mientras dura el proceso. Acabar de configurar cosas o instalar más paquetes.

Actualizar nuestra configuración

El último paso del proceso consiste en actualizar los archivos del directorio /etc. Podemos realizar el proceso manualmente, pero disponemos de una herramienta que nos facilitará la tarea. La instalaremos del siguiente modo:

# cd /usr/pkgsrc/sysutils/etcupdate
# make install clean

Siento no poder comentaros cómo funciona ya que aún no la he probado, pero debe ser similar a la utilidad mergemaster de FreeBSD.

Últimos pasos

Si reiniciamos, y todo va bien, ya tendremos nuestro sistema NetBSD-current al día. Seria recomendable que actualizaseis el sistema semanalmente, para evitar problemas. Esto podemos hacerlo (suponiendo que tengáis las variables CVSROOT y CVS_RSH bien configuradas, tal y como he expuesto anteriormente):

# cd /usr/src
# cvs -z6 update -d -P
# ./build.sh

Ya sólo os queda instalar todos los paquetes que necesitéis y acabar de configurar vuestro sistema completamente.

Espero que no os haya parecido excesivamente complejo, pero todo lo bueno requiere de un esfuerzo ;-). ¡Que lo disfrutéis!


eldemonio.org El site BSD en Castellano Articles catalogue

Website templates are pre-designed websites all you need to do is add your own personal content and you're ready to jump start your own website. Website templates by Vooweb

eldemonio.org v 4_2