Installation of Coreutils Normally the functionality of uname is somewhat broken, in that the -p switch always returns "unknown". The following patch fixes this behaviour for Intel architectures: patch -Np1 -i ../coreutils-&coreutils-uname-patch-version;.patch We do not want Coreutils to install its version of the hostname program, because it is inferior to the version provided by Net-tools. Prevent its installation by applying a patch: patch -Np1 -i ../coreutils-&coreutils-hostname-patch-version;.patch Now prepare Coreutils for compilation: ./configure --prefix=/usr Compile the package: make This package has a test suite available which can perform a number of checks to ensure it built correctly. Should you choose to run it, the following commands will do so: make check-root make RUN_EXPENSIVE_TESTS=yes check Install the package: make install And move some programs to their proper locations: mv /usr/bin/{basename,cat,chgrp,chmod,chown,cp,dd,df} /bin mv /usr/bin/{dir,dircolors,du,date,echo,false,head} /bin mv /usr/bin/{install,ln,ls,mkdir,mkfifo,mknod,mv,pwd} /bin mv /usr/bin/{rm,rmdir,shred,sync,sleep,stty,su,test} /bin mv /usr/bin/{touch,true,uname,vdir} /bin mv /usr/bin/chroot /usr/sbin Finally, create a few necessary symlinks: ln -s test /bin/[ ln -s ../../bin/install /usr/bin