%general-entities; ]> Creating the passwd, group, and log Files /etc/passwd /etc/group /var/run/utmp /var/log/btmp /var/log/lastlog /var/log/wtmp Create the /etc/passwd file by running the following command: cat > /etc/passwd << "EOF" root:x:&uid-root;:&gid-root;:root:/root:/bin/bash messagebus:x:&uid-messagebus;:&gid-messagebus;:D-Bus Message Daemon User:/dev/null:/bin/false EOF The actual password for root (the x used 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:&gid-bin;: sys:x:&gid-sys;: kmem:x:&gid-kmem;: tty:x:&gid-tty;: tape:x:&gid-tape;: daemon:x:&gid-daemon;: floppy:x:&gid-floppy;: disk:x:&gid-disk;: lp:x:&gid-lp;: dialout:x:&gid-dialout;: audio:x:&gid-audio;: video:x:&gid-video;: utmp:x:&gid-utmp;: usb:x:&gid-usb;: cdrom:x:&gid-cdrom;: messagebus:x:&gid-messagebus;: EOF To remove the I have no name! prompt, start a new shell. Since a full Glibc was installed in and the /etc/passwd and /etc/group files have been created, user name and group name resolution will now work. exec /tools/bin/bash --login +h Note the use of the +h directive. This tells bash not to use its internal path hashing. Without this directive, bash would remember the paths to binaries it has executed. To ensure the use of the newly compiled binaries as soon as they are installed, the +h directive will be used for the duration of the nexts chapters. touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} chgrp -v utmp /var/run/utmp /var/log/lastlog chmod -v 664 /var/run/utmp /var/log/lastlog chmod -v 600 /var/log/btmp The /var/run/utmp file records the users that are currently logged in. The /var/log/wtmp file records all logins and logouts. The /var/log/lastlog file records when each user last logged in. The /var/log/btmp file records the bad login attempts.