ubuntu 步步为营之uclinux编译和移植(完整版)
本节主要包含(ubuntu10.04)
一,linux下的经常使用压缩解压缩命令
二,环境建立
三,内核编译
四,移植
一,linux下的经常使用压缩解压缩命令
在linux下常见的压缩文件格式有tar gzip zip bzip2 compress等
首先对于tar格式的,压缩和解压缩方式例如以下
.tar 解压 #tar -xvf file1.tar 压缩 #tar -cvf file1.tar
.tar.gz 解压 #tar -zxvf file1.tar 压缩 #tar -zcvf file1.tar
.tar.bz 解压 #tar -jxvf file1.tar 压缩 #tar -jcvf file1.tar
对于gzip格式的,压缩和解压缩方式例如以下
.gz后缀的 解压 #gzip -d file1.gz 压缩 #gzip file1
对于zip格式的,压缩和解压缩方式例如以下
.zip后缀的 解压 #uzip file1.zip 压缩 #zip file.zip file1 file2 file3
对于bzip2格式的,压缩和解压缩方式例如以下
.bz2 解压 #bunzip2 file.bz2 压缩 #bzip2 *
二,环境建立
首先要把交叉工具设置好(具体见上一篇文章,嵌入式开发环境建立)
别人提供的(
uClinux,下载地址:http://www.uclinux.org/pub/uClinux/dist/uClinux-dist-20051110.tar.gz
交叉编译环境:http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/arm-elf-tools-20030314.sh
)
我用的是天祥提供的arm-elf-tools
把光盘代码中的软件arm-elf-tools-20040427.sh 复制到
linux 的根文件夹下运行./ arm-elf-tools-20040427.sh 结果出现+43错误
(有人说#chmod 777 arm-elf-tools-20040427.sh后再运行就不出错不知道没试过)
解决的方法:
#tail -n+43 arm-elf-tools-20040427.sh >> 1.tar.gz
#tar -zxvf 1.tar.gz
运行之后,在控制台中输入 arm-elf-gcc –v
假设成功安装了就会出现版本比如2.95.3
查看安装在了那里
#which arm-elf-gcc
检查是否将路径增加PATH的方法:
echo $PATH
应该能看到我们的编译工具所在的路径
然后准备好uclinux内核,我这里用的是2.4
我是直接放到了home/wenzer/share目录下这个目录是和windows共享的
所以比較方便
解压
#tar xvzf uClinux2.4.tar.gz
然后等待编译
三,内核编译
进到我们刚解压的目录下,须要改动个文件
#cd uClinux-dist
#make mrproper
等待》。。。
(我的出现了一个错误被忽略了说缺少relase我忽略了这个提示)
改动文件1
#vi linux2.4.x/arch/armnommu/vmlinux-armv.lds.in
在__sto__kallsyms = ,;
*(.got)后面加上:
romfs_data = .;
romfa.o
romfs_data.end = .;
然后wq退出
这一步假设不做,编译的时候会出错(等号两边都必须有空格)。

(4510须要改动makefile
在genromfs -v -V "ROMdisk" -f $(ROMFSIMG) -d $(ROMFSDIR)的下一行增加
arm-elf-ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o -b binary $(ROMFSIMG)
然后wq保存退出
)
#make menuconfig
出错了
>> Unable to find the Ncurses libraries.
>>
>> You must have Ncurses installed in order
>> to use 'make menuconfig'
解决方法:
运行命令: sudo apt-get install ncurses-dev 就可以!
(ncurses 用于make menuconfig界面显示
继续又一次make试试ok了进入了配置界面
四,移植



#make lib_only

#vi config/.config
然后将"CONFIG_USER_OLD_PASSWORDS=y"凝视掉"#CONFIG_USER_OLD_PASSWORDS=y"
#make user_only
#make romfs
#make image
假设这一步提示错误,无论他继续运行下一步
#make
这样就会在/image下生成我们想要的文件
ubuntu 步步为营之uclinux编译和移植(完整版)的更多相关文章
- Ubuntu+Apache+PHP+Mysql环境搭建(完整版)
Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统Ubuntu 14.04 64位,阿里云服务器 二.Apache 1.安装Apache,安装命令:sudo apt-get ...
- Ubuntu+Apache+PHP+Mysql环境搭建(完整版)(转)
http://www.2cto.com/os/201505/401588.html Ubuntu+Apache+PHP+Mysql环境搭建(完整版) 一.操作系统Ubuntu 14.04 64位,阿里 ...
- Ubuntu常用命令速查手册-珍藏版-完整版
sudo apt-get install 软件名 安装软件命令 sudo nautilus 打开文件(有root权限) su root 切换到“root” ls 列出当前目录文件(不包括隐含文件) l ...
- 在Ubuntu Server14.04上编译Android6.0源码
此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...
- 第一章 Android系统的编译和移植实例
第一章 Android系统的编译和移植实例 这一章节主要介绍了Android系统的编译和移植技术,作为建立在Linux内核的基础上的Android操作系统,它的编译和移植不论在过程还是技术方面都和嵌入 ...
- JPEG库在Linux系统下的编译和移植【转】
本文转载自: 这篇文章介绍了jpeg库在Linux系统下的编译和移植,经过了亲自的验证,编译首先需要准备以下资源:jpegsrc.v6b.tar.gz(jpeg库),libtool-1.5.26.ta ...
- VoIP应用在Ubuntu 14.04下编译FFmpeg libX264及PJSIP
PJSIP是一个开源的SIP协议栈.它支持多种SIP的扩展功能,可说算是最目前流行的SIP协议栈之一了. 它实现了SIP.SDP.RTP.STUN.TURN和ICE.PJSIP作为基于SIP的一个多 ...
- ubuntu下使用反编译apk,工具dex2jar和jd-gui
ubuntu下使用反编译apk, 工具 1:通过apk-tool反编译出资源文件: http://code.google.com/p/android-apktool/ 2.首先使用dex2jar反编译 ...
- 【转】基于Ubuntu 14.04 LTS编译Android4.4.2源代码
原文网址:http://blog.csdn.net/gobitan/article/details/24367439 基于Ubuntu 14.04 LTS编译Android4.4.2源代码 ...
随机推荐
- 修改UITextField placeholder Color
[YourtextField setValue:[UIColor colorWithRed:97.0/255.0 green:1.0/255.0 blue:17.0/255.0 alpha:1.0] ...
- [工作问题总结]MyEclipse 打开项目
------------------------------ASP.Net+Android+IO开发 .Net培训 期待与您交流!------------------------------ 1.项目 ...
- 开源 免费 java CMS - FreeCMS2.0 会员我的评论
项目地址:http://www.freeteam.cn/ 我的评论 从左側管理菜单点击我的评论进入. 在这里能够查看当前登录会员的全部评论记录. 删除评论 选择评论然后点击删除button能够完毕删除 ...
- redis安装配置和使用;tomcat安装和使用
virtualbox主要有以下几种方式(不同版本号称法不一样,但实质是一样的): 1.Intelnal Network:利用主机上的全部的虚拟机构建一个虚拟网络 2.NAT:能訪问互联网,不能訪问主机 ...
- js判断ie浏览器
function isIE() { //ie? if (!!window.ActiveXObject || "ActiveXObject" in window){ document ...
- 利用IIS7 解决URL访问限制问题
网站可以通过URl直接访问一些不希望被访问的东西, 比如一些图片,js,css等等. 为了解决这个问题看了好多文章,不过毕竟我是新手菜鸟级别的,没有具体的解决方法,真心不知道怎么弄. 今天在看IIS的 ...
- hdu3998 Sequence(最大流,LIS)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Sequence Time Limit: 2000/1000 MS (Java/O ...
- perl6 JSON::Fast模块json解析的使用
关于JSON: JSON (JavaScript Object Notation)是一种轻量级的数据交换格式,语法简单,各种语言都有相应的库或者模块支持. 因为JSON非常小巧,解析起来又非常简单,我 ...
- 利用glibc中锁结构的信息解决死锁问题
首先非常感谢老丁和老李同学的帮助,没有他们这个问题估计又得搞很久.遇见这个问题,真是头疼.不熟悉代码.不熟悉流程,但是领导还是把活给排下来了(实在不解),只能硬着头皮找了. 问题是这样的,cac ...
- linux下python3连接mysql数据库
python语言的3.x完全不向前兼容,导致我们在python2.x中可以正常使用的库,到了python3就用不了了.比如说mysqldb 1.安装pymysql pymysql就是作为python3 ...