Creating the passwd and group files

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