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了进入了配置界面
四,移植
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
#make lib_only
![](/assets/blank.gif)
#vi config/.config
然后将"CONFIG_USER_OLD_PASSWORDS=y"注释掉"#CONFIG_USER_OLD_PASSWORDS=y"
#make user_only
#make romfs
#make image
如果这一步提示错误,不管他继续执行下一步
#make
这样就会在/image下生成我们想要的文件
ubuntu 步步为营之uclinux编译和移植(完整版)相关推荐
- 移植完整版RT-Thread到GD32F4XX(详细)
主要参考文档:rt-thread-master\rt-thread-master\bsp\gd32\docs\GD32系列BSP制作教程.md GD32F4xx_Firmware_Library_Us ...
- 一天一阔阔儿ZYNQ的linux移植完整版(Linux环境搭建以及内核编译)
虚拟机UBUNTU12.04 64bit 701N 芯片是7020clg400 XILINX的交叉编译器安装 主要就是安装出现的一些问题,方法总结: 主要涉及的问题是,ubuntu12.04 64位系 ...
- ubuntu18.04 ros melodic Autoware1.14源码编译安装(完整版,全过程)
一.安装NVIDIA驱动 查看推荐显卡 ubuntu-drivers devices 找到recommended推荐的版本 本机是470版本 sudo apt-get install nvidia-d ...
- Qgis3.2编译移植成功文档完整版
Qgis3.2编译移植成功文档完整版 1.1平台环境 VS2015 + QT5.9.2 + Cmake + OSGEO4W 具体环境搭建,参考博客https://blog.csdn.net/xiong ...
- Termux安装完整版Linux(Ubuntu)详细步骤
一.Termux 1.Termux简介 Termux是 Android 平台上的一个终端模拟器,之所以称它为"模拟器"而非"虚拟机",是因为它并非像 PC 端的 ...
- 在32位Ubuntu 10.04上编译Android 2.3
在32位Ubuntu 10.04上编译Android 2.3 http://www.ylmf.net/ubuntu/tips/2011021722700.html 本人在Ubuntu 10.04系统 ...
- Ubuntu 12.04 下编译Android 4.0.3
在Ubuntu 12.04 下编译了Android 4.0.3发现了一大堆错误,网上找了一堆的更改源码啊,Android.mk的解决方法,虽然可以编译成功,但都有点坑爹的成分,为了不误人子弟就分享出来 ...
- 6001. mavlink 编译与移植
mavlink 编译与移植 1 源码下载 git clone https://github.com/mavlink/mavlink.git --recursive 2 源码配置编译 2.1 配置生成c ...
- 在Ubuntu Server14.04上编译Android6.0源码
此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...
最新文章
- Exchange2007中创建收件人对象、通讯组和地址列表和客户端访问
- JS 将负数转化为正数
- 用python随机画多个圆_Python Pygame随机绘制不重叠的圆圈
- MFC中的控件是怎么实现的呢?一个按钮就是一个窗口?还是所有按钮画在一个分层窗口上再叠
- c#web服务器 虚拟目录,C#建立自己的Web服务器
- 使用loadrunner的vb vuser写脚本 运行报错:vbascriptext.dll -25277 -25240
- 如何查看hadoop是32位还是64位
- SAP License:不如把碎片时间拿来学SAP吧
- Qt5 QtQuick系列----QtQuick的Secne Graph剖析(1)
- 《Python编程初学者指南》——第1章 启程:Game Over程序 1.1 剖析Game Over程序
- Spring框架学习---Spring Framework下篇
- android+反编译加广告,追书神器Android版,反编译去广告基本教程
- 笔记本电脑没有外放声音,但是插上耳机有声音的问题解决方法
- tp link无线路由器怎么设置
- odoo社区版审批流
- 数据库中,DDL,DQL,DML,DCL是什么意思?
- pcf8591c语言编程,ADDA系列PCF8591的驱动程序
- ABP开发框架的总体介绍
- 生活随记-冬天的馈赠
- 【算法-枚举】熄灯问题 通俗详细的解题叙述(OpenJudege-2811)
热门文章
- 微信小程序——button添加背景图片
- 各种协议报头解析(以太网,IP,TCP,UDP报头)
- 【趣味案例】用python制作全国身份证号验证及查询系统
- 【Android TV 开发】-->Leanback 库简介
- 学好一宁喜欢的 Arthas SM 命令, 做好葱油饼
- python 分割字串_在Python中分割,连结和连结字串
- java 新手入门电子书_java基础知识(适合新手入门).pdf
- opencv null pointer (null name string) in cvNamedWindow
- 如何在计算机安装本地磁盘e,本地硬盘安装Win7旗舰版系统的详细教程
- 给所有入门程序员的建议(1)--句句是诤言 希望大家认真读完