===== Configurando um chroot do Slackware ===== Existem vários motivos pelos quais você pode querer configurar um chroot do Slackware: * construir pacotes de 32 bits em um sistema multilib de 64 bits * construir pacotes -stable em um sistema -current * construir (e testar) pacotes para SBo em um sistema limpo Para este guia, vamos criar um chroot em **/chroot_folder** a partir de **slackware-14.1-install-dvd.iso**. ==== Obtendo uma instalação do Slackware de sua arquitetura desejada ==== Comece com um DVD de instalação do Slackware. Baixe-o em http://www.slackware.com/getslack/ via torrent. ==== Instalado os pacotes ==== === Automático === Você pode criar seu chroot e instalar o Slackware nele usando o seguinte script elegante: [[http://tty1.uk/scripts/slackware/mkchroot]] === Manual === Primeiro, crie uma pasta que conterá o chroot: mkdir /chroot_folder Monte a ISO de instalação: mount -o loop slackware-14.1-install-dvd.iso /mnt/cdrom cd /mnt/cdrom Após a montagem do ISO, os pacotes (encontrados na pasta //slackware// ou //slackware64//) podem ser instalados na pasta chroot com: installpkg --root /chroot-folder */*.t?z Em seguida, desmonte o ISO: umount /mnt/cdrom === Configurando os arquivos necessários === == fstab == O seguinte snippet mínimo pode ser usado para ///chroot_folder/etc/fstab// # tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts noexec,nosuid,gid=tty,mode=0620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 ==== Entrar com Chroot ==== === Montagem automática === Para ter o chroot montado permanentemente, adicione o seguinte em seu __sistema host__ ///etc/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 E reinicie. Em seguida, execute o seguinte comando para montar a pasta chroot: mount /chroot_folder === Montagem manual === Referência: ([[howtos:slackware_admin:how_to_chroot_from_media#volume_mounting]]). === Entrando no Chroot === Agora que o chroot está configurado, pode-se fazer o chroot nele: chroot /chroot_folder /bin/bash **Nota** Foi escrito um pequeno script para automatizar as etapas do chroot. https://raw.githubusercontent.com/aadityabagga/scripts/master/chroot.sh === Atualizando pacotes === Depois disso, você pode executar o slackpkg e atualizar os pacotes: ([[slackware:beginners_guide#configure_a_package_manager]]). === Saindo do chroot === Quando terminar, saia do chroot pressionando //Ctrl+d//. ==== Criando pacotes de 32 bits ==== === Montagem de partições === Eu uso um chroot para construir pacotes de 32 bits em um sistema de 64 bits. Eu precisava montar a partição que continha os SlackBuilds para os quais eu queria fazer um pacote, como meu ponto de montagem do host do Slackware está (neste exemplo) em /slackware_host_mount_point, utilizei o comando: mount -B /slackware_host_mount_point /chroot_folder (http://www.thegeekstuff.com/2013/01/mount-umount-examples/) Então eu construí o pacote executando o Slackbuild da seguinte maneira: ARCH=i686 ./my_package.SlackBuild === Uma maneira alternativa de construir outros pacotes ARCH === Em vez de usar `ARCH=i686' antes de executar um slackbuild, podemos usar um programa chamado `setarch', que, entre outras coisas, pode definir o ARCH e o kernel versão no shell. Possui alguns links simbólicos úteis, como linux32 ou i586, o que economiza alguma digitação. O comando `linux32 'irá definir o kernel relatado ARCH como `i686'.f **SINOPSE** setarch arch [options] [program [argument...]] Quando executamos o `linux32', ele inicia um novo shell, portanto, também podemos usá-lo para fazer o chroot: chroot /path/to/chroot linux32 /bin/zsh ou pode ser executado após fazer o chroot em nossa nova raiz. As configurações serão revertidas para normal quando saímos do novo shell. Uma opção útil é mudar o kernel versão relatada: chroot /path/to/chroot linux32 --uname-2.6 /bin/zsh Que `--uname-2.6' não é um erro de digitação, deve haver um traço entre a flag e a versão. A página do manual setarch (8) mostra todas as opções. -- Dave ====== Veja também ====== * https://wiki.archlinux.org/index.php/Chroot * http://www.linuxquestions.org/questions/slackware-installation-40/install-slackware-to-a-folder-using-chroot-825598/#post4093831 ====== Fontes ====== * Originalmente escrito por [[wiki:user:aaditya | Aaditya]] * Traduzido por --- //[[wiki:user:slackjeff|Slackjeff]] 2020/11/18 14:11 (UTC)// {{tag>howtos}}