2024年4月28日发(作者:)

操作系统实验报告

姓名: 学号:

一、实验题目

1.编译linux内核

2.使用autoconf和automake工具为project工程自动生成Makefile,并测试

3.在内核中添加一个模块

二、实验目的

1.了解一些命令提示符,也里了解一些linux系统的操作。

2.练习使用autoconf和automake工具自动生成Makefile,使同学们了解Makefile的生

成原理,熟悉linux编程开发环境

三、实验要求

1使用静态库编译链接swap.c,同时使用动态库编译链接myadd.c。可运行程序生成在

src/main目录下。

2要求独立完成,按时提交

四、设计思路和流程图(如:包括主要数据结构及其说明、测试数据

的设计及测试结果分析)

le的流程图:

2.内核的编译基本操作

1.在ubuntu环境下获取内核源码

2.解压内核源码用命令符:tar xvf

3.配置内核特性:make allnoconfig

4.编译内核:make

5.安装内核:make install

6.测试:cat/boot/grub/

7.重启系统:sudo reboot,看是否成功的安装上了内核

8.详情及结构见附录

3.生成makefile文件:

1.用老师给的projec里的main.c函数。

2.需要使用automake和autoconf两个工具,所以用命令符:sudo apt-get install autoconf

进行安装。

3.进入主函数所在目录执行命令:autoscan,这时会在目录下生成两个文件 和

,将改名为,同时用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和两个文件。

6.运行命令autoheader

命令成功之后,会在目录下产生这个新文件。

7.运行命令autoconf

命令成功之后,会在目录下产生configure这个新文件。

8.运行命令automake --add-missing输出结果为:

:11:installing./compile’

:8:installing ‘.install-sh’

:8:installing ‘./missing’

:installing ‘./decomp’

9. 命令成功之后,会在目录下产生depcomp,install-sh和missing这三个新文件和执行下一

步的文件。

10.运行命令./configure就可以自动生成Makefile。

4.添加内核模块