Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 49981
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T16:31:18+00:00 2026-05-10T16:31:18+00:00

I was always attracted to the world of kernel hacking and embedded systems. Has

  • 0

I was always attracted to the world of kernel hacking and embedded systems.
Has anyone got good tutorials (+easily available hardware) on starting to mess with such stuff?
Something like kits for writing drivers etc, which come with good documentation and are affordable?

Thanks!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T16:31:19+00:00Added an answer on May 10, 2026 at 4:31 pm

    If you are completely new to kernel development, i would suggest not starting with hardware development and going to some ‘software-only’ kernel modules like proc file / sysfs or for more complex examples filesystem / network development , developing on a uml/vmware/virtualbox/… machine so crashing your machine won’t hurt so much 🙂 For embedded development you could go for a small ARM Development Kit or a small Via C3/C4 machine, or any old PC which you can burn with your homebrew USB / PCI / whatever device.

    A good place to start is probably Kernelnewbies.org – which has lots of links and useful information for kernel developers, and also features a list of easy to implement tasks to tackle for beginners.

    Some books to read:

    Understanding the Linux Kernel – a very good reference detailing the design of the kernel subsystems

    Linux Device Drivers – is written more like a tutorial with a lot of example code, focusing on getting you going and explaining key aspects of the linux kernel. It introduces the build process and the basics of kernel modules.

    Linux Kernel Module Programming Guide – Some more introductory material

    As suggested earlier, looking at the linux code is always a good idea, especially as Linux Kernel API’s tend to change quite often … LXR helps a lot with a very nice browsing interface – lxr.linux.no

    To understand the Kernel Build process, this link might be helpful:

    Linux Kernel Makefiles (kbuild)

    Last but not least, browse the Documentation directory of the Kernel Source distribution!

    Here are some interesting exercises insolently stolen from a kernel development class:

    • Write a kernel module which creates the file /proc/jiffies reporting the current time in jiffies on every read access.
    • Write a kernel module providing the proc file /proc/sleep. When an application writes a number of seconds as ASCII text into this file (‘echo 3 > /proc/sleep’), it should block for the specified amount of seconds. Write accesses should have no side effect on the contents of the file, i.e., on the read accesses, the file should appear to be empty (see LDD3, ch. 6/7)
    • Write a proc file where you can store some text temporarily (using echo ‘blah’ > /proc/pipe) and get it out again (cat /proc/pipe), clearing the file. Watch out for synchronisation issues.
    • Modify the pipe example module to register as a character device /dev/pipe, add dynamic memory allocation for write requests.
    • Write a really simple file system.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I always got an invalid file type error in uploading csv file in codeigniter.
As always being this problem comes from a book's exercises. Neither I am not
I always thought that the nullable types of the .NET framework where nothing but
I always see this in the source code of my Browser Safari, although it
I always make a class called Constants in Java to store constant values which
I always get responce NULL when call this method but in case if suppose
I always use ModelState.IsValid for check all of my model validation validated correctly in
I always choose to 'Clean' my project before archiving it in my XCode projects,
Why always get the wrong formatting although I've set it? I think the code
I always locate element by getElementId, and sent value by using document.getElementId(id).value = something.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.