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源代码 ...
随机推荐
- 导致flash屏幕重绘的几种方式及避免重绘的方法
导致屏幕重绘的几种原因: 1.最常见的是情况就是舞台上的可视组件在形状.位置.状态(alpha, scale…)发生改变的时候会触发Flash Player 的重绘. 2.当一个DisplayObje ...
- [转]CodeIgniter与Zend Acl结合实现轻量级权限控制
Tag :CodeIgniter Zend Acl 权限控制 1. Zend_Acl简介 Zend_Acl 为权限管理提供轻量并灵活的访问控制列表 (ACL,access control list) ...
- 参数化SQL小认识
在做机房收费系统项目,编写数据连接并访问数据库时,见别人都用了带“@”字符的SQL语句,就很好奇为什么都用这个语句呢?直接拼写SQL语句不是更加方便吗?带着这个问题上网查资料,才知道原来他们用的是参数 ...
- 解决ActiveX Control异常:"没有注册类(异常来自 HRESULT:0x80040154(REGDB_E_CLASSNOTREG))"
问题背景: 1.我们的程序是用winform调用unity web player 插件来作为播放器在客户端播放动画文件的. 2.播放器是由我们的客户端程序调用的 3.客户端程序默认是以管理员身份启动的 ...
- 使用react-native做一个简单的应用-05 navigator的使用
今天生病了,难受... Navigator顾名思义就是导航器的意思. 在Android和iOS中,导航器的样式是不一样的 ,有一个比较好的网址可以提供大家学习(网址),由于样式的不统一,于是我决定自己 ...
- C++实现二叉树的基本操作
#include <iostream> #include <stack> #include <queue> using std::cin; using std::c ...
- PHP学习笔记二十七【重写】
<?php // class Animal{ public $name; protected $price; function cry(){ echo "动物在叫....<br/ ...
- eclipse中默认的提示键
Alt+/:代码提示 Ctrl+/:注释/取消注释 Ctrl+D:删除光标所在行 Ctrl+K:将光标停留在变量上,按Ctrl+K键可以查找到下一个同样的变量 Shift+Ctrl+K:和Ctrl+K ...
- [转载]启用 VIM 中的 Python 自动补全及提示功能
转载: http://zhongwei-leg.iteye.com/blog/941474 周围的同事不喜欢使用 VIM 写 Python 代码的原因之一就是,VIM 不能像 Visual Studi ...
- (原)Ubuntu14中安装GraphicsMagick
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5661439.html 参考网址: http://comments.gmane.org/gmane.co ...