diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml index e3a06df4e..78a9c0561 100644 --- a/chapter02/hostreqs.xml +++ b/chapter02/hostreqs.xml @@ -105,6 +105,12 @@ compiling the kernel and configuring the boot loader (assuming the host uses GRUB) are located in . + We require the host kernel to support UNIX 98 pseudo terminal + (PTY). It should be enabled on all desktop or server distros shipping + Linux &min-kernel; or a newer kernel. If you are building a custom + host kernel, ensure is set to + y in the kernel configuration. + @@ -230,6 +236,10 @@ ver_check Texinfo texi2any 4.7 ver_check Xz xz 5.0.0 ver_kernel &min-kernel; +if mount | grep -q 'devpts on /dev/pts' && [ -e /dev/ptmx ] +then echo "OK: Linux Kernel supports UNIX 98 PTY"; +else echo "ERROR: Linux Kernel does NOT support UNIX 98 PTY"; fi + alias_check() { if $1 --version 2>&1 | grep -qi $2 then printf "OK: %-4s is $2\n" "$1"; diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml index 5722780fe..3e29a5153 100644 --- a/chapter08/binutils.xml +++ b/chapter08/binutils.xml @@ -41,29 +41,6 @@ Installation of Binutils - Verify that the PTYs are working properly inside the chroot - environment by performing a simple test: - -expect -c "spawn ls" - - This command should output the following: - -spawn ls - - If, instead, the output includes the message below, then the environment - is not set up for proper PTY operation. This issue needs to be resolved before - running the test suites for Binutils and GCC: - -The system has no more ptys. -Ask your system administrator to create more. - The Binutils documentation recommends building Binutils in a dedicated build directory: diff --git a/chapter08/expect.xml b/chapter08/expect.xml index 9068259be..39b6517a3 100644 --- a/chapter08/expect.xml +++ b/chapter08/expect.xml @@ -88,10 +88,27 @@ make + + The test suite for Expect is considered critical. + Do not skip it under any circumstances. + + To test the results, issue: make test + If any test fails with the message + The system has no more ptys. Ask your system + administrator to create more, it indicates + you've not mounted the + devpts file system + correctly. You need to exit from the chroot environment, read + again, and ensure the + devpts file system (and + other virtual kernel file systems) mounted correctly. Then reenter + the chroot environment following . + This issue needs to be resolved before continuing. + Install the package: make install diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index 27bd6e2f9..1cc02a139 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -111,6 +111,7 @@ General setup ---> [ ] Compile the kernel with warnings as errors [CONFIG_WERROR] < > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS] + [ ] Configure standard kernel features (expert users) [CONFIG_EXPERT] General architecture-dependent options ---> [*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR] [*] Strong Stack Protector [CONFIG_STACKPROTECTOR_STRONG] @@ -140,8 +141,7 @@ General setup ---> [*] Control Group support [CONFIG_CGROUPS] ---> [*] Memory controller [CONFIG_MEMCG] [ ] Enable deprecated sysfs features to support old userspace tools [CONFIG_SYSFS_DEPRECATED] - [*] Configure standard kernel features (expert users) [CONFIG_EXPERT] ---> - [*] open by fhandle syscalls [CONFIG_FHANDLE] + [ ] Configure standard kernel features (expert users) [CONFIG_EXPERT] General architecture-dependent options ---> [*] Enable seccomp to safely compute untrusted bytecode [CONFIG_SECCOMP] [*] Stack Protector buffer overflow detection [CONFIG_STACKPROTECTOR] @@ -226,6 +226,19 @@ File systems ---> + + + + Configure standard kernel features (expert users) + + + + This will make some options show up in the configuration + interface but changing those options may be dangerous. Do not use + this unless you know what you are doing. + + + Strong Stack Protector