Knoppix Remastering Howto Spanish
Contents
Traducciones:
- Versión en inglés: Knoppix Remastering Howto
- Versi�n en alem�n: Knoppix Remastering Howto Deutsch
== Vea tambi�n : ==
- Si desea crear un kernel personalizado, compruebe Knoppix Custom Kernel Howto
- Tambi�n hay una guía sobre el mismo asunto en O'Reilly: Using and Customizing Knoppix
Esta gu�a le mostrar� c�mo remasterizar KNOPPIX
(Notas : las �rdenes deber�an aparecer en una s�la l�nea, por favor maximice su ventana del navegador. Si tiene cualquier comentario o sugerencia, por favor env�e el formulario que hay al final.)
Puede que desee personalizar un Knoppix ya adaptado, de forma que no tenga que hacer tanto esfuerzo (tal como eliminar programas). Si es as�, vea Knoppix Customizations.
Requisitos del sistema:
- CD-ISO
- por lo menos 1 GB de memoria libre total FREE RAM+Swap (ej. 256M ram, y 750M swap DISPONIBLE) (a menos que use un programa de compresi�n diferente - busque compressloop en esta p�gina)
- 3 GB libres en una partici�n de disco formateada con sistema de ficheros Linux (ext2/3, xfs, etc.)
- DVD-ISO
- 5 GB libres de RAM + swap (para un DVD de tama�o completo)
- 15 GB libres en una partici�n de disco formateada con sistema de ficheros Linux (ext2/3, xfs, etc.)
Instrucciones:
- Arranque desde el CD de Knoppix
- Abra una consola de root:
- Men�: Kmenu->Knoppix->Consola de Root
- Nota: Todas las �rdenes a continuaci�n son ejecutadas desde la consola de root.
- Configure su conexi�n a Internet (lo necesitar� m�s adelante). Si usa DHCP, ya deber�a estar configurada.
- Nota: Ejecute ifconfig para comprobarlo.
- Busque la partici�n en la que va a trabajar. En este ejemplo ser� hda1 . La partici�n deber�a tenes al menos 3 GB libres
- Monte la partici�n:
- mount -rw /dev/hda1 /mnt/hda1
- Nota: Aseg�rese que es de lectura/escritura u obtendr� errores m�s adelante cuando cambie la ra�z del sistema. Para comprobarlo, teclee mount
- Cree un directorio ra�z donde trabajar:
- mkdir /mnt/hda1/knx
- Si coloca todos sus ficheros aqu�, ser� f�cil borrarlos todos despu�s
- Si no tiene 1 GB de RAM (cat /proc/meminfo (physical+swap)) entonces necesitar� un fichero de intercambio (swap):
- cd /mnt/hda1/knx ; dd if=/dev/zero of=swapfile bs=1M count=750 ; mkswap swapfile ; swapon swapfile
- Cree 2 directorios, uno para su nuevo CD maestro, y otro para los fuentes, en una partici�n del disco. Tambi�n, cree directorios adicionales en ellos llamados KNOPPIX:
- mkdir -p /mnt/hda1/knx/master/KNOPPIX
- mkdir -p /mnt/hda1/knx/source/KNOPPIX
- Ahora copie los ficheros de KNOPPIX a su directorio fuente:
* cp -Rp /KNOPPIX/ /mnt/hda1/knx/source/KNOPPIX &
- Nota: Esto tardar� unos minutos
- Copie la p�gina HTML principal de inicio:
- cp /cdrom/index.html /mnt/hda1/knx/master/
- Copie todos los ficheros necesarios excepto el fichero KNOPPIX, de unos 700 Mb.
- < 3.4: cd /cdrom/KNOPPIX;find . -size -10000k -type f -exec cp -p --parents {} /mnt/hda1/knx/master/KNOPPIX/ \;
- 3.4: cd /cdrom;find . -size -10000k -type f -exec cp -p --parents {} /mnt/hda1/knx/master/ \;
- Ahora puede cambiar la ra�z del sistema "chroot" al KNOPPIX copiado en su partici�n:
- chroot /mnt/hda1/knx/source/KNOPPIX
Si obtiene un mont�n de mensajes de error /dev/null permission denied, deber�a hacer los siguiente. Esto puede pasar si guarda sus datos de configuraci�n de Knoppix en la misma partici�n que est� usando para la remasterizaci�n, Y arranca Knoppix con knoppix home=scan.
Compruebe el estado de montado si obtuvo el problema: mount /dev/hdaX on /mnt/hdaX type ext3 (rw,nosuid,nodev) (reemplace la X con su n�mero de partici�n ) donde "nodev" significa que no puede acceder al sistema de ficheros montado y que no puede acceder a /dev/null. Y algunos scripts redirigen la salida a /dev/null... Para solventar esto deber�a montar la partici�n de destino antes de cambiar la ra�z del sistema (chroot) de esta forma:
^d # control+d saldr� del entorno chroot mount /dev/hda1 /mnt/hda1
Entonces deber�a obtener:
mount /dev/hda1 on /mnt/hda1 type ext3 (rw)
Si persisten los avisos de /dev/null entonces, antes de hacer chroot, haga:
mount --bind /dev /mnt/hda1/knx/source/KNOPPIX/dev
�Tiene que desmontar umount /mnt/hda1/knx/source/KNOPPIX/dev antes de construir la imagen del CD o el directorio /dev del CD se har� un l�o!
entonces puede seguir y hacer el chroot.
- Ahora ha cambiado su direcotio ra�z. "/" es en estos en realidad "/mnt/hda1/knx/source/KNOPPIX"
- Para acceder a Internet necesitar� montar proc mount -t proc /proc proc
- Ahora edite /etc/resolv.conf y a�ada su servidor de nombres o "salga" del chroot y copie su fichero resolve.conf en el directorio fuente correspondiente: cp /etc/dhcpc/resolv.conf /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf
- Cambie tambi�n su grupo MS en smb.conf si desea soporte smbd (MSHOME es normalmente Home en XP y WORKGROUP en Windows 9x .
- Compruebe su conexi�n a Internet desde la nueva ra�z : ping google.com
- Actualice su lista de paquetes con apt-get update
- Ahora puede realizar cambios.
- Aviso: apt-get upgrade es una MALA IDEA. Muy probablemente, har� que su remasterizaci�n de KNOPPIX no sea arrancable o se corrompa en alguna forma. Un m�todo m�s seguro consiste en actualizar s�lo los paquetes necesarios
- Antes de poder a�adir programas, probablemente tendr� que eliminar algunos paquetes. Para obtener una lista de los paquetes instalados, teclee esto:
* dpkg-query -l
- Si quiere tener esa lista ordenada por tama�o (de esta forma podr� eliminar los que m�s ocupan), teclee esto:
* dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n
- Para eliminar un paquete (y todos los paquetes que dependen de �l), teclee esto:
* apt-get remove <nombre-del-paquete-a-eliminar>
- Para comprobar paquetes hu�rfanos, teclee esto:
* deborphan
- Si desea ahorrar m�s espacio eliminando esos molestos hu�rfanos(�Qu� cruel!), teclee esto (Aviso, no se le preguntar� s�/no para eliminar estos paquetes. Cuando pulse Intro despu�s de esta orden, los paquetes habr�n desaparecido):
* deborphan | xargs apt-get -y remove
- Si no est� seguro acerca del comando anterior y quiere ver qu� pasar� sin hacer ning�n cambio, simplemente a�ada la opci�n -s a la orden apt-get de esta forma (puede hacer esto con todas las �rdenes apt-get, y es un buen h�bito usar esta opci�n antes de operaciones masivas como �sta):
* deborphan | xargs apt-get -s -y remove
- Ahora las buenas obras. Si desea a�adir un paquete, teclee esto:
* apt-get install <nombre-del-paquete-a-instalar>
- �Que no sabe qu� paquetes instalar? Teclee esto. Cuando aparezca la lista, puede examinarla (�unas 13000 l�neas!) o buscar cosas usando /<search-term>:
* apt-cache search .* | sort | less
- Cuando haya terminado de eliminar y a�adir paquetes, una buena forma de hacer limpieza es tecleando los siguiente:
* COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P
- Tambi�n, como el sistema de paquetes Debian guarda en cach� los paquetes descargados, querr� ejecutar lo siguiente para eliminar esos ficheros in�tiles:
* apt-get clean
- las configuraciones de usuario est�n en /etc/skel
- consejo: no cloque ficheros en /root s�lo estar�n disponibles en tiempo de ejecucu�n en /KNOPPIX/root
- Desmonte /proc - �muy importante! umount /proc
- Pulse CTRL+D para volve a la ra�z original (no chrooted).
Notas :
Cuando compruebe programas gr�ficos basados en X, tendr� que hacer export DISPLAY=localhost:0.0
Cuando quiera autoejecutar algunos programas, puede crear un script y ponerlo en el directorio /etc/rc5.d/ (Esto s�lo carga elementos antes de cargar las X)
hay material interesante en /etc/init.d/knoppix-autoconfig :
- El fichero de fondo X background est� en /cdrom/KNOPPIX/background.gif (en knoppix 3.4: background.jpg)
- Al igual que con floppyconfig, est� cdromconfig que ejecutar� cdrom/KNOPPIX/knoppix.sh
hay material interesante en /etc/init.d/xsession :
- TAMBI�N establece el fondo /usr/local/lib/knoppix.gif
Ahora la creaci�n del fichero ISO :
- ya hemos terminado de personalizarlo y �queremos quemar!
- primero haga algo de limpieza : elimine los ficheros .bash_history, ficheros temporales etc
- rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved
- Ahora crearemos el fichero enorme que es un sistema de ficheros ISO 9660 cloop comprimido : mkisofs -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix-es.org" -hide-rr-moved -cache-inodes -no-bak -pad /mnt/hda1/knx/source/KNOPPIX | nice -5 /usr/bin/create_compressed_fs - 65536 > /mnt/hda1/knx/master/KNOPPIX/KNOPPIX
el "www.knoppix-es.org" y "Knoppix.net filesystem" pueden ser modificados a lo que quiera que nombre el fichero. Obtendr� un error diciendo que no cumple los est�ndars ISO, puede ignorarlo.
En Knoppix 3.4 el scrip create_compressed_fs ha sido actualizado as� que aseg�rese de usarlo para obtener los mejores resultados. Tiene una nueva opci�n -b (best), que activa la mejor compresi�n usando diferentes esquemas de compresi�n e intenta optimizarlo de esa forma, pero sea cauto, porque esa opci�n es ralentiza (10 veces m�s lento).
- si todo fue bien, para crear la imagen del CD-ROM final :
- cd /mnt/hda1/knx/master
- rm -f KNOPPIX/md5sums; find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin -exec md5sum {} \; >> KNOPPIX/md5sums (esto actualizar� las sumas de verificaci�n md5 de los ficheros incluidos, se usa para comprobar la integridad)
- para Knoppix <= 3.3: mkisofs -pad -l -r -J -v -V "KNOPPIX" -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master (la ISO se guardar� en /mnt/hda1/knx/knoppix.iso)
- Para Knoppix >= 3.4 u otras distribuciones basadas en isolinux haga:
mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master (la ISO se guardar� en /mnt/hda1/knx/knoppix.iso)
- �y eso es todo!
Trucos/consejos
Si est� buscando paquetes grandes instalados teclee
- dpkg-awk "Status: .* installed$" -- Package Installed-Size | \
- awk '{print $2}' | egrep -v '^$' | xargs -n2 echo | \
- perl -pe 's/(\S+)\s(\S+)/$2 $1/' | sort -rg
listar� los paquetes en orden de tama�o descendente. Por lo menos diez veces m�s r�pido es el comando
- dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n
y no necesita dpkg-awk o awk o perl.
Si tiene alg�n problema con el comando de ordenaci�n anterior, pruebe a usar KPackage, expanda todas las ramas y ordene por la columna de tama�o para encontrar los paquetes mayores.
Compruebe la salida del programa "deborphan", listar� los paquetes hu�rfanos que pueden ser eliminados, estos paquetes eran usados por otros paquetes que ahora han sido borrados.
Yo he obtenido buenos resultados remasterizando trabajando desde el cd como root y desde fluxbox. S�lo teclee "knoppix 2" en el prompt de arranque y arrancar� en una consola de texto como root, donde puede teclear "startx /usr/bin/fluxbox". Me gusta usar la consola unicode xterm.
Mientras trabajo desde chroot creando la remasterizaci�n me gusta usar "apt-get remove --purge pkg-name" para eliminar paquetes porque antes de hacer nada se detendr� y mostrar� los detalles de lo que va a ajustar para eliminar y le permitir� decir "s� o no".
Si no usa la instrucci�n "apt-get" y tiene que limpiar y �rgar mucho, aqu� tiene la forma de hacerlo: "COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' >topurge". Lo que crear� una lista de los paquetes eliminados a purgar y entonces puede hacer "dpkg -P `cat topurge `" y ya est�. "COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P" es la versi�n en una sola l�nea de esto. Use tambi�n "deborphan >orphaned" y luego "dpkg -P `cat orphaned `". "deborphan | xargs dpkg -P " es una versi�n en una sola l�nea para lo miso.
Eso es todo. Esta es una versi�n actualizada de mi howto pevio. No es para novatos en Linux, necesitar� buscarse la vida para hacerlo trabajar. Actualizar� esto con correcciones/mejoras/etc a medida que las tenga.
Gracias a aay, charan, Tech2k, y #knoppix por algunas correcciones, trucos e ideas. Es libre de editar o a�adir a este howto.
Nota cerca de swap:
No necesita realmente 1G de swap ya que hay dos nuevas herramientaspara crear sistemas de ficheros comprimidos. Aqu� hay algunos candidatos para crear sistemas de ficheros comprimidos:
- Valentijn's rewrite [1]
- Quozl's port of compressloop for Knoppix 3.4 [2]
- Quozl's distributed compressloop (use more than one processor to speed things up) [3] or [4]
- Justin's patch [5] (link broken) I also just wrote a distributed cloop compressor(or for smp) It's in that same directory.
Truco, compruebe la imagen del cd sin grabarla en un cd
Si tiene una partici�n de sobra con al menos 700MB de espacio libre formateada con ext2, ext3 o Vfat, puede usarla para comprobaciones arrancando desde un disquete. Un disquete de arranque buscar� una partici�n con el directorio /KNOPPIX/ en la ra�z, y la imagen comprimida /KNOPPIX/KNOPPIX. En lugar de usar el subdirectorio /mnt/hda1/knx/master/KNOPPIX/ como se describi� anteriormente, se deber�a llamar /mnt/hda2/KNOPPIX/ . Entonces el index.html estar�a en /mnt/hda2/index.html y la imagen comprimida estar�a en /mnt/hda2/KNOPPIX/KNOPPIX . Ahora puede arrancar desde un disquete y usar /mnt/hda2 como imagen. Para m�s infomraci�n lea Hd BasedHowTo.
Si no tiene una partici�n extra o no quiere hacerlo, puede usar Qemu ( lea [6] ) con la imagen ISO de esta forma: qemu -m 128 -cdrom /temp/knoppix-custom.iso -boot d -user-net Ni siquiera necesita construir imagen de disco antes, simplemente instale Qemu y pruebe esto. �Asombroso!
Arranque de im�genes de Knoppix con GRUB
- Primero copie /boot del cd de Knoppix a su partici�n de arranque (o incluso a su partici�n dos). Yo nombr� el m�o boot.knoppix
Copie el directorio /KNOPPIX a su directorio ra�z* de cualquir disco duro. Puede colocarlo en cualquier otra partici�n distinta a la de arranque. (puede ser ext2/3, reiserfs o vfat)
- Coloque los siguiente en el fichero /boot/grub/menu.lst:
title KNOPPIX root (hd0,0) kernel /boot.knoppix/vmlinuz 2 fromhd=/dev/hda4 lang=us initrd /boot.knoppix/miniroot.gz
- tenga en cuenta que el par�metro fromhd: es el lugar donde est� el directorio /KNOPPIX
- reinicie y disfrute.
Si mi howto (c�mo) es demasiado confuso, o le gustar�a una segunda opini�n, mire el bonito howto de charan : http://gnubox.dyndns.org:8080/~sunil/knoppix.php . Otro Howto en http://www.stirnimann.com/mystuff/doc/knoppix.txt
Hay un asistente, que utiliza todos los pasos de desempaquetado, compresi�n y grabaci�n de CD mencionados aqu�. Tambi�n muestra una consola donde puede actualizar el sistema KNOPPIX descomprimido usando herramientas de est�ndar de instalaci�n de software Debian. Se llama mmkcdrom y part del paquete de scripts: [7]
Otro HOWTO m�s, para los freaks de la consola, en http://quozl.linux.org.au/knoppix/
Aseg�rese de que echa un vistazo a Knoppix Customization Forum para ideas y ayuda con la remasterizaci�n.
Este es el esquema de directorios recomendado para remasterizar KNOPPIX:
. (invoque ../remaster desde aqu�) |-- master (invoke ../../umountbootimage from here) | |-- KNOPPIX | | |-- KNOPPIX (compressed image) | | |-- boot.img (boot floppy image) | | `-- (other files snipped) | `-- index.html `-- source `-- KNOPPIX (se puede hacer chroot sobre este directorio) |-- bin |-- boot |-- cdrom |-- dev |-- etc |-- floppy |-- home |-- initrd |-- lib |-- mnt |-- none |-- opt |-- proc |-- root |-- sbin |-- tmp -> /var/tmp |-- usr |-- var `-- vmlinuz -> boot/vmlinuz-2.4.22-xfs
el siguiente script "remaster" har� el proceso de remasterizaci�n por usted. �selo como root, u obtendr� derechos de acceso incorrectos en la imagen.
El script ha sido probado con Debian sid del 2004-04-02.
#!/bin/bash -x # This script builds a new KNOPPIX ISO image. # Copyright (C) 2004 by Marc Haber <mh+knoppix-remaster@zugschlus.de> # License: GPL V2 ROOT="$PWD" SOURCE="$ROOT/source/KNOPPIX" MASTER="$ROOT/master" CLOOPTARGET="$ROOT/master/KNOPPIX/KNOPPIX" TARGET="$ROOT" EXCLUDELIST="$ROOT/source/excludelist" rm -rf $SOURCE/.rr_moved cd $SOURCE mkisofs -R -U -V "KNOPPIX.net filesystem" \ -P "KNOPPIX www.knoppix.net" \ -hide-rr-moved -cache-inodes -no-bak -pad \ -exclude-list $EXCLUDELIST \ . | nice -5 /usr/bin/createcompressedfs - 65536 > $CLOOPTARGET cd $MASTER rm -f KNOPPIX/md5sums find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; >> KNOPPIX/md5sums mkisofs -pad -l -r -J -v -V "KNOPPIX" -b KNOPPIX/boot.img \ -c KNOPPIX/boot.cat -hide-rr-moved -o $TARGET/knoppix.iso $MASTER
El siguiente script montar� la imagen de arranque de disquete y la imagen initrd para su modificaci�n. La funci�n umount construir� una nueva imagen initrd y la pondr� de vuelta en la imagen de arranque del disquete.
El script ha sido probado con Debian sid del 2004-01-13.
#!/bin/bash -x # This script will loop-mount boot floppy and initrd image # Copyright (C) 2004 by Marc Haber <mh+knoppix-remaster@zugschlus.de> # License: GPL V2 unset CDPATH || true # if not root, re-invoke self as root if [[ "`id -u`" -ne 0 ]]; then export LOCUSER="$USER" export LOCHOME="$HOME" if [[ "${SHELLOPTS/xtrace/}" != "$SHELLOPTS" ]]; then sudo bash -x $0 $@ exit $? else sudo $0 $@ exit $? fi else LOCUSER="${LOCUSER:-$USER}" LOCHOME="${LOCHOME:-$HOME}" fi set -e KNOPPIXDIR="KNOPPIX" BOOTIMGFILE="$KNOPPIXDIR/boot.img" BOOTIMGFS="vfat" BOOTIMGDIR="boot.img" INITRDGZ="$BOOTIMGDIR/miniroot.gz" INITRDFILE="$KNOPPIXDIR/miniroot" INITRDFS="ext2" INITRDDIR="miniroot" mountbootimage() { if ! modprobe loop; then echo >&2 "ERR: cannot load loop module" exit 1 fi if ! [[ -e "$BOOTIMGFILE" ]]; then echo >&2 "ERR: no $BOOTIMGFILE found" exit 1 fi for nofile in $BOOTIMGDIR $INITRDGZ $INITRDFILE $INITRDDIR; do if [[ -e "$nofile" ]]; then echo >&2 "ERR: $nofile already exists" exit 1 fi done mkdir -p $BOOTIMGDIR mount -o loop,uid=$LOCUSER -t $BOOTIMGFS $BOOTIMGFILE $BOOTIMGDIR < $INITRDGZ gunzip > $INITRDFILE mkdir -p $INITRDDIR mount -o loop -t $INITRDFS $INITRDFILE $INITRDDIR } umountbootimage() { dd if=/dev/zero of=$INITRDDIR/nullfile || true sync rm $INITRDDIR/nullfile umount $INITRDDIR rmdir $INITRDDIR < $INITRDFILE gzip --best > $INITRDGZ rm -f $INITRDFILE umount $BOOTIMGDIR rmdir $BOOTIMGDIR syslinux KNOPPIX/boot.img } case "`basename $0`" in mountbootimage) mountbootimage ;; umountbootimage) umountbootimage ;; *) echo >&2 "ERR: called with unknown name `basename $0`" exit 1 ;; esac