- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux内核编译和生成makefile文件实验报告
操作系统实验报告
姓名: 学号:
一、实验题目
1.编译linux内核
2.使用autoconf和automake工具为project工程自动生成Makefile,并测试
3.在内核中添加一个模块
二、实验目的
1.了解一些命令提示符,也里了解一些linux系统的操作。
2.练习使用autoconf和automake工具自动生成Makefile,使同学们了解Makefile的生成原理,熟悉linux编程开发环境
三、实验要求
1使用静态库编译链接swap.c,同时使用动态库编译链接myadd.c。可运行程序生成在src/main目录下。
2要求独立完成,按时提交
四、设计思路和流程图(如:包括主要数据结构及其说明、测试数据的设计及测试结果分析)
1.Makefile的流程图:
2.内核的编译基本操作
1.在ubuntu环境下获取内核源码
2.解压内核源码用命令符:tar xvf linux-3.18.12.tar.xz
3.配置内核特性:make allnoconfig
4.编译内核:make
5.安装内核:make install
6.测试:cat/boot/grub/grub.conf
7.重启系统:sudo reboot,看是否成功的安装上了内核
8.详情及结构见附录
3.生成makefile文件:
1.用老师给的projec里的main.c函数。
2.需要使用automake和autoconf两个工具,所以用命令符:sudo apt-get install autoconf进行安装。?autoscan.log和configure.scan,将configure.Scan改名为configure.ac,同时用gedit打开,打开后文件修改后的如下:
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AC_CONFIG_SRCDIR([main.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE(main,1.0)
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_OUTPUT(Makefile)
4.新建Makefile文件,如下:
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=main
first_SOURCES=main.c
5.运行命令aclocal命令成功之后,在目录下会产生aclocal.m4和autom4te.cache两个文件。6.运行命令autoheader命令成功之后,会在目录下产生config.h.in这个新文件。7.运行命令autoconf命令成功之后,会在目录下产生configure这个新文件。8.运行命令automake --add-missingConfigure.ac:11:installing./compile’
Configure.ac:8:installing ‘.install-sh’
Configure.ac:8:installing ‘./missing’
Makefile.am:installing ‘./decomp’9. 命令成功之后,会在目录下产生depcomp,install-sh和missing这三个新文件和执行下一步的Makefile.in文件。运行命令./configure就可以自动生成Makefile。#include linux/module.h
#include linux/init.h
MODULE_LICENSE(GPL);
int __init hello_init (void)
{
printk(Hello xuxuemei\n);
printk(Hello xuxuemei\n);
printk(Hello xuxuemei\n);
return 0;
}
void __exit hello_exit (void)
{
printk(Hello linux exit\n
文档评论(0)