编译Linux内核的问题
交叉编译工具链的问题。在编译ARM架构的Linux内核时出现错误提示缺少arm.h文件件,是由于交叉编译工具链的问题。解决该问题需要安装针对ARM架构的交叉编译工具链,并设置环境变量。
make: *** [arch/arm/mm] 错误 2 解决办法:选择较低版本的交叉编译器,比如1。
问题描述 编译Linux内核映像时报如下错误:解决方法 安装软件包 u-boot-tools 。问题描述 编译Linux内核映像时报如下错误:解决方法 安装软件包 lib32stdc++6 和 lib32z1 。
法一(网上的):是因为内核模块生成的环境与运行的环境不一致,用linux-27内核源代码生成的模块,可能就不能在linux-32内核的linux环境下加载,需要在linux-27内核的linux环境下加载。
ubuntu,debian的话,安装 sudo aptitude install libncurses5-dev fedora安装 yum install ncurses ncurses-devel 另外,可能也有可能是/usr/include/目录下的asm、linux和scsi等链接没有指向要升级的内核源代码。
(1)编译内核于升级内核没有直接关联。如果编译的内核的版本比现在系统使用的版本新,那么使用编译后的内核可以看成是内核升级。
有关linux内核移植时的裁剪涉及哪些内容
将内核的书讲的是操作系统的东西,源码树的结构等。如果你真的完全领会了内核的源码,那么裁剪对你来说如囊中取物。但是Linux的源码要学完,不知道要多长时间,而且裁剪Linux不一定要对内核源码了如指掌。
简单地说,Linux内核里有许多功能或驱动是我们用不上的,我们应该把这些不需要的东西去掉,这样可以让操作系统系统占用内存小,启动速度快。一般嵌入式Linux操作系统需要裁剪。
内核配置的方法很多,make config、make xconfig、make menuconfig、make oldconfig等等,它们的功能都是一样的,区别应该从名字上就能看出来,只有make oldconfig是指用系统当前的设置(./.config)作为缺省值。这里用的是make menuconfig。
开发板选购疑惑(A8还是6410)
1、第三,软件资源对一个初学者来说也是很重要的,因为不同的开发板提供的软件资源差别很大。
2、从你问的问题来看,我不建议你使用cortexA8的处理器。A系列面向的是应用,如手持设备等,复杂度很高。这儿建议你选用培训机构使用过的板子,我推荐基于ARM11的OK6410板子。
3、学Cortex-A8的芯片吧,OMAP35xx,AM37xx,DM37xx,S5PC100等,在上面跑个android等,学好了Cortex-A8的芯片之后,ARM9之类的就不在话下了。
4、都不适合了,2440是ARM9,6410是ARM11,这两个都过时了,现在流行的是ARM A8(I PHONE里就用这个),建议学习freescale的ARM,包括i.mx28和i.mx515。你对比一下性能会发现差很多。
5、买开发板是根据需求来买的,从用途上讲:如果仅仅是用做控制ARM7足够了;如果是用做低分辨率(小于等于320*240)的视频采集、传输,ARM9可以凑合用,ARM11要稍微好些;如果是需要高分辨率的话,用AA9比较适合。
6、哦,其实选择开发板还真不是件简单的事情。因为目前开发板行业已经不是单纯的卖硬件,除非不是自己公司研发的产品,这样就另当别论了。
关于Linux内核emmc分区问题
eMMC设置分区的方法有很多,一般的消费类电子产品的设计工程师,都会设置好分区,不需要消费者关心。市面上也有做烧录器的厂商,他们可以通过烧录器的软件来设置eMMC芯片的分区,如SmartPRO III软件,如下图示。
swap分区不是必须的,但是大多数情况还是设置比较好,个别企业的数据库应用场景不分swap。/boot分区,这是Linux系统的引导分区,用于存放系统引导文件,如Linux内核等。
linux下,建议新手分区时只分两个:一个“SWAP”分区,大小为内存的两倍,一个“/”分区大小为全部可用空间。这里把Linux分区问题详细地介绍一下,以Red Hat Linux1为例。