Skip to content

Universal Chroot environment that can be deployed to most linux distros and with a portable chroot image that can be moved from one host to another.

Notifications You must be signed in to change notification settings

rafi16jan/universal-chroot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 

Repository files navigation

Universal Chroot

Universal Chroot environment that can be deployed to most linux distros and with a portable chroot image that can be moved to one host to another.

Build a Chroot Management System

Create your chroot scripts directory

sudo su #login as root
mkdir /var/chroot #create your chroot directory
cd /var/chroot #nagivate to your chroot directory
mkdir images #the images directory
mkdir scripts #the scripts directory
mkdir process #the process directory
mkdir environment #the chroot environment directory that will be mounted

/var/chroot can be anything, depends on where do you want to put your chroot images (The directory or partition that have enough free space). For Chrome OS it's best on /home/chronos directory and on Android it's best on /storage or /data directory.

cd /var/chroot/scripts #navigate to your scripts directory
wget https://raw.githubusercontent.com/rafi16jan/universal-chroot/master/scripts/create-chroot.sh
wget https://raw.githubusercontent.com/rafi16jan/universal-chroot/master/scripts/delete-chroot.sh
wget https://raw.githubusercontent.com/rafi16jan/universal-chroot/master/scripts/duplicate-chroot.sh
wget https://raw.githubusercontent.com/rafi16jan/universal-chroot/master/scripts/enter-chroot.sh
wget https://raw.githubusercontent.com/rafi16jan/universal-chroot/master/scripts/start-chroot.sh
wget https://raw.githubusercontent.com/rafi16jan/universal-chroot/master/scripts/stop-chroot.sh

If you have a different /var/chroot directory make sure you edit the first line of each chroot scripts to your directory:

#!/bin/sh
export dir=#your custom directory, or just leave it if you want to use /var/chroot

Install debootstrap:

#For Debian based
apt-get install debootstrap

#For RHEL
yum install debootstrap

#For another distro (custom debootstrap build)
#Don't do this if you can install debootstrap with package manager
cd /tmp #navigate to your tmp directory, or Download directory (any directory for trash data)
wget https://raw.githubusercontent.com/rafi16jan/universal-chroot/master/debootstrap/debootstrap.sh
sh debootstrap.sh
tar xvf debootstrap.tar.gz
mkdir /usr/share/debootstrap
cp debootstrap-*/debootstrap /usr/bin/ #or can be your another favorite bin directory
cp debootstrap-*/functions /usr/share/debootstrap/
cp -r debootstrap-*/scripts /usr/share/debootstrap/
wget https://raw.githubusercontent.com/rafi16jan/universal-chroot/master/debootstrap/pkgdetails -O /usr/share/debootstrap/pkgdetails
wget https://raw.githubusercontent.com/rafi16jan/universal-chroot/master/debootstrap/ar -O /usr/local/bin/ar #your favorite bin directory
chmod a+x /usr/share/debootstrap/pkgdetails
chmod a+x /usr/bin/ar

Setup scripts:

#Navigate to your favorite bin directory
cd /usr/bin
#Make a soft link (shortcut) of your scripts file
ln -s /var/chroot/scripts/* ./ #remember /var/chroot can be different
#For Chrome OS and Android (Skip this for another distro, Chrome OS and Android doesn't support executable shortcuts)
cp /var/chroot/scripts/* ./ #remember /var/chroot can be different

mv create-chroot.sh create-chroot
mv delete-chroot.sh delete-chroot
mv duplicate-chroot.sh duplicate-chroot
mv enter-chroot.sh enter-chroot
mv start-chroot.sh start-chroot
mv stop-chroot.sh stop-chroot

chmod a+x create-chroot
chmod a+x delete-chroot
chmod a+x duplicate-chroot
chmod a+x enter-chroot
chmod a+x start-chroot
chmod a+x stop-chroot
exit #exit from root

Create your first chroot image:

sudo create-chroot

Done! Now, everything you want to start your chroot just execute "sudo start-chroot".

The other scripts is as the name explain their job.

About

Universal Chroot environment that can be deployed to most linux distros and with a portable chroot image that can be moved from one host to another.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages