1、实验03内核裁减与文件系统建立实验三 内核裁减与根文件系统建立姓名: 学号: 时间: 地点: 实验目的:熟悉内核和根文件系统的烧写,裁剪的基本操作, 熟悉根文件系统的建立实验设备:PC机,虚拟机Linux系统, 开发板实验内容:1. 内核的裁剪过程的基本名令2. 文件系统建立busybox的配置, 建立目录,复制文件,建立文件镜像.3. 在虚拟机pc-linux启动tftp服务,下载内核和文件系统到开发板.操作步骤:实验3-1 内核和根文件系统烧写到flash中. 此操作需要用到tftpd32.exe ,在widows下的F盘建立一个目录img,将虚拟机上的/arm2410cl24/img下的
2、内容复制到F:/img下。启动tftpd32,将current directory 指定为f:/img。将开发板启动,进入vivi。设置服务器的ip地址和开发板的ip地址。然后,烧写内核和根文件。 操作步骤:1) 在windows 下,在F盘下建立share目录2) 在虚拟机(PC-Linux) VM setting-option 可以将F:/share 设置为共享目录。3) 将 /arm2410cl24/img/ 复制到共享目录中 /mnt/hgfs/share4) 在windows下启动tftpd32,将current directory 指定为F:/share5) 启动超级终端(或者mi
3、nicom)6) 启动开发板,进入vivi7) 察看vivi的命令 vivi help8) 设置服务器的ip地址,设置开发板的ip地址(确保他们在同一网段)查看ip地址vivi ifconfig 设置服务器(PC-WIN)和开发板的ip地址 vivi ifconfig server 192.168.1.112 (服务器 PC-WIN) vivi ifconfig ip 192.168.1.110 (开发板)vivi ifconfig save (保存) vivi ifconfig (查看)9) 烧写内核vivi tftp flash kernel zImage10) 烧写根文件up-2410
4、tftp flash root root.cramfs11) 启动开发板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 #make clean (清除以前的编译文件)(2) 配置内核 # make menuconfig配置usb无线网卡驱动 Networking (协议配置)wireless- Gene
5、ric IEEE 802.11 Networking Stack Device driver (无线设备驱动配置)Network device support-Wireless LAN-Wireless LAN (IEEE 802.11)配置usb的多媒体设备(usb摄像头)1) Device driver Multimedia devices Video for linux (linu视频处理)2)Device driver Multimedia devices video capture adapter V4L usb device USB ZC0301P Image Processor
6、and Control Chip support (USB摄像头驱动)3)Device driver Graphics support Support for frame buffer devices S3C2410 LCD framebuffer support ( LCD的帧缓冲支持) 配置NAND设备Device driver Memory Technology Device (MTD) support * MTD partitioning support*Command line partition table parsingRAM/ROM/Flash chip drivers Det
7、ect flash chips by Common Flash Interface (CFI) probe Detect non-CFI AMD/JEDEC-compatible flash chips Support for Intel/Sharp flash chips Support for AMD/Fujitsu flash chips Support for ROM chips in bus mapping NAND Device Support - NAND Flash support for S3C2410/S3C2440 SoC配置文件的支持File systems - DOS
8、/FAT/NT Filesystems - MSDOS fs support VFAT (Windows-95) fs support (437) Default codepage for FAT (iso8859-1) Default iocharset for FAT NTFS file system support Pseudo filesystems - * Virtual memory file system support (former shm fs) * Tmpfs POSIX Access Control Lists Miscellaneous filesystems - Y
9、AFFS2 file system support Compressed ROM file system support (cramfs) * Network File Systems - NFS file system support * Provide NFSv3 client support * Provide client support for the NFSv3 ACL protocol extension * Provide NFSv4 client support (EXPERIMENTAL) * Allow direct I/O on NFS files NFS server
10、 support * Root file system on NF 保存后退出配置窗口,产生.config 文件。 (3) 修改Makefile文件 #vi Makefile ARCH ?=arm CROSS_COMPILE ? = arm-linux- (4)编译内核 # make zImage (需要一些时间,可以不作这一步)(6)查看编译好的内核zImage:# cd arch/arm/boot # ls(7)将编译好的内核zImage 复制到共享目录/share下 :# cp zImage /mnt/hgfs/share*(8) 按照前面烧写的步骤,烧写zImage到开发板( 这一步不
11、用做)(9) 清除刚才做的工作,方便后面同学做该内容。 # cd /home # rm rf kernel 实验3-3建立文件系统(1) 获取busybox源代码 ,在/arm2410cl26/rootfs目录下。#cd /home #cp arf /arm2410cl26/rootfs -C ./(2) 进入到busybox目录:#cd /home/rootfs/busybox-1.12.2# make clean # rm rf _install (3) 配置busybox的命令 #make menuconfig(删除一些命令选项,只选择有限的一些命令)(4) 建立依赖关系 # make
12、dep(5) 编译生成busybox #make (6) 安装busybox,生成目录_install: # make install(7) 察看_insatall目录下的内容:# cd _install #ls (查看这些命令) (8) 进入到/home/rootfs/target :#cd /home /rootfs/target (9) 查看target下的文件目录 :ls (10) 将bin sbin usr 三个目录删除 :# rm rf bin/ sbin/ usr/ (11) 将 _install 目录下的内容复制到target下 :# cp arf /home/rootfs/b
13、usybox-1.12.2_install ./ (12) 建立文件系统 :# cd /home/rootfs # mkfs.cramfs target root.cramfs(13)将编译好的内核root.cramfs 复制到共享目录/share下 :# cp root.cramfs /mnt/hgfs/share*(14)烧写根文件系统 (这一步不用做)(9) 清除刚才做的工作,方便后面同学做该内容。 # cd /home # rm rf rootfs回答下列思考题:1. 配置nandflash的启动需要配置哪些先关项?每一项的含义是什么?Device driver Memory Tech
14、nology Device (MTD) support * MTD partitioning support*Command line partition table parsingRAM/ROM/Flash chip drivers Detect flash chips by Common Flash Interface (CFI) probe Detect non-CFI AMD/JEDEC-compatible flash chips Support for Intel/Sharp flash chips Support for AMD/Fujitsu flash chips Suppo
15、rt for ROM chips in bus mapping NAND Device Support - NAND Flash support for S3C2410/S3C2440 SoC2. 配置usb摄像头,需要配置哪些相关项?每一项的含义是什么?1)Device driver Multimedia devices Video for linux (linux视频处理)2)Device driver Multimedia devices video capture adapter V4L usb device USB ZC0301P Image Processor and Contro
16、l Chip support (USB摄像头驱动)3)Device driver Graphics support Support for frame buffer devices S3C2410 LCD framebuffer support ( LCD的帧缓冲支持)3. 如果要配置usb蓝牙,需要配置哪些相关项?内核的配置,基本上把networking下- Bluetooth subsystem support里的以下几项全部选上即可:L2CAP protocol supportSCO links supportRFCOMM protocol supportRFCOMM TTY suppo
17、rtBNEP protocol supportHIDP protocol support此外,在Bluetooth device drivers里选上你所需要支持的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