我使用的是友善2410的板子,以前都是用Fedora,现在家里的电脑被我转为Linux专用的了,装的是Ubuntu。但是嵌入式还是要玩的,在装载过程中也遇到一些小麻烦。在此记录一下,一来自己比较健忘,二来也希望能给一些没弄过的人一点启示。

目的:

把ARM linux的交叉开发环境,kernel, filesystem, bootloder安装,并配置,使其可以编译bootloder, kernel, 可以nfs更新文件系统;

资源:

代码:
arm-linux-toolchains.tgz
matrix5-kernel-v5.5.tgz
vivi.tar.gz
Jflash.tgz
root-for-nfs-v5.5.tgz

规划:
交叉编译器装在:/usr/local/
kernel, bootloder放在: /home/volans/arm/
用于启动的nfs文件系统放在:/home/armnfs/

准备工作:

代码:
sudo mkdir /home/armnfs
sudo chmod 777 /home/armnfs
mkdir ~/arm
上面前两句的目的是在/home下建立armnfs目录,为了开发的方便,把这个目录设成所有用户可rwx。
然后把上面提到的资源全部拷贝到~/arm/下。

安装配置:

代码:
安装标准的C开发环境,由于Ubuntu安装默认是不安装的,所以需要先安装一下:
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
代码:
安装交叉编译器
cd /
sudo tar zxvf /home/volans/arm/arm-linux-toolchains.tgz
请在执行完成后查看是否存在/usr/local/arm文件夹。
把交叉编译器的路径加入到PATH,以方便使用:
sudo vi /etc/bash_bashrc
在后面加入如下代码:
if [ -d /usr/local/arm ] ; then
    PATH=/usr/local/arm/2.95.3/bin:"${PATH}"
fi
代码:
解压bootloader, kernel和flash烧写工具Jflash
cd ~/arm
tar zxvf matrix5-kernel-v5.5.tgz
tar zxvf vivi.tar.gz
tar zxvf Jflash.tgz
代码:
解压用于启动的NFS文件系统
cd /home/armnfs
tar zxvf /home/volans/root-for-nfs-v5.5.tgz
代码:
启动NFS服务
请参照我前几篇文章,关于启动NFS服务器的相关内容。
在/etc/exports中加入如下内容:
/home/armnfs/root    192.168.0.69(rw)
代码:
安装ncurse
基本上上述配置已经基本可以满足开发需求,但现在去编译kernel 或vivi的时候,运行make menuconfig会提示ncurses找不到,这是因为menuconfig 用到了ncurses库。解决办法如下:
sudo apt-get install ncurses-dev
代码:
安装minicom串口工具
sudo atp-get install minicom
然后配置:
sudo minicom -s
配置和友善的文档就一样了,我就不多废话。

其他的基本就没什么了,有两点要注意,nfs的共享目录是/home/armnfs/root, 所以在目标版使用NFS启动的时候把共享目录换成这个。

在Ubuntu上建立Arm Linux 开发环境的更多相关文章

  1. 从零开始在ubuntu上配置深度学习开发环境

    从零开始在ubuntu上配置深度学习开发环境 昨天一不小心把原来配置好的台式机的开发环境破坏了,调了半天没有调回来,索性就重装一次ubuntu系统.这篇文章主要记录一个简单的.‘傻瓜式’教程. 一.U ...

  2. 在Ubuntu上搭建kindle gtk开发环境

    某个角度上说,kindle很类似android,同样的Linux内核,同样的Java用户层.不过kindle更注重简单.节能.稳定.Amazon一向认为,功能过多会分散人们阅读时候的注意力. Kind ...

  3. 【转】使用virtualenv在ubuntu上搭建python 3开发环境

    ubuntu 13.04默认的python版本是2.7的,想在其上做python3的开发会遇到问题.比如要使用pip安装软件包时,默认安装的就是python2的包.如果想安装python3的包,就需要 ...

  4. 使用virtualenv在ubuntu上搭建python 3开发环境

    ubuntu 13.04默认的python版本是2.7的,想在其上做python3的开发会遇到问题.比如要使用pip安装软件包时,默认安装的就是python2的包.如果想安装python3的包,就需要 ...

  5. ubuntu 上搭建 go的开发环境 vscode

    原文链接: https://astaxie.gitbooks.io/build-web-application-with-golang/zh/01.4.html 原本我是在windows下进行go的环 ...

  6. Ubuntu上如何搭建Android开发环境

    1.以下是开始Android应用程序编程之前需要的软件列表: a.Java JDK5 及以后版本 b.Java运行环境 c.Android Studio 2.安装Android Studio: x64 ...

  7. 基于AM3352/AM3354/AM3358/AM3359的Linux 开发环境搭建(上)

    遇到不少人新手小白问,前辈如何搭建一个优良的Linux 开发环境?之前一直都是在用win开发,现在想要尝试用Linux做开发等等一系列的问题.开源一直是给电子行业工作者提供了一种向技术更深处进发的机遇 ...

  8. Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核

    Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环 ...

  9. 如何在微软Windows平台上打造出你的Linux开发环境(转载)

    如何在微软Windows平台上打造出你的Linux开发环境 投递人 itwriter 发布于 2013-12-10 11:18 评论(1) 有348人阅读  原文链接  [收藏]  « » 英文原文: ...

随机推荐

  1. Web API、WCF和Web Service的区别

    [转载] Web Service 1.它是基于SOAP协议的,数据格式是XML 2.只支持HTTP协议 3.它不是开源的,但可以被任意一个了解XML的人使用 4.它只能部署在IIS上 WCF 1.这个 ...

  2. Linux移植之配置过程分析

    在Linux移植之移植步骤中已经将Linux移植的过程罗列出来了,现在分析一下Linux的配置过程,将分析以下两个配置过程: 1.make s3c2410_defconfig分析 2.make men ...

  3. jupyter notebook 初步使用配置调整

    jupyter notebook 官方说明 初始部分: 如何打开特定的笔记本? 以下代码应在当前运行的笔记本服务器中打开给定的笔记本,必要时启动一个. jupyter notebook noteboo ...

  4. (转)OOP(面向对象编程)的几大原则

    文章转载自:http://blog.csdn.net/anders_zhuo/article/details/8949566 设计模式遵循的一般原则: 1.开-闭原则(Open-Closed Prin ...

  5. AppStore企业账号打包发布APP流程详解

    一.通过企业账号申请证书 1 Certificate Signing Request (CSR)文件 在Mac系统中进入“钥匙串访问”,选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书…”, ...

  6. 201621123008 《Java程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 分 ...

  7. applicationContext-common.xml]; nested exception is java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

    14:59:16,747 ERROR ContextLoader:350 - Context initialization failedorg.springframework.beans.factor ...

  8. [C#.Net]KeyDown(KeyUp)和KeyPress的区别

    在keyDown事件里使用keyValue:在keyPress事件里使用keyChar. keyValue转换keyChar:(char)keyValue 验证只有数字和backSpace e.han ...

  9. CSS-弹性布局-伪类选择器-复杂选择器

    1.定位 1.堆叠顺序 一旦将元素变为已定位元素的话,元素们则有可能出现堆叠的效果. 如何改变堆叠顺序? 属性:z-index 取值:无单位的数字,数字越大越靠上. 注意: 1.父子元素间,z-ind ...

  10. hdu 6208(后缀自动机、或者AC自动机

    题意:给你n个字符串,问你是否存在一个字符串可以从中找到其他n-1个字符串. 思路:其实很简单,找到最长的那个字符串对他进行匹配,看是否能匹配到n-1个字符串. 可以用AC自动机或者后缀自动机做,但是 ...