linux内核裁剪,编译,移植---目标板FS2410----未完成
现在21:20,争取今天把内核烧进去,应该不难吧。。。。。
先看看内核的裁剪与编译。
基本步骤:
1.建立交叉编译环境,这步在之前已经完成,使用交叉编译工具链:arm-linux-gcc-4.4.3.tar.gz
2.修改Makefile,这一步查看资料,写着:
修改内核目录树根下的Makefile时,可先指明交叉编译器。设计时,可向Makefile中添加如下内容:
ARCH ?=arm
CROSS_COMPILE?=arm-linux-然后设置PATH环境变量,使其可以找到其交叉编译工具链,然后运行vi~/.bashrc,再添加如下内容:
export PATH=/usr/local/arln—linux一3.4.4/bin:$PATH
但是,看不明白,首先,在Makefile中已经存在:
ARCH := arm
CROSS_COMPILE := $(shell if [ -f .cross_compile ]; then \
cat .cross_compile; \
fi)
不知道资料描述的意思是直接添加它说的内容,还是对下边的Makefile已存在的部分进行修改,继续查找资料
好,明白了,就是后一种情况,这里对原Makefile的修改为
ARCH := arm
CROSS_COMPILE := $(shell if [ -f .cross_compile ]; then \
cat .cross_compile; \
fi)
因为这里要写CROSS_COMPILE :=后跟arm-linux-gcc的安装路径,但我这时候我先还没有安装,所以接下来又是它的安装。
查询资料,http://blog.csdn.net/authorowen/article/details/7338293,介绍方法非常详细,只是,我的最终还是通过重启电脑,才算安装成功。
我的arm-linux-gcc的最终安装目录是/usr/local/arm/4.4.3,所以上面的修改为
ARCH := arm
CROSS_COMPILE := /usr/local/arm/4.4.3/bin/arm-linux-
看到有的资料说,CROSS_COMPILE :=arm-linux-,这样就需要设置环境变量,还不如直接写路径的好。明白了。
3.Makefile设置好了,就可以make menuconfig了
4.make menuconfig之后,输入命令make clean,make dep,make zImage
后出现以下错误:
1.
include/asm is a directory but a symlink was expected
解决方法:
删除源码根目录下的include/asm,文件夹,问题解决。
分析:
原因:linux/include/asm 文件夹是内核编译过程中创建的,创建结果就是一个指向文件夹asm-arm的链接,表明该系统的平台是arm架构的,而编译系统内核之前,是没有asm这个链接的,所以,在编译过程中,创建该链接时文件名字与asm文件夹的名字发生冲突,报错。http://hi.baidu.com/percy_place/item/18f2b10c6aae9bd972e67641
2.
CHK include/linux/version.h
make[1]: `include/asm-arm/mach-types.h' is up to date.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
ln: creating symbolic link `include/asm': Read-only file system
经查询资料显示,出该错误的原因是由于未将linux源码从windows的共享目录拷贝到linux下的缘故,,对不对先试一下。
先将linux源码拷贝到/home/MY_ZILIAO目录下,然后,make zImage。果然是这样,原因在于上面的错误提示说现在是在建立各个文件间的索引关系,而实际上源码是放在windows下的,这就导致这个索引关系建立时出现错误。所以,不行。
3.又出现了第三个错误,明天再整。歇了。
arch/arm/mach-s3c2410/s3c2410.c: In function 's3c2410_setup_clocks':
arch/arm/mach-s3c2410/s3c2410.c:105: error: too few arguments to function 's3c24xx_setup_clocks'
arch/arm/mach-s3c2410/s3c2410.c: In function 's3c2410_init_clocks':
arch/arm/mach-s3c2410/s3c2410.c:110: error: implicit declaration of function 's3c24xx_register_baseclocks'
make[1]: *** [arch/arm/mach-s3c2410/s3c2410.o] Error 1
make: *** [arch/arm/mach-s3c2410] Error 2
内核编译暂停,因为开发板无法与主机ping通,网络配置不存在问题,怀疑是uboot出错,所以需要重新编译,烧写uboot。
linux内核裁剪,编译,移植---目标板FS2410----未完成相关推荐
- [转载]基于ARM的linux内核裁剪与移植
基于ARM的linux内核裁剪与移植 http://bbs.elecfans.com/forum.php?mod=viewthread&tid=185020 wutaimin( 楼主 ) 2 ...
- ARM在嵌入式linux内核裁剪与移植的应用
微处理器用一片或少数几片大规模集成电路组成的中央处理器.这些电路执行控制部件和算术逻辑部件的功能.微处理器与传统的中央处理器相比,具有体积小,重量轻和容易模块化等优点.微处理器的基本组成部分有:寄存器 ...
- linux裁剪内核和移植,嵌入式Linux内核裁剪及移植的研究与实现
摘要: 嵌入式操作系统是嵌入式系统的软件核心,它管理系统中所有的软件和硬件资源,并且满足嵌入式系统的专用性和可裁剪性.嵌入式Linux以其开源,可裁剪以及模块化设计等特点,吸引了国内外众多研发人员的青 ...
- 第四章-linux内核裁剪与移植
内核:为底层可编程部件提供服务,为上层app提供执行环境 裁剪:裁剪功能,选取满足特定平台和需求的功能 4.1 内核结构 模块化,文件目录形式,方便裁剪,编译 4.1.1主要组成 ...
- Linux内核裁剪及编译
Linux内核裁剪及编译可加载模块 一 Linux基础知识 linux内核组要由五个子系统组成: 进程调度 内存管理 文件系统 网络接口 进程间通信 Linux源码目录 arch 目录中包含于体 ...
- linux 脚本裁剪内核,Linux 内核裁剪的自动化方法
Linux 内核裁剪的自动化方法 随着广泛地获得使用并被移植到不同的平台,Linux 内核源代码正在越来越大,比如, Linux 2.6.28 中, 文件数有 25282 个,大小有350M. 对于某 ...
- Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核)
Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4.1.15版本内核) 文章目录 Linux移植:正点原子阿尔法IMX6ULL开发板Linux内核源码移植详细步骤(4 ...
- 编译 linux 3,linux内核的编译(3)
linux内核的编译(3) 2008-02-23 07:17:46来源:互联网 阅读 () 无论什麽档名),然後将你做的 zImage 拷贝进去,(例如,如果你用" /vmlinuz ″ 的 ...
- 第三十九天:linux内核裁剪
培训的第四阶段:通过编写驱动,从应用层,内核层,再到底层硬件之间的关系.明白内核驱动的意义.现在开始才是重头戏,前面的都是铺垫. 正式编写驱动前,要先了解linux内核代码的组成.linux主要是由五 ...
- 【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )
文章目录 一.查看 .config 编译配置文件 二.正式编译内核 一.查看 .config 编译配置文件 在上一篇博客 [Linux 内核]编译 Linux 内核 ④ ( 打开 Linux 内核编译 ...
最新文章
- 马斯克刚刚宣布辞去特斯拉董事会职务,仍然担任CEO
- 总结编程语言的空语句
- 为什么Python的“私有”方法实际上不是私有的?
- 从人工“智障”到人工智能,AI交互还缺什么?
- 狮子鱼社区团购独立版V15.3.0源码
- 语言怎么解决扭魔方_吧台高度没留够,怎么坐都变扭,直接加玻璃框没想到也能解决难题...
- 网页与 alert() 一样用于弹框却比之多了一个取消选项的方法 confirm()
- python 环境管理工具_python3环境管理器
- 程序员应该具备哪些素质
- 第13章 集成学习和随机森林 学习笔记上
- Apache POI简单入门
- 成为一名Java高级工程师需要掌握哪些技能
- 如何制作BAT(Windows批处理文件)病毒
- 从appfuse开始学习Spring和Hibernate - (1)构建项目
- 如何下载秦皇岛市卫星地图高清版大图
- python的文件操作:文件定位读写,重命名,删除等操作
- unity_在canvas中修改text和text到底是什么
- Linux网络配置和常用命令
- 基于51单片机驱动A4988实现步进电机逆时针转动
- 线性表的顺序存储及运算的实现
热门文章
- 浅谈CAD如何精准导入图新地球并应用在工程行业
- 【Spark分布式内存计算框架——Spark Streaming】10. 应用案例:百度搜索风云榜(中)实时数据ETL存储
- 如何清理自由天空减肥工具产生的免疫文件夹“KEYFree2008”
- Android面试总结(不定时更新版)
- 可行性分析,实用模板。
- 合并多个excel,csv Excel+Python
- (转) tcp的注册端口
- Scratch教程:第1课认识Scratch
- 拼多多商品详情api接口 拼多多sku价格信息接口
- 十二省联考2019酱油记