交叉编译器是嵌入式开发的必要工具,但是由于目前大多数人使用64位ubuntu,在照着很多教程做的时候,就会失败,失败原因是64位ubuntu需要额外安装32位的兼容包。以arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2这个压缩文件为例子。执行解压命令:sudo tar jxvf /work/arm-linux-gcc-4.3.2.tar.bz2

添加环境变量:为了在任意目录和任意用户可以使用arm-linux-gcc,需要增加环境变量,不要去修改 /etc/environment文件了,如果切换到root用户或者使用sudo命令,还是找不到交叉编译器的。建议修改 /etc/bash.bashrc 文件, 不管普通用户还是root用户,都会读取本文件,都会找到交叉编译器。

在该.bashrc文件中最后一行添加:export PATH=$PATH:/home/XXX/bin  

在我的ubuntu上是:export PATH=$PATH:/home/yangguang/Architecture/gcc-3.4.5-glibc-2.3.6/bin

然后source /etc/bash.bashrc使环境变量生效。重新打开终端即可。

注意,其中的XXX是用户刚才解压缩的那个安装包中arm-linux-gcc中bin文件的目录,要全部复制出来。

Ubuntu16.04版本当中应该安装执行:sudo apt-get install lib32ncurses5 lib32z1 这是32位的兼容库,安装之后,终端输入 arm-linux-gcc -v会出现版本信息,就安装成功了。

samba服务器

显然,嵌入式开发需要频繁交互文件在linux和windows上,传统的方式通过FileZilla_3.22.1_win64-setup这个工具登录,但是,要上传要更新要刷新什么的,还是太麻烦。

  1. 安装samba;输入命令apt-get install samba

    按提示输入y,直到完成

  2. 安装完成后,备份samba配置文件,输入以下命令

    cp  /etc/samba/smb.conf  /etc/samba/smb.conf.bk

    备注:如果出现问题请把命令中smb.conf 与 smb.conf.bk 名字交换,即可恢复!备份是个好习惯。

  3. 打开配置文件 vim /etc/samba/smb.conf

在最下方(快捷键大写G调到最后)输入:

[share]
comment = Shared Folder require password
path = /home/share
public = yes
writable = yes
valid users = yangguang
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup
available = yes
browseable = yes

之后重启服务命令: service smbd restart && service nmbd restart输入两次密码即可

把已有的账户添加到samba里并设置新密码,我的账户是“yangguang”,输入命令:sudo smbpasswd -a yangguang

在虚拟机中创建目录share 权限777,位于/home/share  这个就是我们要和windows交互的linux文件夹,为了演示,我们创建一个hello_samba_t文件,看我们在windows中能否访问到。

查看虚拟机ip:

为了不必要的麻烦,我们把虚拟机的防火墙关闭,查看防火墙状态:

开启/关闭防火墙

sudo ufw enable|disable

在windows中按下win+r:回车之后

注意格式:\\ 虚拟机ip地址\文件名

输入我们添加的samba用户,这里我是yangguang和设置samba用户时设置的密码:

点击确定:

成功在windows上访问到了share目录,我们试试在windows上添加或者拖入文件到这个目录再在linux上查看。

在linux上ls一下:

OK,恭喜你,成功完成两个系统的交互。

Best practice:

虚拟机ip会经常变动,这样每次windows登录都需要更改ip,很麻烦,有没有什么办法可以设置确定ip的呢?答案是有的。

Ubuntu 16.04 64位安装arm-linux-gcc交叉编译器以及samba服务器的更多相关文章

  1. Ubuntu12.4 64位 安装 arm linux gcc 4.3.2

    一.下载arm linux gcc 4.3.2 http://pan.baidu.com/share/link?shareid=1575352696&uk=2754759285&fid ...

  2. Ubuntu 16.04 64位安装YouCompleteMe

    之前记录在OneNote上感觉有点乱,而且不适合保存shell,这次重新安装又出问题了,干脆写篇博客记录. 从零开始 1.git(用来下载vim和相关插件) sudo apt-get install ...

  3. Ubuntu 16.04 64位安装insight 6.8

    1. apt-get install insight已经不管用. 2. 编译源码死都有问题. 3. 拜拜,用KDBG.

  4. Ubuntu 16.04 64位 搭建 node.js NodeJS 环境

    我的系统环境: Ubuntu 16.04 64位 本文内容亲测可用, 请放心食用 使用淘宝镜像 淘宝镜像官网是https://npm.taobao.org/ 使用淘宝镜像前请自行安装好 npm 和 n ...

  5. ubuntu 14.04 64位安装iNodeClient

    ubuntu 14.04 64位安装iNodeClieng(华三校园客服端) http://pan.baidu.com/s/12dpxk ubuntu 14.04 64bit Install H3C ...

  6. Ubuntu 18.04 64位安装tensorflow-gpu

    第一步(可直接跳到第二步):安装nvidia显卡驱动 linux用户可以通过官方ppa解决安装GPU驱动的问题.使用如下命令添加Graphic Drivers PPA: 1 sudo add-apt- ...

  7. ubuntu 14.04 64位安装bigbluebutton

    BigBlueButton 是一个使用 ActionScript 开发的在线视频会议系统或者是远程教育系统,主要功能包括在线PPT演示.视频交流和语音交流,还可以进行文字交流.举手发言等功能,特别适合 ...

  8. Ubuntu 14.04 64位安装Android Studio 和 genymotion (下)

    接上一篇,上回书说到,我们可以进android studio的编辑器了.感觉不错.挺好的,先不说genymotion,先看看你的android项目有没有r文件,项目有没有错误? 如果没有问题的话,下面 ...

  9. Ubuntu 14.04 64位安装Android Studio 和 genymotion (上)

    先说下,Ubuntu 上安装Android Studio真是一路坑阿,一路坑阿,加上天  朝 防火墙挡着,折腾了快一天才弄好阿 找了n多教程,md不是抄的就是转的,而且都没说清楚具体咋装阿,一个图一个 ...

随机推荐

  1. kickstart命令选项

    下面的选项可以放入kickstart文件.如果喜欢使用图形化的界面来创建kickstart文件,可以使用"Kickstart配置"应用程序.(注:如果某选项后面跟随了一个等号(=) ...

  2. java 实现唯一ID生成器

      2014-11-08 内容存档在evernote,笔记名"java 实现唯一ID生成器"

  3. Intel Galileo驱动单总线设备(DHT11\DHT22)(转)

    Intel Galileo一代的IO翻转速度不够,无法直接驱动单总线设备,二代听说改进了,但没有库,于是国外开发者想出了另一种法子,转过来给大家学习下.如果后面有时间,再来翻译.原文地址:http:/ ...

  4. Python学习笔记(八)—— 使用dict和set

    一.dict 1.定义: Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度 2.优势: di ...

  5. 恢复Ext3下被删除的文件

    下面是这个教程将教你如何在Ext3的文件系统中恢复被rm掉的文件. 假设我们有一个文件名叫 ‘test.txt’  $ls -il test.txt 15 -rw-rw-r– 2 root root ...

  6. linux文件系统 - 初始化(二)

    加载initrd(上) 一.目的 本文主要讲述linux3.10文件系统初始化过程的第二阶段:加载initrd. initrd是一个临时文件系统,由bootload负责加载到内存中,里面包含了基本的可 ...

  7. [转]Http Message结构学习总结

    最近做的东西需要更深入地了解Http协议,故死磕了一下RFC2616-HTTP/1.1协议,主要是了解Http Message结构及每部分含义,在此总结一下,写一个模拟发送HTTP请求的工具,由于时间 ...

  8. django -- 为model 指定数据库名

    一.为model指定数据库名: django自己实现的ORM中.如果要指定一个model的表名是通过Meta类来实现的. from django.db import models # Create y ...

  9. jmeter经验---java 追加写入代码一例

    最近最项目参数化的时候用到,场景是这样的,需要测试A和B两个接口,其中B接口传入的参数必须是传递给A接口过的,所以整理一个思路就是: 1. 正常调用A接口,但是将传递给A接口的参数保存到文本里,此处要 ...

  10. 译: 2. Apache Axis2安装指南

    Apache Axis2安装指南 本文档提供有关Axis2分发包,系统先决条件以及设置环境变量和工具的信息,然后提供有关安装方法的详细说明. 请将您的反馈发送至:java-dev@axis.apach ...