Website • Discord • Releases • Donate • Documentation
- 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.
-
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
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 settingssudo ./build make linux-menuconfig
to configure the Linux kernelsudo ./build make
to compile the image, which can be found on the host machine in/images
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
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.
- 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.
- Add surface touchscreen patches to kernel via buildroot https://github.com/linux-surface/linux-surface
- Add nvidia driver in buildroot config
If you're wondering how to contribute to the project, please refer to CONTRIBUTING.md
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