Hacking DSL-es

From DSL Wiki

   [Volver a la Pagina principal]  [In other languajes: english]

Contents

Hackeando DSL

Para algunos de nosotros extender DSL con extensiones MyDSL es sencillamente insuficiente. Especialmente cuando se trata de eliminar cosas. Así que aquí hay una página dedicada a hackear DSL para hacer que funcione a tu gusto.

Nota:

  • Este metodo es aplicable principalmente a los usuarios de la instalacion frugal.
  • Implica la modificacion la imagen del archivo cloop (compressed loop) KNOPPIX.
  • Por ahora... esto es una 'chapuzilla' rapida.

Nota:

  • Si el sistema parece colgarse al construir el cloop, haz un sysrq y prueba a quitar el 'toram' de la linea de comando del kernel.

Primero localiza donde esta guardada tu imagen KNOPPIX, generalmente en /cdrom/KNOPPIX/KNOPPIX. Configura un dispositivo de loop para acceder a la imagen cloop.

losetup /dev/cloop1 /cdrom/KNOPPIX/KNOPPIX

monta el cloop:

mkdir -p /mnt/loop
mount /dev/cloop1 /mnt/loop

Copia todo lo del loop a un almacenamiento temporal:

SAND_BOX=<ruta_al_almacenamiento>
cp -a /mnt/loop/* $SAND_BOX
cd $SAND_BOX
rm -rf $SAND_BOX/.rr_moved

Reemplaza <ruta_al_almacenamiento> con la ruta adecuada. Asegúrate de que tienes suficiente espacio libre. Serán unos ~255 MB. Ejemplo SAND_BOX=/tmp/my_knoppix donde /tmp/my_knoppix tiene más de 260 MB de espacio libre aproximadamente.

Tienes que eliminar $SAND_BOX/.rr_moved y su contenido porque mkisofs(8) intentará regenerarlo. Tal intento fallará si el directorio ya existe.

Una vez dentro de tu SAND_BOX, hackea a gusto.

Aquí hay un ejemplo de como añadir los últimos codecs binarios del mplayer en DSL-n 0.1RC4 (a 20-Abr-2007):

mkdir -p $SAND_BOX/usr/lib/win32/
cd $SAND_BOX/usr/lib/win32/
wget http://www1.mplayerhq.hu/MPlayer/releases/codecs/essential-20061022.tar.bz2
tar jxvf essential-20061022.tar.bz2
ln -s essential-20061022/* .

Cuando termines, crea una nueva imagen loop comprimida (cloop):

mkisofs -hide-rr-moved -allow-leading-dots -R -l -V "KNOPPIX ISO9660" \
-v -allow-multidot $SAND_BOX | create_compressed_fs - \
65536 >  <ruta_a_tu_directorio_KNOPPIX>/KNOPPIX2

donde <ruta_a_tu_directorio_KNOPPIX> es el sitio donde tienes tu imagen KNOPPIX original (generalmente /cdrom/KNOPPIX/); y siendo KNOPPIX2 el nombre de tu nueva imagen cloop.

Nota: el proceso create_compressed_fs puede llevar un tiempo considerable para ejecutarse, especialmente si tu sistema tiene poca potencia de proceso. Por ejemplo, un i586 a 233 MHz requiere unos 30 minutos para ejecutar la pipeline de ahí arriba y producir una imagen de 1835 bloques.

Desmonta y desconecta:

cd $HOME
umount /mnt/loop
losetup -d /dev/cloop1

Pruebas:

Como hemos llamado a nuestra nueva imagen KNOPPIX2 tendremos que modificar el la linea de comando del kernel para hacer que DSL cargue esta nueva imagen en vez de la original. Añade el codigo de arranque:

knoppix_name=KNOPPIX2

(dependiendo de tu sistema podria ser sensible al uso de mayusculas) en tu /etc/lilo.conf o /boot/grub/menu.lst -- segun cual sea tu gestor de arranque.

Publicando Tu Hack (si quieres)

Introduce un nuevo tema en la sección System de los foros de DSL. Describe lo que has hecho, el propósito y cómo puede contactarte la gente para probar tu hack.

Nota: Estos hacks no son parte de Damn Small Linux. Si los a los desarrolladores les gusta tu hack, quizá lo asimilen, pero eso es decisión suya.

También debes evitar vender tu hack o parecer que lo haces, en especial bajo denominaciones como "Damn Small" Loquesea. Al menos, ten la decencia de ofrecerselo a los desarrolladores de DSL en vez de crear otro fork.

Hacks Deseados

Mira Hacks Deseados si quieres solicitar un hack.

Otros ejemplos de modificación

Hackeando el tiny core

Las últimas series alfa del DSL tiny core se pueden modificar muy facilmente. Por su propio diseño -siempre arranca cargado en RAM- remasterizar resulta fácil y rápido.

El archivo principal es un archivo cpio empaquetado (generalmente con gzip, aunque se acepta lzma) que reside en /boot/dslcore.gz. Para extraerlo:

   mkdir temp
   cd temp
   zcat /path/to/boot/dslcore.gz | cpio -H nuevoCore -i -d --no-absolute-filenames

Entonces efectúas las modificaciones que quieras, instalas tus extensiones, y cuando estés listo, se empaqueta:

   find . | cpio -o -H nuevoCore | gzip -9 > dslcore.gz

Crear una imagen del CD con los nuevos archivos

Comienza copiando todos los archivos de la imagen ISO actual a un directorio temporal. Luego sobreescribe dslcore.gz con el tuyo que has modificado.

Después de esto puedes crearte la imagen del CD con:

   mkisofs -pad -l -r -J -V MiDSLCore -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat -hide-rr-moved -o dslcore-test.iso MIDIR

MIDIR es el nombre de tu nuevo directorio que será el (directorio) raíz del CD, y tienes que estar situado en el su directorio padre. El CD se llama MiDSLCore, usa otro nombre si quieres.