Node.js on Raspberry Pi with Buildroot

I successfully built an embedded Linux system for Raspberry Pi using Buildroot recently, and decided it was time to add some useful packages to it. The first that came to mind is Node.js. Having that on the Linux system will allow me to serve an HTML5 UI to any computer with a browser, on the same network.


make menuconfig 

in buildroot folder to obtain the configuration UI. Node.js requires IPv6 support so I enabled that in the Toolchain menu thus


Then I enabled Node.js and npm from the Target packages menu thus



I followed that up by issuing a full build thus

make clean

Buildroot stores all downloads in the dl folder, so it will only download whatever isn’t already there. It will build the host cross-compilation toolchain from scratch though, since that is available under output, and make clean removes everything there.

I’ve now got Node.js 0.10.12 working successfully on the Linux system.


9 thoughts on “Node.js on Raspberry Pi with Buildroot

  1. I successfully built the linux kernel using buildroot-2014-05, but now unable to execute “apt-get” command so is there any way to get it work out?

  2. My question is this, will it be possible for me to modify the config file, buildroot-2014.05/configs/raspberrypi_defconfig, so that I can add my own dependencies which I am intrested and if it’s possible then tell me the solution for the same, through which I can add the contents for modifying this file?

    1. You can invoke make menuconfig in buildroot folder to add additional dependencies. apt-get is not available from target. What is it you are trying to achieve? Adding packages to buildroot configuration should suffice for most embedded Linux scenarios. Maybe you’re looking for a full blown Linux system. If so, you are better off with something like Raspbian.

  3. Thank you so much for the reply,
    Yes I know I can select the required packages through make menuconfig, but I am new for the kernel compilation and all so, not that much friendly with the packages selection and all so unable to find out which packages will be for what, So if you have any links or something good material to study through which I can understand the process please revert me for that.
    Now regarding my previous question, No, not exactly I am looking for full blown Linux system but I want the basic packages to be get worked for my embedded Linux system so that my raspberry pi will work with the compressed customized kernel.
    As you said apt-get is not available from target then what should I do if I want to install some more packages for my future use and also want to use the buildroot project?
    Or will it be possible to achieve the same by some other way?
    If you have any idea then please revert me for the same.

    1. You probably should start by checking whether buildroot already provides the packages you need, and include them in the build. There is no single place describing all the packages and what they do. A good place to start getting acquainted with buildroot would be its manual at Look for section on Customization about customizing different aspects of the Linux system.

  4. Yes, for sure will go with this. I think I am looking for the packages which buildroot not providing so need to change the thinking process or need to find out some other solution.
    Anyways, thank you very much for the reply.

    1. I have not tried it myself, but it is fairly easy to add new packages. Look for section “Adding new packages to Buildroot” in the buildroot manual.

      1. Hey, That worked for, I searched on internet about Adding packages and I am able to add in my build, but now the issue is, some packages not working in the build as they have selected while the configuration selection.

  5. Thanks a lot, I will definitely go through with it. But, as you already replied that apt-get not available for buildroot then how can I achieve, if I want to install some packages? in this build? Is there any alternative for package manager i.e. I need to install packages offline. So will it be possible on linux platform?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s