diff --git a/configs/sim/include/README.txt b/configs/sim/include/README.txt index ff49621e16..dac6bedbcf 100644 --- a/configs/sim/include/README.txt +++ b/configs/sim/include/README.txt @@ -1,6 +1,8 @@ README ====== + Overview + -------- This directory contains logic to support a custom ROMFS start-up script. This startup script is used by by the NSH when it starts provided that CONFIG_NSH_ARCHROMFS=y. The script provides a ROMFS volue that will be @@ -29,7 +31,9 @@ README the key or the password word will require regeneration of the nsh_romfimg.h header file. - The content on the nsh_romfsimg.h header file as generated from a sample + Updating the ROMFS File System + ------------------------------ + The content on the nsh_romfsimg.h header file is generated from a sample directory structure. That directory structure is contained in the binary file etc.tar.gz and can be modified per the following steps: @@ -57,3 +61,49 @@ README See the sim/nsh configuration for an example of the use of this file system. + + Replacing the Password File + --------------------------- + The sim/nsh configuration can also be used to create a new password file. + First, make these configuration changes: + + 1. Disable logins + + - CONFIG_NSH_CONSOLE_LOGIN=y + + # CONFIG_NSH_CONSOLE_LOGIN is not set + # CONFIG_NSH_TELNET_LOGIN is not set + + 2. Move the password file to a write-able file system: + + - CONFIG_FSUTILS_PASSWD_PATH="/etc/passwd" + + CONFIG_FSUTILS_PASSWD_PATH="/tmp/passwd" + + 3. make the password file modifiable + + - CONFIG_FSUTILS_PASSWD_READONLY=y + # CONFIG_FSUTILS_PASSWD_READONLY is not set + + Now rebuild the simulation. No login should be required to enter the + shell and you should find the 'useradd', 'userdel', and 'passwd' commands + available in the help summary. + + Use the NSH 'useradd' command to add new uses with new user passwords like: + + nsh> useradd + + Do this as many times as you would like. Each time that you do this a new + entry with an encrypted password will be added to the passwd file at + /tmp/passwd. You can see the passwd file like: + + nsh> cat /tmp/passwd + + When you are finished, you can simply copy the /tmp/passwd content from the + 'cat' command and paste it into an editor. Make sure to remove any + carriage returns that may have ended up on the file if you are using + Windows. + + Then recreate the nsh_romfsimg.h file as described above. In step 2, + simply replace the old /etc/passwd file with the one in your editor. + When you are finished, the new passwd file will be in the ROMFS file + system at the path /etc/passwd. When you restore the original NSH + sim configuration, these are the passwords that will be used.