How to chroot properly into your OS/distro

From a LiveCD or if you're doing something like converting your non-RAID install to mdadm here's how you would chroot properly (you have to mount your proc, sys and dev on the running system/LiveCD to your chroot environment if you want things to work right, especially if you need to run update-initramfs due to a driver change etc..)

*replace "path" with your mount/chroot path

mount -o bind /proc /mnt/path/proc
mount -o bind /dev/ mnt/path/dev
mount -o bind /sys /mnt/path/sys
chroot /mnt/path

Here's a handy script to do it (basically just give it the path to your chroot and it does the rest):

#!/bin/bash
if [ -z "$1" ]; then
 echo "Usage $0 chroot/dir"
 exit 1
fi

destination=$1
for mountit in proc sys dev dev/pts; do
   mount -o bind /$mountit $destination/$mountit
done

 

Here's a handy script to unmount the chroot'd system paths:

#!/bin/bash
if [ -z "$1" ]; then
 echo "Usage $0 chroot/dir"
 exit 1
fi

#note since /dev/pts is mounted inside /dev you have to unmount /dev/pts first rather than when we mounted /dev above we would mount /dev/pts after the fact
destination=$1
for mountit in dev/pts proc sys dev; do
   umount $destination/$mountit
done


Tags:

chroot, os, distrofrom, livecd, converting, raid, install, mdadm, mount, proc, sys, dev, update, initramfs, etc, quot, bind, mnt, bin, bash, z, echo, usage, dir, fi, destination, mountit, pts, unmount, paths, mounted, umount,

Latest Articles

  • How To Change Storage Location in Docker.io
  • RTL8812BU and RTL8822BU Linux Driver Ubuntu Setup Archer T3U Plus
  • Kazam video blank/high size and not working when recording solution
  • Cisco UC CME How To Enable Licensed Features
  • from pip._internal.cli.main import main File "/usr/local/lib/python3.5/dist-packages/pip/_internal/cli/main.py", line 60 sys.stderr.write(f"ERROR: {exc}") from pip._internal.cli.main import main File "/usr/local/lib/python3.5/dist-packag
  • ModuleNotFoundError: No module named 'pip._internal' solution python
  • grub blank screen how to manually boot kernel and initrd Linux Ubuntu Debian Centos won't boot solution
  • Cisco Switch / Router How To Restore Factory Default Settings
  • Cisco 2900 3900 Router Password Reset How To Reset Enable Password
  • How To Install convert MBR Legacy booting GRUB to EFI from a non-EFI Linux Environment Ubuntu Mint Debian
  • Translating "cisco" ...domain server (255.255.255.255) Cisco Router/Switch Solution
  • Error opening tftp://10.0.2.2/network-confg (Permission denied) - How To Fix Cisco Router Switch Error Solution Console
  • GRUB error: invalid arch-independent ELF magic. Solution How To Fix Linux Centos Ubuntu Mint
  • How to find out which package a file belongs to in Debian Mint Ubuntu Linux
  • Centos 7 not mounting /etc/fstab partitions
  • CentOS 7 / 8 cannot boot with with mdadm RAID array solution
  • How To Add Default Gateway in Linux using the ip route command routing
  • Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist Solution for Centos8 yum package install error
  • md mdadm array inactive how to start and activate the RAID array
  • Loaded: masked (Reason: Unit hostapd.service is masked.) Solution in Linux Debian Mint Ubuntu