mirror of
https://git.busybox.net/busybox
synced 2026-01-31 16:43:21 +00:00
>I'm sure that no user process use old root now, but when run "umount >/old_root", it says: > umount: /old_root: Device or resource busy > >I have tried to remount /proc within the new root *after* chroot, but >get the same result. > > I found the problem, I said that no user process use old root when run my scripts, but I'm wrong, actually there is a '3' fd open the file "/old_root/dev/console". By adding debug message in init/init.c, I found the problem: when init restart(in exec_signal()), before open the new terminal device, there is still a file opened(I don't know which file it is), so the terminal device(stdin) get fd '1', and the first dup(0)(stdout) return '2', the second(stderr) return '3'. I attach a simple patch to solve this problem. |
||
|---|---|---|
| .. | ||
| Config.in | ||
| halt.c | ||
| init.c | ||
| init_shared.c | ||
| init_shared.h | ||
| Makefile | ||
| Makefile.in | ||
| mesg.c | ||
| minit.c | ||
| msvc.c | ||
| pidfilehack.c | ||
| poweroff.c | ||
| reboot.c | ||