• 0
Conéctate para seguir esto  
Marlon

Como crear una iso con tools preinstaladas en Slackware

Pregunta

Hola.. necesito hacer una iso el sistema slackware que tengo.. nose si conozcan alguna herramienta.. eh encontrado linux-live.org pero no se como usarlo.. gracias de antemano

Compartir este post


Enlace al post
Compartir en otros sitios

5 respuestas a esta pregunta

  • 0

Descarga la versión Live de Slackware, desempaquétala, modifica lo que tengas que modificar y vuelve a empaquetarla.

Es el proceso que más control te va a ofrecer, aunque eso sí, te tocará ensuciarte las manos :happy:

 

(obviamente, con ciertas variaciones en cuanto a paquetería y ciertos detalles)

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0

Entonces no he entendido la pregunta.

 

Si la has desempaquetado y modificado manualmente, volver a empaquetarla es básicamente seguir el proceso inverso, primero con squashfs, que sólo tienes que sustituirla en la estructura de la imagen Live que ya tenías y luego volver a generar el archivo .iso

Linux-live.org, realmente lo que tendría por objetivo es generar una imagen iso de un sistema instalado a modo de copia de seguridad, en una línea similar a lo que era Remastersys o el actual Respin, no generar una imagen live o de herramientas o "personalizada", que es lo que había entendido al principio.

 

Que echando un ojo por encima al script, mksquashfs, genisoimage y colocar todo en su sitio, apenas hay diferencias respecto a otras distros

#!/bin/bash
# Linux Live Kit version 7

export PATH=.:./tools:../tools:/usr/sbin:/usr/bin:/sbin:/bin:/

CHANGEDIR=$(dirname $(readlink -f $0))
echo "Changing current directory to $CHANGEDIR"
CWD="$(pwd)"
cd $CHANGEDIR

. ./.config || exit 1
. ./livekitlib || exit 1

# only root can continue, because only root can read all files from your system
allow_only_root

# check for mksquashfs with xz compression
if [ "$(mksquashfs 2>&1 | grep "Xdict-size")" = "" ]; then
   echo "mksquashfs not found or doesn't support -comp xz, aborting, no changes made"
   echo "you may consider installing squashfs-tools package"
   exit 1
fi

MKISOFS=$(which mkisofs)
if [ "$MKISOFS" = "" ]; then
   MKISOFS=$(which genisoimage)
fi
if [ "$MKISOFS" = "" ]; then
   echo "Cannot found mkisofs or genisoimage, stop"
   exit 3
fi

# build initramfs image
echo "Building intramfs image..."
cd initramfs
INITRAMFS=$(./initramfs_create "$LIVEKITNAME")
cd ..

# create live kit filesystem (cpio archive)
rm -Rf "$LIVEKITDATA"
BOOT="$LIVEKITDATA"/"$LIVEKITNAME"/boot
mkdir -p "$BOOT"
mkdir -p "$BOOT"/../changes
mkdir -p "$BOOT"/../modules
mv "$INITRAMFS" $BOOT/initrfs.img
cp bootfiles/* $BOOT
cat bootfiles/syslinux.cfg | sed -r "s:/boot/:/$LIVEKITNAME/boot/:" > $BOOT/syslinux.cfg
cat bootfiles/bootinst.bat | sed -r "s:/boot/:/$LIVEKITNAME/boot/:" | sed -r "s:\\\\boot\\\\:\\\\$LIVEKITNAME\\\\boot\\\\:" > $BOOT/bootinst.bat
cp $VMLINUZ $BOOT/

if [ -d sb ]; then
   cp sb/* $LIVEKITDATA/$LIVEKITNAME/
else
   # create compressed bundles
   for i in $MKMOD; do
      mksquashfs /$i $LIVEKITDATA/$LIVEKITNAME/$i.$BEXT -comp xz -b 512k -keep-as-directory
   done
fi

# copy rootcopy folder
if [ -d rootcopy ]; then
   cp -a rootcopy $LIVEKITDATA/$LIVEKITNAME/
fi

# create ISO for CD image
echo "Creating ISO file for CD boot..."
cd "$LIVEKITDATA"
TARGET=/mnt/z
if [ ! -d $TARGET ]; then
   TARGET=/tmp
fi

ARCH=$(uname -m)

$MKISOFS -o "$TARGET/$LIVEKITNAME-$ARCH.iso" -v -J -R -D -A "$LIVEKITNAME" -V "$LIVEKITNAME" \
-no-emul-boot -boot-info-table -boot-load-size 4 \
-b "$LIVEKITNAME"/boot/isolinux.bin -c "$LIVEKITNAME"/boot/isolinux.boot . \
>/dev/null 2>/dev/null

cat "$CWD/bootinfo.txt" | fgrep -v "#" | sed -r "s/mylinux/$LIVEKITNAME/" | sed -r "s/\$//" > readme.txt
echo "Creating ZIP for USB boot..."
rm -f "$TARGET/$LIVEKITNAME-$ARCH.zip"
zip -0 -r "$TARGET/$LIVEKITNAME-$ARCH.zip" *

cd ..
rm -Rf "$LIVEKITDATA"
echo "finished. Find your result in $TARGET"

 

En la propia Wiki de Slackware tienes información sobre el proceso

 

https://docs.slackware.com/slackware:liveslak#creating_a_live_iso_from_scratch

 

E incluso un script make-slackware-live.sh:

 

http://www.slackware.com/~alien/liveslak/

 

Aunque aquí sí que veo diferencias importantes. No empaqueta una única gran imagen, sino pequeñas imágenes por componentes :pensar:

Compartir este post


Enlace al post
Compartir en otros sitios
  • 0

Una vez creada la iso ya tienes una base sobre la que trabajar. El siguiente paso es empaquetar tu sistema y sustituirlo por los archivos de tu sistema, para posteriormente reempaquetarlo manualmente, lo cual no es sencillo ni trivial.

 

Mirando más a fondo, creo que a partir de otros tipos de scripts quizá te resulte más llevadero:

 

http://slackware-live.tuxfamily.org/-Documentation-

 

Con algunas salvedades, ya que no prepararía una instalación limpia (o sí) sino que utilizarías una existente, teniendo muchísimo cuidado de no incluir directorios que puedan meter al proceso en un bucle. El caso más típico es incluir la imagen de salida dentro de uno de los directorios a incluir en la propia imagen. Ese proceso no acabará jamás ya que la imagen se contiene a sí misma.

 

 

Compartir este post


Enlace al post
Compartir en otros sitios

Registra una cuenta o conéctate para comentar

Debes ser un miembro de la comunidad para dejar un comentario

Crear una cuenta

Regístrate en nuestra comunidad. ¡Es fácil!

Registrar una cuenta nueva

Iniciar Sesión

¿Ya tienes cuenta? Conéctate aquí.

Iniciar Sesión
Conéctate para seguir esto