Description: | Lightweight 32-bit chroot intended for 64-bit systems. |
Latest Version: | 2015 |
Source Code: | src/ |
Architecture: |
|
Dependencies: |
|
Conflicts: |
|
Optional Dependencies: |
|
Arch Repositories: |
|
AUR Page: | arch32-light |
Arch Forum Thread: | 97629 |
Tags: |
arch32-light - a minimal 32-bit Arch Linux chroot
pacman32 <operation> [options] [packages]
arch32
arch32 <application> [options]
arch32-light installs a minimal (~150 MiB) 32-bit chroot to /opt/arch32. It is based on the wiki guide and the alternative lightweight install described there with some changes and additions:
Note that the chroot initalization only installs the bare minimum for a functional chroot. This does not include pacman. Use “pacman32” to install pacman along with whatever else you need:
pacman32 -S pacman
You can install the full “base” group but it includes many packages that are unnecessary for the chroot. As with regular Arch, it’s left to the user to decide what is needed.
arch32m help
for supported
actions. The configuration file is located at
/etc/arch32d.conf
.
The script’s configuration file is located at “/etc/pacman32.conf” in the chroot, which is “/opt/arch32/etc/pacman32.conf” by default.
Once the package has been installed, run “arch32initialize” to create the pacman32 configuration file and get instructions to complete the installation.
After that, most users will want to install pacman and several other packages in the chroot with “pacman32 -S pacman [pkgs]”. Many packages in the “base” group are unnecessary for the chroot and can be skipped to save space. Once pacman is installed in the chroot, packages can be managed from both the host via pacman32 and the chroot via pacman. If you wish to build packages in the chroot, install “base-devel”.
This file must source /etc/arch32d.conf to set the ARCH32ROOT variable.
The “ARCH32MOUNT” array in /etc/arch32d.conf specifies which directories to mount in the chroot. The array should contain absolute paths to directories on the host. By default, these will be mounted at corresponding points within the chroot. For example, if ARCH32MOUNT contains “/tmp”, it will be mounted to “/opt/arch32/tmp”.
The order of the mountpoints in the array is important. That is the order in which they will be mounted and they will be unmounted in the reverse order.
It is possible to specify non-corresponding mountpoints within the chroot using a color (:). For example, to mount the host directory “/tmp/arch32” as “/tmp” in the chroot, add “/tmp/arch32:/tmp” to ARCH32MOUNT. This may be useful for mapping sub-directories of your home directory to the chroot’s home directory.
Default:
ARCH32MOUNT=('/proc' '/proc/bus/usb' '/dev' '/dev/pts' '/dev/shm' '/sys' '/tmp')
WARNING: Always exit the chroot and stop arch32d before changing ARCH32MOUNT or you may fail to unmount all directories in the chroot. This could result in the loss of data.
The “ARCH32SYNC” array in /etc/arch32d.conf specifies files that should be kept syncrhonized in the chroot. When the daemon is invoked with “sync”, it will check each file in this array and it’s corresponding file in the chroot and update that file if it has changed. Changes are only made in the chroot, never in the host.
The paths in this array must be absolute paths to files on the host.
To remove the chroot, stop the daemon, remove the package with pacman, then manually delete the chroot root directory. Make sure that all mountpoints in the chroot have been unmounted before the last step to prevent data loss.
arch32-light was adapted from the instructions in the Arch Linux wiki article “Install bundled 32-bit system in Arch64”.
PACMAN32BIN
and PACMAN32ARGS
variables to arch32.conf
to configure pacman32
scriptarch32m
): basically just a
modified version of the old initscripts daemonarch32d
)
ARCH32SYNC
array/etc/arch32d.conf
)/etc/arch32d.conf
ARCH32MOUNT
array from /etc/rc.conf
to /etc/arch32d.conf
/etc/arch32.conf
to ARCH32SYNC
in /etc/arch32d.conf
/etc/arch32.conf
arch32initialize
to initialize the chroot after
installation