实验03内核裁减与文件系统建立.docx

上传人:b****9 文档编号:25386602 上传时间:2023-06-07 格式:DOCX 页数:25 大小:1.13MB
下载 相关 举报
实验03内核裁减与文件系统建立.docx_第1页
第1页 / 共25页
实验03内核裁减与文件系统建立.docx_第2页
第2页 / 共25页
实验03内核裁减与文件系统建立.docx_第3页
第3页 / 共25页
实验03内核裁减与文件系统建立.docx_第4页
第4页 / 共25页
实验03内核裁减与文件系统建立.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

实验03内核裁减与文件系统建立.docx

《实验03内核裁减与文件系统建立.docx》由会员分享,可在线阅读,更多相关《实验03内核裁减与文件系统建立.docx(25页珍藏版)》请在冰豆网上搜索。

实验03内核裁减与文件系统建立.docx

实验03内核裁减与文件系统建立

实验三内核裁减与根文件系统建立

姓名:

学号:

时间:

地点:

实验目的:

熟悉内核和根文件系统的烧写,裁剪的基本操作,熟悉根文件系统的建立

实验设备:

PC机,虚拟机Linux系统,开发板

实验内容:

1.内核的裁剪过程的基本名令

2.文件系统建立busybox的配置,建立目录,复制文件,建立文件镜像.

3.在虚拟机pc-linux启动tftp服务,下载内核和文件系统到开发板.

操作步骤:

实验3-1内核和根文件系统烧写到flash中.

此操作需要用到tftpd32.exe,在widows下的F盘建立一个目录img,将虚拟机上的/arm2410cl24/img下的内容复制到F:

/img下。

启动tftpd32,将currentdirectory指定为f:

/img。

将开发板启动,进入vivi。

设置服务器的ip地址和开发板的ip地址。

然后,烧写内核和根文件。

操作步骤:

1)在windows下,在F盘下建立share目录

2)在虚拟机(PC-Linux)VMsetting->option可以将F:

/share设置为共享目录。

3)将/arm2410cl24/img/复制到共享目录中/mnt/hgfs/share

4)在windows下启动tftpd32,将currentdirectory指定为F:

/share

5)启动超级终端(或者minicom)

6)启动开发板,进入vivi

7)察看vivi的命令

[vivi]help

8)设置服务器的ip地址,设置开发板的ip地址(确保他们在同一网段)

查看ip地址

[vivi]ifconfig

设置服务器(PC-WIN)和开发板的ip地址

[vivi]ifconfigserver192.168.1.112(服务器PC-WIN)

[vivi]ifconfigip192.168.1.110(开发板)

[vivi]ifconfigsave(保存)

[vivi]ifconfig(查看)

9)烧写内核

[vivi]tftpflashkernelzImage

10)烧写根文件

[up-2410]tftpflashrootroot.cramfs

11)启动开发板

[vivi]boot

 

3.2内核的裁剪过程(制作开发板的linux操作系统)

(1)Linux内核的获取

将linux内核备份,然后裁减:

#cp–arf/arm2410cl/kernel/home

cp–arf/arm2410cl/kernel/home

进入到内核目录:

#cd/home/kernel/linux-2.6.24.4

#makeclean(清除以前的编译文件)

(2)配置内核#makemenuconfig

配置usb无线网卡驱动

Networking(协议配置)

wireless--GenericIEEE802.11NetworkingStack

Devicedriver(无线设备驱动配置)

Networkdevicesupport--WirelessLAN--WirelessLAN(IEEE802.11)

配置usb的多媒体设备(usb摄像头)

1)DevicedriverMultimediadevicesVideoforlinux(linu视频处理)

2)DevicedriverMultimediadevicesvideocaptureadapterV4LusbdeviceUSBZC0301[P]ImageProcessorandControlChipsupport(USB摄像头驱动)

3)DevicedriverGraphicssupportSupportforframebufferdevicesS3C2410LCDframebuffersupport(LCD的帧缓冲支持)

配置NAND设备

DevicedriverMemoryTechnologyDevice(MTD)support

[*]MTDpartitioningsupport

[*]Commandlinepartitiontableparsing

RAM/ROM/Flashchipdrivers

<*>DetectflashchipsbyCommonFlashInterface(CFI)probe

<*>Detectnon-CFIAMD/JEDEC-compatibleflashchips

<*>SupportforIntel/Sharpflashchips

<*>SupportforAMD/Fujitsuflashchips

<*>SupportforROMchipsinbusmapping

<*>NANDDeviceSupport--->

<*>NANDFlashsupportforS3C2410/S3C2440SoC

配置文件的支持

Filesystems--->

DOS/FAT/NTFilesystems--->

<*>MSDOSfssupport

<*>VFAT(Windows-95)fssupport

(437)DefaultcodepageforFAT

(iso8859-1)DefaultiocharsetforFAT

<>NTFSfilesystemsupport

Pseudofilesystems--->

[*]Virtualmemoryfilesystemsupport(formershmfs)

[*]TmpfsPOSIXAccessControlLists

Miscellaneousfilesystems-

<*>YAFFS2filesystemsupport

<*>CompressedROMfilesystemsupport(cramfs)

[*]NetworkFileSystems--->

<*>NFSfilesystemsupport

[*]ProvideNFSv3clientsupport

[*]ProvideclientsupportfortheNFSv3ACLprotocolextension

[*]ProvideNFSv4clientsupport(EXPERIMENTAL)

[*]AllowdirectI/OonNFSfiles

<>NFSserversupport

[*]RootfilesystemonNF

保存后退出配置窗口,产生.config文件。

(3)修改Makefile文件#viMakefile

ARCH?

=arm

CROSS_COMPILE?

=arm-linux-

(4)编译内核#makezImage(需要一些时间,可以不作这一步)

(6)查看编译好的内核zImage:

#cdarch/arm/boot

#ls

(7)将编译好的内核zImage复制到共享目录/share下:

#cpzImage/mnt/hgfs/share

*(8)按照前面烧写的步骤,烧写zImage到开发板(这一步不用做)

(9)清除刚才做的工作,方便后面同学做该内容。

#cd/home

#rm–rfkernel

实验3-3.建立文件系统

(1)获取busybox源代码,在/arm2410cl26/rootfs目录下。

#cd/home

#cp–arf/arm2410cl26/rootfs-C./

(2)进入到busybox目录:

#cd/home/rootfs/busybox-1.12.2

#makeclean

#rm–rf_install

(3)配置busybox的命令#makemenuconfig

(删除一些命令选项,只选择有限的一些命令)

(4)建立依赖关系#makedep

(5)编译生成busybox#make

(6)安装busybox,生成目录_install:

#makeinstall

(7)察看_insatall目录下的内容:

#cd_install

#ls

(查看这些命令)

(8)进入到/home/rootfs/target:

#cd/home/rootfs/target

(9)查看target下的文件目录:

ls

(10)将binsbinusr三个目录删除:

#rm–rfbin/sbin/usr/

(11)将_install目录下的内容复制到target下:

#cp–arf/home/rootfs/busybox-1.12.2_install./

(12)建立文件系统:

#cd/home/rootfs

#mkfs.cramfstargetroot.cramfs

(13)将编译好的内核root.cramfs复制到共享目录/share下:

#cproot.cramfs/mnt/hgfs/share

*(14)烧写根文件系统(这一步不用做)

(9)清除刚才做的工作,方便后面同学做该内容。

#cd/home

#rm–rfrootfs

回答下列思考题:

1.配置nandflash的启动需要配置哪些先关项?

每一项的含义是什么?

DevicedriverMemoryTechnologyDevice(MTD)support

[*]MTDpartitioningsupport

[*]Commandlinepartitiontableparsing

RAM/ROM/Flashchipdrivers

<*>DetectflashchipsbyCommonFlashInterface(CFI)probe

<*>Detectnon-CFIAMD/JEDEC-compatibleflashchips

<*>SupportforIntel/Sharpflashchips

<*>SupportforAMD/Fujitsuflashchips

<*>SupportforROMchipsinbusmapping

<*>NANDDeviceSupport--->

<*>NANDFlashsupportforS3C2410/S3C2440SoC

 

2.配置usb摄像头,需要配置哪些相关项?

每一项的含义是什么?

1)DevicedriverMultimediadevicesVideoforlinux(linux视频处理)

2)DevicedriverMultimediadevicesvideocaptureadapterV4LusbdeviceUSBZC0301[P]ImageProcessorandControlChipsupport(USB摄像头驱动)

3)DevicedriverGraphicssupportSupportforframebufferdevicesS3C2410LCDframebuffersupport(LCD的帧缓冲支持)

3.如果要配置usb蓝牙,需要配置哪些相关项?

内核的配置,基本上把 networking下 ---Bluetoothsubsystemsupport 里的以下几项全部选上即可:

 

L2CAPprotocolsupport

SCOlinkssupport

RFCOMMprotocolsupport

RFCOMMTTYsupport

BNEPprotocolsupport

HIDPprotocolsupport

 

此外,在Bluetoothdevicedrivers里选上你所需要支持的Bluetooth设备。

4.在制作根文件系统时,busybox的作用是什么?

BusyBox的安装脚本使得它很容易建立基于BusyBox的根文件系统,提供了类似Linux内核的配置脚本菜单,容易实现配置和裁剪。

5.制作开发板的根文件系统时,如何得到lib/的库文件?

应用程序通过ld命令的参数-rpath可以在链接时将共享库的路径记在应用程序中,但是通常不推荐这样做,通常应用程序中只记录共享库的文件名 ,启动程序时由动态链接器/lib/ld-linux.so根据以下规则查找共享库:

首先在环境变量LD_LIBRARY_PATH 所记录的路径中查找然后从缓存文件/etc/ld.so.cache中查找。

将共享库的路径写进/etc/ld.so.conf然后执行ldconfig命令就可以生成缓存文件/etc/ld.so.cache ,如果上述步骤都找不到,则到默认的系统路径中查找,先是/usr/lib然后是/lib。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1