Crear tu propio FreeBSD DVD Septiembre 11, 2008
Posted by fids in freebsd.Tags: crear dvd, dvd freebsd, freebsd
trackback
Para los que recién se inician en el mundo de FreeBSD lo primero que desconcierta es el hecho de no disponer con una versión en DVD del sistema, en lugar de ello (y al igual que cualquier distro linux) entrega las imágenes de 6 CDs, 4 de ellos los discos del sistema base, 1 CD solo para booteo y un LiveCD.
La primera vez que lo instalas no hay problema, pero la segunda, tercera, cuarta, ya te va incomodando un poco (o mucho) el hecho de no disponer de un solo DVD.
Aquí pues te explico como crear tu propio DVD de FreeBSD
Nota: Todo el proceso lo realicé como root en un sistema FreeBSD 6.2
1. Verificar si dispones de espacio suficiente
Unos 7GB (5.1 para ser exactos)
# df -h
2. Descargar las imágenes del FreeBSD
Visita http://www.freebsd.org/where.html
Por ejemplo, si te quieres bajar la version i386 harias
# wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/7.0-RELEASE-i386-disc1.iso
# wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/7.0-RELEASE-i386-disc2.iso
# wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/7.0-RELEASE-i386-disc3.iso
# wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/7.0-RELEASE-i386-docs.iso
Nota: El archivo bootonly y livefs no son necesarios
3. Instalar el port dvd+rw-tools
# cd /usr/ports/sysutils/dvd+rw-tools/
# make install clean
Nota: Una vez instalado el port dvd+rw-tools, cierra la sesion de root y vuelve a entrar. De esta manera, no tendras problemas al momento de usar estas herramientas.
# exit
$ su
4. Crear directorio para el DVD
(OJO: los archivos ISO del freeBSD deben estar físicamente en el sistema, en mi caso se encuentran en /home/miuser/freebsd7 )
# mkdir /home/miuser/freebsd7/dvd
# cd /home/miuser/freebsd7/dvd
5. Copiar toda la información de los CD-ROM
# mdconfig -a -t vnode -f ../7.0-RELEASE-i386-disc1.iso -u 0
# mount -t cd9660 /dev/md0 /mnt
# tar -C /mnt -cf – . | tar -xf -
# umount /mnt
# mdconfig -a -t vnode -f ../7.0-RELEASE-i386-disc2.iso -u 1
# mount -t cd9660 /dev/md1 /mnt
# tar -C /mnt -cf – . | tar -xf -
# umount /mnt
# mdconfig -a -t vnode -f ../7.0-RELEASE-i386-disc3.iso -u 2
# mount -t cd9660 /dev/md2 /mnt
# tar -C /mnt -cf – . | tar -xf -
# umount /mnt
# mdconfig -a -t vnode -f ../7.0-RELEASE-i386-docs.iso -u 3
# mount -t cd9660 /dev/md3 /mnt
# tar -C /mnt -cf – . | tar -xf -
# umount /mnt
6. Agregar las siguientes líneas al archivo cdrom.inf
CD_VOLUME = 0
CD_VOLUME = 1
CD_VOLUME = 2
CD_VOLUME = 3
Finalmente, el archivo cdrom.inf quedaría así:
CD_VERSION = 7.0-RELEASE
CD_VOLUME = 0
CD_VOLUME = 1
CD_VOLUME = 2
CD_VOLUME = 3
7. Modificar el archivo INDEX
(OJO seguimos dentro de /home/miuser/freebsd7/dvd )
# sed -ie ’s/|2/|1/g’ packages/INDEX
# sed -ie ’s/|3/|1/g’ packages/INDEX
8. Eliminar el directorio rr_moved
# rm -Rf rr_moved
9. Crear finalmente la imágen ISO
Este proceso me tomo 2 min en una P4 con FreeBSD 6.2 + 2GB RAM
# mkisofs -V FreeBSD7 -J -R -b boot/cdboot -no-emul-boot -o freebsd7.iso .
OJO con el punto después de freebsd7.iso ( …. -o freebsd7.iso . )
La iso creada (freebsd7.iso) ocupa 1.7GB
10. Quemar la imágen ISO con tu quemador favorito
Si quieres quemarlo en Windows con tu querido Nero, no te queda mas remedio que pasarlo por la red, pasar 1.7GB demora bastante así que se paciente. Esto lo puedes hacer via SSH usando WinSCP
Si por el contrario, quieres quemarlo en el mismo FreeBSD (dispones de una quemadora), puedes usar lo siguiente:
# growisofs -dvd-compat -Z /dev/cd0=freebsd7.iso
Nota: Si sencillamente no quieres crear el ISO -explicado en el paso 9- puedes quemar el DVD al vuelo sin generar el ISO y obviamente ahorrar espacio. Para ello debemos ejecutar esto en lugar del paso 9:
# growisofs -Z /dev/cd0 -J -R -no-emul-boot -b boot/cdboot -iso-level 3 .
Fuente:
http://it.toolbox.com/blogs/bsd-guru/creating-your-own-freebsd-70-dvd-22791 by Dru
Me ha ido bien, sí, tener los 4 en 1. Sobretodo porque a veces me pedía quitar el 3, meter el 2, meter el 1… y ya me hartaba!