chroot.sh 841 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/bin/sh
  2. set -e
  3. RELEASE=${RELEASE:-14.2}
  4. ARCH=${ARCH:-64}
  5. OS=${OS:-Slackware}
  6. BASEDIR=${BASEDIR:-/media/chroot}
  7. if [ "$ARCH" = "64" ]; then
  8. LIBDIRSUFFIX="64"
  9. else
  10. LIBDIRSUFFIX=""
  11. fi
  12. TARGETDIR="${TARGETDIR:-$BASEDIR/$OS${LIBDIRSUFFIX}-$RELEASE}"
  13. mount -vt proc proc $TARGETDIR/proc
  14. mount -vt sysfs sysfs $TARGETDIR/sys
  15. # Copy /etc/hosts
  16. /bin/cp -vf /etc/hosts $TARGETDIR/etc/
  17. # For internet access, copy /etc/resolv.conf
  18. /bin/cp -vf /etc/resolv.conf $TARGETDIR/etc/resolv.conf
  19. # Link /etc/mtab
  20. chroot $TARGETDIR rm /etc/mtab 2> /dev/null
  21. chroot $TARGETDIR ln -vs /proc/mounts /etc/mtab
  22. # Prevent D-Bus errors
  23. cp -v /var/lib/dbus/machine-id $TARGETDIR/var/lib/dbus/machine-id
  24. if [ "$ARCH" = "64" ]; then
  25. chroot $TARGETDIR /bin/sh -l
  26. else
  27. linux32 chroot $TARGETDIR /bin/sh -l
  28. fi
  29. umount -v $TARGETDIR/proc
  30. umount -v $TARGETDIR/sys