2017-01-04 21:40:01 +00:00
|
|
|
= Hello World =
|
|
|
|
=== Eudyptula Challenge: Task 1 ===
|
|
|
|
|
|
|
|
== Task Description ==
|
|
|
|
|
|
|
|
{{{
|
|
|
|
This is Task 01 of the Eudyptula Challenge
|
|
|
|
------------------------------------------
|
|
|
|
|
|
|
|
Write a Linux kernel module, and stand-alone Makefile, that when loaded
|
|
|
|
prints to the kernel debug log level, "Hello World!" Be sure to make
|
|
|
|
the module able to be unloaded as well.
|
|
|
|
|
|
|
|
The Makefile should be able to build the kernel module against the
|
|
|
|
source of the currently-running kernel as well as being able to accept
|
|
|
|
an arbitrary kernel sources directory from an environment variable.
|
|
|
|
|
|
|
|
Please show proof of this module being built, and running, in your
|
|
|
|
kernel. What this proof is is up to you. I'm sure you can come up with
|
|
|
|
something. Also be sure to send the kernel module you wrote, along with
|
|
|
|
the Makefile you created to build the module.
|
|
|
|
}}}
|
|
|
|
|
|
|
|
== Breakdown ==
|
|
|
|
* [X] Create Module that prints `Hello World!` to the kernel debug log level
|
|
|
|
* [X] Create Makefile to build your module
|
|
|
|
* [ ] Provide proof of this module being built and running in your kernel
|
|
|
|
|
|
|
|
== Notes ==
|
|
|
|
|
2017-01-17 23:29:12 +00:00
|
|
|
* `#include <linux/module.h>` Needed by all modules
|
|
|
|
* `#include <linux/kernel.h>` Needed for KERN_INFO
|
|
|
|
* `#include <linux/init.h>` Macros used to mark up functions e.g., __init __exit
|
|
|
|
*
|