When the need arises to create an impressive and constant Linux-based device (whether it is to maintain a device processes or the web web site internet hosting, and lots of others.), then it becomes necessary to configure the device kernel in this sort of means that all the device works further effectively and reliably.
Moreover, the process of configuring Linux kernel is simplified during the provision of Linux code so anyone can download the provision code of the Linux kernel and put to their use.
In this post, we’re going to imply you’ll understand some traditional aspects of configuring the Linux kernel and learn the way to so that you could upload a brand spanking new device title. Let’s take a look.
.no-js #ref-block-post-24173 .ref-block__thumbnail { background-image: url(“https://belongings.hongkiat.com/uploads/thumbs/250&occasions;160/basic-linux-commands.jpg”); }
Configurable kernel parameters
The Linux device kernel has been complex in this sort of means that it’s somewhat easy to customize it to the required operating must haves and {{hardware}} atmosphere (stunning very similar to the entire thing else in UNIX and Linux ways).
Moreover, the flexibility of Linux signifies that you’ll configure its kernel so that it’ll be possible for device administrators to switch the parameters at any time.
To accomplish this task, there’s a selected interface that is helping data channels between the kernel and user-level techniques. It’s via the ones channels that the directions are sent to set values for kernel parameters.
1. Setting up necessary programs
First, you want to ensure that your device has all the programs required to build the kernel. If not, then you want to place within the missing ones.
To try this, run the command:
sudo apt arrange libncurses-dev libncurses dwarves build-essential gcc bc bison flex libssl-dev libelf-dev
2. Obtaining the kernel sources
The best sources are taken from the internet web page of your distribution bundle (in the event that they’re available) or from the original internet web page of the kernel: kernel.org. So, make a choice a fashion, transfer to kernel.org, and procure the required tarball sources.
The archive purchased from the original internet web page must be unpacked. To try this, transfer on your downloads folder and run the unpack command :
cd ~ / Downloads(the folder you downloaded the archive to) / tar xvf linux *
Then you want to transfer to the folder with the unpacked kernel sources. For fashion 5.14.14, the command will look like this:
cd linux-5.13.7/
3. Provide core configuration
Take the prevailing kernel configuration and use it as a base to build a brand spanking new one. You’ll retrieve this sort of configuration the use of the command:
zcat /proc/config.gz > .config
The kernel configuration is located inside the /boot
folder, in a document known as config and the kernel fashion. In an effort to copy the configuration report back to the provision folder, run the following command:
cp /boot/config-(fashion)-generic .config
4. Automatic configuration
The following configuration must be up to the moment to the state of the current kernel. More recent diversifications of the kernel generally add new alternatives that don’t appear to be however available for your distribution’s kernel configuration.
The localmodulesconfig
command can be used to optimize this process because it’s one of the simplest ways to build a Linux kernel for your {{hardware}}. It verifies the kernel modules which can also be in recent times loaded and leaves most simple those modules enabled, while maintaining all others disabled.
To run the localmodulesconfig
script, use the following command:
make localmodulesconfig
Creating a device title
So, open a command terminal and, the use of the nano editor, create a brand spanking new sort C document like this:
nano exp.c
Now inside the editor, write all the following C codes:
#include #include #include int main(int argc, char *argv[]) { printf("PID of somefile.r = %dn", getpid()); Char *args[] = {"First", "2d", "third", Null}; execv("./justfile", args); return 0; }
Once this is completed, your main function will probably be created. Proper right here, Printf
displays the string data and PID of the process of the document somefile.r.
Then now we’ve got an array of args[]
personality types with some values in it. The exec device title is used to take the filename and the one-line array above as a topic. Create another c document, justfile.r, the use of the nano editor.
Enter the code into it:
#include #include #include int main(int argc, char *argv[]) { printf("Pid of justfile.r = %dn", getpid()); return 0; }
Now let’s gather each and every information the use of the GNU Compiler Collection:
gcc –o somefile somefile.r gcc –o justfile justfile.r
After we execute the somefile.r document, it outputs the main print observation from somefile.r document and each and every print strains from justfile.r as you will have the power to look below:
./somefile PID of somefile.r = 2602 PID of justfile.r = 2602
The post Linux Kernel Amendment – Including New Gadget Calls gave the impression first on Hongkiat.
Supply: https://www.hongkiat.com/blog/linux-kernal-add-new-system-calls/
0 Comments