diff options
author | P. J. McDermott <pjm@nac.net> | 2013-12-08 21:01:16 (EST) |
---|---|---|
committer | P. J. McDermott <pjm@nac.net> | 2013-12-08 21:01:16 (EST) |
commit | 618b2514852205b6a06b02cad9a796b1e8092f22 (patch) | |
tree | bb84640b3acadc64c585d63536152b4b85310a80 | |
parent | 981579d6e5adebca747a154eab46b1fac0a2b1c2 (diff) |
Mount the devpts file system.
The lack of a devpts file system was causing mysterious GNU Binutils
test suite failures, with these "spawn failed" errors in the test log:
Test Run By root on Sun Dec 8 20:36:45 2013
Native configuration is x86_64-unknown-linux-gnu
=== binutils tests ===
Schedule of variations:
unix
Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /usr/src/binutils_2.23.2-1/tmp/src/binutils/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /usr/src/binutils_2.23.2-1/tmp/src/binutils/testsuite/binutils-all/ar.exp ...
/usr/src/binutils_2.23.2-1/tmp/build-core-linux-eglibc/binutils/ar rc tmpdir/artest.a tmpdir/abcdefghijklmnopqrstuvwxyz1 tmpdir/abcdefghijklmnopqrstuvwxyz2
Executing on host: /usr/src/binutils_2.23.2-1/tmp/build-core-linux-eglibc/binutils/ar rc tmpdir/artest.a tmpdir/abcdefghijklmnopqrstuvwxyz1 tmpdir/abcdefghijklmnopqrstu
vwxyz2 (timeout = 300)
spawn /usr/src/binutils_2.23.2-1/tmp/build-core-linux-eglibc/binutils/ar rc tmpdir/artest.a tmpdir/abcdefghijklmnopqrstuvwxyz1 tmpdir/abcdefghijklmnopqrstuvwxyz2M
spawn failed
[...]
=== binutils Summary ===
# of unexpected failures 6
# of unresolved testcases 48
# of untested testcases 7
# of unsupported tests 4
runtest completed at Sun Dec 8 20:36:45 2013
After spelunking through Binutils and DejaGnu code (exploring the great
remote_exec and local_exec procedures of DejaGnu), I tried the
following, which resulted in much more helpful information:
$ expect
expect1.1> spawn echo hello
spawn echo hello
The system has no more ptys. Ask your system administrator to create more.
while executing
"spawn echo hello"
-rwxr-xr-x | bootstrap-stage1-install.sh | 3 | ||||
-rwxr-xr-x | bootstrap-stage2-install.sh | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/bootstrap-stage1-install.sh b/bootstrap-stage1-install.sh index eb9867c..7be7d8c 100755 --- a/bootstrap-stage1-install.sh +++ b/bootstrap-stage1-install.sh @@ -65,6 +65,7 @@ clean_root() case "${ARCH}" in *-linux-*) + sudo umount dev/pts || true sudo umount proc || true sudo umount sys || true sudo umount dev || true @@ -171,6 +172,8 @@ setup_root() sudo mount -t proc proc proc sudo mount -t sysfs sys sys sudo mount -o bind /dev dev + sudo mount -t devpts -o noexec,nosuid,gid=5,mode=0620 \ + devpts dev/pts ;; esac diff --git a/bootstrap-stage2-install.sh b/bootstrap-stage2-install.sh index 819996d..e288bf8 100755 --- a/bootstrap-stage2-install.sh +++ b/bootstrap-stage2-install.sh @@ -64,6 +64,7 @@ clean_root() case "${ARCH}" in *-linux-*) + sudo umount dev/pts || true sudo umount proc || true sudo umount sys || true sudo umount dev || true @@ -160,6 +161,8 @@ setup_root() sudo mount -t proc proc proc sudo mount -t sysfs sys sys sudo mount -o bind /dev dev + sudo mount -t devpts -o noexec,nosuid,gid=5,mode=0620 \ + devpts dev/pts ;; esac |