Linux 2.6.39.1 Hello world 驱动总结

最近,用2.6.39.1重新编译了内核,重新跑了hello world驱动,建立好了驱动的开发环境,看了一些文档,但是还没有熟练的掌握驱动开发的技术,在这里记录一些心得,备忘。

以前在看ldd3的时候,觉得十分的茫然,连内核树是什么都不知道,然后在不知道的某一天,编译了一个内核,虽然建立起了一棵内核树,但是并没有用自己编译的内核来替换现有的内核,对于驱动的链接过程和源代码的目录结构也不熟悉,这里总结如下:

源代码目录:/usr/src/linux-2.6.39.1

clip_image001

内核的initrd目录:/boot/initrd-img-2.6.39.1

clip_image002

grub配置文件目录:/boot/grub/grub.cfg 自己编译内核后,运行sudo update-grub后,不能够正确的配置initrd

clip_image003

内核安装目录:

clip_image004

内核源代码中与Makefile和kbuild相关的文档:

clip_image005

clip_image006

Hello work 源代码:

clip_image007

一个Makefile例子

clip_image008

原文地址:https://www.cnblogs.com/justinzhang/p/2109594.html