Ihr Ingenieurbüro für

Elektronik- und Softwareentwicklung

Linux Kernel configuration tool Kconfig under Windows

Veröffentlicht:   |   Weitere Einträge über linux kernel windows nuttx

Recently we started using the Linux Kernel configuration tools for some of our more extensive software projects. Also the NuttX project makes use of these tools and is still missing a port for a more complete native windows support. Theses tools basically provide a sophisticated DSL for describing configuration options plus several different frontends for selecting / and editing software configurations.

Installing Dependencies

The NuttX README suggests some tools to be used for the Native Windows Build so we'll use that for our setup too.

  • GnuWin32 provides standard UNIX tools ported to Windows
  • MinGW as host compiler
  • Git GitHub's Windows Git shell
  • CMake to generate Makefiles


Download the current GnuWin32 installer from sourceforge: GetGnuWin32-x.x.x.exe

The installer will only install a download utility which in turn will download and install the actual packages. After installing the installer navigate to the installation directory and execute the download.bat script. This script will download all packages. To install them run the install.bat script. We will install to c:\gnuwin32.

Add c:\gnuwin32\bin to the %Path% environment variable.
Add c:\gnuwin32\include to the %INCLUDE% environment variable.
Add c:\gnuwin32\lib to the %LIB% environemnt variable.


Download the current MinGW installer from sourceforge: mingw-get-setup.exe

The installer will install and launch the MinGW Installation Magager. Now you can select the packages you like to install.

Don't select any MSYS packages because it may conflict with the GnuWin32 tools.

Select the following packages for installation:

  • mingw32-base
  • mingw32-gcc-g++

Install the selected packages from the Installation => Apply Changes Menu.

Add c:\MinGW\bin to the Path environment variable.


Download the current GitHub Gitshell installer from GitHub: GitHubSetup.exe

This package contains a Git bash for easy Git usage under windows. We will use it to obtain the NuttX source code from the repository.


Download the current CMake installer: cmake-x.x.x.x-win32-x86.exe

CMake is a software to generate Makefiles and other build environments from a simple DSL. We will use CMake to avoid messing around with autotools on windows.

The Port

The port was actually pretty easy. What has been done?

  • Added CMake files
  • Added PDCurses to the package. Some minor changes have been applied to the code so it couldn't be linked to the standard code base. Essentially it now returns Curses' KEY_BACKSPACE instead of some windows specific constant. Now the text input dialogs work properly.
  • Removed check for escape sequences on ESC key (Seems to be handled differently in PDCurses)
  • Using the correct signatures for file handling procedures like mkdir
  • Don't use uname on Windows

Building mconf

Building the tools should now work:

git clone http://github.com/uvc-ingenieure/kconfig-frontends
cd kconfig-frontends
mkdir build
cd build
cmake -G "MinGW Makefiles" ..

cp ./bin/kconfig-mconf.exe c:/GnuWin32/bin/
Nuttx RTOS configuration via linux mconf tool
Comments powered by Disqus