Using /usr/bin after linking /usr/lib/ in ifs

My buildfile includes the required link
[type=link] /usr/lib/
But when I try to create /usr/bin, it won’t let me do it.
Actually, I just can’t use /usr at all.
How can I make the required link while keeping /usr available?

/# ls > test.file
/# cp test.file /usr/.
cp: Can't open destination file.  (/usr/.//test.file): No such file or directory
/# cd /usr/
/usr# mkdir bin
mkdir: bin: No such file or directory

The /usr directory you have created resides in the read-only partition mounted in RAM when the image is decompressed/copied during the loading process. As it is read only, you will not be able to perform any write operations there.

To get around this, I mount a secondary partition (on a CF card in this case) and load the contents of /usr/bin, /usr/sbin into it. Unfortunately, the (hard-coded?) link from procnto (I presume) to collect from /usr/lib means that the contents of /usr/lib must reside in the read-only partition. So the image I build contains: /usr/lib (+ contents) and links /usr/bin and /usr/sbin pointing to the secondary partition which I load during startup. This allows the image to be the smallest possible (minimising both storage and RAM footprint in booting) but still leaves you with much flexibility.

See for details of this process.