miércoles, 3 de abril de 2013

Como crear un livecd de Gentoo con DE a nuestro gusto parte (II/III)

Seguimos con la segunda parte de esta trilogia de crear nuestro propio live-cd de un sistema basado en gentoo con todas las apps y programas que nos gustan,incluyendo configuraciones del kernel y un entorno de escritorio,pido disculpas porque la primera parte fue hace como un mes,pero había tenido problemas con el Gentoo que tengo instalado en el disco duro y luego reinstalarlo y preparar el live-cd,y bueno de todas formas deje el enlace de la informacion original por si querian hacerlo desde ahi mismo sin depender de estos tutoriales.

Tutorial

Esta parte es la mas tardada de las tres,asi que pueden instalar un paquete cada vez cuando tengamos tiempo,ya que se compilan y es algo tardado(dependiendo de nuestro hardware),y bueno primero unos consejos o ayuda sobre Gentoo(por si no son usuarios)

1.Los parámetros de la compilación de nuestras aplicaciones se guardan en:

/etc/portage/make.conf
Aquí están guardadas las variables que usar emerge,las cuales hay muchas muy importantes las cuales son:

MAKEOPTS
Esta variable la definimos con el numero de procesadores + 1,por ejemplo si tenemos 2 procesadores esta variable debe ser definida así:

MAKEOPTS="-j3"
Al momento de compilar gcc usara esta configuración y esto también ayudara a la velocidad del proceso.

CFLAGS

y

CXXFLAGS

 Son las opciones de optimizacion de la compilación,por lo general se usa:

-O2 -pipe 

Para una maxima y segura optimizacion

Mas info

USE
La vaiable USE se usa para definir las opciones que usaremos en los paquetes en modo de llamar a otros paquetes,por ejemplo si instalamos ettercap,incluye modo gtk y modo texto o demas modos.

Si queremos que use gtk solo añadimos

gtk

A nuestro USE,pero si queremos que no use gtk,por ejemplo que no instale ettercap en modo gtk solo añadimos a nuestro USE:

-gtk

Esto hara que no use gtk para nada y en otro ejemplo tambien podriamos construir un sistema libre de qt añadiendo -qt a nuestro USE:

Antes de instalar un programa en Gentoo podemos ver cuales son los parametros USE que podemos usar con:

emerge -pv programa

ACCEPT_KEYWORDS
Esta variable se usa para definir los programas que usaremos,por ejemplo para usar programas de x86 estables se usa

x86

Para usar programas x86 inestables se usa:

~x86

Igual con amd,o otras arquitecturas,por ejemplo si tenemos x86 en nuestro parámetro ACCEPT_KEYWORDS nos instalaría gimp 2.6,o el kernel 3.6 pero si tenemos ~x86 nos instalaría gimp 2.8 o kernel 3.8.

ACCEPT_LICENSE
Esta variable se usa para aceptar las licencias de software,por ejemplo si queremos aceptar solo licencias GPL lo definimos asi(no recuerdo cual es la variable para licencia GPL), o si queremos aceptar todas las licencias,BSD,GPL o dlj como es el caso de Sun,solo escribimos

 ACCEPT_LICENSE="*"

También tenemos

GENTOO_MIRRORS

 y

SYNC

Las cuales es para definir nuestros mirrors.

Por ultimo tenemos  la variable

LANG
Que es para definir el idioma en la cual se instalar nuestros programas,podemos usar por ejemplo es o en,en mi caso uso


LANG="es_MX.UTF-8"
Tambien encontraremos mas variables al meternos mas a fondo en esto,como por ejemplo hay una variable para definir si usaremos python 2 o python 3 en nuestros programas,en mi caso uso 3.2

PYTHON_TARGETS="python3_2"
Les dejo este make.conf

Enlace
2.Encontre algunos problemas de dependencias ya que al descargar starge3 se nos descarga un sistema,con carpetas del sistema y archivos ya instalados,pero al descargar o hacerle un update a portage se nos crea una lista de actualizaciones,por lo cual nos actualizara algunos programas,hasta aqui bien,pero lo que pasa es que esos programas necesitan del kernel y necesitamos instalar el kernel,pero para instalar el kernel necesitamos instalar esos programas :S

Así que lo que podemos hacer es evitar que se actualice y instalar el kernel

Para eso lo que debemos hacer es meter la versión que tenemos instalada en

/etc/portage/profile/package.provided
3. Necesitamos hacer chrooting  para ello prepare unos script's los cuales les hicieron una modificación una de las lectoras del sitio(para los usuarios de gentoo)

Enlace
Y podemos montar fácilmente todo lo necesario,para los que usen otro sistema pueden usar los script's que escribí originalmente:

Montar:

http://pastebin.com/wt7tVKx8

Desmontar:

http://pastebin.com/bhKjhkZu
El tutorial lo deben hacer despues de haber hecho el primero

Enlace
Ahora si :

Tutorial

1.Necesitamos instalar los paquetetes necesarios,primero hacemos chrooting:

por ejemplo yo le puse mount.sh al script de gentoo,asi que escribimos

sudo bash mount.sh -m


O para otras distros

Yo le puse mount.sh(en ejemplo)

sudo bash mount.sh

Ya en Gentoo enjaulado instalamos lo necesario,pero primero usamos el make.conf que les deje arriba:

nano /etc/portage/make.conf
Ahora instalamos,les dejo los paquetes uno por uno

Primero las fuentes del kernel(aunque no lo compilaremos en esta ocasion)

emerge -av gentoo-sources
Aquí se descargaran cerca de 57 paquetes,puede que de errores con udev(como en mi caso) ya que lo mas seguro es que quiera actualizarlo,si es asi solo checamos udev o el paquete que de problemas:

emerge -s udev
Y mandamos la versión que tenemos a


/etc/portage/profile/package.provided
Por ejemplo yo evite que actualizara sys-fs/udev-171-r9

Y de esta manera ya podemos descargar las fuentes del kernel,cuando acabemos de descargar el kernel,borramos los proividos:

echo "" > /etc/portage/profile/package.provided
Ahora si instalamos uno por uno:


emerge -av localepurge 
emerge -av genkernel 
emerge -av gentoolkit 
emerge -av dmraid 
emerge -av livecd-tools 
emerge -av scripts
O si tenemos buen CPU y tiempo podemos hacer una compilación y descarga en paralelo


emerge --jobs 5 localepurge genkernel gentoolkit dmraid livecd-tools scripts
Se va a tardar mucho,yo descargue todo en una semana,un paquete por día,pero pues no me apresure,con buen equipo en 3horas o menos tenemos todo listo.

Ahora vamos a configurar algunas cuestiones:

nano /etc/fstab
En el fstab de nuestro live debe ir asi

/dev/loop0              /               squashfs        defaults             0 0
none                    /proc           proc              defaults             0 0
none                    /dev/shm     tmpfs            defaults             0 0

En hosts

nano /etc/hosts

127.0.0.1     localhost
127.0.0.1     nombre_livecd.localdomain     nombre_livecd


En hostname

nano  /etc/conf.d/hostname


 HOSTNAME="nombre_livecd"



Establecemos hora y zona:

Buscamos nuestro país

ls /usr/share/zoneinfo/

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


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

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"

Bien,con eso terminamos esta parte,en la ultima parte compilaremos el kernel,instalaremos Xorg,un DE y algunos programas,ademas de configurar el arranque y crear el .iso :D,yo ya lo termine,por eso me tarde:

Salimos:


exit

Y ejecutamos:

Gentoo


sudo bash mount.sh -d

Otras distros,yo le puse umount.sh al script


sudo bash umount.sh

Como dije yo ya lo acabe(tenia que hacer pruebas antes), aquí una captura arrancando desde modo live :D



3 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  2. ¡Una semana! Pues sí que has tenido paciencia. :)

    Están muy bien estos posts que haces de gentoo. Y también de gustan los de BSD. Cuando me anime a probar esos sistemas ya sé qué blog leer. :) Entra dentro de mis planes, pero no sé cuándo tardaré.

    ¡Saludos!

    ResponderBorrar
    Respuestas
    1. No tanta paciencia,soy impaciente pero como dije se compila un día una cosa y otro día otra,y anímate a echarle un vistazo a BSD y Gentoo son buenos sistemas :D

      Saludos

      Borrar

Los comentarios serán revisados antes de ser publicados.