1. Remasterización Live CD GNU/Linux Remasterizado
Idea Directriz:
Introducirnos en la primera etapa de Investigación, Desarrollo y configuración de una
distribución Linux que pueda ser utilizada en el ámbito académico
Introducción
La realización de este proyecto fue constituida por diferentes etapas de desarrollo entre
las cuales, la primer etapa consta de recompilar información esencial para el
conocimiento general de GNU/Linux, Abarcando nociones diversas que nos permitan
introducirnos de forma paulatina en el proyecto.
Algunos de los conceptos tenidos en cuenta fueron los siguientes:
GNU
¿Que es una Distribución?
Tipos de kernel
Organización de directorios
Proceso de arranque
Concepto sobre Librerías
Concepto sobre Módulos
Sistema de Archivos
Visión general de los Sistemas Operativos y los núcleos
Compilación del Kernel
Luego del desarrollo de los conceptos contenidos en esta primera etapa, nos adentramos
en la siguiente fase de investigación que consta de varios experimentos.
Estos experimentos fueron divididos según utilitarios capaces de construir un Live-CD
y métodos para generar una distribución desde cero.
Los experimentos están acompañados de un Glosario en el cual se recopilaron todos los
términos esenciales encontrados en los diversos experimentos y una Bitácora la cual nos
permite realizar un seguimiento a los errores surgidos durante la realización de cada
experimento en particular.
En detalle los experimentos son los siguientes:
LFS (Linux From Scratch)
Garfio
Remastersys
Live-Helper
Experimentos
LFS
Este es un proyecto que proporciona instrucciones paso a paso para construir un sistema
GNU/LINUX personalizado totalmente desde cero.
2. ¿Por que construir un sistema Linux desde cero?
Durante la construcción de un sistema LFS, se podrá:
• Aprender como este funciona internamente.
• Producir un sistema compacto, debido a que eliminaremos paquetes que nunca
utilizaremos, por lo cual podremos ahorrar espacio en disco.
• Personalizar el sistema a gusto y necesidad
• Obtener mayor seguridad, debido que se compilara el sistema desde el código
fuente, permitiendo de esta manera aplicar todos aquellos parches de seguridad
necesarios.
¿Qué valor le da LFS a este proyecto?
Si lo que queremos es crear un Live-CD instalable. La guía LFS contiene paso a paso
como configurar nuestro sistema desde cero, aunque no podamos concluir con la guía,
lo que nos daría es un gran aporte a nuestro conocimiento a la hora que queramos
modificar nuestra distribución para luego generar un Live-CD. Contribuyendo así a un
producto de mayor calidad.
GARFIO
Garfio es un sistema de infraestructura que permite crear un Live-CD instalable de una
distribución a elección. Dicho proyecto esta basado en metadistros y dio como resultado
Tuquito que además es un derivado de Debian.
Características de Garfio
• Su funcionamiento es modulado, lo cual facilita su desarrollo, sin importar que
la persona tenga conocimientos avanzados de Linux.
• Esta organizado por directorios.
• Trabaja con variables globales, las cuales se pasan como parámetro desde el
booteo.
• Posee múltiples opciones para la detección de hardware y configuración del
sistema.
Arranque detallado y con debugger en tiempo real.
REMASTERSYS
Remastersys es una herramienta que nos permitirá crear una imagen (.ISO) a partir de
nuestro sistema, creado el Live-CD, este va contar con la opción de ser instalado. Dicha
tarea no resulta difícil de concretar y Remastersys nos brinda la posibilidad de crear dos
tipos de imágenes.
3. La primera se basa en una imagen completa del disco duro, la cual va contener los datos
que se encuentren dentro de la carpeta /home.
La segundo posibilidad nos permitirá generar una imagen completa del disco pero sin
incluir datos de la carpeta /home.
El sistema utilizado como anfitrión no será otro que Kubuntu, debido que esta
herramienta funciona sobre Ubuntu y derivados.
Live Helper
Esta herramienta nos permitirá crear un Live CD Debian. El paquete con el cual
trabajaremos esta disponible a partir de la versión Lenny de Debian.
Dicha herramienta también consta con una versión grafica llamada Live Magic, la cual
nos permite generar un Live-CD de manera muy rápida.
La particularidad de esta herramienta es que no crea un Live-CD basándose en nuestro
sistema anfitrión, si no que usando como base de construcción a nuestro sistema
anfitrión descarga independientemente del mismo un conjunto de paquetes los cuales
serán útiles para generar un Live-CD. No obstante cuenta con opciones que nos permite
seleccionar los paquetes que van a formar parte de esta distribución.
Personalización
Aunque este fue el último paso investigado deberá ser la primera tarea a realizar, dado
que primero debemos personalizar nuestra distribución y luego por medio de las
herramientas adecuadas capturar una imagen del sistema para poder generar nuestro
Live-CD.
La personalización se llevo por medio de las siguientes etapas:
Selección de programas
Modificación del Grub, por medio del menu.lst
Modificación de splash
o Splash del Grub
o Usplash (inicio de sesión)
Para el proceso de modificación del usplash se llevo a cabo por medio del utilitario
Splashy, el cual por medio de un archivo XML nos permite configurar las imágenes
respectivas al inicio y finalización del sistema.
Producto Final
Versión Live-CD – UBLinux V1.0
Versión Instalable – UBLinux V1.1
Ambas hijas de la versión Kubuntu 8.04 Hardy Heron con kernel 2.6.24.
Conclusiones
Estado del Arte:
En el presente una variedad de herramientas nos dan la posibilidad de realizar el proceso
de construcción de un Live-CD pero:
La documentación es limitada y desordenada.
4. Muchas de ellas se encuentran en desuso y fuera de mantenimiento.
Conclusiones Específicas al producto:
Se logro integrar conocimientos dispersos y escasamente formalizados
Se avanzo en la conformación del núcleo de conocimiento para el grupo de Soft
Libre UB.
Se desarrollo un producto funcional limitado en plataformas.
Se dejo una base de conocimientos para futuras investigaciones.
Futuras investigaciones:
Estudio del Kernel, su configuración y sus modificaciones.
Estudiar scripts y utilitarios que conforman las herramientas.
Investigar como adaptar estos scripts para permitir una mayor y mas especifica
personalización.
Desarrollar nuevos scripts para sistematizar el desarrollo de nuevas
distribuciones de Sistemas Operativos
5. Apéndice
Bibliografía
Libros
CAT
Unix sistema V versión 4- segunda edición - McGraw-Hill – Pág. 80
Chown
Unix sistema V versión 4- segunda edición - McGraw-Hill – pag 114 -115
Enlazado Estático o Dinámico
Sistemas Operativos Quinta edición Silberschatz – Galvin- Editorial Addison
Wesley Pág. 725
I-Nodo
Sistemas Operativos Quinta edición Silberschatz – Galvin- Editorial Addison
Wesley Pág. 676
Organización de directorios
UNIX sistema V versión 4 2a Edición Osborne McGraw-Hill
¿Que son los módulos?
Red Hat Linux 6 Editorial Anaya – Arman Danesh – Pág. 423
¿Qué es una señal?
UNIX Sistema V versión 4 2a Edición Osborne McGraw-Hill Pág. 765
Sistemas Operativos Quinta edición Silberschatz – Galvin- Editorial Addison
Wesley Pág. 660
Tipos de kernel
GNU/Linux Básico P07/M2102/02688 UOC www.uoc.edu (PDF)
Visión general de los sistemas operativos y los núcleos
Monolithic Kernel versus Microkernel Designs
Descriptor de proceso y la estructura de tareas.
Traducido de: Linux kernel development Second Edition, Robert Love, ISBN 0-
672-32720-1, Año 2005.
Umask
Unix sistema V versión 4- segunda edición - McGraw-Hill – pag 114
Links
API
http://es.wikipedia.org/wiki/API
Artículos Interés General
http://www.theinquirer.es/2007/05/17/la_bolsa_de_nueva_york_migra_a.html
http://www.laflecha.net/canales/softlibre/200408033/
6. AWK
http://club.telepolis.com/jagar1/Unix/Awk.htm
http://es.wikipedia.org/wiki/Awk
Bash
http://es.tldp.org/Paginas-manual/man-pages-es-extra-0.8a/man1/bash.1.html
http://es.wikipedia.org/wiki/Bash
Binutils
http://es.wikipedia.org/wiki/Binutils
Bootstraping
http://es.wikipedia.org/wiki/Bootstrapping_%28inform%C3%A1tica%29
CAT
http://dns.bdat.net/documentos/cursos/ar01s04.html
Chmod
http://es.wikipedia.org/wiki/Chmod
Chown
http://www.cristalab.com/tips/54510/como-utilizar-el-comando-chown-en-
linux.html
http://www.zonasiete.org/manual/ch05s03.html
Chroot
http://www.laespiral.org/articulos/chroot/entorno-chroot.html
http://es.wikipedia.org/wiki/Chroot
Código Objeto
http://es.wikipedia.org/wiki/C%C3%B3digo_objeto
Compilación cruzada
http://linuxemb.wikidot.com/tesis-c3
http://linuxemb.wikidot.com/diccionario
¿Cómo podemos crear un sistema de archivos?
http://www.ibiblio.org/pub/Linux/docs/linux-doc-project/system-admin-
guide/translations/es/html/ch06s08.html
http://estigia.fi-b.unam.mx/Linux/prared06.html
http://fferrer.dsic.upv.es/cursos/Linux/basico/ch03.html
¿Cómo compilar nuestro kernel, a la manera Debian?
http://www.howtoforge.com/kernel_compilation_debian_etch
https://help.ubuntu.com/community/Kernel/Compile
Cuentas de usuario
http://www.linuxparatodos.net/portal/staticpages/index.php?page=02-cuentas-
usuario
8. http://www.guia-ubuntu.org/index.php?title=Inicio_del_sistema
Instalación de Programas
http://www.debian.org/international/spanish/contrib/paqifaz.html
http://www.esdebian.org/articulos/23754/instalando-programas-linux
http://www.linuxespanol.com/documento-7.php
http://www.wikilearning.com/curso_gratis/instalacion_de_programas_en_linux-
introduccion/4783-1
KDE
http://es.wikipedia.org/wiki/Kde
Kernel-package
http://manpages.ubuntu.com/manpages/hardy/es/man5/kernel-package.html
LD
http://www.tux-
es.com/index.php?option=com_content&task=view&id=3&Itemid=99999999
Librerías estáticas y dinámicas
http://www.chuidiang.com/clinux/herramientas/librerias.php
http://www.zator.es/Cpp/E1_4_4b2.htm
LFS
http://www.linuxfromscratch.org/
LinuxRC
http://linuxupc.upc.es/~kampa/documentos/isolinux/scripts-arranque.html
Live Helper
http://www.esdebian.org/wiki/live-helper
http://wiki.debian.org/DebianLive/Howto/ISO
http://wiki.debian.org/DebianLive/Examples
http://wiki.debian.org/DebianLive/Configuration
http://wiki.debian.org/DebianLive/live-helper (live-magic)
LN
http://dns.bdat.net/documentos/cursos/ar01s15.html
MKISOFS
http://www.infonegocio.com/lubrin/guadalinex/apendiceC2.html
Organización de directorios
http://es.kioskea.net/linux/linarb.php3
http://www.linux-es.org/node/112
Paquete de software
http://www.debian.org/doc/manuals/maint-guide/ch-start.es.html#s-needprogs
http://es.wikipedia.org/wiki/Paquete_de_software
9. Partición
http://www.guia-ubuntu.org/index.php?title=Particionar_el_disco_duro
Proceso de arranque en Debian
http://www.debian.org/doc/manuals/debian-faq/ch-customizing.es.html
Proceso de arranque de Linux (Garfio)
http://www.cprlogrono.org/wiki/index.php/Linux/proceso_de_arranque
https://chemie.tu-chemnitz.de/docs/lindocs/RH9/RH-DOCS/rhl-rg-es-9/s1-boot-
init-shutdown-process.html
http://www.l3jane.net/doc/linux/suse/suselinux-adminguide_es/ch06s04.html
http://www.loba.es/flossic/Contenidos/Manual_Distribuciones/ManualSuSE10/c
ha.boot.html
¿Porque compilar nuestro kernel?
http://structio.sourceforge.net/guias/AA_Linux_colegio/actualizacion-del-
kernel-de-linux.html
Posix
http://es.wikipedia.org/wiki/POSIX
Proc
http://www.estrellateyarde.es/so/kernel-linux
http://www.linuxtotal.com.mx/index.php?cont=info_admon_016
http://linuxcpp.extreblog.com/200609255975_Directorio-proc.html
¿Que es Tuquito?
http://es.wikipedia.org/wiki/Tuquito_(distribuci%C3%B3n_Linux)
http://tuquito.org.ar/tukipedia/index.php?title=Conociendo_a_Tuquito
¿Que son los módulos?
http://structio.sourceforge.net/guias/AA_Linux_colegio/kernel-y-modulos.htm
¿Qué es .Bash_profile, .Bashrc y .bash_logout?
http://www.linux-es.org/faq/Html/FAQ_Linux_V2.0.2.html#toc14
¿Qué es INIT-RD?
http://es.wikipedia.org/wiki/Initrd
http://www.ibm.com/developerworks/linux/library/l-initrd.html?ca=dgr-
lnxw57LinuxInitialRam
http://gulgeek.net/entry/howtos/50/crear-un-initrd-desde-cero-entrega-1.html
http://wapedia.mobi/es/Initrd
http://www.google.com/gwt/n?u=http://lxr.linux.no/source/Documentation/initrd
.txt
¿Qué es vmlinuz?
http://es.wikipedia.org/wiki/Vmlinux
10. http://www.osmosislatina.com/linux/kernel.jsp
Redireccionamiento
http://mnm.uib.es/gallir/CursPL2005/material/comandos-basicos.pdf
Remastersys
http://www.remastersys.klikit-linux.com/
http://www.guia-ubuntu.org/index.php?title=Remastersys
Runlevel
http://es.wikipedia.org/wiki/Runlevel
http://www.guia-ubuntu.org/index.php?title=Runlevel
Samba
http://www.guia-ubuntu.org/index.php?title=Samba
http://www.guia-
ubuntu.org/index.php?title=Montar_comparticiones_remotas_usando_smbfs_y_
cifs
http://palermi.wordpress.com/2006/06/30/compartiendo-archivos-con-samba/
http://doc.ubuntu-es.org/SAMBA
SED
www.chez.com/ingenio/comandos.html
Shell
http://es.wikipedia.org/wiki/Shell_de_Unix
http://es.kioskea.net/linux/linshell.php3
Sistema de archivos
http://glove.org.ve/pipermail/l-ubuntu-ve/2006-September/000074.html
http://www.bootlog.cl/blog/linux/la-alternativa-a-partition-magic/
http://es.kioskea.net/repar/partitio.php3
http://www.bootlog.cl/blog/linux/como-particionar-el-disco-para-linux/
Sistema de gestión de paquetes
http://es.wikipedia.org/wiki/Gestor_de_paquetes
Tipos de Kernel
http://es.wikipedia.org/wiki/N%C3%BAcleo_monol%C3%ADtico
http://es.wikipedia.org/wiki/Micron%C3%BAcleo
Tipo de librería a utilizar
http://www.linux-es.org/node/33
http://arco.inf-cr.uclm.es/~david.villa/doc/repo/librerias/librerias.html
Umask
http://almacen.gulic.org/01_www/cosecha/Teresa/Security-HOWTO/Security-
HOWTO-latex/Security-HOWTO/node29.html
11. http://almacen.gulic.org/01_www/cosecha/Teresa/Security-HOWTO/Security-
HOWTO/Security-HOWTO-5.html
UnionFS
http://es.wikipedia.org/wiki/Unionfs
VI
http://www.demiurgo.org/doc/otvim.html
http://www.mclibre.org/consultar/linux/modotexto/editor_vi.html
VirtualBox
http://www.virtualbox.org/.
Visudo
http://www.linuxtotal.com.mx/index.php?cont=info_admon_014
Wget
http://es.wikipedia.org/wiki/Wget
http://banyut.obolog.com/wget-120357
Wine
http://manualinux.my-place.us/wine.html
http://www.arturogoga.com/2007/02/22/aplicacin-del-da-wine-linux/
¡Saber Más!
Anatomia del Slab Allocator (Ingles)
http://www.ibm.com/developerworks/linux/library/l-linux-slab-allocator/
Abrir archivos .Sqfs (Squashfs)
http://blogdrake.net/node/7337
Anatomia del kernel (ingles)
http://www.ibm.com/developerworks/linux/library/l-linux-kernel/
Chroot
http://www.estrellateyarde.es/discover/chroot
Como cargar un modulo
http://www.estrellateyarde.es/so/kernel-linux
Compiz
http://www.taringa.net/posts/linux/1731870/Cubo-de-compiz-paso-a-paso-(y-
otro-efectos).html
http://www.taringa.net/posts/linux/1207876/C%C3%B3mo-instalar-Compiz-en-
Debian-Lenny.html
Configuración de Ares
http://www.taringa.net/posts/linux/952031/Ares-en-Linux-sin-emular.html
Configurar Nvidia
http://www.taringa.net/posts/info/1016240/Obtener-aceleraci%C3%B3n-
gr%C3%A1fica-en-Debian-Testing-(Lenny).html
http://www.espaciolinux.com/foros-tema-ant-35491.html
12. http://tuxpepino.wordpress.com/2007/09/21/instalar-los-ultimos-drivers-de-
nvidia/
Debootstrap
http://www.esdebian.org/wiki/instalar-debian-usando-debootstrap-chroot
Dentro del proceso de arranque de Linux
http://www.ibm.com/developerworks/linux/library/l-linuxboot/index.html
Documentación Ubuntu
http://doc.ubuntu-es.org/Portada
Initrd
http://gulgeek.net/entry/howtos/50/crear-un-initrd-desde-cero-entrega-1.html
http://gulgeek.net/entry/howtos/51/crear-un-initrd-desde-cero-entrega-2.html
http://gulgeek.net/entry/howtos/52/crear-un-initrd-desde-cero-entrega-3.html
Generar .ISO desde terminal
http://tips4linux.com/create-a-backup-iso-image-of-your-important-data/
Generador Live CD desde Internet
http://www.downloadsquad.com/2008/07/23/nimblex-portable-linux-thats-
ready-to-rock/
http://custom.nimblex.net/
Grub
http://www.gnu.org/software/grub/
http://www.guia-ubuntu.org/index.php?title=GRUB
LFS en Español
http://www.escomposlinux.org/lfs-es/lfs-es-6.1.1/
Linus Benedict Torvals vs. Andy Tanenbaun (Ingles)
http://www.dina.dk/~abraham/Linus_vs_Tanenbaum.html
Lista de Comandos
http://linux.about.com/od/commands/l/blcmdl_1s.htm
http://linux.about.com/od/commands/l/blcmdl.htm
Linux Live Scripts
http://www.linux-live.org/#
Live-CD Knoppix
http://linux.pricoinsa.es/Como_hacer_un_Live-CD.html
Montar .ISO en un directorio
http://gulgeek.net/entry/consejos-y-trucos/41/montando-un-iso-en-un-
directorio.html
Optimización Ubuntu
http://www.guia-
ubuntu.org/index.php?title=Categor%C3%ADa:Optimizaci%C3%B3n