Skip to content

quintenvandamme/buildroot

 
 

Repository files navigation

WebsiteDiscordReleasesDonateDocumentation

Buildroot

  • Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation
  • This tool compiles dahliaOS Linux-based builds

This project is a fork from AdvancedClimateSystems/docker-buildroot.

install docker

  • We use docker so that we don't have to install all sorts of packages. Everything is already included in this docker image.

  • You can find the how to install docker here

Usage

First we have to build the docker image.

sudo docker build -t "dahlia/buildroot:latest" .

Now we need to setup buildroot's volumes.

$ docker run -i --name buildroot_output dahlia/buildroot /bin/echo "Data only."

This container has 2 volumes at /root/buildroot/dl and /buildroot_output. Buildroot downloads all data to the first volume, the last volume is used as build cache, cross compiler and build results.

After that we can use buildroot like this:

  • sudo ./build make menuconfig to configure the build settings
  • sudo ./build make linux-menuconfig to configure the Linux kernel
  • sudo ./build make to compile the image, which can be found on the host machine in /images

Build and reload

To compile and run the base dahliaOS toolchain, use:

  • sudo ./build make&&qemu-system-x86_64 --enable-kvm -m 4096 -cdrom images/rootfs.iso9660&&cp images/rootfs.iso9660 images/rootfs.iso

Requirements

It is recommended to have at minumum an Ethernet connection (directly to router), a dual-core x86 CPU and at least 4GB of RAM when compiling.

I personally recommend a 4C/8T or better CPU with 16GB of RAM for optimal speeds.

You will also need a decent amount of hard drive space, I recommend around 50GB if you clear out the build directory often.

It takes around 6 hours to build a full image from scratch on a Dell Optiplex 790 with a 3GHZ i5-2400 and 16GB of RAM.

I am sure a Threadripper or a newer Xeon CPU could easily handle compiling.

Warning:

  • If you are using a laptop, make sure that you are aware of its temperature, some laptops easily heat up to 93-100c when compiling.

todo

Contribute

If you're wondering how to contribute to the project, please refer to CONTRIBUTING.md

License

Copyright @ 2019-2023 - The dahliaOS Authors - contact@dahliaos.io

Copyright @ 2017 - Auke Willem Oosterhoff and Advanced Climate Systems.

This project is licensed under the Mozilla Public License

About

Configure and build dahliaOS Linux-based builds on docker

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Perl 39.3%
  • Shell 38.7%
  • Makefile 14.5%
  • Dockerfile 7.5%