chrootする際には/procと/devだけでなく/sysもmountしよう
既にクリスマスになってますが、これはGentoo Advent Calendarの4日目です。ひでぇな俺。
Gentooのインストール中にchrootして実環境を構築するフェーズで、/devと/procをマウントする手順がHandbookで紹介されています。
mount -o bind /dev /mnt/gentoo/dev mount -t proc none /mnt/gentoo/proc chroot /mnt/gentoo /bin/bash
そういう場合は/sysもマウントしてやるといいと思います。
mount -o bind /dev /mnt/gentoo/dev mount -t proc none /mnt/gentoo/proc mount -o bind /sys /mnt/gentoo/sys chroot /mnt/gentoo /bin/bash
さらにいえば、bindだけだと/dev/や/sys/配下にサブマウントされたファイルシステムはマウントされないので、--rbindでマウントしましょう。
mount --rbind /dev /mnt/gentoo/dev mount -t proc none /mnt/gentoo/proc mount --rbind /sys /mnt/gentoo/sys chroot /mnt/gentoo /bin/bash
ただし、--rbindでマウントした場合は素直にumountできません。
# umount /mnt/gentoo/dev umount: /mnt/gentoo/dev: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
その場合は-lオプションでlazy unmountを使うとアンマウントできます。
# umount -l /mnt/gentoo/dev # umount /mnt/gentoo/proc # umount -l /mnt/gentoo/sys