linux内核编译和生成makefile文件实验报告

linux内核编译和生成makefile文件实验报告

ID:8804960

大小:988.00 KB

页数:8页

时间:2018-04-08

linux内核编译和生成makefile文件实验报告_第1页
linux内核编译和生成makefile文件实验报告_第2页
linux内核编译和生成makefile文件实验报告_第3页
linux内核编译和生成makefile文件实验报告_第4页
linux内核编译和生成makefile文件实验报告_第5页
资源描述:

《linux内核编译和生成makefile文件实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、操作系统实验报告姓名:学号:一、实验题目1.编译linux内核2.使用autoconf和automake工具为project工程自动生成Makefile,并测试3.在内核中添加一个模块二、实验目的1.了解一些命令提示符,也里了解一些linux系统的操作。2.练习使用autoconf和automake工具自动生成Makefile,使同学们了解Makefile的生成原理,熟悉linux编程开发环境三、实验要求1使用静态库编译链接swap.c,同时使用动态库编译链接myadd.c。可运行程序生成在src/main目录下。2要求独立完成,按时提交四、设计思路和流程图(如

2、:包括主要数据结构及其说明、测试数据的设计及测试结果分析)1.Makefile的流程图:2.内核的编译基本操作1.在ubuntu环境下获取内核源码2.解压内核源码用命令符:tarxvflinux-3.18.12.tar.xz3.配置内核特性:makeallnoconfig4.编译内核:make5.安装内核:makeinstall6.测试:cat/boot/grub/grub.conf7.重启系统:sudoreboot,看是否成功的安装上了内核8.详情及结构见附录3.生成makefile文件:1.用老师给的projec里的main.c函数。2.需要使用automa

3、ke和autoconf两个工具,所以用命令符:sudoapt-getinstallautoconf进行安装。3.进入主函数所在目录执行命令:autoscan,这时会在目录下生成两个文件 autoscan.log和configure.scan,将configure.Scan改名为configure.ac,同时用gedit打开,打开后文件修改后的如下:#-*-Autoconf-*-#Processthisfilewithautoconftoproduceaconfigurescript.AC_PREREQ([2.69])AC_INIT([FULL-PACKAGE-N

4、AME],[VERSION],[BUG-REPORT-ADDRESS])AC_CONFIG_SRCDIR([main.c])AC_CONFIG_HEADERS([config.h])AM_INIT_AUTOMAKE(main,1.0)#Checksforprograms.AC_PROG_CC#Checksforlibraries.#Checksforheaderfiles.#Checksfortypedefs,structures,andcompilercharacteristics.#Checksforlibraryfunctions.AC_OUTPUT(Ma

5、kefile)4.新建Makefile文件,如下:AUTOMAKE_OPTIONS=foreignbin_PROGRAMS=mainfirst_SOURCES=main.c5.运行命令aclocal命令成功之后,在目录下会产生aclocal.m4和autom4te.cache两个文件。6.运行命令autoheader命令成功之后,会在目录下产生config.h.in这个新文件。7.运行命令autoconf命令成功之后,会在目录下产生configure这个新文件。8.运行命令automake--add-missing输出结果为:Configure.ac:11:in

6、stalling./compile’Configure.ac:8:installing‘.install-sh’Configure.ac:8:installing‘./missing’Makefile.am:installing‘./decomp’9.命令成功之后,会在目录下产生depcomp,install-sh和missing这三个新文件和执行下一步的Makefile.in文件。10.运行命令./configure就可以自动生成Makefile。4.添加内核模块1.写一个c文件如下:#include#include

7、/init.h>MODULE_LICENSE("GPL");int__inithello_init(void){printk("Helloxuxuemei");printk("Helloxuxuemei");printk("Helloxuxuemei");return0;}void__exithello_exit(void){printk("Hellolinuxexit");printk("Byebyexuxuemei");}module_init(hello_init);module_exit(hello_exit);2输入 sudomak

8、e–C/lilb/mod

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。