03Linux内核配置编译分析实验
- 格式:ppt
- 大小:312.50 KB
- 文档页数:19


Linux 内核配置与编译实践截图演示
1.选择一个内核版本,进行解压,这里我选择的是最新的内核3.0。
命令:tar xvf linux-3.0
2.清除已编译或配置文件:
命令:make diatclean
3.对内核进行配置,形成.config文件(或利用已有的.config进行配置)命令:make menuconfig , 进入配置菜单对有关选项进行配置。
4.编译内核形成bzImage文件:
命令:make bzImage [V=1 ](请耐心等待)[]为可选项
编译完成
5.编译内核模块(请耐心等待)命令:make modules
编译完成
6.安装内核模块
命令:make modules_install
完成安装
**将编译好的内核模块从内核源代码目录copy至/lib/modules下**
7.Linux初始RAM磁盘(initrd)是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。
制作init ramdisk
命令:mkinitrd initrd-3.0.0 3.0.0
8.移动形成的bzImage文件和initrd-3.0.0 进入文件所在目录
命令:cp bzImage /boot/bzImage-3.0.0
cp initrd-3.0.0 /boot/
9.修改/etc/grub.conf 或者/etc/lilo.conf
命令:vi /etc/grub.conf
10.Reboot 重启
完成。
实验3-L i n u x内核编译实验《嵌入式系统》实验报告3 学号:姓名:班级:成绩:之后就可以make编译了:$ make zImage该命令的含义是:编译内核并生成一个新内核映像文件zImage所得到的内核文件有哪些?分别在什么目录?Init lib module.symvers System.map vmlinux vmlinux.o 4. 驱动安装在作业系统上的资源中下载并解压drivers.rar将其在D盘解压:“解压到当前文件夹”4.1 安装usb串口驱动运行:D:\drivers\win7\PL2303_Prolific_DriverInstaller_v110.exe5.设备连接及设置5.1 连接USB串口设备(领取USB串口设备)将USB串口设备插入电脑背面USB接口系统会自动识别该USB设备,该设备号可以通过电脑的“设备管理器->端口”查看;该USB串口的设备号是:Prolific USB-to-Serial Comm Port(COM4)。
相应的截图(根据实际情况,替换以下截图)为:5.2 打开putty打开:D:\drivers\putty.exe设置串口连接、串口号以及波特率;其中,串口号(serial line)为2.1所示的串口设备号。
5.3 tftp server设置新建文件夹:D:\tftpserver,便于tftp服务用;打开D:\drivers\Tftpd32\tftpd32.ini文件,将“BaseDirectory=.”更改为:“BaseDirectory=D:\tftpserver”打开“D:\drivers\Tftpd32\ tftpd32.exe”,启动tftp服务器6. 打开实验箱,建立连接通信(领取实验箱)6.1 将实验板拿出后,拨动拨码开关至【1000】,如下图所示,即从NAND Flash 启动。
6.2 将串口线和设备的第一个串口相连6.3 通过网线将PC的第一个网口(上面的网口)和开发板对连配置网络:打开网络和共享中心→更改适配器设置→网络2属性→Internet协议版本4(TCP/IPv4)→设置IP,如下图所示(IP为内网192网段的,如192.168.100.**)6.4 关闭PC系统防火墙控制面板→系统和安全→Windows防火墙→打开和关闭Windows防火墙—〉关闭Windows防火墙6.5 启动开发板,进入下载模式切换到putty操作界面,在开发板启动时,敲击任意键,进入到开发板的下载模式,如下图所示:通过help可以查看该bootloader所有的命令6.6 修改开发板环境变量FS210 # setenv serverip 192.168.100.192 //主机PC的IP 地址FS210 # setenv ipaddr 192.168.100.191 //板子的IP,不要和Windows IP 冲突FS210 # saveenv //保存环境变量使用【print】命令查看修改后的环境变量。
操作系统课程设计实验报告实验名称:编译Linux内核姓名/学号:俞文昌/20072842一、实验目的学习重新编译Linux内核,理解、掌握Linux内核和发行版本的区别。
二、实验内容编译Linux内核是一件比你想像的还要简单的事情,它甚至不需要你对内核有任何的了解,只要你具备一些基本的Linux操作系统的知识就可以进行。
本次实验,要求你在Fedora 10的Linux系统里,下载并重新编译其内核源代码(版本号2.6.27.5);然后,配置GNU的启动引导工具grub,成功运行重新编译成功的Linux 内核。
三、实验环境Fedaro10.四、实验步骤1.准备工作:安装Fedora 10。
给Linux分区至少分配15G的磁盘空间。
安装时,需选择安装开发工具,包括Gcc。
2.下载部署内核源代码:2.1检查当前内核版本:输入命令:uname –r:这一部检查当前内核的版本号,一边与后面自己编译的内核作比较。
2.2下载内核源码:我是在Windows下下载的,并传到了Linux下的Gavin文件夹(我的文档)下。
并解压:3.配置内核:在编译内核前,一般来说都需要对内核进行相应的配置。
配置是精确控制新内核功能的机会。
配置过程也控制哪些需编译到内核的二进制映像中(在启动时被载入),哪些是需要时才装入的内核模块(module)。
配置内核编译选项的方法有很多种:●make menuconfig,使用基于文本的选单式配置界面●make xconfig,使用X Windows (Qt) 界面●make gconfig,使用X Windows (Gtk) 界面●make oldconfig,使用文本界面,按照./.config文件的内容取其缺省值●make silentoldconfig,与上一个一样;不同的是,不再逐项提问了为与Fedora 10的配置选项一致,我们可以将Fedora 10的配置文件复制过来:具体操作如下。
湖北大学学生实验报告实验课程网络实用技术开课学院计算机与信息工程学院任课教师徐婕学生姓名骆婧学生学号20112211042100 70专业班级计科一班学生年级2011级2013-2014 学年第二学期一.实验目的通过实验,熟悉Linux操作系统的使用,掌握构建与启动Linux内核的方法;掌握用户程序如何利用系统调用与操作系统内核实现通信的方法,加深对系统调用机制的理解;进一步掌握如何向操作系统内核增加新的系统调用的方法,以扩展操作系统的功能。
二.实验内容1.Linux环境下的C或者C++编译和调试工具的使用2.向Linux内核增加新的系统调用,系统调用的功能为打印出自己的学号和姓名信息。
3.Linux新内核的编译、安装和配置。
4.编写应用程序以测试新的系统调用并输出测试结果。
三、实验步骤第一步:解压文件1.下载linux-3.13.3.tar.xz压缩包。
2.在Ubantu系统下,解压该文件,解压之后得到linux-3.13.3文件包# tar –xf linux-3.13.3.tar.xz3.将解压后的文件包复制到/usr/src# cp linux3.13.3 /usr/src第二步:修改源程序,增加系统调用1.gedit /usr/src/linux-3-13.3/kernel/sys.c (增加系统调用,使用面向内核的打印函数printk打印姓名学号)使用gedit命令,可以直接在文档编辑器中直接修改。
修改好后按保存关闭文档编辑器。
在开头加入头文件:#include<linuxlinkage.h>在末尾加入函数asmlinkage int sys_mycall(void){printk(KERN_ALERT "My name is XXXX!My studentid is XXXXXXX\n");return 1;}2.gedit /usr/src/linux-3-13.3/arch/x86/include/asm/syscalls.h在倒数第二行后插入asmlinkage int sys_mycall(void);3.gedit /usr/src/linux-3-13.3/arch/x86/syscalls/syscall_32.tbl最后一行添加一个系统调用的ID351 i386 mycall sys_mycall第三步:编译安装内核首先进到/usr/src/linux-3.13.3文件夹下# cd /usr/src/linux-3.13.31.make mrproper(清除内核中不稳定的目标文件,附属文件及内核配置文件)2.# make menuconfig保存设置Save并退出Exit3.# make bzImage (编译内核,大概需要20分钟,最后会出现提示:bzImageis ready。