Configurer Slackware chroot
Objectif: Je souhaite configurer Slackware en chroot afin de construire les packages 32 bits sur mon système 64 bits.
Obtenir l'installation de Slackware de l'architecture ciblée
For a 32 bit chroot I downloaded installation disks 1 and 2 from http://www.slackware.com/getslack/ via torrent.
Installing the packages
Create a folder which will contain the chroot.
Mount the installation ISO(s). After they have been mounted the packages in them (found under the slackware folder) can be installed to the chroot folder with:
installpkg –root <chroot-folder> a/*.t?z ap/*.t?z l/*.t?z n/*.t?z
installpkg –root <chroot-folder> d/*.t?z k/*.t?z t/*.t?z tcl/*.t?z
(additional sets can be installed in a similar way)
An elegant script for the above: http://dawoodfall.net/files/scripts/bash/mkchroot
Chroot
After the chroot folder has been populated with packages we can proceed to chroot into it (volume_mounting).
Updating packages
After that I setup slackpkg and updated the packages (configure_a_package_manager).
Mounting partitions
I needed to mount the partition which contained the SlackBuilds for which I wanted to make a package, I used the command:
mount -B <slackware-host-mount-point> <chroot-mount-point>
(http://www.thegeekstuff.com/2013/01/mount-umount-examples/)
Then I built the package by executing the Slackbuild as follows:
ARCH=i686 ./<my-package>.SlackBuild
Exit and unmounting
Finally I exited the chroot by pressing Ctrl+d, and unmounted the mount points I had mounted earlier.
Links
Notes
Wrote a small script to automate these steps.
https://raw.githubusercontent.com/aadityabagga/scripts/master/chroot.sh