Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
CDLive con sistema ya instalado.
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
DaRkaHT
n00b
n00b


Joined: 23 Sep 2011
Posts: 54

PostPosted: Sun Dec 01, 2013 3:23 pm    Post subject: CDLive con sistema ya instalado. Reply with quote

Estimados compañeros:

Resulta que pretendo crear un cdlive basado en gentoo, con la configuración que me gusta... pues me sería muy comodo, y me surgen algunas dudas espero ustedes puedan resolvermelas:

En primer lugar he ojeado la siguiente guía:
http://wiki.cecalc.ula.ve/index.php/Creaci%C3%B3n_de_un_LiveCD_basado_en_Gentoo_con_entorno_gr%C3%A1fico

En la guía se crea un directorio dentro de un sistema gentoo ya instalado. En él se descomprimen los ficheros stage y portage...etc, se hace un "chroot" y se prosigue la instalación CASI de la forma tradicional. Luego con la herramienta "squashfs" se crea la imagen del sistema y con "mkisofs" se crea el fichero iso...y listo...

Mi intención es hacerlo en una maquina virtual, de manera que una vez finalizada la instalación, pueda iniciar el sistema en modo X para hacer unos ultimos retoques antes de generar la ISO.

A diferencia de la guia, lo que quiero es CONVERTIR UN SISTEMA INSTALADO en un CDLIVE.

Los pasos que tengo pensado seguir son los siguientes:

1. Iniciar desde un cdlive (system rescue cd).
2. Montar pendrive.

3. Copiar partición del sistema a un directorio en el pendrive. (dd if=/dev/sda2 of=/mnt/pendrive)
4. Copiar partición /boot dentro del directorio del cdlive. (dd if=/dev/sda1 of=/mnt/pendrive/boot)

5. Reconfigurar fstab
6. Mover la imagen del núcleo a directorio vmlinuz. (mv /mnt/pendrive/boot/genkernel-XXX /mnt/pendrive/boot/vmlinuz)
7. Renombrar initramfs (mv /mnt/pendrive/boot/initramfs* /mnt/pendrive/boot/initrd)
8. Reconfigurar grub (cambiar ruta, nombre del nucleo...)
9. Generar image.squashfs
10. Generar fichero .iso

El primer problema me surge en el paso nº3, cuando "dd" me dice que no se puede copiar una partición a un directorio. Si monto la partición y intento copiar en contenido con "cp -Rf", me dice que no se pueden copiar los enlaces simbolicos.

¿Alguien tiene idea de como hacer la copia? ¿Veis que falte algún paso por realizar?

Saludos.
Back to top
View user's profile Send private message
esteban_conde
Veteran
Veteran


Joined: 04 Jun 2003
Posts: 1670

PostPosted: Sun Dec 01, 2013 5:05 pm    Post subject: Reply with quote

Para copiar todo usa "cp -a " o "cp -dpR" para saber por qué utiliza man cp.
_________________
Saludos a tod@s, Esteban.
Back to top
View user's profile Send private message
i92guboj
Bodhisattva
Bodhisattva


Joined: 30 Nov 2004
Posts: 10315
Location: Córdoba (Spain)

PostPosted: Thu Dec 05, 2013 10:43 am    Post subject: Re: CDLive con sistema ya instalado. Reply with quote

"dd" no funciona de la forma que tú crees que funciona.

Si lo que quieres es hacer una imagen de la partición, tienes que especificar el archivo (o dispositivo de bloque) destino. Por ejemplo, para copiar la partición entera a un archivo llamado "live.img" dentro de tu pendrive, y suponiendo que tu pendrive esté adecuadamente montado en /mnt/pendrive, harías esto:

Code:
dd if=/dev/sda2 of=/mnt/pendrive/live.img


Eso te daría como resultado una imagen 1:1 de tu partición sda2, algo así como un archivo .iso (por comparar con algo conocido, aunque no sea exáctamente lo mismo).

Si lo que quieres es "estampar" tu partición tal cual en el pendrive (asumiendo que quepa), el procedimiento sería distinto:

Code:
dd if=/dev/sda2 of=/dev/sdb


Siendo "/dev/sdb" el nodo de dispositivo asociado a tu pendrive y que quieras usar todo el pendrive sin particionar. Si lo que quieres el volcarlo a una partición concreta del pendrive sería:

Code:
dd if=/dev/sda2 of=/dev/sdb2


Siendo "sdb2" la partición destino dentro del pendrive.

===================

Ahora bien, por la forma en que estás usando "dd", yo más bien diría que lo que pretendes es copiar estructuras de directorios, y no imágenes de disco en bloque. Si ese es el caso, simplemente usa cp -a, rsync o la herramienta con la que más confortable te sientas, pero ten en cuenta que en un sistema Linux hay archivos que no pueden simplemente "copiarse", como por ejemplo el contenido de /dev, /proc o /sys. No hace falta decir que cualquiera que sea el método que escojas el sistema origen debe estar montado en modo de solo lectura, si no ten por seguro que la copia resultante va a tener problemas que pueden ir desde leves desajustes hasta un sistema completamente inservible.
Back to top
View user's profile Send private message
DaRkaHT
n00b
n00b


Joined: 23 Sep 2011
Posts: 54

PostPosted: Thu Dec 12, 2013 1:26 am    Post subject: Reply with quote

Gracias i92guboj, monté las particiones en modo solo lectura, y con "rsync -av" conseguí copiar todos los enlaces simbolicos. Ahora el problema se me presenta a la hora de crear la imagen ISO. Repaso los pasos que he dado:

#Recordamos que partimos de un sistema gentoo previamente instalado en VM. A continuación booteamos desde un live (System Rescue CD).

# Crear puntos de montaje
mkdir /mnt/boot
mkdir /mnt/sys

mkdir /mnt/pendrive #(Almacenamiento extraible o partición donde se realizará la copia de ficheros)

# Montar particiones
mount /dev/sda1 /mnt/boot --options ro #Montando como solo lectura.
mount /dev/sda2 /mnt/sys --options ro #Montando como solo lectura.

mount /dev/sdb1 /mnt/pendrive

# Copiar partición de sistema #COPIADO SIN PROBLEMA.
mkdir /mnt/pendrive/cdlive
rsync -av /mnt/sys /mnt/pendrive/cdlive

# BORRAR FICHEROS INNECESARIOS
rm -Rf /mnt/pendrive/cdlive/usr/portage/distfiles/*

# Copiar partición boot #COPIADO SIN PROBLEMA.
rsync -av /mnt/boot /mnt/pendrive/cdlive/boot

# Cambiar fstab
echo "
/dev/loop0 / squashfs defaults 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
" > /mnt/pendrive/cdlive/etc/fstab

# Moviendo el kernel
mkdir /mnt/pendrive/cdlive/boot/vmlinuz
mv /mnt/pendrive/cdlive/boot/kernel-genkernel* /mnt/pendrive/cdlive/boot/vmlinuz

# Renombrar initramfs
mv /mnt/pendrive/cdlive/boot/initramfs-genkernel* /mnt/pendrive/cdlive/boot/initrd

# Reconfigurar grub
echo "
default 0
timeout 3
splashimage=/boot/grub/splash.xpm.gz

title=LiveCD Gentoo
kernel /boot/vmlinuz real_root=/dev/loop0 looptype=squashfs loop=/livecd.squashfs vga=ask initrd udev cdroot
initrd /boot/initrd
" > /mnt/pendrive/cdlive/boot/grub/grub.conf

rm /boot/grub/menu.lst
mv /mnt/pendrive/cdlive/boot/grub/grub.conf /mnt/pendrive/cdlive/boot/grub/menu.lst

# Generar imagen squashfs #GENERADA CORRECTAMENTE.
mksquashfs /mnt/pendrive/cdlive /mnt/pendrive/livecd.squashfs

# Crear fichero vacío
touch /mnt/pendrive/cdlive

# Generar ISO #ERROR
mkisofs -no-emul-boot -boot-load-size 4 -boot-info-table -r -b boot/grub/stage2_eltorito -c boot.catalog -o /mnt/pendrive/livecd.iso -x files /mnt/pendrive/cdlive

El error que arroja es el siguiente:

mkisofs: Uh oh, I cant find the boot image '/boot/grub/stage2_eltorito' inside the target tree.

He comprobado que dicho fichero se encuentra en el directorio "/boot/grub". He cambiado la ruta por " /mnt/pendrive/boot/grub" y sigue igual. ¿Alguna idea?
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1522

PostPosted: Thu Dec 12, 2013 2:11 am    Post subject: Reply with quote

Quote:
# Generar ISO #ERROR
mkisofs -no-emul-boot -boot-load-size 4 -boot-info-table -r -b boot/grub/stage2_eltorito -c boot.catalog -o /mnt/pendrive/livecd.iso -x files /mnt/pendrive/cdlive

El error que arroja es el siguiente:

mkisofs: Uh oh, I cant find the boot image '/boot/grub/stage2_eltorito' inside the target tree.

Asegúrate que antes de ejecutar el comando mkisofs la partición /boot está montada.
Back to top
View user's profile Send private message
DaRkaHT
n00b
n00b


Joined: 23 Sep 2011
Posts: 54

PostPosted: Thu Dec 12, 2013 2:26 am    Post subject: Reply with quote

"/boot" en este caso no es ningún punto de montaje, sino una copia de la partición boot.
Back to top
View user's profile Send private message
quilosaq
Veteran
Veteran


Joined: 22 Dec 2009
Posts: 1522

PostPosted: Thu Dec 12, 2013 2:46 am    Post subject: Reply with quote

Creo que estás interpretando mal la opción -b de mkisofs. Prueba con esto:
Code:
# mkisofs -no-emul-boot -boot-load-size 4 -boot-info-table -r -b /mnt/boot/grub/stage2_eltorito -c boot.catalog -o /mnt/pendrive/livecd.iso -x files /mnt/pendrive/cdlive

Tendrás que tener montado /boot como lo tenías antes:
Code:
# mount /dev/sda1 /mnt/boot --options ro #Montando como solo lectura.
Back to top
View user's profile Send private message
DaRkaHT
n00b
n00b


Joined: 23 Sep 2011
Posts: 54

PostPosted: Thu Dec 12, 2013 3:09 am    Post subject: Reply with quote

Más de lo mismo...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum