摘要: 一、U-boot第二阶段概述上面有两篇文关于u-boot第一阶段的介绍,这两篇文章是从网上找到的,由于分析的很详细,看完这后觉得对这两篇文章u-boot第一阶段的介绍已经比较完美了,所以分享出来。从这篇文章开始分析u-boot的第二阶段。如果你只把u-boot理解成引导kernel的一段代码的话,u-boot完全没有必要设计成现在这样的一种软件框架,直接写几个文件就能完成kernel的引导和启动。U-boot的功能很大一部还有起到调试的作用,也就是u-boot命令行的部分。所以它才有了现在这种相对比较复杂的框架。U-boot的第二阶段可以认为是初始化u-boot的软件框架,并实现引导kerne 阅读全文
posted @ 2013-08-26 17:18 总是TMD后知后觉 阅读(629) 评论(0) 推荐(0) 编辑
摘要: 一、实验目的学习重新编译Linux内核,理解、掌握Linux内核和发行版本的区别。二、实验内容在Linux操作系统环境下重新编译内核。实验主要内容:A. 查找并且下载一份内核源代码,本实验使用最新的Linux内核2.6.36。B. 配置内核。C. 编译内核和模块。D. 配置启动文件。本次实验环境是Linux2.6.35内核的环境下,下载并重新编译内核源代码(2.6.36);然后,配置GNU的启动引导工具grub,成功运行编译成功的内核。三、主要仪器设备(必填)Linux环境:utuntu10.10,linux内核2.6.35待编译内核:linux2.6.36四、操作方法和实验步骤【1】下载内核 阅读全文
posted @ 2013-08-26 15:31 总是TMD后知后觉 阅读(402) 评论(0) 推荐(0) 编辑
摘要: 2.6内核的编译及内核树的建立---fedora core 5 标签:linux内核1. 在旧的版本下(如linux 2.4)linux内核模块的编译只需要有内核的头文件就行了,就可以通过和编译其他程序一样的方法编译成filename.o文件,这个.o文件是直接 可以加载道内核中的,加载之后就可以用了。然而在2.6下就截然不同了,在linux 2.6下内核的编译要有系统内核树的支持,下面介绍一下这个“内核树”是如何建立的。2. 本文的工作环境是Fedora Core 5,用“uname -r”查看内核版本是:2.6.15-1.2054_FC5Fedora Core 5 与旧版本不同,不包含 k 阅读全文
posted @ 2013-08-26 14:31 总是TMD后知后觉 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 直接写Makefile 文件(假设要编译的文件为hello.c)1 ifneq ($(KERNElRELEASE),)2 obj-m := hello.o3 else4 obj-m := hello.o5 KERNELDIR ?= /lib/modules/$(shell uname -r)/build6 PWD := $(shell pwd)78 default:9 $(MAKE) -C $(KERNELDIR) M=$(PWD) modules10 endif第一个ifeq ($(KERNELRELEASE),)目前,并无用处,它的由来是指在Linux源码根目录下的Makefile编译内核 阅读全文
posted @ 2013-08-26 14:30 总是TMD后知后觉 阅读(1096) 评论(0) 推荐(0) 编辑
摘要: 如何编译linux驱动模块 首先,我们要了解一下模块是如何别被构造的。模块的构造过程与用户空间的应用程序的构造过程有显著不同;内核是一个大的、独立的程序,对于它的各个部分如何组合在一起有详细的明确的要求。Linux2.6内核的构造过程也与以前版本的内核构造过程不同;新的构造系统用起来更加简单,并且可产生更加正确的结果,但是它看起来和先前的方法有很大不同。 内核的构造系统非常复杂,我们所看到的只是它的一小部分。如果读者想了解更深入的细节,则应阅读在内核源码中的Document/kbuild目录下的文件。 在构造内核模块之前,有一些先决条件首先应该得到满足。首先,读者要保证你有适合于你的内核版.. 阅读全文
posted @ 2013-08-26 14:26 总是TMD后知后觉 阅读(379) 评论(0) 推荐(0) 编辑