Configurando un chroot de Slackware
Hay múltiples razones por las que puede ser que desee configurar un chroot de Slackware:
- Creación de paquetes de 32 bits en un sistema multilib de 64 bits
- construcción de paquetes -stable en un sistema -current
- construir (y probar) paquetes para SBo en un sistema limpio
Para esta guía, crearemos un chroot en /chroot_folder desde slackware-14.1-install-dvd.iso.
Obtención de una instalación Slackware de la arquitectura deseada
Comience con un DVD de instalación de Slackware. Descárguelo desde http://www.slackware.com/getslack/ a través de torrent.
Instalación de los paquetes
Automáticamente
Puedes crear tu chroot e instalar Slackware en él usando el siguiente y elegante script: http://dawoodfall.net/files/scripts/bash/mkchroot
Manualmente
Primero, cree una carpeta que contenga el chroot:
mkdir /chroot_folder
Montar la instalación ISO:
mount -o loop slackware-14.1-install-dvd.iso /mnt/cdrom cd /mnt/cdrom
Una vez montada la ISO, los paquetes (que se encuentran bajo la carpeta slackware o slackware64/) se pueden instalar en la carpeta chroot con:
installpkg --root /chroot-folder */*.t?z
A continuación, desmonte el ISO:
umount /mnt/cdrom
Montaje del Chroot
Para tener el chroot montado permanentemente, agregue lo siguiente a su fstab:
/dev chroot_folder/dev none bind,auto 0 0 /proc chroot_folder/proc none bind,auto 0 0 /sys chroot_folder/sys none bind,auto 0 0 /etc/resolv.conf chroot_folder/etc/resolv.conf none bind,auto 0 0
Si no desea reiniciar en este punto, puede montar el chroot manualmente:
mount /chroot_folder
También, refiérase a: (volume_mounting).
Haciendo Chroot en el Chroot
Ahora que el chroot está configurado, puedes hacer chroot en él:
chroot /chroot_folder /bin/bash
Actualización de paquetes
Después de eso, puede ejecutar slackpkg y actualizar los paquetes: (configure_a_package_manager).
Salir
Cuando haya terminado, salga del chroot pulsando Ctrl+d.
Un solo uso: Construcción de paquetes de 32 bits
Particiones de montaje
Uso un chroot para construir paquetes de 32 bits en un sistema de 64 bits. Necesitaba montar la partición que contenía los SlackBuilds para los que quería hacer un paquete. Como mi punto de montaje de host Slackware está (en este ejemplo) en /slackware_host_mount_point, usé el comando:
mount -B /slackware_host_mount_point /chroot_folder
(http://www.thegeekstuff.com/2013/01/mount-umount-examples/)
Luego construí el paquete ejecutando el Slackbuild de la siguiente manera:
ARCH=i686 ./my_package.SlackBuild
Links
Notas
Escribí un pequeño guión para automatizar estos pasos.
https://raw.githubusercontent.com/aadityabagga/scripts/master/chroot.sh