Instalar Debian en un Core 2 Duo (Asus G1)

0
28524

Índice de contenidos

  • 1. Introducción
  • 2. Entorno
  • 3. Descarga e Instalación
  • 4. Actualización del sistema
  • 5. Compilación del kernel
    • 5.1. Instalación de paquetes para compilar el kernel
    • 5.2. Configurando yaird
    • 5.2. Configuración del kernel
    • 5.3. Compilación del kernel
    • 5.4. Instalación del kernel
  • 6. Instalación del driver para la nVidia
  • 7. Instalación del driver para la wireless
  • 8. Problemas con el dispositivo OLED
  • 9. Conclusiones
  • 10. Sobre el autor

1. Introducción

Hace poco he cambiado de portátil y como siempre he ido a instalar como sistema operativo Debian GNU / Linux (www.debian.org).

Hasta ahora uno de los puntos débiles de Debian había sido la instalación ya que en muchas ocasiones no se conseguía terminar con éxito a no ser que se fuera un experto, y esto echaba a mucha gente para atrás. En esta ocasión parece que los chicos de Debian se están superando ya que no podía ser más fácil.

En este tutorial vamos a hacer un repasito a la instalación.

 

2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil Asus G1 (Core 2 Duo a 2.1 GHz, 2048 MB RAM, 120 GB HD).
  • Sistema Operativo: GNU / Linux, Debian Sid (unstable), Kernel 2.6.20, KDE 3.5

 

3. Descarga e Instalación

Para instalar Debian tenemos básicamente dos opciones:

  1. Usar la instalación completa: podemos bajarnos todos los CDs (pueden ser unos 23 CDs) o un DVD.
  2. Bajarnos una instalación mínima e instalar el resto por Internet: Dentro de esta opción la más típica es la instalación “netinst” donde nos bajamos una imagen de entre 135 y 175 MB, pero tenemos otras opciones como por ejemplo usb stick.

En mi caso siempre instalo con la opción “netinst” de la opción 2, ya que sólo te bajas de internet lo que realmente te interesa.

En esta ocasión he elegido la versión diaria de la “testing” que te puedes descargar desde:http://www.debian.org/devel/debian-installer/. En esta página podemos encontrar versiones “snapshot” que van actualizando con bastante frecuencia. Esta versión ya está bastante conseguida (instalación gráfica y detección de más hardware), así que merece la penas usarlas.

Yo elegí la instalación para i386 (creo que todavía no está suficientemente maduro el tema de los 64 bits, ya que todavía hay cosas que no funcionan correctamente, así que todavía no me atrevo ;). En concreto me bajé:

Debian 'etch' installation CD-ROM
Built: 20070406-21_06; d-i 20070308

Una vez te bajas la imagen hay que grabarla en un CD. Una vez tenemos el CD listo, basta con meter el CD en la unidad del ordenador donde queremos instalar, y arrancar la máquina (por supuesto en la BIOS debe estar habilitado el arranque del ordenador desde CD).

Nada más arrancar nos aparece en la pantalla el logo de Debian y un breve mensaje. Podemos dar a “ENTER” para arrancar directamente o F1 para ver la ayuda.

Yo elegí F1, y luego F3 para ver los posibles métodos de instalación:

  • install: la instalación de toda la vida
  • installgui: la instalación gráfica.
  • expert: la instalación para los expertos.
  • expertgui: la instalación gráfica para los expertos.

Las opciones para expertos no os las recomiendo a no ser que realmente seáis unos verdaderos expertos porque os va ha hacer muuuuuchas preguntas. Así que mejor escogemos la instalación normal, y por supuesto, la versión gráfica del instalador.

installgui tasks=”kde-desktop, standard”

Las opciones que hemos dado en el parámetro “tasks” es para instalar KDE, ya que por defecto se instala GNOME, y yo prefiero KDE (aunque sobre gustos no hay nada escrito ;).

Le damos a “ENTER” y la instalación empieza de forma inmediata:

  • Nos pregunta el idioma para el proceso de instalación
  • Nos pregunta la localización
  • Nos pregunta la distribución de teclado
  • Empieza a detectar cosas y a instalar cosas
  • Detecta la red
  • Nos pregunta el nombre de la máquina
  • Nos pregunta el dominio
  • Dectecta los discos
  • Hacer las particiones: Tenemos varias opciones guiadas y una opción manual. Para servidores es muy recomendable hacer distintas particiones para /boot, /bin, /home, /var, … y de hecho hay varias teorías y documentación de como se deben crear las particiones. Pero para un equipo de uso personal esto no tiene tanta importancia. Yo elegí la opción guiada que coge el tamaño libre más grande (para respetar la partición de windows que en mi trabajo en Autentia www.autentia.com a veces me resulta muy útil) y usé una sola partición para montar “/”, y otra partición para “swap” (deje todas las opciones que me propuso el instalador).
  • Nos pregunta la zona horaria
  • Nos pregunta la clave de root
  • Nos crea una cuenta de usuario
    • Nombre completo
    • Nombre de la cuenta
    • Clave
  • Instala el sistema base
  • Seguimos instalando con un mirror de Internet. Muy recomendable porque de lo contrario nos quedaremos con un sistema mínimo, la idea es, a partir de ahora, instalar los paquetes descargándolos de Internet.
  • Configuramos el proxy si fuera necesario.
  • Nos pregunta si queremos participar en el concurso de popularidad. Si decimos que si, nuestro sistema enviará al equipo de Debian, información sobre los paquetes más utilizados. Esta información les ayuda a determinar que paquetes deberían ir en el primer CD de la distribución. Si decimos que no, no pasa nada.
  • Ahora es cuando nos vamos a tomar un café porque va a tardar un ratito en descargar e instalar (con mi conexión de 4 megas, unos 20 minutos).
  • Nos pregunta si queremos instalar el GRUB (aplicación que se encarga de gestionar el arranque del sistema) en el MBR (Master Boot Record). Aquí mi recomendación es NO, sobre todo si, como yo, tenéis un arranque dual con Windos como vecino (cuando se instala o reinstala tiende a machacar el MBR).
  • Nos pregunta cual es la partición de arranque. Si no nos acordamos del nombre de la partición de arranque de Debian (lo hicimos la definir las particiones), con Ctrl + Alt + F2 podemos activar otra consola, con fdisk /dev/sda y luego opción “p” vemos todas las particiones. Luego para volver a la consola de la instalación Ctrl + Alt + F5
  • Sacamos el CD y reiniciamos.

Con estos sencillos pasos, y en pocos minutos, ya tenemos instalado nuestro Debian con Kernel 2.6.18-4. Ha sido rápido e indoloro 😉

Al arrancar el sistema vemos que nos funciona la tarjeta gráfica nVidia, el sonido, la red, el touch pad, los usb, la grabadora de DVD.

A continuación vamos a ver como mejorar el soporte de nuestro hardware. Después de instalar el sistema vemos que la wireless no está funcionando, esto es algo importante que vamos a arreglar en seguida.

Algo de menor importancia es el tema de la tarjeta gráfica y el procesador. Aunque están funcionando correctamente, no estamos sacando todo el partido posible, así que, al final de este tutorial, acabaremos usando el driver proporcionado por nVidia y vamos a compilar el kernel para soportar nuestro procesador Intel Core 2 Duo,

 

4. Actualización del sistema

En Debian existen tres versiones principales “stable”, “testing” y “unstable”. Sus nombres indican claramente la fiabilidad de los paquetes que contienen. Aunque tengo que decir a favor de la “unstable” que llevo trabajando con ella varios años y rara vez he tenido algún problema: la mayoría de las veces son tonterías que a los dos o tres días arreglan al sacar una nueva actualización; y si se presenta algún problema realmente serio (creo que sólo me ha pasado un par de veces) basta con desactualizar los paquetes que lo causan y quedarnos como estábamos antes de la actualización.

Lo que realmente nos interesa de la “unstable” es que trae el kernel 2.6.20 y superiores, y en estas versiones del kernel es donde vamos a encontrar el soporte para el procesador Core 2 Duo.

Vamos al grano. Como root editamos el fichero /etc/apt/sources.list y ponemos el siguiente contenido:

#
# deb cdrom:[Debian GNU/Linux testing _Etch_ - Official Snapshot i386 NETINST Binary-1 20070406-21:06]/ etch contrib main

# deb http://ftp.es.debian.org/debian/ lenny main
# deb-src http://ftp.es.debian.org/debian/ lenny main

# deb http://security.debian.org/ lenny/updates main contrib
# deb-src http://security.debian.org/ lenny/updates main contrib

deb http://ftp.debian.org/debian/ stable main non-free contrib
deb http://ftp.debian.org/debian/ testing main non-free contrib
deb http://ftp.debian.org/debian/ unstable main non-free contrib

Como veis hemos comentado los repositorios de paquetes del CD y de la versión lenny que es la que hemos instalado, y hemos añadido los repositorios de la “stable”, “testing” y “unstable”. El sistema de paquetes, de forma automática buscara la versión más nueva por todos los repositorios que tengamos dados de alta.

Para refrescar la información de los paquetes ejecutamos como root:

# apt-get update

Cuando termine, ejecutamos:

# apt-get -u dist-upgrade

Esto actualizará todos los paquetes de nuestro sistema a sus versiones más recientes. Va tardar un buen rato, ya que prácticamente va a actualizar el sistema entero, así que paciencia.

 

5. Compilación del kernel

 

En este punto vamos a ver como conseguir los paquetes necesarios y como compilar el kernel de nuestro sistema operativos.

 

5.1. Instalación de paquetes para compilar el kernel

Para instalar y compilar el kernel no es necesario hacer todas las tareas como root. Se pueden instalar paquetes como el fakeroot para hacer ciertas de estas tareas con un usuario cualquiera. Aunque mucha gente recomienda esto, yo voy a hacer todas las tareas como root para no complicar más el tema (eso si, tener cuidado de no borrar vuestra raíz de directorios 😉

Necesitaremos instalar (con apt-get, synaptic o cualquier otra herramienta de gestión de paquetes) los siguientes paquetes:

  • gcc: el compilador
  • libncurses5-dev: ficheros necesario para poder usar el menú de configuración del kernel
  • linux-tree-2.6.21: el código fuente del kernel.
  • kernel-package: scripts para facilitarnos enormemente al tarea de recompilar el kernel.
  • yaird: para crear imágenes de arranque del sistema.
  • module-assistant: para luego poder compilar drivers al margen del kernel (lo usaremos para los drivers de la nVidia y de la wifi).

Para instalarlos podríamos hacer, por ejemplo:

# apt-get -u install gcc libncurses5-dev linux-tree-2.6.21 kernel-package yaird module-assistant

También debemos quitar el paquete initramfs-tools. Esto es para que cuando creemos la imagen de arranque del sistema se use yaird en vez de este:

apt-get -u --purge initramfs-tools

Esto nos habrá dejado un archivo comprimido tar.bz2 en el directorio /usr/src con el código fuente del kernel. Hay que descomprimrilo:

# cd /usr/src
# tar -xjf linux-source-2.6.21.tar.bz2
# ln -s linux-source-2.6.21/ linux

Con la última instrucción hemos creado un enlace simbólico al directorio donde está el código fuente del kernel. Esto es algo muy habitual y recomendable.

 

5.2. Configurando yaird

Como hemos dicho yaird va a crear una imagen reducida del kernel que se cargará en memoria en el arranque del sistema y realizará todo el proceso inicialización. Debemos configurar yaird para indicarle que módulos (drivers) debe incluir en esa imagen. Para ello editamos el fichero /etc/yaird/Default.cfg, y después de la línea:

MODULE mousedev

añadimos:

MODULE acpi-cpufreq
MODULE cpufreq_ondemand
MODULE ata_piix
MODULE sd_mod

donde:

  • acpi-cpufreq: es quien se encarga de hacer el escalado de la frecuencia del procesador
  • cpufreq_ondemand: es el “governor” de la frecuencia. Es decir, es quien decide cuando y como se va a escalar la frecuencia del procesador.
  • ata_piix y sd_mod: dan soporte para acceder a nuestro disco SATA.

Con esto nos basta, ya que el resto de módulos se irán cargando de forma dinámica según sean necesarios.

 

5.2. Configuración del kernel

Lo primero es configurarlo, para ello ejecutamos:

# cd linux
# make menuconfig

Nos aparece un menú en la consola que nos permite configurar las opciones. Cabe destacar que a partir de la versión 2.6.20 el kernel ya trae opciones específicas para soportar los procesadores Core 2 Duo.

  • Procesor type and features:

Se puede ver como la familia del procesador es “Core 2/newer Xeon”, y que está activo la opción “Multi-core scheduler support”. También hay que fijarse en que se ha deshabilitado al opción “SMT (Hyperthreadinf) scheduler support”, y que el número de CPUs se ha fijado a 2 “(2) Maximum number of CPUs (2-255)”.

  • Power management options (ACPI, APM)
    • CPU Frequency scaling

En esta opción estamos preparando el soporte para el escalado dinámico del procesador. Es decir, a más demanda sube la frecuencia, y baja con menos demanda. Con esto conseguimos ahorrar energía, que se caliente menos, por lo tanto que haga menos ruido, y en definitiva alargar la vida de nuestro procesador.

Fijaros como hemos dado soporte para “ACPI Processor P-Stattes driver”, este es le driver adecuado para el Core 2 Duo.

Con esto hemos terminado el soporte para el Core 2 Duo, de todas formas aquí tenéis mi fichero de configuración por si queréis consultar que otras opciones tengo (se admiten recomendaciones ;).

 

5.3. Compilación del kernel

Para hacer la compilación ejecutaremos:

# make-kpkg --initrd --append-to-version .aca.070527 kernel-image

Con la opción --initrd estamos indicando que queremos generar un “disco en ram” para hacer el arranque del sistema. Es decir, se prepara un fichero con una imagen mínima del sistema, al arrancar el ordenador, carga en memoria esta imagen, y a partir de ella se carga el resto del sistema.

Para poder usar esta característica es necesario disponer de algún programa capaz de generar estas imágenes. Yo he elegido el yaird, que ya hemos comentado e instalado anteriormente.

El texto que ponemos detrás de la opción --append-to-version es simplemente algo que se va a concatenar al nombre del kernel que vamos a compilar para diferenciarlo fácilmente. A mi personalmente me gusta poner la fecha para saber cuando lo compilé, pero cada uno es libre de poner lo que quiera (si es que quiere poner algo 😉

kernel-image es el target que se encarga de compilar el kernel, compilar los módulos, y preparar un fichero .deb para instalar el nuevo kernel en nuestro sistema de forma sencilla.

 

5.4. Instalación del kernel

Para hacer la instalación del kernel compilado ejecutamos:

# cd ..
# dpkg -i linux-image-2.6.21.aca.070527_2.6.21.aca.070527-10.00.Custom_i386.deb

Donde linux-image-2.6.21.aca.070527_2.6.21.aca.070527-10.00.Custom_i386.deb es el nombre del fichero generado por make-kpkg.

Veremos como durante la instalación salen unos mensajes indicando que se ha modificado el GRUB para hacer referencia al nuevo kernel (lo habrá puesto el primero de la lista).

Ahora debemos reiniciar nuestro sistema y seleccionar el nuevo kernel durante el arranque.

 

6. Instalación del driver para la nVidia

Debemos instalar los paquetes:

  • nvidia-glx
  • nvidia-kernel-common
  • nvidia-kernel-source
  • nvidia-settings

Primero ejecutamos:

# apt-get -u install nvidia-kernel-common nvidia-kernel-source nvidia-settings

No instalamos todavía nvidia-glx ya que este paquete depende del driver y todavía no lo hemos compilado. Lo haremos más tarde.

Para compilar e instalar el driver hacemos:

# cd /usr/src
# module-assistant a-i nvidia-kernel

Esto se encarga de compilar el driver para el kernel que está actualmente en ejecución e instalar el driver.

Ahora ya podemos instalar nvidia-glx:

# apt-get -u install nvidia-glx

Ya sólo nos queda configurar las X para que usen el driver que acabamos de instalar. Aquí os adjunto el fichero de configuración xorg.conf para que veáis como hacerlo.

Ahora tenemos que reiniciar las X (o el sistema, lo que os resulte más cómodo).

 

7. Instalación del driver para la wireless

Nos descargamos el último firmware (microcode) de http://bughost.org/ipw3945/. En mi caso el fichero ipw3945-ucode-1.14.2.tgz. Lo descomprimimos y copiamos el fichero ipw3945.ucode en /lib/firmware

# tar -xzf ipw3945-ucode-1.14.2.tgz
# cp ipw3945.ucode /lib/firmware

También podríamos haberlo descargado del repositorio de Debian (paquete firmware-ipw3945), pero yo he preferido descargarlo directamente de la web porque se trata de una versión más reciente (y en el tema del firmware nos interesa 😉

Ahora instalamos los paquetes:

  • ipw3945d
  • ipw3945-source

# apt-get -u install ipw3945d ipw3945-source

y compilamos el driver:

# cd /usr/src
# module-assistant a-i ipw3945

Igual que antes, module-assistant se encarga de compilar e instalar el driver.

Ya sólo tenemos que reiniciar la máquina para comprobar que todo arranca y se inicializa correctamente.

Además podemos comprobar que la tecla Fn + F2 funciona perfectamente para habilitar o deshabilitar la wireless (puede resultar muy interesante si estamos con batería y queremos ahorrar un poquito más de energía).

 

8. Problemas con el dispositivo OLED

El dispositivo OLED es la pequeña pantalla que tiene el ASUS encima del teclado (muestra la palabra ASUS, o en Windows muestra la hora).

Actualmente este dispositivo no está soportado por el kernel 2.6.21, y con la última versión de hal 0.5.9-3, con el comando dmesg veremos que continuamente nos aparece el mensaje:

usb 5-7: reset high speed USB device using ehci_hcd and address 4

Una solución sencilla es ejecutar, después de cada arranque, el comando:

# echo -n 5-7 >/sys/bus/usb/drivers/usb/unbind

Con esto le estamos diciendo al kernel que se olvide de este dispositivo.

Para que se ejecute en cada arranque del sistema podemos añadir está línea en el fichero /etc/rc.local

 

9. Conclusiones

Actualmente instalar un GNU / Linux es tan fácil como instalar un Windows. En esta ocasión hemos visto Debian que tiene fama de ser de las distribuciones más “ásperas”, y sin embargo a sido muy sencillo. Incluso hemos visto como recompilar el kernel y como instalar algunos drivers para sacarle más partido a nuestro sistema.

Si a pesar de todo Debian os sigue dando “miedo” podéis intentarlo con Ubuntu (http://www.ubuntu.com/) o Kubuntu (http://www.kubuntu.org/). La única diferencia entre estas dos distribuciones es que Ubuntu instala GNOME por defecto, mientras que Kubuntu instala KDE, pero cualquiera de las dos tiene fama por su facilidad de instalación y configuración.

Lo que está claro es ya no tenemos excusa, por lo menos para probarlo. Y os puedo asegurar que una vez lo pruebas ya no lo cambias por nada. No sólo por que es open-source y ni el propio sistema ni las aplicaciones te cuestan un duro, sino porque podemos encontrar aplicaciones de mucha calidad (igual o mejor que lo que podemos encontrar en Windows):

  • Openoffice (http://www.openoffice.org/) como suite de ofimática: escribir documentos, presentaciones, hojas de cálculo, …
  • Amarok (http://amarok.kde.org/) como reproductor multimedia (no encontraréis nada mejor).
  • K3b (http://k3b.plainblack.com/) para grabar CDs, DVDs.
  • Firefox (http://www.mozilla.com/en-US/firefox/) o Iceweasel (es la versión de Debian del Firefox) como navegador para Internet.
  • Synaptic (http://www.nongnu.org/synaptic/) como gestor de paquetes. Esta es una de las características que más me gusta de Debian (y en general de Linux), que la instalación de prácticamente cualquier cosa, las aplicaciones la tienes centralizada en un sólo punto, y no como en Windwos que tienes que buscar la página en Internet, descargarte la aplicación, … Además cuando actualizamos, no sólo se actualiza el sistema (como en Windows), sino que se nos actualizan todas las aplicaciones que tengamos instaladas.

Otro punto a favor de GNU / Linux es que no vamos a tener problemas de licencias. El uso de free-software y open-software se convierte en una alternativa más que viable a la piratería. NO a la piratería y NO a las patentes de software.

 

10. Sobre el autor

Alejandro Pérez García, Ingeniero en Informática (especialidad de Ingeniería del Software)

Socio fundador de Autentia (Formación, Consultoría, Desarrollo de sistemas transaccionales)

mailto:alejandropg@autentia.com

Autentia Real Business Solutions S.L. – “Soporte a Desarrollo”

http://www.autentia.com

Alejandro es socio fundador de Autentia y nuestro experto en Java EE, Linux y optimización de aplicaciones empresariales. Ingeniero en Informática y Certified ScrumMaster. Seguir @alejandropgarci Si te gusta lo que ves, puedes contratarle para darte ayuda con soporte experto, impartir cursos presenciales en tu empresa o para que realicemos tus proyectos como factoría (Madrid). Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad