Hi Paul,
First change: staging rather than master.
this is not recommended. We often change the commits that are on staging but not yet merged into master. Hence, using staging will be pretty messy on your side. If you like to use a particular commit that is only available on staging, better create a new branch of master and cherry-pick the single commit:
git checkout -b <name-of-your-branch> genodelabs/master git cherry-pick <commit-id>
Second change: try make run/noux_bash
Third change: ./tool/create_builddir linux_x86 BUILD_DIR="./build.lx" rather than the usual: ./tool/create_builddir linux_x86 BUILD_DIR="build.lx"
Both variants should work. I just tried them - they produce exactly the same build directory.
About third change, result in make run/noux_bash to: Program core/core make[1]: Leaving directory `/home/paul/build.lx' genode build completed
I think you missed some steps that are needed prior running the run/noux_bash.run script.
First, can you check that you enabled the 'libports', 'ports', and 'gems' repositories in your '<build-dir>/etc/build.conf' file?
You will also need to download several 3rd-party source codes in 'libports' and 'ports' respectively. I guess that the build system has printed a couple of messages like the following, has it?
Skip target noux-pkg/bash because it requires prepare_bash Skip target noux-pkg/coreutils because it requires prepare_coreutils Skip target noux-pkg/vim because it requires prepare_vim
These messages indicate that the said 3rd-party codes are not available. To rectify the problem, please issue the following commands:
cd <genode-dir>/ports make prepare PKG='bash coreutils vim'
You will also need to download some code in libports, i.e., the libc and ncurses:
cd <genode-dir>/libports make prepare PKG='libc ncurses'
find: `bin/coreutils/': No such file or directory
That is because of the missing 'make prepare' steps mentioned above.
couldn't open "bin/vim/share/vim/vimrc": no such file or directory
When built successfully, the so-called noux packages (such as coreutils, bash, and vim) will end up being installed at '<build-dir>/bin/<noux-package-name>'. Because the build system skipped those packages in your case, these directories do not exist. However, the run script expects them to be present after having completed the build step. When it tries to generate a vimrc file at the '<build-dir>/bin/vim/share/vim/vimrc', it fails because the surrounding directory does not exist.
Maybe it would be a good idea to let the run script detect this condition and print a more meaningful error message?
I need my own vim configuration file?
The run script generates a vim configuration file for you.
I am not too used to vim... I prefer nano.
The 'noux_bash.run' script generates a system that consists only of coreutils, bash, and vim. It is just an example and is meant as a starting point for creating customized systems. For example, the noux_tool_chain* scripts describe much more sophisticated system scenarios including gcc and binutils.
There is currently no noux package for nano. So you would need to port nano first before being able to integrate it. If you like to give it a try, look for the way how a simple noux package such as GNU make is integrated in the 'ports' repository. Depending on the package, the porting work may involve slight refinements of the libc or noux, or will even require you to port additional libraries first. Of course, you will also need to modify the run script accordingly. You are welcome to give it a shot.
Or alternatively, how about taking the lack of nano as a wonderful opportunity to learn (and learn loving) vim, hehe... :-)
Cheers Norman