In order for root to be able to login and for the name "root" to be recognized, there need to be relevant entries in the /etc/passwd and /etc/group files.
Create the /etc/passwd file by running the following command:
cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash EOF |
The actual password for root (the "x" here is just a placeholder) will be set later.
Create the /etc/group file by running the following command:
cat > /etc/group << "EOF" root:x:0: bin:x:1: sys:x:2: kmem:x:3: tty:x:4: tape:x:5: daemon:x:6: floppy:x:7: disk:x:8: lp:x:9: dialout:x:10: audio:x:11: EOF |
The created groups aren't part of any standard -- they are the groups that the MAKEDEV script in the next section uses. Besides the group "root", the LSB (http://www.linuxbase.org) recommends only a group "bin", with a GID of 1, be present. All other group names and GIDs can be chosen freely by the user, as well-written packages don't depend on GID numbers but use the group's name.
Lastly, we re-login to the chroot environment. User name and group name resolution will start working immediately after the /etc/passwd and /etc/group files are created, because we installed a full Glibc in Chapter 5. This will get rid of the "I have no name!" prompt.
exec /tools/bin/bash --login +h |