Quick and easy Fedora Minimal chroot

This is a quick guide on how to quickly make a Fedora Minimal chroot environment without any special tools. The only prerequisite is that you have root access on the machine you are using, and chroot binary (or busybox even). I am also using wget and tar but you probably have that. :)

We are going to use a Docker image as it contains a very well packaged Fedora Minimal rootfs.

Docker images are available for x86_64 and ARM architectures here:

https://download.fedoraproject.org/pub/fedora/linux/releases/24/Docker/

I am setting up my Raspberry Pi 2 in this example so I used the ARM image. The “host” operating system is LibreELEC media center, but this will work on any Linux distribution.

# make sure you are root
sudo su

# create a directory for Fedora
mkdir -p /fedora 
cd /fedora

# get the Docker image
wget https://download.fedoraproject.org/pub/fedora/linux/releases/24/Docker/armhfp/images/Fedora-Docker-Base-24-1.2.armhfp.tar.xz

To unpack the image:

# unpack Docker image
tar xvf Fedora-Docker-Base-24-1.2.armhfp.tar.xz --strip-components=1

# unpack the main tar
tar xvpf layer.tar

# cleanup
rm layer.tar
rm Fedora-Docker-Base-24-1.2.armhfp.tar.xz
rm json
rm VERSION

So you now have a base Fedora Minimal root filesystem in /fedora

It’s a good idea to create a script to enter it quickly. With your favorite text editor create /usr/bin/enter-fedora-chroot file:

#!/bin/sh

echo "Entering Fedora chroot"

mount -t proc proc /fedora/proc/
mount -t sysfs sys /fedora/sys/
mount -o bind /dev /fedora/dev/
mount -o bind /dev /fedora/dev/pts

chroot /fedora /bin/env -i \
    HOME=/root TERM="$TERM" PS1='[\u@f24chroot \W]\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin:/bin \
    /bin/bash --login

echo "Exiting Fedora chroot"
umount /fedora/dev/
umount /fedora/dev/pts
umount /fedora/sys/
umount /fedora/proc/

echo "Cleaned up"

and mark it as executable: chmod +x /usr/bin/enter-fedora-chroot

Now you can enter Fedora from literally anywhere! Just run the script with enter-fedora-chroot!

When inside the chroot, you will probably have to setup DNS to have working internet connection with a quick echo nameserver 8.8.8.8 > /etc/resolv.conf.

That’s it, it is really very easy.

Have fun!

 
101
Kudos
 
101
Kudos

Now read this

Pin Internet Explorer Metro mode to taskbar in Windows 8.1 Update 1

With the Update 1, Microsoft allowed Windows users to pin Modern applications to task bar in Desktop mode, however it is impossible to pin Internet Explorer Metro mode, without this little workaround: Set IE as your default browser if... Continue →