This is an old revision of the document!
Table of Contents
Chroot From Installation Media
Slackware is full of tools that can help when the system becomes unstable and cannot boot. One example, is upgrading the kernel image and forgetting to run lilo afterwards.
In order to gain access to your system without booting directly to it, it is possible to use an installation media such as CD1 or the DVD. Once the installation media loads and starts, you can change the media's root directory into a mounted hard-disk partition and use it as the root directory, thus running commands directly from it and affecting it.
Volume preperation
In the simplest of examples, a single hard disk was partitioned locally, normally and it is not encrypted in any way. In this case, all you need to do is to make sure what is the partition's 'name' is and continue to the mounting section.
If this is not the case, and you are using LVM/EVMS or an encrypted volume you will need to prepare the volumes before you can mount and chroot into them:
To unlock your LUKS partition, you will need to 'open' it and give it a name with this command (sdxn as example): cryptsetup luksOpen /dev/sdxn crypted
(any name will do). At this point you will be prompted to insert the pass-phrase to unlock the volume. This partition will be mapped to '/dev/mapper/crypted'.
For LVM volumes you need to make sure that the system can recognize and activate the volume. This is done by running the commands:
vgscan –mknodes
: searches for logical volumes, this might take a whilevgchange -ay
: activates the found volumes
- If more than one group was found, you can select which one to activate with
vgchange -ay groupName
Volume mounting
After the preparation stage we can continue to mount the volume(s). You can use /mnt
as it is only needed if you are planning to run the setup program.
After we make sure which partitions are needed, we need to mount them:
mount /dev/<location> /mnt
Next, we need to prepare three virtual directories to be used by the environment. Those are /dev
a directory with virtual files that represent hardware devices, /proc
a directory with virtual files that represent processes and /sys
which contains the kernel and other system files:
mount -o bind /dev /mnt/dev mount -o bind /proc /mnt/proc mount -o bind /sys /mnt/sys
Chrooting
Once the partition is mounted, we can chroot to it:
chroot /mnt /bin/bash
vgscan –mknodes
and vgchange -ay
as they were created inside the installation media's ramdisc and not in the mounted partition.
The bash prompt that you see here is a bash prompt started on your system. You can now work on this environment naturally. For example editing /etc/lilo.conf
and executing /sbin/lilo
will happen on your system, not from the installation media.