lunes, 28 de enero de 2013

Como instalar gentoo desde otra distribución x86


Como saben soy unixero o si no saben soy unixero,me gustan mucho los sistemas unix,desde el iOS que es Darwin hasta Linux que es algún derivado libre de Unix,en este caso uso desde Ubuntu,Arch hasta Gentoo,Slackware y en mis tiempos libres instalando LFS con la excelente guia y ayuda de hexborg ,bueno en este caso yo ya tenia instalo gentoo en una laptop de 2ghz de procesador y iba bien, para instalar paquetes se compilan con emerge automáticamente y es un poco mas tardado que el apt-get de Debian y tambien depende la Pc donde lo vamos a instalar,en este caso me arriesgue a meterlo en una netbook con 2gb ram y 1.6ghz haber que tal me va,pero bueno el hecho es que gentoo es una distribucion muy buena y de alto nivel,las llamadas hardcore distro como Crux,Slackware,LFS,FreeBSD(este no es linux), en mi caso de ser unixero no me puede venir mejor gentoo ya que es puro comando de Unix,en este caso el equivalente de GNU que seria Coreutils - GNU core utilities,y otros paquetes,pero es una distribución de Linux de todo Unixero :D

Así que comenzamos

Pero primero por que este tutorial si hay mas en la web?

Pues no e gusta la competencia ni las comparaciones y he visto pocos tutoriales sobre esto,los cuales son buenos pero no me  funcionaban en mis circunstancias,ya que necesitaba Internet (en la netbook) por cable(se descompuso) y se necesitaba por wifi(la iso de gentoo no reconoce mi modulo de wifi), así que aun con todas esas cosas en contra se puede instalar, y eso es lo que se propone:

Instalar gentoo en una netbook/laptop que no se puede conectar a Internet desde el iso oficial de instalación de gentoo.

Esto se puede hacer desde un live{usb,cd,dvd} pero yo lo hago desde otra partición (desde el HDD),la cual había dejado vacía en una partición extendida,de no ser el caso se puede crear una partición desde un live,osea que vamos a instalar Gentoo junto a otra distro(No partición Boot,No Home,solo una).

Esto lo hice basado en las circunstancias en las que estaba,pero lo pueden modificar a darse ideas para las circunstancias en las que estén,que se instale en todo el HDD de la Pc,etc.

En mi caso haré esto desde ubuntu 12.10 instalado en mi pc y instalare gentoo en /dev/sda7.

1.Primero necesitamos crear una partición,se recomiendan dos pero bueno,montare el home en el mismo /

2.Primero que nada vamos a formatear nuestra partición

Entramos a root

su

creamos una carpeta en el /mnt llamada gentoo

cd /mnt/
mkdir gentoo



Verificamos nuestra partición con fdisk -l

Y formateamos en ext4

mkfs.ext4 /dev/particion





Nota: Como ven yo ya tengo swap, así que ni haré swapon ni nada porque la esta usando ubuntu,si es el mismo caso no hagan nada,si no tienen swap creen una partición de 2gb por ejmplo con cfdisk,gparted,etc,y denle formato swap

mkswap /dev/particion

Montamos la partición raíz en la carpeta que creamos y entramos en ella

mount /dev/particion /mnt/gentoo && cd gentoo




Verificamos con :

df -h


Ahora descargamos el starge3

Con liks,o firefox,o chrome

Entramos a http://www.gentoo.org/main/en/mirrors.xml

Y entramos a una mirror y buscamos el mas reciente starge3*tar.gz2






Por ejemplo:

ftp://gentoo.arcticnetwork.ca/pub/gentoo/releases/x86/current-stage3

Y lo descargamos,en liks presionar d y aceptar



Lo descomprimimos en /mnt/gentoo

Atención : Si descargaste con liks directamente solo descomprime

ls 

time tar xjpf nombre_starge3.tar.bz2

O pueden ver el proceso con

time tar xvpf nombre_starge3.tar.bz2

Si lo descargaste con chrome,firefox,etc y esta por ejemplo den Descargas:

Abre otra terminal y :

su
cd ~tu_usuario/Descargas
ls *tar.bz2
mv nombre_starge.tar.bz2 /mnt/gentoo

Y volviendo a la otra consola(en /mnt/gentoo)

time tar xjpf nombre_starge3.tar.bz2

Hecho una de las dos opciones ahora tiene que verse así al hacer ls :


Ahora copiamos nuestros nameservers(para poder usar la conexión de Internet de ubuntu en gentoo)

cd /
cp -L /etc/resolv.conf /mnt/gentoo/etc/

Ahora montamos los sistemas de ficheros necesarios para poder iniciar un entorno enjaulado

Los cuales son proc:

mount -t proc none /mnt/gentoo/proc 

sys:

mount --rbind /sys /mnt/gentoo/sys

dev:

mount --rbind /dev /mnt/gentoo/dev

Y iniciamos el entorno enjaulado chroot,para poder usar el sistema:

Cambiamos de raíz a /mnt/gentoo y le pasamos bash

chroot /mnt/gentoo /bin/bash



Cargamos el profile

source /etc/profile

Y listo ya estamos en gentoo pero desde Ubuntu o la distribución que este usando :D

Creamos la carpeta de portage

mkdir /usr/portage

Que es portage?

Portage es probablemente la más importante innovación de Gentoo en la gestión de software. Debido a su potente flexibilidad y una gran cantidad de funcionalidades, es frecuentemente apreciado como la mejor herramienta de gestión de software disponible para Linux.

Portage esta completamente escrito en Python y Bash y, por tanto, totalmente a la vista de los usuarios al ser ambos lenguajes interpretados.

La mayoría de usuarios trabajarán con Portage a través de la herramienta emerge. Este capítulo no pretende duplicar la información disponible en la página de man sobre emerge. Para una completa información sobre las opciones de emerge, por favor, consulte la página del manual:

http://www.gentoo.org/doc/es/handbook/handbook-x86.xml?part=2&chap=1

man emerge

Descargamos la ultima instantánea usando emerge

emerge-webrsync



Establecemos hora y zona

Buscamos nuestro pais

ls /usr/share/zoneinfo/America

Y lo copiamos a /etc/localtime(por ejemplo):

cp /usr/share/zoneinfo/America/Mexico_City /etc/localtime

También :

echo "America/Mexico_City" > /etc/timezone

Seleccionamos un perlfil

En terminal :P

Los listamos:

eselect profile list

Y seleccionamos uno(Por ejemplo Desktop)

eselect profile set 10


Establecemos el nombre de nuestra maquina y servidor

cd /etc

echo "127.0.0.1 miordenador.en.misitio miordenador localhost" > hosts

sed -i -e 's/hostname.*/hostname="miordenador"/' conf.d/hostname


Establecemos  hostname

hostname miordenador

Y verificamos

hostname -f




Configuración del núcleo

Esta es la parte mas tardada,ya que se lleva mucho tiempo y yo estoy un poco obsesionado con eso,por eso el sitio se llama tiempo de tux.

En gentoo tenemos que configurar el kernel y luego compilarlo

Tenemos dos opciones,lentasss

(No hagan nada son opciones)

La automática que hace todo por nosotros,pero que se tarda en compilar lo que es el programa y en crear el kernel mas

Yo hice esto en una laptop hace tiempo(2ghz,1gb ram) y se tardo 4 horas mas o menos,una en instalar genkernel y tres en compilar(así que pueden hacer estadísticas de su pc):

Descargamos el source

emerge gentoo-sources

Hacemos emerge a genkernel :

emerge genkernel
Si les da errores,nos avisara(en ingles) y solo es cuestión de hacer lo que nos diga,aveces añadir lo que nos menciona a la variable use de /etc/portage/make.conf, o cambiar una variable del sistema

Y después

genkernel all

Y aquí podemos esperar un rato,para lo cual no soy bueno:



La otra opción es si queremos hacerlo manual, podemos

Descargar gentoo-sources

time emerge gentoo-sources

Nos pasamos al directorio de linux

cd /usr/src/linux

Y configuramos,luego compilamos




pero no puedo dar informacion sobre esto porque todas las pc son diferentes,asi que visiten la información oficial

http://www.gentoo.org/doc/es/handbook/handbook-x86.xml?full=1#book_part1_chap7

Y

http://www.gentoo.org/doc/es/articles/linux-kernel-compiling.xml

En mi caso lo haré manual,por las circunstancias en las que estoy,ya que usar genkernel en mi netbook se tardaría machismo.

Bien después de 2 horas he terminando de compilar el kernel, después de eso debemos configurar el fstab

nano -w /etc/fstab

Y añadir nuestra partición root

Por ejemplo yo

/dev/sda7

Y en mi caso también no use /boot en otra partición,ni home así que comentamos las demás

Y use ext4, también añadimos la partición de swap que comente arriba :





Pueden ver con fdisk -l de nuevo



Ahora vamos a configurar la red

cd cd /etc/init.d

ln -s net.lo net.eth0

cd ../conf.d

Podemos añadir una ruta por defecto para eth0(en mi caso no,porque no sirve el eth),por ejemplo:

echo 'config_eth0="192.168.1.10 netmask 255.255.255.0 brd 192.168.1.255"' >> net

echo 'routes_eth0="default via 192.168.1.1"' >> net

También debemos mandar el hostname que escribimos anteriormente al hostname de esta carpeta

echo 'hostname="nombredemimaquina"' > hostname

Añadimos eth0 como default(en mi caso despues agregare wlan0,cuando instale el modulo para mi targeta de red) :

rc-update add net.eth0 default

Definimos nuestra contraseña de root

passwd

Verifica que este tu configuración de tiempo en /etc/timezone

cat /etc/timezone

Y tu teclado

nano -w /etc/conf.d/keymaps

En la variable keymap es donde debe ir tu keymap de tu teclado(us,es,etc)

En mi caso:

la-latin1

También edita la configuración del reloj según tus necesidades(solo comenta o descomenta #)

nano -w /etc/conf.d/hwclock

Configurar el idioma

nano -w /etc/locale.gen

Descomenta tu idioma (de preferencia UTF-8)

En mi caso


es_MX.UTF-8 UTF-8



Si no esta tu pais,mas información aqui:

http://www.gentoo.org/doc/es/utf-8.xml

Y generamos

locale-gen

Y también creamos este archivo

nano /etc/env.d/02locale

Y escribimos:

En mi caso:

LANG="es_MX.UTF-8"
LC_COLLATE="C"

También emergemos syslog-ng y vixie-cron

time emerge syslog-ng vixie-cron

La opción time es opcional,yo la uso porque le viene bien al nombre del sitio :P

Aquí los resultados de emerger eso

real 7m59.923s
user 5m56.226s
sys 1m19.449s

Ahora debemos añadirlos al inicio

rc-update add syslog-ng default

rc-update add vixie-cron default

Como es una netbook,voy a emerger wireless-tools

emerge wireless-tools

Eso es todo,el grub lo deje en ubuntu(mas fácil :D)

En otra terminal:

update-grub2





Para instalar hacer update en su distribución depende de cual sea,en Ach :

wiki.archlinux.org/
O para instalarlo en gentoo :

http://www.gentoo.org/doc/es/handbook/handbook-x86.xml?part=1&chap=10

Terminado de instalar el grub y configurar lo

En la terminal de gentoo


Ahora solo falta elegir los mirror



emerge mirrorselect


mirrorselect -i -o >> /etc/portage/make.conf


mirrorselect -i -r -o >> /etc/portage/make.conf 

Y crear un usuario

useradd -g users -G lp,wheel,audio,cdrom,portage,cron -m nombre_usuario 
Definimos su password:

 passwd nombre_usuario

Y apagamos

rm nombre_starge3.tar.bz2

exit


umount -l /mnt/gentoo/dev{/shm,/pts,}


umount -l /mnt/gentoo{/proc,/sys,}


reboot



Recuerden que si no podemos acceder a Internet,o no podemos configurar desde mismo Gentoo por haber configurado mal algo,siempre podemos recurrir a chroot desde otra partición o un live{cd,usb,dvd}y pasarle Internet :



Partición

mount /dev/particion-gentoo /mnt/gentoo


Internet:



mount --bind /etc/resolv.conf /mnt/gentoo/etc/resolv.conf



o


cp -L /etc/resolv.conf /mnt/gentoo/etc/


proc 


mount -t proc none /mnt/gentoo/proc 

sys:

mount --rbind /sys /mnt/gentoo/sys

dev:

mount --rbind /dev /mnt/gentoo/dev




para poder instalar y configurar todo lo necesario

Jaula:


chroot /mnt/gentoo /bin/bash

Eso es todo :D


Lean sobre portage:

Enlace

Referencia : www.gentoo.org/

2 comentarios:

  1. Muchas gracias por nombrarme. Es un placer. :)

    Está muy bien el tutorial. Prometo que algún día instalaré gentoo. Por cierto, no está nada mal la cantidad de particiones que tienes ahí. :)

    Saludos.

    ResponderBorrar
    Respuestas
    1. Si,tenia una partición extra que había reservado para ubuntu,pero mejor instale el gran Gentoo :D y también para difundir un poco este método de instalación ,ya que puede que a mas personas los frene este tipo de cosas(no poder usar el live oficial) y bueno.

      Saludos :D

      Borrar

Los comentarios serán revisados antes de ser publicados.