# How to resue your system when the kernel won't boot

## SUSE Broken? Don’t fear the chroot !

Posted by johnlange on September 22, 2009 06:45 pm under SUSE, Tech Tip

SUSE hasn’t let me down very often but recently I had a bad experience while applying some updates to an OpenSUSE laptop. There were quite a few updates so I undocked the laptop so I could relax while they downloaded.

For reasons that I have not yet resolved, the wirless networking became unstable and as a result, the updates had to be aborted.

Unfortunately, a new kernel was part of the updates and when the laptop rebooted it was in a bad state. X windows wouldn’t start and critically, there were no network drivers for the new kernel. To make matters worse, OpenSUSE does not keep the old kernels in /boot (why is that?) so there was nothing to fall back on.

With nothing left to do, it was time to try rescue mode and in a few short steps I had the system fully working again. Here is what I did:

- Step 1: boot to rescue mode (duh).

- Step 2: mount your hard disk partitions under /mnt in the same layout they would be normally. For example:

`# mount /dev/sda2 /mnt`  
`# mount /dev/sda1 /mnt/boot`  
`… etc.`

- Step 3: Next we need to make sure we have acess to all the important system resources.

`# mount --bind /proc /mnt/proc`  
`# mount --bind /sys /mnt/sys`  
`# mount --bind /dev /mnt/dev`

- Step 4: We’re ready to chroot into our new environment.

`# chroot /mnt`

- Step 5: We are now running on our system just as if we had booted to it and we can perform repairs. In my case all I needed to do was complete the updates:

`# zypper up`

I rebooted and everything was back to normal.