Building NQC from Upstream Source
In NQC, the /usr/src directory contains the source code for the base system, including the kernel, userland utilities, and libraries. Users can modify or build this source code to create their own custom version of the operating system, including custom kernel configurations and userland packages. This directory is essential for developers and system administrators who need to customize the operating system to meet their specific requirements.
Cloning from GitHub
Enter into the /usr/src directory and clone the NQC source tree:
cd /usr/src \git clone https://github.com/Nevuqe/nqc .
Building the Kernel
Building a new kernel in NQC involves compiling the kernel source code to create a custom kernel. The kernel is the core component of the operating system that controls system resources and manages the interactions between hardware and software. Building a new kernel allows for customization of the operating system to better suit specific hardware configurations or system requirements. Once the new kernel is built, it can be installed and loaded at boot time.
1. We'll run a command that cleans up the builddir, this is recommended for everytime your build NQC from source since it reduces the likelyhood of any errors occuring during the building and installation process.
1.1 If you want to speed this process up, where X is, specify the maximum number of jobs that can running at any one time. The more jobs running, the faster the process.
2. Once the directory and system has been cleaned, it's time to build the kernel:
Again, where X is, specify the maximum number of jobs that can running at any one time. The more jobs running, the faster the process.
2.1 There are different kernel profiles for different use cases, if you want to change these then see the list below.
- GENERIC: The default kernel build on all NQC systems
- GENERIC-NODEBUG: When pulling from our repository, debugging flags are turned on which may in turn slow down systems. This is the
GENERIC
kernel with those flags disabled. - GENERIC-KASAN: The
GENERIC
kernel with KASAN enabled. - GENERIC-KCSAN: The
GENERIC
kernel with KCSAN enabled. - GENERIC-KMSAN: The
GENERIC
kernel with KASAN enabled. - GENERIC-MMCCAM: The
GENERIC
kernel with KASAN enabled. - MINIMAL: The
GENERIC
kernel but very minimal, disables the majority of kernel modules that may not be needed on minimal systems (not recommended).
3. Once the kernel has been built, we can install our newly built kernel.
Building the World
1. After our kernel has been installed, it's time to build the world.
2. Once you've built the world, it's time to install our newly built world.
3. Finally, run these commands to delete old files and libraries that aren't in use anymore.
Building the Kernel
Building a new kernel in NQC involves compiling the kernel source code to create a custom kernel. The kernel is the core component of the operating system that controls system resources and manages the interactions between hardware and software. Building a new kernel allows for customization of the operating system to better suit specific hardware configurations or system requirements. Once the new kernel is built, it can be installed and loaded at boot time.
1. We'll run a command that cleans up the builddir, this is recommended for everytime your build NQC from source since it reduces the likelyhood of any errors occuring during the building and installation process.
1.1 If you want to speed this process up, where X is, specify the maximum number of jobs that can running at any one time. The more jobs running, the faster the process.
2. Once the directory and system has been cleaned, it's time to build the kernel:
Again, where X is, specify the maximum number of jobs that can running at any one time. The more jobs running, the faster the process.
2.1 There are different kernel profiles for different use cases, if you want to change these then see the list below.
- GENERIC: The default kernel build on all NQC systems
- GENERIC-NODEBUG: When pulling from our repository, debugging flags are turned on which may in turn slow down systems. This is the
GENERIC
kernel with those flags disabled. - GENERIC-KASAN: The
GENERIC
kernel with KASAN enabled. - GENERIC-KCSAN: The
GENERIC
kernel with KCSAN enabled. - GENERIC-KMSAN: The
GENERIC
kernel with KASAN enabled. - GENERIC-MMCCAM: The
GENERIC
kernel with KASAN enabled. - MINIMAL: The
GENERIC
kernel but very minimal, disables the majority of kernel modules that may not be needed on minimal systems (not recommended).
3. Once the kernel has been built, we can install our newly built kernel.
Building the World
1. After our kernel has been installed, it's time to build the world.
2. Once you've built the world, it's time to install our newly built world.
3. Finally, run these commands to delete old files and libraries that aren't in use anymore.