Instalar Debian desde otro Linux

Este tipo de instalación es muy útil para las circunstancias en que nuestro hardware del PC no se pueda usar con los mecanismos de instalación incluidos en el CD de Debian. El cual fue mi caso con un HP TouchSmart 300.

1. Particionando nuestro disco.

Podemos usar la herramienta que dominemos y crear como mínimo una partición para la raíz(/) y swap. Yo he decidido crear 3 particiones con las siguientes características.

Dispositivo Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sda1   *           1           5       40131   83  Linux
/dev/sda2               6          71      530145   82  Linux swap / Solaris
/dev/sda3              72       60801   487813694+   5  Extendida
/dev/sda5              72        2030    15735636   83  Linux

Donde:

sda5 – es la partición raíz.
sda1 – es boot.
sda2 – es la swap.

2. Creando los Sistemas de Ficheros.

a. FS para boot y root.

# mke2fs -j /dev/sda1
# mke2fs -j /dev/sda5

b. inicializando y activando el área de intercambio.

# mkswap /dev/sda2
# sync; sync; sync
# swapon /dev/sda2

3. Montar la partición raíz de Debian(la cual sera el punto de instalación del nuevo sistema).

root@development:~# mkdir /mnt/debinst
root@development:~# mount -t ext3 /dev/sda5 /mnt/debinst/
root@development:~# mkdir /mnt/debinst/boot
root@development:~# mount -t ext3 /dev/sda1 /mnt/debinst/boot/

4. Instalar debootstrap.

resume de instalar debootstrap desde el binario:

# wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.26_all.deb

2010-11-19 07:42:33 (80,1 KB/s) – «debootstrap_1.0.26_all.deb» guardado [58232/58232]

root@development:~/descargas# ls -ltr
-rw-r–r– 1 root  root     58232 2010-11-12 07:17 debootstrap_1.0.26_all.deb
-rw-r–r– 1 jolth jolth 38619147 2010-11-16 23:51 tri-fold-brochure-templates.zip
-rw-r–r– 1 jolth jolth  8338329 2010-11-17 00:04 5_5x8_5_Half.zip
-rw-r–r– 1 jolth jolth   588295 2010-11-17 17:22 kubuntu_wallet_1004_front.pdf
-rw-r–r– 1 root  root    531411 2010-11-19 07:38 kubuntu_wallet_1004_front.pdf.tar.gz
root@development:~/descargas# mkdir trabajo
root@development:~/descargas# mv debootstrap_1.0.26_all.deb trabajo/
root@development:~/descargas# cd trabajo/
root@development:~/descargas/trabajo# ls -l
-rw-r–r– 1 root root 58232 2010-11-12 07:17 debootstrap_1.0.26_all.deb
root@development:~/descargas/trabajo# ar -x debootstrap_1.0.26_all.deb
root@development:~/descargas/trabajo# ls -l
-rw-r–r– 1 root root  1171 2010-11-19 07:43 control.tar.gz
-rw-r–r– 1 root root 56868 2010-11-19 07:43 data.tar.gz
-rw-r–r– 1 root root     4 2010-11-19 07:43 debian-binary
-rw-r–r– 1 root root 58232 2010-11-12 07:17 debootstrap_1.0.26_all.deb
root@development:~/descargas/trabajo# zcat data.tar.gz | tar -xv
root@development:~/descargas/trabajo# ls -l
total 128
-rw-r–r– 1 root root  1171 2010-11-19 07:43 control.tar.gz
-rw-r–r– 1 root root 56868 2010-11-19 07:43 data.tar.gz
-rw-r–r– 1 root root     4 2010-11-19 07:43 debian-binary
-rw-r–r– 1 root root 58232 2010-11-12 07:17 debootstrap_1.0.26_all.deb
drwxr-xr-x 4 root root  4096 2010-11-12 07:07 usr
root@development:~/descargas/trabajo# cp -r usr/* /usr/

5. Ejecutando debootstrap

Sintaxis:

debootstrap versión_debian punto_de_instalación servidor_de_réplica

Si tiene un CD de Debian con la distro puede  usar file:/cdrom/debian/.
Puede establecer la arquitectura de su maquina. –arch Nombre_arquitectura. Las arquitecturas soportadas son: alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390 o sparc.

6. Instalar Sistema Base

root@development:~/descargas/trabajo# debootstrap –arch i386 lenny /mnt/debinst http://ftp.us.debian.org/debian

hora de tomar un Café. y esperamos que nos diga:

I: Base system installed successfully.

Con esto ya tenemos nuestro sistema base Debian instalado.

7. Configurando el Sistema Base.

– Ingresando al sistema base (jaula):

root@development:~/descargas/trabajo# LANG=C chroot /mnt/debinst/ /bin/bash

7.1. – Definamos nuestra terminal compatible con el sistema base.

root@development:/# echo $TERM
xterm
root@development:/# export TERM=xterm-color
root@development:/# echo $TERM
xterm-color

7.2. – Crear ficheros de dispositivo

Es posible que para llevar a cabo los pasos siguientes de la instalación necesitemos crear dispositivos ya que /dev contiene solamente ficheros de dispositivos muy básicos. Para crear nuestros dispositivos debemos tener en cuenta si deseamos usar un núcleo modular o no, de si deseamos usar dispositivos de archivos dinámicos (p.ej. udev) o estáticos (MAKEDEV) en nuestro nuevo sistema.

a. Crear un conjunto de dispositivos predeterminados
#cd /dev
#MAKEDEV generic
b. Crear los dispositivos específicos que necesitemos con MAKEDEV.

c. Creando un enlace de montaje para los dispositivo que nos pueden hacer falta. Debemos tener en cuenta que algunos paquetes de la pos-instalación pueden tratar de crear ficheros de dispositivo. Utilizar esta opción con precaución.

Entonces en una terminal del sistema base como root:

root@development:~# mount -o bind /dev/ /mnt/debinst/dev/
root@development:~# mount -o bind /sys/ /mnt/debinst/sys/

tambien montamos el sistema de ficheros proc.

root@development:~# mount -t proc none /mnt/debinst/proc/

Si no en el entorno chroot ejecutar:

root@development:~# mount -t proc proc /proc

El directorio /proc no debe estar vació, si no es así, montar /proc desde el sistema base: # mount -t proc proc /mnt/debinst/proc

Si no creamos los enlaces de montaje podemos especificar mount -a cuando tengamos el fichero /etc/fstab configurado o montarlos uno a uno sea nuestras necesidades así:

7.3. – Montar particiones

Para que nuestro sistema puede montar de forma adecuada todos dispositivos a la hora del arranque debemos configurar el fichero /etc/fstab.

Mi fstab lo configure así:

# Configuración fstab for Debian GNU/Linux
#

/dev/sda5    /    ext3    errors=remount-ro    0    1
/dev/sda1    /boot    ext3    ro,nosuid,nodev    0    2
/dev/sda2    none    swap    sw        0    0
proc        /proc    proc    default        0    0

montar todos los sistemas especificados en /etc/fstab: mount -a.

7.4. – Crear enlaces simbólicos para dispositivos removibles.

root@development:/# cd media/
root@development:/media# mkdir cdrom0
root@development:/media# ln -s cdrom0/ cdrom
root@development:/media# cd ..
root@development:/# ln -s /media/cdrom

Por compatibilidad creamos el enlace simbólico en la raíz /.

7.5. – Configurando la zona horaria.

Una opción en el fichero /etc/default/rcS determina si el sistema interpreta el reloj de hardware como UTC o como hora local.
Si miramos el fichero /etc/adjtime, este se encontrara vació, lo cual nos indica que no tenemos configurada nuestra zona horaria. Para configurar usamos la orden:
root@development:/# dpkg-reconfigure tzdata

7.6. – Configurar nuestra red.

para configurar nuestra red editaremos los ficheros: /etc/network/interfaces, /etc/resolv.conf, /etc/hostname y /etc/hosts.

a. Configurar interfaces de red.

root@development:/# vim /etc/network/interfaces

Si contamos con una red con soporte DHCP podemos usar la siguiente configuración para nuestra interfaces de red:

# interfaz loopback
auto lo
iface lo inet loopback

# interfaz eth0
auto eth0
iface eth0 inet dhcp

Si necesitamos nuestra interfaz eth0 con IP fija:

auto eth0
iface eth0 inet static
network 192.168.1.0
address    192.168.1.2
netmask    255.255.255.0
broadcast 192.168.1.255
gateway    192.168.1.1
dns-nameservers    200.xx.xxx.xx

Cabe destacar que esta configuración es para mi red y la puse como ejemplo.

b. Configurar servidores DNS.

root@development:/# vim /etc/resolv.conf

search devmicrosystem.local
nameserver 200.xx.xxx.xx
nameserver 200.xx.xxx.xx

c. Configurar nuestro hostname.

root@development:/# vim /etc/hostname
development

d. Configurar tabla de para nombres de host.

Un fichero básico con soporte para IPv6:

root@development:~# vim /etc/hosts
127.0.0.1    localhost $(hostname)
192.168.0.10    serverdata

# intranet
10.100.11.1    gateway    gateway.dev.com.co    proxy    proxy.dev.com.co

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

7.7. – Configuración del administrador de paquetes apt.

nuestro sistema base cuenta con un /etc/apt/source.list muy básico que solo hace referencia a repositorios de paquetes. Pero necesitamos como mínimo que nuestro sistema cuente con repositorios de actualizaciones de seguridad y por que no de source.

root@development:/# vim /etc/apt/sources.list

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

# seguridad

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

es opcional que agreguemos repositorios de contrib y non-free.

sincronizamos el indice de paquetes de los repositorios:

root@development:/# aptitude update

7.8. – Configuramos el idioma y teclado.

a . Para darle soporte de localización y configurar nuestro idioma(diferente del inglés) necesitamos instalar el paquete locales. Se recomienda usar UTF-8.

podemos buscar el paquete:

root@development:/# apt-cache search –names-only locales

instalamos y configuramos:

root@development:/# aptitude install locales
root@development:/# dpkg-reconfigure locales

b. Para configurar nuestro teclado para nuestra próximo arranque. La configuración del teclado es opcional solo si lo necesitamos.

root@development:/# aptitude install console-data
root@development:/# dpkg-reconfigure console-data

7.9. – Instalando el Kernel.

Si queremos arrancar el sistema necesitaremos el kernel y el gestor de arranque. Miremos que kernels linux hay empaquetados.

root@development:/# apt-cache search –names-only linux-image

Antes de instalar debemos configurar el fichero de configuración global para paquetes con imágenes del núcleo. una configuración básica:

server:~# vim /etc/kernel-img.conf

do_symlinks = yes
relative_links = yes
do_bootloader = no
do_bootfloppy = no
do_initrd = yes
link_in_boot = no
# Para actualizar automáticamente el /boot/grub/menu.lst
# cuando se instale un nuevo kernel.
#postinst_hook = update-grub
#postrm_hook   = update-grub

Si no creamos el fichero en el momento de la instalación del kernel se nos preguntaran. La opción “do_bootloader” se fija a “no” si pensamos instalar el cargador de arranque grub y “yes” si vamos a usar lilo.

instalamos el kernel:

root@development:/# aptitude install linux-image-2.6.26-2-686

7.10. – Configurar el gestor de arranque.

Para poder arrancar nuestro Debian necesitamos del gestor para los pueda cargar en núcleo de nuestro sistema ubicado en /dev/sda5. Se asume que se a creado el fichero de dispositivo /dev/sda (en la sección: Crear ficheros de dispositivo).

a. instalación y configuración del grub.

root@development:/# aptitude install grub

b. instalar el grub en la MBR

root@development:/# grub-install /dev/sda

c. Crear un /boot/grub/menu.lst funcional.

root@development:/# update-grub

8 – Con todos los juguetes.

Si tenemos problemas con la distribución del teclado podemos hacer:

# setxkbmap latam

Para cambiarlo a la distribución para latinoamericana.

Ya que contamos con un sistema básico y si queremos tener un sistema con todos los juguetes y evitarnos la instalación de los paquetes individualmente con aptitude, podemos usar la interfaz de instalación tasksel.

Mirar los tipos de instalación:
# tasksel –list-tasks

Instala la de nuestro gusto:
# tasksel install desktop

Ok, ya podemos reiniciar nuestro sistema y arrancar nuestro Debian GNU/Linux(si vamos a reiniciar debemos desmontar proc, sys y dev).

Por: jolth.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s