ImageVerifierCode 换一换
格式:DOC , 页数:13 ,大小:894KB ,
资源ID:4762991      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4762991.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(嵌入式Linux系统裁剪与微内核化.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

嵌入式Linux系统裁剪与微内核化.doc

1、 嵌入式Linux系统裁剪与编译 1 构建交叉编译环境 1.1 交叉编译原理简介 嵌入式开发一般都是使用交叉编译环境。交叉编译就是在一台计算机上编译软件,其生成的软件在另一台不同类型处理器的机器上运行。因为嵌入式硬件性能一般无法和家用计算机相比,无法构建开发和编译环境。所以我们只能“借”家用计算机来对目标平台的软件进行开发和编译。此时称家用计算机为宿主机,而目标平台机器为目标机。每一个软件。在编译过程中。都要经过一系列处理,才能从源代码变成可执行目标代码。这一系列处理包括,预编译、高级语言编译、汇编、连接及其重定位。这一套流程里面用到的工具和库的组合,就称为工具链。Linux上常用的开发工具G

2、CC,它包含预编译器cpp,c语言编译器gcc,汇编器as和连接器ld。这个工具链中,还有用于处理二进制包的工具包binutils,整个工具链应该是GCC+binutils+Glibc。 为了编译在目标机上运行嵌入式Linux内核,首先我们必须编译目标平台的编译链,而这个链是存放在主机上,故名为交叉编译链。1.2 下载构建交叉编译链的工具及其补丁 Binutils-2.19.1 Busybox-1.13.0 GCC-4.3.3 GMP-4.2.4 MPFR-2.4.1 uClibc-0.9.30.1 制作交叉编译链 定义环境变量 定义MYSYS变量为嵌入式系统主目录变量、MYSYS_TARGE

3、T变量为目标平台、MYSYS_HOST为主机平台。使用export命令或者将此变量添加.bashrc文件中。 cat /.bashrc “EOF” set +h umask 022 MYSYS=/mnt/mysys LC_ALL=POSIX PATH=$MYSYS/ctools/bin:/bin:/usr/bin export MYSYS LC_ALL PATH EOF 这样我们设置了生成系统的根目录变量。 export MYSYS_HOST=”$MACHTYPE” export MYSYS_TARGET=”XXX-ulibc-linux-gnu”这两个变量都是编译过程需要使用的.XXX是目标

4、平台,如arm平台,可写为arm-ulibc-linux-gun。 首先需要安装内核头文件。make mrproper make ARCH=$MYSYS_ARCH headers_checkmake ARCH=$MYSYS_ARCH INSTALL_HDR_PATH=dest headers_install制作工具链的时候需要使用部分内核头文件。 编译GMP。 ./configure -prefix=/ctools -enabled-mpbsd make make install 编译MPFR。 LDFLAGS=-Wl,-rpath,/ctools/lib ./configure -prefi

5、x=/ctools -enable-shared -with-gmp=/ctools cp -rv dest/include/* $MYSYS/usr/include make make install 第一次编译GCC AR=ar LDFLAGS=-Wl,-rpath,/ctools/lib ./gcc-4.3.3/configure -prefix=$MYSYS/ctools -build=$MYSYS_HOST -host=$MYSYS_HOST -target=$MYSYS_TARGET -with-sysroot=$MYSYS -disable-nls -disable-shared

6、 -with-mpfr=/ctools -with-gmp=/ctools -without-headers -with-newlib -disable-decimal-float -disable-libgomp -disable-libmudflap -disable-libssp -disable-threads -enable-languages=c make make install 此时的编译出来的gcc,是不可以编译c程序的。因为没有连接库。同时安装的Linux头文件也是这一步被使用。GCC必须掌握目标体系的全部细节,这由Linux的内核头文件给出。 编译uclibc库,当然也可

7、以编译glibc库。编译最终版gcc ./gcc-4.3.3/configure -prefix=$CLFS/cross-tools -build=$CLFS_HOST -target=$CLFS_TARGET -host=$CLFS_HOST -with-sysroot=$CLFS -disable-nls -enable-shared -enable-languages=c -enable-c99 -enable-long-long -with-mpfr=/cross-tools -with-gmp=/cross-tools make make install 这样就得到了交叉编译链。1.

8、3 下载Linux内核并进行裁剪Linux-2.6.30.5 2 Linux内核编译与裁剪 2.1 配置内核的几种命令: make config:基于文本的最为传统的配置界面,不推荐使用。 make menuconfig:基于文本选单的配置界面,字符终端下推荐使用。 make xconfig:基于图形窗口模式的配置界面,Xwindow下推荐使用。 make oldconfig:如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦。 make ARCH=$CLFS_ARCH CROSS_COMPILE=$CLFS_TARGET- menuconfig 通过对嵌入式需求分析,通过必要的勾选

9、,即可完成对linux内核裁剪和重编译。 2.2讲解一些内核选项:2.2.1 General setup常规设置 子选项Prompt for development and /or incomplete code/drivers是测试版本代码。 Support for paging of anonymous memory(swap)选择是否支持内存随机页面支持(SWAP),如果嵌入式存储空间过小,可以去掉。可以提高运行速度。 Auditing support审计支持,SELinux会需要用到它。 Initial RAM filesystem and RAM disk support初始化RAM

10、文件系统和RAM磁盘支持,初始RAM文件系统是一种ram文件系统,它被启动器装载,在启动程序前以root形式挂载。 Initramfs source files初始ram文件系统源文件。有.cpio后缀的压缩包。 Optimize for size 尺寸优化,可以得到更小的内核。 Configure standard kernel features(for small sysytems)为小系统配置标准内核特性。 2.2.2 Loadable module support 可加载模块支持Enable loadable module support允许可装载模块支持。此选项可以让你的内核支持模块

11、。模块是一小段代码,编译后可在系统运行动态加入内核,从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减小内核的体积。在运行时可以用modprobe命令来加载它到内核中去。Module unloading模块卸载,能卸载不再使用的模块。可以使内核尺寸减小一些。 Forced module unloading强制内核模块卸载,强行卸载模块,即使内核认为不安全,内核会理解卸载模块2.2.3 Enable the block layer 允许块设备 Support for Large Block Devices 提供对2TB活着更大的块设备支持。 Suppor

12、t for Large Single File提供对大文件支持,为大于2TB的文件。 Deadline I/O scheduler Deadline I/O调度简单紧密,在单进程的I/O磁盘调度上,它的工作方式几乎和抢先式调度器相同,因此也是一个好的选择。2.2.4 Processor type and features处理器类型及特性(此处可以针对嵌入式芯片进行裁剪) Symmetric multi-processing support(SMP)多处理器支持。 RDC R-321x Soc RDC R-321x系列芯片 Processor family及其子选项,可以针对选择处理器。 Gen

13、eric X86 support对X86 CPU类型进行优化。 Maximum number of CPUs 最大支持的CPU数量。 Multi-core scheduler support多核调度器支持。 Preemptible Kernel可抢先式内核,这个选项通过使所有内核代码编译为“可抢先”来降低内核延迟。这个非常适合嵌入式编译内核。 High Memory Support高容量内存支持。如果内核不会运行在高于1G内存的机器上,就去掉。 Timer frequency时钟频率的设置。 Built-in kernel command line内嵌内核命令行,允许编译内核的时候指定 2.2

14、.5 Power management options 电源管理选项 Suspend to RAM and standby内存挂起和待机功能。允许系统休眠,主内存仍带电保存相关信息。 Hibernation 休眠 AC Adapter AC交流电源适配器 Battery电池 Button 风扇 ARM BIOS support高级电源管理支持。2.2.6 Bus options 总线选项2.2.7 Executable file formants 可执行文件格式 Kernel support for ELF Binaries ELF二进制文件内核支持2.2.8 Networking suppo

15、rt 网络支持 Packet socket包套接字 Unix domain sockets UNIX域套接字THE IPv6 protocol IPv6协议。Security Marking给网络套接字提供安全标志。Network packet filtering framework 网络包过滤框架。Asynchronous Transer Mode(ATM)异步传输模式,如果有ATM网卡,可选。Appletalk protocol support苹果电脑用于连接网络的协议。ld Ethernet Bridging 802.ld以太网桥接。 802.1Q VLAN support 802.1Q

16、 VLAN接口支持。The IPX protocol IPX协议,这是对Novell网络的协议,这个驱动会使内核增大16KB. Bluetooth subsystem support 蓝牙子系统支持。Phonet protocols family 网络电话协议家族。 Wireless无线支持。 IrDA(infrared) subsystem support红外子系统支持。2.2.9 Device Drivers 设备驱动 MTD partitioning support如果有一个设备,需要将他分成几个分区。Parallel port support并行端口支持。Plug and Play s

17、upport即插即用设备。 Block devices块设备。 Normal floppy disk support普通软盘支持。 Network block device support网络块设备。 Low Performance USB Block driver低端USB块驱动设备。 RAM block device support RAM块设备支持 Packet writing on CD/DVD media CD/DVD媒体包写入。 ATA over Ethernet support 以太网ATA支持。 ATA/ATAPI/MFM/RLL support如果系统是纯种SCSI,那么可以

18、选择N。Support for DATA支持。 SCSI device support SCSI设备支持。 SCSI disk support SCSI磁盘支持。 RAID support RAID支持。 Network device support网络设备支持。 Input device support 输入设备支持。 Graphics support 图形支持。 Sound 声音。 HID Devices HID设备。 USB Human Interface Device supports 人性化接口设备。 USB support USB支持。 MMC/SD card support MM

19、C/SD卡支持。可以从选项知,这是进行嵌入式裁剪非常重要的一个选项。我们可以为嵌入式环境量身打造我们需要的驱动,去掉我们不需要的驱动,那么Linux内核将减小很多。 2.2.10 Firmware Divers 固件驱动2.2.11 File systems 文件系统 Second extended fs support 第二次扩展文件支持,既Ext2文件系统。 Ext3 journalling file system support Ext3日志文件系统。 Ext3 extended attributes Ext3扩展属性。The Extended 4(ext4) filesystem ex

20、t4扩展文件系统。 JFS filesystem support JFS文件系统支持。 XFS filesystem support XFS文件系统支持。 OCFS2 file system support OCFS2文件系统。 Kernel automounter support 内核自动挂载支持。 CD-ROM/DVD Filesystems CD-ROM/DVD文件系统。 DOS/FAT/NT Filessystems DOS/FAT/NT文件系统。 VFAT fs support VFAT文件系统支持。 NTFS file system support NTFS文件系统支持。 /pro

21、c file system support /proc文件系统支持,提供系统状态信息。 Virtual memory file system support 虚拟文件系统支持。Tmpfs是一个把所有文件保持在虚拟内存里面的文件系统。 Journalling Flash File Systme V2(JFFS2) support日志闪存文件系统支持。 Compressed ROM file system support 压缩ROM文件系统支持。 Network File Systems 网络文件系统。 对嵌入式文件系统进行定制和裁剪是必要的,根据需求选择合适的文件系统。然后在此选项进行配置,能有效裁剪linux。 2.2.12 Kernel hacking 内核调试 2.2.13 Security options 安全选项 3 内核裁剪结束,编译内核源码。 对内核配置完毕,即可进行内核源代码编译。 Make ARCH=$MYSYS_ARCH CROSS_COMPILE=$MYSYS_TARGET- INSTALL_MOD_PATH=$MYSYS module_install 编译结束,可以得到Linux内核镜像VMlinux。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服